Make Grimm build

This commit is contained in:
Daniel Gibson 2024-11-13 03:28:53 +01:00
parent caca24cc53
commit 009b958e4a
14 changed files with 40 additions and 16 deletions

View file

@ -2,10 +2,10 @@ cmake_minimum_required(VERSION 2.8...3.22 FATAL_ERROR)
project(dhewm3sdk) project(dhewm3sdk)
option(BASE "Build the base (game/) game code" ON) option(BASE "Build the base (game/) game code" ON)
set(BASE_NAME "base" CACHE STRING "Name of the mod built from game/ (will result in \${BASE_NAME}.dll)") set(BASE_NAME "grimm" CACHE STRING "Name of the mod built from game/ (will result in \${BASE_NAME}.dll)")
set(BASE_DEFS "GAME_DLL" CACHE STRING "Compiler definitions for the mod built from game/") set(BASE_DEFS "GAME_DLL" CACHE STRING "Compiler definitions for the mod built from game/")
option(D3XP "Build the d3xp/ game code" ON) 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)")
set(D3XP_DEFS "GAME_DLL;_D3XP;CTF" CACHE STRING "Compiler definitions for the mod built from d3xp/") set(D3XP_DEFS "GAME_DLL;_D3XP;CTF" CACHE STRING "Compiler definitions for the mod built from d3xp/")
@ -20,6 +20,10 @@ set(src_game_mod
# add additional .cpp files of your mod in game/ # add additional .cpp files of your mod in game/
# (that you added to the ones already existant in the SDK/in dhewm3) # (that you added to the ones already existant in the SDK/in dhewm3)
# like "game/MyFile.cpp" (without quotes, one file per line) # like "game/MyFile.cpp" (without quotes, one file per line)
game/Grab.h
game/Grab.cpp
game/physics/Force_Grab.h
game/physics/Force_Grab.cpp
) )
set(src_d3xp_mod set(src_d3xp_mod

View file

@ -35,6 +35,7 @@ If you have questions concerning this license or the applicable additional terms
#include "WorldSpawn.h" #include "WorldSpawn.h"
#include "Actor.h" #include "Actor.h"
#include "Fx.h"
/*********************************************************************** /***********************************************************************

View file

@ -325,8 +325,8 @@ public:
// sikk---> Portal Sky Box // sikk---> Portal Sky Box
idEntityPtr<idEntity> portalSkyEnt; idEntityPtr<idEntity> portalSkyEnt;
bool portalSkyActive; bool portalSkyActive;
void idGameLocal::SetPortalSkyEnt( idEntity *ent ) { portalSkyEnt = ent; } void SetPortalSkyEnt( idEntity *ent ) { portalSkyEnt = ent; }
bool idGameLocal::IsPortalSkyAcive( void ) { return portalSkyActive; } bool IsPortalSkyAcive( void ) { return portalSkyActive; }
pvsHandle_t GetPlayerPVS( void ) { return playerPVS; }; pvsHandle_t GetPlayerPVS( void ) { return playerPVS; };
// <---sikk // <---sikk
@ -693,4 +693,6 @@ extern const float DEFAULT_GRAVITY;
extern const idVec3 DEFAULT_GRAVITY_VEC3; extern const idVec3 DEFAULT_GRAVITY_VEC3;
extern const int CINEMATIC_SKIP_DELAY; extern const int CINEMATIC_SKIP_DELAY;
#include "Entity.h"
#endif /* !__GAME_LOCAL_H__ */ #endif /* !__GAME_LOCAL_H__ */

View file

@ -1,10 +1,10 @@
// sikk---> Object Manipulation // sikk---> Object Manipulation
#include "../idlib/precompiled.h"
#pragma hdrstop
#include "Game_local.h" #include "Game_local.h"
#include "Grab.h"
#include "Misc.h" #include "Misc.h"
#include "Player.h"
#include "gamesys/SysCvar.h"
#define MAX_DRAG_TRACE_DISTANCE 80.0f #define MAX_DRAG_TRACE_DISTANCE 80.0f
#define TRACE_BOUNDS_SIZE 3.0f #define TRACE_BOUNDS_SIZE 3.0f

View file

@ -1,3 +1,9 @@
#ifndef _Grab_h_defined
#define _Grab_h_defined
#include "Entity.h"
#include "physics/Force_Grab.h"
// sikk---> Object Manipulation // sikk---> Object Manipulation
/* /*
=============================================================================== ===============================================================================
@ -23,7 +29,7 @@ public:
idEntity * GetGrabEntity( void ) const { return dragEnt.GetEntity(); } idEntity * GetGrabEntity( void ) const { return dragEnt.GetEntity(); }
int GetThrownTime( void ) const { return lastThrownTime; } int GetThrownTime( void ) const { return lastThrownTime; }
int SetThrownTime( int time ) { lastThrownTime = time; } void SetThrownTime( int time ) { lastThrownTime = time; }
private: private:
idEntityPtr<idEntity> dragEnt; // entity being dragged idEntityPtr<idEntity> dragEnt; // entity being dragged
@ -41,3 +47,5 @@ private:
}; };
// <---sikk // <---sikk
#endif // _Grab_h_defined

View file

@ -32,6 +32,7 @@ If you have questions concerning this license or the applicable additional terms
#include "Fx.h" #include "Fx.h"
#include "Moveable.h" #include "Moveable.h"
#include "SmokeParticles.h"
/* /*
=============================================================================== ===============================================================================
@ -290,7 +291,7 @@ void idMoveable::Hide( void ) {
// grimm --> blood spray // grimm --> blood spray
last_spraytime = 0; last_spraytime = 0;
if ( mtr_collide.c_str() != "" && last_spraytime < gameLocal.GetTime() ) { if ( mtr_collide.c_str()[0] != '\0' && last_spraytime < gameLocal.GetTime() ) {
idVec3 org = physicsObj.GetOrigin(); idVec3 org = physicsObj.GetOrigin();
gameLocal.ProjectDecal( org, GetPhysics()->GetGravity(), 128.0f, true, 96.0f, mtr_collide.c_str() ); gameLocal.ProjectDecal( org, GetPhysics()->GetGravity(), 128.0f, true, 96.0f, mtr_collide.c_str() );
} }

View file

@ -40,6 +40,7 @@ If you have questions concerning this license or the applicable additional terms
#include "Camera.h" #include "Camera.h"
#include "Fx.h" #include "Fx.h"
#include "Misc.h" #include "Misc.h"
#include "Moveable.h"
const int ASYNC_PLAYER_INV_AMMO_BITS = idMath::BitsForInteger( 999 ); // 9 bits to cover the range [0, 999] const int ASYNC_PLAYER_INV_AMMO_BITS = idMath::BitsForInteger( 999 ); // 9 bits to cover the range [0, 999]
const int ASYNC_PLAYER_INV_CLIP_BITS = -7; // -7 bits to cover the range [-1, 60] const int ASYNC_PLAYER_INV_CLIP_BITS = -7; // -7 bits to cover the range [-1, 60]
@ -1403,7 +1404,7 @@ void idPlayer::Init( void ) {
//grimm --> //grimm -->
music_suspense = gameLocal.FindEntity("music_suspense"); music_suspense = gameLocal.FindEntity("music_suspense");
music_combat = gameLocal.FindEntity("music_combat"); music_combat = gameLocal.FindEntity("music_combat");
use_combat_music = gameLocal.world->spawnArgs.GetBool("use_combat_music", false); use_combat_music = gameLocal.world->spawnArgs.GetBool("use_combat_music", "0");
combat_musicon = false; combat_musicon = false;
music_waittime = 0.0f; music_waittime = 0.0f;
@ -7288,7 +7289,7 @@ void idPlayer::Event_SetSlomoSound( float slomoval ) {
idPlayer::SpawnThing( char clname ); idPlayer::SpawnThing( char clname );
================= =================
*/ */
void idPlayer::SpawnThing( char *clname ) { void idPlayer::SpawnThing( const char *clname ) {
float yaw; float yaw;
idVec3 org; idVec3 org;
idDict dict; idDict dict;

View file

@ -39,6 +39,8 @@ If you have questions concerning this license or the applicable additional terms
#include "PlayerIcon.h" #include "PlayerIcon.h"
#include "GameEdit.h" #include "GameEdit.h"
#include "Grab.h"
class idAI; class idAI;
/* /*
@ -639,7 +641,7 @@ public:
void CheckKillAccolade( void ); void CheckKillAccolade( void );
int lastAccoladeCheck; int lastAccoladeCheck;
int nextAccoladeCheck; int nextAccoladeCheck;
void SpawnThing( char *clname ); void SpawnThing( const char *clname );
// obstacle checking (move cloth etc..) // obstacle checking (move cloth etc..)
void CheckObstacle( void ); void CheckObstacle( void );

View file

@ -37,6 +37,7 @@ If you have questions concerning this license or the applicable additional terms
#include "SmokeParticles.h" #include "SmokeParticles.h"
#include "Projectile.h" #include "Projectile.h"
#include "Fx.h"
/* /*
=============================================================================== ===============================================================================
@ -946,7 +947,7 @@ void idProjectile::Explode( const trace_t &collision, idEntity *ignore ) {
} }
// sikk---> Entities hit directly by a projectile will no longer be ignored by splash damage // sikk---> Entities hit directly by a projectile will no longer be ignored by splash damage
// PostEventSec( &EV_RadiusDamage, delay, ignore ); // PostEventSec( &EV_RadiusDamage, delay, ignore );
PostEventSec( &EV_RadiusDamage, delay, NULL ); PostEventSec( &EV_RadiusDamage, delay );
} else { } else {
// Event_RadiusDamage( ignore ); // Event_RadiusDamage( ignore );
Event_RadiusDamage( NULL ); Event_RadiusDamage( NULL );

View file

@ -31,6 +31,7 @@ If you have questions concerning this license or the applicable additional terms
#include "Game_local.h" #include "Game_local.h"
#include "SmokeParticles.h" #include "SmokeParticles.h"
#include "Entity.h"
static const char *smokeParticle_SnapshotName = "_SmokeParticle_Snapshot_"; static const char *smokeParticle_SnapshotName = "_SmokeParticle_Snapshot_";

View file

@ -31,6 +31,7 @@ If you have questions concerning this license or the applicable additional terms
#include "Player.h" #include "Player.h"
#include "Trigger.h" #include "Trigger.h"
#include "ai/AI.h"
/* /*
=============================================================================== ===============================================================================

View file

@ -1,8 +1,6 @@
// sikk---> Object Manipulation // sikk---> Object Manipulation
#include "../../idlib/precompiled.h" #include "Force_Grab.h"
#pragma hdrstop
#include "../Game_local.h" #include "../Game_local.h"
CLASS_DECLARATION( idForce, idForce_Grab ) CLASS_DECLARATION( idForce, idForce_Grab )

View file

@ -3,6 +3,8 @@
#ifndef __FORCE_GRAB_H__ #ifndef __FORCE_GRAB_H__
#define __FORCE_GRAB_H__ #define __FORCE_GRAB_H__
#include "physics/Force.h"
/* /*
=============================================================================== ===============================================================================

View file

@ -29,6 +29,8 @@ If you have questions concerning this license or the applicable additional terms
#ifndef __LIB_H__ #ifndef __LIB_H__
#define __LIB_H__ #define __LIB_H__
#include "sys/platform.h" // dword
/* /*
=============================================================================== ===============================================================================