From 6757fa66dcf2d14682af1473df7b34357bcbe700 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 9 Oct 2024 15:25:44 +0200 Subject: [PATCH] Backend update from GZDoom. --- bin/windows/zmusic/arm64/zmusiclite.dll | Bin 1708032 -> 0 bytes bin/windows/zmusic/include/zmusic.h | 5 +- .../src/glslang/glslang/Include/Common.h | 1 + libraries/ZWidget/CMakeLists.txt | 3 + .../ZWidget/src/widgets/lineedit/lineedit.cpp | 2 + .../ZWidget/src/window/win32/win32window.cpp | 25 +- libraries/ZWidget/src/window/window.cpp | 2 +- libraries/bzip2/CMakeLists.txt | 1 + source/common/2d/v_2ddrawer.cpp | 4 + source/common/2d/v_drawtext.cpp | 4 +- source/common/audio/music/music.cpp | 27 + source/common/audio/music/s_music.h | 4 + source/common/audio/sound/oalsound.cpp | 6 + source/common/console/c_enginecmds.cpp | 4 +- source/common/engine/i_interface.cpp | 11 +- source/common/engine/i_interface.h | 1 - source/common/engine/i_net.cpp | 4 +- source/common/engine/m_joy.cpp | 30 +- source/common/engine/m_joy.h | 4 + source/common/engine/namedef.h | 2 + source/common/engine/serializer.cpp | 27 +- source/common/engine/serializer.h | 6 +- source/common/engine/stringtable.cpp | 58 ++- source/common/engine/stringtable.h | 23 +- source/common/filesystem/source/critsec.cpp | 6 +- .../filesystem/source/file_directory.cpp | 2 +- .../common/filesystem/source/fs_findfile.cpp | 3 +- source/common/fonts/v_text.cpp | 6 +- source/common/menu/joystickmenu.cpp | 20 + source/common/menu/savegamemanager.cpp | 12 +- source/common/models/bonecomponents.h | 40 ++ source/common/models/model.h | 7 +- source/common/models/model_iqm.h | 7 +- source/common/models/models_iqm.cpp | 114 ++++- source/common/models/voxels.h | 3 + source/common/objects/dobject.cpp | 163 ++++++ source/common/objects/dobject.h | 21 + .../platform/posix/cocoa/i_joystick.cpp | 4 + .../common/platform/posix/cocoa/i_system.mm | 2 +- source/common/platform/posix/i_system.h | 2 +- .../common/platform/posix/sdl/i_joystick.cpp | 4 + source/common/platform/posix/sdl/i_system.cpp | 4 +- source/common/platform/win32/i_dijoy.cpp | 4 + source/common/platform/win32/i_input.cpp | 7 +- source/common/platform/win32/i_main.cpp | 2 +- source/common/platform/win32/i_mouse.cpp | 6 +- source/common/platform/win32/i_rawps2.cpp | 4 + source/common/platform/win32/i_system.cpp | 4 +- source/common/platform/win32/i_system.h | 2 +- source/common/platform/win32/i_xinput.cpp | 12 +- source/common/rendering/gl_load/gl_load.c | 2 +- .../rendering/hwrenderer/data/hw_cvars.h | 3 + .../hwrenderer/data/hw_renderstate.h | 2 +- .../hwrenderer/data/hw_shaderpatcher.cpp | 1 + .../rendering/hwrenderer/data/hw_vrmodes.cpp | 20 +- .../rendering/hwrenderer/data/hw_vrmodes.h | 2 +- source/common/scripting/backend/codegen.cpp | 481 +++++++++++------- source/common/scripting/core/types.cpp | 3 +- .../scripting/interface/stringformat.cpp | 4 +- .../common/scripting/interface/vmnatives.cpp | 37 +- source/common/startscreen/endoom.cpp | 2 +- source/common/startscreen/startscreen.cpp | 9 +- source/common/startscreen/startscreen.h | 2 +- source/common/textures/firetexture.cpp | 139 +++++ source/common/textures/firetexture.h | 17 + source/common/textures/image.cpp | 3 +- source/common/textures/texturemanager.cpp | 2 +- source/common/utility/cmdlib.cpp | 20 + source/common/utility/cmdlib.h | 2 + source/common/utility/m_argv.cpp | 110 +++- source/common/utility/m_argv.h | 1 + source/common/utility/m_bbox.h | 7 + source/common/utility/tarray.h | 1 + source/common/utility/vectors.h | 39 ++ source/common/utility/writezip.cpp | 7 +- source/common/utility/zstring.cpp | 6 + source/common/utility/zstring.h | 1 + source/common/widgets/widgetresourcedata.cpp | 1 + source/core/automap.cpp | 6 +- source/core/cheats.cpp | 2 +- source/core/console/c_notifybuffer.cpp | 2 +- source/core/ct_chat.cpp | 4 +- source/core/gamecontrol.cpp | 11 +- source/core/gamecvars.cpp | 2 +- source/core/mapinfo.h | 4 +- source/core/menu/razemenu.cpp | 14 +- source/core/quotes.cpp | 2 +- source/core/razefont.cpp | 8 +- source/core/rendering/hw_entrypoint.cpp | 2 +- source/core/savegamehelp.cpp | 10 +- source/core/secrets.cpp | 2 +- source/core/version.h | 1 + source/core/vmstubs.cpp | 15 - source/games/blood/src/eventq.cpp | 2 +- source/games/blood/src/messages.cpp | 58 +-- source/games/blood/src/player.cpp | 20 +- source/games/blood/src/view.cpp | 2 +- source/games/duke/src/cheats.cpp | 2 +- source/games/duke/src/game_misc.cpp | 2 +- source/games/duke/src/gameexec.cpp | 2 +- source/games/duke/src/spawn.cpp | 4 +- source/games/duke/src/vmexports.cpp | 4 +- source/games/exhumed/src/2d.cpp | 4 +- source/games/exhumed/src/cheats.cpp | 22 +- source/games/exhumed/src/gameloop.cpp | 2 +- source/games/exhumed/src/lighting.cpp | 2 +- source/games/exhumed/src/object.cpp | 4 +- source/games/exhumed/src/player.cpp | 10 +- source/games/exhumed/src/switch.cpp | 2 +- source/games/sw/src/cheats.cpp | 26 +- source/games/sw/src/draw.cpp | 2 +- source/games/sw/src/player.cpp | 2 +- source/games/sw/src/rotator.cpp | 2 +- source/games/sw/src/sector.cpp | 2 +- source/games/sw/src/slidor.cpp | 2 +- source/games/sw/src/sprite.cpp | 4 +- source/games/sw/src/vator.cpp | 2 +- source/games/sw/src/weapon.cpp | 80 +-- source/launcher/launcherbanner.cpp | 2 +- source/launcher/launcherbuttonbar.cpp | 4 +- source/launcher/launcherwindow.cpp | 10 +- source/launcher/launcherwindow.h | 4 +- source/launcher/playgamepage.cpp | 6 +- source/launcher/settingspage.cpp | 26 +- 124 files changed, 1536 insertions(+), 504 deletions(-) delete mode 100644 bin/windows/zmusic/arm64/zmusiclite.dll create mode 100644 source/common/textures/firetexture.cpp create mode 100644 source/common/textures/firetexture.h diff --git a/bin/windows/zmusic/arm64/zmusiclite.dll b/bin/windows/zmusic/arm64/zmusiclite.dll deleted file mode 100644 index 0d51f1240354357aa54d46307c82326d01c920e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1708032 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

LxLMAO61;G5{@GQtz(m9USR|4*b% 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%0D!e@L_E^Boj*VY)ds}q=NK1C{8I_>5;$Dom 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 diff --git a/bin/windows/zmusic/include/zmusic.h b/bin/windows/zmusic/include/zmusic.h index 06c7ee39b66..90cb80e25ce 100644 --- a/bin/windows/zmusic/include/zmusic.h +++ b/bin/windows/zmusic/include/zmusic.h @@ -148,9 +148,10 @@ typedef enum EIntConfigKey_ zmusic_mod_autochip_scan_threshold, zmusic_snd_streambuffersize, - + zmusic_snd_mididevice, zmusic_snd_outputrate, + zmusic_mod_preferredplayer, NUM_ZMUSIC_INT_CONFIGS } EIntConfigKey; @@ -226,7 +227,7 @@ typedef struct ZMusicCallbacks_ { // Callbacks the client can install to capture messages from the backends // or to provide sound font data. - + void (*MessageFunc)(int severity, const char* msg); // The message callbacks are optional, without them the output goes to stdout. diff --git a/libraries/ZVulkan/src/glslang/glslang/Include/Common.h b/libraries/ZVulkan/src/glslang/glslang/Include/Common.h index 4f888ae1661..87ec92f279e 100644 --- a/libraries/ZVulkan/src/glslang/glslang/Include/Common.h +++ b/libraries/ZVulkan/src/glslang/glslang/Include/Common.h @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include diff --git a/libraries/ZWidget/CMakeLists.txt b/libraries/ZWidget/CMakeLists.txt index dd836cd6de4..68c048e22ee 100644 --- a/libraries/ZWidget/CMakeLists.txt +++ b/libraries/ZWidget/CMakeLists.txt @@ -120,6 +120,9 @@ include_directories(include include/zwidget src) if(WIN32) set(ZWIDGET_SOURCES ${ZWIDGET_SOURCES} ${ZWIDGET_WIN32_SOURCES}) add_definitions(-DUNICODE -D_UNICODE) + if(MINGW) + add_definitions(-DMINGW) + endif() elseif(APPLE) set(ZWIDGET_SOURCES ${ZWIDGET_SOURCES} ${ZWIDGET_COCOA_SOURCES}) set(ZWIDGET_LIBS ${CMAKE_DL_LIBS} -ldl) diff --git a/libraries/ZWidget/src/widgets/lineedit/lineedit.cpp b/libraries/ZWidget/src/widgets/lineedit/lineedit.cpp index 5c90e68e191..9065ccde4b6 100644 --- a/libraries/ZWidget/src/widgets/lineedit/lineedit.cpp +++ b/libraries/ZWidget/src/widgets/lineedit/lineedit.cpp @@ -18,6 +18,8 @@ LineEdit::LineEdit(Widget* parent) : Widget(parent) LineEdit::~LineEdit() { + delete timer; + delete scroll_timer; } bool LineEdit::IsReadOnly() const diff --git a/libraries/ZWidget/src/window/win32/win32window.cpp b/libraries/ZWidget/src/window/win32/win32window.cpp index 3ba21698ab8..6ad09ef6041 100644 --- a/libraries/ZWidget/src/window/win32/win32window.cpp +++ b/libraries/ZWidget/src/window/win32/win32window.cpp @@ -28,6 +28,26 @@ #define RIDEV_INPUTSINK (0x100) #endif +#ifdef MINGW +// MinGW's library doesn't contain a thunk for DwmDefWindowProc, so we need to create our own + +BOOL DwmDefWindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult ) +{ + typedef BOOL(* dwmdwp)(HWND, UINT, WPARAM, LPARAM, LRESULT* ); + BOOL result(FALSE); + HMODULE module = LoadLibrary( _T( "dwmapi.dll" ) ); + if( module ) { + dwmdwp proc = reinterpret_cast( GetProcAddress( module, "DwmDefWindowProc" ) ); + if( proc ) { + result = proc( hWnd, msg, wParam, lParam, plResult ); + } + FreeLibrary(module); + } + return result; +} + +#endif + static std::string from_utf16(const std::wstring& str) { if (str.empty()) return {}; @@ -61,7 +81,7 @@ Win32Window::Win32Window(DisplayWindowHost* windowHost) : WindowHost(windowHost) Windows.push_front(this); WindowsIterator = Windows.begin(); - WNDCLASSEX classdesc = {}; + WNDCLASSEXW classdesc = {}; classdesc.cbSize = sizeof(WNDCLASSEX); classdesc.hInstance = GetModuleHandle(0); classdesc.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS; @@ -74,7 +94,7 @@ Win32Window::Win32Window(DisplayWindowHost* windowHost) : WindowHost(windowHost) // WS_CAPTION shows the caption (yay! actually a flag that does what it says it does!) // WS_SYSMENU shows the min/max/close buttons // WS_THICKFRAME makes the window resizable - CreateWindowEx(WS_EX_APPWINDOW | WS_EX_DLGMODALFRAME, L"ZWidgetWindow", L"", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX, 0, 0, 100, 100, 0, 0, GetModuleHandle(0), this); + CreateWindowExW(WS_EX_APPWINDOW | WS_EX_DLGMODALFRAME, L"ZWidgetWindow", L"", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX, 0, 0, 100, 100, 0, 0, GetModuleHandle(0), this); /* RAWINPUTDEVICE rid; @@ -387,6 +407,7 @@ void Win32Window::PresentBitmap(int width, int height, const uint32_t* pixels) LRESULT Win32Window::OnWindowMessage(UINT msg, WPARAM wparam, LPARAM lparam) { LPARAM result = 0; + if (DwmDefWindowProc(WindowHandle, msg, wparam, lparam, &result)) return result; diff --git a/libraries/ZWidget/src/window/window.cpp b/libraries/ZWidget/src/window/window.cpp index 234be61e436..b67b1a29677 100644 --- a/libraries/ZWidget/src/window/window.cpp +++ b/libraries/ZWidget/src/window/window.cpp @@ -2,7 +2,7 @@ #include "window/window.h" #include -#ifdef WIN32 +#ifdef _WIN32 #include "win32/win32window.h" diff --git a/libraries/bzip2/CMakeLists.txt b/libraries/bzip2/CMakeLists.txt index 846db25c265..c42b46592c9 100644 --- a/libraries/bzip2/CMakeLists.txt +++ b/libraries/bzip2/CMakeLists.txt @@ -13,4 +13,5 @@ add_library( bz2 STATIC decompress.c huffman.c randtable.c ) +link_libraries("-static") target_link_libraries( bz2 ) diff --git a/source/common/2d/v_2ddrawer.cpp b/source/common/2d/v_2ddrawer.cpp index 717d607c67c..10f4869b928 100644 --- a/source/common/2d/v_2ddrawer.cpp +++ b/source/common/2d/v_2ddrawer.cpp @@ -592,6 +592,10 @@ void DShape2D::OnDestroy() { void F2DDrawer::AddShape(FGameTexture* img, DShape2D* shape, DrawParms& parms) { + // bail if shape is null (shouldn't happen but it might) + if (!shape) + ThrowAbortException(X_OTHER, "shape is null"); + // [MK] bail out if vertex/coord array sizes are mismatched if ( shape->mVertices.Size() != shape->mCoords.Size() ) ThrowAbortException(X_OTHER, "Mismatch in vertex/coord count: %u != %u", shape->mVertices.Size(), shape->mCoords.Size()); diff --git a/source/common/2d/v_drawtext.cpp b/source/common/2d/v_drawtext.cpp index 22cfb476ed8..56415a84fd2 100644 --- a/source/common/2d/v_drawtext.cpp +++ b/source/common/2d/v_drawtext.cpp @@ -380,7 +380,7 @@ void DrawText(F2DDrawer *drawer, FFont* font, int normalcolor, double x, double { return; } - const char *txt = (parms.localize && string[0] == '$') ? GStrings(&string[1]) : string; + const char *txt = (parms.localize && string[0] == '$') ? GStrings.GetString(&string[1]) : string; DrawTextCommon(drawer, font, normalcolor, x, y, (const uint8_t*)string, parms); } @@ -419,7 +419,7 @@ void DrawText(F2DDrawer *drawer, FFont *font, int normalcolor, double x, double { return; } - const char *txt = (parms.localize && string[0] == '$') ? GStrings(&string[1]) : string.GetChars(); + const char *txt = (parms.localize && string[0] == '$') ? GStrings.GetString(&string[1]) : string.GetChars(); DrawTextCommon(drawer, font, normalcolor, x, y, (uint8_t*)txt, parms); } diff --git a/source/common/audio/music/music.cpp b/source/common/audio/music/music.cpp index 13837e93e71..9664c54585c 100644 --- a/source/common/audio/music/music.cpp +++ b/source/common/audio/music/music.cpp @@ -74,6 +74,7 @@ float relative_volume = 1.f; float saved_relative_volume = 1.0f; // this could be used to implement an ACS FadeMusic function MusicVolumeMap MusicVolumes; MidiDeviceMap MidiDevices; +TMap ModPlayers; static int DefaultFindMusic(const char* fn) { @@ -93,6 +94,7 @@ EXTERN_CVAR(Float, fluid_gain) CVAR(Bool, mus_calcgain, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG) // changing this will only take effect for the next song. CVAR(Bool, mus_usereplaygain, false, CVAR_ARCHIVE | CVAR_GLOBALCONFIG) // changing this will only take effect for the next song. +CVAR(Int, mod_preferred_player, 0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)// toggle between libXMP and Dumb. Unlike other sound CVARs this is not directly mapped to ZMusic's config. // CODE -------------------------------------------------------------------- @@ -130,6 +132,24 @@ static FileReader OpenMusic(const char* musicname) return reader; } +bool MusicExists(const char* music_name) +{ + if (music_name == nullptr) + return false; + + if (FileExists(music_name)) + return true; + else + { + int lumpnum; + lumpnum = mus_cb.FindMusic(music_name); + if (lumpnum == -1) lumpnum = fileSystem.CheckNumForName(music_name, FileSys::ns_music); + if (lumpnum != -1 && fileSystem.FileLength(lumpnum) != 0) + return true; + } + return false; +} + void S_SetMusicCallbacks(MusicCallbacks* cb) { mus_cb = *cb; @@ -751,6 +771,7 @@ bool S_ChangeMusic(const char* musicname, int order, bool looping, bool force) { int lumpnum = mus_cb.FindMusic(musicname); MidiDeviceSetting* devp = MidiDevices.CheckKey(lumpnum); + int* mplay = ModPlayers.CheckKey(lumpnum); auto volp = MusicVolumes.CheckKey(lumpnum); if (volp) @@ -763,6 +784,12 @@ bool S_ChangeMusic(const char* musicname, int order, bool looping, bool force) CheckReplayGain(musicname, devp ? (EMidiDevice)devp->device : MDEV_DEFAULT, devp ? devp->args.GetChars() : ""); } auto mreader = GetMusicReader(reader); // this passes the file reader to the newly created wrapper. + int mod_player = mplay? *mplay : *mod_preferred_player; + int scratch; + + // This config var is only effective when opening a music stream so there's no need for active synchronization. Setting it here is sufficient. + // Ideally this should have been a parameter to ZMusic_OpenSong, but that would have necessitated an API break. + ChangeMusicSettingInt(zmusic_mod_preferredplayer, mus_playing.handle, mod_player, &scratch); mus_playing.handle = ZMusic_OpenSong(mreader, devp ? (EMidiDevice)devp->device : MDEV_DEFAULT, devp ? devp->args.GetChars() : ""); if (mus_playing.handle == nullptr) { diff --git a/source/common/audio/music/s_music.h b/source/common/audio/music/s_music.h index cddfd36d626..3c5a092ccbf 100644 --- a/source/common/audio/music/s_music.h +++ b/source/common/audio/music/s_music.h @@ -45,6 +45,9 @@ bool S_StartMusic (const char *music_name); // Start music using , and set whether looping bool S_ChangeMusic (const char *music_name, int order=0, bool looping=true, bool force=false); +// Check if exists +bool MusicExists(const char* music_name); + void S_RestartMusic (); void S_MIDIDeviceChanged(int newdev); @@ -71,6 +74,7 @@ struct MidiDeviceSetting typedef TMap MidiDeviceMap; typedef TMap MusicVolumeMap; +extern TMap ModPlayers; extern MidiDeviceMap MidiDevices; extern MusicVolumeMap MusicVolumes; extern MusicCallbacks mus_cb; diff --git a/source/common/audio/sound/oalsound.cpp b/source/common/audio/sound/oalsound.cpp index 511a89fbd0e..8b20fb9c100 100644 --- a/source/common/audio/sound/oalsound.cpp +++ b/source/common/audio/sound/oalsound.cpp @@ -598,6 +598,7 @@ OpenALSoundRenderer::OpenALSoundRenderer() ALC.EXT_disconnect = !!alcIsExtensionPresent(Device, "ALC_EXT_disconnect"); ALC.SOFT_HRTF = !!alcIsExtensionPresent(Device, "ALC_SOFT_HRTF"); ALC.SOFT_pause_device = !!alcIsExtensionPresent(Device, "ALC_SOFT_pause_device"); + ALC.SOFT_output_limiter = !!alcIsExtensionPresent(Device, "ALC_SOFT_output_limiter"); const ALCchar *current = NULL; if(alcIsExtensionPresent(Device, "ALC_ENUMERATE_ALL_EXT")) @@ -634,6 +635,11 @@ OpenALSoundRenderer::OpenALSoundRenderer() else attribs.Push(ALC_DONT_CARE_SOFT); } + if(ALC.SOFT_output_limiter) + { + attribs.Push(ALC_OUTPUT_LIMITER_SOFT); + attribs.Push(ALC_TRUE); + } // Other attribs..? attribs.Push(0); diff --git a/source/common/console/c_enginecmds.cpp b/source/common/console/c_enginecmds.cpp index 38e64ab46a5..d6a2e027e24 100644 --- a/source/common/console/c_enginecmds.cpp +++ b/source/common/console/c_enginecmds.cpp @@ -80,7 +80,7 @@ CCMD (print) Printf ("print : Print a string from the string table\n"); return; } - const char *str = GStrings[argv[1]]; + const char *str = GStrings.CheckString(argv[1]); if (str == NULL) { Printf ("%s unknown\n", argv[1]); @@ -304,7 +304,7 @@ CCMD(printlocalized) return; } } - Printf("%s\n", GStrings(argv[1])); + Printf("%s\n", GStrings.GetString(argv[1])); } } diff --git a/source/common/engine/i_interface.cpp b/source/common/engine/i_interface.cpp index 580dde407c2..dfedbe8eecd 100644 --- a/source/common/engine/i_interface.cpp +++ b/source/common/engine/i_interface.cpp @@ -4,8 +4,15 @@ #include "startupinfo.h" #include "c_cvars.h" #include "gstrings.h" +#include "version.h" -static_assert(sizeof(void*) == 8, "32 builds are not supported"); +static_assert(sizeof(void*) == 8, + "Only LP64/LLP64 builds are officially supported. " + "Please do not attempt to build for other platforms; " + "even if the program succeeds in a MAP01 smoke test, " + "there are e.g. known visual artifacts " + " " + "that lead to a bad user experience."); // Some global engine variables taken out of the backend code. FStartupScreen* StartWindow; @@ -23,7 +30,7 @@ bool pauseext; FStartupInfo GameStartupInfo; -CVAR(Bool, queryiwad, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG); +CVAR(Bool, queryiwad, QUERYIWADDEFAULT, CVAR_ARCHIVE | CVAR_GLOBALCONFIG); CVAR(String, defaultiwad, "", CVAR_ARCHIVE | CVAR_GLOBALCONFIG); CVAR(Bool, vid_fps, false, 0) diff --git a/source/common/engine/i_interface.h b/source/common/engine/i_interface.h index ff35d62866e..4289bfeab77 100644 --- a/source/common/engine/i_interface.h +++ b/source/common/engine/i_interface.h @@ -31,7 +31,6 @@ struct SystemCallbacks FString(*GetPlayerName)(int i); bool (*DispatchEvent)(event_t* ev); bool (*CheckGame)(const char* nm); - int (*GetGender)(); void (*MenuClosed)(); bool (*CheckMenudefOption)(const char* opt); void (*ConsoleToggled)(int state); diff --git a/source/common/engine/i_net.cpp b/source/common/engine/i_net.cpp index 65dc60cb1a5..33b4c126711 100644 --- a/source/common/engine/i_net.cpp +++ b/source/common/engine/i_net.cpp @@ -903,11 +903,11 @@ bool JoinGame (int i) static int PrivateNetOf(in_addr in) { int addr = ntohl(in.s_addr); - if ((addr & 0xFFFF0000) == 0xC0A80000) // 192.168.0.0 + if ((addr & 0xFFFF0000) == 0xC0A80000) // 192.168.0.0 { return 0xC0A80000; } - else if ((addr & 0xFFF00000) == 0xAC100000) // 172.16.0.0 + else if ((addr & 0xFFFF0000) >= 0xAC100000 && (addr & 0xFFFF0000) <= 0xAC1F0000) // 172.16.0.0 - 172.31.0.0 { return 0xAC100000; } diff --git a/source/common/engine/m_joy.cpp b/source/common/engine/m_joy.cpp index a2ab71103cd..1e4b2f3e0ed 100644 --- a/source/common/engine/m_joy.cpp +++ b/source/common/engine/m_joy.cpp @@ -120,16 +120,30 @@ bool M_LoadJoystickConfig(IJoystickConfig *joy) { return false; } + + assert(GameConfig); + value = GameConfig->GetValueForKey("Enabled"); - if (value != NULL) + if (value) { joy->SetEnabled((bool)atoi(value)); } + + if(joy->AllowsEnabledInBackground()) + { + value = GameConfig->GetValueForKey("EnabledInBackground"); + if (value) + { + joy->SetEnabledInBackground((bool)atoi(value)); + } + } + value = GameConfig->GetValueForKey("Sensitivity"); - if (value != NULL) + if (value) { joy->SetSensitivity((float)atof(value)); } + numaxes = joy->GetNumAxes(); for (int i = 0; i < numaxes; ++i) { @@ -137,21 +151,21 @@ bool M_LoadJoystickConfig(IJoystickConfig *joy) mysnprintf(key + axislen, countof(key) - axislen, "deadzone"); value = GameConfig->GetValueForKey(key); - if (value != NULL) + if (value) { joy->SetAxisDeadZone(i, (float)atof(value)); } mysnprintf(key + axislen, countof(key) - axislen, "scale"); value = GameConfig->GetValueForKey(key); - if (value != NULL) + if (value) { joy->SetAxisScale(i, (float)atof(value)); } mysnprintf(key + axislen, countof(key) - axislen, "map"); value = GameConfig->GetValueForKey(key); - if (value != NULL) + if (value) { EJoyAxis gameaxis = (EJoyAxis)atoi(value); if (gameaxis < JOYAXIS_None || gameaxis >= NUM_JOYAXIS) @@ -185,6 +199,12 @@ void M_SaveJoystickConfig(IJoystickConfig *joy) { GameConfig->SetValueForKey("Enabled", "0"); } + + if (!joy->AllowsEnabledInBackground() && joy->GetEnabledInBackground()) + { + GameConfig->SetValueForKey("EnabledInBackground", "1"); + } + if (!joy->IsSensitivityDefault()) { mysnprintf(value, countof(value), "%g", joy->GetSensitivity()); diff --git a/source/common/engine/m_joy.h b/source/common/engine/m_joy.h index 088d5bd6d3c..e8d9d3b1372 100644 --- a/source/common/engine/m_joy.h +++ b/source/common/engine/m_joy.h @@ -39,6 +39,10 @@ struct IJoystickConfig virtual bool GetEnabled() = 0; virtual void SetEnabled(bool enabled) = 0; + virtual bool AllowsEnabledInBackground() = 0; + virtual bool GetEnabledInBackground() = 0; + virtual void SetEnabledInBackground(bool enabled) = 0; + // Used by the saver to not save properties that are at their defaults. virtual bool IsSensitivityDefault() = 0; virtual bool IsAxisDeadZoneDefault(int axis) = 0; diff --git a/source/common/engine/namedef.h b/source/common/engine/namedef.h index 7f98beba083..13827382c0c 100644 --- a/source/common/engine/namedef.h +++ b/source/common/engine/namedef.h @@ -278,6 +278,8 @@ xx(BuiltinNameToClass) xx(BuiltinClassCast) xx(BuiltinFunctionPtrCast) xx(BuiltinFindTranslation) +xx(HandleDeprecatedFlags) +xx(CheckDeprecatedFlags) xx(ScreenJobRunner) xx(Action) diff --git a/source/common/engine/serializer.cpp b/source/common/engine/serializer.cpp index dcf93084287..97ded1adf8a 100644 --- a/source/common/engine/serializer.cpp +++ b/source/common/engine/serializer.cpp @@ -197,7 +197,10 @@ void FSerializer::Close() } if (mErrors > 0) { - I_Error("%d errors parsing JSON", mErrors); + if (mLumpName.IsNotEmpty()) + I_Error("%d errors parsing JSON lump %s", mErrors, mLumpName.GetChars()); + else + I_Error("%d errors parsing JSON", mErrors); } } @@ -331,6 +334,28 @@ bool FSerializer::HasObject(const char* name) // //========================================================================== +bool FSerializer::IsKeyNull(const char* name) +{ + if (isReading()) + { + auto val = r->FindKey(name); + if (val != nullptr) + { + if (val->IsNull()) + { + return true; + } + } + } + return false; +} + +//========================================================================== +// +// +// +//========================================================================== + void FSerializer::EndObject() { if (isWriting()) diff --git a/source/common/engine/serializer.h b/source/common/engine/serializer.h index ae25853d948..40b6ab7062a 100644 --- a/source/common/engine/serializer.h +++ b/source/common/engine/serializer.h @@ -9,6 +9,7 @@ #include "palentry.h" #include "name.h" #include "dictionary.h" +#include "bonecomponents.h" extern bool save_full; @@ -93,6 +94,7 @@ class FSerializer void EndObject(); bool HasKey(const char* name); bool HasObject(const char* name); + bool IsKeyNull(const char* name); bool BeginArray(const char *name); void EndArray(); unsigned GetSize(const char *group); @@ -224,6 +226,7 @@ class FSerializer int mErrors = 0; int mObjectErrors = 0; + FString mLumpName; }; FSerializer& Serialize(FSerializer& arc, const char* key, char& value, char* defval); @@ -247,7 +250,8 @@ FSerializer &Serialize(FSerializer &arc, const char *key, FString &sid, FString FSerializer &Serialize(FSerializer &arc, const char *key, NumericValue &sid, NumericValue *def); FSerializer &Serialize(FSerializer &arc, const char *key, struct ModelOverride &mo, struct ModelOverride *def); FSerializer &Serialize(FSerializer &arc, const char *key, struct AnimModelOverride &mo, struct AnimModelOverride *def); -FSerializer &Serialize(FSerializer &arc, const char *key, struct AnimOverride &ao, struct AnimOverride *def); +FSerializer &Serialize(FSerializer &arc, const char *key, ModelAnim &ao, ModelAnim *def); +FSerializer &Serialize(FSerializer &arc, const char *key, ModelAnimFrame &ao, ModelAnimFrame *def); FSerializer& Serialize(FSerializer& arc, const char* key, FTranslationID& value, FTranslationID* defval); void SerializeFunctionPointer(FSerializer &arc, const char *key, FunctionPointerValue *&p); diff --git a/source/common/engine/stringtable.cpp b/source/common/engine/stringtable.cpp index 52d1f35437c..d9d739b57aa 100644 --- a/source/common/engine/stringtable.cpp +++ b/source/common/engine/stringtable.cpp @@ -47,29 +47,29 @@ // //========================================================================== -void FStringTable::LoadStrings (FileSys::FileSystem& fileSystem_, const char *language) +void FStringTable::LoadStrings (FileSys::FileSystem& fileSystem, const char *language) { int lastlump, lump; - fileSystem = &fileSystem_; allStrings.Clear(); lastlump = 0; - while ((lump = fileSystem->FindLump("LMACROS", &lastlump)) != -1) + while ((lump = fileSystem.FindLump("LMACROS", &lastlump)) != -1) { - readMacros(lump); + auto lumpdata = fileSystem.ReadFile(lump); + readMacros(lumpdata.string(), lumpdata.size()); } lastlump = 0; - while ((lump = fileSystem->FindLump ("LANGUAGE", &lastlump)) != -1) + while ((lump = fileSystem.FindLump ("LANGUAGE", &lastlump)) != -1) { - auto lumpdata = fileSystem->ReadFile(lump); + auto lumpdata = fileSystem.ReadFile(lump); + auto filenum = fileSystem.GetFileContainer(lump); - if (!ParseLanguageCSV(lump, lumpdata.string(), lumpdata.size())) - LoadLanguage (lump, lumpdata.string(), lumpdata.size()); + if (!ParseLanguageCSV(filenum, lumpdata.string(), lumpdata.size())) + LoadLanguage (filenum, lumpdata.string(), lumpdata.size()); } UpdateLanguage(language); allMacros.Clear(); - fileSystem = nullptr; } @@ -159,10 +159,9 @@ TArray> FStringTable::parseCSV(const char* buffer, size_t size) // //========================================================================== -bool FStringTable::readMacros(int lumpnum) +bool FStringTable::readMacros(const char* buffer, size_t size) { - auto lumpdata = fileSystem->ReadFile(lumpnum); - auto data = parseCSV(lumpdata.string(), lumpdata.size()); + auto data = parseCSV(buffer, size); allMacros.Clear(); for (unsigned i = 1; i < data.Size(); i++) @@ -187,7 +186,7 @@ bool FStringTable::readMacros(int lumpnum) // //========================================================================== -bool FStringTable::ParseLanguageCSV(int lumpnum, const char* buffer, size_t size) +bool FStringTable::ParseLanguageCSV(int filenum, const char* buffer, size_t size) { if (size < 11) return false; if (strnicmp(buffer, "default,", 8) && strnicmp(buffer, "identifier,", 11 )) return false; @@ -255,17 +254,18 @@ bool FStringTable::ParseLanguageCSV(int lumpnum, const char* buffer, size_t size } } + row[labelcol].StripLeftRight(); FName strName = row[labelcol].GetChars(); if (hasDefaultEntry) { - DeleteForLabel(lumpnum, strName); + DeleteForLabel(filenum, strName); } for (auto &langentry : langrows) { auto str = row[langentry.first]; if (str.Len() > 0) { - InsertString(lumpnum, langentry.second, strName, str); + InsertString(filenum, langentry.second, strName, str); } else { @@ -409,11 +409,10 @@ void FStringTable::DeleteString(int langid, FName label) // //========================================================================== -void FStringTable::DeleteForLabel(int lumpnum, FName label) +void FStringTable::DeleteForLabel(int filenum, FName label) { decltype(allStrings)::Iterator it(allStrings); decltype(allStrings)::Pair *pair; - auto filenum = fileSystem->GetFileContainer(lumpnum); while (it.NextPair(pair)) { @@ -432,10 +431,10 @@ void FStringTable::DeleteForLabel(int lumpnum, FName label) // //========================================================================== -void FStringTable::InsertString(int lumpnum, int langid, FName label, const FString &string) +void FStringTable::InsertString(int filenum, int langid, FName label, const FString &string) { const char *strlangid = (const char *)&langid; - TableElement te = { fileSystem->GetFileContainer(lumpnum), { string, string, string, string } }; + TableElement te = { filenum, { string, string, string, string } }; ptrdiff_t index; while ((index = te.strings[0].IndexOf("@[")) >= 0) { @@ -579,26 +578,33 @@ bool FStringTable::exists(const char *name) // //========================================================================== -const char *FStringTable::GetString(const char *name, uint32_t *langtable, int gender) const +const char *FStringTable::CheckString(const char *name, uint32_t *langtable, int gender) const { if (name == nullptr || *name == 0) { return nullptr; } - if (gender == -1 && sysCallbacks.GetGender) gender = sysCallbacks.GetGender(); + if (gender == -1) gender = defaultgender; if (gender < 0 || gender > 3) gender = 0; FName nm(name, true); if (nm != NAME_None) { + TableElement* bestItem = nullptr; for (auto map : currentLanguageSet) { auto item = map.second->CheckKey(nm); if (item) { + if (bestItem && bestItem->filenum > item->filenum) + { + // prioritize content from later files, even if the language doesn't fully match. + // This is mainly for Dehacked content. + continue; + } if (langtable) *langtable = map.first; auto c = item->strings[gender].GetChars(); if (c && *c == '$' && c[1] == '$') - return GetString(c + 2, langtable, gender); + c = CheckString(c + 2, langtable, gender); return c; } } @@ -608,7 +614,7 @@ const char *FStringTable::GetString(const char *name, uint32_t *langtable, int g //========================================================================== // -// Finds a string by name in a given language +// Finds a string by name in a given language without attempting any substitution // //========================================================================== @@ -618,7 +624,7 @@ const char *FStringTable::GetLanguageString(const char *name, uint32_t langtable { return nullptr; } - if (gender == -1 && sysCallbacks.GetGender) gender = sysCallbacks.GetGender(); + if (gender == -1) gender = defaultgender; if (gender < 0 || gender > 3) gender = 0; FName nm(name, true); if (nm != NAME_None) @@ -655,9 +661,9 @@ bool FStringTable::MatchDefaultString(const char *name, const char *content) con // //========================================================================== -const char *FStringTable::operator() (const char *name) const +const char *FStringTable::GetString(const char *name) const { - const char *str = operator[] (name); + const char *str = CheckString(name, nullptr); return str ? str : name; } diff --git a/source/common/engine/stringtable.h b/source/common/engine/stringtable.h index 0e0476353bb..181d8c7f399 100644 --- a/source/common/engine/stringtable.h +++ b/source/common/engine/stringtable.h @@ -95,32 +95,29 @@ class FStringTable const char *GetLanguageString(const char *name, uint32_t langtable, int gender = -1) const; bool MatchDefaultString(const char *name, const char *content) const; - const char *GetString(const char *name, uint32_t *langtable, int gender = -1) const; - const char *operator() (const char *name) const; // Never returns NULL - const char* operator() (const FString& name) const { return operator()(name.GetChars()); } - const char *operator[] (const char *name) const - { - return GetString(name, nullptr); - } + const char *CheckString(const char *name, uint32_t *langtable = nullptr, int gender = -1) const; + const char* GetString(const char* name) const; + const char* GetString(const FString& name) const { return GetString(name.GetChars()); } bool exists(const char *name); - void InsertString(int lumpnum, int langid, FName label, const FString& string); + void InsertString(int filenum, int langid, FName label, const FString& string); + void SetDefaultGender(int gender) { defaultgender = gender; } private: - FileSys::FileSystem* fileSystem; FString activeLanguage; StringMacroMap allMacros; LangMap allStrings; TArray> currentLanguageSet; + int defaultgender = 0; void LoadLanguage (int lumpnum, const char* buffer, size_t size); TArray> parseCSV(const char* buffer, size_t size); - bool ParseLanguageCSV(int lumpnum, const char* buffer, size_t size); + bool ParseLanguageCSV(int filenum, const char* buffer, size_t size); - bool readMacros(int lumpnum); + bool readMacros(const char* buffer, size_t size); void DeleteString(int langid, FName label); - void DeleteForLabel(int lumpnum, FName label); + void DeleteForLabel(int filenum, FName label); static size_t ProcessEscapes (char *str); public: @@ -138,7 +135,7 @@ class FStringTable const char* localize(const char* str) { - return *str == '$' ? operator()(str + 1) : str; + return *str == '$' ? GetString(str + 1) : str; } }; diff --git a/source/common/filesystem/source/critsec.cpp b/source/common/filesystem/source/critsec.cpp index 874ade79f9d..b8b8c552207 100644 --- a/source/common/filesystem/source/critsec.cpp +++ b/source/common/filesystem/source/critsec.cpp @@ -31,8 +31,6 @@ ** */ -namespace FileSys { - #ifdef _WIN32 #ifndef _WINNT_ @@ -40,6 +38,8 @@ namespace FileSys { #include #endif +namespace FileSys { + class FInternalCriticalSection { public: @@ -82,6 +82,8 @@ void LeaveCriticalSection(FInternalCriticalSection *c) #include +namespace FileSys { + class FInternalCriticalSection { public: diff --git a/source/common/filesystem/source/file_directory.cpp b/source/common/filesystem/source/file_directory.cpp index 0b9b7cd45ed..ca87fd9ea00 100644 --- a/source/common/filesystem/source/file_directory.cpp +++ b/source/common/filesystem/source/file_directory.cpp @@ -106,7 +106,7 @@ int FDirectory::AddDirectory(const char *dirpath, LumpFilterInfo* filter, FileSy if (mBasePath == nullptr) { // extract the base path from the first entry to cover changes made in ScanDirectory. - auto full = entry.FilePath.find(entry.FilePathRel); + auto full = entry.FilePath.rfind(entry.FilePathRel); std::string path(entry.FilePath, 0, full); mBasePath = stringpool->Strdup(path.c_str()); } diff --git a/source/common/filesystem/source/fs_findfile.cpp b/source/common/filesystem/source/fs_findfile.cpp index 9bc32e75e81..e3d515ab160 100644 --- a/source/common/filesystem/source/fs_findfile.cpp +++ b/source/common/filesystem/source/fs_findfile.cpp @@ -35,6 +35,7 @@ #include "fs_findfile.h" #include #include +#include #ifndef _WIN32 @@ -45,8 +46,6 @@ #endif #include #include -#include - #include #endif diff --git a/source/common/fonts/v_text.cpp b/source/common/fonts/v_text.cpp index 7fd9bfb535e..267b412bdfe 100644 --- a/source/common/fonts/v_text.cpp +++ b/source/common/fonts/v_text.cpp @@ -271,12 +271,12 @@ bool CheckFontComplete(FFont* font) { // Also check if the SmallFont contains all characters this language needs. // If not, switch back to the original one. - return font->CanPrint(GStrings["REQUIRED_CHARACTERS"]); + return font->CanPrint(GStrings.CheckString("REQUIRED_CHARACTERS")); } void UpdateGenericUI(bool cvar) { - auto switchstr = GStrings["USE_GENERIC_FONT"]; + auto switchstr = GStrings.CheckString("USE_GENERIC_FONT"); generic_ui = (cvar || (switchstr && strtoll(switchstr, nullptr, 0))); if (!generic_ui) { @@ -311,7 +311,7 @@ void UpdateGenericUI(bool cvar) } } // Turkish i crap. What a mess, just to save two code points... :( - switchstr = GStrings["REQUIRED_CHARACTERS"]; + switchstr = GStrings.CheckString("REQUIRED_CHARACTERS"); special_i = switchstr && strstr(switchstr, "\xc4\xb0") != nullptr; // capital dotted i (Ä°). if (special_i) { diff --git a/source/common/menu/joystickmenu.cpp b/source/common/menu/joystickmenu.cpp index ae152b5f0ea..3d3e881b165 100644 --- a/source/common/menu/joystickmenu.cpp +++ b/source/common/menu/joystickmenu.cpp @@ -133,6 +133,26 @@ DEFINE_ACTION_FUNCTION(IJoystickConfig, SetEnabled) return 0; } +DEFINE_ACTION_FUNCTION(IJoystickConfig, AllowsEnabledInBackground) +{ + PARAM_SELF_STRUCT_PROLOGUE(IJoystickConfig); + ACTION_RETURN_BOOL(self->AllowsEnabledInBackground()); +} + +DEFINE_ACTION_FUNCTION(IJoystickConfig, GetEnabledInBackground) +{ + PARAM_SELF_STRUCT_PROLOGUE(IJoystickConfig); + ACTION_RETURN_BOOL(self->GetEnabledInBackground()); +} + +DEFINE_ACTION_FUNCTION(IJoystickConfig, SetEnabledInBackground) +{ + PARAM_SELF_STRUCT_PROLOGUE(IJoystickConfig); + PARAM_BOOL(enabled); + self->SetEnabledInBackground(enabled); + return 0; +} + void UpdateJoystickMenu(IJoystickConfig *selected) { diff --git a/source/common/menu/savegamemanager.cpp b/source/common/menu/savegamemanager.cpp index 3f2243a870c..1350930210c 100644 --- a/source/common/menu/savegamemanager.cpp +++ b/source/common/menu/savegamemanager.cpp @@ -84,7 +84,7 @@ int FSavegameManagerBase::RemoveSaveSlot(int index) int listindex = SaveGames[0]->bNoDelete ? index - 1 : index; if (listindex < 0) return index; - remove(SaveGames[index]->Filename.GetChars()); + RemoveFile(SaveGames[index]->Filename.GetChars()); UnloadSaveData(); FSaveGameNode *file = SaveGames[index]; @@ -274,7 +274,7 @@ DEFINE_ACTION_FUNCTION(FSavegameManager, DoSave) unsigned FSavegameManagerBase::ExtractSaveData(int index) { - FResourceFile *resf; + std::unique_ptr resf; FSaveGameNode *node; if (index == -1) @@ -295,7 +295,7 @@ unsigned FSavegameManagerBase::ExtractSaveData(int index) (node = SaveGames[index]) && !node->Filename.IsEmpty() && !node->bOldVersion && - (resf = FResourceFile::OpenResourceFile(node->Filename.GetChars(), true)) != nullptr) + ( (resf.reset(FResourceFile::OpenResourceFile(node->Filename.GetChars(), true))), resf != nullptr)) { auto info = resf->FindEntry("info.json"); if (info < 0) @@ -316,7 +316,8 @@ unsigned FSavegameManagerBase::ExtractSaveData(int index) auto pic = resf->FindEntry("savepic.png"); if (pic >= 0) { - FileReader picreader = resf->GetEntryReader(pic, FileSys::READER_NEW, FileSys::READERFLAG_SEEKABLE); + // This must use READER_CACHED or it will lock the savegame file. + FileReader picreader = resf->GetEntryReader(pic, FileSys::READER_CACHED, FileSys::READERFLAG_SEEKABLE); PNGHandle *png = M_VerifyPNG(picreader); if (png != nullptr) { @@ -329,7 +330,6 @@ unsigned FSavegameManagerBase::ExtractSaveData(int index) } } } - delete resf; } return index; } @@ -470,7 +470,7 @@ DEFINE_ACTION_FUNCTION(FSavegameManager, GetSavegame) void FSavegameManagerBase::InsertNewSaveNode() { - NewSaveNode.SaveTitle = GStrings("NEWSAVE"); + NewSaveNode.SaveTitle = GStrings.GetString("NEWSAVE"); NewSaveNode.bNoDelete = true; SaveGames.Insert(0, &NewSaveNode); } diff --git a/source/common/models/bonecomponents.h b/source/common/models/bonecomponents.h index 1e65389ea08..313b0832ee6 100644 --- a/source/common/models/bonecomponents.h +++ b/source/common/models/bonecomponents.h @@ -4,6 +4,8 @@ #include "TRS.h" #include "matrix.h" +#include + class DBoneComponents : public DObject { @@ -14,3 +16,41 @@ class DBoneComponents : public DObject DBoneComponents() = default; }; + +struct ModelAnimFrameInterp +{ + float inter = -1.0f; + int frame1 = -1; + int frame2 = -1; +}; + +struct ModelAnimFramePrecalculatedIQM +{ + TArray precalcBones; +}; + +enum EModelAnimFlags +{ + MODELANIM_NONE = 1 << 0, // no animation + MODELANIM_LOOP = 1 << 1, // animation loops, otherwise it stays on the last frame once it ends +}; + +struct ModelAnim +{ + int firstFrame = 0; + int lastFrame = 0; + int loopFrame = 0; + float framerate = 0; + double startFrame = 0; + int flags = MODELANIM_NONE; + double startTic = 0; // when the current animation started (changing framerates counts as restarting) (or when animation starts if interpolating from previous animation) + double switchOffset = 0; // when the animation was changed -- where to interpolate the switch from +}; + +static_assert(sizeof(ModelAnim) == sizeof(double) * 6); + +using ModelAnimFrame = std::variant; + +double getCurrentFrame(const ModelAnim &anim, double tic, bool *looped); +void calcFrame(const ModelAnim &anim, double tic, ModelAnimFrameInterp &inter); +void calcFrames(const ModelAnim &curAnim, double tic, ModelAnimFrameInterp &to, float &inter); diff --git a/source/common/models/model.h b/source/common/models/model.h index 7d5746e3317..2be1f54cca7 100644 --- a/source/common/models/model.h +++ b/source/common/models/model.h @@ -9,6 +9,8 @@ #include "tarray.h" #include "name.h" +#include "bonecomponents.h" + class DBoneComponents; class FModelRenderer; class FGameTexture; @@ -94,7 +96,10 @@ class FModel virtual void AddSkins(uint8_t *hitlist, const FTextureID* surfaceskinids) = 0; virtual float getAspectFactor(float vscale) { return 1.f; } virtual const TArray* AttachAnimationData() { return nullptr; }; - virtual const TArray CalculateBones(int frame1, int frame2, float inter, int frame1_prev, float inter1_prev, int frame2_prev, float inter2_prev, const TArray* animationData, DBoneComponents* bones, int index) { return {}; }; + + virtual ModelAnimFrame PrecalculateFrame(const ModelAnimFrame &from, const ModelAnimFrameInterp &to, float inter, const TArray* animationData, DBoneComponents* bones, int index) { return nullptr; }; + + virtual const TArray CalculateBones(const ModelAnimFrame &from, const ModelAnimFrameInterp &to, float inter, const TArray* animationData, DBoneComponents* bones, int index) { return {}; }; void SetVertexBuffer(int type, IModelVertexBuffer *buffer) { mVBuf[type] = buffer; } IModelVertexBuffer *GetVertexBuffer(int type) const { return mVBuf[type]; } diff --git a/source/common/models/model_iqm.h b/source/common/models/model_iqm.h index 464f5c13ad9..c16e8372a6e 100644 --- a/source/common/models/model_iqm.h +++ b/source/common/models/model_iqm.h @@ -120,7 +120,12 @@ class IQMModel : public FModel void BuildVertexBuffer(FModelRenderer* renderer) override; void AddSkins(uint8_t* hitlist, const FTextureID* surfaceskinids) override; const TArray* AttachAnimationData() override; - const TArray CalculateBones(int frame1, int frame2, float inter, int frame1_prev, float inter1_prev, int frame2_prev, float inter2_prev, const TArray* animationData, DBoneComponents* bones, int index) override; + + ModelAnimFrame PrecalculateFrame(const ModelAnimFrame &from, const ModelAnimFrameInterp &to, float inter, const TArray* animationData, DBoneComponents* bones, int index) override; + const TArray CalculateBones(const ModelAnimFrame &from, const ModelAnimFrameInterp &to, float inter, const TArray* animationData, DBoneComponents* bones, int index) override; + + ModelAnimFramePrecalculatedIQM CalculateFrameIQM(int frame1, int frame2, float inter, int frame1_prev, float inter1_prev, int frame2_prev, float inter2_prev, const ModelAnimFramePrecalculatedIQM* precalculated, const TArray* animationData, DBoneComponents* bones, int index); + const TArray CalculateBonesIQM(int frame1, int frame2, float inter, int frame1_prev, float inter1_prev, int frame2_prev, float inter2_prev, const ModelAnimFramePrecalculatedIQM* precalculated, const TArray* animationData, DBoneComponents* bones, int index); private: void LoadGeometry(); diff --git a/source/common/models/models_iqm.cpp b/source/common/models/models_iqm.cpp index 891a19647e6..1384debce2a 100644 --- a/source/common/models/models_iqm.cpp +++ b/source/common/models/models_iqm.cpp @@ -560,7 +560,108 @@ static TRS InterpolateBone(const TRS &from, const TRS &to, float t, float invt) return bone; } -const TArray IQMModel::CalculateBones(int frame1, int frame2, float inter, int frame1_prev, float inter1_prev, int frame2_prev, float inter2_prev, const TArray* animationData, DBoneComponents* boneComponentData, int index) +#include "printf.h" + + +ModelAnimFrame IQMModel::PrecalculateFrame(const ModelAnimFrame &from, const ModelAnimFrameInterp &to, float inter, const TArray* animationData, DBoneComponents* bones, int index) +{ + if(inter <= 0) + { + return CalculateFrameIQM(to.frame1, to.frame2, to.inter, 0, -1.f, 0, -1.f, nullptr, animationData, bones, index); + } + else if(std::holds_alternative(from)) + { + auto &from_interp = std::get(from); + + return CalculateFrameIQM(from_interp.frame2, to.frame2, inter, from_interp.frame1, from_interp.inter, to.frame1, to.inter, nullptr, animationData, bones, index); + } + else if(std::holds_alternative(from)) + { + return CalculateFrameIQM(0, to.frame2, inter, 0, -1.f, to.frame1, to.inter, &std::get(from), animationData, bones, index); + } + else + { + return CalculateFrameIQM(to.frame1, to.frame2, to.inter, 0, -1.f, 0, -1.f, nullptr, animationData, bones, index); + } +} + +const TArray IQMModel::CalculateBones(const ModelAnimFrame &from, const ModelAnimFrameInterp &to, float inter, const TArray* animationData, DBoneComponents* bones, int index) +{ + if(inter <= 0) + { + return CalculateBonesIQM(to.frame1, to.frame2, to.inter, 0, -1.f, 0, -1.f, nullptr, animationData, bones, index); + } + else if(std::holds_alternative(from)) + { + auto &from_interp = std::get(from); + + return CalculateBonesIQM(from_interp.frame2, to.frame2, inter, from_interp.frame1, from_interp.inter, to.frame1, to.inter, nullptr, animationData, bones, index); + } + else if(std::holds_alternative(from)) + { + return CalculateBonesIQM(0, to.frame2, inter, 0, -1.f, to.frame1, to.inter, &std::get(from), animationData, bones, index); + } + else + { + return CalculateBonesIQM(to.frame1, to.frame2, to.inter, 0, -1.f, 0, -1.f, nullptr, animationData, bones, index); + } +} + +ModelAnimFramePrecalculatedIQM IQMModel::CalculateFrameIQM(int frame1, int frame2, float inter, int frame1_prev, float inter1_prev, int frame2_prev, float inter2_prev, const ModelAnimFramePrecalculatedIQM* precalculated, const TArray* animationData, DBoneComponents* boneComponentData, int index) +{ + ModelAnimFramePrecalculatedIQM out; + const TArray& animationFrames = animationData ? *animationData : TRSData; + + out.precalcBones.Resize(Joints.Size()); + + if (Joints.Size() > 0) + { + int numbones = Joints.SSize(); + + int offset1 = frame1 * numbones; + int offset2 = frame2 * numbones; + + int offset1_1 = frame1_prev * numbones; + int offset2_1 = frame2_prev * numbones; + + float invt = 1.0f - inter; + float invt1 = 1.0f - inter1_prev; + float invt2 = 1.0f - inter2_prev; + + for (int i = 0; i < numbones; i++) + { + TRS prev; + + if(precalculated) + { + prev = precalculated->precalcBones[i]; + } + else + { + if(frame1 >= 0 && (frame1_prev >= 0 || inter1_prev < 0)) + { + prev = inter1_prev <= 0 ? animationFrames[offset1 + i] : InterpolateBone(animationFrames[offset1_1 + i], animationFrames[offset1 + i], inter1_prev, invt1); + } + } + + TRS next; + + if(frame2 >= 0 && (frame2_prev >= 0 || inter2_prev < 0)) + { + next = inter2_prev <= 0 ? animationFrames[offset2 + i] : InterpolateBone(animationFrames[offset2_1 + i], animationFrames[offset2 + i], inter2_prev, invt2); + } + + if(frame1 >= 0 || inter < 0) + { + out.precalcBones[i] = inter < 0 ? animationFrames[offset1 + i] : InterpolateBone(prev, next , inter, invt); + } + } + } + + return out; +} + +const TArray IQMModel::CalculateBonesIQM(int frame1, int frame2, float inter, int frame1_prev, float inter1_prev, int frame2_prev, float inter2_prev, const ModelAnimFramePrecalculatedIQM* precalculated, const TArray* animationData, DBoneComponents* boneComponentData, int index) { const TArray& animationFrames = animationData ? *animationData : TRSData; if (Joints.Size() > 0) @@ -597,9 +698,16 @@ const TArray IQMModel::CalculateBones(int frame1, int frame2, float in { TRS prev; - if(frame1 >= 0 && (frame1_prev >= 0 || inter1_prev < 0)) + if(precalculated) + { + prev = precalculated->precalcBones[i]; + } + else { - prev = inter1_prev <= 0 ? animationFrames[offset1 + i] : InterpolateBone(animationFrames[offset1_1 + i], animationFrames[offset1 + i], inter1_prev, invt1); + if(frame1 >= 0 && (frame1_prev >= 0 || inter1_prev < 0)) + { + prev = inter1_prev <= 0 ? animationFrames[offset1 + i] : InterpolateBone(animationFrames[offset1_1 + i], animationFrames[offset1 + i], inter1_prev, invt1); + } } TRS next; diff --git a/source/common/models/voxels.h b/source/common/models/voxels.h index 52299434a9f..fe583fd936f 100644 --- a/source/common/models/voxels.h +++ b/source/common/models/voxels.h @@ -73,6 +73,9 @@ struct FVoxelDef int VoxeldefIndex; // Needed by GZDoom double Scale; DAngle AngleOffset;// added to actor's angle to compensate for wrong-facing voxels + double xoffset; + double yoffset; + double zoffset; bool PitchFromMomentum; bool UseActorPitch; bool UseActorRoll; diff --git a/source/common/objects/dobject.cpp b/source/common/objects/dobject.cpp index b66029a5355..e124a975c7c 100644 --- a/source/common/objects/dobject.cpp +++ b/source/common/objects/dobject.cpp @@ -330,6 +330,7 @@ void DObject::Destroy () } OnDestroy(); ObjectFlags = (ObjectFlags & ~OF_Fixed) | OF_EuthanizeMe; + GC::WriteBarrier(this); } DEFINE_ACTION_FUNCTION(DObject, Destroy) @@ -622,3 +623,165 @@ void *DObject::ScriptVar(FName field, PType *type) // This is only for internal use so I_Error is fine. I_Error("Variable %s not found in %s\n", field.GetChars(), cls->TypeName.GetChars()); } + + +//========================================================================== +// +// +// +//========================================================================== + +void NetworkEntityManager::InitializeNetworkEntities() +{ + if (!s_netEntities.Size()) + s_netEntities.AppendFill(nullptr, NetIDStart); // Allocate the first 0-8 slots for the world and clients. +} + +// Clients need special handling since they always go in slots 1 - MAXPLAYERS. +void NetworkEntityManager::SetClientNetworkEntity(DObject* mo, const unsigned int playNum) +{ + // If resurrecting, we need to swap the corpse's position with the new pawn's + // position so it's no longer considered the client's body. + const uint32_t id = ClientNetIDStart + playNum; + DObject* const oldBody = s_netEntities[id]; + if (oldBody != nullptr) + { + if (oldBody == mo) + return; + + const uint32_t curID = mo->GetNetworkID(); + + s_netEntities[curID] = oldBody; + oldBody->ClearNetworkID(); + oldBody->SetNetworkID(curID); + + mo->ClearNetworkID(); + } + else + { + RemoveNetworkEntity(mo); // Free up its current id. + } + + s_netEntities[id] = mo; + mo->SetNetworkID(id); +} + +void NetworkEntityManager::AddNetworkEntity(DObject* const ent) +{ + if (ent->IsNetworked()) + return; + + // Slot 0 is reserved for the world. + // Clients go in the first 1 - MAXPLAYERS slots + // Everything else is first come first serve. + uint32_t id = WorldNetID; + if (s_openNetIDs.Size()) + { + s_openNetIDs.Pop(id); + s_netEntities[id] = ent; + } + else + { + id = s_netEntities.Push(ent); + } + + ent->SetNetworkID(id); +} + +void NetworkEntityManager::RemoveNetworkEntity(DObject* const ent) +{ + if (!ent->IsNetworked()) + return; + + const uint32_t id = ent->GetNetworkID(); + if (id == WorldNetID) + return; + + assert(s_netEntities[id] == ent); + if (id >= NetIDStart) + s_openNetIDs.Push(id); + s_netEntities[id] = nullptr; + ent->ClearNetworkID(); +} + +DObject* NetworkEntityManager::GetNetworkEntity(const uint32_t id) +{ + if (id == WorldNetID || id >= s_netEntities.Size()) + return nullptr; + + return s_netEntities[id]; +} + +//========================================================================== +// +// +// +//========================================================================== + +void DObject::SetNetworkID(const uint32_t id) +{ + if (!IsNetworked()) + { + ObjectFlags |= OF_Networked; + _networkID = id; + } +} + +void DObject::ClearNetworkID() +{ + ObjectFlags &= ~OF_Networked; + _networkID = NetworkEntityManager::WorldNetID; +} + +void DObject::EnableNetworking(const bool enable) +{ + if (enable) + NetworkEntityManager::AddNetworkEntity(this); + else + NetworkEntityManager::RemoveNetworkEntity(this); +} + +void DObject::RemoveFromNetwork() +{ + NetworkEntityManager::RemoveNetworkEntity(this); +} + +static unsigned int GetNetworkID(DObject* const self) +{ + return self->GetNetworkID(); +} + +DEFINE_ACTION_FUNCTION_NATIVE(DObject, GetNetworkID, GetNetworkID) +{ + PARAM_SELF_PROLOGUE(DObject); + + ACTION_RETURN_INT(self->GetNetworkID()); +} + +static void EnableNetworking(DObject* const self, const bool enable) +{ + self->EnableNetworking(enable); +} + +DEFINE_ACTION_FUNCTION_NATIVE(DObject, EnableNetworking, EnableNetworking) +{ + PARAM_SELF_PROLOGUE(DObject); + PARAM_BOOL(enable); + + self->EnableNetworking(enable); + return 0; +} + +static DObject* GetNetworkEntity(const unsigned int id) +{ + return NetworkEntityManager::GetNetworkEntity(id); +} + +DEFINE_ACTION_FUNCTION_NATIVE(DObject, GetNetworkEntity, GetNetworkEntity) +{ + PARAM_PROLOGUE; + PARAM_UINT(id); + + ACTION_RETURN_OBJECT(NetworkEntityManager::GetNetworkEntity(id)); +} + diff --git a/source/common/objects/dobject.h b/source/common/objects/dobject.h index f193379c11d..c0b6aecb57a 100644 --- a/source/common/objects/dobject.h +++ b/source/common/objects/dobject.h @@ -487,4 +487,25 @@ inline T *&DObject::PointerVar(FName field) return *(T**)ScriptVar(field, nullptr); // pointer check is more tricky and for the handful of uses in the DECORATE parser not worth the hassle. } + +class NetworkEntityManager +{ +private: + inline static TArray s_netEntities = {}; + inline static TArray s_openNetIDs = {}; + +public: + NetworkEntityManager() = delete; + + static constexpr uint32_t WorldNetID = 0u; + static constexpr uint32_t ClientNetIDStart = 1u; + inline static uint32_t NetIDStart;// = MAXPLAYERS + 1u; + + static void InitializeNetworkEntities(); + static void SetClientNetworkEntity(DObject* mo, const unsigned int playNum); + static void AddNetworkEntity(DObject* const ent); + static void RemoveNetworkEntity(DObject* const ent); + static DObject* GetNetworkEntity(const uint32_t id); +}; + #endif //__DOBJECT_H__ diff --git a/source/common/platform/posix/cocoa/i_joystick.cpp b/source/common/platform/posix/cocoa/i_joystick.cpp index a2a27eaff08..44d1fb961b3 100644 --- a/source/common/platform/posix/cocoa/i_joystick.cpp +++ b/source/common/platform/posix/cocoa/i_joystick.cpp @@ -107,6 +107,10 @@ class IOKitJoystick : public IJoystickConfig virtual bool GetEnabled(); virtual void SetEnabled(bool enabled); + bool AllowsEnabledInBackground() { return false; } + bool GetEnabledInBackground() { return false; } + void SetEnabledInBackground(bool enabled) {} + virtual void SetDefaultConfig(); virtual FString GetIdentifier(); diff --git a/source/common/platform/posix/cocoa/i_system.mm b/source/common/platform/posix/cocoa/i_system.mm index cef2d177b62..267bac31d9d 100644 --- a/source/common/platform/posix/cocoa/i_system.mm +++ b/source/common/platform/posix/cocoa/i_system.mm @@ -122,7 +122,7 @@ void I_ShowFatalError(const char *message) } -int I_PickIWad(WadStuff* const wads, const int numwads, const bool showwin, const int defaultiwad, int&) +int I_PickIWad(WadStuff* const wads, const int numwads, const bool showwin, const int defaultiwad, int&, FString&) { if (!showwin) { diff --git a/source/common/platform/posix/i_system.h b/source/common/platform/posix/i_system.h index 02acf0e3e4f..4d800d53b3b 100644 --- a/source/common/platform/posix/i_system.h +++ b/source/common/platform/posix/i_system.h @@ -38,7 +38,7 @@ void I_PrintStr (const char *str); void I_SetIWADInfo (); // Pick from multiple IWADs to use -int I_PickIWad (WadStuff *wads, int numwads, bool queryiwad, int defaultiwad, int&); +int I_PickIWad (WadStuff *wads, int numwads, bool queryiwad, int defaultiwad, int&, FString &); // [RH] Checks the registry for Steam's install path, so we can scan its // directories for IWADs if the user purchased any through Steam. diff --git a/source/common/platform/posix/sdl/i_joystick.cpp b/source/common/platform/posix/sdl/i_joystick.cpp index a7eb59568bd..42837ecba64 100644 --- a/source/common/platform/posix/sdl/i_joystick.cpp +++ b/source/common/platform/posix/sdl/i_joystick.cpp @@ -167,6 +167,10 @@ class SDLInputJoystick: public IJoystickConfig Enabled = enabled; } + bool AllowsEnabledInBackground() { return false; } + bool GetEnabledInBackground() { return false; } + void SetEnabledInBackground(bool enabled) {} + FString GetIdentifier() { char id[16]; diff --git a/source/common/platform/posix/sdl/i_system.cpp b/source/common/platform/posix/sdl/i_system.cpp index 7fa41b2bc78..2c28368b005 100644 --- a/source/common/platform/posix/sdl/i_system.cpp +++ b/source/common/platform/posix/sdl/i_system.cpp @@ -298,7 +298,7 @@ void I_PrintStr(const char *cp) if (StartWindow) RedrawProgressBar(ProgressBarCurPos,ProgressBarMaxPos); } -int I_PickIWad (WadStuff *wads, int numwads, bool showwin, int defaultiwad, int& autoloadflags) +int I_PickIWad (WadStuff *wads, int numwads, bool showwin, int defaultiwad, int& autoloadflags, FString &extraArgs) { if (!showwin) { @@ -308,7 +308,7 @@ int I_PickIWad (WadStuff *wads, int numwads, bool showwin, int defaultiwad, int& #ifdef __APPLE__ return I_PickIWad_Cocoa (wads, numwads, showwin, defaultiwad); #else - return LauncherWindow::ExecModal(wads, numwads, defaultiwad, &autoloadflags); + return LauncherWindow::ExecModal(wads, numwads, defaultiwad, &autoloadflags, &extraArgs); #endif } diff --git a/source/common/platform/win32/i_dijoy.cpp b/source/common/platform/win32/i_dijoy.cpp index 492cbda1486..33c4574c97b 100644 --- a/source/common/platform/win32/i_dijoy.cpp +++ b/source/common/platform/win32/i_dijoy.cpp @@ -183,6 +183,10 @@ class FDInputJoystick : public FInputDevice, IJoystickConfig bool GetEnabled(); void SetEnabled(bool enabled); + bool AllowsEnabledInBackground() { return false; } + bool GetEnabledInBackground() { return false; } + void SetEnabledInBackground(bool enabled) {} + void SetDefaultConfig(); FString GetIdentifier(); diff --git a/source/common/platform/win32/i_input.cpp b/source/common/platform/win32/i_input.cpp index cb945d61e14..45a74fe0c11 100644 --- a/source/common/platform/win32/i_input.cpp +++ b/source/common/platform/win32/i_input.cpp @@ -124,6 +124,9 @@ int BlockMouseMove; static bool EventHandlerResultForNativeMouse; +EXTERN_CVAR(Bool, i_pauseinbackground); + + CVAR (Bool, k_allowfullscreentoggle, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) static void I_CheckGUICapture () @@ -481,8 +484,8 @@ LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) break; case WM_ACTIVATEAPP: - AppActive = wParam == TRUE; - if (wParam) + AppActive = (wParam == TRUE); + if (wParam || !i_pauseinbackground) { SetPriorityClass (GetCurrentProcess (), INGAME_PRIORITY_CLASS); } diff --git a/source/common/platform/win32/i_main.cpp b/source/common/platform/win32/i_main.cpp index 6977055b7fe..acadc2dc823 100644 --- a/source/common/platform/win32/i_main.cpp +++ b/source/common/platform/win32/i_main.cpp @@ -158,7 +158,7 @@ int DoMain (HINSTANCE hInstance) Args->AppendArg(FString(wargv[i])); } - if (Args->CheckParm("-stdout")) + if (Args->CheckParm("-stdout") || Args->CheckParm("-norun")) { // As a GUI application, we don't normally get a console when we start. // If we were run from the shell and are on XP+, we can attach to its diff --git a/source/common/platform/win32/i_mouse.cpp b/source/common/platform/win32/i_mouse.cpp index 72dc3f335c1..e0050cc3ab9 100644 --- a/source/common/platform/win32/i_mouse.cpp +++ b/source/common/platform/win32/i_mouse.cpp @@ -267,7 +267,7 @@ void I_CheckNativeMouse(bool preferNative, bool eventhandlerresult) } else { - if ((GetForegroundWindow() != mainwindow.GetHandle()) || preferNative || !use_mouse) + if (preferNative || !use_mouse) { want_native = true; } @@ -286,6 +286,10 @@ void I_CheckNativeMouse(bool preferNative, bool eventhandlerresult) if (!want_native && eventhandlerresult) want_native = true; + // The application should *never* grab the mouse cursor if its window doesn't have the focus. + if (GetForegroundWindow() != mainwindow.GetHandle()) + want_native = true; + //Printf ("%d %d %d\n", wantNative, preferNative, NativeMouse); if (want_native != NativeMouse) diff --git a/source/common/platform/win32/i_rawps2.cpp b/source/common/platform/win32/i_rawps2.cpp index d406d61ea8d..2f89739bd7d 100644 --- a/source/common/platform/win32/i_rawps2.cpp +++ b/source/common/platform/win32/i_rawps2.cpp @@ -117,6 +117,10 @@ class FRawPS2Controller : public IJoystickConfig bool GetEnabled(); void SetEnabled(bool enabled); + bool AllowsEnabledInBackground() { return false; } + bool GetEnabledInBackground() { return false; } + void SetEnabledInBackground(bool enabled) {} + void SetDefaultConfig(); FString GetIdentifier(); diff --git a/source/common/platform/win32/i_system.cpp b/source/common/platform/win32/i_system.cpp index fe5fada533c..2c7eed495f8 100644 --- a/source/common/platform/win32/i_system.cpp +++ b/source/common/platform/win32/i_system.cpp @@ -353,7 +353,7 @@ static void SetQueryIWad(HWND dialog) // //========================================================================== -int I_PickIWad(WadStuff *wads, int numwads, bool showwin, int defaultiwad, int& autoloadflags) +int I_PickIWad(WadStuff *wads, int numwads, bool showwin, int defaultiwad, int& autoloadflags, FString &extraArgs) { int vkey; if (stricmp(queryiwad_key, "shift") == 0) @@ -370,7 +370,7 @@ int I_PickIWad(WadStuff *wads, int numwads, bool showwin, int defaultiwad, int& } if (showwin || (vkey != 0 && GetAsyncKeyState(vkey))) { - return LauncherWindow::ExecModal(wads, numwads, defaultiwad, &autoloadflags); + return LauncherWindow::ExecModal(wads, numwads, defaultiwad, &autoloadflags, extraArgs); } return defaultiwad; } diff --git a/source/common/platform/win32/i_system.h b/source/common/platform/win32/i_system.h index 9d360b55abc..b70efb78b53 100644 --- a/source/common/platform/win32/i_system.h +++ b/source/common/platform/win32/i_system.h @@ -38,7 +38,7 @@ void I_PrintStr (const char *cp); void I_SetIWADInfo (); // Pick from multiple IWADs to use -int I_PickIWad(WadStuff* wads, int numwads, bool queryiwad, int defaultiwad, int& autoloadflags); +int I_PickIWad(WadStuff* wads, int numwads, bool queryiwad, int defaultiwad, int& autoloadflags, FString &extraArgs); // The ini could not be saved at exit bool I_WriteIniFailed (const char* filename); diff --git a/source/common/platform/win32/i_xinput.cpp b/source/common/platform/win32/i_xinput.cpp index d1dc4364d80..0f3c1923782 100644 --- a/source/common/platform/win32/i_xinput.cpp +++ b/source/common/platform/win32/i_xinput.cpp @@ -65,6 +65,8 @@ #endif #endif +extern bool AppActive; + // TYPES ------------------------------------------------------------------- typedef DWORD (WINAPI *XInputGetStateType)(DWORD index, XINPUT_STATE *state); @@ -105,6 +107,10 @@ class FXInputController : public IJoystickConfig bool GetEnabled(); void SetEnabled(bool enabled); + bool AllowsEnabledInBackground() { return true; } + bool GetEnabledInBackground() { return EnabledInBackground; } + void SetEnabledInBackground(bool enabled) { EnabledInBackground = enabled; } + void SetDefaultConfig(); FString GetIdentifier(); @@ -142,6 +148,7 @@ class FXInputController : public IJoystickConfig int LastButtons; bool Connected; bool Enabled; + bool EnabledInBackground; void Attached(); void Detached(); @@ -744,7 +751,10 @@ void FXInputManager::ProcessInput() { for (int i = 0; i < XUSER_MAX_COUNT; ++i) { - Devices[i]->ProcessInput(); + if(AppActive || Devices[i]->GetEnabledInBackground()) + { + Devices[i]->ProcessInput(); + } } } diff --git a/source/common/rendering/gl_load/gl_load.c b/source/common/rendering/gl_load/gl_load.c index 14aba7a702d..d5ba4e49fef 100644 --- a/source/common/rendering/gl_load/gl_load.c +++ b/source/common/rendering/gl_load/gl_load.c @@ -76,7 +76,7 @@ static void CheckOpenGL(void) { if (opengl32dll == 0) { - opengl32dll = LoadLibrary(L"OpenGL32.DLL"); + opengl32dll = LoadLibraryA("OpenGL32.DLL"); if (opengl32dll != 0) { createcontext = (HGLRC(WINAPI*)(HDC)) GetProcAddress(opengl32dll, "wglCreateContext"); diff --git a/source/common/rendering/hwrenderer/data/hw_cvars.h b/source/common/rendering/hwrenderer/data/hw_cvars.h index cf23649799c..7f84ba09e26 100644 --- a/source/common/rendering/hwrenderer/data/hw_cvars.h +++ b/source/common/rendering/hwrenderer/data/hw_cvars.h @@ -54,3 +54,6 @@ EXTERN_CVAR(Int, gl_shadowmap_filter) EXTERN_CVAR(Bool, gl_brightfog) EXTERN_CVAR(Bool, gl_lightadditivesurfaces) EXTERN_CVAR(Bool, gl_notexturefill) + +EXTERN_CVAR(Bool, r_radarclipper) +EXTERN_CVAR(Bool, r_dithertransparency) diff --git a/source/common/rendering/hwrenderer/data/hw_renderstate.h b/source/common/rendering/hwrenderer/data/hw_renderstate.h index 05fd6bcbf1c..41e4b50a372 100644 --- a/source/common/rendering/hwrenderer/data/hw_renderstate.h +++ b/source/common/rendering/hwrenderer/data/hw_renderstate.h @@ -25,7 +25,7 @@ enum ERenderEffect EFF_SPHEREMAP, EFF_BURN, EFF_STENCIL, - + EFF_DITHERTRANS, MAX_EFFECTS }; diff --git a/source/common/rendering/hwrenderer/data/hw_shaderpatcher.cpp b/source/common/rendering/hwrenderer/data/hw_shaderpatcher.cpp index 9049e5090ee..d32b09e2333 100644 --- a/source/common/rendering/hwrenderer/data/hw_shaderpatcher.cpp +++ b/source/common/rendering/hwrenderer/data/hw_shaderpatcher.cpp @@ -299,6 +299,7 @@ const FEffectShader effectshaders[] = { "spheremap", "shaders/glsl/main.vp", "shaders/glsl/main.fp", "shaders/glsl/func_normal.fp", "shaders/glsl/material_normal.fp", "#define SPHEREMAP\n#define NO_ALPHATEST\n" }, { "burn", "shaders/glsl/main.vp", "shaders/glsl/burn.fp", nullptr, nullptr, "#define SIMPLE\n#define NO_ALPHATEST\n" }, { "stencil", "shaders/glsl/main.vp", "shaders/glsl/stencil.fp", nullptr, nullptr, "#define SIMPLE\n#define NO_ALPHATEST\n" }, + { "dithertrans", "shaders/glsl/main.vp", "shaders/glsl/main.fp", "shaders/glsl/func_normal.fp", "shaders/glsl/material_normal.fp", "#define NO_ALPHATEST\n#define DITHERTRANS\n" }, }; int DFrameBuffer::GetShaderCount() diff --git a/source/common/rendering/hwrenderer/data/hw_vrmodes.cpp b/source/common/rendering/hwrenderer/data/hw_vrmodes.cpp index c51ce2ee901..8cb3c94e5c0 100644 --- a/source/common/rendering/hwrenderer/data/hw_vrmodes.cpp +++ b/source/common/rendering/hwrenderer/data/hw_vrmodes.cpp @@ -146,11 +146,27 @@ float VREyeInfo::getShift() const return vr_swap_eyes ? -res : res; } -VSMatrix VREyeInfo::GetProjection(float fov, float aspectRatio, float fovRatio) const +VSMatrix VREyeInfo::GetProjection(float fov, float aspectRatio, float fovRatio, bool iso_ortho) const { VSMatrix result; - if (mShiftFactor == 0) + if (iso_ortho) // Orthographic projection for isometric viewpoint + { + double zNear = -3.0/fovRatio; // screen->GetZNear(); + double zFar = screen->GetZFar(); + + double fH = tan(DEG2RAD(fov) / 2) / fovRatio; + double fW = fH * aspectRatio * mScaleFactor; + double left = -fW; + double right = fW; + double bottom = -fH; + double top = fH; + + VSMatrix fmat(1); + fmat.ortho((float)left, (float)right, (float)bottom, (float)top, (float)zNear, (float)zFar); + return fmat; + } + else if (mShiftFactor == 0) { float fovy = (float)(2 * RAD2DEG(atan(tan(DEG2RAD(fov) / 2) / fovRatio))); result.perspective(fovy, aspectRatio, screen->GetZNear(), screen->GetZFar()); diff --git a/source/common/rendering/hwrenderer/data/hw_vrmodes.h b/source/common/rendering/hwrenderer/data/hw_vrmodes.h index 26c9fd211ee..98928152018 100644 --- a/source/common/rendering/hwrenderer/data/hw_vrmodes.h +++ b/source/common/rendering/hwrenderer/data/hw_vrmodes.h @@ -27,7 +27,7 @@ struct VREyeInfo float mShiftFactor; float mScaleFactor; - VSMatrix GetProjection(float fov, float aspectRatio, float fovRatio) const; + VSMatrix GetProjection(float fov, float aspectRatio, float fovRatio, bool iso_ortho) const; DVector3 GetViewShift(float yaw) const; private: float getShift() const; diff --git a/source/common/scripting/backend/codegen.cpp b/source/common/scripting/backend/codegen.cpp index 8b3ee306a62..b14fb267cd6 100644 --- a/source/common/scripting/backend/codegen.cpp +++ b/source/common/scripting/backend/codegen.cpp @@ -2828,83 +2828,104 @@ FxExpression *FxAssign::Resolve(FCompileContext &ctx) // Special case: Assignment to a bitfield. IsBitWrite = Base->GetBitValue(); + if (IsBitWrite >= 0x10000) + { + // internal flags - need more here + IsBitWrite &= 0xffff; + } return this; } ExpEmit FxAssign::Emit(VMFunctionBuilder *build) { - static const uint8_t loadops[] = { OP_LK, OP_LKF, OP_LKS, OP_LKP }; - assert(Base->ValueType->GetRegType() == Right->ValueType->GetRegType()); + if (IsBitWrite < 64) + { + static const uint8_t loadops[] = { OP_LK, OP_LKF, OP_LKS, OP_LKP }; + assert(Base->ValueType->GetRegType() == Right->ValueType->GetRegType()); - ExpEmit pointer = Base->Emit(build); - Address = pointer; + ExpEmit pointer = Base->Emit(build); + Address = pointer; - ExpEmit result; - bool intconst = false; - int intconstval = 0; + ExpEmit result; + bool intconst = false; + int intconstval = 0; - if (Right->isConstant() && Right->ValueType->GetRegType() == REGT_INT) - { - intconst = true; - intconstval = static_cast(Right)->GetValue().GetInt(); - result.Konst = true; - result.RegType = REGT_INT; - } - else - { - result = Right->Emit(build); - } - assert(result.RegType <= REGT_TYPE); + if (Right->isConstant() && Right->ValueType->GetRegType() == REGT_INT) + { + intconst = true; + intconstval = static_cast(Right)->GetValue().GetInt(); + result.Konst = true; + result.RegType = REGT_INT; + } + else + { + result = Right->Emit(build); + } + assert(result.RegType <= REGT_TYPE); - if (pointer.Target) - { - if (result.Konst) + if (pointer.Target) { - if (intconst) build->EmitLoadInt(pointer.RegNum, intconstval); - else build->Emit(loadops[result.RegType], pointer.RegNum, result.RegNum); + if (result.Konst) + { + if (intconst) build->EmitLoadInt(pointer.RegNum, intconstval); + else build->Emit(loadops[result.RegType], pointer.RegNum, result.RegNum); + } + else + { + build->Emit(Right->ValueType->GetMoveOp(), pointer.RegNum, result.RegNum); + } } else { - build->Emit(Right->ValueType->GetMoveOp(), pointer.RegNum, result.RegNum); + if (result.Konst) + { + ExpEmit temp(build, result.RegType); + if (intconst) build->EmitLoadInt(temp.RegNum, intconstval); + else build->Emit(loadops[result.RegType], temp.RegNum, result.RegNum); + result.Free(build); + result = temp; + } + + if (IsBitWrite == -1) + { + build->Emit(Base->ValueType->GetStoreOp(), pointer.RegNum, result.RegNum, build->GetConstantInt(0)); + } + else + { + build->Emit(OP_SBIT, pointer.RegNum, result.RegNum, 1 << IsBitWrite); + } } - } - else - { - if (result.Konst) + + if (AddressRequested) { - ExpEmit temp(build, result.RegType); - if (intconst) build->EmitLoadInt(temp.RegNum, intconstval); - else build->Emit(loadops[result.RegType], temp.RegNum, result.RegNum); result.Free(build); - result = temp; + return pointer; } - if (IsBitWrite == -1) - { - build->Emit(Base->ValueType->GetStoreOp(), pointer.RegNum, result.RegNum, build->GetConstantInt(0)); + pointer.Free(build); + + if (intconst) + { //fix int constant return for assignment + return Right->Emit(build); } else { - build->Emit(OP_SBIT, pointer.RegNum, result.RegNum, 1 << IsBitWrite); + return result; } - } - - if (AddressRequested) + else { - result.Free(build); - return pointer; - } + VMFunction* callfunc; + auto sym = FindBuiltinFunction(NAME_HandleDeprecatedFlags); - pointer.Free(build); + assert(sym); + callfunc = sym->Variants[0].Implementation; - if(intconst) - { //fix int constant return for assignment - return Right->Emit(build); - } - else - { - return result; + FunctionCallEmitter emitters(callfunc); + emitters.AddParameter(build, Base); + emitters.AddParameter(build, Right); + emitters.AddParameterIntConst(IsBitWrite - 64); + return emitters.EmitCall(build); } } @@ -2934,23 +2955,40 @@ FxExpression *FxAssignSelf::Resolve(FCompileContext &ctx) ExpEmit FxAssignSelf::Emit(VMFunctionBuilder *build) { - ExpEmit pointer = Assignment->Address; // FxAssign should have already emitted it - if (!pointer.Target) + if (Assignment->IsBitWrite < 64) { - ExpEmit out(build, ValueType->GetRegType(), ValueType->GetRegCount()); - if (Assignment->IsBitWrite != -1) + ExpEmit pointer = Assignment->Address; // FxAssign should have already emitted it + if (!pointer.Target) { - build->Emit(OP_LBIT, out.RegNum, pointer.RegNum, 1 << Assignment->IsBitWrite); + ExpEmit out(build, ValueType->GetRegType(), ValueType->GetRegCount()); + if (Assignment->IsBitWrite == -1) + { + build->Emit(ValueType->GetLoadOp(), out.RegNum, pointer.RegNum, build->GetConstantInt(0)); + } + else + { + build->Emit(OP_LBIT, out.RegNum, pointer.RegNum, 1 << Assignment->IsBitWrite); + } + return out; } else { - build->Emit(ValueType->GetLoadOp(), out.RegNum, pointer.RegNum, build->GetConstantInt(0)); + return pointer; } - return out; } else { - return pointer; + VMFunction* callfunc; + auto sym = FindBuiltinFunction(NAME_CheckDeprecatedFlags); + + assert(sym); + callfunc = sym->Variants[0].Implementation; + + FunctionCallEmitter emitters(callfunc); + emitters.AddParameter(build, Assignment->Base); + emitters.AddParameterIntConst(Assignment->IsBitWrite - 64); + emitters.AddReturn(REGT_INT); + return emitters.EmitCall(build); } } @@ -7728,56 +7766,73 @@ FxExpression *FxStructMember::Resolve(FCompileContext &ctx) ExpEmit FxStructMember::Emit(VMFunctionBuilder *build) { - ExpEmit obj = classx->Emit(build); - assert(obj.RegType == REGT_POINTER); - - if (obj.Konst) + if (membervar->BitValue < 64 || AddressRequested) { - // If the situation where we are dereferencing a constant - // pointer is common, then it would probably be worthwhile - // to add new opcodes for those. But as of right now, I - // don't expect it to be a particularly common case. - ExpEmit newobj(build, REGT_POINTER); - build->Emit(OP_LKP, newobj.RegNum, obj.RegNum); - obj = newobj; - } + ExpEmit obj = classx->Emit(build); + assert(obj.RegType == REGT_POINTER); - if (membervar->Flags & VARF_Meta) - { - obj.Free(build); - ExpEmit meta(build, REGT_POINTER); - build->Emit(OP_META, meta.RegNum, obj.RegNum); - obj = meta; - } + if (obj.Konst) + { + // If the situation where we are dereferencing a constant + // pointer is common, then it would probably be worthwhile + // to add new opcodes for those. But as of right now, I + // don't expect it to be a particularly common case. + ExpEmit newobj(build, REGT_POINTER); + build->Emit(OP_LKP, newobj.RegNum, obj.RegNum); + obj = newobj; + } - if (AddressRequested) - { - if (membervar->Offset == 0) + if (membervar->Flags & VARF_Meta) { - return obj; + obj.Free(build); + ExpEmit meta(build, REGT_POINTER); + build->Emit(OP_META, meta.RegNum, obj.RegNum); + obj = meta; } - obj.Free(build); - ExpEmit out(build, REGT_POINTER); - build->Emit(OP_ADDA_RK, out.RegNum, obj.RegNum, build->GetConstantInt((int)membervar->Offset)); - return out; - } - int offsetreg = build->GetConstantInt((int)membervar->Offset); - ExpEmit loc(build, membervar->Type->GetRegType(), membervar->Type->GetRegCount()); + if (AddressRequested) + { + if (membervar->Offset == 0) + { + return obj; + } + obj.Free(build); + ExpEmit out(build, REGT_POINTER); + build->Emit(OP_ADDA_RK, out.RegNum, obj.RegNum, build->GetConstantInt((int)membervar->Offset)); + return out; + } - if (membervar->BitValue == -1) - { - build->Emit(membervar->Type->GetLoadOp(), loc.RegNum, obj.RegNum, offsetreg); + int offsetreg = build->GetConstantInt((int)membervar->Offset); + ExpEmit loc(build, membervar->Type->GetRegType(), membervar->Type->GetRegCount()); + + if (membervar->BitValue == -1) + { + build->Emit(membervar->Type->GetLoadOp(), loc.RegNum, obj.RegNum, offsetreg); + } + else + { + ExpEmit out(build, REGT_POINTER); + build->Emit(OP_ADDA_RK, out.RegNum, obj.RegNum, offsetreg); + build->Emit(OP_LBIT, loc.RegNum, out.RegNum, 1 << membervar->BitValue); + out.Free(build); + } + obj.Free(build); + return loc; } else { - ExpEmit out(build, REGT_POINTER); - build->Emit(OP_ADDA_RK, out.RegNum, obj.RegNum, offsetreg); - build->Emit(OP_LBIT, loc.RegNum, out.RegNum, 1 << membervar->BitValue); - out.Free(build); + VMFunction* callfunc; + auto sym = FindBuiltinFunction(NAME_CheckDeprecatedFlags); + + assert(sym); + callfunc = sym->Variants[0].Implementation; + + FunctionCallEmitter emitters(callfunc); + emitters.AddParameter(build, classx); + emitters.AddParameterIntConst(membervar->BitValue - 64); + emitters.AddReturn(REGT_INT); + return emitters.EmitCall(build); } - obj.Free(build); - return loc; } @@ -9544,7 +9599,9 @@ FxExpression *FxVMFunctionCall::Resolve(FCompileContext& ctx) if(FnPtrCall) static_cast(ctx.Function->Variants[0].Implementation)->blockJit = true; - int implicit = Function->GetImplicitArgs(); + unsigned implicit = Function->GetImplicitArgs(); + + bool relaxed_named_arugments = (ctx.Version >= MakeVersion(4, 13)); if (!CheckAccessibility(ctx.Version)) { @@ -9576,21 +9633,128 @@ FxExpression *FxVMFunctionCall::Resolve(FCompileContext& ctx) CallingFunction = ctx.Function; if (ArgList.Size() > 0) { - if (argtypes.Size() == 0) + if ((argtypes.Size() == 0) || (argtypes.Last() != nullptr && ArgList.Size() + implicit > argtypes.Size())) { ScriptPosition.Message(MSG_ERROR, "Too many arguments in call to %s", Function->SymbolName.GetChars()); delete this; return nullptr; } + bool isvararg = (argtypes.Last() == nullptr); + + { + TDeletingArray OrderedArgs; + const unsigned count = (argtypes.Size() - implicit) - isvararg; + + OrderedArgs.Resize(count); + memset(OrderedArgs.Data(), 0, sizeof(FxExpression*) * count); + + unsigned index = 0; + unsigned n = ArgList.Size(); + + for(unsigned i = 0; i < n; i++) + { + if(ArgList[i]->ExprType == EFX_NamedNode) + { + if(FnPtrCall) + { + ScriptPosition.Message(MSG_ERROR, "Named arguments not supported in function pointer calls"); + delete this; + return nullptr; + } + else if((index >= count) && isvararg) + { + ScriptPosition.Message(MSG_ERROR, "Cannot use a named argument in the varargs part of the parameter list."); + delete this; + return nullptr; + } + else + { + FName name = static_cast(ArgList[i])->name; + if(argnames[index + implicit] != name) + { + unsigned j; + + for (j = 0; j < count; j++) + { + if (argnames[j + implicit] == name) + { + if(!relaxed_named_arugments && !(argflags[j + implicit] & VARF_Optional)) + { + ScriptPosition.Message(MSG_ERROR, "Cannot use a named argument here - not all required arguments have been passed."); + } + else if(!relaxed_named_arugments && j < index) + { + ScriptPosition.Message(MSG_ERROR, "Named argument %s comes before current position in argument list.", name.GetChars()); + } + + // i don't think this needs any further optimization? + // O(N^2) complexity technically but N isn't likely to be large, + // and the check itself is just an int comparison, so it should be fine + index = j; + + break; + } + } + + if(j == count) + { + ScriptPosition.Message(MSG_ERROR, "Named argument %s not found.", name.GetChars()); + delete this; + return nullptr; + } + } + else if(!relaxed_named_arugments && !(argflags[index + implicit] & VARF_Optional)) + { + ScriptPosition.Message(MSG_ERROR, "Cannot use a named argument here - not all required arguments have been passed."); + } + } + } + + if(index >= count) + { + if(isvararg) + { + OrderedArgs.Push(ArgList[i]); + ArgList[i] = nullptr; + index++; + } + else + { + ScriptPosition.Message(MSG_ERROR, "Too many arguments in call to %s", Function->SymbolName.GetChars()); + delete this; + return nullptr; + } + } + else + { + if(ArgList[i]->ExprType == EFX_NamedNode) + { + auto * node = static_cast(ArgList[i]); + OrderedArgs[index] = node->value; + node->value = nullptr; + } + else + { + OrderedArgs[index] = ArgList[i]; + } + ArgList[i] = nullptr; + index++; + } + } + + ArgList = std::move(OrderedArgs); + } + bool foundvarargs = false; PType * type = nullptr; int flag = 0; - if (argtypes.Size() > 0 && argtypes.Last() != nullptr && ArgList.Size() + implicit > argtypes.Size()) + + int defaults_index = 0; + + for(unsigned i = 0; i < implicit; i++) { - ScriptPosition.Message(MSG_ERROR, "Too many arguments in call to %s", Function->SymbolName.GetChars()); - delete this; - return nullptr; + defaults_index += argtypes[i]->GetRegCount(); } for (unsigned i = 0; i < ArgList.Size(); i++) @@ -9608,94 +9772,45 @@ FxExpression *FxVMFunctionCall::Resolve(FCompileContext& ctx) } assert(type != nullptr); - if (ArgList[i]->ExprType == EFX_NamedNode) + if(!foundvarargs) { - if(FnPtrCall) - { - ScriptPosition.Message(MSG_ERROR, "Named arguments not supported in function pointer calls"); - delete this; - return nullptr; - } - if (!(flag & VARF_Optional)) - { - ScriptPosition.Message(MSG_ERROR, "Cannot use a named argument here - not all required arguments have been passed."); - delete this; - return nullptr; - } - if (foundvarargs) - { - ScriptPosition.Message(MSG_ERROR, "Cannot use a named argument in the varargs part of the parameter list."); - delete this; - return nullptr; - } - unsigned j; - bool done = false; - FName name = static_cast(ArgList[i])->name; - for (j = 0; j < argnames.Size() - implicit; j++) + if(ArgList[i] == nullptr) { - if (argnames[j + implicit] == name) + if(!(flag & VARF_Optional)) { - if (j < i) - { - ScriptPosition.Message(MSG_ERROR, "Named argument %s comes before current position in argument list.", name.GetChars()); - delete this; - return nullptr; - } - // copy the original argument into the list - auto old = static_cast(ArgList[i]); - ArgList[i] = old->value; - old->value = nullptr; - delete old; - // now fill the gap with constants created from the default list so that we got a full list of arguments. - int insert = j - i; - int skipdefs = 0; - // Defaults contain multiple entries for pointers so we need to calculate how much additional defaults we need to skip - for (unsigned k = 0; k < i + implicit; k++) - { - skipdefs += argtypes[k]->GetRegCount() - 1; - } - for (int k = 0; k < insert; k++) + ScriptPosition.Message(MSG_ERROR, "Required argument %s has not been passed in call to %s", argnames[i + implicit].GetChars(), Function->SymbolName.GetChars()); + delete this; + return nullptr; + } + + auto ntype = argtypes[i + implicit]; + // If this is a reference argument, the pointer type must be undone because the code below expects the pointed type as value type. + if (argflags[i + implicit] & VARF_Ref) + { + assert(ntype->isPointer()); + ntype = TypeNullPtr; // the default of a reference type can only be a null pointer + } + if (ntype->GetRegCount() == 1) + { + ArgList[i] = new FxConstant(ntype, (*defaults)[defaults_index], ScriptPosition); + } + else + { + // Vectors need special treatment because they are not normal constants + FxConstant *cs[4] = { nullptr }; + for (int l = 0; l < ntype->GetRegCount(); l++) { - auto ntype = argtypes[i + k + implicit]; - // If this is a reference argument, the pointer type must be undone because the code below expects the pointed type as value type. - if (argflags[i + k + implicit] & VARF_Ref) - { - assert(ntype->isPointer()); - ntype = TypeNullPtr; // the default of a reference type can only be a null pointer - } - if (ntype->GetRegCount() == 1) - { - auto x = new FxConstant(ntype, (*defaults)[i + k + skipdefs + implicit], ScriptPosition); - ArgList.Insert(i + k, x); - } - else - { - // Vectors need special treatment because they are not normal constants - FxConstant *cs[4] = { nullptr }; - for (int l = 0; l < ntype->GetRegCount(); l++) - { - cs[l] = new FxConstant(TypeFloat64, (*defaults)[l + i + k + skipdefs + implicit], ScriptPosition); - } - FxExpression *x = new FxVectorValue(cs[0], cs[1], cs[2], cs[3], ScriptPosition); - ArgList.Insert(i + k, x); - skipdefs += ntype->GetRegCount() - 1; - } + cs[l] = new FxConstant(TypeFloat64, (*defaults)[l + defaults_index], ScriptPosition); } - done = true; - break; + ArgList[i] = new FxVectorValue(cs[0], cs[1], cs[2], cs[3], ScriptPosition); } } - if (!done) - { - ScriptPosition.Message(MSG_ERROR, "Named argument %s not found.", name.GetChars()); - delete this; - return nullptr; - } - // re-get the proper info for the inserted node. - type = argtypes[i + implicit]; - flag = argflags[i + implicit]; + + defaults_index += argtypes[i + implicit]->GetRegCount(); } + assert(ArgList[i]); + FxExpression *x = nullptr; if (foundvarargs && (Function->Variants[0].Flags & VARF_VarArg)) { diff --git a/source/common/scripting/core/types.cpp b/source/common/scripting/core/types.cpp index 8e13dcc521b..b70783f3e1e 100644 --- a/source/common/scripting/core/types.cpp +++ b/source/common/scripting/core/types.cpp @@ -330,7 +330,8 @@ void PType::StaticInit() TypeVoidPtr = NewPointer(TypeVoid, false); TypeRawFunction = new PPointer; - TypeRawFunction->mDescriptiveName = "Raw Function Pointer"; + TypeRawFunction->mDescriptiveName = "Raw Function Pointer"; + TypeTable.AddType(TypeRawFunction, NAME_None); TypeVMFunction = NewPointer(NewStruct("VMFunction", nullptr, true)); TypeColorStruct = NewStruct("@ColorStruct", nullptr); //This name is intentionally obfuscated so that it cannot be used explicitly. The point of this type is to gain access to the single channels of a color value. TypeStringStruct = NewStruct("Stringstruct", nullptr, true); diff --git a/source/common/scripting/interface/stringformat.cpp b/source/common/scripting/interface/stringformat.cpp index e43c1ae24e6..3d7a3c428e7 100644 --- a/source/common/scripting/interface/stringformat.cpp +++ b/source/common/scripting/interface/stringformat.cpp @@ -282,9 +282,9 @@ DEFINE_ACTION_FUNCTION(FStringStruct, DeleteLastCharacter) static void LocalizeString(const FString &label, bool prefixed, FString *result) { - if (!prefixed) *result = GStrings(label); + if (!prefixed) *result = GStrings.GetString(label); else if (label[0] != '$') *result = label; - else *result = GStrings(&label[1]); + else *result = GStrings.GetString(&label[1]); } DEFINE_ACTION_FUNCTION_NATIVE(FStringTable, Localize, LocalizeString) diff --git a/source/common/scripting/interface/vmnatives.cpp b/source/common/scripting/interface/vmnatives.cpp index 48425f64eba..2b57ceb25a3 100644 --- a/source/common/scripting/interface/vmnatives.cpp +++ b/source/common/scripting/interface/vmnatives.cpp @@ -670,7 +670,7 @@ DEFINE_ACTION_FUNCTION_NATIVE(FFont, GetBottomAlignOffset, GetBottomAlignOffset) static int StringWidth(FFont *font, const FString &str, int localize) { - const char *txt = (localize && str[0] == '$') ? GStrings(&str[1]) : str.GetChars(); + const char *txt = (localize && str[0] == '$') ? GStrings.GetString(&str[1]) : str.GetChars(); return font->StringWidth(txt); } @@ -684,7 +684,7 @@ DEFINE_ACTION_FUNCTION_NATIVE(FFont, StringWidth, StringWidth) static int GetMaxAscender(FFont* font, const FString& str, int localize) { - const char* txt = (localize && str[0] == '$') ? GStrings(&str[1]) : str.GetChars(); + const char* txt = (localize && str[0] == '$') ? GStrings.GetString(&str[1]) : str.GetChars(); return font->GetMaxAscender(txt); } @@ -698,7 +698,7 @@ DEFINE_ACTION_FUNCTION_NATIVE(FFont, GetMaxAscender, GetMaxAscender) static int CanPrint(FFont *font, const FString &str, int localize) { - const char *txt = (localize && str[0] == '$') ? GStrings(&str[1]) : str.GetChars(); + const char *txt = (localize && str[0] == '$') ? GStrings.GetString(&str[1]) : str.GetChars(); return font->CanPrint(txt); } @@ -770,6 +770,26 @@ DEFINE_ACTION_FUNCTION_NATIVE(FFont, GetDisplayTopOffset, GetDisplayTopOffset) ACTION_RETURN_FLOAT(GetDisplayTopOffset(self, code)); } +static int GetChar(FFont* font, int c) +{ + int texc = 0; + auto getch = font->GetChar(c, CR_UNDEFINED, nullptr); + if (getch) + texc = getch->GetID().GetIndex(); + return texc; +} + +DEFINE_ACTION_FUNCTION_NATIVE(FFont, GetChar, ::GetChar) +{ + PARAM_SELF_STRUCT_PROLOGUE(FFont); + PARAM_INT(mchar); + + if (numret > 0) ret[0].SetInt(::GetChar(self, mchar)); + if (numret > 1) ret[1].SetInt(self->GetCharWidth(mchar)); + return min(2, numret); +} + + //========================================================================== // // file system @@ -1142,6 +1162,17 @@ DEFINE_ACTION_FUNCTION(_Console, PrintfEx) return 0; } +DEFINE_ACTION_FUNCTION(_Console, DebugPrintf) +{ + PARAM_PROLOGUE; + PARAM_INT(debugLevel); + PARAM_VA_POINTER(va_reginfo); + + FString s = FStringFormat(VM_ARGS_NAMES, 1); + DPrintf(debugLevel, "%s\n", s.GetChars()); + return 0; +} + static void StopAllSounds() { soundEngine->StopAllChannels(); diff --git a/source/common/startscreen/endoom.cpp b/source/common/startscreen/endoom.cpp index 4a7565dbc6b..6e8e7af353d 100644 --- a/source/common/startscreen/endoom.cpp +++ b/source/common/startscreen/endoom.cpp @@ -111,7 +111,7 @@ FEndoomScreen::FEndoomScreen(int loading_lump) StartupBitmap.Create(80 * 8, 26 * 16); // line 26 is for our own 'press any key to quit' message. DrawTextScreen(StartupBitmap, endoom_screen); ClearBlock(StartupBitmap, {0, 0, 0, 255}, 0, 25*16, 640, 16); - DrawString(StartupBitmap, 0, 25, GStrings("TXT_QUITENDOOM"), { 128, 128, 128 ,255}, { 0, 0, 0, 255}); + DrawString(StartupBitmap, 0, 25, GStrings.GetString("TXT_QUITENDOOM"), { 128, 128, 128 ,255}, { 0, 0, 0, 255}); lastUpdateTime = I_msTime(); // Does this screen need blinking? diff --git a/source/common/startscreen/startscreen.cpp b/source/common/startscreen/startscreen.cpp index 65d279bec00..ccca6d9069c 100644 --- a/source/common/startscreen/startscreen.cpp +++ b/source/common/startscreen/startscreen.cpp @@ -372,6 +372,13 @@ FStartScreen* GetGameStartScreen(int max_progress) return nullptr; } +FStartScreen::~FStartScreen() +{ + if (StartupTexture) delete StartupTexture; + if (HeaderTexture) delete HeaderTexture; + if (NetTexture) delete NetTexture; +} + //========================================================================== // // ST_Util_ClearBlock @@ -607,7 +614,7 @@ bool FStartScreen::NetInit(const char* message, int numplayers) { NetMaxPos = numplayers; NetCurPos = 0; - NetMessageString.Format("%s %s", message, GStrings("TXT_NET_PRESSESC")); + NetMessageString.Format("%s %s", message, GStrings.GetString("TXT_NET_PRESSESC")); NetProgress(1); // You always know about yourself return true; } diff --git a/source/common/startscreen/startscreen.h b/source/common/startscreen/startscreen.h index afac6c7594e..c90d092f954 100644 --- a/source/common/startscreen/startscreen.h +++ b/source/common/startscreen/startscreen.h @@ -70,7 +70,7 @@ class FStartScreen FGameTexture* NetTexture = nullptr; public: FStartScreen(int maxp) { MaxPos = maxp; } - virtual ~FStartScreen() = default; + virtual ~FStartScreen(); void Render(bool force = false); bool Progress(int); void NetProgress(int count); diff --git a/source/common/textures/firetexture.cpp b/source/common/textures/firetexture.cpp new file mode 100644 index 00000000000..4a89622f7f2 --- /dev/null +++ b/source/common/textures/firetexture.cpp @@ -0,0 +1,139 @@ +/* +** firetexture.cpp +** PSX/N64-style fire texture implementation +** +**--------------------------------------------------------------------------- +** Copyright Cacodemon345 2024 +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions +** are met: +** +** 1. Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** 2. Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in the +** documentation and/or other materials provided with the distribution. +** 3. The name of the author may not be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +**--------------------------------------------------------------------------- +** +*/ + +/* Algorithm based on https://github.com/fabiensanglard/DoomFirePSX */ + +#include "bitmap.h" +#include "firetexture.h" +#include "m_random.h" +#include "imagehelpers.h" + +#include "engineerrors.h" + +static constexpr int32_t FIRESKY_W = 64; +static constexpr int32_t FIRESKY_H = 128; + +FireTexture::FireTexture() +{ + SetSize(FIRESKY_W, FIRESKY_H); + Image.Clear(); + Image.AppendFill(0, Width * Height); +} + +void FireTexture::SetPalette(TArray& colors) +{ + Palette.Clear(); + Palette.Append(colors); + + /* This shouldn't happen in any circumstances. */ + if (Palette.Size() > 256) + { + I_FatalError("Fire palette too big!"); + } + + for (unsigned int i = 0; i < Width; i++) { + Image[(Height - 1) * Width + i] = (uint8_t)(Palette.Size() - 1); + } +} + +void FireTexture::Update() +{ + for (unsigned int y = 1; y < Height; y++) + { + for (unsigned int x = 0; x < Width; x++) + { + uint8_t srcPixel = Image[y * Width + x]; + + if (srcPixel == 0) + { + Image[(y - 1) * Width + x] = 0; + } + else + { + int XRand = M_Random() & 3; + int destRand = M_Random() & 1; + + Image[(y - 1) * Width + ((x + 1 - XRand) % Width)] = srcPixel - destRand; + } + } + } +} + +FBitmap FireTexture::GetBgraBitmap(const PalEntry* remap, int* trans) +{ + FBitmap bitmap; + bitmap.Create(Width, Height); + uint32_t* pixels = (uint32_t*)bitmap.GetPixels(); + + for (unsigned int y = 0; y < Height; y++) + { + for (unsigned int x = 0; x < Width; x++) + { + pixels[y * Width + x] = Palette[Image[y * Width + x]]; + } + } + + return bitmap; +} + +TArray FireTexture::Get8BitPixels(bool alphatex) +{ + FBitmap bitmap = GetBgraBitmap(nullptr, nullptr); + const uint8_t* data = bitmap.GetPixels(); + + uint8_t* dest_p; + int dest_adv = Height; + int dest_rew = Width * Height - 1; + + TArray Pixels(Width * Height); + dest_p = Pixels.Data(); + + bool doalpha = alphatex; + // Convert the source image from row-major to column-major format and remap it + for (int y = Height; y != 0; --y) + { + for (int x = Width; x != 0; --x) + { + int b = *data++; + int g = *data++; + int r = *data++; + int a = *data++; + if (a < 128) *dest_p = 0; + else *dest_p = ImageHelpers::RGBToPalette(doalpha, r, g, b); + dest_p += dest_adv; + } + dest_p -= dest_rew; + } + return Pixels; +} diff --git a/source/common/textures/firetexture.h b/source/common/textures/firetexture.h new file mode 100644 index 00000000000..3ea6d967d13 --- /dev/null +++ b/source/common/textures/firetexture.h @@ -0,0 +1,17 @@ +#pragma once + +#include "textures.h" + + +class FireTexture : public FTexture +{ + TArray Image; + TArray Palette; + +public: + FireTexture(); + void SetPalette(TArray& colors); + void Update(); + virtual FBitmap GetBgraBitmap(const PalEntry* remap, int* trans) override; + virtual TArray Get8BitPixels(bool alphatex) override; +}; \ No newline at end of file diff --git a/source/common/textures/image.cpp b/source/common/textures/image.cpp index 83f7450ebec..95ee7d23cc4 100644 --- a/source/common/textures/image.cpp +++ b/source/common/textures/image.cpp @@ -306,7 +306,8 @@ void FImageSource::EndPrecaching() void FImageSource::RegisterForPrecache(FImageSource *img, bool requiretruecolor) { - img->CollectForPrecache(precacheInfo, requiretruecolor); + if (img) + img->CollectForPrecache(precacheInfo, requiretruecolor); } //========================================================================== diff --git a/source/common/textures/texturemanager.cpp b/source/common/textures/texturemanager.cpp index 10a3d3367de..1173f61be05 100644 --- a/source/common/textures/texturemanager.cpp +++ b/source/common/textures/texturemanager.cpp @@ -378,7 +378,7 @@ FGameTexture *FTextureManager::FindGameTexture(const char *texname, ETextureType bool FTextureManager::OkForLocalization(FTextureID texnum, const char *substitute, int locmode) { uint32_t langtable = 0; - if (*substitute == '$') substitute = GStrings.GetString(substitute+1, &langtable); + if (*substitute == '$') substitute = GStrings.CheckString(substitute+1, &langtable); else return true; // String literals from the source data should never override graphics from the same definition. if (substitute == nullptr) return true; // The text does not exist. diff --git a/source/common/utility/cmdlib.cpp b/source/common/utility/cmdlib.cpp index 5933a91d558..3b8dc9981fb 100644 --- a/source/common/utility/cmdlib.cpp +++ b/source/common/utility/cmdlib.cpp @@ -593,6 +593,26 @@ void CreatePath(const char *fn) } #endif +void RemoveFile(const char* file) +{ +#ifndef _WIN32 + remove(file); +#else + auto wpath = WideString(file); + _wremove(wpath.c_str()); +#endif +} + +int RemoveDir(const char* file) +{ +#ifndef _WIN32 + return rmdir(file); +#else + auto wpath = WideString(file); + return _wrmdir(wpath.c_str()); +#endif +} + //========================================================================== // // strbin -- In-place version diff --git a/source/common/utility/cmdlib.h b/source/common/utility/cmdlib.h index df779a975a2..88027c1565a 100644 --- a/source/common/utility/cmdlib.h +++ b/source/common/utility/cmdlib.h @@ -71,6 +71,8 @@ int strbin (char *str); FString strbin1 (const char *start); void CreatePath(const char * fn); +void RemoveFile(const char* file); +int RemoveDir(const char* file); FString ExpandEnvVars(const char *searchpathstring); FString NicePath(const char *path); diff --git a/source/common/utility/m_argv.cpp b/source/common/utility/m_argv.cpp index b9b05c3e9b8..0e8946058dc 100644 --- a/source/common/utility/m_argv.cpp +++ b/source/common/utility/m_argv.cpp @@ -189,7 +189,7 @@ int FArgs::CheckParmList(const char *check, FString **strings, int start) const } for (i = ++parmat; i < Argv.Size(); ++i) { - if (Argv[i][0] == '-' || Argv[i][1] == '+') + if (Argv[i][0] == '-' || Argv[i][0] == '+') { break; } @@ -345,6 +345,114 @@ void FArgs::AppendArgs(int argc, const FString *argv) } } +//=========================================================================== +// +// FArgs :: AppendArgsString +// +// Adds extra args as a space-separated string, supporting simple quoting, and inserting -file args into the right place +// +//=========================================================================== + + +void FArgs::AppendArgsString(FString argv) +{ + auto file_index = Argv.Find("-file"); + auto files_end = file_index + 1; + + for (; files_end < Argv.Size() && Argv[files_end][0] != '-' && Argv[files_end][0] != '+'; ++files_end); + + if(file_index == Argv.Size()) + { + Argv.Push("-file"); + } + + bool inserting_file = true; + + argv.StripLeftRight(); + + size_t i = 0; + size_t lastSection = 0; + size_t lastStart = 0; + char lastQuoteType = 0; + + FString tmp; + bool has_tmp = false; + + for(i = 0; i < argv.Len(); i++) + { + if(argv[i] == ' ') + { + FString arg = tmp + argv.Mid(lastSection, i - lastSection); + + if(arg[0] == '-' || arg[0] == '+') inserting_file = false; + + if(inserting_file) + { + Argv.Insert(files_end++, arg); + } + else if(arg.Compare("-file") == 0) + { + inserting_file = true; + } + else + { + files_end++; + Argv.Insert(file_index++, arg); + } + + lastSection = i + 1; + tmp = ""; + has_tmp = false; + for(;(i + 1) < argv.Len() && argv[i + 1] == ' '; i++, lastSection++); + lastStart = i + 1; + } + else if(argv[i] == '\'' || argv[i] == '"') + { + lastQuoteType = argv[i]; + tmp += argv.Mid(lastSection, i - lastSection); + has_tmp = true; + bool wasSlash = false; + + for(i++; (argv[i] != lastQuoteType || wasSlash) && i < argv.Len(); i++) + { + if(i == '\\' && !wasSlash) + { + wasSlash = true; + } + else + { + tmp += argv[i]; + wasSlash = false; + } + } + lastSection = i + 1; + } + } + + if(lastSection != i) + { // ended on an unquoted section + FString arg = tmp + argv.Mid(lastSection); + if(inserting_file) + { + Argv.Insert(files_end, arg); + } + else if(arg.Compare("-file") != 0) + { + Argv.Insert(file_index, arg); + } + } + else if(has_tmp) + { // ended on a quote + if(inserting_file) + { + Argv.Insert(files_end, tmp); + } + else if(tmp.Compare("-file") != 0) + { + Argv.Insert(file_index, tmp); + } + } +} //=========================================================================== // // FArgs :: RemoveArg diff --git a/source/common/utility/m_argv.h b/source/common/utility/m_argv.h index 9537697038b..d12da9a5fc8 100644 --- a/source/common/utility/m_argv.h +++ b/source/common/utility/m_argv.h @@ -85,6 +85,7 @@ class FArgs void AppendArg(FString arg); void AppendArgs(int argc, const FString *argv); + void AppendArgsString(FString argv); void RemoveArg(int argindex); void RemoveArgs(const char *check); void SetArgs(int argc, char **argv); diff --git a/source/common/utility/m_bbox.h b/source/common/utility/m_bbox.h index f117c290b92..7f622a6ba9f 100644 --- a/source/common/utility/m_bbox.h +++ b/source/common/utility/m_bbox.h @@ -72,6 +72,13 @@ class FBoundingBox m_Box[BOXTOP] = pos.Y; } + bool CheckOverlap(const FBoundingBox &box2) + { + bool hori = (Left() > box2.Right()) || (Right() < box2.Left()); + bool vert = (Bottom() > box2.Top()) || (Top() < box2.Bottom()); + return !(hori || vert); // [DVR] For alternative space partition + } + inline double Top () const { return m_Box[BOXTOP]; } inline double Bottom () const { return m_Box[BOXBOTTOM]; } inline double Left () const { return m_Box[BOXLEFT]; } diff --git a/source/common/utility/tarray.h b/source/common/utility/tarray.h index bce3ba3ea1c..3445bd48409 100644 --- a/source/common/utility/tarray.h +++ b/source/common/utility/tarray.h @@ -919,6 +919,7 @@ class TDeletingArray : public TArray TDeletingArray(TDeletingArray &&other) : TArray(std::move(other)) {} TDeletingArray &operator=(TDeletingArray &&other) { + DeleteAndClear(); TArray::operator=(std::move(other)); return *this; } diff --git a/source/common/utility/vectors.h b/source/common/utility/vectors.h index 77e41d2a9e4..47eb597938f 100644 --- a/source/common/utility/vectors.h +++ b/source/common/utility/vectors.h @@ -1019,6 +1019,45 @@ struct TVector4 } }; +inline void ZeroSubnormalsF(double& num) +{ + if (fabs(num) < FLT_MIN) num = 0; +} + +inline void ZeroSubnormals(double& num) +{ + if (fabs(num) < DBL_MIN) num = 0; +} + +inline void ZeroSubnormals(float& num) +{ + if (fabsf(num) < FLT_MIN) num = 0; +} + +template +inline void ZeroSubnormals(TVector2& vec) +{ + ZeroSubnormals(vec.X); + ZeroSubnormals(vec.Y); +} + +template +inline void ZeroSubnormals(TVector3& vec) +{ + ZeroSubnormals(vec.X); + ZeroSubnormals(vec.Y); + ZeroSubnormals(vec.Z); +} + +template +inline void ZeroSubnormals(TVector4& vec) +{ + ZeroSubnormals(vec.X); + ZeroSubnormals(vec.Y); + ZeroSubnormals(vec.Z); + ZeroSubnormals(vec.W); +} + template struct TMatrix3x3 { diff --git a/source/common/utility/writezip.cpp b/source/common/utility/writezip.cpp index 2f3507e6f03..de89779c074 100644 --- a/source/common/utility/writezip.cpp +++ b/source/common/utility/writezip.cpp @@ -40,6 +40,7 @@ #include "m_swap.h" #include "w_zip.h" #include "fs_decompress.h" +#include "cmdlib.h" using FileSys::FCompressedBuffer; @@ -201,7 +202,7 @@ bool WriteZip(const char* filename, const FCompressedBuffer* content, size_t con if (pos == -1) { delete f; - remove(filename); + RemoveFile(filename); return false; } positions.Push(pos); @@ -213,7 +214,7 @@ bool WriteZip(const char* filename, const FCompressedBuffer* content, size_t con if (AppendCentralDirectory(f, content[i], dostime, positions[i]) < 0) { delete f; - remove(filename); + RemoveFile(filename); return false; } } @@ -230,7 +231,7 @@ bool WriteZip(const char* filename, const FCompressedBuffer* content, size_t con if (f->Write(&dirend, sizeof(dirend)) != sizeof(dirend)) { delete f; - remove(filename); + RemoveFile(filename); return false; } delete f; diff --git a/source/common/utility/zstring.cpp b/source/common/utility/zstring.cpp index ecd0dc7e63e..488c09eb6e8 100644 --- a/source/common/utility/zstring.cpp +++ b/source/common/utility/zstring.cpp @@ -1089,6 +1089,12 @@ octdigits = [0-7]; ("0" octdigits+ | "0" [xX] hexdigits+ | (digits \ '0') digits*) { return true; } [\000-\377] { return false; }*/ + + //FIX for "0" returning false, doesn't fix 0 with whitespace, but that isn't necessary for savegame loading, so it'll need to be fixed later + if(Len() == 1 && Chars[0] == '0') return true; + + + const char *YYCURSOR = Chars; char yych; diff --git a/source/common/utility/zstring.h b/source/common/utility/zstring.h index 93d67902152..28402771233 100644 --- a/source/common/utility/zstring.h +++ b/source/common/utility/zstring.h @@ -128,6 +128,7 @@ class FString FString (FString &&other) noexcept : Chars(other.Chars) { other.ResetToNull(); } FString (const char *copyStr); FString (const char *copyStr, size_t copyLen); + FString (const std::string &s) : FString(s.c_str(), s.length()) {} FString (char oneChar); FString(const TArray & source) : FString(source.Data(), source.Size()) {} FString(const TArray & source) : FString((char*)source.Data(), source.Size()) {} diff --git a/source/common/widgets/widgetresourcedata.cpp b/source/common/widgets/widgetresourcedata.cpp index 85ee3e2498e..13f1519324c 100644 --- a/source/common/widgets/widgetresourcedata.cpp +++ b/source/common/widgets/widgetresourcedata.cpp @@ -21,6 +21,7 @@ void InitWidgetResources(const char* filename) void CloseWidgetResources() { if (WidgetResources) delete WidgetResources; + WidgetResources = nullptr; } static std::vector LoadFile(const char* name) diff --git a/source/core/automap.cpp b/source/core/automap.cpp index 524c30d0a46..a60accd6c3c 100644 --- a/source/core/automap.cpp +++ b/source/core/automap.cpp @@ -87,7 +87,7 @@ CCMD(allmap) if (!CheckCheatmode(true, false)) { gFullMap = !gFullMap; - Printf("%s\n", GStrings(gFullMap ? "SHOW MAP: ON" : "SHOW MAP: OFF")); + Printf("%s\n", GStrings.GetString(gFullMap ? "SHOW MAP: ON" : "SHOW MAP: OFF")); } } @@ -105,7 +105,7 @@ CCMD(togglefollow) { am_followplayer = !am_followplayer; auto msg = quoteMgr.GetQuote(am_followplayer ? 84 : 83); - if (!msg || !*msg) msg = am_followplayer ? GStrings("FOLLOW MODE ON") : GStrings("FOLLOW MODE Off"); + if (!msg || !*msg) msg = am_followplayer ? GStrings.GetString("FOLLOW MODE ON") : GStrings.GetString("FOLLOW MODE Off"); Printf(PRINT_NOTIFY, "%s\n", msg); if (am_followplayer) follow.X = INT_MAX; } @@ -113,7 +113,7 @@ CCMD(togglefollow) CCMD(togglerotate) { am_rotate = !am_rotate; - auto msg = am_rotate ? GStrings("TXT_ROTATE_ON") : GStrings("TXT_ROTATE_OFF"); + auto msg = am_rotate ? GStrings.GetString("TXT_ROTATE_ON") : GStrings.GetString("TXT_ROTATE_OFF"); Printf(PRINT_NOTIFY, "%s\n", msg); } diff --git a/source/core/cheats.cpp b/source/core/cheats.cpp index 55173f29607..9c7e710ad8f 100644 --- a/source/core/cheats.cpp +++ b/source/core/cheats.cpp @@ -103,7 +103,7 @@ void genericCheat(int player, uint8_t** stream, bool skip) Printf(PRINT_NOTIFY, "%s\n", msg); else { - FString message = GStrings("TXT_X_CHEATS"); + FString message = GStrings.GetString("TXT_X_CHEATS"); //message.Substitute("%s", player->userinfo.GetName()); // fixme - make globally accessible Printf(PRINT_NOTIFY, "%s: %s\n", message.GetChars(), msg); } diff --git a/source/core/console/c_notifybuffer.cpp b/source/core/console/c_notifybuffer.cpp index 2b084c6f0b6..90528f42ad4 100644 --- a/source/core/console/c_notifybuffer.cpp +++ b/source/core/console/c_notifybuffer.cpp @@ -175,7 +175,7 @@ static bool printNative() // Blood originally uses its tiny font for the notify display which does not play along well with localization because it is too small, so for non-English switch to the text font. if (con_notify_advanced) return false; if (!isBlood()) return true; - auto p = GStrings["REQUIRED_CHARACTERS"]; + auto p = GStrings.CheckString("REQUIRED_CHARACTERS"); if (p && *p) return false; return true; } diff --git a/source/core/ct_chat.cpp b/source/core/ct_chat.cpp index 87833f24d86..396b154656e 100644 --- a/source/core/ct_chat.cpp +++ b/source/core/ct_chat.cpp @@ -226,7 +226,7 @@ void CT_Drawer (void) if (chatmodeon) { - FStringf prompt("%s ", GStrings("TXT_SAY")); + FStringf prompt("%s ", GStrings.GetString("TXT_SAY")); int x, scalex, y, promptwidth; @@ -356,7 +356,7 @@ static void ShoveChatStr (const char *str, uint8_t who) Net_WriteString(MakeUTF8(substBuff)); } #else - Printf("%s %s\n", GStrings("TXT_SAY"), str); + Printf("%s %s\n", GStrings.GetString("TXT_SAY"), str); #endif } } diff --git a/source/core/gamecontrol.cpp b/source/core/gamecontrol.cpp index 6f9c1792d2d..485f5a3f4da 100644 --- a/source/core/gamecontrol.cpp +++ b/source/core/gamecontrol.cpp @@ -194,11 +194,6 @@ CUSTOM_CVAR(Int, cl_gender, 0, CVAR_ARCHIVE | CVAR_GLOBALCONFIG) if (self < 0 || self > 3) self = 0; } -int StrTable_GetGender() -{ - return cl_gender; -} - bool validFilter(const char* str); extern int chatmodeon; @@ -600,7 +595,6 @@ int GameMain() nullptr, System_DispatchEvent, validFilter, - StrTable_GetGender, System_MenuClosed, nullptr, nullptr, @@ -829,7 +823,8 @@ static TArray SetupGame() if (autoloadbrightmaps) flags |= 4; if (autoloadwidescreen) flags |= 8; - pick = I_PickIWad(&wads[0], (int)wads.Size(), queryiwad, pick, flags); + FString extraArgs; + pick = I_PickIWad(&wads[0], (int)wads.Size(), queryiwad, pick, flags, extraArgs); if (pick >= 0) { disableautoload = !!(flags & 1); @@ -1620,7 +1615,7 @@ void TITLE_InformName(const char* newname) { LevelName = newname; if (newname[0] == '$') - LevelName = GStrings(newname + 1); + LevelName = GStrings.GetString(newname + 1); I_UpdateWindowTitle(); } diff --git a/source/core/gamecvars.cpp b/source/core/gamecvars.cpp index 737860d7d46..f0e0f4ed17b 100644 --- a/source/core/gamecvars.cpp +++ b/source/core/gamecvars.cpp @@ -235,7 +235,7 @@ CCMD(togglemouseaim) in_mousemode = !in_mousemode; if (!silentmouseaimtoggle) { - Printf(PRINT_MEDIUM|PRINT_NOTIFY, "%s\n", in_mousemode? GStrings("TXT_MOUSEAIMON") : GStrings("TXT_MOUSEAIMOFF")); + Printf(PRINT_MEDIUM|PRINT_NOTIFY, "%s\n", in_mousemode? GStrings.GetString("TXT_MOUSEAIMON") : GStrings.GetString("TXT_MOUSEAIMOFF")); } } diff --git a/source/core/mapinfo.h b/source/core/mapinfo.h index 27a7f06e334..67a4867c42e 100644 --- a/source/core/mapinfo.h +++ b/source/core/mapinfo.h @@ -157,7 +157,7 @@ struct MapRecord const char* LabelName() const { - if (flags & MI_USERMAP) return GStrings("MNU_USERMAP"); + if (flags & MI_USERMAP) return GStrings.GetString("MNU_USERMAP"); return labelName.GetChars(); } const char *DisplayName() const @@ -181,7 +181,7 @@ struct MapRecord const char* GetMessage(int num) { if (num < 0 || num>= MAX_MESSAGES) return ""; - return GStrings(messages[num]); + return GStrings.GetString(messages[num]); } void AddMessage(int num, const FString &msg) diff --git a/source/core/menu/razemenu.cpp b/source/core/menu/razemenu.cpp index 790e610580d..911653c7f91 100644 --- a/source/core/menu/razemenu.cpp +++ b/source/core/menu/razemenu.cpp @@ -98,7 +98,7 @@ static bool DoStartGame(FNewGameStartup& gs) if (isShareware() && (vol->flags & VF_SHAREWARELOCK)) { - M_StartMessage(GStrings("SHAREWARELOCK"), 1, NAME_None); + M_StartMessage(GStrings.GetString("SHAREWARELOCK"), 1, NAME_None); return false; } @@ -164,7 +164,7 @@ bool M_SetSpecialMenu(FName& menu, int param) if (!gi->CanSave()) { // cannot save outside the game. - M_StartMessage(GStrings("SAVEDEAD"), 1, NAME_None); + M_StartMessage(GStrings.GetString("SAVEDEAD"), 1, NAME_None); return true; } break; @@ -234,7 +234,7 @@ CCMD(menu_quit) M_StartControlPanel(true); FString EndString; - EndString << GStrings("CONFIRM_QUITMSG") << "\n\n" << GStrings("PRESSYN"); + EndString << GStrings.GetString("CONFIRM_QUITMSG") << "\n\n" << GStrings.GetString("PRESSYN"); DMenu* newmenu = CreateMessageBoxMenu(CurrentMenu, EndString.GetChars(), 0, false, NAME_None, []() { @@ -260,7 +260,7 @@ CCMD(menu_endgame) M_StartControlPanel(true); FString tempstring; - tempstring << GStrings("ENDGAME") << "\n\n" << GStrings("PRESSYN"); + tempstring << GStrings.GetString("ENDGAME") << "\n\n" << GStrings.GetString("PRESSYN"); DMenu* newmenu = CreateMessageBoxMenu(CurrentMenu, tempstring.GetChars(), 0, false, NAME_None, []() { STAT_Cancel(); @@ -305,7 +305,7 @@ CCMD(quicksave) return; } - FString tempstring = GStrings("QSPROMPT"); + FString tempstring = GStrings.GetString("QSPROMPT"); tempstring.Substitute("%s", slot->SaveTitle.GetChars()); M_StartControlPanel(true); @@ -329,7 +329,7 @@ CCMD(quickload) if (netgame) { M_StartControlPanel(true); - M_StartMessage(GStrings("QLOADNET"), 1); + M_StartMessage(GStrings.GetString("QLOADNET"), 1); return; } @@ -348,7 +348,7 @@ CCMD(quickload) G_LoadGame(savegameManager.quickSaveSlot->Filename.GetChars()); return; } - FString tempstring = GStrings("QLPROMPT"); + FString tempstring = GStrings.GetString("QLPROMPT"); tempstring.Substitute("%s", savegameManager.quickSaveSlot->SaveTitle.GetChars()); M_StartControlPanel(true); diff --git a/source/core/quotes.cpp b/source/core/quotes.cpp index 395914ee4ee..8014a8a650e 100644 --- a/source/core/quotes.cpp +++ b/source/core/quotes.cpp @@ -44,7 +44,7 @@ void Quotes::MakeStringLabel(FString "e) { // Only prepend a quote if the string is localizable. - if (quote.Len() > 0 && quote[0] != '$' && GStrings[quote.GetChars()]) quote.Insert(0, "$"); + if (quote.Len() > 0 && quote[0] != '$' && GStrings.CheckString(quote.GetChars())) quote.Insert(0, "$"); } void Quotes::InitializeQuote(int num, const char *text, bool fromscript) diff --git a/source/core/razefont.cpp b/source/core/razefont.cpp index 7d3421e6554..605a65816dc 100644 --- a/source/core/razefont.cpp +++ b/source/core/razefont.cpp @@ -189,8 +189,8 @@ FFont* PickBigFont(const char* txt) { if (generic_ui) return NewSmallFont; // Note: Support is incomplete. Translations do not exist anyway for most content. if (!OriginalBigFont || OriginalBigFont == BigFont) return BigFont; - if (txt && *txt == '$') txt = GStrings[txt + 1]; - if (!txt || !*txt) txt = GStrings["REQUIRED_CHARACTERS"]; + if (txt && *txt == '$') txt = GStrings.CheckString(txt + 1); + if (!txt || !*txt) txt = GStrings.CheckString("REQUIRED_CHARACTERS"); if (!txt || !*txt || BigFont->CanPrint(txt)) return BigFont; return OriginalBigFont; } @@ -212,8 +212,8 @@ FFont* PickSmallFont(const char* txt) { if (generic_ui) return NewSmallFont; // Note: Support is incomplete. Translations do not exist anyway for most content. if (!OriginalSmallFont || OriginalSmallFont == SmallFont) return SmallFont; - if (txt && *txt == '$') txt = GStrings[txt + 1]; - if (!txt || !*txt) txt = GStrings["REQUIRED_CHARACTERS"]; + if (txt && *txt == '$') txt = GStrings.CheckString(txt + 1); + if (!txt || !*txt) txt = GStrings.CheckString("REQUIRED_CHARACTERS"); if (!txt || !*txt || SmallFont->CanPrint(txt)) return SmallFont; return OriginalSmallFont; } diff --git a/source/core/rendering/hw_entrypoint.cpp b/source/core/rendering/hw_entrypoint.cpp index 4a456756609..42b740306d5 100644 --- a/source/core/rendering/hw_entrypoint.cpp +++ b/source/core/rendering/hw_entrypoint.cpp @@ -153,7 +153,7 @@ void RenderViewpoint(FRenderViewpoint& mainvp, IntRect* bounds, float fov, float di->Viewpoint.FieldOfView = FAngle::fromDeg(fov); // Set the real FOV for the current scene (it's not necessarily the same as the global setting in r_viewpoint) // Stereo mode specific perspective projection - di->VPUniforms.mProjectionMatrix = eye.GetProjection(fov, ratio, fovratio); + di->VPUniforms.mProjectionMatrix = eye.GetProjection(fov, ratio, fovratio, false); // Stereo mode specific viewpoint adjustment if (eye.mShiftFactor != 0) diff --git a/source/core/savegamehelp.cpp b/source/core/savegamehelp.cpp index f7363d3ee98..a05952a6a32 100644 --- a/source/core/savegamehelp.cpp +++ b/source/core/savegamehelp.cpp @@ -291,7 +291,7 @@ static bool CheckSingleFile (const char *name, bool &printRequires, bool printwa { if (!printRequires) { - Printf ("%s:\n%s", GStrings("TXT_SAVEGAMENEEDS"), name); + Printf ("%s:\n%s", GStrings.GetString("TXT_SAVEGAMENEEDS"), name); } else { @@ -790,15 +790,15 @@ void G_SaveGame(const char* filename, const char* description) { if (sendsave || gameaction == ga_savegame) { - Printf("%s\n", GStrings("TXT_SAVEPENDING")); + Printf("%s\n", GStrings.GetString("TXT_SAVEPENDING")); } else if (gamestate != GS_LEVEL) { - Printf("%s\n", GStrings("TXT_NOTINLEVEL")); + Printf("%s\n", GStrings.GetString("TXT_NOTINLEVEL")); } else if (!gi->CanSave()) { - Printf("%s\n", GStrings("TXT_SPPLAYERDEAD")); + Printf("%s\n", GStrings.GetString("TXT_SPPLAYERDEAD")); } else { @@ -844,7 +844,7 @@ void G_DoSaveGame(bool ok4q, bool forceq, const char* fn, const char* desc) if (WriteSavegame(fn, desc)) { savegameManager.NotifyNewSave(fn, desc, ok4q, forceq); - Printf(PRINT_NOTIFY, "%s\n", GStrings("GGSAVED")); + Printf(PRINT_NOTIFY, "%s\n", GStrings.GetString("GGSAVED")); BackupSaveGame = fn; } } diff --git a/source/core/secrets.cpp b/source/core/secrets.cpp index 1bbebf0acd6..b440bfb1dfa 100644 --- a/source/core/secrets.cpp +++ b/source/core/secrets.cpp @@ -91,7 +91,7 @@ CCMD(secret) { FString levelname; auto cc = currentLevel->name.GetChars(); - if (*cc == '$') cc = GStrings[cc + 1]; + if (*cc == '$') cc = GStrings.CheckString(cc + 1); if (thislevel) levelname.Format("%s - %s", mapname, cc); else levelname = mapname; Printf(TEXTCOLOR_YELLOW "%s\n", levelname.GetChars()); diff --git a/source/core/version.h b/source/core/version.h index 5a50b37b58f..61bf61244df 100644 --- a/source/core/version.h +++ b/source/core/version.h @@ -60,6 +60,7 @@ const char *GetVersionString(); #define GAMENAME "Raze" #define WGAMENAME L"Raze" #define GAMENAMELOWERCASE "raze" +#define QUERYIWADDEFAULT true #define FORUM_URL "http://forum.zdoom.org/" #define BUGS_FORUM_URL "http://forum.zdoom.org/viewforum.php?f=340" #define ENGINERES_FILE GAMENAMELOWERCASE ".pk3" diff --git a/source/core/vmstubs.cpp b/source/core/vmstubs.cpp index dbad66e7791..683504532f5 100644 --- a/source/core/vmstubs.cpp +++ b/source/core/vmstubs.cpp @@ -5,18 +5,3 @@ bool ShouldAllowGameSpecificVirtual(FName name, unsigned index, PType* arg, PTyp { return false; } - -void DObject::EnableNetworking(const bool enable) -{ - return; -} - -void DObject::RemoveFromNetwork(void) -{ - return; -} - -void DObject::ClearNetworkID() -{ - return; -} \ No newline at end of file diff --git a/source/games/blood/src/eventq.cpp b/source/games/blood/src/eventq.cpp index ed6fe4f207c..75a7f3fde61 100644 --- a/source/games/blood/src/eventq.cpp +++ b/source/games/blood/src/eventq.cpp @@ -257,7 +257,7 @@ void evSend(EventObject& eob, int rxId, COMMAND_ID command, DBloodActor* initiat if (gGameOptions.nGameType == 0) { - viewSetMessage(GStrings(FStringf("TXTB_SECRET%d", Random(2))), nullptr, MESSAGE_PRIORITY_SECRET); + viewSetMessage(GStrings.GetString(FStringf("TXTB_SECRET%d", Random(2))), nullptr, MESSAGE_PRIORITY_SECRET); } } } diff --git a/source/games/blood/src/messages.cpp b/source/games/blood/src/messages.cpp index bb5f138d9e9..5c1d2375ea2 100644 --- a/source/games/blood/src/messages.cpp +++ b/source/games/blood/src/messages.cpp @@ -50,14 +50,14 @@ const char* SetGodMode(DBloodPlayer* pPlayer, bool god) { playerSetGodMode(pPlayer, god); bPlayerCheated = true; - return pPlayer->godMode ? GStrings("TXTB_GODMODE") : GStrings("TXTB_NOTGODMODE"); + return pPlayer->godMode ? GStrings.GetString("TXTB_GODMODE") : GStrings.GetString("TXTB_NOTGODMODE"); } const char* SetClipMode(bool noclip) { gNoClip = noclip; bPlayerCheated = true; - return gNoClip ? GStrings("TXTB_NOCLIP") : GStrings("TXTB_NOCLIPOFF"); + return gNoClip ? GStrings.GetString("TXTB_NOCLIP") : GStrings.GetString("TXTB_NOCLIPOFF"); } void packStuff(DBloodPlayer* pPlayer) @@ -82,13 +82,13 @@ void SetAmmo(DBloodPlayer* pPlayer, bool stat) { for (int i = 0; i < 12; i++) pPlayer->ammoCount[i] = gAmmoInfo[i].max; - viewSetMessage(GStrings("TXTB_FULLAMMO")); + viewSetMessage(GStrings.GetString("TXTB_FULLAMMO")); } else { for (int i = 0; i < 12; i++) pPlayer->ammoCount[i] = 0; - viewSetMessage(GStrings("TXTB_NOAMMO")); + viewSetMessage(GStrings.GetString("TXTB_NOAMMO")); } } @@ -100,7 +100,7 @@ void SetWeapons(DBloodPlayer* pPlayer, bool stat) } SetAmmo(pPlayer, stat); if (stat) - viewSetMessage(GStrings("TXTB_ALLWEAP")); + viewSetMessage(GStrings.GetString("TXTB_ALLWEAP")); else { if (!VanillaMode()) @@ -110,7 +110,7 @@ void SetWeapons(DBloodPlayer* pPlayer, bool stat) pPlayer->curWeapon = kWeapNone; pPlayer->nextWeapon = kWeapPitchFork; } - viewSetMessage(GStrings("TXTB_NOWEAP")); + viewSetMessage(GStrings.GetString("TXTB_NOWEAP")); } } @@ -119,12 +119,12 @@ void SetToys(DBloodPlayer* pPlayer, bool stat) if (stat) { packStuff(pPlayer); - viewSetMessage(GStrings("TXTB_FULLINV")); + viewSetMessage(GStrings.GetString("TXTB_FULLINV")); } else { packClear(pPlayer); - viewSetMessage(GStrings("TXTB_NOINV")); + viewSetMessage(GStrings.GetString("TXTB_NOINV")); } } @@ -133,12 +133,12 @@ void SetArmor(DBloodPlayer* pPlayer, bool stat) int nAmount; if (stat) { - viewSetMessage(GStrings("TXTB_FULLARM")); + viewSetMessage(GStrings.GetString("TXTB_FULLARM")); nAmount = 3200; } else { - viewSetMessage(GStrings("TXTB_NOARM")); + viewSetMessage(GStrings.GetString("TXTB_NOARM")); nAmount = 0; } for (int i = 0; i < 3; i++) @@ -150,27 +150,27 @@ void SetKeys(DBloodPlayer* pPlayer, bool stat) for (int i = 1; i <= 7; i++) pPlayer->hasKey[i] = stat; if (stat) - viewSetMessage(GStrings("TXTB_ALLKEYS")); + viewSetMessage(GStrings.GetString("TXTB_ALLKEYS")); else - viewSetMessage(GStrings("TXTB_NOKEYS")); + viewSetMessage(GStrings.GetString("TXTB_NOKEYS")); } void SetInfiniteAmmo(bool stat) { gInfiniteAmmo = stat; if (gInfiniteAmmo) - viewSetMessage(GStrings("TXTB_INFAMMO")); + viewSetMessage(GStrings.GetString("TXTB_INFAMMO")); else - viewSetMessage(GStrings("TXTB_LIMAMMO")); + viewSetMessage(GStrings.GetString("TXTB_LIMAMMO")); } void SetMap(bool stat) { gFullMap = stat; if (gFullMap) - viewSetMessage(GStrings("TXTB_ALLMAP")); + viewSetMessage(GStrings.GetString("TXTB_ALLMAP")); else - viewSetMessage(GStrings("TXTB_NOALLMAP")); + viewSetMessage(GStrings.GetString("TXTB_NOALLMAP")); } void SetWooMode(DBloodPlayer* pPlayer, bool stat) @@ -200,7 +200,7 @@ void ToggleBoots(DBloodPlayer* pPlayer) { if (powerupCheck(pPlayer, kPwUpJumpBoots)) { - viewSetMessage(GStrings("TXTB_NOJBOOTS")); + viewSetMessage(GStrings.GetString("TXTB_NOJBOOTS")); if (!VanillaMode()) { pPlayer->pwUpTime[kPwUpJumpBoots] = 0; @@ -210,7 +210,7 @@ void ToggleBoots(DBloodPlayer* pPlayer) } else { - viewSetMessage(GStrings("TXTB_JBOOTS")); + viewSetMessage(GStrings.GetString("TXTB_JBOOTS")); if (!VanillaMode()) pPlayer->pwUpTime[kPwUpJumpBoots] = gPowerUpInfo[kPwUpJumpBoots].bonusTime; powerupActivate(pPlayer, kPwUpJumpBoots); @@ -221,14 +221,14 @@ void ToggleInvisibility(DBloodPlayer* pPlayer) { if (powerupCheck(pPlayer, kPwUpShadowCloak)) { - viewSetMessage(GStrings("TXTB_VISIBLE")); + viewSetMessage(GStrings.GetString("TXTB_VISIBLE")); if (!VanillaMode()) pPlayer->pwUpTime[kPwUpShadowCloak] = 0; powerupDeactivate(pPlayer, kPwUpShadowCloak); } else { - viewSetMessage(GStrings("TXTB_INVISIBLE")); + viewSetMessage(GStrings.GetString("TXTB_INVISIBLE")); powerupActivate(pPlayer, kPwUpShadowCloak); } } @@ -237,14 +237,14 @@ void ToggleInvulnerability(DBloodPlayer* pPlayer) { if (powerupCheck(pPlayer, kPwUpDeathMask)) { - viewSetMessage(GStrings("TXTB_VULN")); + viewSetMessage(GStrings.GetString("TXTB_VULN")); if (!VanillaMode()) pPlayer->pwUpTime[kPwUpDeathMask] = 0; powerupDeactivate(pPlayer, kPwUpDeathMask); } else { - viewSetMessage(GStrings("TXTB_INVULN")); + viewSetMessage(GStrings.GetString("TXTB_INVULN")); powerupActivate(pPlayer, kPwUpDeathMask); } } @@ -253,14 +253,14 @@ void ToggleDelirium(DBloodPlayer* pPlayer) { if (powerupCheck(pPlayer, kPwUpDeliriumShroom)) { - viewSetMessage(GStrings("TXTB_NODELIR")); + viewSetMessage(GStrings.GetString("TXTB_NODELIR")); if (!VanillaMode()) pPlayer->pwUpTime[kPwUpDeliriumShroom] = 0; powerupDeactivate(pPlayer, kPwUpDeliriumShroom); } else { - viewSetMessage(GStrings("TXTB_DELIR")); + viewSetMessage(GStrings.GetString("TXTB_DELIR")); powerupActivate(pPlayer, kPwUpDeliriumShroom); } } @@ -323,18 +323,18 @@ const char* GameInterface::GenericCheat(int player, int cheat) break; case kCheatKevorkian: actDamageSprite(pPlayer->GetActor(), pPlayer->GetActor(), kDamageBullet, 8000); - return GStrings("TXTB_KEVORKIAN"); + return GStrings.GetString("TXTB_KEVORKIAN"); case kCheatMcGee: { if (!pPlayer->GetActor()->xspr.burnTime) evPostActor(pPlayer->GetActor(), 0, kCallbackFXFlameLick); actBurnSprite(pPlayer->GetActor(), pPlayer->GetActor(), 2400); - return GStrings("TXTB_FIRED"); + return GStrings.GetString("TXTB_FIRED"); } case kCheatEdmark: actDamageSprite(pPlayer->GetActor(), pPlayer->GetActor(), kDamageExplode, 8000); - return GStrings("TXTB_THEDAYS"); + return GStrings.GetString("TXTB_THEDAYS"); case kCheatKrueger: { @@ -343,7 +343,7 @@ const char* GameInterface::GenericCheat(int player, int cheat) if (!pPlayer->GetActor()->xspr.burnTime) evPostActor(pPlayer->GetActor(), 0, kCallbackFXFlameLick); actBurnSprite(pPlayer->GetActor(), pPlayer->GetActor(), 2400); - return GStrings("TXTB_RETARD"); + return GStrings.GetString("TXTB_RETARD"); } case kCheatSterno: pPlayer->blindEffect = 250; @@ -357,7 +357,7 @@ const char* GameInterface::GenericCheat(int player, int cheat) case kCheatClarice: for (int i = 0; i < 3; i++) pPlayer->armor[i] = 1600; - return GStrings("TXTB_HALFARMOR"); + return GStrings.GetString("TXTB_HALFARMOR"); case kCheatFrankenstein: pPlayer->packSlots[0].curAmount = 100; break; diff --git a/source/games/blood/src/player.cpp b/source/games/blood/src/player.cpp index bff8d2363eb..6e987bad410 100644 --- a/source/games/blood/src/player.cpp +++ b/source/games/blood/src/player.cpp @@ -1339,17 +1339,17 @@ void PickUp(DBloodPlayer* pPlayer, DBloodActor* actor) if (nType >= kItemBase && nType <= kItemMax) { pickedUp = PickupItem(pPlayer, actor); - if (pickedUp && customMsg == -1) msg = GStrings(FStringf("TXTB_ITEM%02d", int(nType - kItemBase + 1))); + if (pickedUp && customMsg == -1) msg = GStrings.GetString(FStringf("TXTB_ITEM%02d", int(nType - kItemBase + 1))); } else if (nType >= kItemAmmoBase && nType < kItemAmmoMax) { pickedUp = PickupAmmo(pPlayer, actor); - if (pickedUp && customMsg == -1) msg = GStrings(FStringf("TXTB_AMMO%02d", int(nType - kItemAmmoBase + 1))); + if (pickedUp && customMsg == -1) msg = GStrings.GetString(FStringf("TXTB_AMMO%02d", int(nType - kItemAmmoBase + 1))); } else if (nType >= kItemWeaponBase && nType < kItemWeaponMax) { pickedUp = PickupWeapon(pPlayer, actor); - if (pickedUp && customMsg == -1) msg = GStrings(FStringf("TXTB_WPN%02d", int(nType - kItemWeaponBase + 1))); + if (pickedUp && customMsg == -1) msg = GStrings.GetString(FStringf("TXTB_WPN%02d", int(nType - kItemWeaponBase + 1))); } if (!pickedUp) return; @@ -1618,7 +1618,7 @@ void ProcessInput(DBloodPlayer* pPlayer) int key = pXSector->Key; if (pXSector->locked && pPlayer->pnum == myconnectindex) { - viewSetMessage(GStrings("TXTB_LOCKED")); + viewSetMessage(GStrings.GetString("TXTB_LOCKED")); auto snd = 3062; if (sndCheckPlaying(snd)) sndStopSample(snd); @@ -1628,7 +1628,7 @@ void ProcessInput(DBloodPlayer* pPlayer) trTriggerSector(pSector, kCmdSpritePush); else if (pPlayer->pnum == myconnectindex) { - viewSetMessage(GStrings("TXTB_KEY")); + viewSetMessage(GStrings.GetString("TXTB_KEY")); auto snd = 3063; if (sndCheckPlaying(snd)) sndStopSample(snd); @@ -1643,7 +1643,7 @@ void ProcessInput(DBloodPlayer* pPlayer) int key = pXWall->key; if (pXWall->locked && pPlayer->pnum == myconnectindex) { - viewSetMessage(GStrings("TXTB_LOCKED")); + viewSetMessage(GStrings.GetString("TXTB_LOCKED")); auto snd = 3062; if (sndCheckPlaying(snd)) sndStopSample(snd); @@ -1653,7 +1653,7 @@ void ProcessInput(DBloodPlayer* pPlayer) trTriggerWall(pWall, kCmdWallPush); else if (pPlayer->pnum == myconnectindex) { - viewSetMessage(GStrings("TXTB_KEY")); + viewSetMessage(GStrings.GetString("TXTB_KEY")); auto snd = 3063; if (sndCheckPlaying(snd)) sndStopSample(snd); @@ -1671,7 +1671,7 @@ void ProcessInput(DBloodPlayer* pPlayer) trTriggerSprite(act, kCmdSpritePush); else if (pPlayer->pnum == myconnectindex) { - viewSetMessage(GStrings("TXTB_KEY")); + viewSetMessage(GStrings.GetString("TXTB_KEY")); sndStartSample(3063, 255, 2, 0); } break; @@ -1918,7 +1918,7 @@ void playerFrag(DBloodPlayer* pKiller, DBloodPlayer* pVictim) int nSound = gSuicide[nMessage].Kills; if (pVictim->pnum == myconnectindex && pVictim->handTime <= 0) { - strcpy(buffer, GStrings("TXTB_KILLSELF")); + strcpy(buffer, GStrings.GetString("TXTB_KILLSELF")); if (gGameOptions.nGameType > 0 && nSound >= 0) sndStartSample(nSound, 255, 2, 0); } @@ -2310,7 +2310,7 @@ void PlayerSurvive(int, DBloodActor* actor) { DBloodPlayer* pPlayer = getPlayer(actor->spr.type - kDudePlayer1); if (pPlayer->pnum == myconnectindex) - viewSetMessage(GStrings("TXT_LIVEAGAIM")); + viewSetMessage(GStrings.GetString("TXT_LIVEAGAIM")); else { snprintf(buffer, sizeof(buffer), "%s lives again!", PlayerName(pPlayer->pnum)); diff --git a/source/games/blood/src/view.cpp b/source/games/blood/src/view.cpp index 72f24ee26e3..69d0cb5a297 100644 --- a/source/games/blood/src/view.cpp +++ b/source/games/blood/src/view.cpp @@ -737,7 +737,7 @@ void viewDrawScreen(bool sceneonly) viewDrawAimedPlayerName(pPlayer); if (paused) { - auto text = GStrings("TXTB_PAUSED"); + auto text = GStrings.GetString("TXTB_PAUSED"); viewDrawText(PickBigFont(text), text, 160, 10, 0, 0, 1, 0); } else if (pPlayer->pnum != myconnectindex) diff --git a/source/games/duke/src/cheats.cpp b/source/games/duke/src/cheats.cpp index fcf6898d1a3..6fc2aaaf3ed 100644 --- a/source/games/duke/src/cheats.cpp +++ b/source/games/duke/src/cheats.cpp @@ -133,7 +133,7 @@ static const char * cheatMonsters() static char textbuf[64]; if (++actor_tog == 3) actor_tog = 0; static const char* s[] = { "OPTVAL_ON", "OPTVAL_OFF", "TXT_ON2" }; - mysnprintf(textbuf, 64, "%s: %s", GStrings("NETMNU_MONSTERS"), GStrings(s[actor_tog])); + mysnprintf(textbuf, 64, "%s: %s", GStrings.GetString("NETMNU_MONSTERS"), GStrings.GetString(s[actor_tog])); return textbuf; } diff --git a/source/games/duke/src/game_misc.cpp b/source/games/duke/src/game_misc.cpp index 724e361954d..7f3610faa07 100644 --- a/source/games/duke/src/game_misc.cpp +++ b/source/games/duke/src/game_misc.cpp @@ -282,7 +282,7 @@ void drawoverlays(double interpfrac) { double x = 160, y = 100; double scale = isRR() ? 0.4 : 1.; - const char* text = GStrings("Game Paused"); + const char* text = GStrings.GetString("Game Paused"); auto myfont = PickBigFont(text); x -= myfont->StringWidth(text) * 0.5 * scale; DrawText(twod, myfont, CR_UNTRANSLATED, x, y - 12, text, DTA_FullscreenScale, FSMode_Fit320x200, DTA_ScaleX, scale, DTA_ScaleY, scale, TAG_DONE); diff --git a/source/games/duke/src/gameexec.cpp b/source/games/duke/src/gameexec.cpp index 48cd26b0b48..e46e7af08d1 100644 --- a/source/games/duke/src/gameexec.cpp +++ b/source/games/duke/src/gameexec.cpp @@ -1874,7 +1874,7 @@ int ParseState::parse(void) case concmd_move: g_ac->counter=0; insptr++; - g_ac->curMove = &moves[*insptr >= 0 && *insptr < moves.Size() ? *insptr : 0]; + g_ac->curMove = &moves[*insptr >= 0 && *insptr < moves.SSize() ? *insptr : 0]; insptr++; g_ac->spr.hitag = *insptr; insptr++; diff --git a/source/games/duke/src/spawn.cpp b/source/games/duke/src/spawn.cpp index 9a083475fa3..ebbf07d16e3 100644 --- a/source/games/duke/src/spawn.cpp +++ b/source/games/duke/src/spawn.cpp @@ -88,7 +88,7 @@ static void initanimations(DDukeActor* act) act->actioncounter = act->curframe = 0; ndx = LookupMove(act->GetClass(), ainf->DefaultMove); - act->curMove = &moves[ndx >= 0 && ndx < moves.Size() ? ndx : 0]; + act->curMove = &moves[ndx >= 0 && ndx < moves.SSize() ? ndx : 0]; if (ainf->DefaultMoveflags && act->spr.hitag == 0) act->spr.hitag = ainf->DefaultMoveflags; } @@ -96,7 +96,7 @@ static void initanimations(DDukeActor* act) { auto sa = &ScriptCode[coninf->scriptaddress]; act->curAction = &actions[sa[1]]; - act->curMove = &moves[sa[2] >= 0 && sa[2] < moves.Size() ? sa[2] : 0]; + act->curMove = &moves[sa[2] >= 0 && sa[2] < moves.SSize() ? sa[2] : 0]; int s3 = sa[3]; if (s3 && act->spr.hitag == 0) act->spr.hitag = s3; diff --git a/source/games/duke/src/vmexports.cpp b/source/games/duke/src/vmexports.cpp index d02e6e2d5f3..d5287f25fbc 100644 --- a/source/games/duke/src/vmexports.cpp +++ b/source/games/duke/src/vmexports.cpp @@ -772,9 +772,9 @@ void Duke_SetAI(DDukeActor* self, int intname) auto ai = &ais[ndx]; assert(!(ai->move & 0x80000000)); assert(!(ai->action & 0x80000000)); - if (ai->move < 0 || ai->move >= moves.SSize()) ThrowAbortException(X_ARRAY_OUT_OF_BOUNDS, "Bad 'move' index"); + if (ai->move >= moves.Size()) ThrowAbortException(X_ARRAY_OUT_OF_BOUNDS, "Bad 'move' index"); self->curMove = &moves[ai->move]; - if (ai->action < 0 || ai->action >= actions.SSize()) ThrowAbortException(X_ARRAY_OUT_OF_BOUNDS, "Bad 'action' index"); + if (ai->action >= actions.Size()) ThrowAbortException(X_ARRAY_OUT_OF_BOUNDS, "Bad 'action' index"); self->curAction = &actions[ai->action]; self->spr.hitag = ai->moveflags; self->curAI = ai->name; diff --git a/source/games/exhumed/src/2d.cpp b/source/games/exhumed/src/2d.cpp index 62753c1566d..b0f4f603370 100644 --- a/source/games/exhumed/src/2d.cpp +++ b/source/games/exhumed/src/2d.cpp @@ -303,7 +303,7 @@ DEFINE_ACTION_FUNCTION(_Exhumed, DrawPlasma) void TextOverlay::Create(const FString& text, int pal) { lastclock = 0; - FString ttext = GStrings(text); + FString ttext = GStrings.GetString(text); font = PickSmallFont(ttext.GetChars()); screentext = ttext.Split("\n"); ComputeCinemaText(); @@ -329,7 +329,7 @@ void TextOverlay::ComputeCinemaText() void TextOverlay::ReadyCinemaText(const char* nVal) { - FString label = nVal[0] == '$'? GStrings(nVal +1) : nVal; + FString label = nVal[0] == '$'? GStrings.GetString(nVal +1) : nVal; Create(label, 0); } diff --git a/source/games/exhumed/src/cheats.cpp b/source/games/exhumed/src/cheats.cpp index bfea379e896..2314c6aaad8 100644 --- a/source/games/exhumed/src/cheats.cpp +++ b/source/games/exhumed/src/cheats.cpp @@ -64,7 +64,7 @@ static const char* GodCheat(DExhumedPlayer* const pPlayer, int state) } else pPlayer->invincibility = -state; - return GStrings(pPlayer->invincibility ? "TXT_EX_DEITYON" : "TXT_EX_DEITYOFF"); + return GStrings.GetString(pPlayer->invincibility ? "TXT_EX_DEITYON" : "TXT_EX_DEITYOFF"); } //--------------------------------------------------------------------------- @@ -78,12 +78,12 @@ static const char* SlipCheat() if (bSlipMode == false) { bSlipMode = true; - return GStrings("TXT_EX_SLIPON"); + return GStrings.GetString("TXT_EX_SLIPON"); } else { bSlipMode = false; - return GStrings("TXT_EX_SLIPOFF"); + return GStrings.GetString("TXT_EX_SLIPOFF"); } } @@ -132,13 +132,13 @@ static bool HollyCheat(cheatseq_t* c) static bool KimberlyCheat(cheatseq_t* c) { - Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_SWEETIE")); + Printf(PRINT_NOTIFY, "%s\n", GStrings.GetString("TXT_EX_SWEETIE")); return true; } static bool LiteCheat(cheatseq_t* c) { - Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_FLASHES")); + Printf(PRINT_NOTIFY, "%s\n", GStrings.GetString("TXT_EX_FLASHES")); bDoFlashes = !bDoFlashes; g_visibility = 1024 + 512 - g_visibility; // let there be light - for real! return true; @@ -157,11 +157,11 @@ static bool SnakeCheat(cheatseq_t* c) if (bSnakeCam == false) { bSnakeCam = true; - Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_SNAKEON")); + Printf(PRINT_NOTIFY, "%s\n", GStrings.GetString("TXT_EX_SNAKEON")); } else { bSnakeCam = false; - Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_SNAKEOFF")); + Printf(PRINT_NOTIFY, "%s\n", GStrings.GetString("TXT_EX_SNAKEOFF")); } } return true; @@ -175,7 +175,7 @@ static bool SnakeCheat(cheatseq_t* c) static bool SphereCheat(cheatseq_t* c) { - Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_FULLMAP")); + Printf(PRINT_NOTIFY, "%s\n", GStrings.GetString("TXT_EX_FULLMAP")); gFullMap = !gFullMap; // only set the cheat flag so it can be toggled. bShowTowers = gFullMap; return true; @@ -257,17 +257,17 @@ static void cmd_Give(int player, uint8_t** stream, bool skip) if (buttons & kButtonCheatGuns) // LOBOCOP cheat { FillWeapons(pPlayer); - if (player == myconnectindex) Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_WEAPONS")); + if (player == myconnectindex) Printf(PRINT_NOTIFY, "%s\n", GStrings.GetString("TXT_EX_WEAPONS")); } if (buttons & kButtonCheatKeys) // LOBOPICK cheat { pPlayer->keys = 0xFFFF; - if (player == myconnectindex) Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_KEYS")); + if (player == myconnectindex) Printf(PRINT_NOTIFY, "%s\n", GStrings.GetString("TXT_EX_KEYS")); } if (buttons & kButtonCheatItems) // LOBOSWAG cheat { FillItems(pPlayer); - if (player == myconnectindex) Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_ITEMS")); + if (player == myconnectindex) Printf(PRINT_NOTIFY, "%s\n", GStrings.GetString("TXT_EX_ITEMS")); } } diff --git a/source/games/exhumed/src/gameloop.cpp b/source/games/exhumed/src/gameloop.cpp index 6d54a10f688..ecb722bd47d 100644 --- a/source/games/exhumed/src/gameloop.cpp +++ b/source/games/exhumed/src/gameloop.cpp @@ -85,7 +85,7 @@ void GameInterface::Render() if (paused && !M_Active()) { - auto tex = GStrings("TXTB_PAUSED"); + auto tex = GStrings.GetString("TXTB_PAUSED"); auto font = PickSmallFont(tex); int nStringWidth = font->StringWidth(tex); DrawText(twod, font, CR_UNTRANSLATED, 160 - nStringWidth / 2, 100, tex, DTA_FullscreenScale, FSMode_Fit320x200, TAG_DONE); diff --git a/source/games/exhumed/src/lighting.cpp b/source/games/exhumed/src/lighting.cpp index 250535b2e26..ee7692aefd0 100644 --- a/source/games/exhumed/src/lighting.cpp +++ b/source/games/exhumed/src/lighting.cpp @@ -805,7 +805,7 @@ void SetTorch(DExhumedPlayer* const pPlayer, int bTorchOnOff) } const char* buf = bTorch ? "TXT_EX_TORCHLIT" : "TXT_EX_TORCHOUT"; - StatusMessage(150, GStrings(buf)); + StatusMessage(150, GStrings.GetString(buf)); } //--------------------------------------------------------------------------- diff --git a/source/games/exhumed/src/object.cpp b/source/games/exhumed/src/object.cpp index a7898e0013e..96597ba5ae7 100644 --- a/source/games/exhumed/src/object.cpp +++ b/source/games/exhumed/src/object.cpp @@ -1741,11 +1741,11 @@ void ExplodeEnergyBlock(DExhumedActor* pActor) if (nEnergyTowers == 1) { runlist_ChangeChannel(nEnergyChan, nEnergyTowers); - StatusMessage(1000, GStrings("TXT_EX_TAKEOUT")); + StatusMessage(1000, GStrings.GetString("TXT_EX_TAKEOUT")); } else if (nEnergyTowers != 0) { - FString msg = GStrings("TXT_EX_TOWERSREMAIN"); + FString msg = GStrings.GetString("TXT_EX_TOWERSREMAIN"); msg.Substitute("%d", std::to_string(nEnergyTowers).c_str()); StatusMessage(500, msg.GetChars()); } diff --git a/source/games/exhumed/src/player.cpp b/source/games/exhumed/src/player.cpp index dacc616144f..1323e9f7624 100644 --- a/source/games/exhumed/src/player.cpp +++ b/source/games/exhumed/src/player.cpp @@ -491,7 +491,7 @@ static void pickupMessage(int no) if (no != -1) { FStringf label("TXT_EX_PICKUP%d", no + 1); - auto str = GStrings[label.GetChars()]; + auto str = GStrings.CheckString(label.GetChars()); if (str) Printf(PRINT_NOTIFY, "%s\n", str); } } @@ -1343,7 +1343,7 @@ static void doPlayerCounters(DExhumedPlayer* const pPlayer) pPlayer->nDouble--; if (pPlayer->nDouble == 150 && bConsolePlayer) - PlayAlert(GStrings("TXT_EX_WEAPONEX")); + PlayAlert(GStrings.GetString("TXT_EX_WEAPONEX")); } if (pPlayer->nInvisible > 0) @@ -1359,7 +1359,7 @@ static void doPlayerCounters(DExhumedPlayer* const pPlayer) } else if (pPlayer->nInvisible == 150 && bConsolePlayer) { - PlayAlert(GStrings("TXT_EX_INVISEX")); + PlayAlert(GStrings.GetString("TXT_EX_INVISEX")); } } @@ -1368,7 +1368,7 @@ static void doPlayerCounters(DExhumedPlayer* const pPlayer) pPlayer->invincibility--; if (pPlayer->invincibility == 150 && bConsolePlayer) - PlayAlert(GStrings("TXT_EX_INVINCEX")); + PlayAlert(GStrings.GetString("TXT_EX_INVINCEX")); } if (pPlayer->nMaskAmount > 0 && pPlayer->nHealth > 0) @@ -1376,7 +1376,7 @@ static void doPlayerCounters(DExhumedPlayer* const pPlayer) pPlayer->nMaskAmount--; if (pPlayer->nMaskAmount == 150 && bConsolePlayer) - PlayAlert(GStrings("TXT_EX_MASKEX")); + PlayAlert(GStrings.GetString("TXT_EX_MASKEX")); } if (pPlayer->nQuake != 0) diff --git a/source/games/exhumed/src/switch.cpp b/source/games/exhumed/src/switch.cpp index 556857ef5ac..077438890fe 100644 --- a/source/games/exhumed/src/switch.cpp +++ b/source/games/exhumed/src/switch.cpp @@ -558,7 +558,7 @@ void AISWPressSector::Use(RunListEvent* ev) { PlayFXAtXYZ(StaticSound[nSwitchSound], pPlayer->GetActor()->spr.pos, CHANF_LISTENERZ); - StatusMessage(300, GStrings("TXT_EX_NEEDKEY")); + StatusMessage(300, GStrings.GetString("TXT_EX_NEEDKEY")); } } diff --git a/source/games/sw/src/cheats.cpp b/source/games/sw/src/cheats.cpp index 88afbb121bd..4a359b0f89d 100644 --- a/source/games/sw/src/cheats.cpp +++ b/source/games/sw/src/cheats.cpp @@ -69,7 +69,7 @@ const char *GameInterface::CheckCheatMode() { if (Skill >= 3 && !sv_cheats) { - return GStrings("TXTS_TOOSKILLFUL"); + return GStrings.GetString("TXTS_TOOSKILLFUL"); } return nullptr; } @@ -80,19 +80,19 @@ const char *GameInterface::GenericCheat(int player, int cheat) { case CHT_GOD: GodMode ^= 1; // fixme: Make god mode a player property. - return GStrings(GodMode ? "GOD MODE: ON" : "GOD MODE: OFF"); + return GStrings.GetString(GodMode ? "GOD MODE: ON" : "GOD MODE: OFF"); case CHT_GODOFF: GodMode = 0; // fixme: Make god mode a player property. - return GStrings("GOD MODE: OFF"); + return GStrings.GetString("GOD MODE: OFF"); case CHT_GODON: GodMode = 1; // fixme: Make god mode a player property. - return GStrings("GOD MODE: ON"); + return GStrings.GetString("GOD MODE: ON"); case CHT_NOCLIP: getPlayer(player)->Flags ^= PF_CLIP_CHEAT; - return GStrings(getPlayer(player)->Flags & PF_CLIP_CHEAT ? "CLIPPING: OFF" : "CLIPPING: ON"); + return GStrings.GetString(getPlayer(player)->Flags & PF_CLIP_CHEAT ? "CLIPPING: OFF" : "CLIPPING: ON"); case CHT_FLY: ToggleFlyMode = true; @@ -146,7 +146,7 @@ bool MapCheat(cheatseq_t* c) if (!(pp=checkCheat(c))) return false; gFullMap = !gFullMap; // Need to do this differently. The code here was completely broken. - PutStringInfo(pp, GStrings(gFullMap ? "TXTS_AMON" : "TXTS_AMOFF")); + PutStringInfo(pp, GStrings.GetString(gFullMap ? "TXTS_AMON" : "TXTS_AMOFF")); return true; } @@ -193,7 +193,7 @@ bool WinPachinkoCheat(cheatseq_t* c) return false; Pachinko_Win_Cheat = !Pachinko_Win_Cheat; - PutStringInfo(getPlayer(myconnectindex), GStrings(Pachinko_Win_Cheat ? "TXTS_WINPACHINKOEN" : "TXTS_WINPACHINKODIS")); + PutStringInfo(getPlayer(myconnectindex), GStrings.GetString(Pachinko_Win_Cheat ? "TXTS_WINPACHINKOEN" : "TXTS_WINPACHINKODIS")); return true; } @@ -209,7 +209,7 @@ bool BunnyCheat(cheatseq_t* c) return false; sw_bunnyrockets = !sw_bunnyrockets; - PutStringInfo(getPlayer(myconnectindex), GStrings(sw_bunnyrockets ? "TXTS_BUNNYENABLED" : "TXTS_BUNNYDISABLED")); + PutStringInfo(getPlayer(myconnectindex), GStrings.GetString(sw_bunnyrockets ? "TXTS_BUNNYENABLED" : "TXTS_BUNNYDISABLED")); return true; } @@ -290,7 +290,7 @@ static void WeaponCheat(int player) static void ItemCheat(int player) { auto p = getPlayer(player); - PutStringInfo(p, GStrings("GIVING EVERYTHING!")); + PutStringInfo(p, GStrings.GetString("GIVING EVERYTHING!")); memset(p->HasKey, true, sizeof(p->HasKey)); p->WpnShotgunAuto = 50; @@ -341,7 +341,7 @@ static void cmd_Give(int player, uint8_t** stream, bool skip) if (getPlayer(player)->GetActor()->user.Health < getPlayer(player)->MaxHealth) { getPlayer(player)->GetActor()->user.Health += 25; - PutStringInfo(getPlayer(player), GStrings("TXTS_ADDEDHEALTH")); + PutStringInfo(getPlayer(player), GStrings.GetString("TXTS_ADDEDHEALTH")); } break; @@ -370,19 +370,19 @@ static void cmd_Give(int player, uint8_t** stream, bool skip) if (getPlayer(player)->GetActor()->user.Health < getPlayer(player)->MaxHealth) { getPlayer(player)->Armor = 100; - PutStringInfo(getPlayer(player), GStrings("TXTB_FULLARM")); + PutStringInfo(getPlayer(player), GStrings.GetString("TXTB_FULLARM")); } break; case GIVE_KEYS: memset(getPlayer(player)->HasKey, true, sizeof(getPlayer(player)->HasKey)); - PutStringInfo(getPlayer(player), GStrings("TXTS_GIVEKEY")); + PutStringInfo(getPlayer(player), GStrings.GetString("TXTS_GIVEKEY")); break; case GIVE_INVENTORY: { auto p = getPlayer(player); - PutStringInfo(p, GStrings("GOT ALL INVENTORY")); + PutStringInfo(p, GStrings.GetString("GOT ALL INVENTORY")); p->WpnShotgunAuto = 50; p->WpnRocketHeat = 5; diff --git a/source/games/sw/src/draw.cpp b/source/games/sw/src/draw.cpp index 376e491ed88..ff226ddd668 100644 --- a/source/games/sw/src/draw.cpp +++ b/source/games/sw/src/draw.cpp @@ -1353,7 +1353,7 @@ void drawscreen(DSWPlayer* pp, double interpfrac, bool sceneonly) if (paused && !M_Active()) { - auto str = GStrings("Game Paused"); + auto str = GStrings.GetString("Game Paused"); auto font = PickSmallFont(str); int w = font->StringWidth(str); DrawText(twod, font, CR_UNTRANSLATED, 160-w, 100, str, DTA_FullscreenScale, FSMode_Fit320x200, TAG_DONE); diff --git a/source/games/sw/src/player.cpp b/source/games/sw/src/player.cpp index 73226ebc446..efc7444ff2c 100644 --- a/source/games/sw/src/player.cpp +++ b/source/games/sw/src/player.cpp @@ -5602,7 +5602,7 @@ void DoPlayerBeginDie(DSWPlayer* pp) PlayerSound(PlayerLowHealthPainVocs[choosesnd],v3df_dontpan|v3df_doppler|v3df_follow,pp); - PutStringInfo(pp, GStrings("TXTS_PRESSSPACE")); + PutStringInfo(pp, GStrings.GetString("TXTS_PRESSSPACE")); if (pp->sop_control) DoPlayerStopOperate(pp); diff --git a/source/games/sw/src/rotator.cpp b/source/games/sw/src/rotator.cpp index d1c68dfd8be..48b4d61cfb3 100644 --- a/source/games/sw/src/rotator.cpp +++ b/source/games/sw/src/rotator.cpp @@ -182,7 +182,7 @@ void DoRotatorMatch(DSWPlayer* pp, short match, bool manual) // bool 8 must be set for message to display if (TEST_BOOL4(actor) && (gNet.MultiGameType == MULTI_GAME_COMMBAT || gNet.MultiGameType == MULTI_GAME_AI_BOTS)) { - if (pp && TEST_BOOL11(actor)) PutStringInfo(pp, GStrings("TXT_SPONLY")); + if (pp && TEST_BOOL11(actor)) PutStringInfo(pp, GStrings.GetString("TXT_SPONLY")); continue; } diff --git a/source/games/sw/src/sector.cpp b/source/games/sw/src/sector.cpp index 4a7055294cc..234a7d764a2 100644 --- a/source/games/sw/src/sector.cpp +++ b/source/games/sw/src/sector.cpp @@ -1909,7 +1909,7 @@ void TriggerSecret(sectortype* sectp, DSWPlayer* pp) SECRET_Trigger(sectindex(pp->cursector)); - PutStringInfo(pp, GStrings("TXTS_SECRET")); + PutStringInfo(pp, GStrings.GetString("TXTS_SECRET")); // always give to the first player Level.addSecret(myconnectindex); sectp->lotag = 0; diff --git a/source/games/sw/src/slidor.cpp b/source/games/sw/src/slidor.cpp index 6ca9f61c0cf..f1fec5e51ae 100644 --- a/source/games/sw/src/slidor.cpp +++ b/source/games/sw/src/slidor.cpp @@ -176,7 +176,7 @@ void DoSlidorMatch(DSWPlayer* pp, short match, bool manual) // bool 8 must be set for message to display if (TEST_BOOL4(actor) && (gNet.MultiGameType == MULTI_GAME_COMMBAT || gNet.MultiGameType == MULTI_GAME_AI_BOTS)) { - if (pp && TEST_BOOL11(actor)) PutStringInfo(pp, GStrings("TXTS_SPONLY")); + if (pp && TEST_BOOL11(actor)) PutStringInfo(pp, GStrings.GetString("TXTS_SPONLY")); continue; } diff --git a/source/games/sw/src/sprite.cpp b/source/games/sw/src/sprite.cpp index 1fe952e86c6..d6f90c3088d 100644 --- a/source/games/sw/src/sprite.cpp +++ b/source/games/sw/src/sprite.cpp @@ -5247,7 +5247,7 @@ int DoGet(DSWActor* actor) { int cookie = StdRandomRange(MAX_FORTUNES); // print to the console, and the user quote display. - FStringf msg("%s %s", GStrings("TXTS_FORTUNE"), quoteMgr.GetQuote(QUOTE_COOKIE + cookie)); + FStringf msg("%s %s", GStrings.GetString("TXTS_FORTUNE"), quoteMgr.GetQuote(QUOTE_COOKIE + cookie)); Printf(PRINT_NONOTIFY, TEXTCOLOR_SAPPHIRE "%s\n", msg.GetChars()); if (hud_messages) { @@ -5415,7 +5415,7 @@ int DoGet(DSWActor* actor) if (pp->WpnAmmo[WPN_STAR] >= DamageData[WPN_STAR].max_ammo) break; - PutStringInfo(pp, sw_darts? GStrings("TXTS_DARTS") : quoteMgr.GetQuote(QUOTE_WPNSHURIKEN)); + PutStringInfo(pp, sw_darts? GStrings.GetString("TXTS_DARTS") : quoteMgr.GetQuote(QUOTE_WPNSHURIKEN)); PlayerUpdateAmmo(pp, WPN_STAR, DamageData[WPN_STAR].weapon_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup if (pp->pnum == myconnectindex) diff --git a/source/games/sw/src/vator.cpp b/source/games/sw/src/vator.cpp index 698205a9db6..fe2b07bf013 100644 --- a/source/games/sw/src/vator.cpp +++ b/source/games/sw/src/vator.cpp @@ -191,7 +191,7 @@ void DoVatorMatch(DSWPlayer* pp, short match) // bool 8 must be set for message to display if (TEST_BOOL4(actor) && (gNet.MultiGameType == MULTI_GAME_COMMBAT || gNet.MultiGameType == MULTI_GAME_AI_BOTS)) { - if (pp && TEST_BOOL11(actor)) PutStringInfo(pp, GStrings("TXTS_SPONLY")); + if (pp && TEST_BOOL11(actor)) PutStringInfo(pp, GStrings.GetString("TXTS_SPONLY")); continue; } diff --git a/source/games/sw/src/weapon.cpp b/source/games/sw/src/weapon.cpp index 895545aacc5..bfc40ec554e 100644 --- a/source/games/sw/src/weapon.cpp +++ b/source/games/sw/src/weapon.cpp @@ -7065,94 +7065,94 @@ const char *DeathString(DSWActor* actor) case NINJA_RUN_R0: return " "; case ZOMBIE_RUN_R0: - return GStrings("Zombie"); + return GStrings.GetString("Zombie"); case BLOOD_WORM: - return GStrings("Blood Worm"); + return GStrings.GetString("Blood Worm"); case SKEL_RUN_R0: - return GStrings("Skeletor Priest"); + return GStrings.GetString("Skeletor Priest"); case COOLG_RUN_R0: - return GStrings("Coolie Ghost"); + return GStrings.GetString("Coolie Ghost"); case GORO_RUN_R0: - return GStrings("Guardian"); + return GStrings.GetString("Guardian"); case HORNET_RUN_R0: - return GStrings("Hornet"); + return GStrings.GetString("Hornet"); case RIPPER_RUN_R0: - return GStrings("Ripper Hatchling"); + return GStrings.GetString("Ripper Hatchling"); case RIPPER2_RUN_R0: - return GStrings("Ripper"); + return GStrings.GetString("Ripper"); case BUNNY_RUN_R0: - return GStrings("Killer Rabbit"); + return GStrings.GetString("Killer Rabbit"); case SERP_RUN_R0: - return GStrings("Serpent god"); + return GStrings.GetString("Serpent god"); case GIRLNINJA_RUN_R0: - return GStrings("Girl Ninja"); + return GStrings.GetString("Girl Ninja"); case BLADE1: case BLADE2: case BLADE3: case 5011: - return GStrings("blade"); + return GStrings.GetString("blade"); case STAR1: - if (sw_darts) return GStrings("dart"); - else return GStrings("shuriken"); + if (sw_darts) return GStrings.GetString("dart"); + else return GStrings.GetString("shuriken"); case CROSSBOLT: - return GStrings("crossbow bolt"); + return GStrings.GetString("crossbow bolt"); case SPEAR_R0: - return GStrings("spear"); + return GStrings.GetString("spear"); case LAVA_BOULDER: case LAVA_SHARD: - return GStrings("lava boulder"); + return GStrings.GetString("lava boulder"); case UZI_SMOKE: - return GStrings("Uzi"); + return GStrings.GetString("Uzi"); case UZI_SMOKE+2: - return GStrings("Evil Ninja Uzi"); + return GStrings.GetString("Evil Ninja Uzi"); case SHOTGUN_SMOKE: - return GStrings("shotgun"); + return GStrings.GetString("shotgun"); case MIRV_METEOR: case SERP_METEOR: - return GStrings("meteor"); + return GStrings.GetString("meteor"); case BOLT_THINMAN_R0: - return GStrings("rocket"); + return GStrings.GetString("rocket"); case BOLT_THINMAN_R1: - return GStrings("rail gun"); + return GStrings.GetString("rail gun"); case BOLT_THINMAN_R2: - return GStrings("enemy rocket"); + return GStrings.GetString("enemy rocket"); case BOLT_THINMAN_R4: // BunnyRocket - return GStrings("bunny rocket"); + return GStrings.GetString("bunny rocket"); case BOLT_EXP: - return GStrings("explosion"); + return GStrings.GetString("explosion"); case TANK_SHELL_EXP: - return GStrings("tank shell"); + return GStrings.GetString("tank shell"); case MUSHROOM_CLOUD: - return GStrings("nuclear bomb"); + return GStrings.GetString("nuclear bomb"); case GRENADE_EXP: - return GStrings("40mm grenade"); + return GStrings.GetString("40mm grenade"); case MICRO_EXP: - return GStrings("micro missile"); + return GStrings.GetString("micro missile"); case MINE_EXP: //case MINE_SHRAP: - return GStrings("sticky bomb"); + return GStrings.GetString("sticky bomb"); case NAP_EXP: - return GStrings("napalm"); + return GStrings.GetString("napalm"); case Vomit1: case Vomit2: - return GStrings("vomit"); + return GStrings.GetString("vomit"); case COOLG_FIRE: - return GStrings("Coolie Ghost phlem"); + return GStrings.GetString("Coolie Ghost phlem"); case SKULL_R0: - return GStrings("Accursed Head"); + return GStrings.GetString("Accursed Head"); case BETTY_R0: - return GStrings("Bouncing Betty"); + return GStrings.GetString("Bouncing Betty"); case SKULL_SERP: - return GStrings("Serpent god Protector"); + return GStrings.GetString("Serpent god Protector"); case FIREBALL1: case FIREBALL: case GORO_FIREBALL: case FIREBALL_FLAMES: - return GStrings("flames"); + return GStrings.GetString("flames"); case RADIATION_CLOUD: - return GStrings("radiation"); + return GStrings.GetString("radiation"); case CALTROPS: - return GStrings("useitem 7"); + return GStrings.GetString("useitem 7"); } return ""; } diff --git a/source/launcher/launcherbanner.cpp b/source/launcher/launcherbanner.cpp index 69f7e7ee1af..823b0021d01 100644 --- a/source/launcher/launcherbanner.cpp +++ b/source/launcher/launcherbanner.cpp @@ -17,7 +17,7 @@ LauncherBanner::LauncherBanner(Widget* parent) : Widget(parent) void LauncherBanner::UpdateLanguage() { - FString versionText = GStrings("PICKER_VERSION"); + FString versionText = GStrings.GetString("PICKER_VERSION"); versionText.Substitute("%s", GetVersionString()); VersionLabel->SetText(versionText.GetChars()); } diff --git a/source/launcher/launcherbuttonbar.cpp b/source/launcher/launcherbuttonbar.cpp index d542ea51ee3..789881000e0 100644 --- a/source/launcher/launcherbuttonbar.cpp +++ b/source/launcher/launcherbuttonbar.cpp @@ -15,8 +15,8 @@ LauncherButtonbar::LauncherButtonbar(LauncherWindow* parent) : Widget(parent) void LauncherButtonbar::UpdateLanguage() { - PlayButton->SetText(GStrings("PICKER_PLAY")); - ExitButton->SetText(GStrings("PICKER_EXIT")); + PlayButton->SetText(GStrings.GetString("PICKER_PLAY")); + ExitButton->SetText(GStrings.GetString("PICKER_EXIT")); } double LauncherButtonbar::GetPreferredHeight() const diff --git a/source/launcher/launcherwindow.cpp b/source/launcher/launcherwindow.cpp index 96039ea0853..1cf8335eadd 100644 --- a/source/launcher/launcherwindow.cpp +++ b/source/launcher/launcherwindow.cpp @@ -11,13 +11,13 @@ #include #include -int LauncherWindow::ExecModal(WadStuff* wads, int numwads, int defaultiwad, int* autoloadflags) +int LauncherWindow::ExecModal(WadStuff* wads, int numwads, int defaultiwad, int* autoloadflags, FString& extraArgs) { Size screenSize = GetScreenSize(); double windowWidth = 615.0; double windowHeight = 700.0; - auto launcher = std::make_unique(wads, numwads, defaultiwad, autoloadflags); + auto launcher = std::make_unique(wads, numwads, defaultiwad, autoloadflags, extraArgs); launcher->SetFrameGeometry((screenSize.width - windowWidth) * 0.5, (screenSize.height - windowHeight) * 0.5, windowWidth, windowHeight); launcher->Show(); @@ -26,7 +26,7 @@ int LauncherWindow::ExecModal(WadStuff* wads, int numwads, int defaultiwad, int* return launcher->ExecResult; } -LauncherWindow::LauncherWindow(WadStuff* wads, int numwads, int defaultiwad, int* autoloadflags) : Widget(nullptr, WidgetType::Window) +LauncherWindow::LauncherWindow(WadStuff* wads, int numwads, int defaultiwad, int* autoloadflags, FString& extraArgs) : Widget(nullptr, WidgetType::Window) { SetWindowBackground(Colorf::fromRgba8(51, 51, 51)); SetWindowBorderColor(Colorf::fromRgba8(51, 51, 51)); @@ -72,8 +72,8 @@ void LauncherWindow::Exit() void LauncherWindow::UpdateLanguage() { - Pages->SetTabText(PlayGame, GStrings("PICKER_TAB_PLAY")); - Pages->SetTabText(Settings, GStrings("OPTMNU_TITLE")); + Pages->SetTabText(PlayGame, GStrings.GetString("PICKER_TAB_PLAY")); + Pages->SetTabText(Settings, GStrings.GetString("OPTMNU_TITLE")); Banner->UpdateLanguage(); PlayGame->UpdateLanguage(); Settings->UpdateLanguage(); diff --git a/source/launcher/launcherwindow.h b/source/launcher/launcherwindow.h index 8cdbc6ce779..c64676a467e 100644 --- a/source/launcher/launcherwindow.h +++ b/source/launcher/launcherwindow.h @@ -14,9 +14,9 @@ struct WadStuff; class LauncherWindow : public Widget { public: - static int ExecModal(WadStuff* wads, int numwads, int defaultiwad, int* autoloadflags); + static int ExecModal(WadStuff* wads, int numwads, int defaultiwad, int* autoloadflags, FString& extraArgs); - LauncherWindow(WadStuff* wads, int numwads, int defaultiwad, int* autoloadflags); + LauncherWindow(WadStuff* wads, int numwads, int defaultiwad, int* autoloadflags, FString& extraArgs); void UpdateLanguage(); void Start(); diff --git a/source/launcher/playgamepage.cpp b/source/launcher/playgamepage.cpp index ce30930f8d4..972e48d26d4 100644 --- a/source/launcher/playgamepage.cpp +++ b/source/launcher/playgamepage.cpp @@ -52,9 +52,9 @@ int PlayGamePage::GetSelectedGame() void PlayGamePage::UpdateLanguage() { - SelectLabel->SetText(GStrings("PICKER_SELECT")); - ParametersLabel->SetText(GStrings("PICKER_ADDPARM")); - FString welcomeText = GStrings("PICKER_WELCOME"); + SelectLabel->SetText(GStrings.GetString("PICKER_SELECT")); + ParametersLabel->SetText(GStrings.GetString("PICKER_ADDPARM")); + FString welcomeText = GStrings.GetString("PICKER_WELCOME"); welcomeText.Substitute("%s", GAMENAME); WelcomeLabel->SetText(welcomeText.GetChars()); } diff --git a/source/launcher/settingspage.cpp b/source/launcher/settingspage.cpp index e50f994e8a2..6ddc7667992 100644 --- a/source/launcher/settingspage.cpp +++ b/source/launcher/settingspage.cpp @@ -138,23 +138,23 @@ void SettingsPage::Save() void SettingsPage::UpdateLanguage() { - LangLabel->SetText(GStrings("OPTMNU_LANGUAGE")); - GeneralLabel->SetText(GStrings("PICKER_GENERAL")); -// ExtrasLabel->SetText(GStrings("PICKER_EXTRA")); - FullscreenCheckbox->SetText(GStrings("PICKER_FULLSCREEN")); - DisableAutoloadCheckbox->SetText(GStrings("PICKER_NOAUTOLOAD")); - DontAskAgainCheckbox->SetText(GStrings("PICKER_DONTASK")); + LangLabel->SetText(GStrings.GetString("OPTMNU_LANGUAGE")); + GeneralLabel->SetText(GStrings.GetString("PICKER_GENERAL")); +// ExtrasLabel->SetText(GStrings.GetString("PICKER_EXTRA")); + FullscreenCheckbox->SetText(GStrings.GetString("PICKER_FULLSCREEN")); + DisableAutoloadCheckbox->SetText(GStrings.GetString("PICKER_NOAUTOLOAD")); + DontAskAgainCheckbox->SetText(GStrings.GetString("PICKER_DONTASK")); /* - LightsCheckbox->SetText(GStrings("PICKER_LIGHTS")); - BrightmapsCheckbox->SetText(GStrings("PICKER_BRIGHTMAPS")); - WidescreenCheckbox->SetText(GStrings("PICKER_WIDESCREEN")); + LightsCheckbox->SetText(GStrings.GetString("PICKER_LIGHTS")); + BrightmapsCheckbox->SetText(GStrings.GetString("PICKER_BRIGHTMAPS")); + WidescreenCheckbox->SetText(GStrings.GetString("PICKER_WIDESCREEN")); */ #ifdef RENDER_BACKENDS - BackendLabel->SetText(GStrings("PICKER_PREFERBACKEND")); - VulkanCheckbox->SetText(GStrings("OPTVAL_VULKAN")); - OpenGLCheckbox->SetText(GStrings("OPTVAL_OPENGL")); - GLESCheckbox->SetText(GStrings("OPTVAL_OPENGLES")); + BackendLabel->SetText(GStrings.GetString("PICKER_PREFERBACKEND")); + VulkanCheckbox->SetText(GStrings.GetString("OPTVAL_VULKAN")); + OpenGLCheckbox->SetText(GStrings.GetString("OPTVAL_OPENGL")); + GLESCheckbox->SetText(GStrings.GetString("OPTVAL_OPENGLES")); #endif }

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