Devilution
Diablo devolved - magic behind the 1996 computer game
objects.h
Go to the documentation of this file.
1 //HEADER_GOES_HERE
2 #ifndef __OBJECTS_H__
3 #define __OBJECTS_H__
4 
5 extern int trapid;
6 extern int trapdir;
7 extern BYTE *pObjCels[40];
8 extern char ObjFileList[40];
9 extern int objectactive[MAXOBJECTS];
10 extern int nobjects;
11 extern int leverid;
12 extern int objectavail[MAXOBJECTS];
13 extern ObjectStruct object[MAXOBJECTS];
14 extern BOOL InitObjFlag;
15 extern int numobjfiles;
16 
17 void InitObjectGFX();
18 void FreeObjectGFX();
19 BOOL RndLocOk(int xp, int yp);
20 void InitRndLocObj(int min, int max, int objtype);
21 void InitRndLocBigObj(int min, int max, int objtype);
22 void InitRndLocObj5x5(int min, int max, int objtype);
23 void ClrAllObjects();
24 void AddTortures();
25 void AddCandles();
26 void AddBookLever(int lx1, int ly1, int lx2, int ly2, int x1, int y1, int x2, int y2, int msg);
27 void InitRndBarrels();
28 void AddL1Objs(int x1, int y1, int x2, int y2);
29 void AddL2Objs(int x1, int y1, int x2, int y2);
30 void AddL3Objs(int x1, int y1, int x2, int y2);
31 BOOL WallTrapLocOk(int xp, int yp);
32 void AddL2Torches();
33 BOOL TorchLocOK(int xp, int yp);
34 void AddObjTraps();
35 void AddChestTraps();
36 void LoadMapObjects(BYTE *pMap, int startx, int starty, int x1, int y1, int w, int h, int leveridx);
37 void LoadMapObjs(BYTE *pMap, int startx, int starty);
38 void AddDiabObjs();
39 void AddStoryBooks();
40 void AddHookedBodies(int freq);
41 void AddL4Goodies();
42 void AddLazStand();
43 void InitObjects();
44 void SetMapObjects(BYTE *pMap, int startx, int starty);
45 void DeleteObject_(int oi, int i);
46 void SetupObject(int i, int x, int y, int ot);
47 void SetObjMapRange(int i, int x1, int y1, int x2, int y2, int v);
48 void SetBookMsg(int i, int msg);
49 void AddL1Door(int i, int x, int y, int ot);
50 void AddSCambBook(int i);
51 void AddChest(int i, int t);
52 void AddL2Door(int i, int x, int y, int ot);
53 void AddL3Door(int i, int x, int y, int ot);
54 void AddSarc(int i);
55 void AddFlameTrap(int i);
56 void AddFlameLvr(int i);
57 void AddTrap(int i, int ot);
58 void AddObjLight(int i, int r);
59 void AddBarrel(int i, int t);
60 void AddShrine(int i);
61 void AddBookcase(int i);
62 void AddPurifyingFountain(int i);
63 void AddArmorStand(int i);
64 void AddGoatShrine(int i);
65 void AddCauldron(int i);
66 void AddMurkyFountain(int i);
67 void AddTearFountain(int i);
68 void AddDecap(int i);
69 void AddVilebook(int i);
70 void AddMagicCircle(int i);
71 void AddBrnCross(int i);
72 void AddBookstand(int i);
73 void AddBloodFtn(int i);
74 void AddPedistal(int i);
75 void AddStoryBook(int i);
76 void AddWeaponRack(int i);
77 void AddTorturedBody(int i);
78 void GetRndObjLoc(int randarea, int *xx, int *yy);
79 void AddMushPatch();
80 void AddSlainHero();
81 void AddObject(int ot, int ox, int oy);
82 void Obj_Light(int i, int lr);
83 void Obj_Circle(int i);
84 void Obj_StopAnim(int i);
85 void Obj_Door(int i);
86 void Obj_Sarc(int i);
87 void ActivateTrapLine(int ttype, int tid);
88 void Obj_FlameTrap(int i);
89 void Obj_Trap(int i);
90 void Obj_BCrossDamage(int i);
91 void ProcessObjects();
92 void ObjSetMicro(int dx, int dy, int pn);
93 void objects_set_door_piece(int x, int y);
94 void ObjSetMini(int x, int y, int v);
95 void ObjL1Special(int x1, int y1, int x2, int y2);
96 void ObjL2Special(int x1, int y1, int x2, int y2);
97 void DoorSet(int oi, int dx, int dy);
98 void RedoPlayerVision();
99 void OperateL1RDoor(int pnum, int oi, BOOL sendflag);
100 void OperateL1LDoor(int pnum, int oi, BOOL sendflag);
101 void OperateL2RDoor(int pnum, int oi, BOOL sendflag);
102 void OperateL2LDoor(int pnum, int oi, BOOL sendflag);
103 void OperateL3RDoor(int pnum, int oi, BOOL sendflag);
104 void OperateL3LDoor(int pnum, int oi, BOOL sendflag);
105 void MonstCheckDoors(int m);
106 void ObjChangeMap(int x1, int y1, int x2, int y2);
107 void ObjChangeMapResync(int x1, int y1, int x2, int y2);
108 void OperateL1Door(int pnum, int i, BOOL sendflag);
109 void OperateLever(int pnum, int i);
110 void OperateBook(int pnum, int i);
111 void OperateBookLever(int pnum, int i);
112 void OperateSChambBk(int pnum, int i);
113 void OperateChest(int pnum, int i, BOOL sendmsg);
114 void OperateMushPatch(int pnum, int i);
115 void OperateInnSignChest(int pnum, int i);
116 void OperateSlainHero(int pnum, int i, BOOL sendmsg);
117 void OperateTrapLvr(int i);
118 void OperateSarc(int pnum, int i, BOOL sendmsg);
119 void OperateL2Door(int pnum, int i, BOOL sendflag);
120 void OperateL3Door(int pnum, int i, BOOL sendflag);
121 void OperatePedistal(int pnum, int i);
122 void TryDisarm(int pnum, int i);
123 int ItemMiscIdIdx(int imiscid);
124 void OperateShrine(int pnum, int i, int sType);
125 void OperateSkelBook(int pnum, int i, BOOL sendmsg);
126 void OperateBookCase(int pnum, int i, BOOL sendmsg);
127 void OperateDecap(int pnum, int i, BOOL sendmsg);
128 void OperateArmorStand(int pnum, int i, BOOL sendmsg);
129 int FindValidShrine(int i);
130 void OperateGoatShrine(int pnum, int i, int sType);
131 void OperateCauldron(int pnum, int i, int sType);
132 BOOL OperateFountains(int pnum, int i);
133 void OperateWeaponRack(int pnum, int i, BOOL sendmsg);
134 void OperateStoryBook(int pnum, int i);
135 void OperateLazStand(int pnum, int i);
136 void OperateObject(int pnum, int i, BOOL TeleFlag);
137 void SyncOpL1Door(int pnum, int cmd, int i);
138 void SyncOpL2Door(int pnum, int cmd, int i);
139 void SyncOpL3Door(int pnum, int cmd, int i);
140 void SyncOpObject(int pnum, int cmd, int i);
141 void BreakCrux(int i);
142 void BreakBarrel(int pnum, int i, int dam, BOOL forcebreak, BOOL sendmsg);
143 void BreakObject(int pnum, int oi);
144 void SyncBreakObj(int pnum, int oi);
145 void SyncL1Doors(int i);
146 void SyncCrux(int i);
147 void SyncLever(int i);
148 void SyncQSTLever(int i);
149 void SyncPedistal(int i);
150 void SyncL2Doors(int i);
151 void SyncL3Doors(int i);
152 void SyncObjectAnim(int o);
153 void GetObjectStr(int i);
154 
155 /* rdata */
156 
157 extern int bxadd[8];
158 extern int byadd[8];
159 extern char *shrinestrs[NUM_SHRINETYPE];
160 extern char shrinemin[NUM_SHRINETYPE];
161 extern char shrinemax[NUM_SHRINETYPE];
162 extern BYTE shrineavail[NUM_SHRINETYPE];
163 extern char *StoryBookName[9];
164 extern int StoryText[3][3];
165 
166 #endif /* __OBJECTS_H__ */
ObjSetMicro
void ObjSetMicro(int dx, int dy, int pn)
Definition: objects.cpp:1807
InitObjectGFX
void InitObjectGFX()
Definition: objects.cpp:80
SyncOpObject
void SyncOpObject(int pnum, int cmd, int i)
Definition: objects.cpp:3924
OperateL1Door
void OperateL1Door(int pnum, int i, BOOL sendflag)
Definition: objects.cpp:2348
AddWeaponRack
void AddWeaponRack(int i)
Definition: objects.cpp:1261
InitRndBarrels
void InitRndBarrels()
Definition: objects.cpp:328
AddBookcase
void AddBookcase(int i)
Definition: objects.cpp:1142
SyncOpL1Door
void SyncOpL1Door(int pnum, int cmd, int i)
Definition: objects.cpp:3855
objectactive
int objectactive[MAXOBJECTS]
Definition: objects.cpp:9
LoadMapObjs
void LoadMapObjs(BYTE *pMap, int startx, int starty)
Definition: objects.cpp:573
AddL4Goodies
void AddL4Goodies()
Definition: objects.cpp:691
Obj_Circle
void Obj_Circle(int i)
Definition: objects.cpp:1501
Obj_Sarc
void Obj_Sarc(int i)
Definition: objects.cpp:1570
AddShrine
void AddShrine(int i)
Definition: objects.cpp:1107
Obj_Trap
void Obj_Trap(int i)
Definition: objects.cpp:1634
SetMapObjects
void SetMapObjects(BYTE *pMap, int startx, int starty)
Definition: objects.cpp:846
AddStoryBooks
void AddStoryBooks()
Definition: objects.cpp:617
SyncCrux
void SyncCrux(int i)
Definition: objects.cpp:4168
GetRndObjLoc
void GetRndObjLoc(int randarea, int *xx, int *yy)
Definition: objects.cpp:1277
OperateL3LDoor
void OperateL3LDoor(int pnum, int oi, BOOL sendflag)
Definition: objects.cpp:2223
OperateStoryBook
void OperateStoryBook(int pnum, int i)
Definition: objects.cpp:3706
AddBookstand
void AddBookstand(int i)
Definition: objects.cpp:1148
SyncObjectAnim
void SyncObjectAnim(int o)
Definition: objects.cpp:4267
OperateL1RDoor
void OperateL1RDoor(int pnum, int oi, BOOL sendflag)
Definition: objects.cpp:1990
GetObjectStr
void GetObjectStr(int i)
Definition: objects.cpp:4317
ClrAllObjects
void ClrAllObjects()
Definition: objects.cpp:226
SyncOpL3Door
void SyncOpL3Door(int pnum, int cmd, int i)
Definition: objects.cpp:3901
AddFlameLvr
void AddFlameLvr(int i)
Definition: objects.cpp:1065
OperateL2RDoor
void OperateL2RDoor(int pnum, int oi, BOOL sendflag)
Definition: objects.cpp:2099
OperateSlainHero
void OperateSlainHero(int pnum, int i, BOOL sendmsg)
Definition: objects.cpp:2639
AddVilebook
void AddVilebook(int i)
Definition: objects.cpp:1214
RndLocOk
BOOL RndLocOk(int xp, int yp)
Definition: objects.cpp:127
objects_set_door_piece
void objects_set_door_piece(int x, int y)
Definition: objects.cpp:1829
InitObjects
void InitObjects()
Definition: objects.cpp:743
AddL2Objs
void AddL2Objs(int x1, int y1, int x2, int y2)
Definition: objects.cpp:392
AddLazStand
void AddLazStand()
Definition: objects.cpp:705
OperateShrine
void OperateShrine(int pnum, int i, int sType)
Definition: objects.cpp:2818
AddL2Door
void AddL2Door(int i, int x, int y, int ot)
Definition: objects.cpp:1028
OperateL1LDoor
void OperateL1LDoor(int pnum, int oi, BOOL sendflag)
Definition: objects.cpp:2043
Obj_StopAnim
void Obj_StopAnim(int i)
Definition: objects.cpp:1541
leverid
int leverid
Definition: objects.cpp:11
OperateSChambBk
void OperateSChambBk(int pnum, int i)
Definition: objects.cpp:2505
BreakBarrel
void BreakBarrel(int pnum, int i, int dam, BOOL forcebreak, BOOL sendmsg)
Definition: objects.cpp:4038
DoorSet
void DoorSet(int oi, int dx, int dy)
Definition: objects.cpp:1938
byadd
int byadd[8]
Definition: objects.cpp:18
OperateL3RDoor
void OperateL3RDoor(int pnum, int oi, BOOL sendflag)
Definition: objects.cpp:2181
OperateWeaponRack
void OperateWeaponRack(int pnum, int i, BOOL sendmsg)
Definition: objects.cpp:3670
OperateL3Door
void OperateL3Door(int pnum, int i, BOOL sendflag)
Definition: objects.cpp:2730
ItemMiscIdIdx
int ItemMiscIdIdx(int imiscid)
Definition: objects.cpp:2806
LoadMapObjects
void LoadMapObjects(BYTE *pMap, int startx, int starty, int x1, int y1, int w, int h, int leveridx)
Definition: objects.cpp:543
OperateLever
void OperateLever(int pnum, int i)
Definition: objects.cpp:2360
TorchLocOK
BOOL TorchLocOK(int xp, int yp)
Definition: objects.cpp:454
AddPurifyingFountain
void AddPurifyingFountain(int i)
Definition: objects.cpp:1158
AddL1Door
void AddL1Door(int i, int x, int y, int ot)
Definition: objects.cpp:972
OperateCauldron
void OperateCauldron(int pnum, int i, int sType)
Definition: objects.cpp:3541
AddSCambBook
void AddSCambBook(int i)
Definition: objects.cpp:985
AddObject
void AddObject(int ot, int ox, int oy)
Definition: objects.cpp:1326
AddTearFountain
void AddTearFountain(int i)
Definition: objects.cpp:1202
pObjCels
BYTE * pObjCels[40]
Definition: objects.cpp:7
Obj_Door
void Obj_Door(int i)
Definition: objects.cpp:1549
ObjChangeMapResync
void ObjChangeMapResync(int x1, int y1, int x2, int y2)
Definition: objects.cpp:2330
AddL3Door
void AddL3Door(int i, int x, int y, int ot)
Definition: objects.cpp:1038
ObjL2Special
void ObjL2Special(int x1, int y1, int x2, int y2)
Definition: objects.cpp:1901
OperateBookLever
void OperateBookLever(int pnum, int i)
Definition: objects.cpp:2461
AddFlameTrap
void AddFlameTrap(int i)
Definition: objects.cpp:1057
AddL2Torches
void AddL2Torches()
Definition: objects.cpp:429
AddDiabObjs
void AddDiabObjs()
Definition: objects.cpp:602
ObjChangeMap
void ObjChangeMap(int x1, int y1, int x2, int y2)
Definition: objects.cpp:2310
nobjects
int nobjects
Definition: objects.cpp:10
MonstCheckDoors
void MonstCheckDoors(int m)
Definition: objects.cpp:2265
shrinemax
char shrinemax[NUM_SHRINETYPE]
Definition: objects.cpp:52
OperateChest
void OperateChest(int pnum, int i, BOOL sendmsg)
Definition: objects.cpp:2532
ProcessObjects
void ProcessObjects()
Definition: objects.cpp:1720
AddObjLight
void AddObjLight(int i, int r)
Definition: objects.cpp:1086
AddCauldron
void AddCauldron(int i)
Definition: objects.cpp:1185
BreakObject
void BreakObject(int pnum, int oi)
Definition: objects.cpp:4107
BreakCrux
void BreakCrux(int i)
Definition: objects.cpp:4010
trapid
int trapid
Definition: objects.cpp:5
SetupObject
void SetupObject(int i, int x, int y, int ot)
Definition: objects.cpp:920
Obj_BCrossDamage
void Obj_BCrossDamage(int i)
Definition: objects.cpp:1687
AddBloodFtn
void AddBloodFtn(int i)
Definition: objects.cpp:1153
AddDecap
void AddDecap(int i)
Definition: objects.cpp:1207
AddHookedBodies
void AddHookedBodies(int freq)
Definition: objects.cpp:649
AddMushPatch
void AddMushPatch()
Definition: objects.cpp:1303
WallTrapLocOk
BOOL WallTrapLocOk(int xp, int yp)
Definition: objects.cpp:422
AddMagicCircle
void AddMagicCircle(int i)
Definition: objects.cpp:1221
FindValidShrine
int FindValidShrine(int i)
Definition: objects.cpp:3505
numobjfiles
int numobjfiles
Definition: objects.cpp:15
ObjFileList
char ObjFileList[40]
Definition: objects.cpp:8
StoryBookName
char * StoryBookName[9]
Definition: objects.cpp:63
shrinemin
char shrinemin[NUM_SHRINETYPE]
Definition: objects.cpp:47
SyncQSTLever
void SyncQSTLever(int i)
Definition: objects.cpp:4193
AddBrnCross
void AddBrnCross(int i)
Definition: objects.cpp:1229
SyncBreakObj
void SyncBreakObj(int pnum, int oi)
Definition: objects.cpp:4132
AddSlainHero
void AddSlainHero()
Definition: objects.cpp:1318
Obj_FlameTrap
void Obj_FlameTrap(int i)
Definition: objects.cpp:1591
AddObjTraps
void AddObjTraps()
Definition: objects.cpp:465
InitRndLocBigObj
void InitRndLocBigObj(int min, int max, int objtype)
Definition: objects.cpp:170
RedoPlayerVision
void RedoPlayerVision()
Definition: objects.cpp:1979
AddPedistal
void AddPedistal(int i)
Definition: objects.cpp:1234
AddTorturedBody
void AddTorturedBody(int i)
Definition: objects.cpp:1270
OperateL2Door
void OperateL2Door(int pnum, int i, BOOL sendflag)
Definition: objects.cpp:2718
OperateLazStand
void OperateLazStand(int pnum, int i)
Definition: objects.cpp:3716
ObjSetMini
void ObjSetMini(int x, int y, int v)
Definition: objects.cpp:1842
InitRndLocObj
void InitRndLocObj(int min, int max, int objtype)
Definition: objects.cpp:144
MAXOBJECTS
#define MAXOBJECTS
Definition: defs.h:33
AddBookLever
void AddBookLever(int lx1, int ly1, int lx2, int ly2, int x1, int y1, int x2, int y2, int msg)
Definition: objects.cpp:289
AddTrap
void AddTrap(int i, int ot)
Definition: objects.cpp:1071
SyncL2Doors
void SyncL2Doors(int i)
Definition: objects.cpp:4226
Obj_Light
void Obj_Light(int i, int lr)
Definition: objects.cpp:1467
shrinestrs
char * shrinestrs[NUM_SHRINETYPE]
Definition: objects.cpp:19
AddL1Objs
void AddL1Objs(int x1, int y1, int x2, int y2)
Definition: objects.cpp:375
AddCandles
void AddCandles()
Definition: objects.cpp:277
OperateSarc
void OperateSarc(int pnum, int i, BOOL sendmsg)
Definition: objects.cpp:2696
AddBarrel
void AddBarrel(int i, int t)
Definition: objects.cpp:1096
SetBookMsg
void SetBookMsg(int i, int msg)
Definition: objects.cpp:967
FreeObjectGFX
void FreeObjectGFX()
Definition: objects.cpp:117
AddChestTraps
void AddChestTraps()
Definition: objects.cpp:520
SyncOpL2Door
void SyncOpL2Door(int pnum, int cmd, int i)
Definition: objects.cpp:3878
OperateInnSignChest
void OperateInnSignChest(int pnum, int i)
Definition: objects.cpp:2609
OperateL2LDoor
void OperateL2LDoor(int pnum, int oi, BOOL sendflag)
Definition: objects.cpp:2140
TryDisarm
void TryDisarm(int pnum, int i)
Definition: objects.cpp:2776
bxadd
int bxadd[8]
Definition: objects.cpp:17
OperateFountains
BOOL OperateFountains(int pnum, int i)
Definition: objects.cpp:3551
SyncLever
void SyncLever(int i)
Definition: objects.cpp:4187
AddMurkyFountain
void AddMurkyFountain(int i)
Definition: objects.cpp:1190
OperateDecap
void OperateDecap(int pnum, int i, BOOL sendmsg)
Definition: objects.cpp:3466
shrineavail
BYTE shrineavail[NUM_SHRINETYPE]
0 - sp+mp, 1 - sp only, 2 - mp only
Definition: objects.cpp:58
SyncL3Doors
void SyncL3Doors(int i)
Definition: objects.cpp:4248
InitObjFlag
BOOL InitObjFlag
Definition: objects.cpp:14
OperateObject
void OperateObject(int pnum, int i, BOOL TeleFlag)
Definition: objects.cpp:3728
OperateArmorStand
void OperateArmorStand(int pnum, int i, BOOL sendmsg)
Definition: objects.cpp:3479
objectavail
int objectavail[MAXOBJECTS]
Definition: objects.cpp:12
OperateMushPatch
void OperateMushPatch(int pnum, int i)
Definition: objects.cpp:2578
OperateGoatShrine
void OperateGoatShrine(int pnum, int i, int sType)
Definition: objects.cpp:3532
ActivateTrapLine
void ActivateTrapLine(int ttype, int tid)
Definition: objects.cpp:1576
OperateBookCase
void OperateBookCase(int pnum, int i, BOOL sendmsg)
Definition: objects.cpp:3441
OperateTrapLvr
void OperateTrapLvr(int i)
Definition: objects.cpp:2666
OperateSkelBook
void OperateSkelBook(int pnum, int i, BOOL sendmsg)
Definition: objects.cpp:3422
AddL3Objs
void AddL3Objs(int x1, int y1, int x2, int y2)
Definition: objects.cpp:407
StoryText
int StoryText[3][3]
Definition: objects.cpp:74
DeleteObject_
void DeleteObject_(int oi, int i)
Definition: objects.cpp:907
InitRndLocObj5x5
void InitRndLocObj5x5(int min, int max, int objtype)
Definition: objects.cpp:198
OperateBook
void OperateBook(int pnum, int i)
Definition: objects.cpp:2388
AddChest
void AddChest(int i, int t)
Definition: objects.cpp:994
AddSarc
void AddSarc(int i)
Definition: objects.cpp:1048
AddStoryBook
void AddStoryBook(int i)
Definition: objects.cpp:1242
NUM_SHRINETYPE
@ NUM_SHRINETYPE
Definition: enums.h:2901
SetObjMapRange
void SetObjMapRange(int i, int x1, int y1, int x2, int y2, int v)
Definition: objects.cpp:958
AddTortures
void AddTortures()
Definition: objects.cpp:254
AddGoatShrine
void AddGoatShrine(int i)
Definition: objects.cpp:1180
trapdir
int trapdir
Definition: objects.cpp:6
ObjectStruct
Definition: structs.h:657
AddArmorStand
void AddArmorStand(int i)
Definition: objects.cpp:1170
OperatePedistal
void OperatePedistal(int pnum, int i)
Definition: objects.cpp:2742
SyncL1Doors
void SyncL1Doors(int i)
Definition: objects.cpp:4138
SyncPedistal
void SyncPedistal(int i)
Definition: objects.cpp:4208
ObjL1Special
void ObjL1Special(int x1, int y1, int x2, int y2)
Definition: objects.cpp:1862