mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-28 14:11:06 +00:00
* DObjects may not be memset to 0. * There was still code trying to retrieve the player index with pointer artithmetic. With an array of pointers this does not work.
97 lines
2.9 KiB
C
97 lines
2.9 KiB
C
#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);
|
|
|
|
void InitCheats();
|
|
|
|
void MapColors(short num,COLOR_MAP cm,short create);
|
|
int32_t CONFIG_ReadSetup(void);
|
|
|
|
bool WarpSectorInfo(sectortype* sect, DSWActor** sp_warp);
|
|
DSWActor* Warp(DVector3& pos, sectortype** sect);
|
|
DSWActor* WarpPlane(DVector3& pos, sectortype** sect, double testz = DBL_MAX);
|
|
|
|
|
|
|
|
void ProcessVisOn(void);
|
|
void VisViewChange(DSWPlayer* pp, int* vis);
|
|
void SpawnVis(DSWActor* Parent, sectortype* sect, const DVector3& pos, int amt);
|
|
|
|
enum TriggerType { TRIGGER_TYPE_REMOTE_SO };
|
|
|
|
int ActorFollowTrack(DSWActor*, short locktics);
|
|
void ActorLeaveTrack(DSWActor*);
|
|
void RefreshPoints(SECTOR_OBJECT* sop, const DVector2& pos, bool dynamic);
|
|
void TrackSetup(void);
|
|
void PlaceSectorObject(SECTOR_OBJECT* sop, const DVector2& newpos);
|
|
void PlaceSectorObjectsOnTracks(void);
|
|
void PlaceActorsOnTracks(void);
|
|
void SetupSectorObject(sectortype* sect, short tag);
|
|
void PostSetupSectorObject(void);
|
|
void VehicleSetSmoke(SECTOR_OBJECT* sop, VMFunction* animator);
|
|
void CollapseSectorObject(SECTOR_OBJECT* sop, const DVector2& pos);
|
|
void KillSectorObjectSprites(SECTOR_OBJECT* sop);
|
|
void MoveSectorObjects(SECTOR_OBJECT* sop, short locktics);
|
|
|
|
int DoActorBeginJump(DSWActor* actor);
|
|
int DoActorBeginFall(DSWActor* actor);
|
|
int DoActorFall(DSWActor* actor);
|
|
|
|
#define TEXT_INFO_TIME (3)
|
|
#define TEXT_INFO_Y (40)
|
|
#define TEXT_INFO_YOFF (10)
|
|
inline constexpr int TEXT_INFO_LINE(int line) { return (TEXT_INFO_Y + ((line)*TEXT_INFO_YOFF)); }
|
|
|
|
void PutStringInfo(DSWPlayer* pp, const char* string);
|
|
|
|
|
|
void DoSlidorMatch(DSWPlayer* pp, short match, bool);
|
|
bool TestSlidorMatchActive(short match);
|
|
void InterpSectorSprites(sectortype* sect, bool state);
|
|
|
|
using INTERP_FUNC = void(*)(walltype*, int);
|
|
|
|
void SetSlidorActive(DSWActor*);
|
|
void DoSlidorInterp(DSWActor*, INTERP_FUNC);
|
|
|
|
int DoBeginJump(DSWActor* actor);
|
|
int DoJump(DSWActor* actor);
|
|
int DoBeginFall(DSWActor* actor);
|
|
int DoFall(DSWActor* actor);
|
|
void KeepActorOnFloor(DSWActor* actor);
|
|
int DoActorSlide(DSWActor* actor);
|
|
int DoActorSectorDamage(DSWActor* actor);
|
|
int DoScaleSprite(DSWActor* actor);
|
|
int DoActorStopFall(DSWActor* actor);
|
|
|
|
void InitPlayerSprite(DSWPlayer* pp, const DVector3& spawnpos, const DAngle startang);
|
|
void InitAllPlayerSprites(const DVector3& spawnpos, const DAngle startang);
|
|
void PlayerPanelSetup(void);
|
|
void PlayerDeathReset(DSWPlayer* pp);
|
|
void SpawnPlayerUnderSprite(DSWPlayer* pp);
|
|
|
|
void DoQuakeMatch(short match);
|
|
void ProcessQuakeOn(void);
|
|
void ProcessQuakeSpot(void);
|
|
void QuakeViewChange(DSWPlayer* pp, DVector3& tpos, DAngle& tang);
|
|
void DoQuake(DSWPlayer* pp);
|
|
bool SetQuake(DSWPlayer* pp, short tics, short amt);
|
|
int SetExpQuake(DSWActor*);
|
|
int SetGunQuake(DSWActor*);
|
|
int SetPlayerQuake(DSWPlayer* mpp);
|
|
int SetNuclearQuake(DSWActor*);
|
|
int SetSumoQuake(DSWActor*);
|
|
int SetSumoFartQuake(DSWActor*);
|
|
|
|
END_SW_NS
|