mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-30 08:47:58 +03:00
76 lines
3.7 KiB
C
76 lines
3.7 KiB
C
#pragma once
|
|
|
|
#include "..\Global\global.h"
|
|
|
|
#define GetCeiling ((int (__cdecl*)(FLOOR_INFO*, int, int, int)) 0x00417640)
|
|
#define GetRandomControl ((int (__cdecl*)()) 0x004A7C10)
|
|
#define AnimateItem ((void (__cdecl*)(ITEM_INFO*)) 0x00415300)
|
|
#define GetWaterHeight ((int (__cdecl*)(int, int, int, short)) 0x00415DA0)
|
|
#define TriggerActive ((int (__cdecl*)(ITEM_INFO*)) 0x004175B0)
|
|
//#define GetChange ((int (__cdecl*)(ITEM_INFO*, ANIM_STRUCT*)) 0x00415890)
|
|
//#define KillMoveItems ((void (__cdecl*)()) 0x00414620)
|
|
//#define KillMoveEffects ((void (__cdecl*)()) 0x004146A0)
|
|
//#define ClearDynamics ((void (__cdecl*)()) 0x00431530)
|
|
//#define ClearFires ((void (__cdecl*)()) 0x00481B10)
|
|
//#define UpdateSparks ((void (__cdecl*)()) 0x0042E8B0)
|
|
//#define UpdateFireSparks ((void (__cdecl*)()) 0x004813B0)
|
|
//#define UpdateSmoke ((void (__cdecl*)()) 0x00481DD0)
|
|
//#define UpdateBlood ((void (__cdecl*)()) 0x00482610)
|
|
//#define UpdateBubbles ((void (__cdecl*)()) 0x00483540)
|
|
//#define UpdateSplashes ((void (__cdecl*)()) 0x00430710)
|
|
//#define UpdateDebris ((void (__cdecl*)()) 0x0041D500)
|
|
//#define UpdateDrips ((void (__cdecl*)()) 0x00483D90)
|
|
//#define UpdateGunShells ((void (__cdecl*)()) 0x00482D80)
|
|
//#define UpdateBats ((void (__cdecl*)()) 0x00407FD0)
|
|
//#define UpdateRats ((void (__cdecl*)()) 0x0046AC70)
|
|
#define UpdateSpiders ((void (__cdecl*)()) 0x0047A340)
|
|
//#define UpdateShockwaves ((void (__cdecl*)()) 0x004849A0)
|
|
#define UpdateLightning ((void (__cdecl*)()) 0x00484CB0)
|
|
#define UpdatePulseColor ((void (__cdecl*)()) 0x00480830)
|
|
#define RumbleScreen ((void (__cdecl*)()) 0x00442C90)
|
|
#define ExplodeItemNode ((int (__cdecl*)(ITEM_INFO*, int, int, int)) 0x0041ABF0)
|
|
//#define LavaBurn ((void (__cdecl*)(ITEM_INFO*)) 0x0048ADD0)
|
|
#define RefreshCamera ((void (__cdecl*)(short, short*)) 0x004165E0)
|
|
#define DoFlipMap ((void (__cdecl*)(short)) 0x00418910)
|
|
#define PlaySoundTrack ((void (__cdecl*)(short, short)) 0x00418B90)
|
|
//#define AlterFloorHeight ((void (__cdecl*)(ITEM_INFO*, int)) 0x004159F0)
|
|
#define ObjectOnLOS2 ((int (__cdecl*)(GAME_VECTOR*, GAME_VECTOR*, PHD_VECTOR*, BITE_INFO*)) 0x00419110)
|
|
//#define LOS ((int (__cdecl*)(GAME_VECTOR*, GAME_VECTOR*)) 0x00417CF0)
|
|
#define GetTargetOnLOS ((int (__cdecl*)(GAME_VECTOR*, GAME_VECTOR*, int, int)) 0x0041A170)
|
|
|
|
//#define GetFloor ((FLOOR_INFO* (__cdecl*)(int, int, int, short*)) 0x00415B20)
|
|
//#define GetFloorHeight ((int (__cdecl*)(FLOOR_INFO*, int, int, int)) 0x00415FB0)
|
|
|
|
#define TRIG_BITS(T) ((T & 0x3fff) >> 10)
|
|
|
|
extern int KeyTriggerActive;
|
|
|
|
GAME_STATUS DoTitle(int index);
|
|
GAME_STATUS DoLevel(int index, int ambient, bool loadFromSavegame);
|
|
GAME_STATUS ControlPhase(int numFrames, int demoMode);
|
|
void UpdateSky();
|
|
void AnimateWaterfalls();
|
|
void ActivateKey();
|
|
short GetDoor(FLOOR_INFO* floor);
|
|
void TranslateItem(ITEM_INFO* item, int x, int y, int z);
|
|
void TestTriggers(short* data, int heavy, int HeavyFlags);
|
|
int CheckNoColFloorTriangle(FLOOR_INFO* floor, short x, short z);
|
|
int GetWaterSurface(int x, int y, int z, short roomNumber);
|
|
void KillMoveItems();
|
|
void KillMoveEffects();
|
|
int GetChange(ITEM_INFO* item, ANIM_STRUCT* anim);
|
|
void AlterFloorHeight(ITEM_INFO* item, int height);
|
|
int CheckNoColCeilingTriangle(FLOOR_INFO* floor, int x, int z);
|
|
int CheckNoColFloorTriangle(FLOOR_INFO* floor, int x, int z);
|
|
int GetFloorHeight(FLOOR_INFO* floor, int x, int y, int z);
|
|
FLOOR_INFO* GetFloor(int x, int y, int z, short* roomNumber);
|
|
void UpdateRats();
|
|
void UpdateDebris();
|
|
void UpdateBats();
|
|
int LOS(GAME_VECTOR* start, GAME_VECTOR* end);
|
|
int xLOS(GAME_VECTOR* start, GAME_VECTOR* end);
|
|
int zLOS(GAME_VECTOR* start, GAME_VECTOR* end);
|
|
int ClipTarget(GAME_VECTOR* start, GAME_VECTOR* target);
|
|
|
|
unsigned __stdcall GameMain(void*);
|
|
void Inject_Control();
|