forked from Ports/perfect_dark
Introduce RoomNum typedef
This commit is contained in:
1 parent
c55f9c805c
commit
83e8265d5b
73 files changed
+611
-610
No files matched your search
+25
-25
@@ -86,12 +86,12 @@ u32 var800a4920;
|
||||
u32 g_BgSection3;
|
||||
struct room *g_Rooms;
|
||||
u8 *g_MpRoomVisibility;
|
||||
s16 g_BgForceOnscreenRooms[350];
|
||||
RoomNum g_BgForceOnscreenRooms[350];
|
||||
s32 g_BgNumForceOnscreenRooms;
|
||||
u16 g_BgUnloadDelay240;
|
||||
u16 g_BgUnloadDelay240_2;
|
||||
u32 var800a4bf4;
|
||||
s16 g_GlareRooms[100];
|
||||
RoomNum g_GlareRooms[100];
|
||||
u32 *g_BgPrimaryData2;
|
||||
struct bgroom *g_BgRooms;
|
||||
struct bgportal *g_BgPortals;
|
||||
@@ -135,7 +135,7 @@ void bgUnpausePropsInRoom(u32 roomnum, bool tintedglassonly)
|
||||
struct prop *prop;
|
||||
struct defaultobj *obj;
|
||||
s16 *propnumptr;
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
s16 propnums[256];
|
||||
|
||||
rooms[0] = roomnum;
|
||||
@@ -869,11 +869,11 @@ Gfx *bgRenderRoomInXray(Gfx *gdl, s32 roomnum)
|
||||
|
||||
Gfx *bgRenderSceneInXray(Gfx *gdl)
|
||||
{
|
||||
s16 *roomnumptr;
|
||||
s16 *room;
|
||||
RoomNum *roomnumptr;
|
||||
RoomNum *room;
|
||||
s16 i;
|
||||
s32 j;
|
||||
s16 roomnumsbyprop[200];
|
||||
RoomNum roomnumsbyprop[200];
|
||||
struct prop *prop;
|
||||
struct prop **ptr;
|
||||
s32 k;
|
||||
@@ -969,15 +969,15 @@ Gfx *bgRenderScene(Gfx *gdl)
|
||||
s32 firstroomnum = -1;
|
||||
s32 i;
|
||||
s32 roomnum;
|
||||
s16 roomnumsbyprop[200];
|
||||
RoomNum roomnumsbyprop[200];
|
||||
struct prop **ptr;
|
||||
struct drawslot *thing;
|
||||
s16 *roomnumptr;
|
||||
RoomNum *roomnumptr;
|
||||
struct prop *prop;
|
||||
s16 tmp;
|
||||
s16 *room;
|
||||
RoomNum *room;
|
||||
s16 roomorder[60];
|
||||
s16 roomnums[60];
|
||||
RoomNum roomnums[60];
|
||||
|
||||
g_NumRoomsWithGlares = 0;
|
||||
|
||||
@@ -4619,7 +4619,7 @@ bool bgRoomIsLoaded(s32 room)
|
||||
return g_Rooms[room].loaded240;
|
||||
}
|
||||
|
||||
bool bgRoomContainsCoord(struct coord *pos, s16 roomnum)
|
||||
bool bgRoomContainsCoord(struct coord *pos, RoomNum roomnum)
|
||||
{
|
||||
struct coord copy;
|
||||
copy.x = pos->x;
|
||||
@@ -4646,7 +4646,7 @@ bool bgRoomContainsCoord(struct coord *pos, s16 roomnum)
|
||||
* - The normal points towards the front of the portal.
|
||||
* - The room on the front side is roomnum2.
|
||||
*/
|
||||
bool bgTestPosInRoomCheap(struct coord *pos, s16 roomnum)
|
||||
bool bgTestPosInRoomCheap(struct coord *pos, RoomNum roomnum)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -4672,7 +4672,7 @@ bool bgTestPosInRoomCheap(struct coord *pos, s16 roomnum)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool bgTestPosInRoomExpensive(struct coord *pos, s16 roomnum)
|
||||
bool bgTestPosInRoomExpensive(struct coord *pos, RoomNum roomnum)
|
||||
{
|
||||
s32 t5;
|
||||
struct coord *next;
|
||||
@@ -4780,7 +4780,7 @@ bool bgTestPosInRoomExpensive(struct coord *pos, s16 roomnum)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool bgTestPosInRoom(struct coord *pos, s16 roomnum)
|
||||
bool bgTestPosInRoom(struct coord *pos, RoomNum roomnum)
|
||||
{
|
||||
if (g_Rooms[roomnum].flags & ROOMFLAG_COMPLICATEDPORTALS) {
|
||||
return bgTestPosInRoomExpensive(pos, roomnum);
|
||||
@@ -4809,7 +4809,7 @@ bool bgTestPosInRoom(struct coord *pos, s16 roomnum)
|
||||
* to pos and writes the room number to the bestroom pointer. The bestroom
|
||||
* pointer is a pointer to a single s16 rather than an array.
|
||||
*/
|
||||
void bgFindRoomsByPos(struct coord *posarg, s16 *inrooms, s16 *aboverooms, s32 max, s16 *bestroom)
|
||||
void bgFindRoomsByPos(struct coord *posarg, RoomNum *inrooms, RoomNum *aboverooms, s32 max, RoomNum *bestroom)
|
||||
{
|
||||
s32 inlen = 0;
|
||||
s32 abovelen = 0;
|
||||
@@ -5332,7 +5332,7 @@ void bgTickPortalsXray(void)
|
||||
bgChooseRoomsToLoad();
|
||||
}
|
||||
|
||||
void bgAddToSnake(s16 fromroomnum, s16 roomnum, s16 depth, struct screenbox *box)
|
||||
void bgAddToSnake(RoomNum fromroomnum, RoomNum roomnum, s16 depth, struct screenbox *box)
|
||||
{
|
||||
struct bgsnakeitem *item;
|
||||
s32 i;
|
||||
@@ -5419,10 +5419,10 @@ void bgConsumeSnakeItem(struct bgsnakeitem *item)
|
||||
s32 i;
|
||||
s16 portalnum;
|
||||
s16 prevvalidcount;
|
||||
s16 prevfoundroom;
|
||||
s16 newfoundroom;
|
||||
RoomNum prevfoundroom;
|
||||
RoomNum newfoundroom;
|
||||
s16 side;
|
||||
s16 tmp;
|
||||
RoomNum tmp;
|
||||
bool pass;
|
||||
struct portalmetric *metric;
|
||||
struct screenbox prevbox;
|
||||
@@ -5832,7 +5832,7 @@ Gfx *bgRenderSceneAndLoadCandidate(Gfx *gdl)
|
||||
return gdl;
|
||||
}
|
||||
|
||||
s32 bgGetForceOnscreenRooms(s16 *rooms, s32 len)
|
||||
s32 bgGetForceOnscreenRooms(RoomNum *rooms, s32 len)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -5845,7 +5845,7 @@ s32 bgGetForceOnscreenRooms(s16 *rooms, s32 len)
|
||||
return i;
|
||||
}
|
||||
|
||||
s32 bgRoomGetNeighbours(s32 roomnum, s16 *dstrooms, s32 len)
|
||||
s32 bgRoomGetNeighbours(s32 roomnum, RoomNum *dstrooms, s32 len)
|
||||
{
|
||||
s32 count = 0;
|
||||
s32 i;
|
||||
@@ -5991,7 +5991,7 @@ bool bgPortalExists(s32 portalnum)
|
||||
|
||||
void bgPortalSwapRooms(s32 portal)
|
||||
{
|
||||
s16 tmp = g_BgPortals[portal].roomnum1;
|
||||
RoomNum tmp = g_BgPortals[portal].roomnum1;
|
||||
g_BgPortals[portal].roomnum1 = g_BgPortals[portal].roomnum2;
|
||||
g_BgPortals[portal].roomnum2 = tmp;
|
||||
}
|
||||
@@ -6210,10 +6210,10 @@ void bgCalculatePortalBbox(s32 portalnum, struct coord *bbmin, struct coord *bbm
|
||||
}
|
||||
}
|
||||
|
||||
void bgFindEnteredRooms(struct coord *bbmin, struct coord *bbmax, s16 *rooms, s32 maxlen, bool arg4)
|
||||
void bgFindEnteredRooms(struct coord *bbmin, struct coord *bbmax, RoomNum *rooms, s32 maxlen, bool arg4)
|
||||
{
|
||||
s16 room;
|
||||
s16 otherroom;
|
||||
RoomNum room;
|
||||
RoomNum otherroom;
|
||||
s32 portalnum;
|
||||
struct coord propbbmin;
|
||||
struct coord propbbmax;
|
||||
|
||||
+3
-3
@@ -346,7 +346,7 @@ s32 bodyChooseHead(s32 bodynum)
|
||||
void bodyAllocateChr(s32 stagenum, struct packedchr *packed, s32 cmdindex)
|
||||
{
|
||||
struct pad pad;
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
struct chrdata *chr;
|
||||
struct modeldef *headmodeldef;
|
||||
struct model *model;
|
||||
@@ -531,9 +531,9 @@ void bodyAllocateChr(s32 stagenum, struct packedchr *packed, s32 cmdindex)
|
||||
}
|
||||
}
|
||||
|
||||
struct prop *bodyAllocateEyespy(struct pad *pad, s16 room)
|
||||
struct prop *bodyAllocateEyespy(struct pad *pad, RoomNum room)
|
||||
{
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
struct prop *prop;
|
||||
struct chrdata *chr;
|
||||
struct model *model;
|
||||
|
||||
+4
-4
@@ -107,7 +107,7 @@ void bbikeTryDismountAngle(f32 relativeangle, f32 distance)
|
||||
struct hoverbikeobj *bike;
|
||||
f32 angle;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
s32 result;
|
||||
f32 ymax;
|
||||
f32 ymin;
|
||||
@@ -371,11 +371,11 @@ s32 bbikeCalculateNewPosition(struct coord *vel, f32 angledelta)
|
||||
{
|
||||
s32 result = CDRESULT_NOCOLLISION;
|
||||
struct coord dstpos;
|
||||
s16 dstrooms[8];
|
||||
RoomNum dstrooms[8];
|
||||
struct hov hov;
|
||||
bool hasvel = false;
|
||||
struct hoverbikeobj *bike = (struct hoverbikeobj *) g_Vars.currentplayer->hoverbike->obj;
|
||||
s16 spa8[20];
|
||||
RoomNum spa8[20];
|
||||
f32 xdiff;
|
||||
f32 zdiff;
|
||||
f32 ymax;
|
||||
@@ -530,7 +530,7 @@ void bbikeUpdateVertical(struct coord *pos)
|
||||
{
|
||||
struct defaultobj *bike = g_Vars.currentplayer->hoverbike->obj;
|
||||
f32 angle;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
bool newinlift;
|
||||
struct prop *lift = NULL;
|
||||
f32 ground;
|
||||
|
||||
@@ -39,7 +39,7 @@ u32 g_EyespyMaxFallSpeed = 3000;
|
||||
* position 50 units above the current position, or less if the eyespy is near
|
||||
* the top of its height range.
|
||||
*/
|
||||
f32 eyespyFindGround(s16 *floorroom)
|
||||
f32 eyespyFindGround(RoomNum *floorroom)
|
||||
{
|
||||
struct prop *prop = g_Vars.currentplayer->eyespy->prop;
|
||||
s32 inlift;
|
||||
@@ -75,7 +75,7 @@ s32 eyespyTryMoveUpwards(f32 yvel)
|
||||
struct prop *prop = g_Vars.currentplayer->eyespy->prop;
|
||||
struct chrdata *chr = prop->chr;
|
||||
struct coord dstpos;
|
||||
s16 dstrooms[8];
|
||||
RoomNum dstrooms[8];
|
||||
s32 types;
|
||||
u32 stack;
|
||||
f32 f0;
|
||||
@@ -118,9 +118,9 @@ s32 eyespyCalculateNewPosition(struct coord *vel)
|
||||
struct prop *eyespyprop = g_Vars.currentplayer->eyespy->prop;
|
||||
struct chrdata *chr = eyespyprop->chr;
|
||||
struct coord dstpos;
|
||||
s16 dstrooms[8];
|
||||
s16 floorroom;
|
||||
s16 sp74[24];
|
||||
RoomNum dstrooms[8];
|
||||
RoomNum floorroom;
|
||||
RoomNum sp74[24];
|
||||
s32 types;
|
||||
s32 i;
|
||||
f32 ymin;
|
||||
@@ -713,7 +713,7 @@ void eyespyProcessInput(bool allowbuttons)
|
||||
f32 angle;
|
||||
f32 ascendspeed = 0.0f;
|
||||
f32 prevverta = g_Vars.currentplayer->eyespy->verta;
|
||||
s16 prevrooms[8];
|
||||
RoomNum prevrooms[8];
|
||||
s32 contpad2;
|
||||
u32 stack[5];
|
||||
f32 tmp;
|
||||
|
||||
+2
-2
@@ -284,7 +284,7 @@ bool bgrabTryMoveUpwards(f32 y)
|
||||
{
|
||||
bool result;
|
||||
struct coord newpos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
f32 ymax;
|
||||
f32 ymin;
|
||||
f32 radius;
|
||||
@@ -320,7 +320,7 @@ s32 bgrabCalculateNewPosition(struct coord *delta, f32 angle, bool arg2)
|
||||
s32 cdresult = CDRESULT_NOCOLLISION;
|
||||
s32 i;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
bool ismoving = false;
|
||||
f32 ymax;
|
||||
f32 ymin;
|
||||
|
||||
+7
-7
@@ -4280,7 +4280,7 @@ struct modeldef *bgunGetCartModeldef(void)
|
||||
return g_Vars.currentplayer->gunctrl.cartmodeldef;
|
||||
}
|
||||
|
||||
void bgun0f09ebcc(struct defaultobj *obj, struct coord *coord, s16 *rooms, Mtxf *matrix1, struct coord *velocity, Mtxf *matrix2, struct prop *prop, struct coord *pos)
|
||||
void bgun0f09ebcc(struct defaultobj *obj, struct coord *coord, RoomNum *rooms, Mtxf *matrix1, struct coord *velocity, Mtxf *matrix2, struct prop *prop, struct coord *pos)
|
||||
{
|
||||
struct prop *objprop = obj->prop;
|
||||
|
||||
@@ -4325,7 +4325,7 @@ void bgun0f09ed2c(struct defaultobj *obj, struct coord *newpos, Mtxf *arg2, stru
|
||||
{
|
||||
struct prop *objprop = obj->prop;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
if (objprop) {
|
||||
struct prop *playerprop = g_Vars.currentplayer->prop;
|
||||
@@ -4348,7 +4348,7 @@ void bgun0f09ed2c(struct defaultobj *obj, struct coord *newpos, Mtxf *arg2, stru
|
||||
}
|
||||
}
|
||||
|
||||
struct defaultobj *bgunCreateThrownProjectile2(struct chrdata *chr, struct gset *gset, struct coord *pos, s16 *rooms, Mtxf *arg4, struct coord *velocity)
|
||||
struct defaultobj *bgunCreateThrownProjectile2(struct chrdata *chr, struct gset *gset, struct coord *pos, RoomNum *rooms, Mtxf *arg4, struct coord *velocity)
|
||||
{
|
||||
struct defaultobj *obj = NULL;
|
||||
struct weaponfunc *basefunc;
|
||||
@@ -4457,7 +4457,7 @@ void bgunCreateThrownProjectile(s32 handnum, struct gset *gset)
|
||||
struct weaponobj *weapon;
|
||||
struct coord muzzlepos;
|
||||
struct coord spawnpos;
|
||||
s16 spawnrooms[8];
|
||||
RoomNum spawnrooms[8];
|
||||
bool droppinggrenade = false;
|
||||
struct hand *hand;
|
||||
struct coord aimpos;
|
||||
@@ -6748,7 +6748,7 @@ void bgunUpdateSmoke(struct hand *hand, s32 handnum, s32 weaponnum, struct weapo
|
||||
|
||||
if (hand->createsmoke && (hand->state != HANDSTATE_ATTACK || hand->forcecreatesmoke)) {
|
||||
struct coord smokepos;
|
||||
s16 smokerooms[2];
|
||||
RoomNum smokerooms[2];
|
||||
s32 smoketype = SMOKETYPE_MUZZLE_AUTOMATIC;
|
||||
|
||||
switch (weaponnum) {
|
||||
@@ -11413,7 +11413,7 @@ void bgunPlayPropHitSound(struct gset *gset, struct prop *prop, s32 texturenum)
|
||||
#endif
|
||||
}
|
||||
|
||||
void bgunPlayGlassHitSound(struct coord *pos, s16 *rooms, s32 texturenum)
|
||||
void bgunPlayGlassHitSound(struct coord *pos, RoomNum *rooms, s32 texturenum)
|
||||
{
|
||||
if (g_Vars.lvupdate240 > 0) {
|
||||
struct sndstate **handle = bgunAllocateAudioHandle();
|
||||
@@ -11428,7 +11428,7 @@ void bgunPlayGlassHitSound(struct coord *pos, s16 *rooms, s32 texturenum)
|
||||
}
|
||||
}
|
||||
|
||||
void bgunPlayBgHitSound(struct gset *gset, struct coord *hitpos, s32 texturenum, s16 *rooms)
|
||||
void bgunPlayBgHitSound(struct gset *gset, struct coord *hitpos, s32 texturenum, RoomNum *rooms)
|
||||
{
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
struct sndstate **handle;
|
||||
|
||||
+6
-6
@@ -394,7 +394,7 @@ f32 bmoveCalculateLookahead(void)
|
||||
struct coord sp100;
|
||||
u32 stack;
|
||||
struct coord spf0;
|
||||
s16 spe0[8];
|
||||
RoomNum spe0[8];
|
||||
s32 i;
|
||||
f32 angle;
|
||||
f32 value;
|
||||
@@ -403,9 +403,9 @@ f32 bmoveCalculateLookahead(void)
|
||||
u32 stack6;
|
||||
struct coord spbc;
|
||||
struct coord spb0;
|
||||
s16 spa0[8];
|
||||
s16 sp90[8];
|
||||
s16 sp80[8];
|
||||
RoomNum spa0[8];
|
||||
RoomNum sp90[8];
|
||||
RoomNum sp80[8];
|
||||
s32 j;
|
||||
f32 sp78;
|
||||
s32 indextoremove;
|
||||
@@ -1808,7 +1808,7 @@ void bmoveProcessInput(bool allowc1x, bool allowc1y, bool allowc1buttons, bool i
|
||||
}
|
||||
}
|
||||
|
||||
void bmoveFindEnteredRoomsByPos(struct player *player, struct coord *mid, s16 *rooms)
|
||||
void bmoveFindEnteredRoomsByPos(struct player *player, struct coord *mid, RoomNum *rooms)
|
||||
{
|
||||
struct coord bbmin;
|
||||
struct coord bbmax;
|
||||
@@ -1826,7 +1826,7 @@ void bmoveFindEnteredRoomsByPos(struct player *player, struct coord *mid, s16 *r
|
||||
bgFindEnteredRooms(&bbmin, &bbmax, rooms, 7, false);
|
||||
}
|
||||
|
||||
void bmoveFindEnteredRooms(struct player *player, s16 *rooms)
|
||||
void bmoveFindEnteredRooms(struct player *player, RoomNum *rooms)
|
||||
{
|
||||
bmoveFindEnteredRoomsByPos(player, &player->prop->pos, rooms);
|
||||
}
|
||||
|
||||
+6
-6
@@ -187,7 +187,7 @@ s32 bwalkTryMoveUpwards(f32 amount)
|
||||
{
|
||||
bool result;
|
||||
struct coord newpos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
u32 stack;
|
||||
u32 types;
|
||||
f32 ymax;
|
||||
@@ -235,9 +235,9 @@ bool bwalkCalculateNewPosition(struct coord *vel, f32 rotateamount, bool apply,
|
||||
s32 result = CDRESULT_NOCOLLISION;
|
||||
f32 halfradius;
|
||||
struct coord dstpos;
|
||||
s16 dstrooms[8];
|
||||
RoomNum dstrooms[8];
|
||||
bool copyrooms = false;
|
||||
s16 sp64[22];
|
||||
RoomNum sp64[22];
|
||||
s32 types;
|
||||
f32 ymax;
|
||||
f32 ymin;
|
||||
@@ -392,7 +392,7 @@ bool bwalkCalculateNewPositionWithPush(struct coord *delta, f32 rotateamount, bo
|
||||
} else if (obstacle->type == PROPTYPE_CHR) {
|
||||
struct chrdata *chr = obstacle->chr;
|
||||
struct coord newpos;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
f32 movingdist;
|
||||
f32 xdist;
|
||||
f32 zdist;
|
||||
@@ -713,10 +713,10 @@ void bwalkUpdateVertical(void)
|
||||
f32 ground;
|
||||
bool onladder;
|
||||
bool onladder2 = false;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
struct coord testpos;
|
||||
struct coord newpos;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
s32 newinlift;
|
||||
struct prop *lift = NULL;
|
||||
f32 sumground;
|
||||
|
||||
+6
-6
@@ -227,7 +227,7 @@ void botSpawn(struct chrdata *chr, u8 respawning)
|
||||
struct defaultobj *obj;
|
||||
struct aibot *aibot = chr->aibot;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
if (chr->prop) {
|
||||
prop = chr->prop->child;
|
||||
@@ -660,8 +660,8 @@ void botCheckPickups(struct chrdata *chr)
|
||||
s32 i;
|
||||
s16 *propnumptr;
|
||||
s16 propnums[260];
|
||||
s16 allrooms[22];
|
||||
s16 neighbours[12];
|
||||
RoomNum allrooms[22];
|
||||
RoomNum neighbours[12];
|
||||
|
||||
roomsCopy(chr->prop->rooms, allrooms);
|
||||
|
||||
@@ -1208,7 +1208,7 @@ void botApplyProtect(struct chrdata *chr, struct prop *prop)
|
||||
chr->aibot->forcemainloop = true;
|
||||
}
|
||||
|
||||
void botApplyDefend(struct chrdata *chr, struct coord *pos, s16 *room, f32 angle)
|
||||
void botApplyDefend(struct chrdata *chr, struct coord *pos, RoomNum *room, f32 angle)
|
||||
{
|
||||
chr->aibot->command = AIBOTCMD_DEFEND;
|
||||
chr->aibot->defendholdpos.x = pos->x;
|
||||
@@ -1219,7 +1219,7 @@ void botApplyDefend(struct chrdata *chr, struct coord *pos, s16 *room, f32 angle
|
||||
chr->aibot->forcemainloop = true;
|
||||
}
|
||||
|
||||
void botApplyHold(struct chrdata *chr, struct coord *pos, s16 *room, f32 angle)
|
||||
void botApplyHold(struct chrdata *chr, struct coord *pos, RoomNum *room, f32 angle)
|
||||
{
|
||||
chr->aibot->command = AIBOTCMD_HOLD;
|
||||
chr->aibot->defendholdpos.x = pos->x;
|
||||
@@ -1521,7 +1521,7 @@ void botChooseGeneralTarget(struct chrdata *botchr)
|
||||
s32 i;
|
||||
s32 j;
|
||||
bool distancesdone[MAX_MPCHRS];
|
||||
s16 room = -1;
|
||||
RoomNum room = -1;
|
||||
struct chrdata *trychr;
|
||||
s32 playernum;
|
||||
|
||||
|
||||
+2
-2
@@ -440,7 +440,7 @@ s32 botactGetShootInterval60(s32 weaponnum, s32 funcnum)
|
||||
*
|
||||
* Return true if a route was found, false if not.
|
||||
*/
|
||||
bool botactFindRocketRoute(struct chrdata *chr, struct coord *frompos, struct coord *topos, s16 *fromrooms, s16 *torooms, struct projectile *projectile)
|
||||
bool botactFindRocketRoute(struct chrdata *chr, struct coord *frompos, struct coord *topos, RoomNum *fromrooms, RoomNum *torooms, struct projectile *projectile)
|
||||
{
|
||||
struct waypoint *from = waypointFindClosestToPos(frompos, fromrooms);
|
||||
struct waypoint *to = waypointFindClosestToPos(topos, torooms);
|
||||
@@ -479,7 +479,7 @@ bool botactFindRocketRoute(struct chrdata *chr, struct coord *frompos, struct co
|
||||
void botactGetRocketNextStepPos(u16 padnum, struct coord *pos)
|
||||
{
|
||||
struct pad pad;
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
|
||||
padUnpack(padnum, PADFIELD_ROOM | PADFIELD_POS, &pad);
|
||||
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ void botmgrRemoveAll(void)
|
||||
|
||||
void botmgrAllocateBot(s32 chrnum, s32 aibotnum)
|
||||
{
|
||||
s16 rooms[1];
|
||||
RoomNum rooms[1];
|
||||
struct prop *prop;
|
||||
struct chrdata *chr;
|
||||
struct aibot *aibot;
|
||||
|
||||
+5
-5
@@ -46,16 +46,16 @@
|
||||
* It's likely that these don't ever overflow, or they overflow minimally which
|
||||
* has no serious effect, but this should be investigated further.
|
||||
*/
|
||||
bool botroomFindPos(s16 room, struct coord *pos, f32 *angleptr, s32 *padnumptr, s32 *covernumptr)
|
||||
bool botroomFindPos(RoomNum room, struct coord *pos, f32 *angleptr, s32 *padnumptr, s32 *covernumptr)
|
||||
{
|
||||
s32 i;
|
||||
struct waypoint *waypoint;
|
||||
s32 waypointnum;
|
||||
s32 covernums[40]; /// written to stack
|
||||
s32 covernums[40];
|
||||
s32 covercount;
|
||||
struct cover cover; // written to stack
|
||||
s16 rooms[2]; // written to stack
|
||||
s32 padnums[40]; // written to stack
|
||||
struct cover cover;
|
||||
RoomNum rooms[2];
|
||||
s32 padnums[40];
|
||||
s32 padcount;
|
||||
s32 totalcount;
|
||||
struct pad pad;
|
||||
|
||||
+3
-3
@@ -597,10 +597,10 @@ bool camIsPosInScreenBox(struct coord *pos, f32 arg1, struct drawslot *drawslot)
|
||||
* correct address to camIsPosInScreenBox so it can interpret the pointer as a
|
||||
* drawslot.
|
||||
*/
|
||||
bool camIsPosInFovAndVisibleRoom(s16 *rooms, struct coord *pos, f32 arg2)
|
||||
bool camIsPosInFovAndVisibleRoom(RoomNum *rooms, struct coord *pos, f32 arg2)
|
||||
{
|
||||
s32 i;
|
||||
s16 room;
|
||||
RoomNum room;
|
||||
bool hasdata = false;
|
||||
struct drawslot *thisthing;
|
||||
struct screenbox box;
|
||||
@@ -640,5 +640,5 @@ bool camIsPosInFovAndVisibleRoom(s16 *rooms, struct coord *pos, f32 arg2)
|
||||
return false;
|
||||
}
|
||||
|
||||
return camIsPosInScreenBox(pos, arg2, (struct drawslot *) (&box.array[-1][0]));
|
||||
return camIsPosInScreenBox(pos, arg2, (struct drawslot *) &(((u8 *) &box)[-((uintptr_t) &(((struct drawslot *)0)->box))]));
|
||||
}
|
||||
+13
-13
@@ -197,7 +197,7 @@ void chrSetPerimEnabled(struct chrdata *chr, bool enable)
|
||||
* pos and rooms for the chr. It does collision checks and updates dstpos and
|
||||
* dstrooms to valid ones if needed.
|
||||
*/
|
||||
void chrCalculatePushPos(struct chrdata *chr, struct coord *dstpos, s16 *dstrooms, bool arg3)
|
||||
void chrCalculatePushPos(struct chrdata *chr, struct coord *dstpos, RoomNum *dstrooms, bool arg3)
|
||||
{
|
||||
f32 ymax;
|
||||
f32 ymin;
|
||||
@@ -210,7 +210,7 @@ void chrCalculatePushPos(struct chrdata *chr, struct coord *dstpos, s16 *dstroom
|
||||
f32 halfradius;
|
||||
struct defaultobj *chair = NULL;
|
||||
s32 cdresult;
|
||||
s16 sp84[20];
|
||||
RoomNum sp84[20];
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
s32 i;
|
||||
#endif
|
||||
@@ -478,14 +478,14 @@ void chrCalculatePushPos(struct chrdata *chr, struct coord *dstpos, s16 *dstroom
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 arg3, bool arg4)
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3, bool arg4)
|
||||
#else
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 arg3)
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3)
|
||||
#endif
|
||||
{
|
||||
bool result;
|
||||
struct coord newpos;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
f32 ymax;
|
||||
f32 ymin;
|
||||
f32 radius;
|
||||
@@ -520,7 +520,7 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
struct prop *lift;
|
||||
s32 i;
|
||||
f32 ground;
|
||||
s16 spfc[8];
|
||||
RoomNum spfc[8];
|
||||
f32 manground = chr->manground;
|
||||
s32 race = CHRRACE(chr);
|
||||
f32 yincrement = 0.0f;
|
||||
@@ -531,7 +531,7 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
f32 lvupdate60f;
|
||||
f32 lvupdate60freal;
|
||||
struct coord spd0;
|
||||
s16 spc0[8];
|
||||
RoomNum spc0[8];
|
||||
#endif
|
||||
|
||||
// NTSC beta reads g_Vars lvupdate properties throughout this function,
|
||||
@@ -775,9 +775,9 @@ bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f3
|
||||
arg2->y -= chr->manground;
|
||||
} else {
|
||||
struct coord *sp98;
|
||||
s16 *sp94;
|
||||
RoomNum *sp94;
|
||||
struct coord sp88;
|
||||
s16 sp78[8];
|
||||
RoomNum sp78[8];
|
||||
f32 ground;
|
||||
struct modelnode *node;
|
||||
u16 nodetype;
|
||||
@@ -1290,7 +1290,7 @@ void chrInit(struct prop *prop, u8 *ailist)
|
||||
}
|
||||
|
||||
struct prop *chr0f020b14(struct prop *prop, struct model *model,
|
||||
struct coord *pos, s16 *rooms, f32 faceangle, u8 *ailist)
|
||||
struct coord *pos, RoomNum *rooms, f32 faceangle, u8 *ailist)
|
||||
{
|
||||
struct chrdata *chr;
|
||||
struct coord testpos;
|
||||
@@ -1345,7 +1345,7 @@ struct prop *chr0f020b14(struct prop *prop, struct model *model,
|
||||
return prop;
|
||||
}
|
||||
|
||||
struct prop *chrAllocate(struct model *model, struct coord *pos, s16 *rooms, f32 faceangle, u8 *ailist)
|
||||
struct prop *chrAllocate(struct model *model, struct coord *pos, RoomNum *rooms, f32 faceangle, u8 *ailist)
|
||||
{
|
||||
struct prop *prop = propAllocate();
|
||||
|
||||
@@ -1871,7 +1871,7 @@ void chrHandleJointPositioned(s32 joint, Mtxf *mtx)
|
||||
}
|
||||
}
|
||||
|
||||
void chr0f021fa8(struct chrdata *chr, struct coord *pos, s16 *rooms)
|
||||
void chr0f021fa8(struct chrdata *chr, struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
struct coord lower;
|
||||
struct coord upper;
|
||||
@@ -1904,7 +1904,7 @@ void chr0f021fa8(struct chrdata *chr, struct coord *pos, s16 *rooms)
|
||||
bgFindEnteredRooms(&lower, &upper, rooms, 7, true);
|
||||
}
|
||||
|
||||
void chr0f022084(struct chrdata *chr, s16 *room)
|
||||
void chr0f022084(struct chrdata *chr, RoomNum *room)
|
||||
{
|
||||
chr0f021fa8(chr, &chr->prop->pos, room);
|
||||
}
|
||||
|
||||
+77
-77
@@ -1520,7 +1520,7 @@ f32 chrGetAttackEntityRelativeAngle(struct chrdata *chr, s32 attackflags, s32 en
|
||||
{
|
||||
f32 angle;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
if (attackflags & ATTACKFLAG_AIMFORWARD) {
|
||||
return 0;
|
||||
@@ -5109,13 +5109,13 @@ void chrDie(struct chrdata *chr, s32 aplayernum)
|
||||
}
|
||||
}
|
||||
|
||||
bool func0f03645c(struct chrdata *chr, struct coord *arg1, s16 *arg2, struct coord *arg3, struct coord *arg4, s32 arg5)
|
||||
bool func0f03645c(struct chrdata *chr, struct coord *arg1, RoomNum *arg2, struct coord *arg3, struct coord *arg4, s32 arg5)
|
||||
{
|
||||
bool result = false;
|
||||
f32 ymax;
|
||||
f32 ymin;
|
||||
f32 radius;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
struct prop *prop = chr->prop;
|
||||
|
||||
chrGetBbox(prop, &radius, &ymax, &ymin);
|
||||
@@ -5132,7 +5132,7 @@ bool func0f03645c(struct chrdata *chr, struct coord *arg1, s16 *arg2, struct coo
|
||||
return result;
|
||||
}
|
||||
|
||||
bool func0f03654c(struct chrdata *chr, struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2, struct coord *vector, f32 arg6, u32 types)
|
||||
bool func0f03654c(struct chrdata *chr, struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *rooms2, struct coord *vector, f32 arg6, u32 types)
|
||||
{
|
||||
struct coord tmp;
|
||||
f32 a;
|
||||
@@ -5144,7 +5144,7 @@ bool func0f03654c(struct chrdata *chr, struct coord *pos, s16 *rooms, struct coo
|
||||
f32 radius;
|
||||
struct coord sp5c;
|
||||
struct coord sp50;
|
||||
s16 sp40[8];
|
||||
RoomNum sp40[8];
|
||||
f32 mult;
|
||||
|
||||
prop = chr->prop;
|
||||
@@ -5302,15 +5302,15 @@ bool chrCanJumpInDirection(struct chrdata *chr, bool side, f32 distance)
|
||||
return propchrHasClearLineToPos(prop, &dstpos, &vector);
|
||||
}
|
||||
|
||||
bool chrIsRoomOffScreen(struct chrdata *chr, struct coord *waypos, s16 *wayrooms)
|
||||
bool chrIsRoomOffScreen(struct chrdata *chr, struct coord *waypos, RoomNum *wayrooms)
|
||||
{
|
||||
struct prop *prop = chr->prop;
|
||||
s16 sp7c[20];
|
||||
RoomNum sp7c[20];
|
||||
u32 stack;
|
||||
s32 i;
|
||||
s16 sp64[8];
|
||||
RoomNum sp64[8];
|
||||
bool offscreen = true;
|
||||
s16 sp50[8];
|
||||
RoomNum sp50[8];
|
||||
|
||||
if ((chr->hidden & CHRHFLAG_CLOAKED) == 0 || USINGDEVICE(DEVICE_IRSCANNER)) {
|
||||
func0f065dfc(&prop->pos, prop->rooms, waypos, sp64, sp7c, 20);
|
||||
@@ -5364,7 +5364,7 @@ void chrGoPosInitMagic(struct chrdata *chr, struct waydata *waydata, struct coor
|
||||
chrSetLookAngle(chr, angle);
|
||||
}
|
||||
|
||||
void chrGoPosGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, s16 *rooms, u32 *flags)
|
||||
void chrGoPosGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, RoomNum *rooms, u32 *flags)
|
||||
{
|
||||
struct waypoint *waypoint = chr->act_gopos.waypoints[chr->act_gopos.curindex];
|
||||
struct pad pad;
|
||||
@@ -5396,7 +5396,7 @@ void chrGoPosGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos,
|
||||
}
|
||||
}
|
||||
|
||||
void chrGoPosGetCurWaypointInfo(struct chrdata *chr, struct coord *pos, s16 *rooms)
|
||||
void chrGoPosGetCurWaypointInfo(struct chrdata *chr, struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
chrGoPosGetCurWaypointInfoWithFlags(chr, pos, rooms, NULL);
|
||||
}
|
||||
@@ -5421,7 +5421,7 @@ s32 chrGoPosCalculateBaseTtl(struct chrdata *chr)
|
||||
f32 zdiff;
|
||||
u32 stack;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
f32 speed;
|
||||
|
||||
chrGoPosGetCurWaypointInfo(chr, &pos, rooms);
|
||||
@@ -5487,7 +5487,7 @@ void chrGoPosConsiderRestart(struct chrdata *chr)
|
||||
void chrGoPosInitExpensive(struct chrdata *chr)
|
||||
{
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
chrGoPosGetCurWaypointInfo(chr, &pos, rooms);
|
||||
|
||||
@@ -5600,7 +5600,7 @@ s16 chrPatrolCalculatePadNum(struct chrdata *chr, s32 numsteps)
|
||||
return *padnumptr;
|
||||
}
|
||||
|
||||
void chrPatrolGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, s16 *rooms, u32 *flags)
|
||||
void chrPatrolGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, RoomNum *rooms, u32 *flags)
|
||||
{
|
||||
s32 padnum = chrPatrolCalculatePadNum(chr, 0);
|
||||
struct pad pad;
|
||||
@@ -5619,14 +5619,14 @@ void chrPatrolGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos
|
||||
}
|
||||
}
|
||||
|
||||
void chrPatrolGetCurWaypointInfo(struct chrdata *chr, struct coord *pos, s16 *rooms)
|
||||
void chrPatrolGetCurWaypointInfo(struct chrdata *chr, struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
chrPatrolGetCurWaypointInfoWithFlags(chr, pos, rooms, NULL);
|
||||
}
|
||||
|
||||
void func0f037580(struct chrdata *chr)
|
||||
{
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
chr->act_patrol.waydata.mode = WAYMODE_INIT;
|
||||
chr->act_patrol.waydata.iter = 0;
|
||||
@@ -5645,26 +5645,26 @@ void func0f0375b0(struct chrdata *chr)
|
||||
func0f037580(chr);
|
||||
}
|
||||
|
||||
void chrNavTickMagic(struct chrdata *chr, struct waydata *waydata, f32 speed, struct coord *arg3, s16 *rooms)
|
||||
void chrNavTickMagic(struct chrdata *chr, struct waydata *waydata, f32 speed, struct coord *arg3, RoomNum *rooms)
|
||||
{
|
||||
s16 sp118[8];
|
||||
RoomNum sp118[8];
|
||||
f32 ymax;
|
||||
f32 ymin;
|
||||
f32 radius;
|
||||
f32 ground;
|
||||
u16 floorcol;
|
||||
u8 floortype;
|
||||
s16 floorroom;
|
||||
RoomNum floorroom;
|
||||
struct coord spf4;
|
||||
struct prop *prop = chr->prop;
|
||||
union modelrwdata *rwdata;
|
||||
struct waypoint *waypoint;
|
||||
struct coord spdc;
|
||||
s16 spcc[8];
|
||||
RoomNum spcc[8];
|
||||
u32 stack[4];
|
||||
struct pad pad;
|
||||
struct coord sp5c;
|
||||
s16 sp4c[8];
|
||||
RoomNum sp4c[8];
|
||||
|
||||
chr->invalidmove = 0;
|
||||
chr->lastmoveok60 = g_Vars.lvframe60;
|
||||
@@ -5773,7 +5773,7 @@ void chrNavTickMagic(struct chrdata *chr, struct waydata *waydata, f32 speed, st
|
||||
*/
|
||||
void chrCalculatePosition(struct chrdata *chr, struct coord *pos)
|
||||
{
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
f32 frac;
|
||||
|
||||
if (chr->actiontype == ACT_PATROL && chr->act_patrol.waydata.mode == WAYMODE_MAGIC) {
|
||||
@@ -6075,7 +6075,7 @@ void chrGoPosChooseAnimation(struct chrdata *chr)
|
||||
}
|
||||
}
|
||||
|
||||
bool chrGoToRoomPos(struct chrdata *chr, struct coord *pos, s16 *room, u32 goposflags)
|
||||
bool chrGoToRoomPos(struct chrdata *chr, struct coord *pos, RoomNum *room, u32 goposflags)
|
||||
{
|
||||
struct prop *prop = chr->prop;
|
||||
struct waypoint *nextwaypoint;
|
||||
@@ -6083,7 +6083,7 @@ bool chrGoToRoomPos(struct chrdata *chr, struct coord *pos, s16 *room, u32 gopos
|
||||
struct waypoint *waypoints[MAX_CHRWAYPOINTS];
|
||||
s32 i;
|
||||
struct coord curwppos;
|
||||
s16 curwprooms[8];
|
||||
RoomNum curwprooms[8];
|
||||
s32 isgopos = chr->actiontype == ACT_GOPOS
|
||||
&& (chr->act_gopos.flags & GOPOSMASK_SPEED) == (goposflags & 0xff & GOPOSMASK_SPEED)
|
||||
&& !chrGoPosIsWaiting(chr);
|
||||
@@ -6249,15 +6249,15 @@ void chrStartPatrol(struct chrdata *chr, struct path *path)
|
||||
s32 *padnumptr;
|
||||
struct pad pad;
|
||||
struct coord nextpos;
|
||||
s16 nextrooms[8];
|
||||
s16 rooms[8];
|
||||
RoomNum nextrooms[8];
|
||||
RoomNum rooms[8];
|
||||
f32 ymax;
|
||||
f32 ymin;
|
||||
f32 radius;
|
||||
f32 bestdistance = 0;
|
||||
s32 nextstep = -1;
|
||||
struct prop *prop = chr->prop;
|
||||
s16 sp60[2];
|
||||
RoomNum sp60[2];
|
||||
|
||||
if (CHRRACE(chr) != RACE_EYESPY) {
|
||||
// Do some kind of collision test with the pad to resume from...
|
||||
@@ -6361,11 +6361,11 @@ void chrRecordLastVisibleTargetTime(struct chrdata *chr)
|
||||
chr->lastvisibletarget60 = g_Vars.lvframe60;
|
||||
}
|
||||
|
||||
bool chrHasLosToEntity(struct chrdata *chr, struct coord *chrpos, s16 *chrrooms, bool allowextraheight, u32 attackflags, u32 entityid)
|
||||
bool chrHasLosToEntity(struct chrdata *chr, struct coord *chrpos, RoomNum *chrrooms, bool allowextraheight, u32 attackflags, u32 entityid)
|
||||
{
|
||||
bool result = false;
|
||||
struct coord targetpos;
|
||||
s16 targetrooms[8];
|
||||
RoomNum targetrooms[8];
|
||||
struct prop *targetprop;
|
||||
struct chrdata *targetchr;
|
||||
u32 types;
|
||||
@@ -6404,7 +6404,7 @@ bool chrHasLosToEntity(struct chrdata *chr, struct coord *chrpos, s16 *chrrooms,
|
||||
|
||||
if (allowextraheight && (chr->chrflags & CHRCFLAG_LOSEXTRAHEIGHT)) {
|
||||
struct coord frompos;
|
||||
s16 fromrooms[8];
|
||||
RoomNum fromrooms[8];
|
||||
|
||||
frompos.x = chrpos->x;
|
||||
frompos.y = chrpos->y + 70;
|
||||
@@ -6451,7 +6451,7 @@ bool chrHasLosToEntity(struct chrdata *chr, struct coord *chrpos, s16 *chrrooms,
|
||||
return result;
|
||||
}
|
||||
|
||||
bool chrHasLosToAttackTarget(struct chrdata *chr, struct coord *pos, s16 *rooms, bool allowextraheight)
|
||||
bool chrHasLosToAttackTarget(struct chrdata *chr, struct coord *pos, RoomNum *rooms, bool allowextraheight)
|
||||
{
|
||||
u32 attackflags = ATTACKFLAG_AIMATTARGET;
|
||||
u32 entityid = 0;
|
||||
@@ -6464,16 +6464,16 @@ bool chrHasLosToAttackTarget(struct chrdata *chr, struct coord *pos, s16 *rooms,
|
||||
return chrHasLosToEntity(chr, pos, rooms, allowextraheight, attackflags, entityid);
|
||||
}
|
||||
|
||||
bool chrHasLosToChr(struct chrdata *chr, struct chrdata *target, s16 *room)
|
||||
bool chrHasLosToChr(struct chrdata *chr, struct chrdata *target, RoomNum *room)
|
||||
{
|
||||
bool cansee = false;
|
||||
u32 stack;
|
||||
s16 sp88[] = {-1, 0, 0, 0, 0, 0, 0, 0};
|
||||
RoomNum sp88[] = {-1, 0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
if (!botIsTargetInvisible(chr, target)) {
|
||||
struct prop *prop = chr->prop;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
pos.x = prop->pos.x;
|
||||
pos.y = chr->ground + chr->height - 20;
|
||||
@@ -6529,12 +6529,12 @@ bool chrHasLosToTarget(struct chrdata *chr)
|
||||
return cansee;
|
||||
}
|
||||
|
||||
bool chrHasLosToPos(struct chrdata *chr, struct coord *pos, s16 *rooms)
|
||||
bool chrHasLosToPos(struct chrdata *chr, struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
struct prop *prop = chr->prop;
|
||||
bool result = false;
|
||||
struct coord eyepos;
|
||||
s16 chrrooms[8];
|
||||
RoomNum chrrooms[8];
|
||||
|
||||
eyepos.x = prop->pos.x;
|
||||
eyepos.y = chr->ground + chr->height - 20;
|
||||
@@ -6558,7 +6558,7 @@ bool chrHasLosToPos(struct chrdata *chr, struct coord *pos, s16 *rooms)
|
||||
* Wasteful because this function calculates angles then does nothing with them.
|
||||
* chrHasLosToPos is called with the same arguments regardless.
|
||||
*/
|
||||
bool chrHasLosToPosWasteful(struct chrdata *chr, struct coord *pos, s16 *rooms)
|
||||
bool chrHasLosToPosWasteful(struct chrdata *chr, struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
f32 facingangle = chrGetInverseTheta(chr);
|
||||
f32 posangle = atan2f(pos->x - chr->prop->pos.x, pos->z - chr->prop->pos.z);
|
||||
@@ -7122,7 +7122,7 @@ bool chrGoToPad(struct chrdata *chr, s32 padnum, u32 goposflags)
|
||||
if (padnum >= 0)
|
||||
#endif
|
||||
{
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
struct pad pad;
|
||||
|
||||
padUnpack(padnum, PADFIELD_ROOM | PADFIELD_POS, &pad);
|
||||
@@ -7234,8 +7234,8 @@ bool chrGoToProp(struct chrdata *chr, struct prop *prop, u32 goposflags)
|
||||
|
||||
bool chrGoToPos(struct chrdata *chr, struct coord *pos, u32 goposflags)
|
||||
{
|
||||
s16 inrooms[21];
|
||||
s16 aboverooms[21];
|
||||
RoomNum inrooms[21];
|
||||
RoomNum aboverooms[21];
|
||||
|
||||
if (chrIsReadyForOrders(chr)) {
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
@@ -7246,7 +7246,7 @@ bool chrGoToPos(struct chrdata *chr, struct coord *pos, u32 goposflags)
|
||||
if (g_NumChrsSeenPlayerRecently2 < 10)
|
||||
#endif
|
||||
{
|
||||
s16 *rooms = NULL;
|
||||
RoomNum *rooms = NULL;
|
||||
|
||||
bgFindRoomsByPos(pos, inrooms, aboverooms, 20, NULL);
|
||||
|
||||
@@ -7372,7 +7372,7 @@ bool chrTryRunFromTarget(struct chrdata *chr)
|
||||
f32 ymin;
|
||||
f32 radius;
|
||||
struct coord dst;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
struct coord diff;
|
||||
f32 distance;
|
||||
|
||||
@@ -7492,7 +7492,7 @@ bool chrGoToCoverProp(struct chrdata *chr)
|
||||
f32 propheight;
|
||||
f32 chrheight;
|
||||
struct coord dstpos;
|
||||
s16 dstrooms[8];
|
||||
RoomNum dstrooms[8];
|
||||
|
||||
propGetBbox(prop, &propradius, &propymax, &propymin);
|
||||
propGetBbox(chrprop, &chrradius, &chrymax, &chrymin);
|
||||
@@ -9032,7 +9032,7 @@ bool func0f03e9f4(struct chrdata *chr, struct attackanimconfig *animcfg, bool fi
|
||||
f32 sqdist;
|
||||
bool holdturn;
|
||||
struct coord targetpos;
|
||||
s16 targetrooms[8];
|
||||
RoomNum targetrooms[8];
|
||||
|
||||
sp178 = targetprop->pos.x - chrprop->pos.x;
|
||||
sp174 = targetprop->pos.y - chrprop->pos.y;
|
||||
@@ -9867,10 +9867,10 @@ void chrTickShoot(struct chrdata *chr, s32 handnum)
|
||||
bool shotdue;
|
||||
bool makebeam;
|
||||
struct coord gunpos;
|
||||
s16 gunrooms[8];
|
||||
RoomNum gunrooms[8];
|
||||
struct coord hitpos;
|
||||
bool hitsomething;
|
||||
s16 hitrooms[8];
|
||||
RoomNum hitrooms[8];
|
||||
bool queriedhitrooms;
|
||||
s32 tickspershot;
|
||||
|
||||
@@ -11771,7 +11771,7 @@ void func0f044b68(struct coord *arg0, struct coord *arg1, struct coord *arg2)
|
||||
* This is similar to chrNavCheckForObstacle. The difference between the two are
|
||||
* not yet understood.
|
||||
*/
|
||||
bool chrNavCanSeeNextPos(struct chrdata *chr, struct coord *chrpos, s16 *chrrooms, struct coord *aimpos, struct coord *leftpos, struct coord *rightpos, f32 negchrradius, f32 chrradius, s32 cdtypes, s32 arg9)
|
||||
bool chrNavCanSeeNextPos(struct chrdata *chr, struct coord *chrpos, RoomNum *chrrooms, struct coord *aimpos, struct coord *leftpos, struct coord *rightpos, f32 negchrradius, f32 chrradius, s32 cdtypes, s32 arg9)
|
||||
{
|
||||
struct coord spd4;
|
||||
f32 spd0;
|
||||
@@ -11791,8 +11791,8 @@ bool chrNavCanSeeNextPos(struct chrdata *chr, struct coord *chrpos, s16 *chrroom
|
||||
f32 radius2;
|
||||
struct coord sp6c;
|
||||
struct coord sp60;
|
||||
s16 sp50[8];
|
||||
s16 sp40[8];
|
||||
RoomNum sp50[8];
|
||||
RoomNum sp40[8];
|
||||
struct prop *prop = chr->prop;
|
||||
|
||||
chrGetBbox(prop, &radius2, &ymax, &ymin);
|
||||
@@ -11928,7 +11928,7 @@ bool chrNavCanSeeNextPos(struct chrdata *chr, struct coord *chrpos, s16 *chrroom
|
||||
* This is similar to chrNavCanSeeNextPos. The only difference is this one uses
|
||||
* the value1 and value2 variables.
|
||||
*/
|
||||
bool chrNavCheckForObstacle(struct chrdata *chr, struct coord *chrpos, s16 *chrrooms, struct coord *aimpos, struct coord *leftpos, struct coord *rightpos, f32 negchrradius, f32 chrradius, s32 cdtypes, bool hasobstacle)
|
||||
bool chrNavCheckForObstacle(struct chrdata *chr, struct coord *chrpos, RoomNum *chrrooms, struct coord *aimpos, struct coord *leftpos, struct coord *rightpos, f32 negchrradius, f32 chrradius, s32 cdtypes, bool hasobstacle)
|
||||
{
|
||||
struct coord spd4;
|
||||
f32 spd0;
|
||||
@@ -11950,8 +11950,8 @@ bool chrNavCheckForObstacle(struct chrdata *chr, struct coord *chrpos, s16 *chrr
|
||||
f32 radius2;
|
||||
struct coord sp6c;
|
||||
struct coord sp60;
|
||||
s16 sp50[8];
|
||||
s16 sp40[8];
|
||||
RoomNum sp50[8];
|
||||
RoomNum sp40[8];
|
||||
struct prop *prop = chr->prop;
|
||||
|
||||
chrGetBbox(prop, &radius2, &ymax, &ymin);
|
||||
@@ -12656,7 +12656,7 @@ bool chrGoPosUpdateLiftAction(struct chrdata *chr, u32 curpadflags, bool arg2, b
|
||||
// Waiting for door to close or lift to arrive at destination
|
||||
if (arg2 || chr->liftaction == LIFTACTION_WAITINGONLIFT) {
|
||||
// Continue waiting
|
||||
s16 rooms[] = {0, -1};
|
||||
RoomNum rooms[] = {0, -1};
|
||||
u32 stack2;
|
||||
|
||||
rooms[0] = nextpad.room;
|
||||
@@ -12727,13 +12727,13 @@ void chrTickGoPos(struct chrdata *chr)
|
||||
{
|
||||
struct waypoint *waypoint;
|
||||
struct coord nextpos;
|
||||
s16 nextrooms[8];
|
||||
RoomNum nextrooms[8];
|
||||
struct prop *prop = chr->prop;
|
||||
bool enteringmagic = false;
|
||||
struct pad pad;
|
||||
bool sp240 = true;
|
||||
struct coord curwppos;
|
||||
s16 curwprooms[8];
|
||||
RoomNum curwprooms[8];
|
||||
u32 curwpflags;
|
||||
|
||||
chr->act_gopos.flags &= ~(GOPOSFLAG_CROUCH | GOPOSFLAG_DUCK);
|
||||
@@ -13025,7 +13025,7 @@ void chrTickPatrol(struct chrdata *chr)
|
||||
bool enteringmagic;
|
||||
u32 flags = 0;
|
||||
struct coord sp58;
|
||||
s16 sp48[8];
|
||||
RoomNum sp48[8];
|
||||
s32 arrivinglaterally;
|
||||
s32 arriving;
|
||||
bool advance;
|
||||
@@ -13742,7 +13742,7 @@ f32 chrGetAngleToTarget(struct chrdata *chr)
|
||||
return chrGetAngleToPos(chr, &prop->pos);
|
||||
}
|
||||
|
||||
void chrGetAttackEntityPos(struct chrdata *chr, u32 attackflags, s32 entityid, struct coord *pos, s16 *rooms)
|
||||
void chrGetAttackEntityPos(struct chrdata *chr, u32 attackflags, s32 entityid, struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
struct prop *targetprop;
|
||||
struct chrdata *targetchr;
|
||||
@@ -14585,7 +14585,7 @@ bool waypointIsWithin90DegreesOfPosAngle(struct waypoint *waypoint, struct coord
|
||||
* those are in the quadrant then no further checks are made and the function
|
||||
* returns -1.
|
||||
*/
|
||||
s32 chrFindWaypointWithinPosQuadrant(struct coord *pos, s16 *rooms, f32 angle, u8 quadrant)
|
||||
s32 chrFindWaypointWithinPosQuadrant(struct coord *pos, RoomNum *rooms, f32 angle, u8 quadrant)
|
||||
{
|
||||
struct waypoint *waypoint = waypointFindClosestToPos(pos, rooms);
|
||||
s32 neighbournum;
|
||||
@@ -14716,7 +14716,7 @@ bool chrSetChrPresetToChrNearSelf(u8 checktype, struct chrdata *chr, f32 distanc
|
||||
bool chrSetChrPresetToChrNearPad(u32 checktype, struct chrdata *chr, f32 distance, s32 padnum)
|
||||
{
|
||||
struct pad pad;
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
|
||||
padnum = chrResolvePadId(chr, padnum);
|
||||
padUnpack(padnum, PADFIELD_POS | PADFIELD_ROOM, &pad);
|
||||
@@ -14727,19 +14727,19 @@ bool chrSetChrPresetToChrNearPad(u32 checktype, struct chrdata *chr, f32 distanc
|
||||
return chrSetChrPresetToChrNearPos(checktype, chr, distance, &pad.pos, rooms);
|
||||
}
|
||||
|
||||
bool chrSetChrPresetToChrNearPos(u8 checktype, struct chrdata *chr, f32 distance, struct coord *pos, s16 *rooms)
|
||||
bool chrSetChrPresetToChrNearPos(u8 checktype, struct chrdata *chr, f32 distance, struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
s32 i;
|
||||
s16 *propnumptr;
|
||||
s16 propnums[256];
|
||||
s16 allrooms[21];
|
||||
RoomNum allrooms[21];
|
||||
f32 xmin = pos->x - distance;
|
||||
f32 xmax = pos->x + distance;
|
||||
f32 ymin = pos->y - distance;
|
||||
f32 ymax = pos->y + distance;
|
||||
f32 zmin = pos->z - distance;
|
||||
f32 zmax = pos->z + distance;
|
||||
s16 neighbours[11];
|
||||
RoomNum neighbours[11];
|
||||
|
||||
roomsCopy(rooms, allrooms);
|
||||
|
||||
@@ -14912,7 +14912,7 @@ bool chrSetPadPresetToPadOnRouteToTarget(struct chrdata *chr)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool chrIsPosOffScreen(struct coord *pos, s16 *rooms)
|
||||
bool chrIsPosOffScreen(struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
bool offscreen = true;
|
||||
s32 i;
|
||||
@@ -14943,12 +14943,12 @@ bool chrIsPosOffScreen(struct coord *pos, s16 *rooms)
|
||||
* If the spawn cannot happen, the function return false.
|
||||
*/
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, s16 *rooms, f32 angle, bool allowonscreen, bool force, bool onlysurrounding)
|
||||
bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, RoomNum *rooms, f32 angle, bool allowonscreen, bool force, bool onlysurrounding)
|
||||
{
|
||||
struct coord testpos;
|
||||
s32 i;
|
||||
u32 types;
|
||||
s16 testrooms[8];
|
||||
RoomNum testrooms[8];
|
||||
f32 ymin;
|
||||
f32 ymax = 200;
|
||||
f32 curangle = angle;
|
||||
@@ -15030,12 +15030,12 @@ bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, s16 *rooms, f32 angl
|
||||
* ntsc-beta's version of this function doesn't have the onlysurrounding argument
|
||||
* nor out of bounds checking, and lacks the reduction for the volume test.
|
||||
*/
|
||||
bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, s16 *rooms, f32 angle, bool allowonscreen, bool force)
|
||||
bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, RoomNum *rooms, f32 angle, bool allowonscreen, bool force)
|
||||
{
|
||||
struct coord testpos;
|
||||
s32 i;
|
||||
u32 types;
|
||||
s16 testrooms[8];
|
||||
RoomNum testrooms[8];
|
||||
f32 curangle = angle;
|
||||
|
||||
if (force) {
|
||||
@@ -15084,11 +15084,11 @@ bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, s16 *rooms, f32 angl
|
||||
* triggered, but the function will not attempt to spawn the chr until the next
|
||||
* time it's called.
|
||||
*/
|
||||
struct prop *chrSpawnAtCoord(s32 bodynum, s32 headnum, struct coord *pos, s16 *rooms, f32 angle, u8 *ailist, u32 spawnflags)
|
||||
struct prop *chrSpawnAtCoord(s32 bodynum, s32 headnum, struct coord *pos, RoomNum *rooms, f32 angle, u8 *ailist, u32 spawnflags)
|
||||
{
|
||||
struct prop *prop;
|
||||
struct coord pos2;
|
||||
s16 rooms2[8];
|
||||
RoomNum rooms2[8];
|
||||
s32 stack;
|
||||
|
||||
if (chrsGetNumFree() > 1) {
|
||||
@@ -15199,7 +15199,7 @@ struct prop *chrSpawnAtPad(struct chrdata *basechr, s32 body, s32 head, s32 pad_
|
||||
{
|
||||
s32 resolved_pad_id = chrResolvePadId(basechr, pad_id);
|
||||
struct pad pad;
|
||||
s16 room[2];
|
||||
RoomNum room[2];
|
||||
f32 fvalue;
|
||||
padUnpack(resolved_pad_id, PADFIELD_POS | PADFIELD_LOOK | PADFIELD_ROOM, &pad);
|
||||
fvalue = atan2f(pad.look.x, pad.look.z);
|
||||
@@ -15253,10 +15253,10 @@ void func0f04b740(void)
|
||||
// empty
|
||||
}
|
||||
|
||||
bool chrMoveToPos(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 angle, bool force)
|
||||
bool chrMoveToPos(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 angle, bool force)
|
||||
{
|
||||
struct coord pos2;
|
||||
s16 rooms2[8];
|
||||
RoomNum rooms2[8];
|
||||
bool result = false;
|
||||
u32 nodetype;
|
||||
union modelrwdata *rwdata;
|
||||
@@ -15356,7 +15356,7 @@ bool chrCheckCoverOutOfSight(struct chrdata *chr, s32 covernum, bool soft)
|
||||
|
||||
s32 chrAssignCoverByCriteria(struct chrdata *chr, u16 criteria, s32 refdist)
|
||||
{
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
struct cover cover;
|
||||
struct covercandidate tmp;
|
||||
s32 oldcover;
|
||||
@@ -15619,7 +15619,7 @@ bool chrRunFromPos(struct chrdata *chr, u32 goposflags, f32 rundist, struct coor
|
||||
{
|
||||
f32 curdistfrompos;
|
||||
struct coord delta;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
if (chrIsReadyForOrders(chr)) {
|
||||
delta.x = chr->prop->pos.x - frompos->x;
|
||||
@@ -16010,12 +16010,12 @@ bool audioWasNotPlayedRecently(s16 audioid)
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
Gfx *chrsRenderChrStats(Gfx *gdl, s16 *rooms)
|
||||
Gfx *chrsRenderChrStats(Gfx *gdl, RoomNum *rooms)
|
||||
{
|
||||
return gdl;
|
||||
}
|
||||
#else
|
||||
Gfx *chrsRenderChrStats(Gfx *gdl, s16 *rooms)
|
||||
Gfx *chrsRenderChrStats(Gfx *gdl, RoomNum *rooms)
|
||||
{
|
||||
s32 x;
|
||||
s32 y;
|
||||
@@ -16127,7 +16127,7 @@ void chrAvoid(struct chrdata *chr)
|
||||
f32 zdiff;
|
||||
f32 halfchrradius;
|
||||
f32 chrangle = modelGetChrRotY(chr->model);
|
||||
s16 dstrooms[8];
|
||||
RoomNum dstrooms[8];
|
||||
struct coord dstpos;
|
||||
|
||||
// @bug: This shouldn't be here, and the perim is not enabled again
|
||||
|
||||
@@ -2361,7 +2361,7 @@ bool aiObjectMoveToPad(void)
|
||||
u16 padnum = cmd[4] | (cmd[3] << 8);
|
||||
Mtxf matrix;
|
||||
struct pad pad;
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
|
||||
if (obj && obj->prop) {
|
||||
padUnpack(padnum, PADFIELD_POS | PADFIELD_LOOK | PADFIELD_UP | PADFIELD_ROOM, &pad);
|
||||
@@ -5184,7 +5184,7 @@ bool aiChrMoveToPad(void)
|
||||
bool pass = false;
|
||||
f32 theta;
|
||||
struct pad pad;
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
struct chrdata *chr2;
|
||||
|
||||
if (chr && chr->prop) {
|
||||
@@ -9611,7 +9611,7 @@ bool aiSetDrCarollImages(void)
|
||||
bool aiSetRoomFlag(void)
|
||||
{
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
s16 roomnum = cmd[3] | cmd[2] << 8;
|
||||
RoomNum roomnum = cmd[3] | cmd[2] << 8;
|
||||
s16 flag = cmd[5] | cmd[4] << 8;
|
||||
|
||||
g_Rooms[roomnum].flags |= flag;
|
||||
@@ -9658,7 +9658,7 @@ bool aiShowCutsceneChrs(void)
|
||||
bool aiConfigureEnvironment(void)
|
||||
{
|
||||
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
|
||||
s16 room_id = (cmd[3] | (cmd[2] << 8));
|
||||
RoomNum room_id = (cmd[3] | (cmd[2] << 8));
|
||||
s32 value = cmd[5];
|
||||
s32 i;
|
||||
|
||||
|
||||
+2
-2
@@ -311,7 +311,7 @@ void roomSetDefaults(struct room *room)
|
||||
room->lightop_duration240 = 0;
|
||||
}
|
||||
|
||||
Gfx *lightsSetForRoom(Gfx *gdl, s16 roomnum)
|
||||
Gfx *lightsSetForRoom(Gfx *gdl, RoomNum roomnum)
|
||||
{
|
||||
Lights1 *lights = gfxAllocate(sizeof(Lights1));
|
||||
|
||||
@@ -989,7 +989,7 @@ bool lightTickBroken(s32 roomnum, s32 lightnum)
|
||||
f32 rand1 = 2.0f * RANDOMFRAC() - 1.0f; // range -1 to 1
|
||||
f32 rand2 = 2.0f * RANDOMFRAC() - 1.0f; // range -1 to 1
|
||||
s32 sparktype = -1;
|
||||
s16 smokerooms[2];
|
||||
RoomNum smokerooms[2];
|
||||
struct bgroom *room;
|
||||
|
||||
spc8.x = light->bbox[1].x - light->bbox[0].x;
|
||||
|
||||
+1
-1
@@ -354,7 +354,7 @@ void dyntexSetCurrentType(s16 type)
|
||||
g_DyntexCurType = type;
|
||||
}
|
||||
|
||||
void dyntexSetCurrentRoom(s16 roomnum)
|
||||
void dyntexSetCurrentRoom(RoomNum roomnum)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
|
||||
@@ -81,18 +81,18 @@ struct explosiontype g_ExplosionTypes[] = {
|
||||
/*25*/ { 640, 480, 32, 11.2, 1600, 1000, 1000, 180, 2, 5, SMOKETYPE_NONE, 0x80a4, 4 },
|
||||
};
|
||||
|
||||
bool explosionCreateSimple(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum)
|
||||
bool explosionCreateSimple(struct prop *prop, struct coord *pos, RoomNum *rooms, s16 type, s32 playernum)
|
||||
{
|
||||
return explosionCreate(prop, pos, rooms, type, playernum, false, NULL, 0, NULL);
|
||||
}
|
||||
|
||||
bool explosionCreateComplex(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum)
|
||||
bool explosionCreateComplex(struct prop *prop, struct coord *pos, RoomNum *rooms, s16 type, s32 playernum)
|
||||
{
|
||||
struct coord sp100;
|
||||
struct coord sp88;
|
||||
struct explosiontype *etype;
|
||||
bool makescorch = true;
|
||||
s16 room;
|
||||
RoomNum room;
|
||||
f32 y;
|
||||
struct prop *collisionprop;
|
||||
|
||||
@@ -232,8 +232,8 @@ void explosionAlertChrs(f32 *radius, struct coord *noisepos)
|
||||
#endif
|
||||
}
|
||||
|
||||
bool explosionCreate(struct prop *sourceprop, struct coord *exppos, s16 *exprooms,
|
||||
s16 type, s32 playernum, bool makescorch, struct coord *arg6, s16 room, struct coord *arg8)
|
||||
bool explosionCreate(struct prop *sourceprop, struct coord *exppos, RoomNum *exprooms,
|
||||
s16 type, s32 playernum, bool makescorch, struct coord *arg6, RoomNum room, struct coord *arg8)
|
||||
{
|
||||
u32 stack;
|
||||
struct explosion *exp = NULL;
|
||||
@@ -314,8 +314,8 @@ bool explosionCreate(struct prop *sourceprop, struct coord *exppos, s16 *exproom
|
||||
struct coord portal2bbmax;
|
||||
struct coord spd4;
|
||||
struct coord spc8;
|
||||
s16 otherroom;
|
||||
s16 otherroom2;
|
||||
RoomNum otherroom;
|
||||
RoomNum otherroom2;
|
||||
f32 mult = 1;
|
||||
s32 stack4;
|
||||
s32 portalnum2;
|
||||
@@ -626,7 +626,7 @@ bool explosionOverlapsProp(struct explosion *exp, struct prop *prop, struct coor
|
||||
{
|
||||
bool result = false;
|
||||
s32 i;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
if (exp->type == EXPLOSIONTYPE_HUGE25) {
|
||||
result = true;
|
||||
|
||||
+4
-4
@@ -1607,9 +1607,9 @@ Gfx *lvRender(Gfx *gdl)
|
||||
|| debugIsChrStatsEnabled()
|
||||
|| debug0f11ee40()) {
|
||||
#if VERSION < VERSION_NTSC_1_0
|
||||
s16 spc8[21];
|
||||
s16 spb0[11];
|
||||
s16 sp9c[10];
|
||||
RoomNum spc8[21];
|
||||
RoomNum spb0[11];
|
||||
RoomNum sp9c[10];
|
||||
s32 j;
|
||||
|
||||
sp9c[0] = g_Vars.currentplayer->memcamroom;
|
||||
@@ -2063,7 +2063,7 @@ void lvTick(void)
|
||||
// Check if another player is in a nearby room
|
||||
for (playernum = 0; playernum < PLAYERCOUNT() && !foundnearbychr; playernum++) {
|
||||
if (g_Vars.players[playernum]->isdead == false) {
|
||||
s16 *rooms = g_Vars.players[playernum]->prop->rooms;
|
||||
RoomNum *rooms = g_Vars.players[playernum]->prop->rooms;
|
||||
s32 r;
|
||||
|
||||
for (r = 0; rooms[r] != -1 && !foundnearbychr; r++) {
|
||||
|
||||
@@ -64,10 +64,10 @@ struct mpscenario {
|
||||
Gfx *(*radarextrafunc)(Gfx *gdl);
|
||||
bool (*radarchrfunc)(Gfx **gdl, struct prop *prop);
|
||||
bool (*highlightpropfunc)(struct prop *prop, s32 *colour);
|
||||
bool (*spawnfunc)(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop, f32 *arg4);
|
||||
bool (*spawnfunc)(f32 arg0, struct coord *pos, RoomNum *rooms, struct prop *prop, f32 *arg4);
|
||||
s32 (*maxteamsfunc)(void);
|
||||
bool (*isroomhighlightedfunc)(s16 room);
|
||||
void (*highlightroomfunc)(s16 room, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
bool (*isroomhighlightedfunc)(RoomNum room);
|
||||
void (*highlightroomfunc)(RoomNum room, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
void *unk3c; // never hooked into nor fired
|
||||
void (*readsavefunc)(struct savebuffer *buffer);
|
||||
void (*writesavefunc)(struct savebuffer *buffer);
|
||||
@@ -791,7 +791,7 @@ bool scenarioHighlightProp(struct prop *prop, s32 *colour)
|
||||
*
|
||||
* CTC uses this to ensure the chrs spawn near their base.
|
||||
*/
|
||||
f32 scenarioChooseSpawnLocation(f32 chrradius, struct coord *pos, s16 *rooms, struct prop *prop)
|
||||
f32 scenarioChooseSpawnLocation(f32 chrradius, struct coord *pos, RoomNum *rooms, struct prop *prop)
|
||||
{
|
||||
f32 result;
|
||||
|
||||
@@ -917,7 +917,7 @@ s32 scenarioGetMaxTeams(void)
|
||||
/**
|
||||
* This callback is unused.
|
||||
*/
|
||||
bool scenarioIsRoomHighlighted(s16 room)
|
||||
bool scenarioIsRoomHighlighted(RoomNum room)
|
||||
{
|
||||
if (g_MpScenarios[g_MpSetup.scenario].isroomhighlightedfunc) {
|
||||
return g_MpScenarios[g_MpSetup.scenario].isroomhighlightedfunc(room);
|
||||
@@ -931,7 +931,7 @@ bool scenarioIsRoomHighlighted(s16 room)
|
||||
*
|
||||
* Used in CTC for the team bases and in KOH for the hill.
|
||||
*/
|
||||
void scenarioHighlightRoom(s16 room, s32 *arg1, s32 *arg2, s32 *arg3)
|
||||
void scenarioHighlightRoom(RoomNum room, s32 *arg1, s32 *arg2, s32 *arg3)
|
||||
{
|
||||
if (g_MpScenarios[g_MpSetup.scenario].highlightroomfunc) {
|
||||
g_MpScenarios[g_MpSetup.scenario].highlightroomfunc(room, arg1, arg2, arg3);
|
||||
@@ -1351,7 +1351,7 @@ void scenarioHandleDroppedToken(struct chrdata *chr, struct prop *prop)
|
||||
struct defaultobj *obj;
|
||||
struct pad pad;
|
||||
Mtxf mtx;
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
|
||||
if (g_MpSetup.scenario == MPSCENARIO_CAPTURETHECASE) {
|
||||
for (i = 0; i < ARRAYCOUNT(g_ScenarioData.ctc.tokens); i++) {
|
||||
|
||||
@@ -457,7 +457,7 @@ void ctcAddPad(s32 *cmd)
|
||||
}
|
||||
}
|
||||
|
||||
bool ctcChooseSpawnLocation(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop, f32 *arg4)
|
||||
bool ctcChooseSpawnLocation(f32 arg0, struct coord *pos, RoomNum *rooms, struct prop *prop, f32 *arg4)
|
||||
{
|
||||
struct chrdata *chr = prop->chr;
|
||||
s32 index = radarGetTeamIndex(chr->team);
|
||||
@@ -477,7 +477,7 @@ s32 ctcGetMaxTeams(void)
|
||||
return 4;
|
||||
}
|
||||
|
||||
bool ctcIsRoomHighlighted(s16 room)
|
||||
bool ctcIsRoomHighlighted(RoomNum room)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -490,7 +490,7 @@ bool ctcIsRoomHighlighted(s16 room)
|
||||
return false;
|
||||
}
|
||||
|
||||
void ctcHighlightRoom(s16 roomnum, s32 *arg1, s32 *arg2, s32 *arg3)
|
||||
void ctcHighlightRoom(RoomNum roomnum, s32 *arg1, s32 *arg2, s32 *arg3)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
|
||||
@@ -658,12 +658,12 @@ void kohAddHill(s32 *cmd)
|
||||
}
|
||||
}
|
||||
|
||||
bool kohIsRoomHighlighted(s16 room)
|
||||
bool kohIsRoomHighlighted(RoomNum room)
|
||||
{
|
||||
return room == g_ScenarioData.koh.hillrooms[0];
|
||||
}
|
||||
|
||||
void kohHighlightRoom(s16 roomnum, s32 *arg1, s32 *arg2, s32 *arg3)
|
||||
void kohHighlightRoom(RoomNum roomnum, s32 *arg1, s32 *arg2, s32 *arg3)
|
||||
{
|
||||
if (roomnum == g_ScenarioData.koh.hillrooms[0]) {
|
||||
f32 a = *arg1;
|
||||
|
||||
+1
-1
@@ -431,7 +431,7 @@ void nbombInflictDamage(struct nbomb *nbomb)
|
||||
s16 propnums[256];
|
||||
struct coord bbmin;
|
||||
struct coord bbmax;
|
||||
s16 roomnums[54];
|
||||
RoomNum roomnums[54];
|
||||
s16 *propnumptr;
|
||||
s32 i;
|
||||
struct gset gset;
|
||||
|
||||
@@ -455,7 +455,7 @@ void objectiveCheckRoomEntered(s32 currentroom)
|
||||
}
|
||||
}
|
||||
|
||||
void objectiveCheckThrowInRoom(s32 arg0, s16 *inrooms)
|
||||
void objectiveCheckThrowInRoom(s32 arg0, RoomNum *inrooms)
|
||||
{
|
||||
struct criteria_throwinroom *criteria = g_ThrowInRoomCriterias;
|
||||
|
||||
@@ -464,7 +464,7 @@ void objectiveCheckThrowInRoom(s32 arg0, s16 *inrooms)
|
||||
s32 room = chrGetPadRoom(NULL, criteria->pad);
|
||||
|
||||
if (room >= 0) {
|
||||
s16 requirerooms[2];
|
||||
RoomNum requirerooms[2];
|
||||
requirerooms[0] = room;
|
||||
requirerooms[1] = -1;
|
||||
|
||||
|
||||
@@ -73,12 +73,12 @@ void navSetSeed(u32 upper, u32 lower)
|
||||
* The function will return NULL if there are no waypoints at all within the
|
||||
* position's room or its neighbours.
|
||||
*/
|
||||
struct waypoint *waypointFindClosestToPos(struct coord *pos, s16 *rooms)
|
||||
struct waypoint *waypointFindClosestToPos(struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
struct waypoint *closest = NULL;
|
||||
s16 allrooms[30];
|
||||
RoomNum allrooms[30];
|
||||
s32 candlen = 0;
|
||||
s16 neighbours[10];
|
||||
RoomNum neighbours[10];
|
||||
s32 i;
|
||||
s32 j;
|
||||
struct waypoint *candwaypoints[10];
|
||||
@@ -152,7 +152,7 @@ struct waypoint *waypointFindClosestToPos(struct coord *pos, s16 *rooms)
|
||||
// Check which candidates have line of sight
|
||||
for (i = 0; i < candlen; i++) {
|
||||
struct pad pad;
|
||||
s16 padrooms[8];
|
||||
RoomNum padrooms[8];
|
||||
|
||||
padUnpack(candwaypoints[i]->padnum, PADFIELD_POS | PADFIELD_ROOM, &pad);
|
||||
|
||||
@@ -185,10 +185,10 @@ struct waypoint *waypointFindClosestToPos(struct coord *pos, s16 *rooms)
|
||||
for (i = 0; i < candlen; i++) {
|
||||
if (checkmore[i] && (sp250[i].x != sp1d8[i].x || sp250[i].z != sp1d8[i].z)) {
|
||||
struct pad pad;
|
||||
s16 padrooms[8];
|
||||
RoomNum padrooms[8];
|
||||
struct coord sp98;
|
||||
struct coord tmppos;
|
||||
s16 tmprooms[8];
|
||||
RoomNum tmprooms[8];
|
||||
f32 mult;
|
||||
|
||||
padUnpack(candwaypoints[i]->padnum, PADFIELD_POS | PADFIELD_ROOM, &pad);
|
||||
|
||||
+16
-16
@@ -211,7 +211,7 @@ s32 g_NumDeathAnimations = 0;
|
||||
* @dangerous: If there are too many pads (24+) in the setup then array
|
||||
* overflows may occur.
|
||||
*/
|
||||
f32 playerChooseSpawnLocation(f32 chrradius, struct coord *dstpos, s16 *dstrooms, struct prop *prop, s16 *pads, s32 numpads)
|
||||
f32 playerChooseSpawnLocation(f32 chrradius, struct coord *dstpos, RoomNum *dstrooms, struct prop *prop, s16 *pads, s32 numpads)
|
||||
{
|
||||
u8 verybadpads[24];
|
||||
u8 badpads[24];
|
||||
@@ -226,7 +226,7 @@ f32 playerChooseSpawnLocation(f32 chrradius, struct coord *dstpos, s16 *dstrooms
|
||||
// "sl" prefixes are for shortlist
|
||||
s16 slpadindexes[8];
|
||||
struct coord slpositions[4];
|
||||
s16 slrooms[4][8];
|
||||
RoomNum slrooms[4][8];
|
||||
f32 slangles[4];
|
||||
s32 sllen = 0;
|
||||
|
||||
@@ -237,9 +237,9 @@ f32 playerChooseSpawnLocation(f32 chrradius, struct coord *dstpos, s16 *dstrooms
|
||||
u8 stack2[0x10];
|
||||
struct pad pad;
|
||||
s32 stack3[2];
|
||||
s16 tmppadrooms[2];
|
||||
RoomNum tmppadrooms[2];
|
||||
f32 bestsqdist;
|
||||
s16 neighbours[20];
|
||||
RoomNum neighbours[20];
|
||||
|
||||
// Iterate all spawn pads and populate the category arrays
|
||||
for (p = 0; p < numpads; p++) {
|
||||
@@ -472,7 +472,7 @@ f32 playerChooseSpawnLocation(f32 chrradius, struct coord *dstpos, s16 *dstrooms
|
||||
return dstangle;
|
||||
}
|
||||
|
||||
f32 playerChooseGeneralSpawnLocation(f32 chrradius, struct coord *pos, s16 *rooms, struct prop *prop)
|
||||
f32 playerChooseGeneralSpawnLocation(f32 chrradius, struct coord *pos, RoomNum *rooms, struct prop *prop)
|
||||
{
|
||||
return playerChooseSpawnLocation(chrradius, pos, rooms, prop, g_SpawnPoints, g_NumSpawnPoints);
|
||||
}
|
||||
@@ -480,7 +480,7 @@ f32 playerChooseGeneralSpawnLocation(f32 chrradius, struct coord *pos, s16 *room
|
||||
void playerStartNewLife(void)
|
||||
{
|
||||
struct coord pos = {0, 0, 0};
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
f32 angle;
|
||||
s32 *cmd = g_StageSetup.intro;
|
||||
f32 groundy;
|
||||
@@ -3366,9 +3366,9 @@ void playerTick(bool arg0)
|
||||
rocket->base.realrot[0][0] * rocket->base.realrot[0][0] +
|
||||
rocket->base.realrot[1][0] * rocket->base.realrot[1][0] +
|
||||
rocket->base.realrot[2][0] * rocket->base.realrot[2][0]);
|
||||
s16 inrooms[21];
|
||||
s16 aboverooms[21];
|
||||
s16 bestroom;
|
||||
RoomNum inrooms[21];
|
||||
RoomNum aboverooms[21];
|
||||
RoomNum bestroom;
|
||||
s16 outofbounds = false;
|
||||
|
||||
sp2b8[0][0] = rocket->base.realrot[0][0] / sp2a8;
|
||||
@@ -4921,14 +4921,14 @@ void playerSetCameraMode(s32 mode)
|
||||
g_Vars.currentplayer->cameramode = mode;
|
||||
}
|
||||
|
||||
void player0f0c1840(struct coord *pos, struct coord *up, struct coord *look, struct coord *pos2, s16 *rooms2)
|
||||
void player0f0c1840(struct coord *pos, struct coord *up, struct coord *look, struct coord *pos2, RoomNum *rooms2)
|
||||
{
|
||||
bool done = false;
|
||||
s16 inrooms[21];
|
||||
s16 aboverooms[21];
|
||||
s16 sp54[8];
|
||||
s16 bestroom;
|
||||
s16 tmp;
|
||||
RoomNum inrooms[21];
|
||||
RoomNum aboverooms[21];
|
||||
RoomNum sp54[8];
|
||||
RoomNum bestroom;
|
||||
RoomNum tmp;
|
||||
s32 i;
|
||||
s32 room;
|
||||
|
||||
@@ -5022,7 +5022,7 @@ void player0f0c1840(struct coord *pos, struct coord *up, struct coord *look, str
|
||||
|
||||
void player0f0c1ba4(struct coord *pos, struct coord *up, struct coord *look, struct coord *memcampos, s32 memcamroom)
|
||||
{
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
rooms[0] = memcamroom;
|
||||
rooms[1] = -1;
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ struct cmd32 {
|
||||
void playerReset(void)
|
||||
{
|
||||
struct coord pos = {0, 0, 0};
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
f32 turnanglerad = 0;
|
||||
f32 groundy;
|
||||
bool hasdefaultweapon = false;
|
||||
|
||||
+40
-40
@@ -391,11 +391,11 @@ Gfx *propRender(Gfx *gdl, struct prop *prop, bool xlupass)
|
||||
* terminal in the pre-bg pass and the screen in the post-bg pass, likely to
|
||||
* avoid Z-fighting issues.
|
||||
*/
|
||||
Gfx *propsRender(Gfx *gdl, s16 renderroomnum, s32 renderpass, s16 *roomnumsbyprop)
|
||||
Gfx *propsRender(Gfx *gdl, RoomNum renderroomnum, s32 renderpass, RoomNum *roomnumsbyprop)
|
||||
{
|
||||
struct prop **ptr;
|
||||
struct prop *prop;
|
||||
s16 *proprooms;
|
||||
RoomNum *proprooms;
|
||||
|
||||
if (renderpass == RENDERPASS_OPA_PREBG || renderpass == RENDERPASS_OPA_POSTBG) {
|
||||
// Iterate onscreen props near to far
|
||||
@@ -592,22 +592,22 @@ struct prop *shotCalculateHits(s32 handnum, bool arg1, struct coord *arg2, struc
|
||||
s32 sparktype;
|
||||
|
||||
#ifdef AVOID_UB
|
||||
s16 rooms[131];
|
||||
RoomNum rooms[131];
|
||||
#else
|
||||
s16 rooms[124];
|
||||
RoomNum rooms[124];
|
||||
#endif
|
||||
|
||||
s16 spc8[8];
|
||||
s16 spb8[8];
|
||||
RoomNum spc8[8];
|
||||
RoomNum spb8[8];
|
||||
s32 uVar6;
|
||||
s16 *roomsptr;
|
||||
RoomNum *roomsptr;
|
||||
struct prop *prop;
|
||||
struct coord spa0;
|
||||
struct defaultobj *obj;
|
||||
bool doexplosiveshells;
|
||||
struct coord sp8c;
|
||||
s16 sp7c[8];
|
||||
s16 sp6c[8];
|
||||
RoomNum sp7c[8];
|
||||
RoomNum sp6c[8];
|
||||
struct prop *hitprop;
|
||||
|
||||
bgun0f0a9494(arg6);
|
||||
@@ -1688,7 +1688,7 @@ void propsTickPlayer(bool islastplayer)
|
||||
s32 savedslotupdate240_60;
|
||||
f32 savedslotupdate240f;
|
||||
struct g_vars *vars = &g_Vars;
|
||||
s16 *rooms;
|
||||
RoomNum *rooms;
|
||||
u8 mostindex;
|
||||
u8 leastindex;
|
||||
u8 runstateindex;
|
||||
@@ -2215,8 +2215,8 @@ void propsTickPadEffects(void)
|
||||
struct pad pad;
|
||||
u32 stack;
|
||||
struct coord up;
|
||||
s16 rooms[2];
|
||||
s16 rooms2[2];
|
||||
RoomNum rooms[2];
|
||||
RoomNum rooms2[2];
|
||||
s32 type;
|
||||
|
||||
if (g_LastPadEffectIndex >= 0) {
|
||||
@@ -2306,8 +2306,8 @@ void propsTestForPickup(void)
|
||||
s16 *propnumptr;
|
||||
s32 i;
|
||||
s16 propnums[256];
|
||||
s16 allrooms[21];
|
||||
s16 tmp[11];
|
||||
RoomNum allrooms[21];
|
||||
RoomNum tmp[11];
|
||||
|
||||
if (g_Vars.currentplayer->bondmovemode != MOVEMODE_CUTSCENE
|
||||
&& !g_PlayerInvincible
|
||||
@@ -2853,10 +2853,10 @@ bool propIsOfCdType(struct prop *prop, u32 types)
|
||||
return result;
|
||||
}
|
||||
|
||||
void roomsCopy(s16 *src, s16 *dst)
|
||||
void roomsCopy(RoomNum *src, RoomNum *dst)
|
||||
{
|
||||
s16 *srcptr = src;
|
||||
s16 *dstptr = dst;
|
||||
RoomNum *srcptr = src;
|
||||
RoomNum *dstptr = dst;
|
||||
s32 val;
|
||||
|
||||
while ((val = *srcptr) != -1) {
|
||||
@@ -2871,7 +2871,7 @@ void roomsCopy(s16 *src, s16 *dst)
|
||||
/**
|
||||
* Append newrooms to dstrooms without duplicates.
|
||||
*/
|
||||
void roomsAppend(s16 *newrooms, s16 *dstrooms, s32 maxlen)
|
||||
void roomsAppend(RoomNum *newrooms, RoomNum *dstrooms, s32 maxlen)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -2887,12 +2887,12 @@ void roomsAppend(s16 *newrooms, s16 *dstrooms, s32 maxlen)
|
||||
}
|
||||
}
|
||||
|
||||
bool arrayIntersects(s16 *a, s16 *b)
|
||||
bool arrayIntersects(RoomNum *a, RoomNum *b)
|
||||
{
|
||||
s16 *aptr = a;
|
||||
s16 aval = *aptr;
|
||||
s16 *bptr;
|
||||
s16 bval;
|
||||
RoomNum *aptr = a;
|
||||
RoomNum aval = *aptr;
|
||||
RoomNum *bptr;
|
||||
RoomNum bval;
|
||||
|
||||
while (aval != -1) {
|
||||
bptr = b; bval = *bptr;
|
||||
@@ -2951,7 +2951,7 @@ s32 roomAllocatePropListChunk(s32 room, s32 prevchunkindex)
|
||||
return -1;
|
||||
}
|
||||
|
||||
void propRegisterRoom(struct prop *prop, s16 room)
|
||||
void propRegisterRoom(struct prop *prop, RoomNum room)
|
||||
{
|
||||
s32 prev = -1;
|
||||
s32 i;
|
||||
@@ -2979,7 +2979,7 @@ void propRegisterRoom(struct prop *prop, s16 room)
|
||||
}
|
||||
}
|
||||
|
||||
void propDeregisterRoom(struct prop *prop, s16 room)
|
||||
void propDeregisterRoom(struct prop *prop, RoomNum room)
|
||||
{
|
||||
bool removed = false;
|
||||
s32 prev = -1;
|
||||
@@ -3033,8 +3033,8 @@ void propDeregisterRoom(struct prop *prop, s16 room)
|
||||
*/
|
||||
void propDeregisterRooms(struct prop *prop)
|
||||
{
|
||||
s16 *rooms = prop->rooms;
|
||||
s16 room = *rooms;
|
||||
RoomNum *rooms = prop->rooms;
|
||||
RoomNum room = *rooms;
|
||||
|
||||
while (room != -1) {
|
||||
propDeregisterRoom(prop, room);
|
||||
@@ -3050,8 +3050,8 @@ void propDeregisterRooms(struct prop *prop)
|
||||
*/
|
||||
void propRegisterRooms(struct prop *prop)
|
||||
{
|
||||
s16 *rooms = prop->rooms;
|
||||
s16 room = *rooms;
|
||||
RoomNum *rooms = prop->rooms;
|
||||
RoomNum room = *rooms;
|
||||
|
||||
while (room != -1) {
|
||||
propRegisterRoom(prop, room);
|
||||
@@ -3060,9 +3060,9 @@ void propRegisterRooms(struct prop *prop)
|
||||
}
|
||||
}
|
||||
|
||||
void func0f065d1c(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newrooms, s16 *morerooms, u32 arg5)
|
||||
void func0f065d1c(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5)
|
||||
{
|
||||
s16 stackrooms[8];
|
||||
RoomNum stackrooms[8];
|
||||
s32 index;
|
||||
s32 i;
|
||||
|
||||
@@ -3080,12 +3080,12 @@ void func0f065d1c(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newr
|
||||
newrooms[index] = -1;
|
||||
}
|
||||
|
||||
void func0f065dd8(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newrooms)
|
||||
void func0f065dd8(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms)
|
||||
{
|
||||
func0f065d1c(pos, rooms, newpos, newrooms, NULL, 0);
|
||||
}
|
||||
|
||||
void func0f065dfc(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newrooms, s16 *morerooms, u32 arg5)
|
||||
void func0f065dfc(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5)
|
||||
{
|
||||
func0f065d1c(pos, rooms, newpos, newrooms, morerooms, arg5);
|
||||
|
||||
@@ -3098,16 +3098,16 @@ void func0f065dfc(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newr
|
||||
}
|
||||
}
|
||||
|
||||
void func0f065e74(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newrooms)
|
||||
void func0f065e74(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms)
|
||||
{
|
||||
func0f065dfc(pos, rooms, newpos, newrooms, NULL, 0);
|
||||
}
|
||||
|
||||
void func0f065e98(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *dstrooms)
|
||||
void func0f065e98(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *dstrooms)
|
||||
{
|
||||
s16 inrooms[21];
|
||||
s16 aboverooms[21];
|
||||
s16 *ptr = NULL;
|
||||
RoomNum inrooms[21];
|
||||
RoomNum aboverooms[21];
|
||||
RoomNum *ptr = NULL;
|
||||
s32 i;
|
||||
|
||||
bgFindRoomsByPos(pos2, inrooms, aboverooms, 20, NULL);
|
||||
@@ -3148,10 +3148,10 @@ void func0f065e98(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *dstroo
|
||||
* to get 256 props in a small space without exhausing the memory of the
|
||||
* console, you could potentially achieve arbitrary code execution.
|
||||
*/
|
||||
void roomGetProps(s16 *rooms, s16 *propnums, s32 len)
|
||||
void roomGetProps(RoomNum *rooms, s16 *propnums, s32 len)
|
||||
{
|
||||
s16 *writeptr = propnums;
|
||||
s32 room;
|
||||
RoomNum room;
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
|
||||
+58
-58
@@ -989,7 +989,7 @@ struct defaultobj *objFindByPadNum(s32 padnum)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct defaultobj *objFindByPos(struct coord *pos, s16 *rooms)
|
||||
struct defaultobj *objFindByPos(struct coord *pos, RoomNum *rooms)
|
||||
{
|
||||
struct prop *prop = g_Vars.activeprops;
|
||||
u8 *sp38;
|
||||
@@ -1353,7 +1353,7 @@ struct modelrodata_bbox *objFindBboxRodata(struct defaultobj *obj)
|
||||
return modelFindBboxRodata(obj->model);
|
||||
}
|
||||
|
||||
s32 objGetAverageBrightnessInRooms(s16 *rooms, s32 brightnesstype)
|
||||
s32 objGetAverageBrightnessInRooms(RoomNum *rooms, s32 brightnesstype)
|
||||
{
|
||||
s32 brightness = 0;
|
||||
s32 i;
|
||||
@@ -2142,7 +2142,7 @@ struct prop *objInitWithAutoModel(struct defaultobj *obj)
|
||||
return objInitWithModelDef(obj, g_ModelStates[obj->modelnum].modeldef);
|
||||
}
|
||||
|
||||
void func0f06a580(struct defaultobj *obj, struct coord *pos, Mtxf *matrix, s16 *rooms)
|
||||
void func0f06a580(struct defaultobj *obj, struct coord *pos, Mtxf *matrix, RoomNum *rooms)
|
||||
{
|
||||
struct prop *prop = obj->prop;
|
||||
|
||||
@@ -2171,13 +2171,13 @@ f32 func0f06a620(struct defaultobj *obj)
|
||||
return 4;
|
||||
}
|
||||
|
||||
void func0f06a650(struct defaultobj *obj, struct coord *pos, Mtxf *arg2, s16 *rooms)
|
||||
void func0f06a650(struct defaultobj *obj, struct coord *pos, Mtxf *arg2, RoomNum *rooms)
|
||||
{
|
||||
struct modelrodata_bbox *bbox;
|
||||
s16 room;
|
||||
RoomNum room;
|
||||
f32 sp3c;
|
||||
struct coord newpos;
|
||||
s16 newrooms[2];
|
||||
RoomNum newrooms[2];
|
||||
|
||||
bbox = modelFindBboxRodata(obj->model);
|
||||
|
||||
@@ -2201,14 +2201,14 @@ void func0f06a650(struct defaultobj *obj, struct coord *pos, Mtxf *arg2, s16 *ro
|
||||
}
|
||||
}
|
||||
|
||||
void func0f06a730(struct defaultobj *obj, struct coord *arg1, Mtxf *mtx, s16 *rooms, struct coord *centre)
|
||||
void func0f06a730(struct defaultobj *obj, struct coord *arg1, Mtxf *mtx, RoomNum *rooms, struct coord *centre)
|
||||
{
|
||||
struct modelrodata_bbox *bbox = modelFindBboxRodata(obj->model);
|
||||
f32 min = objGetLocalYMin(bbox);
|
||||
f32 max = objGetLocalYMax(bbox);
|
||||
struct coord pos2;
|
||||
Mtxf sp70;
|
||||
s16 rooms2[8];
|
||||
RoomNum rooms2[8];
|
||||
f32 curval;
|
||||
f32 y;
|
||||
f32 maxval;
|
||||
@@ -2327,12 +2327,12 @@ void func0f06a730(struct defaultobj *obj, struct coord *arg1, Mtxf *mtx, s16 *ro
|
||||
func0f06a580(obj, &pos2, &sp70, rooms2);
|
||||
}
|
||||
|
||||
void func0f06ab60(struct defaultobj *obj, struct coord *arg1, Mtxf *arg2, s16 *rooms, struct coord *arg4)
|
||||
void func0f06ab60(struct defaultobj *obj, struct coord *arg1, Mtxf *arg2, RoomNum *rooms, struct coord *arg4)
|
||||
{
|
||||
struct modelrodata_bbox *bbox;
|
||||
f32 mult;
|
||||
struct coord newpos;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
Mtxf sp5c;
|
||||
Mtxf sp1c;
|
||||
|
||||
@@ -3108,7 +3108,7 @@ bool func0f06c28c(struct chrdata *chr, struct coord *arg1, struct coord *arg2, s
|
||||
return result;
|
||||
}
|
||||
|
||||
bool projectileFindCollidingProp(struct prop *prop, struct coord *pos1, struct coord *pos2, u32 cdtypes, struct coord *arg4, struct coord *arg5, s16 *rooms)
|
||||
bool projectileFindCollidingProp(struct prop *prop, struct coord *pos1, struct coord *pos2, u32 cdtypes, struct coord *arg4, struct coord *arg5, RoomNum *rooms)
|
||||
{
|
||||
bool result = false;
|
||||
f32 dist;
|
||||
@@ -3232,9 +3232,9 @@ s32 func0f06cd00(struct defaultobj *obj, struct coord *pos, struct coord *arg2,
|
||||
struct coord sp1c4;
|
||||
u32 stack;
|
||||
bool s0;
|
||||
s16 spcc[120];
|
||||
s16 *ptr;
|
||||
s16 spb8[8];
|
||||
RoomNum spcc[120];
|
||||
RoomNum *ptr;
|
||||
RoomNum spb8[8];
|
||||
s32 i;
|
||||
f32 scale = 1.0f;
|
||||
|
||||
@@ -3287,7 +3287,7 @@ s32 func0f06cd00(struct defaultobj *obj, struct coord *pos, struct coord *arg2,
|
||||
}
|
||||
}
|
||||
} else {
|
||||
s16 spa0[2];
|
||||
RoomNum spa0[2];
|
||||
spa0[0] = spcc[i];
|
||||
spa0[1] = -1;
|
||||
|
||||
@@ -3377,7 +3377,7 @@ bool func0f06d37c(struct defaultobj *obj, struct coord *arg1, struct coord *arg2
|
||||
bool sp98 = false;
|
||||
struct coord sp8c;
|
||||
struct coord sp80;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
struct coord sp64;
|
||||
struct coord sp58;
|
||||
struct coord sp4c;
|
||||
@@ -3966,7 +3966,7 @@ void objLand2(struct defaultobj *obj, struct coord *arg1, struct coord *arg2)
|
||||
struct modelrodata_bbox *bbox = modelFindBboxRodata(obj->model);
|
||||
f32 ymin = objGetLocalYMin(bbox);
|
||||
struct prop *prop = obj->prop;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
|
||||
func0f06e9cc(arg2, &sp40);
|
||||
mtx00015f04(obj->model->scale, &sp40);
|
||||
@@ -3987,7 +3987,7 @@ void boltLand(struct weaponobj *weapon, struct coord *arg1)
|
||||
s32 beamnum;
|
||||
f32 zmax;
|
||||
struct prop *prop;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
|
||||
bbox = modelFindBboxRodata(weapon->base.model);
|
||||
prop = weapon->base.prop;
|
||||
@@ -4023,7 +4023,7 @@ void knifeLand(struct defaultobj *obj, struct coord *arg1, struct coord *arg2)
|
||||
struct modelrodata_bbox *bbox = modelFindBboxRodata(obj->model);
|
||||
f32 zero = 0.0f;
|
||||
struct prop *prop = obj->prop;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
struct coord sp1c;
|
||||
|
||||
// @bug? Should these be assigned to zero?
|
||||
@@ -4175,7 +4175,7 @@ bool propExplode(struct prop *prop, s32 exptype)
|
||||
if (prop->parent) {
|
||||
struct prop *parent = prop->parent;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
while (parent->parent) {
|
||||
parent = parent->parent;
|
||||
@@ -5159,10 +5159,10 @@ f32 objGetHov04(struct defaultobj *obj)
|
||||
return result;
|
||||
}
|
||||
|
||||
void hovUpdateGround(struct defaultobj *obj, struct hov *hov, struct coord *pos, s16 *rooms, f32 matrix[3][3])
|
||||
void hovUpdateGround(struct defaultobj *obj, struct hov *hov, struct coord *pos, RoomNum *rooms, f32 matrix[3][3])
|
||||
{
|
||||
f32 ground;
|
||||
s16 testrooms[8];
|
||||
RoomNum testrooms[8];
|
||||
struct coord testpos;
|
||||
|
||||
if (g_Vars.lvframe60 > hov->nexttick60) {
|
||||
@@ -5194,8 +5194,8 @@ void hovTick(struct defaultobj *obj, struct hov *hov)
|
||||
struct modelrodata_bbox *bbox;
|
||||
struct coord sp1b4;
|
||||
struct coord sp1a8;
|
||||
s16 sp198[8];
|
||||
s16 sp188[8];
|
||||
RoomNum sp198[8];
|
||||
RoomNum sp188[8];
|
||||
Mtxf sp148;
|
||||
Mtxf sp108;
|
||||
Mtxf spc8;
|
||||
@@ -5206,7 +5206,7 @@ void hovTick(struct defaultobj *obj, struct hov *hov)
|
||||
f32 spb4;
|
||||
f32 xrot;
|
||||
f32 spac;
|
||||
s16 sp9c[8];
|
||||
RoomNum sp9c[8];
|
||||
struct coord sp90;
|
||||
bool sp8c;
|
||||
f32 radius;
|
||||
@@ -5481,7 +5481,7 @@ s32 func0f072144(struct defaultobj *obj, struct coord *arg1, f32 arg2, bool arg3
|
||||
f32 sp460[3][3];
|
||||
f32 yrot;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
struct hov prevhov;
|
||||
struct hov *hov = NULL;
|
||||
union geounion geounion;
|
||||
@@ -5632,7 +5632,7 @@ void hovercarStartNextPath(struct hovercarobj *hovercar)
|
||||
s32 *pads;
|
||||
struct pad pad;
|
||||
Mtxf matrix;
|
||||
s16 rooms[2];
|
||||
RoomNum rooms[2];
|
||||
|
||||
hovercarFindNextPath(hovercar);
|
||||
|
||||
@@ -6008,7 +6008,7 @@ bool rocketTickFbw(struct weaponobj *rocket)
|
||||
struct coord newpos;
|
||||
struct coord dir;
|
||||
u32 stack[2];
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
|
||||
if (projectile->ownerprop && projectile->ownerprop->type == PROPTYPE_CHR) {
|
||||
ownerchr = projectile->ownerprop->chr;
|
||||
@@ -6185,7 +6185,7 @@ s32 projectileLaunch(struct defaultobj *obj, struct projectile *projectile, stru
|
||||
}
|
||||
|
||||
if (cdresult == CDRESULT_NOCOLLISION) {
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &projectile->nextsteppos, rooms);
|
||||
|
||||
@@ -6197,7 +6197,7 @@ s32 projectileLaunch(struct defaultobj *obj, struct projectile *projectile, stru
|
||||
roomsCopy(rooms, prop->rooms);
|
||||
} else if (cdresult != CDRESULT_NOCOLLISION && obj->type == OBJTYPE_WEAPON) {
|
||||
struct weaponobj *weapon = (struct weaponobj *)obj;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
if (weapon->weaponnum == WEAPON_ROCKET || weapon->weaponnum == WEAPON_HOMINGROCKET) {
|
||||
weapon->timer240 = 0;
|
||||
@@ -6228,7 +6228,7 @@ s32 projectileTick(struct defaultobj *obj, bool *embedded)
|
||||
bool result = false;
|
||||
struct prop *prop = obj->prop;
|
||||
struct coord sp5c8;
|
||||
s16 sp5b8[8];
|
||||
RoomNum sp5b8[8];
|
||||
struct coord sp5ac;
|
||||
f32 sp5a8;
|
||||
struct coord sp59c;
|
||||
@@ -6662,7 +6662,7 @@ s32 projectileTick(struct defaultobj *obj, bool *embedded)
|
||||
result = true;
|
||||
} else if (projectile->flags & PROJECTILEFLAG_AIRBORNE) {
|
||||
f32 sp390;
|
||||
s16 roomnum;
|
||||
RoomNum roomnum;
|
||||
struct coord sp380;
|
||||
f32 sp37c;
|
||||
f32 realrot[3][3];
|
||||
@@ -7147,7 +7147,7 @@ s32 projectileTick(struct defaultobj *obj, bool *embedded)
|
||||
|
||||
if (!handled) {
|
||||
if (cdresult != CDRESULT_COLLISION) {
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
func0f065e74(&prop->pos, prop->rooms, &sp5dc, rooms);
|
||||
|
||||
@@ -7158,7 +7158,7 @@ s32 projectileTick(struct defaultobj *obj, bool *embedded)
|
||||
propDeregisterRooms(prop);
|
||||
roomsCopy(rooms, prop->rooms);
|
||||
} else {
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
if (g_EmbedProp && (g_EmbedProp->type == PROPTYPE_CHR || g_EmbedProp->type == PROPTYPE_PLAYER)) {
|
||||
sp5dc.x = prop->pos.x;
|
||||
@@ -7444,7 +7444,7 @@ s32 projectileTick(struct defaultobj *obj, bool *embedded)
|
||||
if (projectile->speed.f[0] != 0.0f || projectile->speed.f[2] != 0.0f || projectile->unk060 < 1.0f) {
|
||||
f32 f12;
|
||||
f32 spa4;
|
||||
s16 roomnum;
|
||||
RoomNum roomnum;
|
||||
s32 i;
|
||||
f32 sp98 = objGetRotatedLocalYMinByMtx3(objFindBboxRodata(obj), obj->realrot);
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
@@ -7882,7 +7882,7 @@ void platformDisplaceProps(struct prop *platform, s16 *propnums, struct coord *p
|
||||
|
||||
if (g_Vars.players[playernum]->inlift && !g_Vars.players[playernum]->onladder && !g_Vars.players[playernum]->isfalling) {
|
||||
struct coord sp78;
|
||||
s16 sp68[8];
|
||||
RoomNum sp68[8];
|
||||
f32 ydist = newpos->y - prevpos->y;
|
||||
|
||||
if (ydist != 0.0f) {
|
||||
@@ -7975,7 +7975,7 @@ void liftTick(struct prop *prop)
|
||||
f32 frac;
|
||||
s32 move;
|
||||
struct coord newpos;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
struct coord prevpos;
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
f32 prevdist;
|
||||
@@ -9009,11 +9009,11 @@ void autogunTickShoot(struct prop *autogunprop)
|
||||
|
||||
if (fireleft || fireright) {
|
||||
struct coord gunpos;
|
||||
s16 gunrooms[8];
|
||||
RoomNum gunrooms[8];
|
||||
struct coord dir;
|
||||
bool missed = false;
|
||||
struct coord hitpos;
|
||||
s16 hitrooms[8];
|
||||
RoomNum hitrooms[8];
|
||||
bool makebeam = (autogun->firecount % 4) == 0;
|
||||
struct prop *targetprop = autogun->target;
|
||||
struct modelnode *flashnode;
|
||||
@@ -9773,7 +9773,7 @@ void chopperIncrementMovement(struct prop *prop, f32 goalroty, f32 goalrotx, str
|
||||
{
|
||||
struct defaultobj *obj = prop->obj;
|
||||
struct chopperobj *chopper = (struct chopperobj *)obj;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
struct coord newpos;
|
||||
f32 curroty;
|
||||
f32 currotx;
|
||||
@@ -10066,10 +10066,10 @@ void chopperTickFall(struct prop *chopperprop)
|
||||
|
||||
if (cdExamLos09(&chopperprop->pos, chopperprop->rooms, &newpos, CDTYPE_BG) == CDRESULT_COLLISION) {
|
||||
struct coord sp74;
|
||||
s16 room;
|
||||
RoomNum room;
|
||||
struct coord sp64;
|
||||
f32 ground;
|
||||
s16 newrooms[8];
|
||||
RoomNum newrooms[8];
|
||||
|
||||
chopperprop->pos.y += 100;
|
||||
ground = cdFindGroundAtCyl(&chopperprop->pos, 5, chopperprop->rooms, NULL, NULL);
|
||||
@@ -10369,7 +10369,7 @@ void hovercarTick(struct prop *prop)
|
||||
bool stopping;
|
||||
struct pad pad;
|
||||
struct coord sp214;
|
||||
s16 sp210[2];
|
||||
RoomNum sp210[2];
|
||||
struct hovercarobj *hovercar = (struct hovercarobj *) prop->obj;
|
||||
struct defaultobj *obj = &hovercar->base;
|
||||
u32 stack;
|
||||
@@ -10380,11 +10380,11 @@ void hovercarTick(struct prop *prop)
|
||||
struct prop *doorprop;
|
||||
struct coord sp1e4;
|
||||
struct coord sp1d8;
|
||||
s16 sp1d6;
|
||||
RoomNum sp1d6;
|
||||
f32 x;
|
||||
f32 z;
|
||||
struct coord sp1c0;
|
||||
s16 sp1b0[8];
|
||||
RoomNum sp1b0[8];
|
||||
struct modelrodata_bbox *bbox;
|
||||
f32 ymin;
|
||||
s32 *padnum;
|
||||
@@ -10397,7 +10397,7 @@ void hovercarTick(struct prop *prop)
|
||||
f32 sp180;
|
||||
f32 sp15c[3][3];
|
||||
struct coord sp150;
|
||||
s16 sp140[8];
|
||||
RoomNum sp140[8];
|
||||
f32 tmp2;
|
||||
f32 sp138;
|
||||
struct coord sp12c;
|
||||
@@ -11026,7 +11026,7 @@ s32 objTickPlayer(struct prop *prop)
|
||||
struct modelrenderdata sp476 = {0, 1, 3};
|
||||
Mtxf sp412;
|
||||
struct coord sp400;
|
||||
s16 sp384[8];
|
||||
RoomNum sp384[8];
|
||||
struct hov *hov = NULL;
|
||||
|
||||
if (fulltick) {
|
||||
@@ -11112,7 +11112,7 @@ s32 objTickPlayer(struct prop *prop)
|
||||
struct modelrenderdata sp312 = {0, 1, 3};
|
||||
Mtxf sp248;
|
||||
struct coord sp236;
|
||||
s16 sp220[8];
|
||||
RoomNum sp220[8];
|
||||
s32 numchrs;
|
||||
Mtxf sp152;
|
||||
s32 sp148;
|
||||
@@ -14387,7 +14387,7 @@ bool objDrop(struct prop *prop, bool lazy)
|
||||
struct model *model;
|
||||
Mtxf spf0;
|
||||
struct coord spe4;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
if ((obj->hidden & OBJHFLAG_EMBEDDED) && obj->embedment->projectile) {
|
||||
struct projectile *projectile2 = obj->embedment->projectile;
|
||||
@@ -14704,7 +14704,7 @@ void objCheckDestroyed(struct defaultobj *obj, struct coord *pos, s32 playernum)
|
||||
struct prop *prop = obj->prop;
|
||||
struct prop *rootprop = prop;
|
||||
s16 exptype = g_PropExplosionTypes[8 + obj->modelnum];
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
|
||||
// If in Deep Sea outro
|
||||
if (g_Vars.tickmode == TICKMODE_CUTSCENE && g_CutsceneAnimNum == ANIM_CUT_PAM_OUTRO_CAM) {
|
||||
@@ -18761,7 +18761,7 @@ s32 weaponTestForPickup(struct prop *prop)
|
||||
return objTestForPickup(prop);
|
||||
}
|
||||
|
||||
void weaponSetGunfireVisible(struct prop *prop, bool visible, s16 room)
|
||||
void weaponSetGunfireVisible(struct prop *prop, bool visible, RoomNum room)
|
||||
{
|
||||
u32 stack[4];
|
||||
bool flash = false;
|
||||
@@ -19297,12 +19297,12 @@ void doorDeactivatePortal(struct doorobj *door)
|
||||
}
|
||||
}
|
||||
|
||||
struct prop *doorInit(struct doorobj *door, struct coord *pos, Mtxf *mtx, s16 *rooms, struct coord *coord, struct coord *centre)
|
||||
struct prop *doorInit(struct doorobj *door, struct coord *pos, Mtxf *mtx, RoomNum *rooms, struct coord *coord, struct coord *centre)
|
||||
{
|
||||
struct prop *prop;
|
||||
union modelrodata *rodata;
|
||||
Mtxf sp38;
|
||||
s16 sp28[8];
|
||||
RoomNum sp28[8];
|
||||
|
||||
door->base.flags |= OBJFLAG_00000100;
|
||||
prop = objInitWithAutoModel(&door->base);
|
||||
@@ -19805,10 +19805,10 @@ s32 doorIsOpen(struct doorobj *door)
|
||||
return (door->mode == DOORMODE_IDLE || door->mode == DOORMODE_WAITING) && door->frac >= door->maxfrac;
|
||||
}
|
||||
|
||||
s32 func0f08e5a8(s16 *rooms2, struct screenbox *box)
|
||||
s32 func0f08e5a8(RoomNum *rooms2, struct screenbox *box)
|
||||
{
|
||||
bool result = false;
|
||||
s16 *rooms = rooms2;
|
||||
RoomNum *rooms = rooms2;
|
||||
s32 roomnum = *rooms;
|
||||
|
||||
while (roomnum != -1) {
|
||||
@@ -19913,8 +19913,8 @@ bool posIsInObjFadeDistance(struct coord *pos, f32 modelscale)
|
||||
|
||||
bool func0f08e8ac(struct prop *prop, struct coord *pos, f32 arg2, bool arg3)
|
||||
{
|
||||
s16 *rooms;
|
||||
s32 roomnum;
|
||||
RoomNum *rooms;
|
||||
RoomNum roomnum;
|
||||
bool result = false;
|
||||
u32 stack;
|
||||
|
||||
@@ -21123,7 +21123,7 @@ void projectileCreate(struct prop *fromprop, struct fireslotthing *arg1, struct
|
||||
f32 z;
|
||||
f32 sqdist;
|
||||
struct prop *obstacle = NULL;
|
||||
s16 sp1c8[8];
|
||||
RoomNum sp1c8[8];
|
||||
u8 forcebeam = false;
|
||||
struct beam beam;
|
||||
struct coord frompos;
|
||||
|
||||
+7
-7
@@ -232,7 +232,7 @@ void psTickChannel(s32 channelnum)
|
||||
#endif
|
||||
{
|
||||
struct coord *pos = NULL;
|
||||
s16 *rooms = NULL;
|
||||
RoomNum *rooms = NULL;
|
||||
s32 newvol;
|
||||
s32 newpan;
|
||||
s32 newfx;
|
||||
@@ -261,7 +261,7 @@ void psTickChannel(s32 channelnum)
|
||||
}
|
||||
} else {
|
||||
if (pos && rooms) {
|
||||
s16 *tmprooms;
|
||||
RoomNum *tmprooms;
|
||||
|
||||
if (channel->flags & PSFLAG_IGNOREROOMS) {
|
||||
tmprooms = NULL;
|
||||
@@ -645,7 +645,7 @@ void psStopOneShootChannel(struct prop *prop)
|
||||
|
||||
s16 psCreate(struct pschannel *channel, struct prop *prop, s16 soundnum, s16 padnum,
|
||||
s32 vol, u16 flags, u16 flags2, s32 type,
|
||||
struct coord *pos, f32 pitch, s16 *rooms, s32 room,
|
||||
struct coord *pos, f32 pitch, RoomNum *rooms, s32 room,
|
||||
f32 dist1, f32 dist2, f32 dist3)
|
||||
{
|
||||
union soundnumhack spac;
|
||||
@@ -1123,12 +1123,12 @@ void psModify(s32 channelnum, s32 volume, s16 padnum, struct prop *prop, s32 vol
|
||||
}
|
||||
}
|
||||
|
||||
s32 psCalculateVol(struct coord *pos, f32 dist1, f32 dist2, f32 dist3, s16 *rooms, s16 soundnum, s32 arg6, f32 *playerdistptr)
|
||||
s32 psCalculateVol(struct coord *pos, f32 dist1, f32 dist2, f32 dist3, RoomNum *rooms, s16 soundnum, s32 arg6, f32 *playerdistptr)
|
||||
{
|
||||
union soundnumhack sp6c;
|
||||
union soundnumhack sp68;
|
||||
f32 playerdist;
|
||||
s16 roomnum;
|
||||
RoomNum roomnum;
|
||||
s32 s0;
|
||||
s32 i;
|
||||
|
||||
@@ -1382,7 +1382,7 @@ s32 psCalculatePan(struct coord *pos, f32 dist1, f32 dist2, f32 dist3, f32 playe
|
||||
* If the given soundnum were to play at the given world position, calculate the
|
||||
* final volume and pan and write them to the vol and pan pointers.
|
||||
*/
|
||||
void psGetTheoreticalVolPan(struct coord *pos, s16 *rooms, s16 soundnum, s32 *vol, s32 *pan)
|
||||
void psGetTheoreticalVolPan(struct coord *pos, RoomNum *rooms, s16 soundnum, s32 *vol, s32 *pan)
|
||||
{
|
||||
f32 dist1;
|
||||
f32 dist2;
|
||||
@@ -1434,7 +1434,7 @@ void psGetTheoreticalVolPan(struct coord *pos, s16 *rooms, s16 soundnum, s32 *vo
|
||||
}
|
||||
#endif
|
||||
|
||||
void psApplyVolPan(struct sndstate *handle, struct coord *pos, f32 dist1, f32 dist2, f32 dist3, s16 *rooms, s16 soundnum, s32 arg7, f32 *distanceptr)
|
||||
void psApplyVolPan(struct sndstate *handle, struct coord *pos, f32 dist1, f32 dist2, f32 dist3, RoomNum *rooms, s16 soundnum, s32 arg7, f32 *distanceptr)
|
||||
{
|
||||
union soundnumhack sp5c;
|
||||
union soundnumhack sp58;
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
*/
|
||||
|
||||
u8 *g_RoomMtxAges;
|
||||
s16 *g_RoomMtxLinkedRooms;
|
||||
s16 *g_RoomMtxBaseRooms;
|
||||
RoomNum *g_RoomMtxLinkedRooms;
|
||||
RoomNum *g_RoomMtxBaseRooms;
|
||||
f32 *g_RoomMtxScales;
|
||||
Mtxf *g_RoomMtxMatrices;
|
||||
|
||||
|
||||
@@ -15,10 +15,10 @@ void roomsReset(void)
|
||||
g_RoomMtxNumSlots = PLAYERCOUNT() >= 2 ? 200 : 120;
|
||||
|
||||
g_RoomMtxAges = mempAlloc(ALIGN16(g_RoomMtxNumSlots), MEMPOOL_STAGE);
|
||||
g_RoomMtxLinkedRooms = mempAlloc(ALIGN16(g_RoomMtxNumSlots * sizeof(s16)), MEMPOOL_STAGE);
|
||||
g_RoomMtxBaseRooms = mempAlloc(ALIGN16(g_RoomMtxNumSlots * sizeof(s16)), MEMPOOL_STAGE);
|
||||
g_RoomMtxScales = mempAlloc(ALIGN16(g_RoomMtxNumSlots * sizeof(f32)), MEMPOOL_STAGE);
|
||||
g_RoomMtxMatrices = mempAlloc(ALIGN16(g_RoomMtxNumSlots * sizeof(Mtxf)), MEMPOOL_STAGE);
|
||||
g_RoomMtxLinkedRooms = mempAlloc(ALIGN16(g_RoomMtxNumSlots * sizeof(*g_RoomMtxLinkedRooms)), MEMPOOL_STAGE);
|
||||
g_RoomMtxBaseRooms = mempAlloc(ALIGN16(g_RoomMtxNumSlots * sizeof(*g_RoomMtxBaseRooms)), MEMPOOL_STAGE);
|
||||
g_RoomMtxScales = mempAlloc(ALIGN16(g_RoomMtxNumSlots * sizeof(*g_RoomMtxScales)), MEMPOOL_STAGE);
|
||||
g_RoomMtxMatrices = mempAlloc(ALIGN16(g_RoomMtxNumSlots * sizeof(*g_RoomMtxMatrices)), MEMPOOL_STAGE);
|
||||
|
||||
for (i = 0; i < PLAYERCOUNT(); i++) {
|
||||
g_Vars.players[i]->lastroomforoffset = -1;
|
||||
|
||||
+2
-2
@@ -389,7 +389,7 @@ void setupCreateObject(struct defaultobj *obj, s32 cmdindex)
|
||||
struct coord centre;
|
||||
f32 scale;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
struct prop *prop2;
|
||||
u32 flag40;
|
||||
u32 stack;
|
||||
@@ -1084,7 +1084,7 @@ void setupCreateDoor(struct doorobj *door, s32 cmdindex)
|
||||
struct prop *prop;
|
||||
s32 siblingcmdindex;
|
||||
struct coord pos;
|
||||
s16 rooms[8];
|
||||
RoomNum rooms[8];
|
||||
Mtxf finalmtx;
|
||||
struct coord centre;
|
||||
Mtxf zrotmtx;
|
||||
|
||||
@@ -26,13 +26,13 @@ void setupPrepareCover(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 numcovers = g_PadsFile->numcovers;
|
||||
s16 *roomsptr;
|
||||
RoomNum *roomsptr;
|
||||
f32 scale = 1;
|
||||
struct coord aimpos;
|
||||
struct cover cover;
|
||||
u16 specialcovernums[1024];
|
||||
s16 inrooms[21];
|
||||
s16 aboverooms[21];
|
||||
RoomNum inrooms[21];
|
||||
RoomNum aboverooms[21];
|
||||
|
||||
g_CoverFlags = mempAlloc(ALIGN16(numcovers * sizeof(u16)), MEMPOOL_STAGE);
|
||||
g_CoverRooms = mempAlloc(ALIGN16(numcovers * sizeof(s32)), MEMPOOL_STAGE);
|
||||
@@ -80,7 +80,7 @@ void setupPrepareCover(void)
|
||||
s32 room = cdFindFloorRoomAtPos(cover.pos, roomsptr);
|
||||
|
||||
if (room > 0) {
|
||||
g_CoverRooms[i] = (s16)room;
|
||||
g_CoverRooms[i] = (RoomNum)room;
|
||||
} else {
|
||||
g_CoverRooms[i] = roomsptr[0];
|
||||
}
|
||||
@@ -106,7 +106,7 @@ void setupPrepareCover(void)
|
||||
s32 aimroom = cdFindFloorRoomAtPos(&aimpos, roomsptr);
|
||||
|
||||
if (aimroom > 0) {
|
||||
g_CoverFlags[i] |= (g_CoverRooms[i] == (s16)aimroom) ? COVERFLAG_AIMSAMEROOM : COVERFLAG_AIMDIFFROOM;
|
||||
g_CoverFlags[i] |= (g_CoverRooms[i] == (RoomNum)aimroom) ? COVERFLAG_AIMSAMEROOM : COVERFLAG_AIMDIFFROOM;
|
||||
} else {
|
||||
g_CoverFlags[i] |= (g_CoverRooms[i] == roomsptr[0]) ? COVERFLAG_AIMSAMEROOM : COVERFLAG_AIMDIFFROOM;
|
||||
}
|
||||
|
||||
@@ -28,15 +28,15 @@
|
||||
void setupPreparePads(void)
|
||||
{
|
||||
struct packedpad *packedpad;
|
||||
s16 *roomsptr;
|
||||
RoomNum *roomsptr;
|
||||
s32 padnum;
|
||||
s32 numpads;
|
||||
s32 roomnum;
|
||||
struct pad pad;
|
||||
struct waypoint *waypoint;
|
||||
struct waygroup *waygroup;
|
||||
s16 inrooms[24];
|
||||
s16 aboverooms[22];
|
||||
RoomNum inrooms[24];
|
||||
RoomNum aboverooms[22];
|
||||
s32 offset;
|
||||
|
||||
g_PadsFile = (struct padsfileheader *)g_StageSetup.padfiledata;
|
||||
|
||||
@@ -186,7 +186,7 @@ bool setup0f092304(struct defaultobj *obj, struct coord *arg1, struct coord *arg
|
||||
return setupGetObjBbox(obj, &obj->prop->pos, obj->realrot, arg1, arg2);
|
||||
}
|
||||
|
||||
void setup0f09233c(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3], s16 *rooms)
|
||||
void setup0f09233c(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3], RoomNum *rooms)
|
||||
{
|
||||
struct coord a;
|
||||
struct coord b;
|
||||
|
||||
+4
-4
@@ -19,7 +19,7 @@ struct shard *g_Shards;
|
||||
s32 g_NextShardNum = 0;
|
||||
bool g_ShardsActive = false;
|
||||
|
||||
void shardCreate(s16 room, struct coord *pos, f32 rotx, f32 size, s32 type);
|
||||
void shardCreate(RoomNum room, struct coord *pos, f32 rotx, f32 size, s32 type);
|
||||
|
||||
void shardsCreate(struct coord *pos, f32 *rotx, f32 *roty, f32 *rotz, f32 relxmin, f32 relxmax, f32 relymin, f32 relymax, s32 type, struct prop *prop)
|
||||
{
|
||||
@@ -111,7 +111,7 @@ void shardsCreate(struct coord *pos, f32 *rotx, f32 *roty, f32 *rotz, f32 relxmi
|
||||
}
|
||||
}
|
||||
|
||||
void shardCreate(s16 room, struct coord *pos, f32 rotx, f32 size, s32 type)
|
||||
void shardCreate(RoomNum room, struct coord *pos, f32 rotx, f32 size, s32 type)
|
||||
{
|
||||
f32 velx = RANDOMFRAC() * 2.0f - 1.0f;
|
||||
f32 vely = RANDOMFRAC() * 1.12f - 0.12f;
|
||||
@@ -211,7 +211,7 @@ void shardCreate(s16 room, struct coord *pos, f32 rotx, f32 size, s32 type)
|
||||
Gfx *shardsRenderWood(Gfx *gdl)
|
||||
{
|
||||
if (g_ShardsActive) {
|
||||
s16 prevroom = 0;
|
||||
RoomNum prevroom = 0;
|
||||
s32 i;
|
||||
Mtxf shardmtx;
|
||||
s32 j;
|
||||
@@ -325,7 +325,7 @@ Gfx *shardsRenderWood(Gfx *gdl)
|
||||
Gfx *shardsRenderGlass(Gfx *gdl)
|
||||
{
|
||||
if (g_ShardsActive) {
|
||||
s16 prevroom = 0;
|
||||
RoomNum prevroom = 0;
|
||||
s32 i;
|
||||
Mtxf shardmtx;
|
||||
s32 j;
|
||||
|
||||
+5
-5
@@ -261,7 +261,7 @@ Gfx *smokeRenderPart(struct smoke *smoke, struct smokepart *part, Gfx *gdl, stru
|
||||
return gdl;
|
||||
}
|
||||
|
||||
struct smoke *smokeCreate(struct coord *pos, s16 *rooms, s16 type)
|
||||
struct smoke *smokeCreate(struct coord *pos, RoomNum *rooms, s16 type)
|
||||
{
|
||||
struct smoke *smoke = NULL;
|
||||
s32 playercount = PLAYERCOUNT();
|
||||
@@ -326,7 +326,7 @@ struct smoke *smokeCreate(struct coord *pos, s16 *rooms, s16 type)
|
||||
return smoke;
|
||||
}
|
||||
|
||||
bool smokeCreateForHand(struct coord *pos, s16 *rooms, s16 type, s32 handnum)
|
||||
bool smokeCreateForHand(struct coord *pos, RoomNum *rooms, s16 type, s32 handnum)
|
||||
{
|
||||
struct smoke *smoke;
|
||||
s32 i;
|
||||
@@ -368,7 +368,7 @@ bool smokeCreateForHand(struct coord *pos, s16 *rooms, s16 type, s32 handnum)
|
||||
* smoke parts have a size of zero. Perhaps the caller is supposed to check if
|
||||
* this function returns false and reuse the zero-sized smoke parts if so?
|
||||
*/
|
||||
bool smokeCreateWithSource(void *source, struct coord *pos, s16 *rooms, s16 type, bool srcispadeffect)
|
||||
bool smokeCreateWithSource(void *source, struct coord *pos, RoomNum *rooms, s16 type, bool srcispadeffect)
|
||||
{
|
||||
struct smoke *smoke;
|
||||
s32 i;
|
||||
@@ -415,7 +415,7 @@ void smokeCreateAtProp(struct prop *prop, s16 type)
|
||||
smokeCreateWithSource(prop, &prop->pos, prop->rooms, type, false);
|
||||
}
|
||||
|
||||
void smokeCreateAtPadEffect(struct padeffectobj *effect, struct coord *pos, s16 *rooms, s16 type)
|
||||
void smokeCreateAtPadEffect(struct padeffectobj *effect, struct coord *pos, RoomNum *rooms, s16 type)
|
||||
{
|
||||
smokeCreateWithSource(effect, pos, rooms, type, true);
|
||||
}
|
||||
@@ -432,7 +432,7 @@ void smokeClearForProp(struct prop *prop)
|
||||
}
|
||||
}
|
||||
|
||||
struct smoke *smokeCreateSimple(struct coord *pos, s16 *rooms, s16 type)
|
||||
struct smoke *smokeCreateSimple(struct coord *pos, RoomNum *rooms, s16 type)
|
||||
{
|
||||
return smokeCreate(pos, rooms, type);
|
||||
}
|
||||
|
||||
+4
-4
@@ -245,9 +245,9 @@ bool splat0f149274(f32 arg0, struct prop *chrprop, struct shotdata *shotdata, f3
|
||||
struct prop *objprop;
|
||||
struct hitthing hitthing;
|
||||
struct hitthing besthitthing;
|
||||
s16 rooms[32];
|
||||
s16 gunrooms[8];
|
||||
s16 endrooms[8];
|
||||
RoomNum rooms[32];
|
||||
RoomNum gunrooms[8];
|
||||
RoomNum endrooms[8];
|
||||
struct coord endpos;
|
||||
s32 i;
|
||||
struct coord *sp50c;
|
||||
@@ -422,7 +422,7 @@ void splat0f14986c(struct splatdata *splat)
|
||||
bool sp84 = splat->isskedar & 1;
|
||||
bool translucent = splat->translucent;
|
||||
f32 distance;
|
||||
s16 smokerooms[2];
|
||||
RoomNum smokerooms[2];
|
||||
|
||||
texnum = WALLHITTEX_BLOOD1 + (random() % 3);
|
||||
|
||||
|
||||
+5
-5
@@ -1248,9 +1248,9 @@ void frEndSession(bool hidetargets)
|
||||
s32 j;
|
||||
s16 propnums[256];
|
||||
s16 *propnumptr;
|
||||
s16 rooms[20];
|
||||
RoomNum rooms[20];
|
||||
u32 stack1;
|
||||
s16 rooms2[10];
|
||||
RoomNum rooms2[10];
|
||||
u32 stack2;
|
||||
|
||||
if (g_FrDataLoaded) {
|
||||
@@ -1507,8 +1507,8 @@ bool frIsAmmoWasted(void)
|
||||
s32 ammototal[2];
|
||||
s16 *propnumptr;
|
||||
s16 propnums[258];
|
||||
s16 rooms20[22];
|
||||
s16 rooms10[12];
|
||||
RoomNum rooms20[22];
|
||||
RoomNum rooms10[12];
|
||||
u32 stack[4];
|
||||
s32 ammotype;
|
||||
struct hand *hand;
|
||||
@@ -3144,7 +3144,7 @@ void htEnd(void)
|
||||
struct prop *prop;
|
||||
s16 *propnum;
|
||||
s16 propnums[256];
|
||||
s16 rooms[5] = { 0x0016, 0x0017, 0x0018, 0x0019, -1 };
|
||||
RoomNum rooms[5] = { 0x0016, 0x0017, 0x0018, 0x0019, -1 };
|
||||
struct waypoint *waypoints = g_StageSetup.waypoints;
|
||||
|
||||
g_HtData.intraining = false;
|
||||
|
||||
+2
-2
@@ -633,7 +633,7 @@ const char var7f1b5c44[] = "";
|
||||
const char var7f1b5c48[] = "";
|
||||
|
||||
void wallhitCreate(struct coord *relpos, struct coord *arg1, struct coord *arg2, s16 arg3[3],
|
||||
s16 arg4[3], s16 texnum, s16 room, struct prop *objprop,
|
||||
s16 arg4[3], s16 texnum, RoomNum room, struct prop *objprop,
|
||||
s8 mtxindex, s8 arg9, struct chrdata *chr, bool xlu)
|
||||
{
|
||||
f32 scale = RANDOMFRAC() * 0.1f + 0.6f;
|
||||
@@ -648,7 +648,7 @@ void wallhitCreate(struct coord *relpos, struct coord *arg1, struct coord *arg2,
|
||||
}
|
||||
|
||||
void wallhitCreateWith20Args(struct coord *relpos, struct coord *arg1, struct coord *arg2, s16 arg3[3],
|
||||
s16 arg4[3], s16 texnum, s16 room, struct prop *objprop,
|
||||
s16 arg4[3], s16 texnum, RoomNum room, struct prop *objprop,
|
||||
struct prop *chrprop, s8 mtxindex, s8 arg10, struct chrdata *chr,
|
||||
f32 width, f32 height, u8 minalpha, u8 maxalpha,
|
||||
s32 rotdeg, u32 timermax, u32 timerspeed, bool xlu)
|
||||
|
||||
+2
-2
@@ -856,7 +856,7 @@ Gfx *weatherRenderRain(Gfx *gdl, struct weatherdata *weather, s32 arg2)
|
||||
u32 stack2;
|
||||
struct coord distcamtobbmax;
|
||||
struct coord distcamtobbmin;
|
||||
s16 neighbours[20];
|
||||
RoomNum neighbours[20];
|
||||
|
||||
particledata = weather->particledata[arg2];
|
||||
numtris = 0;
|
||||
@@ -2872,7 +2872,7 @@ Gfx *weatherRenderSnow(Gfx *gdl, struct weatherdata *weather, s32 arg2)
|
||||
s32 i; // 184
|
||||
struct coord sp178;
|
||||
struct coord sp16c;
|
||||
s16 sp144[20];
|
||||
RoomNum sp144[20];
|
||||
struct coord sp124;
|
||||
struct coord sp118;
|
||||
f32 f26;
|
||||
|
||||
+2
-2
@@ -232,8 +232,8 @@ extern bool g_FogEnabled;
|
||||
extern bool g_EnvHasTransparency;
|
||||
extern struct distfadesettings *g_EnvDistFadeSettingsPtr;
|
||||
extern u8 *g_RoomMtxAges;
|
||||
extern s16 *g_RoomMtxLinkedRooms;
|
||||
extern s16 *g_RoomMtxBaseRooms;
|
||||
extern RoomNum *g_RoomMtxLinkedRooms;
|
||||
extern RoomNum *g_RoomMtxBaseRooms;
|
||||
extern f32 *g_RoomMtxScales;
|
||||
extern Mtxf *g_RoomMtxMatrices;
|
||||
extern struct fileinfo g_FileInfo[NUM_FILES];
|
||||
|
||||
@@ -72,25 +72,25 @@ bool bgTestHitInVtxBatch(struct coord *arg0, struct coord *arg1, struct coord *a
|
||||
s32 bg0f1612e4(struct coord *bbmin, struct coord *bbmax, struct coord *frompos, struct coord *dist, struct coord *arg4, struct coord *arg5);
|
||||
bool bgTestHitInRoom(struct coord *frompos, struct coord *topos, s32 roomnum, struct hitthing *hitthing);
|
||||
bool bgRoomIsLoaded(s32 room);
|
||||
bool bgRoomContainsCoord(struct coord *pos, s16 roomnum);
|
||||
bool bgTestPosInRoomCheap(struct coord *pos, s16 roomnum);
|
||||
bool bgTestPosInRoomExpensive(struct coord *pos, s16 roomnum);
|
||||
bool bgTestPosInRoom(struct coord *pos, s16 roomnum);
|
||||
void bgFindRoomsByPos(struct coord *pos, s16 *inrooms, s16 *aboverooms, s32 max, s16 *bestroom);
|
||||
bool bgRoomContainsCoord(struct coord *pos, RoomNum roomnum);
|
||||
bool bgTestPosInRoomCheap(struct coord *pos, RoomNum roomnum);
|
||||
bool bgTestPosInRoomExpensive(struct coord *pos, RoomNum roomnum);
|
||||
bool bgTestPosInRoom(struct coord *pos, RoomNum roomnum);
|
||||
void bgFindRoomsByPos(struct coord *pos, RoomNum *inrooms, RoomNum *aboverooms, s32 max, RoomNum *bestroom);
|
||||
bool bgCmdPushValue(bool value);
|
||||
bool bgCmdPopValue(void);
|
||||
bool bgCmdGetNthValueFromEnd(s32 offset);
|
||||
struct bgcmd *bgCmdExecuteBranch(struct bgcmd *cmd, bool s2);
|
||||
struct bgcmd *bgCmdExecute(struct bgcmd *cmd);
|
||||
void bgTickPortalsXray(void);
|
||||
void bgAddToSnake(s16 fromroomnum, s16 roomnum, s16 draworder, struct screenbox *box);
|
||||
void bgAddToSnake(RoomNum fromroomnum, RoomNum roomnum, s16 draworder, struct screenbox *box);
|
||||
void bgConsumeSnakeItem(struct bgsnakeitem *arg0);
|
||||
bool bgTryConsumeSnake(void);
|
||||
void bgChooseRoomsToLoad(void);
|
||||
void bgTickPortals(void);
|
||||
Gfx *bgRenderSceneAndLoadCandidate(Gfx *gdl);
|
||||
s32 bgGetForceOnscreenRooms(s16 *rooms, s32 len);
|
||||
s32 bgRoomGetNeighbours(s32 room, s16 *rooms, s32 len);
|
||||
s32 bgGetForceOnscreenRooms(RoomNum *rooms, s32 len);
|
||||
s32 bgRoomGetNeighbours(s32 room, RoomNum *rooms, s32 len);
|
||||
bool bgRoomsAreNeighbours(s32 roomnum1, s32 roomnum2);
|
||||
void bgCalculateScreenProperties(void);
|
||||
void bgExpandRoomToPortals(s32 roomnum);
|
||||
@@ -101,6 +101,6 @@ void bgSetPortalOpenState(s32 portal, bool open);
|
||||
s32 bgFindPortalBetweenPositions(struct coord *pos1, struct coord *pos2);
|
||||
bool bgIsBboxOverlapping(struct coord *arg0, struct coord *arg1, struct coord *arg2, struct coord *arg3);
|
||||
void bgCalculatePortalBbox(s32 portalnum, struct coord *bbmin, struct coord *bbmax);
|
||||
void bgFindEnteredRooms(struct coord *bbmin, struct coord *upper, s16 *rooms, s32 maxlen, bool arg4);
|
||||
void bgFindEnteredRooms(struct coord *bbmin, struct coord *upper, RoomNum *rooms, s32 maxlen, bool arg4);
|
||||
|
||||
#endif
|
||||
@@ -16,7 +16,7 @@ struct model *bodyAllocateModel(s32 bodynum, s32 headnum, u32 spawnflags);
|
||||
s32 body0f02d3f8(void);
|
||||
s32 bodyChooseHead(s32 bodynum);
|
||||
void bodyAllocateChr(s32 stagenum, struct packedchr *packed, s32 cmdindex);
|
||||
struct prop *bodyAllocateEyespy(struct pad *pad, s16 room);
|
||||
struct prop *bodyAllocateEyespy(struct pad *pad, RoomNum room);
|
||||
void bodyCalculateHeadOffset(struct modeldef *headmodeldef, s32 headnum, s32 bodynum);
|
||||
|
||||
#endif
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
f32 eyespyFindGround(s16 *floorroom);
|
||||
f32 eyespyFindGround(RoomNum *floorroom);
|
||||
s32 eyespyTryMoveUpwards(f32 yvel);
|
||||
s32 eyespyCalculateNewPosition(struct coord *vel);
|
||||
bool eyespyCalculateNewPositionWithPush(struct coord *vel);
|
||||
|
||||
@@ -73,9 +73,9 @@ void bgunTickMasterLoad(void);
|
||||
void bgunTickLoad(void);
|
||||
bool bgunLoadAll(void);
|
||||
struct modeldef *bgunGetCartModeldef(void);
|
||||
void bgun0f09ebcc(struct defaultobj *obj, struct coord *coord, s16 *rooms, Mtxf *matrix1, struct coord *velocity, Mtxf *matrix2, struct prop *prop, struct coord *pos);
|
||||
void bgun0f09ebcc(struct defaultobj *obj, struct coord *coord, RoomNum *rooms, Mtxf *matrix1, struct coord *velocity, Mtxf *matrix2, struct prop *prop, struct coord *pos);
|
||||
void bgun0f09ed2c(struct defaultobj *obj, struct coord *coord, Mtxf *arg2, struct coord *velocity, Mtxf *arg4);
|
||||
struct defaultobj *bgunCreateThrownProjectile2(struct chrdata *chr, struct gset *gset, struct coord *pos, s16 *rooms, Mtxf *arg4, struct coord *velocity);
|
||||
struct defaultobj *bgunCreateThrownProjectile2(struct chrdata *chr, struct gset *gset, struct coord *pos, RoomNum *rooms, Mtxf *arg4, struct coord *velocity);
|
||||
void bgunCreateThrownProjectile(s32 handnum, struct gset *gset);
|
||||
void bgunUpdateHeldRocket(s32 handnum);
|
||||
void bgunCreateHeldRocket(s32 handnum, struct weaponfunc_shootprojectile *func);
|
||||
@@ -142,8 +142,8 @@ s32 bgunAllocateFireslot(void);
|
||||
void bgunRender(Gfx **gdl);
|
||||
struct sndstate **bgunAllocateAudioHandle(void);
|
||||
void bgunPlayPropHitSound(struct gset *gset, struct prop *prop, s32 texturenum);
|
||||
void bgunPlayGlassHitSound(struct coord *pos, s16 *rooms, s32 texturenum);
|
||||
void bgunPlayBgHitSound(struct gset *gset, struct coord *hitpos, s32 texturenum, s16 *rooms);
|
||||
void bgunPlayGlassHitSound(struct coord *pos, RoomNum *rooms, s32 texturenum);
|
||||
void bgunPlayBgHitSound(struct gset *gset, struct coord *hitpos, s32 texturenum, RoomNum *rooms);
|
||||
void bgunSetTriggerOn(s32 handnum, bool on);
|
||||
s32 bgunConsiderToggleGunFunction(s32 usedowntime, bool trigpressed, bool fromactivemenu);
|
||||
void bgun0f0a8c50(void);
|
||||
|
||||
@@ -30,8 +30,8 @@ void bmoveUpdateSpeedThetaControl(f32 value);
|
||||
f32 bmoveCalculateLookahead(void);
|
||||
void bmoveResetMoveData(struct movedata *data);
|
||||
void bmoveProcessInput(bool allowc1x, bool allowc1y, bool allowc1buttons, bool ignorec2);
|
||||
void bmoveFindEnteredRoomsByPos(struct player *player, struct coord *arg1, s16 *rooms);
|
||||
void bmoveFindEnteredRooms(struct player *player, s16 *rooms);
|
||||
void bmoveFindEnteredRoomsByPos(struct player *player, struct coord *arg1, RoomNum *rooms);
|
||||
void bmoveFindEnteredRooms(struct player *player, RoomNum *rooms);
|
||||
void bmoveUpdateRooms(struct player *player);
|
||||
void bmove0f0cb904(struct coord *coord);
|
||||
void bmove0f0cba88(f32 *a, f32 *b, struct coord *c, f32 mult1, f32 mult2);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
bool botroomFindPos(s16 room, struct coord *pos, f32 *angleptr, s32 *padnumptr, s32 *covernumptr);
|
||||
bool botroomFindPos(RoomNum room, struct coord *pos, f32 *angleptr, s32 *padnumptr, s32 *covernumptr);
|
||||
|
||||
bool botIsDizzy(struct chrdata *chr);
|
||||
void botReset(struct chrdata *chr, u8 respawning);
|
||||
@@ -45,8 +45,8 @@ char *botGetCommandName(s32 command);
|
||||
void botApplyAttack(struct chrdata *chr, struct prop *prop);
|
||||
void botApplyFollow(struct chrdata *chr, struct prop *prop);
|
||||
void botApplyProtect(struct chrdata *chr, struct prop *prop);
|
||||
void botApplyDefend(struct chrdata *chr, struct coord *pos, s16 *room, f32 angle);
|
||||
void botApplyHold(struct chrdata *chr, struct coord *pos, s16 *room, f32 angle);
|
||||
void botApplyDefend(struct chrdata *chr, struct coord *pos, RoomNum *room, f32 angle);
|
||||
void botApplyHold(struct chrdata *chr, struct coord *pos, RoomNum *room, f32 angle);
|
||||
void botApplyScenarioCommand(struct chrdata *chr, u32 arg1);
|
||||
bool botCanFollow(struct chrdata *leader, struct chrdata *follower);
|
||||
s32 botFindTeammateToFollow(struct chrdata *chr, f32 range);
|
||||
|
||||
@@ -18,7 +18,7 @@ u32 botactGetProjectileThrowInterval(u32 weapon);
|
||||
s32 botactGetWeaponByAmmoType(s32 ammotype);
|
||||
void botactThrow(struct chrdata *chr);
|
||||
s32 botactGetShootInterval60(s32 weaponnum, s32 funcnum);
|
||||
bool botactFindRocketRoute(struct chrdata *chr, struct coord *frompos, struct coord *topos, s16 *fromrooms, s16 *torooms, struct projectile *projectile);
|
||||
bool botactFindRocketRoute(struct chrdata *chr, struct coord *frompos, struct coord *topos, RoomNum *fromrooms, RoomNum *torooms, struct projectile *projectile);
|
||||
void botactGetRocketNextStepPos(u16 padnum, struct coord *pos);
|
||||
void botactCreateSlayerRocket(struct chrdata *chr);
|
||||
|
||||
|
||||
@@ -43,6 +43,6 @@ f32 camGetPerspAspect(void);
|
||||
void cam0f0b5838(void);
|
||||
bool cam0f0b5b9c(struct coord *arg0, f32 arg1);
|
||||
bool camIsPosInScreenBox(struct coord *pos, f32 arg1, struct drawslot *drawslot);
|
||||
bool camIsPosInFovAndVisibleRoom(s16 *rooms, struct coord *pos, f32 arg2);
|
||||
bool camIsPosInFovAndVisibleRoom(RoomNum *rooms, struct coord *pos, f32 arg2);
|
||||
|
||||
#endif
|
||||
@@ -6,24 +6,24 @@
|
||||
|
||||
void chrSetChrnum(struct chrdata *chr, s16 chrnum);
|
||||
void chrDeregister(s32 chrnum);
|
||||
void chrCalculatePushPos(struct chrdata *chr, struct coord *pos, s16 *rooms, bool arg3);
|
||||
void chrCalculatePushPos(struct chrdata *chr, struct coord *pos, RoomNum *rooms, bool arg3);
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 arg3, bool arg4);
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3, bool arg4);
|
||||
#else
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, s16 *rooms, f32 arg3);
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3);
|
||||
#endif
|
||||
|
||||
bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f32 *mangroundptr);
|
||||
s32 chrsGetNumFree(void);
|
||||
s16 chrsGetNextUnusedChrnum(void);
|
||||
struct prop *chr0f020b14(struct prop *prop, struct model *model, struct coord *pos, s16 *rooms, f32 arg3, u8 *ailist);
|
||||
struct prop *chr0f020b14(struct prop *prop, struct model *model, struct coord *pos, RoomNum *rooms, f32 arg3, u8 *ailist);
|
||||
void chrRemove(struct prop *prop, bool free);
|
||||
void chrUpdateAimProperties(struct chrdata *chr);
|
||||
void chrFlinchBody(struct chrdata *chr);
|
||||
void chrFlinchHead(struct chrdata *chr, f32 arg1);
|
||||
f32 chrGetFlinchAmount(struct chrdata *chr);
|
||||
void chr0f021fa8(struct chrdata *chr, struct coord *pos, s16 *rooms);
|
||||
void chr0f021fa8(struct chrdata *chr, struct coord *pos, RoomNum *rooms);
|
||||
void chr0f0220ec(struct chrdata *chr, s32 lvupdate240, bool arg2);
|
||||
void chr0f022214(struct chrdata *chr, struct prop *child, bool fulltick);
|
||||
void chrUpdateCloak(struct chrdata *chr);
|
||||
@@ -80,9 +80,9 @@ f32 chrGetMaxDamage(struct chrdata *chr);
|
||||
void chrAddHealth(struct chrdata *chr, f32 health);
|
||||
f32 chrGetArmor(struct chrdata *chr);
|
||||
void chrInit(struct prop *prop, u8 *ailist);
|
||||
struct prop *chrAllocate(struct model *model, struct coord *pos, s16 *rooms, f32 faceangle, u8 *ailist);
|
||||
struct prop *chrAllocate(struct model *model, struct coord *pos, RoomNum *rooms, f32 faceangle, u8 *ailist);
|
||||
void chrClearReferences(s32 propnum);
|
||||
void chr0f022084(struct chrdata *chr, s16 *room);
|
||||
void chr0f022084(struct chrdata *chr, RoomNum *room);
|
||||
void chr0f0220ac(struct chrdata *chr);
|
||||
void chrCloak(struct chrdata *chr, bool arg1);
|
||||
void chrUncloak(struct chrdata *chr, bool value);
|
||||
|
||||
@@ -66,8 +66,8 @@ void chrDamageByImpact(struct chrdata *chr, f32 damage, struct coord *vector, st
|
||||
void chrDamageByExplosion(struct chrdata *chr, f32 damage, struct coord *vector, struct prop *prop, struct coord *explosionpos);
|
||||
void playerUpdateDamageStats(struct prop *attacker, struct prop *victim, f32 damage);
|
||||
void chrDamage(struct chrdata *chr, f32 damage, struct coord *vector, struct gset *gset, struct prop *aprop, s32 hitpart, bool damageshield, struct prop *prop2, struct modelnode *node, struct model *model, s32 side, s16 *arg11, bool explosion, struct coord *explosionpos);
|
||||
bool func0f03645c(struct chrdata *chr, struct coord *arg1, s16 *arg2, struct coord *arg3, struct coord *arg4, s32 cdtypes);
|
||||
bool func0f03654c(struct chrdata *chr, struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2, struct coord *vector, f32 arg6, u32 types);
|
||||
bool func0f03645c(struct chrdata *chr, struct coord *arg1, RoomNum *arg2, struct coord *arg3, struct coord *arg4, s32 cdtypes);
|
||||
bool func0f03654c(struct chrdata *chr, struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *rooms2, struct coord *vector, f32 arg6, u32 types);
|
||||
bool propchrHasClearLineToPos(struct prop *prop, struct coord *dstpos, struct coord *vector);
|
||||
bool propchrHasClearLineInVector(struct prop *prop, struct coord *coord, f32 arg2);
|
||||
bool func0f036974(struct prop *prop, struct coord *coord);
|
||||
@@ -75,9 +75,9 @@ void chrGetSideVectorToTarget(struct chrdata *chr, bool side, struct coord *vect
|
||||
bool chrCanRollInDirection(struct chrdata *chr, bool toleft, f32 distance);
|
||||
void chrGetSideVector(struct chrdata *chr, bool side, struct coord *vector);
|
||||
bool chrCanJumpInDirection(struct chrdata *chr, bool side, f32 distance);
|
||||
bool chrIsRoomOffScreen(struct chrdata *chr, struct coord *waypos, s16 *wayrooms);
|
||||
bool chrIsRoomOffScreen(struct chrdata *chr, struct coord *waypos, RoomNum *wayrooms);
|
||||
void chrGoPosInitMagic(struct chrdata *chr, struct waydata *waydata, struct coord *arg2, struct coord *prevpos);
|
||||
void chrGoPosGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, s16 *rooms, u32 *flags);
|
||||
void chrGoPosGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, RoomNum *rooms, u32 *flags);
|
||||
f32 func0f0370a8(struct chrdata *chr);
|
||||
s32 chrGoPosCalculateBaseTtl(struct chrdata *chr);
|
||||
void chrGoPosConsiderRestart(struct chrdata *chr);
|
||||
@@ -85,20 +85,20 @@ void chrGoPosInitExpensive(struct chrdata *chr);
|
||||
void chrGoPosAdvanceWaypoint(struct chrdata *chr);
|
||||
s32 chrPatrolCalculateStep(struct chrdata *chr, bool *forward, s32 numsteps);
|
||||
s16 chrPatrolCalculatePadNum(struct chrdata *chr, s32 numsteps);
|
||||
void chrPatrolGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, s16 *rooms, u32 *flags);
|
||||
void chrPatrolGetCurWaypointInfoWithFlags(struct chrdata *chr, struct coord *pos, RoomNum *rooms, u32 *flags);
|
||||
void func0f037580(struct chrdata *chr);
|
||||
void func0f0375b0(struct chrdata *chr);
|
||||
void chrNavTickMagic(struct chrdata *chr, struct waydata *waydata, f32 speed, struct coord *arg3, s16 *rooms);
|
||||
void chrNavTickMagic(struct chrdata *chr, struct waydata *waydata, f32 speed, struct coord *arg3, RoomNum *rooms);
|
||||
void chrCalculatePosition(struct chrdata *chr, struct coord *pos);
|
||||
void chrGoPosChooseAnimation(struct chrdata *chr);
|
||||
bool chrGoToRoomPos(struct chrdata *chr, struct coord *pos, s16 *rooms, u32 goposflags);
|
||||
bool chrGoToRoomPos(struct chrdata *chr, struct coord *pos, RoomNum *rooms, u32 goposflags);
|
||||
void chrPatrolChooseAnimation(struct chrdata *chr);
|
||||
void chrStartPatrol(struct chrdata *chr, struct path *path);
|
||||
bool chrHasLosToEntity(struct chrdata *chr, struct coord *chrpos, s16 *chrrooms, bool allowextraheight, u32 attackflags, u32 entityid);
|
||||
bool chrHasLosToAttackTarget(struct chrdata *chr, struct coord *pos, s16 *rooms, bool allowextraheight);
|
||||
bool chrHasLosToChr(struct chrdata *chr, struct chrdata *target, s16 *room);
|
||||
bool chrHasLosToPos(struct chrdata *viewerchr, struct coord *pos, s16 *rooms);
|
||||
bool chrHasLosToPosWasteful(struct chrdata *chr, struct coord *pos, s16 *room);
|
||||
bool chrHasLosToEntity(struct chrdata *chr, struct coord *chrpos, RoomNum *chrrooms, bool allowextraheight, u32 attackflags, u32 entityid);
|
||||
bool chrHasLosToAttackTarget(struct chrdata *chr, struct coord *pos, RoomNum *rooms, bool allowextraheight);
|
||||
bool chrHasLosToChr(struct chrdata *chr, struct chrdata *target, RoomNum *room);
|
||||
bool chrHasLosToPos(struct chrdata *viewerchr, struct coord *pos, RoomNum *rooms);
|
||||
bool chrHasLosToPosWasteful(struct chrdata *chr, struct coord *pos, RoomNum *room);
|
||||
bool chrHasLosToProp(struct chrdata *chr, struct prop *prop);
|
||||
bool chrIsStopped(struct chrdata *chr);
|
||||
bool chrCheckCanSeeTarget(struct chrdata *chr);
|
||||
@@ -166,8 +166,8 @@ bool posIsArrivingLaterallyAtPos(struct coord *prevpos, struct coord *curpos, st
|
||||
bool posIsArrivingAtPos(struct coord *prevpos, struct coord *curpos, struct coord *targetpos, f32 range);
|
||||
void chrTickRunPos(struct chrdata *chr);
|
||||
void func0f044b68(struct coord *arg0, struct coord *arg1, struct coord *arg2);
|
||||
bool chrNavCanSeeNextPos(struct chrdata *chr, struct coord *pos, s16 *rooms, struct coord *aimpos, struct coord *arg4, struct coord *arg5, f32 negchrradius, f32 chrradius, s32 cdtypes, s32 arg9);
|
||||
bool chrNavCheckForObstacle(struct chrdata *chr, struct coord *chrpos, s16 *chrrooms, struct coord *aimpos, struct coord *leftpos, struct coord *rightpos, f32 negchrradius, f32 chrradius, s32 cdtypes, bool hasobstacle);
|
||||
bool chrNavCanSeeNextPos(struct chrdata *chr, struct coord *pos, RoomNum *rooms, struct coord *aimpos, struct coord *arg4, struct coord *arg5, f32 negchrradius, f32 chrradius, s32 cdtypes, s32 arg9);
|
||||
bool chrNavCheckForObstacle(struct chrdata *chr, struct coord *chrpos, RoomNum *chrrooms, struct coord *aimpos, struct coord *leftpos, struct coord *rightpos, f32 negchrradius, f32 chrradius, s32 cdtypes, bool hasobstacle);
|
||||
bool chrNavTryObstacle(struct chrdata *chr, struct coord *arg1, bool arg2, struct coord *arg3, f32 radius, bool arg5, struct coord *nextpos, struct waydata *waydata, f32 arg8, s32 cdtypes, s32 arg10);
|
||||
struct prop *chrOpenDoor(struct chrdata *chr, struct coord *rangepos);
|
||||
void chrNavTickMain(struct chrdata *chr, struct coord *pos, struct waydata *waydata, bool arg3);
|
||||
@@ -181,7 +181,7 @@ void chraTick(struct chrdata *chr);
|
||||
void cutsceneStart(u32 ailistid);
|
||||
void chraTickBg(void);
|
||||
f32 chrGetAngleToPos(struct chrdata *chr, struct coord *pos);
|
||||
void chrGetAttackEntityPos(struct chrdata *chr, u32 attackflags, s32 entityid, struct coord *pos, s16 *rooms);
|
||||
void chrGetAttackEntityPos(struct chrdata *chr, u32 attackflags, s32 entityid, struct coord *pos, RoomNum *rooms);
|
||||
f32 chrGetAngleFromTargetsFov(struct chrdata *chr);
|
||||
f32 chrGetVerticalAngleToTarget(struct chrdata *chr);
|
||||
bool chrIsInTargetsFovX(struct chrdata *chr, u8 fov360);
|
||||
@@ -197,23 +197,23 @@ bool chrIsTargetAimingAtMe(struct chrdata *chr);
|
||||
bool chrSawInjury(struct chrdata *chr, u8 arg1);
|
||||
bool chrSawDeath(struct chrdata *chr, u8 arg1);
|
||||
bool waypointIsWithin90DegreesOfPosAngle(struct waypoint *waypoint, struct coord *pos, f32 angle);
|
||||
s32 chrFindWaypointWithinPosQuadrant(struct coord *pos, s16 *rooms, f32 angle, u8 quadrant);
|
||||
s32 chrFindWaypointWithinPosQuadrant(struct coord *pos, RoomNum *rooms, f32 angle, u8 quadrant);
|
||||
bool func0f04a4ec(struct chrdata *chr, u8 quadrant);
|
||||
bool chrSetPadPresetToWaypointWithinTargetQuadrant(struct chrdata *chr, u8 arg1);
|
||||
bool chrSetChrPresetToChrNearPad(u32 checktype, struct chrdata *chr, f32 distance, s32 padnum);
|
||||
bool chrSetChrPresetToChrNearPos(u8 checktype, struct chrdata *chr, f32 distance, struct coord *pos, s16 *room);
|
||||
bool chrSetChrPresetToChrNearPos(u8 checktype, struct chrdata *chr, f32 distance, struct coord *pos, RoomNum *room);
|
||||
bool chrSetPadPresetToPadOnRouteToTarget(struct chrdata *chr);
|
||||
bool chrIsPosOffScreen(struct coord *pos, s16 *rooms);
|
||||
bool chrIsPosOffScreen(struct coord *pos, RoomNum *rooms);
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, s16 *rooms, f32 angle, bool allowonscreen, bool force, bool onlysurrounding);
|
||||
bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, RoomNum *rooms, f32 angle, bool allowonscreen, bool force, bool onlysurrounding);
|
||||
#else
|
||||
bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, s16 *rooms, f32 angle, bool allowonscreen, bool force);
|
||||
bool chrAdjustPosForSpawn(f32 chrradius, struct coord *pos, RoomNum *rooms, f32 angle, bool allowonscreen, bool force);
|
||||
#endif
|
||||
|
||||
struct prop *chrSpawnAtCoord(s32 body, s32 head, struct coord *pos, s16 *room, f32 angle, u8 *ailist, u32 spawnflags);
|
||||
struct prop *chrSpawnAtCoord(s32 body, s32 head, struct coord *pos, RoomNum *room, f32 angle, u8 *ailist, u32 spawnflags);
|
||||
bool chrIsPropPresetBlockingSightToTarget(struct chrdata *chr);
|
||||
bool chrMoveToPos(struct chrdata *chr, struct coord *pos, s16 *room, f32 angle, bool ignorebg);
|
||||
bool chrMoveToPos(struct chrdata *chr, struct coord *pos, RoomNum *room, f32 angle, bool ignorebg);
|
||||
bool chrCheckCoverOutOfSight(struct chrdata *chr, s32 covernum, bool soft);
|
||||
s32 chrAssignCoverByCriteria(struct chrdata *chr, u16 arg1, s32 arg2);
|
||||
s32 chrAssignCoverAwayFromDanger(struct chrdata *chr, s32 mindist, s32 maxdist);
|
||||
@@ -238,9 +238,9 @@ void chrRunToPos(struct chrdata *chr, struct coord *pos);
|
||||
void chrBeginDead(struct chrdata *chr);
|
||||
f32 chrGetShield(struct chrdata *chr);
|
||||
void chrDie(struct chrdata *chr, s32 aplayernum);
|
||||
void chrGoPosGetCurWaypointInfo(struct chrdata *chr, struct coord *pos, s16 *rooms);
|
||||
void chrGoPosGetCurWaypointInfo(struct chrdata *chr, struct coord *pos, RoomNum *rooms);
|
||||
void chrGoPosClearRestartTtl(struct chrdata *chr);
|
||||
void chrPatrolGetCurWaypointInfo(struct chrdata *chr, struct coord *pos, s16 *rooms);
|
||||
void chrPatrolGetCurWaypointInfo(struct chrdata *chr, struct coord *pos, RoomNum *rooms);
|
||||
struct path *pathFindById(u32 path_id);
|
||||
void chrRecordLastVisibleTargetTime(struct chrdata *chr);
|
||||
bool chrHasLosToTarget(struct chrdata *chr);
|
||||
@@ -340,7 +340,7 @@ s16 *teamGetChrIds(s32 team_id);
|
||||
s16 *squadronGetChrIds(s32 squadron_id);
|
||||
void audioMarkAsRecentlyPlayed(s16 audioid);
|
||||
bool audioWasNotPlayedRecently(s16 audioid);
|
||||
Gfx *chrsRenderChrStats(Gfx *gdl, s16 *rooms);
|
||||
Gfx *chrsRenderChrStats(Gfx *gdl, RoomNum *rooms);
|
||||
void chrToggleModelPart(struct chrdata *chr, s32 partnum);
|
||||
bool chrIsAvoiding(struct chrdata *chr);
|
||||
void chrDrCarollEmitSparks(struct chrdata *chr);
|
||||
|
||||
@@ -19,7 +19,7 @@ bool lightIsVulnerable(s32 roomnum, s32 lightnum);
|
||||
bool lightIsOn(s32 roomnum, s32 lightnum);
|
||||
void roomSetFlashBrightness(s32 roomnum, s32 value);
|
||||
void roomSetDefaults(struct room *room);
|
||||
Gfx *lightsSetForRoom(Gfx *gdl, s16 roomnum);
|
||||
Gfx *lightsSetForRoom(Gfx *gdl, RoomNum roomnum);
|
||||
Gfx *lightsSetDefault(Gfx *gdl);
|
||||
void roomInitLights(s32 roomnum);
|
||||
bool lightsHandleHit(struct coord *gunpos, struct coord *hitpos, s32 roomnum);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
void dyntexTickRoom(s32 roomnum, Vtx *vertices);
|
||||
void dyntexAddVertex(Vtx *vertex);
|
||||
void dyntexSetCurrentType(s16 type);
|
||||
void dyntexSetCurrentRoom(s16 roomnum);
|
||||
void dyntexSetCurrentRoom(RoomNum roomnum);
|
||||
void dyntexReset(void);
|
||||
bool dyntexHasRoom(void);
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@ void explosionsReset(void);
|
||||
|
||||
void explosionsStop(void);
|
||||
|
||||
bool explosionCreateSimple(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum);
|
||||
bool explosionCreateComplex(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum);
|
||||
bool explosionCreateSimple(struct prop *prop, struct coord *pos, RoomNum *rooms, s16 type, s32 playernum);
|
||||
bool explosionCreateComplex(struct prop *prop, struct coord *pos, RoomNum *rooms, s16 type, s32 playernum);
|
||||
f32 explosionGetHorizontalRangeAtFrame(struct explosion *exp, s32 frame);
|
||||
f32 explosionGetVerticalRangeAtFrame(struct explosion *exp, s32 frame);
|
||||
void explosionGetBboxAtFrame(struct coord *lower, struct coord *upper, s32 frame, struct prop *prop);
|
||||
void explosionAlertChrs(f32 *radius, struct coord *noisepos);
|
||||
bool explosionCreate(struct prop *prop, struct coord *pos, s16 *rooms, s16 type, s32 playernum, bool makescorch, struct coord *arg6, s16 room, struct coord *arg8);
|
||||
bool explosionCreate(struct prop *prop, struct coord *pos, RoomNum *rooms, s16 type, s32 playernum, bool makescorch, struct coord *arg6, RoomNum room, struct coord *arg8);
|
||||
void explosionsUpdateShake(struct coord *arg0, struct coord *arg1, struct coord *arg2);
|
||||
bool explosionOverlapsProp(struct explosion *exp, struct prop *prop, struct coord *pos1, struct coord *pos2);
|
||||
void explosionInflictDamage(struct prop *prop);
|
||||
|
||||
@@ -26,8 +26,8 @@ void scenarioTick(void);
|
||||
void scenarioTickChr(struct chrdata *chr);
|
||||
Gfx *scenarioRadarExtra(Gfx *gdl);
|
||||
bool scenarioRadarChr(Gfx **gdl, struct prop *prop);
|
||||
f32 scenarioChooseSpawnLocation(f32 chrradius, struct coord *pos, s16 *rooms, struct prop *prop);
|
||||
f32 scenarioChooseSpawnLocation(f32 chrradius, struct coord *pos, RoomNum *rooms, struct prop *prop);
|
||||
s32 scenarioGetMaxTeams(void);
|
||||
void scenarioHighlightRoom(s16 room, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
void scenarioHighlightRoom(RoomNum room, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
|
||||
#endif
|
||||
@@ -81,11 +81,11 @@ Gfx *htbRenderHud(Gfx *gdl);
|
||||
void ctcInitProps(void);
|
||||
bool ctcHighlightProp(struct prop *prop, s32 *colour);
|
||||
void ctcAddPad(s32 *cmd);
|
||||
void ctcHighlightRoom(s16 roomnum, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
void ctcHighlightRoom(RoomNum roomnum, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
void kohTick(void);
|
||||
Gfx *kohRenderHud(Gfx *gdl);
|
||||
void kohAddHill(s32 *cmd);
|
||||
void kohHighlightRoom(s16 roomnum, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
void kohHighlightRoom(RoomNum roomnum, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
void htmAddPad(s16 padnum);
|
||||
void htmReset(void);
|
||||
void htbCreateUplink(void);
|
||||
|
||||
@@ -27,7 +27,7 @@ void objectivesDisableChecking(void);
|
||||
void objectivesShowHudmsg(char *buffer, s32 hudmsgtype);
|
||||
void objectivesCheckAll(void);
|
||||
void objectiveCheckRoomEntered(s32 currentroom);
|
||||
void objectiveCheckThrowInRoom(s32 arg0, s16 *requiredrooms);
|
||||
void objectiveCheckThrowInRoom(s32 arg0, RoomNum *requiredrooms);
|
||||
void objectiveCheckHolograph(f32 sqdist);
|
||||
struct prop *chopperGetTargetProp(struct chopperobj *heli);
|
||||
struct defaultobj *objFindByTagId(s32 tag_id);
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "types.h"
|
||||
|
||||
void navSetSeed(u32 upper, u32 lower);
|
||||
struct waypoint *waypointFindClosestToPos(struct coord *pos, s16 *rooms);
|
||||
struct waypoint *waypointFindClosestToPos(struct coord *pos, RoomNum *rooms);
|
||||
struct waygroup *waygroupChooseNeighbour(s32 *groupnums, s32 step, u32 ignoremask);
|
||||
void waygroupSetStepIfUndiscovered(s32 *groupnums, s32 step, u32 ignoremask);
|
||||
bool waygroupDiscoverOneStep(struct waygroup *group, s32 step, u32 ignoremask);
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
f32 playerChooseSpawnLocation(f32 chrradius, struct coord *dstpos, s16 *dstrooms, struct prop *prop, s16 *spawnpads, s32 numspawnpads);
|
||||
f32 playerChooseGeneralSpawnLocation(f32 chrradius, struct coord *pos, s16 *rooms, struct prop *prop);
|
||||
f32 playerChooseSpawnLocation(f32 chrradius, struct coord *dstpos, RoomNum *dstrooms, struct prop *prop, s16 *spawnpads, s32 numspawnpads);
|
||||
f32 playerChooseGeneralSpawnLocation(f32 chrradius, struct coord *pos, RoomNum *rooms, struct prop *prop);
|
||||
void playerStartNewLife(void);
|
||||
void playerLoadDefaults(void);
|
||||
bool playerSpawnAnti(struct chrdata *chr, s32 param_2);
|
||||
@@ -63,7 +63,7 @@ void playerDie(bool force);
|
||||
void playerDieByShooter(u32 shooter, bool force);
|
||||
void playerCheckIfShotInBack(s32 attackerplayernum, f32 x, f32 z);
|
||||
f32 playerGetHealthBarHeightFrac(void);
|
||||
void player0f0c1840(struct coord *pos, struct coord *up, struct coord *look, struct coord *pos2, s16 *rooms);
|
||||
void player0f0c1840(struct coord *pos, struct coord *up, struct coord *look, struct coord *pos2, RoomNum *rooms);
|
||||
void player0f0c1ba4(struct coord *pos, struct coord *up, struct coord *look, struct coord *memcampos, s32 memcamroom);
|
||||
void player0f0c1bd8(struct coord *pos, struct coord *up, struct coord *look);
|
||||
void playersClearMemCamRoom(void);
|
||||
|
||||
+12
-12
@@ -21,7 +21,7 @@ void propDelist(struct prop *prop);
|
||||
void propReparent(struct prop *mover, struct prop *adopter);
|
||||
void propDetach(struct prop *prop);
|
||||
Gfx *propRender(Gfx *gdl, struct prop *prop, bool xlupass);
|
||||
Gfx *propsRender(Gfx *gdl, s16 renderroomnum, s32 renderpass, s16 *roomnumsbyprop);
|
||||
Gfx *propsRender(Gfx *gdl, RoomNum renderroomnum, s32 renderpass, RoomNum *roomnumsbyprop);
|
||||
void weaponPlayWhooshSound(s32 weaponnum, struct prop *prop);
|
||||
void func0f060bac(s32 weaponnum, struct prop *prop);
|
||||
struct prop *shotCalculateHits(s32 handnum, bool arg1, struct coord *arg2, struct coord *arg3, struct coord *gunpos, struct coord *dir, u32 arg6, f32 arg7, bool arg8);
|
||||
@@ -46,21 +46,21 @@ void farsightChooseTarget(void);
|
||||
void autoaimTick(void);
|
||||
u32 propDoorGetCdTypes(struct prop *prop);
|
||||
bool propIsOfCdType(struct prop *prop, u32 types);
|
||||
void roomsCopy(s16 *srcrooms, s16 *dstrooms);
|
||||
void roomsAppend(s16 *newrooms, s16 *dstrooms, s32 maxlen);
|
||||
bool arrayIntersects(s16 *a, s16 *b);
|
||||
void roomsCopy(RoomNum *srcrooms, RoomNum *dstrooms);
|
||||
void roomsAppend(RoomNum *newrooms, RoomNum *dstrooms, s32 maxlen);
|
||||
bool arrayIntersects(RoomNum *a, RoomNum *b);
|
||||
bool propTryAddToChunk(s16 propnum, s32 chunkindex);
|
||||
s32 roomAllocatePropListChunk(s32 room, s32 arg1);
|
||||
void propRegisterRoom(struct prop *prop, s16 room);
|
||||
void propDeregisterRoom(struct prop *prop, s16 room);
|
||||
void propRegisterRoom(struct prop *prop, RoomNum room);
|
||||
void propDeregisterRoom(struct prop *prop, RoomNum room);
|
||||
void propDeregisterRooms(struct prop *prop);
|
||||
void propRegisterRooms(struct prop *prop);
|
||||
void func0f065d1c(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newrooms, s16 *morerooms, u32 arg5);
|
||||
void func0f065dd8(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newrooms);
|
||||
void func0f065dfc(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newrooms, s16 *morerooms, u32 arg5);
|
||||
void func0f065e74(struct coord *pos, s16 *rooms, struct coord *newpos, s16 *newrooms);
|
||||
void func0f065e98(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2);
|
||||
void roomGetProps(s16 *room, s16 *propnums, s32 len);
|
||||
void func0f065d1c(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5);
|
||||
void func0f065dd8(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms);
|
||||
void func0f065dfc(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5);
|
||||
void func0f065e74(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms);
|
||||
void func0f065e98(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *rooms2);
|
||||
void roomGetProps(RoomNum *room, s16 *propnums, s32 len);
|
||||
void propsDefragRoomProps(void);
|
||||
void propGetBbox(struct prop *prop, f32 *radius, f32 *ymax, f32 *ymin);
|
||||
bool propUpdateGeometry(struct prop *prop, u8 **start, u8 **end);
|
||||
|
||||
+10
-10
@@ -63,7 +63,7 @@ bool modelGetScreenCoords2(struct model *model, f32 *x2, f32 *x1, f32 *y2, f32 *
|
||||
bool modelGetScreenCoords(struct model *model, f32 *x2, f32 *x1, f32 *y2, f32 *y1);
|
||||
void func0f06803c(struct coord *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 *arg4);
|
||||
struct defaultobj *objFindByPadNum(s32 padnum);
|
||||
struct defaultobj *objFindByPos(struct coord *pos, s16 *rooms);
|
||||
struct defaultobj *objFindByPos(struct coord *pos, RoomNum *rooms);
|
||||
void projectileFree(struct projectile *projectile);
|
||||
void projectilesUnrefOwner(struct prop *owner);
|
||||
void projectileReset(struct projectile *projectile);
|
||||
@@ -81,7 +81,7 @@ struct modelnode *modelFindBboxNode(struct model *model);
|
||||
struct modelrodata_bbox *modelFindBboxRodata(struct model *model);
|
||||
struct modelnode *objFindBboxNode(struct defaultobj *obj);
|
||||
struct modelrodata_bbox *objFindBboxRodata(struct defaultobj *obj);
|
||||
s32 objGetAverageBrightnessInRooms(s16 *rooms, s32 arg1);
|
||||
s32 objGetAverageBrightnessInRooms(RoomNum *rooms, s32 arg1);
|
||||
s32 door0f068c04(struct prop *prop, s32 *arg1, s32 *arg2);
|
||||
s32 func0f068fc8(struct prop *prop, bool arg1);
|
||||
void propCalculateShadeColour(struct prop *prop, u8 *nextcol, u16 floorcol);
|
||||
@@ -98,10 +98,10 @@ void objCreateDebris(struct defaultobj *obj, struct prop *prop);
|
||||
struct prop *objInit(struct defaultobj *obj, struct modeldef *modeldef, struct prop *prop, struct model *model);
|
||||
struct prop *objInitWithModelDef(struct defaultobj *obj, struct modeldef *modeldef);
|
||||
struct prop *objInitWithAutoModel(struct defaultobj *obj);
|
||||
void func0f06a580(struct defaultobj *obj, struct coord *pos, Mtxf *matrix, s16 *rooms);
|
||||
void func0f06a580(struct defaultobj *obj, struct coord *pos, Mtxf *matrix, RoomNum *rooms);
|
||||
f32 func0f06a620(struct defaultobj *obj);
|
||||
void func0f06a730(struct defaultobj *obj, struct coord *arg1, Mtxf *matrix, s16 *rooms, struct coord *arg4);
|
||||
void func0f06ab60(struct defaultobj *obj, struct coord *arg1, Mtxf *matrix, s16 *rooms, struct coord *arg4);
|
||||
void func0f06a730(struct defaultobj *obj, struct coord *arg1, Mtxf *matrix, RoomNum *rooms, struct coord *arg4);
|
||||
void func0f06ab60(struct defaultobj *obj, struct coord *arg1, Mtxf *matrix, RoomNum *rooms, struct coord *arg4);
|
||||
void objFreeProjectile(struct defaultobj *obj);
|
||||
void objFreeEmbedmentOrProjectile(struct prop *prop);
|
||||
void objFree(struct defaultobj *obj, bool freeprop, bool canregen);
|
||||
@@ -112,7 +112,7 @@ bool func0f06b488(struct prop *prop, struct coord *arg1, struct coord *arg2, str
|
||||
bool func0f06b610(struct defaultobj *obj, struct coord *arg1, struct coord *arg2, struct coord *arg3, f32 arg4, struct coord *arg5, struct coord *arg6, struct coord *arg7, struct coord *arg8, f32 *arg9);
|
||||
bool func0f06bea0(struct model *model, struct modelnode *arg1, struct modelnode *arg2, struct coord *arg3, struct coord *arg4, void *arg5, f32 *arg6, struct modelnode **arg7, s32 *hitpart, s32 *arg9, struct modelnode **arg10);
|
||||
bool func0f06c28c(struct chrdata *chr, struct coord *arg1, struct coord *arg2, struct coord *arg3, f32 arg4, struct coord *arg5, struct coord *arg6, struct coord *arg7, struct coord *arg8, f32 *arg9);
|
||||
bool projectileFindCollidingProp(struct prop *prop, struct coord *pos, struct coord *arg2, u32 cdtypes, struct coord *arg4, struct coord *arg5, s16 *arg6);
|
||||
bool projectileFindCollidingProp(struct prop *prop, struct coord *pos, struct coord *arg2, u32 cdtypes, struct coord *arg4, struct coord *arg5, RoomNum *rooms);
|
||||
s32 func0f06cd00(struct defaultobj *obj, struct coord *pos, struct coord *arg2, struct coord *arg3);
|
||||
bool func0f06d37c(struct defaultobj *obj, struct coord *arg1, struct coord *arg2, struct coord *arg3);
|
||||
void applySpeed(f32 *distdone, f32 maxdist, f32 *speed, f32 accel, f32 decel, f32 maxspeed);
|
||||
@@ -142,7 +142,7 @@ f32 liftGetY(struct liftobj *lift);
|
||||
void liftUpdateTiles(struct liftobj *lift, bool stationary);
|
||||
void liftGoToStop(struct liftobj *lift, s32 stopnum);
|
||||
f32 objGetHov04(struct defaultobj *obj);
|
||||
void hovUpdateGround(struct defaultobj *obj, struct hov *hov, struct coord *pos, s16 *rooms, f32 matrix[3][3]);
|
||||
void hovUpdateGround(struct defaultobj *obj, struct hov *hov, struct coord *pos, RoomNum *rooms, f32 matrix[3][3]);
|
||||
void hovTick(struct defaultobj *obj, struct hov *hov);
|
||||
s32 objIsHoverpropOrBike(struct defaultobj *obj);
|
||||
f32 hoverpropGetTurnAngle(struct defaultobj *obj);
|
||||
@@ -289,7 +289,7 @@ void weaponDeleteFromChr(struct chrdata *chr, s32 hand);
|
||||
struct prop *weaponCreateForChr(struct chrdata *chr, s32 modelnum, s32 weaponnum, u32 flags, struct weaponobj *obj, struct modeldef *modeldef);
|
||||
struct prop *chrGiveWeapon(struct chrdata *chr, s32 model, s32 weaponnum, u32 flags);
|
||||
s32 weaponTestForPickup(struct prop *prop);
|
||||
void weaponSetGunfireVisible(struct prop *prop, bool visible, s16 room);
|
||||
void weaponSetGunfireVisible(struct prop *prop, bool visible, RoomNum room);
|
||||
bool weaponIsGunfireVisible(struct prop *prop);
|
||||
s32 hatGetType(struct prop *prop);
|
||||
bool doorIsUnlocked(struct prop *playerprop, struct prop *doorprop);
|
||||
@@ -306,7 +306,7 @@ void func0f08d3dc(struct doorobj *door);
|
||||
void func0f08d460(struct doorobj *door);
|
||||
void doorActivatePortal(struct doorobj *door);
|
||||
void doorDeactivatePortal(struct doorobj *door);
|
||||
struct prop *doorInit(struct doorobj *door, struct coord *pos, Mtxf *mtx, s16 *rooms, struct coord *coord, struct coord *centre);
|
||||
struct prop *doorInit(struct doorobj *door, struct coord *pos, Mtxf *mtx, RoomNum *rooms, struct coord *coord, struct coord *centre);
|
||||
void doorPlayOpeningSound(s32 soundtype, struct prop *prop);
|
||||
void doorPlayClosingSound(s32 soundtype, struct prop *prop);
|
||||
void doorPlayOpenedSound(s32 soundtype, struct prop *prop);
|
||||
@@ -320,7 +320,7 @@ void doorSetMode(struct doorobj *door, s32 newmode);
|
||||
void doorsRequestMode(struct doorobj *door, s32 newmode);
|
||||
s32 doorIsClosed(struct doorobj *door);
|
||||
s32 doorIsOpen(struct doorobj *door);
|
||||
s32 func0f08e5a8(s16 *rooms, struct screenbox *box);
|
||||
s32 func0f08e5a8(RoomNum *rooms, struct screenbox *box);
|
||||
f32 objCalculateFadeDistOpacityFrac(struct prop *prop, f32 modelscale);
|
||||
bool posIsInObjFadeDistance(struct coord *coord, f32 modelscale);
|
||||
bool func0f08e8ac(struct prop *prop, struct coord *pos, f32 arg2, bool arg3);
|
||||
|
||||
@@ -21,17 +21,17 @@ void psTick(void);
|
||||
void psSetPitch(struct prop *prop, f32 targetpitch, s32 changespeed);
|
||||
void psSetVolume(struct prop *prop, s32 vol);
|
||||
void psStopOneShootChannel(struct prop *prop);
|
||||
s16 psCreate(struct pschannel *channel, struct prop *prop, s16 soundnum, s16 padnum, s32 vol, u16 flags, u16 flags2, s32 type, struct coord *pos, f32 pitch, s16 *rooms, s32 room, f32 dist1, f32 dist2, f32 dist3);
|
||||
s16 psCreate(struct pschannel *channel, struct prop *prop, s16 soundnum, s16 padnum, s32 vol, u16 flags, u16 flags2, s32 type, struct coord *pos, f32 pitch, RoomNum *rooms, s32 room, f32 dist1, f32 dist2, f32 dist3);
|
||||
s32 psPlayFromProp(s32 channelnum, s16 soundnum, s32 vol, struct prop *prop, s16 type, u16 flags);
|
||||
void psMuteChannel(s32 channelnum);
|
||||
bool psIsChannelFree(s32 channelnum);
|
||||
void psModify(s32 channelnum, s32 arg1, s16 padnum, struct prop *prop, s32 volchangetimer60, s32 dist2, s32 dist3, u16 flags);
|
||||
s32 psCalculateVol(struct coord *pos, f32 arg1, f32 arg2, f32 arg3, s16 *rooms, s16 soundnum, s32 arg6, f32 *arg7);
|
||||
s32 psCalculateVol(struct coord *pos, f32 arg1, f32 arg2, f32 arg3, RoomNum *rooms, s16 soundnum, s32 arg6, f32 *arg7);
|
||||
s32 psCalculatePan3(s32 degrees, f32 arg1, struct pschannel *channel);
|
||||
s32 psCalculatePan2(struct coord *pos, s32 arg1, f32 arg2, struct pschannel *channel);
|
||||
s32 psCalculatePan(struct coord *pos, f32 dist1, f32 dist2, f32 dist3, f32 playerdist, bool arg5, struct pschannel *channel);
|
||||
void psGetTheoreticalVolPan(struct coord *pos, s16 *rooms, s16 soundnum, s32 *vol, s32 *pan);
|
||||
void psApplyVolPan(struct sndstate *handle, struct coord *pos, f32 dist1, f32 dist2, f32 dist3, s16 *rooms, s16 soundnum, s32 arg7, f32 *distanceptr);
|
||||
void psGetTheoreticalVolPan(struct coord *pos, RoomNum *rooms, s16 soundnum, s32 *vol, s32 *pan);
|
||||
void psApplyVolPan(struct sndstate *handle, struct coord *pos, f32 dist1, f32 dist2, f32 dist3, RoomNum *rooms, s16 soundnum, s32 arg7, f32 *distanceptr);
|
||||
s32 psGetRandomSparkSound(void);
|
||||
s32 psGetDuration60(s32 channelnum);
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ u32 setupGetCmdIndexByProp(struct prop *prop);
|
||||
bool setupLoadModeldef(s32 modelnum);
|
||||
bool setupGetObjBbox(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3], struct coord *arg3, struct coord *arg4);
|
||||
bool setup0f092304(struct defaultobj *obj, struct coord *arg1, struct coord *arg2);
|
||||
void setup0f09233c(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3], s16 *rooms);
|
||||
void setup0f09233c(struct defaultobj *obj, struct coord *pos, f32 realrot[3][3], RoomNum *rooms);
|
||||
void setup0f0923d4(struct defaultobj *obj);
|
||||
struct defaultobj *setupGetObjByCmdIndex(u32 cmdindex);
|
||||
struct defaultobj *setupFindObjForReuse(s32 type, struct defaultobj **arg1, struct defaultobj **arg2, bool musthaveprop, bool musthavemodel, struct modeldef *modeldef);
|
||||
|
||||
@@ -11,13 +11,13 @@ void smokeReset(void);
|
||||
void smokeStop(void);
|
||||
|
||||
Gfx *smokeRenderPart(struct smoke *smoke, struct smokepart *part, Gfx *gdl, struct coord *coord, f32 size);
|
||||
struct smoke *smokeCreate(struct coord *pos, s16 *rooms, s16 type);
|
||||
bool smokeCreateForHand(struct coord *pos, s16 *rooms, s16 type, s32 handnum);
|
||||
bool smokeCreateWithSource(void *source, struct coord *pos, s16 *rooms, s16 type, bool srcispadeffect);
|
||||
struct smoke *smokeCreate(struct coord *pos, RoomNum *rooms, s16 type);
|
||||
bool smokeCreateForHand(struct coord *pos, RoomNum *rooms, s16 type, s32 handnum);
|
||||
bool smokeCreateWithSource(void *source, struct coord *pos, RoomNum *rooms, s16 type, bool srcispadeffect);
|
||||
void smokeCreateAtProp(struct prop *prop, s16 type);
|
||||
void smokeCreateAtPadEffect(struct padeffectobj *effect, struct coord *pos, s16 *rooms, s16 type);
|
||||
void smokeCreateAtPadEffect(struct padeffectobj *effect, struct coord *pos, RoomNum *rooms, s16 type);
|
||||
void smokeClearForProp(struct prop *prop);
|
||||
struct smoke *smokeCreateSimple(struct coord *pos, s16 *rooms, s16 type);
|
||||
struct smoke *smokeCreateSimple(struct coord *pos, RoomNum *rooms, s16 type);
|
||||
u32 smokeTick(struct prop *prop);
|
||||
u32 smokeTickPlayer(struct prop *prop);
|
||||
Gfx *smokeRender(struct prop *prop, Gfx *gdl, bool xlupass);
|
||||
|
||||
@@ -17,11 +17,11 @@ void wallhitRemoveOne(void);
|
||||
void wallhitsTick(void);
|
||||
|
||||
void wallhitCreate(struct coord *relpos, struct coord *arg1, struct coord *arg2, s16 arg3[3],
|
||||
s16 arg4[3], s16 texnum, s16 room, struct prop *objprop,
|
||||
s16 arg4[3], s16 texnum, RoomNum room, struct prop *objprop,
|
||||
s8 mtxindex, s8 arg9, struct chrdata *chr, bool xlu);
|
||||
|
||||
void wallhitCreateWith20Args(struct coord *relpos, struct coord *arg1, struct coord *arg2, s16 arg3[3],
|
||||
s16 arg4[3], s16 texnum, s16 room, struct prop *objprop,
|
||||
s16 arg4[3], s16 texnum, RoomNum room, struct prop *objprop,
|
||||
struct prop *chrprop, s8 mtxindex, s8 arg10, struct chrdata *chr,
|
||||
f32 width, f32 height, u8 minalpha, u8 maxalpha,
|
||||
s32 rotdeg, u32 timermax, u32 timerspeed, bool xlu);
|
||||
|
||||
+35
-35
@@ -25,47 +25,47 @@ bool cd000266a4(f32 x, f32 z, struct geo *tile);
|
||||
void cdGetPropsOnPlatform(struct prop *platform, s16 *propnums, s32 len);
|
||||
s32 cd000274e0Block(struct geoblock *tile, f32 x, f32 z, f32 width, struct prop *prop, struct collision *collision);
|
||||
bool cd000276c8Cyl(struct geocyl *tile, f32 x, f32 z, f32 width, struct prop *prop, struct collision *collision);
|
||||
bool cdFindLadder(struct coord *pos, f32 width, f32 ymax, f32 ymin, s16 *rooms, u16 geoflags, struct coord *laddernormal);
|
||||
bool cd0002a13c(struct coord *pos, f32 radius, f32 arg2, f32 arg3, s16 *rooms, u16 geoflags);
|
||||
f32 cdFindGroundInfoAtCyl(struct coord *pos, f32 radius, s16 *rooms, u16 *floorcol, u8 *floortype, u16 *floorflags, s16 *floorroom, s32 *inlift, struct prop **lift);
|
||||
bool cdFindLadder(struct coord *pos, f32 width, f32 ymax, f32 ymin, RoomNum *rooms, u16 geoflags, struct coord *laddernormal);
|
||||
bool cd0002a13c(struct coord *pos, f32 radius, f32 arg2, f32 arg3, RoomNum *rooms, u16 geoflags);
|
||||
f32 cdFindGroundInfoAtCyl(struct coord *pos, f32 radius, RoomNum *rooms, u16 *floorcol, u8 *floortype, u16 *floorflags, RoomNum *floorroom, s32 *inlift, struct prop **lift);
|
||||
f32 cdReturnZero(void);
|
||||
f32 cdFindGroundAtCyl(struct coord *pos, f32 radius, s16 *rooms, u16 *floorcol, u8 *floortype);
|
||||
f32 cdFindFloorYColourTypeAtPos(struct coord *pos, s16 *rooms, u16 *floorcol, u8 *floortype);
|
||||
s32 cdFindFloorRoomAtPos(struct coord *pos, s16 *nearrooms);
|
||||
f32 cdFindGroundAtCyl(struct coord *pos, f32 radius, RoomNum *rooms, u16 *floorcol, u8 *floortype);
|
||||
f32 cdFindFloorYColourTypeAtPos(struct coord *pos, RoomNum *rooms, u16 *floorcol, u8 *floortype);
|
||||
s32 cdFindFloorRoomAtPos(struct coord *pos, RoomNum *nearrooms);
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
s16 cdFindFloorRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcolptr, u16 *flagsptr);
|
||||
s16 cdFindCeilingRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcolptr, u16 *flagsptr);
|
||||
RoomNum cdFindFloorRoomYColourFlagsAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcolptr, u16 *flagsptr);
|
||||
RoomNum cdFindCeilingRoomYColourFlagsAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcolptr, u16 *flagsptr);
|
||||
#else
|
||||
s16 cdFindFloorRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcolptr);
|
||||
s16 cdFindCeilingRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcolptr);
|
||||
RoomNum cdFindFloorRoomYColourFlagsAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcolptr);
|
||||
RoomNum cdFindCeilingRoomYColourFlagsAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcolptr);
|
||||
#endif
|
||||
|
||||
s16 cdFindFloorRoomYColourNormalPropAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcol, struct coord *normal, struct prop **propptr);
|
||||
s16 cdFindCeilingRoomYColourFlagsNormalAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcol, u16 *geoflags, struct coord *normal);
|
||||
s32 cdTestVolume(struct coord *pos, f32 radius, s16 *rooms, s32 types, bool checkvertical, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove01(struct coord *pos, struct coord *pos2, f32 radius, s16 *rooms, s32 types, bool checkvertical, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove02(struct coord *origpos, struct coord *dstpos, f32 width, s16 *dstrooms, s32 types, bool checkvertical, f32 ymax, f32 ymin);
|
||||
bool cdTestCylMove01(struct coord *pos, s16 *rooms, struct coord *targetpos, u32 types, u32 arg4, f32 ymax, f32 ymin);
|
||||
s32 cdTestCylMove02(struct coord *pos, s16 *rooms, struct coord *coord2, s16 *rooms2, u32 types, bool arg5, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove03(struct coord *pos, s16 *rooms, struct coord *arg2, u32 types, u32 arg4, f32 ymax, f32 ymin);
|
||||
s32 cdTestCylMove04(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, u32 types, s32 arg5, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove05(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2, s32 types, bool arg5, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove06(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, f32 arg4, s32 types, s32 arg6, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove07(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, u32 types, s32 arg5, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove08(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, f32 width, u32 types, s32 arg6, f32 ymax, f32 ymin);
|
||||
bool cdTestLos03(struct coord *viewpos, s16 *rooms, struct coord *targetpos, u32 types, u16 geoflags);
|
||||
bool cdTestLos04(struct coord *coord, s16 *rooms, struct coord *coord2, s32 arg3);
|
||||
bool cdTestLos05(struct coord *coord, s16 *rooms, struct coord *coord2, s16 *rooms2, s32 cdtypes, u16 geoflags);
|
||||
bool cdTestLos06(struct coord *arg0, s16 *rooms1, struct coord *arg2, s16 *rooms2, u32 types);
|
||||
bool cdTestLos07(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2, s16 *rooms3, u32 types, u16 geoflags);
|
||||
s32 cdExamLos08(struct coord *pos, s16 *rooms, struct coord *pos2, u32 types, u16 geoflags);
|
||||
s32 cdExamLos09(struct coord *pos, s16 *rooms, struct coord *pos2, u32 types);
|
||||
s32 cdTestLos10(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, u32 types, u16 geoflags);
|
||||
s32 cdTestLos11(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, u32 types);
|
||||
RoomNum cdFindFloorRoomYColourNormalPropAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcol, struct coord *normal, struct prop **propptr);
|
||||
RoomNum cdFindCeilingRoomYColourFlagsNormalAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcol, u16 *geoflags, struct coord *normal);
|
||||
s32 cdTestVolume(struct coord *pos, f32 radius, RoomNum *rooms, s32 types, bool checkvertical, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove01(struct coord *pos, struct coord *pos2, f32 radius, RoomNum *rooms, s32 types, bool checkvertical, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove02(struct coord *origpos, struct coord *dstpos, f32 width, RoomNum *dstrooms, s32 types, bool checkvertical, f32 ymax, f32 ymin);
|
||||
bool cdTestCylMove01(struct coord *pos, RoomNum *rooms, struct coord *targetpos, u32 types, u32 arg4, f32 ymax, f32 ymin);
|
||||
s32 cdTestCylMove02(struct coord *pos, RoomNum *rooms, struct coord *coord2, RoomNum *rooms2, u32 types, bool arg5, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove03(struct coord *pos, RoomNum *rooms, struct coord *arg2, u32 types, u32 arg4, f32 ymax, f32 ymin);
|
||||
s32 cdTestCylMove04(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, u32 types, s32 arg5, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove05(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *rooms2, s32 types, bool arg5, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove06(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, f32 arg4, s32 types, s32 arg6, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove07(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, u32 types, s32 arg5, f32 ymax, f32 ymin);
|
||||
s32 cdExamCylMove08(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, f32 width, u32 types, s32 arg6, f32 ymax, f32 ymin);
|
||||
bool cdTestLos03(struct coord *viewpos, RoomNum *rooms, struct coord *targetpos, u32 types, u16 geoflags);
|
||||
bool cdTestLos04(struct coord *coord, RoomNum *rooms, struct coord *coord2, s32 arg3);
|
||||
bool cdTestLos05(struct coord *coord, RoomNum *rooms, struct coord *coord2, RoomNum *rooms2, s32 cdtypes, u16 geoflags);
|
||||
bool cdTestLos06(struct coord *arg0, RoomNum *rooms1, struct coord *arg2, RoomNum *rooms2, u32 types);
|
||||
bool cdTestLos07(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *rooms2, RoomNum *rooms3, u32 types, u16 geoflags);
|
||||
s32 cdExamLos08(struct coord *pos, RoomNum *rooms, struct coord *pos2, u32 types, u16 geoflags);
|
||||
s32 cdExamLos09(struct coord *pos, RoomNum *rooms, struct coord *pos2, u32 types);
|
||||
s32 cdTestLos10(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, u32 types, u16 geoflags);
|
||||
s32 cdTestLos11(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, u32 types);
|
||||
bool cd0002ded8(struct coord *arg0, struct coord *arg1, struct prop *prop);
|
||||
s32 cdTestBlockOverlapsAnyProp(struct geoblock *geo, s16 *rooms, u32 types);
|
||||
s32 cd0002f02c(struct geoblock *block, s16 *rooms, s32 types);
|
||||
bool cdIsNearlyInSight(struct coord *viewpos, s16 *rooms, struct coord *targetpos, f32 distance, s32 arg4);
|
||||
s32 cdTestBlockOverlapsAnyProp(struct geoblock *geo, RoomNum *rooms, u32 types);
|
||||
s32 cd0002f02c(struct geoblock *block, RoomNum *rooms, s32 types);
|
||||
bool cdIsNearlyInSight(struct coord *viewpos, RoomNum *rooms, struct coord *targetpos, f32 distance, s32 arg4);
|
||||
|
||||
#endif
|
||||
@@ -9,8 +9,8 @@
|
||||
#define PORTALINTERSECTION_FRONTTOBEHIND 2
|
||||
|
||||
void portalGetAvgVertexPos(s32 portalnum, struct coord *avg);
|
||||
void portal00017dc4(s16 *rooms, s16 roomnum);
|
||||
void portal00017dc4(RoomNum *rooms, RoomNum roomnum);
|
||||
s32 portalCalculateIntersection(s32 portalnum, struct coord *pos1, struct coord *pos2);
|
||||
void portal00018148(struct coord *pos, struct coord *pos2, s16 *rooms, s16 *arg3, s16 *arg4, s32 arg5);
|
||||
void portal00018148(struct coord *pos, struct coord *pos2, RoomNum *rooms, RoomNum *arg3, RoomNum *arg4, s32 arg5);
|
||||
|
||||
#endif
|
||||
+22
-21
@@ -19,6 +19,7 @@ typedef s32 PakErr1;
|
||||
typedef s32 PakErr2;
|
||||
typedef s32 MenuDialogHandlerResult;
|
||||
typedef intptr_t MenuItemHandlerResult;
|
||||
typedef s16 RoomNum;
|
||||
|
||||
// Float version of a graphics matrix, which has higher precision than an Mtx.
|
||||
// Matrices are stored as Mtxfs then converted to an Mtx when passed to the GPU.
|
||||
@@ -292,7 +293,7 @@ struct prop {
|
||||
/*0x1c*/ struct prop *child;
|
||||
/*0x20*/ struct prop *next;
|
||||
/*0x24*/ struct prop *prev;
|
||||
/*0x28*/ s16 rooms[8];
|
||||
/*0x28*/ RoomNum rooms[8];
|
||||
/*0x38*/ u16 lastupdateframe;
|
||||
/*0x3a*/ u16 propupdate240;
|
||||
/*0x3c*/ u8 propupdate60err;
|
||||
@@ -738,7 +739,7 @@ struct aibot {
|
||||
/*0x076*/ s16 lastkilledbyplayernum;
|
||||
/*0x078*/ u8 forceslowupdates;
|
||||
/*0x079*/ u8 command;
|
||||
/*0x07a*/ s16 defendholdrooms[1];
|
||||
/*0x07a*/ RoomNum defendholdrooms[1];
|
||||
/*0x07c*/ u32 unk07c; // unused
|
||||
/*0x080*/ u32 unk080; // unused
|
||||
/*0x084*/ u32 unk084; // unused
|
||||
@@ -770,7 +771,7 @@ struct aibot {
|
||||
/*0x0e0*/ s16 reaperspeed[2];
|
||||
/*0x0e4*/ f32 maulercharge[2];
|
||||
/*0x0ec*/ struct coord gotopos;
|
||||
/*0x0f8*/ s16 gotorooms[8];
|
||||
/*0x0f8*/ RoomNum gotorooms[8];
|
||||
/*0x108*/ struct coord shotspeed; // "boost" when aibot is shot
|
||||
/*0x114*/ s32 feudplayernum;
|
||||
/*0x118*/ s32 commandtimer60;
|
||||
@@ -783,7 +784,7 @@ struct aibot {
|
||||
/*0x13c*/ f32 chrdistances[MAX_MPCHRS];
|
||||
/*0x16c*/ u8 chrsinsight[MAX_MPCHRS];
|
||||
/*0x178*/ s32 chrslastseen60[MAX_MPCHRS];
|
||||
/*0x1a8*/ s16 chrrooms[MAX_MPCHRS];
|
||||
/*0x1a8*/ RoomNum chrrooms[MAX_MPCHRS];
|
||||
/*0x1c0*/ f32 extraangle;
|
||||
/*0x1c4*/ f32 extraanglerate;
|
||||
/*0x1c8*/ f32 extraanglebase;
|
||||
@@ -1040,7 +1041,7 @@ struct act_patrol {
|
||||
|
||||
struct act_gopos {
|
||||
/*0x02c*/ struct coord endpos;
|
||||
/*0x038*/ s16 endrooms[8];
|
||||
/*0x038*/ RoomNum endrooms[8];
|
||||
/*0x048*/ struct waypoint *target; // Target/final waypoint
|
||||
|
||||
// Array of pointers to the next couple of waypoints. Recalculated each time
|
||||
@@ -1243,9 +1244,9 @@ struct chrdata {
|
||||
/*0x2ae*/ u16 unk2ae;
|
||||
/*0x2b0*/ u8 tude;
|
||||
/*0x2b1*/ u8 voicebox;
|
||||
/*0x2b2*/ s16 floorroom;
|
||||
/*0x2b2*/ RoomNum floorroom;
|
||||
/*0x2b4*/ u32 unk2b4;
|
||||
/*0x2b8*/ s16 oldrooms[8];
|
||||
/*0x2b8*/ RoomNum oldrooms[8];
|
||||
/*0x2c8*/ struct coord runfrompos;
|
||||
/*0x2d4*/ struct aibot *aibot;
|
||||
/*0x2d8*/ s16 blurdrugamount;
|
||||
@@ -2463,7 +2464,7 @@ struct player {
|
||||
/*0x0278*/ f32 shieldshowrot;
|
||||
/*0x027c*/ u32 shieldshowrnd;
|
||||
/*0x0280*/ f32 shieldshowtime;
|
||||
/*0x0284*/ s16 bondprevrooms[8];
|
||||
/*0x0284*/ RoomNum bondprevrooms[8];
|
||||
/*0x0294*/ f32 liftground;
|
||||
/*0x0298*/ struct prop *lift;
|
||||
/*0x029c*/ f32 ladderupdown;
|
||||
@@ -2659,7 +2660,7 @@ struct player {
|
||||
/*0x19a4*/ f32 speedgo;
|
||||
/*0x19a8*/ s32 sighttimer240;
|
||||
/*0x19ac*/ s32 crouchoffsetreal;
|
||||
/*0x19b0*/ s16 floorroom;
|
||||
/*0x19b0*/ RoomNum floorroom;
|
||||
/*0x19b2*/ u8 unk19b2;
|
||||
/*0x19b3*/ u8 dostartnewlife;
|
||||
/*0x19b4*/ f32 crouchoffsetsmall;
|
||||
@@ -2805,7 +2806,7 @@ struct coverdefinition {
|
||||
struct cover {
|
||||
/*0x00*/ struct coord *pos;
|
||||
/*0x04*/ struct coord *look;
|
||||
/*0x08*/ s16 rooms[2];
|
||||
/*0x08*/ RoomNum rooms[2];
|
||||
/*0x0c*/ u16 flags;
|
||||
};
|
||||
|
||||
@@ -4423,7 +4424,7 @@ struct scenariodata_koh {
|
||||
/*0x800ac118*/ s16 movehill;
|
||||
/*0x800ac11a*/ s16 hillindex;
|
||||
/*0x800ac11c*/ s16 hillcount;
|
||||
/*0x800ac11e*/ s16 hillrooms[2];
|
||||
/*0x800ac11e*/ RoomNum hillrooms[2];
|
||||
/*0x800ac122*/ s16 hillpads[9];
|
||||
/*0x800ac134*/ struct coord hillpos;
|
||||
/*0x800ac140*/ f32 colourfracr;
|
||||
@@ -4440,7 +4441,7 @@ struct ctcspawnpadsperteam {
|
||||
struct scenariodata_ctc {
|
||||
/*0x00*/ s16 playercountsperteam[4];
|
||||
/*0x08*/ s16 teamindexes[4];
|
||||
/*0x10*/ s16 baserooms[4];
|
||||
/*0x10*/ RoomNum baserooms[4];
|
||||
/*0x18*/ struct ctcspawnpadsperteam spawnpadsperteam[4];
|
||||
/*0x58*/ struct prop *tokens[4];
|
||||
};
|
||||
@@ -4589,8 +4590,8 @@ struct explosionpart {
|
||||
struct explosionbb {
|
||||
struct coord bbmin;
|
||||
struct coord bbmax;
|
||||
s16 room;
|
||||
s16 room2;
|
||||
RoomNum room;
|
||||
RoomNum room2;
|
||||
};
|
||||
|
||||
struct explosion {
|
||||
@@ -4598,7 +4599,7 @@ struct explosion {
|
||||
struct prop *source; // Prop of the thing that created the explosion
|
||||
struct explosionpart parts[40];
|
||||
/*0x3c8*/ s16 age;
|
||||
/*0x3ca*/ s16 room;
|
||||
/*0x3ca*/ RoomNum room;
|
||||
/*0x3cc*/ s8 type;
|
||||
/*0x3cd*/ s8 makescorch;
|
||||
/*0x3ce*/ s8 owner;
|
||||
@@ -5134,7 +5135,7 @@ struct bgcmd {
|
||||
};
|
||||
|
||||
struct drawslot {
|
||||
s16 roomnum;
|
||||
RoomNum roomnum;
|
||||
u8 unk02;
|
||||
u8 draworder;
|
||||
struct screenbox box;
|
||||
@@ -5151,8 +5152,8 @@ struct zrange {
|
||||
};
|
||||
|
||||
struct bgsnakeitem {
|
||||
/*0x00*/ s16 roomnum;
|
||||
/*0x02*/ s16 fromroomnums[5];
|
||||
/*0x00*/ RoomNum roomnum;
|
||||
/*0x02*/ RoomNum fromroomnums[5];
|
||||
/*0x0c*/ u8 depth;
|
||||
/*0x0d*/ u8 numportals;
|
||||
/*0x0e*/ s16 roomportallistoffset;
|
||||
@@ -5594,7 +5595,7 @@ struct var80067e6c {
|
||||
};
|
||||
|
||||
struct shard {
|
||||
/*0x00*/ s16 room;
|
||||
/*0x00*/ RoomNum room;
|
||||
/*0x04*/ s32 age60;
|
||||
/*0x08*/ struct coord pos;
|
||||
/*0x14*/ struct coord rot;
|
||||
@@ -5639,7 +5640,7 @@ struct pschannel {
|
||||
/*0x50*/ struct prop *prop;
|
||||
/*0x54*/ struct coord *posptr;
|
||||
/*0x58*/ struct coord pos;
|
||||
/*0x64*/ s16 rooms[8];
|
||||
/*0x64*/ RoomNum rooms[8];
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
/*0x74*/ u32 uuid;
|
||||
#endif
|
||||
@@ -5677,7 +5678,7 @@ struct wallhit {
|
||||
/*0x5c*/ struct prop *chrprop;
|
||||
/*0x60*/ struct prop *objprop;
|
||||
/*0x64*/ Vtx *vertices2; // overridden vertices for when blood is expanding
|
||||
/*0x68*/ s16 roomnum;
|
||||
/*0x68*/ RoomNum roomnum;
|
||||
/*0x6a*/ u8 texturenum;
|
||||
/*0x6b*/ u8 unk6b;
|
||||
/*0x6c*/ u8 mtxindex;
|
||||
|
||||
+76
-76
@@ -962,9 +962,9 @@ bool cd00026a04(struct coord *pos, u8 *start, u8 *end, u16 geoflags, s32 room, s
|
||||
return result;
|
||||
}
|
||||
|
||||
void cdFindClosestVertical(struct coord *pos, s16 *rooms, u16 geoflags, struct geo **geoptr, s16 *roomptr, f32 *groundptr, struct prop **propptr, bool ceiling)
|
||||
void cdFindClosestVertical(struct coord *pos, RoomNum *rooms, u16 geoflags, struct geo **geoptr, RoomNum *roomptr, f32 *groundptr, struct prop **propptr, bool ceiling)
|
||||
{
|
||||
s16 *roomptr2;
|
||||
RoomNum *roomptr2;
|
||||
s32 roomnum;
|
||||
u8 *start;
|
||||
u8 *end;
|
||||
@@ -1262,9 +1262,9 @@ void cdCollectGeoForCylFromList(struct coord *pos, f32 radius, u8 *start, u8 *en
|
||||
}
|
||||
}
|
||||
|
||||
void cdCollectGeoForCyl(struct coord *pos, f32 radius, s16 *rooms, u32 types, u16 geoflags, bool checkvertical, f32 ymax, f32 ymin, struct collision *collisions, s32 maxcollisions)
|
||||
void cdCollectGeoForCyl(struct coord *pos, f32 radius, RoomNum *rooms, u32 types, u16 geoflags, bool checkvertical, f32 ymax, f32 ymin, struct collision *collisions, s32 maxcollisions)
|
||||
{
|
||||
s16 *roomptr;
|
||||
RoomNum *roomptr;
|
||||
s32 roomnum;
|
||||
u8 *start;
|
||||
u8 *end;
|
||||
@@ -1590,9 +1590,9 @@ void cdCollectGeoForCylMoveFromList(u8 *start, u8 *end, struct coord *pos, f32 r
|
||||
}
|
||||
}
|
||||
|
||||
void cdCollectGeoForCylMove(struct coord *pos, f32 width, s16 *rooms, u32 types, u16 geoflags, bool checkvertical, f32 ymax, f32 ymin, struct collision *collisions, s32 maxcollisions)
|
||||
void cdCollectGeoForCylMove(struct coord *pos, f32 width, RoomNum *rooms, u32 types, u16 geoflags, bool checkvertical, f32 ymax, f32 ymin, struct collision *collisions, s32 maxcollisions)
|
||||
{
|
||||
s16 *roomptr;
|
||||
RoomNum *roomptr;
|
||||
s32 roomnum;
|
||||
u8 *start;
|
||||
u8 *end;
|
||||
@@ -2139,7 +2139,7 @@ f32 cdFindGroundFromList(struct collision *collisions, struct coord *pos, struct
|
||||
* There is nothing specific to ladders in this function, but it's only used
|
||||
* for finding ladders.
|
||||
*/
|
||||
bool cdFindLadder(struct coord *pos, f32 width, f32 ymax, f32 ymin, s16 *rooms, u16 geoflags, struct coord *laddernormal)
|
||||
bool cdFindLadder(struct coord *pos, f32 width, f32 ymax, f32 ymin, RoomNum *rooms, u16 geoflags, struct coord *laddernormal)
|
||||
{
|
||||
struct collision collisions[2];
|
||||
|
||||
@@ -2167,7 +2167,7 @@ bool cdFindLadder(struct coord *pos, f32 width, f32 ymax, f32 ymin, s16 *rooms,
|
||||
return false;
|
||||
}
|
||||
|
||||
bool cd0002a13c(struct coord *pos, f32 radius, f32 ymax, f32 ymin, s16 *rooms, u16 geoflags)
|
||||
bool cd0002a13c(struct coord *pos, f32 radius, f32 ymax, f32 ymin, RoomNum *rooms, u16 geoflags)
|
||||
{
|
||||
struct collision collisions[2];
|
||||
|
||||
@@ -2180,8 +2180,8 @@ bool cd0002a13c(struct coord *pos, f32 radius, f32 ymax, f32 ymin, s16 *rooms, u
|
||||
return false;
|
||||
}
|
||||
|
||||
f32 cdFindGroundInfoAtCyl(struct coord *pos, f32 radius, s16 *rooms, u16 *floorcol,
|
||||
u8 *floortype, u16 *floorflags, s16 *floorroom, s32 *inlift, struct prop **lift)
|
||||
f32 cdFindGroundInfoAtCyl(struct coord *pos, f32 radius, RoomNum *rooms, u16 *floorcol,
|
||||
u8 *floortype, u16 *floorflags, RoomNum *floorroom, s32 *inlift, struct prop **lift)
|
||||
{
|
||||
struct collision collisions[21];
|
||||
struct collision *sp72 = NULL;
|
||||
@@ -2244,15 +2244,15 @@ f32 cdReturnZero(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
f32 cdFindGroundAtCyl(struct coord *pos, f32 radius, s16 *rooms, u16 *floorcol, u8 *floortype)
|
||||
f32 cdFindGroundAtCyl(struct coord *pos, f32 radius, RoomNum *rooms, u16 *floorcol, u8 *floortype)
|
||||
{
|
||||
return cdFindGroundInfoAtCyl(pos, radius, rooms, floorcol, floortype, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
f32 cdFindFloorYColourTypeAtPos(struct coord *pos, s16 *rooms, u16 *floorcol, u8 *floortype)
|
||||
f32 cdFindFloorYColourTypeAtPos(struct coord *pos, RoomNum *rooms, u16 *floorcol, u8 *floortype)
|
||||
{
|
||||
struct geo *geo;
|
||||
s16 sp30[2];
|
||||
RoomNum sp30[2];
|
||||
f32 sp2c;
|
||||
f32 result = -4294967296;
|
||||
|
||||
@@ -2273,10 +2273,10 @@ f32 cdFindFloorYColourTypeAtPos(struct coord *pos, s16 *rooms, u16 *floorcol, u8
|
||||
return result;
|
||||
}
|
||||
|
||||
s32 cdFindFloorRoomAtPos(struct coord *pos, s16 *nearrooms)
|
||||
s32 cdFindFloorRoomAtPos(struct coord *pos, RoomNum *nearrooms)
|
||||
{
|
||||
struct geo *geo;
|
||||
s16 room;
|
||||
RoomNum room;
|
||||
f32 sp2c;
|
||||
|
||||
cdFindClosestVertical(pos, nearrooms, GEOFLAG_FLOOR1 | GEOFLAG_FLOOR2, &geo, &room, &sp2c, 0, SURFACE_FLOOR);
|
||||
@@ -2285,13 +2285,13 @@ s32 cdFindFloorRoomAtPos(struct coord *pos, s16 *nearrooms)
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
s16 cdFindFloorRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcolptr, u16 *flagsptr)
|
||||
RoomNum cdFindFloorRoomYColourFlagsAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcolptr, u16 *flagsptr)
|
||||
#else
|
||||
s16 cdFindFloorRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcolptr)
|
||||
RoomNum cdFindFloorRoomYColourFlagsAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcolptr)
|
||||
#endif
|
||||
{
|
||||
struct geo *geo;
|
||||
s16 room;
|
||||
RoomNum room;
|
||||
f32 sp2c;
|
||||
|
||||
cdFindClosestVertical(pos, rooms, GEOFLAG_FLOOR1 | GEOFLAG_FLOOR2, &geo, &room, &sp2c, NULL, SURFACE_FLOOR);
|
||||
@@ -2314,13 +2314,13 @@ s16 cdFindFloorRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
s16 cdFindCeilingRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcolptr, u16 *flagsptr)
|
||||
RoomNum cdFindCeilingRoomYColourFlagsAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcolptr, u16 *flagsptr)
|
||||
#else
|
||||
s16 cdFindCeilingRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcolptr)
|
||||
RoomNum cdFindCeilingRoomYColourFlagsAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcolptr)
|
||||
#endif
|
||||
{
|
||||
struct geo *geo;
|
||||
s16 sp32;
|
||||
RoomNum sp32;
|
||||
f32 sp2c;
|
||||
|
||||
cdFindClosestVertical(pos, rooms, GEOFLAG_FLOOR1 | GEOFLAG_FLOOR2, &geo, &sp32, &sp2c, NULL, SURFACE_CEILING);
|
||||
@@ -2342,10 +2342,10 @@ s16 cdFindCeilingRoomYColourFlagsAtPos(struct coord *pos, s16 *rooms, f32 *arg2,
|
||||
return sp32;
|
||||
}
|
||||
|
||||
s16 cdFindFloorRoomYColourNormalPropAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcol, struct coord *normal, struct prop **propptr)
|
||||
RoomNum cdFindFloorRoomYColourNormalPropAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcol, struct coord *normal, struct prop **propptr)
|
||||
{
|
||||
struct geo *geo;
|
||||
s16 room;
|
||||
RoomNum room;
|
||||
f32 sp2c;
|
||||
|
||||
cdFindClosestVertical(pos, rooms, GEOFLAG_FLOOR1 | GEOFLAG_FLOOR2, &geo, &room, &sp2c, propptr, SURFACE_FLOOR);
|
||||
@@ -2362,10 +2362,10 @@ s16 cdFindFloorRoomYColourNormalPropAtPos(struct coord *pos, s16 *rooms, f32 *ar
|
||||
return room;
|
||||
}
|
||||
|
||||
s16 cdFindCeilingRoomYColourFlagsNormalAtPos(struct coord *pos, s16 *rooms, f32 *arg2, u16 *floorcol, u16 *flagsptr, struct coord *normal)
|
||||
RoomNum cdFindCeilingRoomYColourFlagsNormalAtPos(struct coord *pos, RoomNum *rooms, f32 *arg2, u16 *floorcol, u16 *flagsptr, struct coord *normal)
|
||||
{
|
||||
struct geo *geo;
|
||||
s16 sp32;
|
||||
RoomNum sp32;
|
||||
f32 sp2c;
|
||||
|
||||
cdFindClosestVertical(pos, rooms, GEOFLAG_FLOOR1 | GEOFLAG_FLOOR2, &geo, &sp32, &sp2c, NULL, SURFACE_CEILING);
|
||||
@@ -2389,7 +2389,7 @@ s16 cdFindCeilingRoomYColourFlagsNormalAtPos(struct coord *pos, s16 *rooms, f32
|
||||
/**
|
||||
* Tests if a cylinder volume fits in the given position.
|
||||
*/
|
||||
s32 cdTestVolume(struct coord *pos, f32 width, s16 *rooms, s32 types, bool checkvertical, f32 ymax, f32 ymin)
|
||||
s32 cdTestVolume(struct coord *pos, f32 width, RoomNum *rooms, s32 types, bool checkvertical, f32 ymax, f32 ymin)
|
||||
{
|
||||
struct collision collisions[2];
|
||||
bool result = true;
|
||||
@@ -2404,7 +2404,7 @@ s32 cdTestVolume(struct coord *pos, f32 width, s16 *rooms, s32 types, bool check
|
||||
return result;
|
||||
}
|
||||
|
||||
s32 cdExamCylMove01(struct coord *pos, struct coord *pos2, f32 radius, s16 *rooms, s32 types, bool checkvertical, f32 ymax, f32 ymin)
|
||||
s32 cdExamCylMove01(struct coord *pos, struct coord *pos2, f32 radius, RoomNum *rooms, s32 types, bool checkvertical, f32 ymax, f32 ymin)
|
||||
{
|
||||
struct collision collisions[2];
|
||||
s32 cdresult;
|
||||
@@ -2469,7 +2469,7 @@ s32 cdExamCylMove01(struct coord *pos, struct coord *pos2, f32 radius, s16 *room
|
||||
return cdresult;
|
||||
}
|
||||
|
||||
s32 cdExamCylMove02(struct coord *origpos, struct coord *dstpos, f32 width, s16 *dstrooms, s32 types, bool checkvertical, f32 ymax, f32 ymin)
|
||||
s32 cdExamCylMove02(struct coord *origpos, struct coord *dstpos, f32 width, RoomNum *dstrooms, s32 types, bool checkvertical, f32 ymax, f32 ymin)
|
||||
{
|
||||
struct collision collisions[21];
|
||||
struct coord dist;
|
||||
@@ -3337,10 +3337,10 @@ bool cdExamAToBGeolist(u8 *start, u8 *end, struct coord *arg2, struct coord *arg
|
||||
return !result;
|
||||
}
|
||||
|
||||
bool cdTestAToB(struct coord *pos, struct coord *coord2, s16 *rooms, u32 types, u16 geoflags, bool checkvertical, s32 arg6, f32 ymax, f32 ymin)
|
||||
bool cdTestAToB(struct coord *pos, struct coord *coord2, RoomNum *rooms, u32 types, u16 geoflags, bool checkvertical, s32 arg6, f32 ymax, f32 ymin)
|
||||
{
|
||||
s32 roomnum;
|
||||
s16 *roomptr;
|
||||
RoomNum *roomptr;
|
||||
u8 *start;
|
||||
u8 *end;
|
||||
struct coord sp27c;
|
||||
@@ -3391,10 +3391,10 @@ bool cdTestAToB(struct coord *pos, struct coord *coord2, s16 *rooms, u32 types,
|
||||
return true;
|
||||
}
|
||||
|
||||
s32 cdExamAToB(struct coord *arg0, struct coord *arg1, s16 *rooms, s32 types, u16 geoflags, bool checkvertical, s32 arg6, f32 ymax, f32 ymin)
|
||||
s32 cdExamAToB(struct coord *arg0, struct coord *arg1, RoomNum *rooms, s32 types, u16 geoflags, bool checkvertical, s32 arg6, f32 ymax, f32 ymin)
|
||||
{
|
||||
s32 roomnum;
|
||||
s16 *roomptr;
|
||||
RoomNum *roomptr;
|
||||
u8 *start;
|
||||
u8 *end;
|
||||
struct coord sp2c4;
|
||||
@@ -3451,21 +3451,21 @@ s32 cdExamAToB(struct coord *arg0, struct coord *arg1, s16 *rooms, s32 types, u1
|
||||
return !sp2c0;
|
||||
}
|
||||
|
||||
bool cdTestCylMove01(struct coord *pos, s16 *rooms, struct coord *targetpos, u32 types, u32 arg4, f32 ymax, f32 ymin)
|
||||
bool cdTestCylMove01(struct coord *pos, RoomNum *rooms, struct coord *targetpos, u32 types, u32 arg4, f32 ymax, f32 ymin)
|
||||
{
|
||||
s16 sp44[21];
|
||||
s16 sp34[8];
|
||||
RoomNum sp44[21];
|
||||
RoomNum sp34[8];
|
||||
|
||||
portal00018148(pos, targetpos, rooms, sp34, sp44, 20);
|
||||
|
||||
return cdTestAToB(pos, targetpos, sp44, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg4, ymax, ymin);
|
||||
}
|
||||
|
||||
s32 cdTestCylMove02(struct coord *pos, s16 *rooms, struct coord *coord2, s16 *rooms2, u32 types, s32 arg5, f32 ymax, f32 ymin)
|
||||
s32 cdTestCylMove02(struct coord *pos, RoomNum *rooms, struct coord *coord2, RoomNum *rooms2, u32 types, s32 arg5, f32 ymax, f32 ymin)
|
||||
{
|
||||
s32 result;
|
||||
s16 sp44[20];
|
||||
s16 sp34[8];
|
||||
RoomNum sp44[20];
|
||||
RoomNum sp34[8];
|
||||
|
||||
func0f065d1c(pos, rooms, coord2, sp34, sp44, 20);
|
||||
|
||||
@@ -3478,29 +3478,29 @@ s32 cdTestCylMove02(struct coord *pos, s16 *rooms, struct coord *coord2, s16 *ro
|
||||
return result;
|
||||
}
|
||||
|
||||
s32 cdExamCylMove03(struct coord *pos, s16 *rooms, struct coord *arg2, u32 types, u32 arg4, f32 ymax, f32 ymin)
|
||||
s32 cdExamCylMove03(struct coord *pos, RoomNum *rooms, struct coord *arg2, u32 types, u32 arg4, f32 ymax, f32 ymin)
|
||||
{
|
||||
s16 sp44[21];
|
||||
s16 sp34[8];
|
||||
RoomNum sp44[21];
|
||||
RoomNum sp34[8];
|
||||
|
||||
portal00018148(pos, arg2, rooms, sp34, sp44, 20);
|
||||
|
||||
return cdExamAToB(pos, arg2, sp44, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg4, ymax, ymin);
|
||||
}
|
||||
|
||||
s32 cdTestCylMove04(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, u32 types, s32 arg5, f32 ymax, f32 ymin)
|
||||
s32 cdTestCylMove04(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, u32 types, s32 arg5, f32 ymax, f32 ymin)
|
||||
{
|
||||
s16 rooms[21];
|
||||
RoomNum rooms[21];
|
||||
|
||||
portal00018148(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
|
||||
return cdTestAToB(arg0, arg2, rooms, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg5, ymax, ymin);
|
||||
}
|
||||
|
||||
s32 cdExamCylMove05(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2, s32 types, bool arg5, f32 ymax, f32 ymin)
|
||||
s32 cdExamCylMove05(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *rooms2, s32 types, bool arg5, f32 ymax, f32 ymin)
|
||||
{
|
||||
s16 sp44[21];
|
||||
s16 sp34[8];
|
||||
RoomNum sp44[21];
|
||||
RoomNum sp34[8];
|
||||
s32 result;
|
||||
|
||||
func0f065d1c(pos, rooms, pos2, sp34, sp44, 20);
|
||||
@@ -3515,10 +3515,10 @@ s32 cdExamCylMove05(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *room
|
||||
return result;
|
||||
}
|
||||
|
||||
s32 cdExamCylMove06(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, f32 width, s32 types, s32 arg6, f32 ymax, f32 ymin)
|
||||
s32 cdExamCylMove06(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, f32 width, s32 types, s32 arg6, f32 ymax, f32 ymin)
|
||||
{
|
||||
s16 sp5c[21];
|
||||
s16 sp4c[8];
|
||||
RoomNum sp5c[21];
|
||||
RoomNum sp4c[8];
|
||||
struct coord sp40;
|
||||
s32 result;
|
||||
|
||||
@@ -3540,18 +3540,18 @@ s32 cdExamCylMove06(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3
|
||||
return result;
|
||||
}
|
||||
|
||||
s32 cdExamCylMove07(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, u32 types, s32 arg5, f32 ymax, f32 ymin)
|
||||
s32 cdExamCylMove07(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, u32 types, s32 arg5, f32 ymax, f32 ymin)
|
||||
{
|
||||
s16 rooms[21];
|
||||
RoomNum rooms[21];
|
||||
|
||||
portal00018148(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
|
||||
return cdExamAToB(arg0, arg2, rooms, types, GEOFLAG_WALL, CHECKVERTICAL_NO, arg5, ymax, ymin);
|
||||
}
|
||||
|
||||
s32 cdExamCylMove08(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, f32 width, u32 types, s32 arg6, f32 ymax, f32 ymin)
|
||||
s32 cdExamCylMove08(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, f32 width, u32 types, s32 arg6, f32 ymax, f32 ymin)
|
||||
{
|
||||
s16 rooms[21];
|
||||
RoomNum rooms[21];
|
||||
struct coord sp40;
|
||||
s32 result;
|
||||
|
||||
@@ -3570,26 +3570,26 @@ s32 cdExamCylMove08(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3
|
||||
return result;
|
||||
}
|
||||
|
||||
bool cdTestLos03(struct coord *viewpos, s16 *rooms, struct coord *targetpos, u32 types, u16 geoflags)
|
||||
bool cdTestLos03(struct coord *viewpos, RoomNum *rooms, struct coord *targetpos, u32 types, u16 geoflags)
|
||||
{
|
||||
s16 sp44[21];
|
||||
s16 sp34[8];
|
||||
RoomNum sp44[21];
|
||||
RoomNum sp34[8];
|
||||
|
||||
portal00018148(viewpos, targetpos, rooms, sp34, sp44, 20);
|
||||
|
||||
return cdTestAToB(viewpos, targetpos, sp44, types, geoflags, CHECKVERTICAL_YES, 1, 0, 0);
|
||||
}
|
||||
|
||||
bool cdTestLos04(struct coord *frompos, s16 *fromrooms, struct coord *topos, s32 types)
|
||||
bool cdTestLos04(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, s32 types)
|
||||
{
|
||||
return cdTestLos03(frompos, fromrooms, topos, types, GEOFLAG_WALL | GEOFLAG_BLOCK_SIGHT | GEOFLAG_BLOCK_SHOOT);
|
||||
}
|
||||
|
||||
bool cdTestLos05(struct coord *coord, s16 *rooms, struct coord *coord2, s16 *rooms2, s32 types, u16 geoflags)
|
||||
bool cdTestLos05(struct coord *coord, RoomNum *rooms, struct coord *coord2, RoomNum *rooms2, s32 types, u16 geoflags)
|
||||
{
|
||||
bool result;
|
||||
s16 sp44[20];
|
||||
s16 sp34[8];
|
||||
RoomNum sp44[20];
|
||||
RoomNum sp34[8];
|
||||
|
||||
func0f065d1c(coord, rooms, coord2, sp34, sp44, 20);
|
||||
|
||||
@@ -3602,15 +3602,15 @@ bool cdTestLos05(struct coord *coord, s16 *rooms, struct coord *coord2, s16 *roo
|
||||
return result;
|
||||
}
|
||||
|
||||
bool cdTestLos06(struct coord *arg0, s16 *rooms1, struct coord *arg2, s16 *rooms2, u32 types)
|
||||
bool cdTestLos06(struct coord *arg0, RoomNum *rooms1, struct coord *arg2, RoomNum *rooms2, u32 types)
|
||||
{
|
||||
return cdTestLos05(arg0, rooms1, arg2, rooms2, types, GEOFLAG_WALL | GEOFLAG_BLOCK_SIGHT | GEOFLAG_BLOCK_SHOOT);
|
||||
}
|
||||
|
||||
bool cdTestLos07(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2, s16 *rooms3, u32 types, u16 geoflags)
|
||||
bool cdTestLos07(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *rooms2, RoomNum *rooms3, u32 types, u16 geoflags)
|
||||
{
|
||||
bool result;
|
||||
s16 sp34[20];
|
||||
RoomNum sp34[20];
|
||||
|
||||
func0f065d1c(pos, rooms, pos2, rooms3, sp34, 20);
|
||||
|
||||
@@ -3623,31 +3623,31 @@ bool cdTestLos07(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2,
|
||||
return result;
|
||||
}
|
||||
|
||||
s32 cdExamLos08(struct coord *pos, s16 *rooms, struct coord *pos2, u32 types, u16 geoflags)
|
||||
s32 cdExamLos08(struct coord *pos, RoomNum *rooms, struct coord *pos2, u32 types, u16 geoflags)
|
||||
{
|
||||
s16 sp44[21];
|
||||
s16 sp34[8];
|
||||
RoomNum sp44[21];
|
||||
RoomNum sp34[8];
|
||||
|
||||
portal00018148(pos, pos2, rooms, sp34, sp44, 20);
|
||||
|
||||
return cdExamAToB(pos, pos2, sp44, types, geoflags, CHECKVERTICAL_YES, 1, 0, 0);
|
||||
}
|
||||
|
||||
s32 cdExamLos09(struct coord *pos, s16 *rooms, struct coord *pos2, u32 types)
|
||||
s32 cdExamLos09(struct coord *pos, RoomNum *rooms, struct coord *pos2, u32 types)
|
||||
{
|
||||
return cdExamLos08(pos, rooms, pos2, types, GEOFLAG_WALL | GEOFLAG_BLOCK_SIGHT | GEOFLAG_BLOCK_SHOOT);
|
||||
}
|
||||
|
||||
s32 cdTestLos10(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, u32 types, u16 geoflags)
|
||||
s32 cdTestLos10(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, u32 types, u16 geoflags)
|
||||
{
|
||||
s16 rooms[21];
|
||||
RoomNum rooms[21];
|
||||
|
||||
portal00018148(arg0, arg2, arg1, arg3, rooms, 20);
|
||||
|
||||
return cdTestAToB(arg0, arg2, rooms, types, geoflags, CHECKVERTICAL_YES, 1, 0, 0);
|
||||
}
|
||||
|
||||
s32 cdTestLos11(struct coord *arg0, s16 *arg1, struct coord *arg2, s16 *arg3, u32 types)
|
||||
s32 cdTestLos11(struct coord *arg0, RoomNum *arg1, struct coord *arg2, RoomNum *arg3, u32 types)
|
||||
{
|
||||
return cdTestLos10(arg0, arg1, arg2, arg3, types, GEOFLAG_WALL | GEOFLAG_BLOCK_SIGHT | GEOFLAG_BLOCK_SHOOT);
|
||||
}
|
||||
@@ -3811,13 +3811,13 @@ s32 cdTestBlockOverlapsGeolist(u8 *start, u8 *end, struct geoblock *block, u16 g
|
||||
* and is also used in a sanity check to make sure a moved object hasn't moved
|
||||
* into the player's position.
|
||||
*/
|
||||
s32 cdTestBlockOverlapsAnyProp(struct geoblock *geo, s16 *rooms, u32 types)
|
||||
s32 cdTestBlockOverlapsAnyProp(struct geoblock *geo, RoomNum *rooms, u32 types)
|
||||
{
|
||||
s32 result = CDRESULT_NOCOLLISION;
|
||||
s32 roomnum;
|
||||
u8 *start;
|
||||
u8 *end;
|
||||
s16 *roomptr;
|
||||
RoomNum *roomptr;
|
||||
s16 propnums[256];
|
||||
s16 *propnumptr;
|
||||
|
||||
@@ -4065,7 +4065,7 @@ bool cd0002ed30(u8 *start, u8 *end, struct geoblock *block, s32 numvertices, str
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cd0002f02c(struct geoblock *block, s16 *rooms, s32 types)
|
||||
bool cd0002f02c(struct geoblock *block, RoomNum *rooms, s32 types)
|
||||
{
|
||||
s32 numvertices = block->header.numvertices;
|
||||
s32 i;
|
||||
@@ -4093,7 +4093,7 @@ bool cd0002f02c(struct geoblock *block, s16 *rooms, s32 types)
|
||||
}
|
||||
|
||||
if (types & CDTYPE_BG) {
|
||||
s16 *roomsptr = rooms;
|
||||
RoomNum *roomsptr = rooms;
|
||||
s32 roomnum = *roomsptr;
|
||||
|
||||
while (roomnum != -1) {
|
||||
@@ -4232,7 +4232,7 @@ void cd0002f2fc(u32 arg0, u32 arg1)
|
||||
// empty
|
||||
}
|
||||
|
||||
bool cdIsNearlyInSightWithFlags(struct coord *viewpos, s16 *rooms, struct coord *targetpos, f32 distance, s32 types, u16 geoflags)
|
||||
bool cdIsNearlyInSightWithFlags(struct coord *viewpos, RoomNum *rooms, struct coord *targetpos, f32 distance, s32 types, u16 geoflags)
|
||||
{
|
||||
struct coord diff;
|
||||
f32 x;
|
||||
@@ -4271,7 +4271,7 @@ bool cdIsNearlyInSightWithFlags(struct coord *viewpos, s16 *rooms, struct coord
|
||||
return false;
|
||||
}
|
||||
|
||||
bool cdIsNearlyInSight(struct coord *viewpos, s16 *rooms, struct coord *targetpos, f32 distance, s32 types)
|
||||
bool cdIsNearlyInSight(struct coord *viewpos, RoomNum *rooms, struct coord *targetpos, f32 distance, s32 types)
|
||||
{
|
||||
return cdIsNearlyInSightWithFlags(viewpos, rooms, targetpos, distance, types, GEOFLAG_BLOCK_SIGHT);
|
||||
}
|
||||
+5
-5
@@ -59,7 +59,7 @@ void portal00018e74nb(s32 portalnum)
|
||||
* The list is assumed to have 16 slots, with the last being reserved for the
|
||||
* -1 terminator.
|
||||
*/
|
||||
void portal00017dc4(s16 *rooms, s16 roomnum)
|
||||
void portal00017dc4(RoomNum *rooms, RoomNum roomnum)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -169,16 +169,16 @@ s32 portalCalculateIntersection(s32 portalnum, struct coord *pos1, struct coord
|
||||
: PORTALINTERSECTION_FRONTTOBEHIND;
|
||||
}
|
||||
|
||||
void portal00018148(struct coord *pos1, struct coord *pos2, s16 *rooms1, s16 *rooms2, s16 *rooms3, s32 arg5)
|
||||
void portal00018148(struct coord *pos1, struct coord *pos2, RoomNum *rooms1, RoomNum *rooms2, RoomNum *rooms3, s32 arg5)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 roomnum;
|
||||
s32 numportals;
|
||||
s16 *portalnums;
|
||||
s16 rooms9c[16];
|
||||
s16 rooms7c[16];
|
||||
s16 rooms5c[16];
|
||||
RoomNum rooms9c[16];
|
||||
RoomNum rooms7c[16];
|
||||
RoomNum rooms5c[16];
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
rooms9c[i] = rooms1[i];
|
||||
|
||||
Reference in new issue
Block a user