From 635759e3b697b676fecddb15c319e91b43d67453 Mon Sep 17 00:00:00 2001 From: mittorn Date: Sun, 29 Jan 2017 17:49:26 +0000 Subject: [PATCH] Enable gateofbabylon, make spawners defination private until it used somewhere else --- dlls/Android.mk | 3 ++- dlls/ar2.cpp | 1 + dlls/big_cock.cpp | 1 + dlls/customweapons.h | 4 ++++ dlls/gateofbabylon.cpp | 43 +++++++++++++++++++++++++++++++++++++++++ dlls/gravgun.cpp | 1 + dlls/weapons.h | 44 ------------------------------------------ 7 files changed, 52 insertions(+), 45 deletions(-) create mode 100644 dlls/customweapons.h diff --git a/dlls/Android.mk b/dlls/Android.mk index 4274bb85..0e365441 100644 --- a/dlls/Android.mk +++ b/dlls/Android.mk @@ -132,7 +132,8 @@ LOCAL_SRC_FILES := agrunt.cpp airtank.cpp \ ../pm_shared/pm_debug.c \ ../pm_shared/pm_math.c \ ../pm_shared/pm_shared.c \ - coop.cpp + coop.cpp \ + gateofbabylon.cpp # ../game_shared/voice_gamemgr.cpp LOCAL_LDLIBS := -llog diff --git a/dlls/ar2.cpp b/dlls/ar2.cpp index dbd02fe5..38affdd0 100644 --- a/dlls/ar2.cpp +++ b/dlls/ar2.cpp @@ -15,6 +15,7 @@ #include "soundent.h" #include "gamerules.h" #include "game.h" +#include "customweapons.h" #define AR2_BEAM_SPRITE "sprites/xbeam1.spr" enum AR2_e diff --git a/dlls/big_cock.cpp b/dlls/big_cock.cpp index cc226d81..c1af6a8e 100644 --- a/dlls/big_cock.cpp +++ b/dlls/big_cock.cpp @@ -12,6 +12,7 @@ #include "weapons.h" #include "nodes.h" #include "player.h" +#include "customweapons.h" #define BIG_COCK_WEIGHT 21 diff --git a/dlls/customweapons.h b/dlls/customweapons.h new file mode 100644 index 00000000..e30481d7 --- /dev/null +++ b/dlls/customweapons.h @@ -0,0 +1,4 @@ +#define WEAPON_GRAVGUN 17 +#define WEAPON_BIG_COCK 18 +#define WEAPON_AR2 19 +#define WEAPON_GATEOFBABYLON 20 diff --git a/dlls/gateofbabylon.cpp b/dlls/gateofbabylon.cpp index be8bcbe6..17941de3 100644 --- a/dlls/gateofbabylon.cpp +++ b/dlls/gateofbabylon.cpp @@ -24,11 +24,54 @@ #include "gamerules.h" #include "sprite.h" #include "com_model.h" +#include "customweapons.h" #ifndef CLIENT_DLL #define BOLT_AIR_VELOCITY 2700 #define BOLT_WATER_VELOCITY 2000 +class CGateOfBabylonSpawner; +#define MAX_SPAWNERS 7 +class CGateOfBabylon : public CBasePlayerWeapon +{ +public: + void Spawn( void ); + void Precache( void ); + int iItemSlot( ) { return 0; } + int GetItemInfo(ItemInfo *p); + int ObjectCaps(); +#ifndef CLIENT_DLL + int Save( CSave &save ); + int Restore( CRestore &restore ); + static TYPEDESCRIPTION m_SaveData[]; +#endif + void PrimaryAttack( void ); + void SecondaryAttack( void ); + int AddToPlayer( CBasePlayer *pPlayer ); + BOOL Deploy( ); + void Holster( int skiplocal = 0 ); + void Reload( void ); + void WeaponIdle( void ); + + virtual BOOL UseDecrement( void ) + { +//#if defined( CLIENT_WEAPONS ) +// return ; +//#else + return false; +//#endif + } + + CGateOfBabylonSpawner *m_pSpawners[MAX_SPAWNERS]; + bool IntersectOtherSpawner( CGateOfBabylonSpawner *spawner ); + +private: + + void AddSpawners( void ); + int m_iSpawnerCount; +}; + + class CGateOfBabylonBolt : public CBaseEntity { public: diff --git a/dlls/gravgun.cpp b/dlls/gravgun.cpp index 022b8b31..4f66d106 100644 --- a/dlls/gravgun.cpp +++ b/dlls/gravgun.cpp @@ -16,6 +16,7 @@ Created by Solexid #include "effects.h" #include "customentity.h" #include "gamerules.h" +#include "customweapons.h" #define GRAV_BEAM_SPRITE_PRIMARY_VOLUME 30 #define GRAV_BEAM_SPRITE "sprites/xbeam3.spr" diff --git a/dlls/weapons.h b/dlls/weapons.h index c5ad4ba3..4c19e9a5 100644 --- a/dlls/weapons.h +++ b/dlls/weapons.h @@ -82,10 +82,6 @@ public: #define WEAPON_TRIPMINE 13 #define WEAPON_SATCHEL 14 #define WEAPON_SNARK 15 -#define WEAPON_GRAVGUN 17 -#define WEAPON_BIG_COCK 18 -#define WEAPON_AR2 19 -#define WEAPON_GATEOFBABYLON 20 #define WEAPON_ALLWEAPONS (~(1<