2020-08-05 15:07:19 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "game.h"
|
|
|
|
|
|
|
|
// This consolidates the contents of several smaller includes
|
|
|
|
BEGIN_SW_NS
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
CACHE_SOUND_PRECACHE = 0,
|
|
|
|
CACHE_SOUND_PLAY =1
|
|
|
|
};
|
|
|
|
|
|
|
|
void DoTheCache(void);
|
|
|
|
|
2020-08-12 20:24:51 +00:00
|
|
|
void InitCheats();
|
2020-08-05 15:07:19 +00:00
|
|
|
|
|
|
|
void MapColors(short num,COLOR_MAP cm,short create);
|
|
|
|
int32_t CONFIG_ReadSetup(void);
|
|
|
|
|
2021-11-03 15:51:38 +00:00
|
|
|
DSWActor* WarpPlane(int32_t* x, int32_t* y, int32_t* z, int* sectnum);
|
|
|
|
bool WarpSectorInfo(short sectnum, DSWActor** sp_warp);
|
|
|
|
DSWActor* Warp(int32_t* x, int32_t* y, int32_t* z, int* sectnum);
|
2021-11-07 18:11:16 +00:00
|
|
|
|
|
|
|
[[deprecated]]
|
2021-11-03 15:51:38 +00:00
|
|
|
DSWActor* Warp(int32_t* x, int32_t* y, int32_t* z, int16_t* sectnum)
|
2021-11-07 18:11:16 +00:00
|
|
|
{
|
|
|
|
int sect16 = *sectnum;
|
|
|
|
auto p= Warp(x, y, z, §16);
|
|
|
|
*sectnum = sect16;
|
|
|
|
return p;
|
|
|
|
}
|
|
|
|
|
|
|
|
[[deprecated]]
|
2021-11-03 15:51:38 +00:00
|
|
|
DSWActor* WarpPlane(int32_t* x, int32_t* y, int32_t* z, int16_t* sectnum)
|
2021-11-07 18:11:16 +00:00
|
|
|
{
|
|
|
|
int sect16 = *sectnum;
|
|
|
|
auto p= WarpPlane(x, y, z, §16);
|
|
|
|
*sectnum = sect16;
|
|
|
|
return p;
|
|
|
|
}
|
|
|
|
|
2020-08-05 22:18:45 +00:00
|
|
|
|
|
|
|
void ProcessVisOn(void);
|
|
|
|
void VisViewChange(PLAYERp pp, int* vis);
|
2021-11-02 23:12:20 +00:00
|
|
|
void SpawnVis(DSWActor* Parent, short sectnum, int x, int y, int z, int amt);
|
2020-08-05 22:18:45 +00:00
|
|
|
|
|
|
|
enum TriggerType { TRIGGER_TYPE_REMOTE_SO };
|
|
|
|
|
2021-11-01 13:36:46 +00:00
|
|
|
int ActorFollowTrack(DSWActor*, short locktics);
|
2020-08-05 22:18:45 +00:00
|
|
|
void ActorLeaveTrack(short SpriteNum);
|
2020-09-09 18:32:24 +00:00
|
|
|
void RefreshPoints(SECTOR_OBJECTp sop, int nx, int ny, bool dynamic);
|
2020-08-05 22:18:45 +00:00
|
|
|
void TrackSetup(void);
|
|
|
|
void PlaceSectorObject(SECTOR_OBJECTp sop, int newx, int newy);
|
|
|
|
void PlaceSectorObjectsOnTracks(void);
|
|
|
|
void PlaceActorsOnTracks(void);
|
|
|
|
void SetupSectorObject(short sectnum, short tag);
|
|
|
|
void PostSetupSectorObject(void);
|
|
|
|
void VehicleSetSmoke(SECTOR_OBJECTp sop, ANIMATORp animator);
|
|
|
|
void CollapseSectorObject(SECTOR_OBJECTp sop, int nx, int ny);
|
|
|
|
void KillSectorObjectSprites(SECTOR_OBJECTp sop);
|
|
|
|
void MoveSectorObjects(SECTOR_OBJECTp sop, short locktics);
|
|
|
|
|
|
|
|
#define TEXT_INFO_TIME (3)
|
|
|
|
#define TEXT_INFO_Y (40)
|
|
|
|
#define TEXT_INFO_YOFF (10)
|
2020-08-15 18:29:13 +00:00
|
|
|
inline constexpr int TEXT_INFO_LINE(int line) { return (TEXT_INFO_Y + ((line)*TEXT_INFO_YOFF)); }
|
2020-08-05 22:18:45 +00:00
|
|
|
|
|
|
|
void PutStringInfo(PLAYERp pp, const char* string);
|
|
|
|
|
|
|
|
|
2021-11-02 21:37:33 +00:00
|
|
|
void DoSlidorMatch(PLAYERp pp, short match, bool);
|
2020-09-09 18:32:24 +00:00
|
|
|
bool TestSlidorMatchActive(short match);
|
|
|
|
void InterpSectorSprites(short sectnum, bool state);
|
2020-08-05 22:18:45 +00:00
|
|
|
|
2020-11-26 17:05:49 +00:00
|
|
|
using INTERP_FUNC = void(*)(int, int);
|
2020-08-05 22:18:45 +00:00
|
|
|
|
2021-11-02 21:37:33 +00:00
|
|
|
void SetSlidorActive(DSWActor*);
|
2021-11-02 21:44:31 +00:00
|
|
|
void DoSlidorInterp(DSWActor*, INTERP_FUNC);
|
2020-08-05 22:18:45 +00:00
|
|
|
|
2021-10-29 21:03:47 +00:00
|
|
|
int DoBeginJump(DSWActor* actor);
|
2021-10-29 21:38:21 +00:00
|
|
|
int DoJump(DSWActor* actor);
|
2021-10-29 21:41:33 +00:00
|
|
|
int DoBeginFall(DSWActor* actor);
|
|
|
|
int DoFall(DSWActor* actor);
|
2021-10-29 20:34:54 +00:00
|
|
|
void KeepActorOnFloor(DSWActor* actor);
|
2021-10-29 18:49:57 +00:00
|
|
|
int DoActorSlide(DSWActor* actor);
|
|
|
|
int DoActorSectorDamage(DSWActor* actor);
|
2021-10-29 19:06:37 +00:00
|
|
|
int DoScaleSprite(DSWActor* actor);
|
2021-10-29 20:00:27 +00:00
|
|
|
int DoActorStopFall(DSWActor* actor);
|
2020-08-16 21:21:24 +00:00
|
|
|
|
|
|
|
void InitPlayerSprite(PLAYERp pp);
|
|
|
|
void InitAllPlayerSprites(void);
|
|
|
|
void PlayerPanelSetup(void);
|
|
|
|
void PlayerDeathReset(PLAYERp pp);
|
|
|
|
void SpawnPlayerUnderSprite(PLAYERp pp);
|
|
|
|
|
|
|
|
void DoQuakeMatch(short match);
|
|
|
|
void ProcessQuakeOn(void);
|
|
|
|
void ProcessQuakeSpot(void);
|
|
|
|
void QuakeViewChange(PLAYERp pp, int* z_diff, int* x_diff, int* y_diff, short* ang_diff);
|
|
|
|
void DoQuake(PLAYERp pp);
|
2020-09-09 18:32:24 +00:00
|
|
|
bool SetQuake(PLAYERp pp, short tics, short amt);
|
2020-08-16 21:21:24 +00:00
|
|
|
int SetExpQuake(int16_t Weapon);
|
|
|
|
int SetGunQuake(int16_t SpriteNum);
|
|
|
|
int SetPlayerQuake(PLAYERp mpp);
|
|
|
|
int SetNuclearQuake(int16_t Weapon);
|
2021-11-02 23:00:10 +00:00
|
|
|
int SetSumoQuake(DSWActor*);
|
|
|
|
int SetSumoFartQuake(DSWActor*);
|
2020-08-16 21:21:24 +00:00
|
|
|
|
2020-08-05 15:07:19 +00:00
|
|
|
END_SW_NS
|