diff --git a/Common.mak b/Common.mak index a1025e08c..21cd6be38 100644 --- a/Common.mak +++ b/Common.mak @@ -326,8 +326,8 @@ endif # LTO - 1 := enable link-time optimization # Optional overrides for text -APPNAME := -APPBASENAME := +APPNAME ?= +APPBASENAME ?= # Build toggles RELEASE := 1 @@ -338,18 +338,18 @@ MEMMAP := 0 CPLUSPLUS := 1 # Feature toggles -STANDALONE := 0 -NETCODE := 1 -STARTUP_WINDOW := 1 -SIMPLE_MENU := 0 -POLYMER := 1 +STANDALONE ?= 0 +NETCODE ?= 1 +STARTUP_WINDOW ?= 1 +SIMPLE_MENU ?= 0 +POLYMER ?= 1 USE_OPENGL := 1 LUNATIC := 0 USE_LUAJIT_2_1 := 0 # Library toggles HAVE_GTK2 := 1 -USE_LIBVPX := 1 +USE_LIBVPX ?= 1 HAVE_VORBIS := 1 HAVE_FLAC := 1 HAVE_XMP := 1 @@ -534,6 +534,7 @@ ifeq ($(PLATFORM),WINDOWS) LINKERFLAGS += -Wl,--large-address-aware endif LINKERFLAGS += -Wl,--enable-auto-import + LINKERFLAGS += -Wl,--dynamicbase,--nxcompat,--high-entropy-va LUAJIT_BCOPTS := -o windows ifeq (32,$(BITS)) @@ -807,10 +808,10 @@ CWARNS := -W -Wall \ ##### Features ifneq (,$(APPNAME)) - COMPILERFLAGS += -DAPPNAME=\"$(APPNAME)\" + COMPILERFLAGS += "-DAPPNAME=\"$(APPNAME)\"" endif ifneq (,$(APPBASENAME)) - COMPILERFLAGS += -DAPPBASENAME=\"$(APPBASENAME)\" + COMPILERFLAGS += "-DAPPBASENAME=\"$(APPBASENAME)\"" endif ifneq (0,$(NOASM)) diff --git a/GNUmakefile b/GNUmakefile index eb6a93951..9525a2d57 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -2,6 +2,18 @@ # EDuke32 Makefile for GNU Make # +### Global Profiles +ifeq ($(FURY),1) + APPNAME := Ion Fury + APPBASENAME := fury + STANDALONE := 1 + POLYMER := 0 + USE_LIBVPX := 0 + NETCODE := 0 + SIMPLE_MENU := 1 +endif + +### Platform and Toolchain Configuration include Common.mak ### File Extensions @@ -494,6 +506,13 @@ duke3d_src := $(duke3d_root)/src duke3d_rsrc := $(duke3d_root)/rsrc duke3d_obj := $(obj)/$(duke3d) +ifeq ($(FURY),1) + ifeq ($(PLATFORM),WINDOWS) + duke3d_rsrc := $(duke3d_root)/rsrc/fury + endif + duke3d_obj := $(obj)/fury +endif + duke3d_cflags := -I$(duke3d_src) common_editor_deps := duke3d_common_editor engine_editor diff --git a/source/duke3d/rsrc/fury/build_icon.c b/source/duke3d/rsrc/fury/build_icon.c new file mode 100644 index 000000000..f7c5e6cf3 --- /dev/null +++ b/source/duke3d/rsrc/fury/build_icon.c @@ -0,0 +1 @@ +#include "../eduke32_icon.c" diff --git a/source/duke3d/rsrc/fury/buildres.rc b/source/duke3d/rsrc/fury/buildres.rc new file mode 100644 index 000000000..36b17a3b6 --- /dev/null +++ b/source/duke3d/rsrc/fury/buildres.rc @@ -0,0 +1,72 @@ +#define NEED_COMMCTRL_H +#include "windows_inc.h" +#include "startwin.editor.h" + +RSRC_ICON ICON "../build_icon.ico" +RSRC_BMP BITMAP "../build.bmp" + +WIN_STARTWIN DIALOGEX DISCARDABLE 20, 40, 260, 200 +STYLE DS_MODALFRAME | DS_CENTER | DS_SETFONT | DS_FIXEDSYS | WS_OVERLAPPED | WS_CAPTION | WS_VISIBLE | WS_SYSMENU +CAPTION "Startup" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", WIN_STARTWIN_BITMAP, "STATIC", SS_BITMAP | SS_CENTERIMAGE | WS_CHILD | WS_VISIBLE, 0, 0, 66, 172 + CONTROL "", WIN_STARTWIN_TABCTL, WC_TABCONTROL, WS_CLIPSIBLINGS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 5, 5, 250, 170 + CONTROL "&Start", WIN_STARTWIN_START, "BUTTON", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 154, 180, 48, 14 + CONTROL "&Cancel", WIN_STARTWIN_CANCEL, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 207, 180, 48, 14 + + CONTROL "", WIN_STARTWIN_MESSAGES, "EDIT", ES_MULTILINE | ES_READONLY | WS_CHILD | WS_VSCROLL, 0, 0, 32, 32 +END + +WIN_STARTWINPAGE_CONFIG DIALOGEX DISCARDABLE 20, 40, 279, 168 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD +CAPTION "Dialog" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "&2D Video mode:", -1, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE, 5, 8, 50, 8 + CONTROL "", IDC2DVMODE, "COMBOBOX", CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 60, 6, 80, 56 + CONTROL "&Fullscreen", IDCFULLSCREEN, "BUTTON", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 148, 8, 49, 10 + CONTROL "&3D Video mode:", -1, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE, 5, 24, 50, 8 + CONTROL "", IDC3DVMODE, "COMBOBOX", CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 60, 22, 80, 56 + CONTROL "&Always show this window at startup", IDCALWAYSSHOW, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 118, 116, 140, 8 +END + +#define FILEVER 1,9,9,9 +#define PRODUCTVER 1,9,9,9 +#define STRFILEVER "2.0.0devel\0" +#define STRPRODUCTVER "2.0.0devel\0" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION FILEVER + PRODUCTVERSION PRODUCTVER + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x3L +#else + FILEFLAGS 0x2L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "FileDescription", "Mapster32 for EDuke32" + VALUE "FileVersion", STRFILEVER + VALUE "InternalName", "Mapster32" + VALUE "LegalCopyright", "Copyright © 2015 EDuke32 Developers, 1996, 2003 3D Realms Entertainment" + VALUE "LegalTrademarks", "Duke Nukem® is a Registered Trademark of Gearbox Software, LLC." + VALUE "OriginalFilename", "mapster32.exe" + VALUE "ProductName", "Mapster32" + VALUE "ProductVersion", STRPRODUCTVER + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +1 24 "../manifest.build.xml" diff --git a/source/duke3d/rsrc/fury/game_icon.c b/source/duke3d/rsrc/fury/game_icon.c new file mode 100644 index 000000000..f7c5e6cf3 --- /dev/null +++ b/source/duke3d/rsrc/fury/game_icon.c @@ -0,0 +1 @@ +#include "../eduke32_icon.c" diff --git a/source/duke3d/rsrc/fury/game_icon.ico b/source/duke3d/rsrc/fury/game_icon.ico new file mode 100644 index 000000000..10c504f1a Binary files /dev/null and b/source/duke3d/rsrc/fury/game_icon.ico differ diff --git a/source/duke3d/rsrc/fury/gameres.rc b/source/duke3d/rsrc/fury/gameres.rc new file mode 100644 index 000000000..93bed9c49 --- /dev/null +++ b/source/duke3d/rsrc/fury/gameres.rc @@ -0,0 +1,66 @@ +#define NEED_COMMCTRL_H +#include "windows_inc.h" +#include "startwin.game.h" + +RSRC_ICON ICON "game_icon.ico" + +WIN_STARTWIN DIALOGEX DISCARDABLE 20, 40, 215, 60 +STYLE DS_MODALFRAME | DS_CENTER | DS_SETFONT | DS_FIXEDSYS | WS_OVERLAPPED | WS_CAPTION | WS_VISIBLE | WS_SYSMENU +CAPTION "Startup" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", WIN_STARTWIN_BITMAP, "STATIC", SS_BITMAP | SS_CENTERIMAGE | WS_CHILD | WS_VISIBLE, 0, 0, 0, 62 + CONTROL "", WIN_STARTWIN_TABCTL, WC_TABCONTROL, WS_CLIPSIBLINGS | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 5, 5, 205, 35 + CONTROL "&Start", WIN_STARTWIN_START, "BUTTON", BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 111, 43, 48, 14 + CONTROL "&Cancel", WIN_STARTWIN_CANCEL, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 164, 43, 48, 14 + + CONTROL "", WIN_STARTWIN_MESSAGES, "EDIT", ES_MULTILINE | ES_READONLY | WS_CHILD | WS_VSCROLL, 0, 0, 32, 32 +END +WIN_STARTWINPAGE_CONFIG DIALOGEX DISCARDABLE 20, 40, 229, 58 +STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD +CAPTION "Dialog" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "&Video mode:", -1, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE, 5, 6, 50, 8 + CONTROL "", IDCVMODE, "COMBOBOX", CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 60, 4, 86, 56 + CONTROL "&Fullscreen", IDCFULLSCREEN, "BUTTON", BS_CHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 154, 6, 46, 10 +END + +#define FILEVER 0,0,0,0 +#define PRODUCTVER 0,0,0,0 +#define STRFILEVER "" +#define STRPRODUCTVER "" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION FILEVER + PRODUCTVERSION PRODUCTVER + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x3L +#else + FILEFLAGS 0x2L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "FileDescription", "Ion Fury" + VALUE "FileVersion", STRFILEVER + VALUE "InternalName", "Ion Fury" + VALUE "LegalCopyright", "© 2019 Voidpoint, LLC and EDuke32 developers" + VALUE "OriginalFilename", "fury.exe" + VALUE "ProductName", "Ion Fury" + VALUE "ProductVersion", STRPRODUCTVER + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +1 24 "manifest.game.xml" diff --git a/source/duke3d/rsrc/fury/manifest.game.xml b/source/duke3d/rsrc/fury/manifest.game.xml new file mode 100644 index 000000000..571fa5215 --- /dev/null +++ b/source/duke3d/rsrc/fury/manifest.game.xml @@ -0,0 +1,42 @@ + + + + + true + PerMonitorV2 + + + + Ion Fury + + + + + + + + + + + + + + + + + + + +