- fixed auto-picking of game GRPS from the command line.

This commit is contained in:
Christoph Oelckers 2019-11-19 21:35:35 +01:00
parent 557bd201fb
commit f24de03501
7 changed files with 13 additions and 28 deletions

View file

@ -175,8 +175,6 @@ find_package( ZLIB )
include( TargetArch ) include( TargetArch )
target_architecture(DEMOLITION_TARGET_ARCH)
# Things for later. Currently we have no VM and no Vulkan # Things for later. Currently we have no VM and no Vulkan
#if( ${DEMOLITION_TARGET_ARCH} MATCHES "x86_64" ) #if( ${DEMOLITION_TARGET_ARCH} MATCHES "x86_64" )
# set( HAVE_VM_JIT ON ) # set( HAVE_VM_JIT ON )
@ -193,7 +191,7 @@ target_architecture(DEMOLITION_TARGET_ARCH)
if( MSVC ) if( MSVC )
# Eliminate unreferenced functions and data # Eliminate unreferenced functions and data
# Perform identical COMDAT folding # Perform identical COMDAT folding
set( REL_LINKER_FLAGS "/opt:ref /opt:icf /nodefaultlib:msvcrt /TSAWARE /LARGEADDRESSAWARE" ) set( REL_LINKER_FLAGS "/opt:ref /opt:icf /nodefaultlib:msvcrt /TSAWARE /LARGEADDRESSAWARE /SAFESEH:NO" )
# String pooling # String pooling
# Function-level linking # Function-level linking

View file

@ -36,10 +36,13 @@ if( APPLE )
option( OSX_COCOA_BACKEND "Use native Cocoa backend instead of SDL" ON ) option( OSX_COCOA_BACKEND "Use native Cocoa backend instead of SDL" ON )
endif() endif()
target_architecture(DEMOLITION_TARGET_ARCH)
message(STATUS "Architecture is ${DEMOLITION_TARGET_ARCH}")
# Right now only 64 bit is supported. # Right now only 64 bit is supported.
#if( ${DEMOLITION_TARGET_ARCH} MATCHES "x86_64" ) if( ${DEMOLITION_TARGET_ARCH} MATCHES "x86_64" )
set( X64 64 ) set( X64 64 )
#endif() endif()
if( X64 OR ${DEMOLITION_TARGET_ARCH} MATCHES "i386" ) if( X64 OR ${DEMOLITION_TARGET_ARCH} MATCHES "i386" )
add_definitions( -DARCH_IA32 ) add_definitions( -DARCH_IA32 )

View file

@ -295,14 +295,13 @@ int CONFIG_Init()
// //
if (userConfig.gamegrp) if (userConfig.gamegrp)
{ {
std::filesystem::path gpath = std::filesystem::u8path(userConfig.gamegrp.GetChars()); FString gamegrplower = userConfig.gamegrp.MakeLower();
int g = 0; int g = 0;
for (auto& grp : groups) for (auto& grp : groups)
{ {
std::filesystem::path fpath = std::filesystem::u8path(grp.FileName.GetChars()); auto grplower = grp.FileName.MakeLower();
std::error_code err; if (grplower.LastIndexOf(gamegrplower) == grplower.Len() - gamegrplower.Len())
if (std::filesystem::equivalent(gpath, fpath, err))
{ {
groupno = g; groupno = g;
break; break;

View file

@ -46,6 +46,7 @@ BEGIN_SW_NS
extern int jump_grav; extern int jump_grav;
int SpawnBlood(short SpriteNum, short Weapon, short hit_ang, int hit_x, int hit_y, int hit_z);
extern STATE s_DebrisNinja[]; extern STATE s_DebrisNinja[];
extern STATE s_DebrisRat[]; extern STATE s_DebrisRat[];
extern STATE s_DebrisCrab[]; extern STATE s_DebrisCrab[];

View file

@ -1164,23 +1164,19 @@ InitLevel(void)
{ {
static int DemoNumber = 0; static int DemoNumber = 0;
MONO_PRINT("InitLevel");
Terminate3DSounds(); Terminate3DSounds();
// A few IMPORTANT GLOBAL RESETS // A few IMPORTANT GLOBAL RESETS
InitLevelGlobals(); InitLevelGlobals();
MONO_PRINT("InitLevelGlobals");
if (!DemoMode) if (!DemoMode)
StopSong(); StopSong();
if (LoadGameOutsideMoveLoop) if (LoadGameOutsideMoveLoop)
{ {
MONO_PRINT("Returning from InitLevel");
return; return;
} }
InitLevelGlobals2(); InitLevelGlobals2();
MONO_PRINT("InitLevelGlobals2");
if (DemoMode) if (DemoMode)
{ {
Level = 0; Level = 0;
@ -1489,10 +1485,6 @@ TerminateLevel(void)
void NewLevel(void) void NewLevel(void)
{ {
DSPRINTF(ds,"NewLevel");
MONO_PRINT(ds);
if (DemoPlaying) if (DemoPlaying)
{ {
FX_SetVolume(0); // Shut the hell up while game is loading! FX_SetVolume(0); // Shut the hell up while game is loading!
@ -1518,16 +1510,8 @@ void NewLevel(void)
} }
else else
{ {
DSPRINTF(ds,"Calling FX_SetVolume");
MONO_PRINT(ds);
FX_SetVolume(0); // Shut the hell up while game is loading! FX_SetVolume(0); // Shut the hell up while game is loading!
DSPRINTF(ds,"Calling InitLevel");
MONO_PRINT(ds);
InitLevel(); InitLevel();
DSPRINTF(ds,"Calling RunLevel");
MONO_PRINT(ds);
RunLevel(); RunLevel();
if (!QuitFlag) if (!QuitFlag)

View file

@ -792,7 +792,7 @@ DoSpringBoardDown(void)
{ {
int destz; int destz;
destz = sector[nextsectorneighborz(sbp->Sector, sector[sbp->Sector].floorz, SEARCH_FLOOR, SEARCH_DOWN)].floorz; destz = sector[nextsectorneighborz(sbp->Sector, sector[sbp->Sector].floorz, 1, 1)].floorz;
AnimSet(&sector[sbp->Sector].floorz, destz, 256); AnimSet(&sector[sbp->Sector].floorz, destz, 256);

View file

@ -1,3 +1,3 @@
#include "swcvars.h" #include "swcvar.h"
CVAR(Bool, sw_ninjahack, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG); CVAR(Bool, sw_ninjahack, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG);