More changes and cleanups.

This commit is contained in:
waltje
2018-05-11 04:08:48 -04:00
parent f018b3bc33
commit baea3fe037
6 changed files with 247 additions and 188 deletions

View File

@@ -8,7 +8,7 @@
#
# Project file for the Travis CI remote builder service.
#
# Version: @(#).travis.yml 1.0.11 2018/05/08
# Version: @(#).travis.yml 1.0.11 2018/05/09
#
# Authors: Natalia Portillo, <claunia@claunia.com>
# Fred N. van Kempen, <decwiz@yahoo.com>
@@ -62,9 +62,9 @@ env:
before_install:
# Kill off the (most likely running) APT daily update.
- sudo systemctl stop apt-daily.service
# - sudo systemctl kill --kill-who=all apt-daily.service
- sleep 5
# - sudo systemctl stop apt-daily.service
- sudo systemctl kill --kill-who=all apt-daily.service
- sleep 10
- sudo rm -f /var/lib/dpkg/lock
# Now install some packages we need.
- sudo apt-get install libz-mingw-w64-dev

View File

@@ -8,7 +8,7 @@
*
* Application resource script for Windows.
*
* Version: @(#)VARCem.rc 1.0.26 2018/05/07
* Version: @(#)VARCem.rc 1.0.27 2018/05/10
*
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
* Miran Grca, <mgrca8@gmail.com>
@@ -80,24 +80,23 @@ BEGIN
BEGIN
MENUITEM "DirectDraw", IDM_RENDER_1
MENUITEM "Direct3D", IDM_RENDER_2
#define IDM_NEXT IDM_RENDER_2 + 1
#ifdef USE_SDL
# define IDM_RENDER_SDL IDM_NEXT
# define IDM_RENDER_SDL IDM_RENDER_2+1
MENUITEM "SDL", IDM_RENDER_SDL
# undef IDM_NEXT
# define IDM_NEXT IDM_RENDER_SDL + 1
#else
# define IDM_RENDER_SDL IDM_RENDER_2
#endif
#ifdef USE_VNC
# define IDM_RENDER_VNC IDM_NEXT
# define IDM_RENDER_VNC IDM_RENDER_SDL+1
MENUITEM "VNC Remote", IDM_RENDER_VNC
# undef IDM_NEXT
# define IDM_NEXT IDM_RENDER_VNC + 1
#else
# define IDM_RENDER_VNC IDM_RENDER_SDL
#endif
#ifdef USE_RDP
# define IDM_RENDER_RDP IDM_NEXT
# define IDM_RENDER_RDP IDM_RENDER_VNC+1
MENUITEM "RDP Remote", IDM_RENDER_RDP
# undef IDM_NEXT
# define IDM_NEXT IDM_RENDER_RDP + 1
#else
# define IDM_RENDER_RDP IDM_RENDER_VNC
#endif
END
MENUITEM SEPARATOR

View File

@@ -8,7 +8,7 @@
#
# Makefile for Windows systems using the MinGW32 environment.
#
# Version: @(#)Makefile.mingw 1.0.43 2018/05/10
# Version: @(#)Makefile.mingw 1.0.44 2018/05/10
#
# Author: Fred N. van Kempen, <decwiz@yahoo.com>
#
@@ -89,8 +89,11 @@ endif
ifndef USB
USB := n
endif
ifndef SDL
SDL := n
endif
ifndef VNC
VNC := y
VNC := n
endif
ifndef RDP
RDP := n
@@ -151,6 +154,8 @@ ifndef PROG
endif
endif
# Which modules to include a development build.
ifeq ($(DEV_BUILD), y)
CRASHDUMP := y
DEV_BRANCH := y
@@ -165,6 +170,7 @@ ifeq ($(DEV_BUILD), y)
WONDER := y
endif
# WxWidgets basic info. Extract using the config program.
ifneq ($(WX), n)
EXPATH += wx
@@ -214,10 +220,10 @@ VPATH := $(EXPATH) . cpu \
devices/video \
machines ui win
#
# Select the required build environment. We have, uhm, many..
#
#
ifneq ($(CROSS), n)
# Cross-compiling (under Linux), select proper version.
ifeq ($(X64), y)
@@ -361,21 +367,10 @@ DYNARECOBJ := 386_dynarec_ops.o \
codegen_timing_winchip.o $(PLATCG)
endif
ifneq ($(WX), n)
OPTS += -DUSE_WX $(WX_FLAGS)
LIBS += $(WX_LIBS) -lm
UIOBJ := wx_main.o wx_ui.o wx_stbar.o wx_render.o
else
UIOBJ := win_ui.o \
win_ddraw.o win_d3d.o \
win_dialog.o win_about.o win_status.o \
win_settings.o win_devconf.o win_snd_gain.o \
win_new_floppy.o
endif
ifeq ($(OPENAL), y)
OPTS += -DUSE_OPENAL
endif
ifeq ($(FLUIDSYNTH), y)
OPTS += -DUSE_FLUIDSYNTH
FSYNTHOBJ := midi_fluidsynth.o
@@ -391,33 +386,90 @@ MUNTOBJ := midi_mt32.o \
Tables.o TVA.o TVF.o TVP.o sha1.o c_interface.o
endif
ifeq ($(VNC), y)
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(SDL), n)
OPTS += -DUSE_SDL
RFLAGS += -DUSE_SDL
ifneq ($(SDL_PATH), )
OPTS += -I$(SDL_PATH)/include/mingw -I$(SDL_PATH)/include
ifeq ($(X64), y)
LIBS += -L$(SDL_PATH)/lib/mingw/x64
else
LIBS += -L$(SDL_PATH)/lib/mingw/x86
endif
endif
ifeq ($(SDL), y)
LIBS += -lsdl2
endif
SDLOBJ := win_sdl.o
endif
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(VNC), n)
OPTS += -DUSE_VNC
RFLAGS += -DUSE_VNC
ifneq ($(VNC_PATH), )
OPTS += -I$(VNC_PATH)\INCLUDE
LIBS += -L$(VNC_PATH)\LIB -lvncserver
OPTS += -I$(VNC_PATH)/include/mingw -I$(VNC_PATH)/include
ifeq ($(X64), y)
LIBS += -L$(VNC_PATH)/lib/x64
else
LIBS += -L$(VNC_PATH)/lib/x86
endif
endif
ifeq ($(VNC), y)
LIBS += -lvncserver
endif
VNCOBJ := vnc.o vnc_keymap.o
endif
ifeq ($(RDP), y)
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(RDP), n)
OPTS += -DUSE_RDP
RFLAGS += -DUSE_RDP
ifneq ($(RDP_PATH), )
OPTS += -I$(RDP_PATH)\INCLUDE
RDPLIB := -L$(RDP_PATH)\LIB
OPTS += -I$(RDP_PATH)/include/mingw -I$(RDP_PATH)/include
ifeq ($(X64), y)
LIBS += -L$(RDP_PATH)/lib/x64
else
LIBS += -L$(RDP_PATH)/lib/x86
endif
endif
ifeq ($(RDP), y)
LIBS += -lrdp
endif
RDPLIB += -lrdp
RDPOBJ := rdp.o
LIBS += $(RDPLIB)
endif
ifeq ($(PNG), y)
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(PNG), n)
OPTS += -DUSE_PNG
RFLAGS += -DUSE_PNG
ifneq ($(PNG_PATH), )
OPTS += -I$(PNG_PATH)/include
ifeq ($(X64), y)
LIBS += -L$(PNG_PATH)/lib/x64
else
LIBS += -L$(PNG_PATH)/lib/x86
endif
endif
ifeq ($(PNG), y)
LIBS += -lpng -lz
endif
endif
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(WX), n)
OPTS += -DUSE_WX=$(WX) $(WX_FLAGS)
LIBS += $(WX_LIBS) -lm
UIOBJ := wx_main.o wx_ui.o wx_stbar.o wx_render.o
else
UIOBJ := win_ui.o \
win_ddraw.o win_d3d.o $(SDLOBJ) \
win_dialog.o win_about.o win_status.o \
win_settings.o win_devconf.o win_snd_gain.o \
win_new_floppy.o
endif
# Options for the DEV branch.
ifeq ($(DEV_BRANCH), y)
@@ -468,12 +520,6 @@ ifeq ($(DEV_BRANCH), y)
endif
# Options for works-in-progress.
ifndef SERIAL
SERIAL := serial.o
endif
# Final versions of the toolchain flags.
# FIXME: add the -Wsign-compare option soon!
CFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
@@ -490,6 +536,7 @@ CXXFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
#########################################################################
# Create the (final) list of objects to build. #
#########################################################################
MAINOBJ := pc.o config.o misc.o random.o timer.o io.o mem.o \
rom.o rom_load.o device.o nvr.o $(VNCOBJ) $(RDPOBJ)
@@ -498,11 +545,6 @@ UIOBJ += ui_main.o ui_new_floppy.o ui_stbar.o ui_vidapi.o
SYSOBJ := dma.o nmi.o pic.o pit.o ppi.o pci.o mca.o mcr.o \
memregs.o nvr_at.o nvr_ps2.o
INTELOBJ := intel.o \
intel_flash.o \
intel_sio.o \
intel_piix.o intel_piix4.o
CPUOBJ := cpu.o cpu_table.o \
808x.o 386.o x86seg.o x87.o \
386_dynarec.o $(DYNARECOBJ)
@@ -526,10 +568,14 @@ MCHOBJ := machine.o machine_table.o \
m_at_430lx_nx.o m_at_430fx.o \
m_at_430hx.o m_at_430vx.o
INTELOBJ := intel.o \
intel_flash.o \
intel_sio.o \
intel_piix.o intel_piix4.o
DEVOBJ := bugger.o \
game.o game_dev.o \
parallel.o parallel_dev.o \
$(SERIAL) \
parallel.o parallel_dev.o serial.o \
sio_fdc37c66x.o sio_fdc37c669.o sio_fdc37c93x.o \
sio_pc87306.o sio_w83877f.o sio_um8669f.o \
keyboard.o \

View File

@@ -154,6 +154,8 @@ ifndef PROG
endif
endif
# Which modules to include a development build.
ifeq ($(DEV_BUILD), y)
CRASHDUMP := y
DEV_BRANCH := y
@@ -218,6 +220,7 @@ VPATH := $(EXPATH) . cpu \
devices/video \
machines ui win
#
# Select the required build environment.
#
@@ -335,21 +338,10 @@ DYNARECOBJ := 386_dynarec_ops.obj \
codegen_timing_winchip.obj $(PLATCG)
endif
ifneq ($(WX), n)
OPTS += -DUSE_WX $(WX_FLAGS)
LIBS += $(WX_LIBS) -lm
UIOBJ := wx_main.obj wx_ui.obj wx_stbar.obj wx_render.obj
else
UIOBJ := win_ui.obj \
win_ddraw.obj win_d3d.obj \
win_dialog.obj win_about.obj win_status.obj \
win_settings.obj win_devconf.obj win_snd_gain.obj \
win_new_floppy.obj
endif
ifeq ($(OPENAL), y)
OPTS += -DUSE_OPENAL
endif
ifeq ($(FLUIDSYNTH), y)
OPTS += -DUSE_FLUIDSYNTH
FSYNTHOBJ := midi_fluidsynth.obj
@@ -358,72 +350,98 @@ endif
ifeq ($(MUNT), y)
OPTS += -DUSE_MUNT
MUNTOBJ := midi_mt32.obj \
Analog.obj BReverbModel.obj File.obj FileStream.obj LA32Ramp.obj \
LA32FloatWaveGenerator.obj LA32WaveGenerator.obj \
MidiStreamParser.obj Part.obj Partial.obj PartialManager.obj \
Poly.obj ROMInfo.obj SampleRateConverter_dummy.obj Synth.obj \
Tables.obj TVA.obj TVF.obj TVP.obj sha1.obj c_interface.obj
Analog.obj BReverbModel.obj File.obj FileStream.obj \
LA32Ramp.obj LA32FloatWaveGenerator.obj \
LA32WaveGenerator.obj MidiStreamParser.obj Part.obj \
Partial.obj PartialManager.obj Poly.obj ROMInfo.obj \
SampleRateConverter_dummy.obj Synth.obj Tables.obj \
TVA.obj TVF.obj TVP.obj sha1.obj c_interface.obj
endif
ifeq ($(SDL), y)
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(SDL), n)
OPTS += -DUSE_SDL
RFLAGS += -DUSE_SDL
ifneq ($(SDL_PATH), )
OPTS += -I$(SDL_PATH)\INCLUDE\MSVC
OPTS += -I$(SDL_PATH)/include/msvc -I$(SDL_PATH)/include
ifeq ($(X64), y)
LOPTS += -LIBPATH:$(SDL_PATH)\LIB\MSVC\x64
LOPTS += -LIBPATH:$(SDL_PATH)\lib\msvc\x64
else
LOPTS += -LIBPATH:$(SDL_PATH)\LIB\MSVC\x86
LOPTS += -LIBPATH:$(SDL_PATH)\lib\msvc\x86
endif
endif
ifeq ($(SDL), y)
LIBS += sdl2.lib
endif
SDLOBJ := win_sdl.obj
endif
ifeq ($(VNC), y)
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(VNC), n)
OPTS += -DUSE_VNC
RFLAGS += -DUSE_VNC
ifneq ($(VNC_PATH), )
OPTS += -I$(VNC_PATH)\INCLUDE
LOPTS += LIBPATH:$(VNC_PATH)\LIB
OPTS += -I$(VNC_PATH)/include/msvc -I$(VNC_PATH)/include
ifeq ($(X64), y)
LOPTS += \x64
LOPTS += LIBPATH:$(VNC_PATH)\lib\x64
else
LOPTS += \x86
LOPTS += LIBPATH:$(VNC_PATH)\lib\x86
endif
endif
ifeq ($(VNC), y)
LIBS += libvncserver.lib
endif
VNCOBJ := vnc.obj vnc_keymap.obj
endif
ifeq ($(RDP), y)
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(RDP), n)
OPTS += -DUSE_RDP
RFLAGS += -DUSE_RDP
ifneq ($(RDP_PATH), )
LOPTS += LIBPATH:$(RDP_PATH)\LIB
OPTS += -I$(RDP_PATH)/include/msvc -I$(RDP_PATH)/include
ifeq ($(X64), y)
LOPTS += \x64
LOPTS += LIBPATH:$(RDP_PATH)\lib\x64
else
LOPTS += \x86
LOPTS += LIBPATH:$(RDP_PATH)\lib\x86
endif
endif
ifeq ($(RDP), y)
LIBS += rdpsrvr.lib
endif
RDPOBJ := rdp.obj
endif
ifeq ($(PNG), y)
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(PNG), n)
OPTS += -DUSE_LIBPNG
RFLAGS += -DUSE_LIBPNG
ifneq ($(PNG_PATH), )
LOPTS += LIBPATH:$(PNG_PATH)\LIB
OPTS += -I$(PNG_PATH)/include/msvc -I$(PNG_PATH)/include
ifeq ($(X64), y)
LOPTS += \x64
LOPTS += LIBPATH:$(PNG_PATH)\lib\x64
else
LOPTS += \x86
LOPTS += LIBPATH:$(PNG_PATH)\lib\x86
endif
endif
ifeq ($(RDP), y)
LIBS += libpng16.lib zlib.lib
endif
endif
# N=no, Y=yes,linked, D=yes,dynamic, S=yes,static
ifneq ($(WX), n)
OPTS += -DUSE_WX $(WX_FLAGS)
LIBS += $(WX_LIBS) -lm
UIOBJ := wx_main.obj wx_ui.obj wx_stbar.obj wx_render.obj
else
UIOBJ := win_ui.obj \
win_ddraw.obj win_d3d.obj $(SDLOBJ) \
win_dialog.obj win_about.obj win_status.obj \
win_settings.obj win_devconf.obj win_snd_gain.obj \
win_new_floppy.obj
endif
# Options for the DEV branch.
ifeq ($(DEV_BRANCH), y)
@@ -474,12 +492,6 @@ ifeq ($(DEV_BRANCH), y)
endif
# Options for works-in-progress.
ifndef SERIAL
SERIAL := serial.obj
endif
# Final versions of the toolchain flags.
LDFLAGS := $(LOPTS)
CFLAGS := $(WX_FLAGS) $(OPTS) $(COPTS) $(DOPTS) $(AOPTIM) $(AFLAGS)
@@ -492,12 +504,7 @@ CXXFLAGS := $(WX_FLAGS) $(OPTS) $(CXXOPTS) $(COPTS) $(DOPTS) $(AOPTIM) $(AFLAGS)
MAINOBJ := pc.obj config.obj misc.obj random.obj timer.obj io.obj \
mem.obj rom.obj rom_load.obj device.obj nvr.obj \
$(SDLOBJ) $(VNCOBJ) $(RDPOBJ)
INTELOBJ := intel.obj \
intel_flash.obj \
intel_sio.obj \
intel_piix.obj intel_piix4.obj
$(VNCOBJ) $(RDPOBJ)
UIOBJ += ui_main.obj ui_new_floppy.obj ui_stbar.obj ui_vidapi.obj
@@ -527,10 +534,14 @@ MCHOBJ := machine.obj machine_table.obj \
m_at_430lx_nx.obj m_at_430fx.obj \
m_at_430hx.obj m_at_430vx.obj
INTELOBJ := intel.obj \
intel_flash.obj \
intel_sio.obj \
intel_piix.obj intel_piix4.obj
DEVOBJ := bugger.obj \
game.obj game_dev.obj \
parallel.obj parallel_dev.obj \
$(SERIAL) \
parallel.obj parallel_dev.obj serial.obj \
sio_fdc37c66x.obj sio_fdc37c669.obj sio_fdc37c93x.obj \
sio_pc87306.obj sio_w83877f.obj sio_um8669f.obj \
keyboard.obj \

View File

@@ -62,7 +62,7 @@
# include "../vnc.h"
#endif
#ifdef USE_RDP
# include "../rdp.h"
# include <rdp.h>
#endif
#include "../devices/input/mouse.h"
#include "../devices/video/video.h"

View File

@@ -336,16 +336,6 @@ MainWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
}
return(0);
case WM_LBUTTONUP:
if (! vid_fullscreen)
plat_mouse_capture(1);
break;
case WM_MBUTTONUP:
if (mouse_get_buttons() < 3)
plat_mouse_capture(0);
break;
case WM_ENTERMENULOOP:
break;
@@ -778,6 +768,18 @@ pclog("UI: hwnd=%08lx WM_KILLFOCUS (infocus=%d) !\n", hwnd, infocus);
}
break;
case WM_LBUTTONUP:
pclog("UI: hwnd=%08lx WM_LBUTTONUP (infocus=%d) !\n", hwnd, infocus);
if (! vid_fullscreen)
plat_mouse_capture(1);
break;
case WM_MBUTTONUP:
pclog("UI: hwnd=%08lx WM_MBUTTONUP (infocus=%d) !\n", hwnd, infocus);
if (mouse_get_buttons() < 3)
plat_mouse_capture(0);
break;
default:
return(CallWindowProc((WNDPROC)input_orig_proc,
hwnd, message, wParam, lParam));
@@ -787,6 +789,7 @@ pclog("UI: hwnd=%08lx WM_KILLFOCUS (infocus=%d) !\n", hwnd, infocus);
}
/* Set up a handler for the 'currently active' window. */
void
plat_set_input(HWND h)
{