2019-09-19 22:42:45 +00:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
/*
|
|
|
|
Copyright (C) 2010-2019 EDuke32 developers and contributors
|
|
|
|
Copyright (C) 2019 Nuke.YKT
|
|
|
|
|
|
|
|
This file is part of NBlood.
|
|
|
|
|
|
|
|
NBlood is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU General Public License version 2
|
|
|
|
as published by the Free Software Foundation.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
|
|
|
|
See the GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
*/
|
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "build.h"
|
|
|
|
#include "common_game.h"
|
|
|
|
|
|
|
|
#include "db.h"
|
|
|
|
#include "eventq.h"
|
|
|
|
#include "dude.h"
|
2019-11-08 19:57:01 +00:00
|
|
|
#include "player.h"
|
2019-09-19 22:42:45 +00:00
|
|
|
|
2021-05-03 22:03:01 +00:00
|
|
|
BEGIN_BLD_NS
|
|
|
|
|
2020-12-06 20:56:09 +00:00
|
|
|
enum BUSYID {
|
2021-12-29 21:56:21 +00:00
|
|
|
BUSYID_0 = 0,
|
|
|
|
BUSYID_1,
|
|
|
|
BUSYID_2,
|
|
|
|
BUSYID_3,
|
|
|
|
BUSYID_4,
|
|
|
|
BUSYID_5,
|
|
|
|
BUSYID_6,
|
|
|
|
BUSYID_7,
|
2020-12-06 20:56:09 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct BUSY {
|
2021-12-29 21:56:21 +00:00
|
|
|
sectortype* sect;
|
|
|
|
int delta;
|
|
|
|
int busy;
|
|
|
|
int/*BUSYID*/ type;
|
2020-12-06 20:56:09 +00:00
|
|
|
};
|
|
|
|
|
2021-11-24 00:38:20 +00:00
|
|
|
extern TArray<BUSY> gBusy;
|
2020-12-06 20:56:09 +00:00
|
|
|
|
2022-08-10 21:45:29 +00:00
|
|
|
void trTriggerSector(sectortype* pSector, int command, DBloodActor* initiator = nullptr);
|
2021-11-23 19:58:30 +00:00
|
|
|
void trMessageSector(sectortype* pSector, EVENT event);
|
2022-08-10 21:45:29 +00:00
|
|
|
void trTriggerWall(walltype*, int command, DBloodActor* initiator = nullptr);
|
2021-12-05 19:55:19 +00:00
|
|
|
void trMessageWall(walltype* pWall, EVENT& event);
|
2022-08-10 21:45:29 +00:00
|
|
|
void trTriggerSprite(DBloodActor* actor, int command, DBloodActor* initiator = nullptr);
|
2021-09-05 06:27:34 +00:00
|
|
|
void trMessageSprite(DBloodActor* actor, EVENT event);
|
2019-09-19 22:42:45 +00:00
|
|
|
void trProcessBusy(void);
|
2021-12-03 20:36:32 +00:00
|
|
|
void trInit(TArray<DBloodActor*>& actors);
|
2019-09-19 22:42:45 +00:00
|
|
|
void trTextOver(int nId);
|
2022-08-10 21:45:29 +00:00
|
|
|
bool SetSpriteState(DBloodActor* actor, int nState, DBloodActor* initiator);
|
|
|
|
bool SetWallState(walltype* pWall, int nState, DBloodActor* initiator);
|
|
|
|
bool SetSectorState(sectortype* pSector, int nState, DBloodActor* initiator);
|
2021-11-24 00:22:18 +00:00
|
|
|
void TeleFrag(DBloodActor* killer, sectortype* pSector);
|
2021-11-24 00:18:05 +00:00
|
|
|
void SectorStartSound(sectortype* pSector, int nState);
|
|
|
|
void SectorEndSound(sectortype* pSector, int nState);
|
2019-09-22 06:39:22 +00:00
|
|
|
|
|
|
|
END_BLD_NS
|