Make Hardqore2 work

without the change in Script_Program.h I got
"ERROR: Exceeded global memory size" from idProgram::ReserveMem()
Now the scripts get a bit more memory (like in D3XP) and that seems to
work.

I also had to disable assertions. This means that Debug builds don't
work and -DNDEBUG must be set.
This commit is contained in:
Daniel Gibson 2018-08-27 02:02:13 +02:00
parent 30391e13f0
commit 0362794f2c
2 changed files with 6 additions and 2 deletions

View file

@ -3,7 +3,8 @@ project(dhewm3sdk)
option(BASE "Build the base (game/) game code" ON) option(BASE "Build the base (game/) game code" ON)
set(BASE_NAME "hardqore2" CACHE STRING "Name of the mod built from game/ (will result in \${BASE_NAME}.dll)") set(BASE_NAME "hardqore2" CACHE STRING "Name of the mod built from game/ (will result in \${BASE_NAME}.dll)")
set(BASE_DEFS "GAME_DLL;_WATER_PHYSICS;_PORTALSKY;_DENTONMOD" CACHE STRING "Compiler definitions for the mod built from game/") # FIXME: maybe try to get it to work with assertions enabled (i.e. in Debug builds or in Release builds without NDEBUG)
set(BASE_DEFS "GAME_DLL;_WATER_PHYSICS;_PORTALSKY;_DENTONMOD;NDEBUG" CACHE STRING "Compiler definitions for the mod built from game/")
option(D3XP "Build the d3xp/ game code" OFF) option(D3XP "Build the d3xp/ game code" OFF)
set(D3XP_NAME "d3xp" CACHE STRING "Name of the mod built from d3xp/ (will result in \${D3XP_NAME}.dll)") set(D3XP_NAME "d3xp" CACHE STRING "Name of the mod built from d3xp/ (will result in \${D3XP_NAME}.dll)")

View file

@ -44,7 +44,10 @@ class idSaveGame;
class idRestoreGame; class idRestoreGame;
#define MAX_STRING_LEN 128 #define MAX_STRING_LEN 128
#define MAX_GLOBALS 196608 // in bytes //#define MAX_GLOBALS 196608 // in bytes
// DG: apparently the default value is not enough (=> idProgram::ReserveMem() throws error on game start on Linux amd64)
// so use the value D3XP uses
#define MAX_GLOBALS 296608 // in bytes
#define MAX_STRINGS 1024 #define MAX_STRINGS 1024
#define MAX_FUNCS 3072 #define MAX_FUNCS 3072
#define MAX_STATEMENTS 81920 // statement_t - 18 bytes last I checked #define MAX_STATEMENTS 81920 // statement_t - 18 bytes last I checked