diff --git a/src/game/box.c b/src/game/box.c index 81935d193..8e6314146 100644 --- a/src/game/box.c +++ b/src/game/box.c @@ -127,7 +127,7 @@ void Box_TargetBox(LOT_INFO *lot, int16_t box_num) } } -bool Box_StalkBox(ITEM_INFO *item, int16_t box_num) +bool Box_StalkBox(ITEM *item, int16_t box_num) { BOX_INFO *box = &g_Boxes[box_num]; int32_t z = ((box->left + box->right) >> 1) - g_LaraItem->pos.z; @@ -156,7 +156,7 @@ bool Box_StalkBox(ITEM_INFO *item, int16_t box_num) return true; } -bool Box_EscapeBox(ITEM_INFO *item, int16_t box_num) +bool Box_EscapeBox(ITEM *item, int16_t box_num) { BOX_INFO *box = &g_Boxes[box_num]; int32_t z = ((box->left + box->right) >> 1) - g_LaraItem->pos.z; @@ -175,9 +175,9 @@ bool Box_EscapeBox(ITEM_INFO *item, int16_t box_num) return true; } -bool Box_ValidBox(ITEM_INFO *item, int16_t zone_num, int16_t box_num) +bool Box_ValidBox(ITEM *item, int16_t zone_num, int16_t box_num) { - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; int16_t *zone; if (creature->lot.fly) { @@ -205,7 +205,7 @@ bool Box_ValidBox(ITEM_INFO *item, int16_t zone_num, int16_t box_num) return true; } -TARGET_TYPE Box_CalculateTarget(XYZ_32 *target, ITEM_INFO *item, LOT_INFO *lot) +TARGET_TYPE Box_CalculateTarget(XYZ_32 *target, ITEM *item, LOT_INFO *lot) { int32_t left = 0; int32_t right = 0; @@ -425,7 +425,7 @@ bool Box_BadFloor( int32_t x, int32_t y, int32_t z, int16_t box_height, int16_t next_height, int16_t room_num, LOT_INFO *lot) { - const SECTOR_INFO *const sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *const sector = Room_GetSector(x, y, z, &room_num); if (sector->box == NO_BOX) { return true; } diff --git a/src/game/box.h b/src/game/box.h index 1babbd430..dc1b3f26e 100644 --- a/src/game/box.h +++ b/src/game/box.h @@ -8,10 +8,10 @@ bool Box_SearchLOT(LOT_INFO *lot, int32_t expansion); bool Box_UpdateLOT(LOT_INFO *lot, int32_t expansion); void Box_TargetBox(LOT_INFO *lot, int16_t box_num); -bool Box_StalkBox(ITEM_INFO *item, int16_t box_num); -bool Box_EscapeBox(ITEM_INFO *item, int16_t box_num); -bool Box_ValidBox(ITEM_INFO *item, int16_t zone_num, int16_t box_num); -TARGET_TYPE Box_CalculateTarget(XYZ_32 *target, ITEM_INFO *item, LOT_INFO *lot); +bool Box_StalkBox(ITEM *item, int16_t box_num); +bool Box_EscapeBox(ITEM *item, int16_t box_num); +bool Box_ValidBox(ITEM *item, int16_t zone_num, int16_t box_num); +TARGET_TYPE Box_CalculateTarget(XYZ_32 *target, ITEM *item, LOT_INFO *lot); bool Box_BadFloor( int32_t x, int32_t y, int32_t z, int16_t box_height, int16_t next_height, int16_t room_num, LOT_INFO *lot); diff --git a/src/game/camera.c b/src/game/camera.c index 1a1722a5c..27795b3e5 100644 --- a/src/game/camera.c +++ b/src/game/camera.c @@ -47,7 +47,7 @@ static void M_EnsureEnvironment(void); static bool M_BadPosition(int32_t x, int32_t y, int32_t z, int16_t room_num) { - const SECTOR_INFO *const sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *const sector = Room_GetSector(x, y, z, &room_num); return y >= Room_GetHeight(sector, x, y, z) || y <= Room_GetCeiling(sector, x, y, z); } @@ -58,7 +58,7 @@ static int32_t M_ShiftClamp(GAME_VECTOR *pos, int32_t clamp) int32_t y = pos->y; int32_t z = pos->z; - const SECTOR_INFO *const sector = Room_GetSector(x, y, z, &pos->room_num); + const SECTOR *const sector = Room_GetSector(x, y, z, &pos->room_num); const BOX_INFO *const box = &g_Boxes[sector->box]; if (z < box->left + clamp @@ -103,7 +103,7 @@ static void M_SmartShift( { LOS_Check(&g_Camera.target, ideal); - const ROOM_INFO *r = &g_RoomInfo[g_Camera.target.room_num]; + const ROOM *r = &g_RoomInfo[g_Camera.target.room_num]; int32_t z_sector = (g_Camera.target.z - r->z) >> WALL_SHIFT; int32_t x_sector = (g_Camera.target.x - r->x) >> WALL_SHIFT; @@ -297,7 +297,7 @@ static void M_Move(GAME_VECTOR *ideal, int32_t speed) g_ChunkyFlag = false; - const SECTOR_INFO *sector = Room_GetSector( + const SECTOR *sector = Room_GetSector( g_Camera.pos.x, g_Camera.pos.y, g_Camera.pos.z, &g_Camera.pos.room_num); int32_t height = Room_GetHeight(sector, g_Camera.pos.x, g_Camera.pos.y, g_Camera.pos.z) @@ -471,7 +471,7 @@ void Camera_Initialise(void) Camera_Update(); } -void Camera_Chase(ITEM_INFO *item) +void Camera_Chase(ITEM *item) { GAME_VECTOR ideal; @@ -505,7 +505,7 @@ void Camera_Chase(ITEM_INFO *item) } } -void Camera_Combat(ITEM_INFO *item) +void Camera_Combat(ITEM *item) { GAME_VECTOR ideal; @@ -541,7 +541,7 @@ void Camera_Combat(ITEM_INFO *item) M_Move(&ideal, g_Camera.speed); } -void Camera_Look(ITEM_INFO *item) +void Camera_Look(ITEM *item) { GAME_VECTOR old; GAME_VECTOR ideal; @@ -629,7 +629,7 @@ void Camera_Update(void) int32_t fixed_camera = g_Camera.item && (g_Camera.type == CAM_FIXED || g_Camera.type == CAM_HEAVY); - ITEM_INFO *item = fixed_camera ? g_Camera.item : g_LaraItem; + ITEM *item = fixed_camera ? g_Camera.item : g_LaraItem; const BOUNDS_16 *bounds = Item_GetBoundsAccurate(item); @@ -724,7 +724,7 @@ void Camera_Update(void) g_Camera.fixed_camera = 0; } - const SECTOR_INFO *const sector = Room_GetSector( + const SECTOR *const sector = Room_GetSector( g_Camera.target.x, g_Camera.target.y, g_Camera.target.z, &g_Camera.target.room_num); if (g_Camera.target.y > Room_GetHeight( diff --git a/src/game/camera.h b/src/game/camera.h index 7ecddb99a..432dee906 100644 --- a/src/game/camera.h +++ b/src/game/camera.h @@ -7,9 +7,9 @@ void Camera_Initialise(void); void Camera_Reset(void); void Camera_ResetPosition(void); -void Camera_Chase(ITEM_INFO *item); -void Camera_Combat(ITEM_INFO *item); -void Camera_Look(ITEM_INFO *item); +void Camera_Chase(ITEM *item); +void Camera_Combat(ITEM *item); +void Camera_Look(ITEM *item); void Camera_Fixed(void); void Camera_Update(void); void Camera_UpdateCutscene(void); diff --git a/src/game/carrier.c b/src/game/carrier.c index 1d813fca3..c96979dd8 100644 --- a/src/game/carrier.c +++ b/src/game/carrier.c @@ -22,7 +22,7 @@ static int16_t m_AnimatingCount = 0; -static ITEM_INFO *M_GetCarrier(int16_t item_num); +static ITEM *M_GetCarrier(int16_t item_num); static void M_AnimateDrop(CARRIED_ITEM *item); static const GAME_OBJECT_PAIR m_LegacyMap[] = { @@ -40,7 +40,7 @@ void Carrier_InitialiseLevel(int32_t level_num) for (int i = 0; i < level.item_drops.count; i++) { GAMEFLOW_DROP_ITEM_DATA *data = &level.item_drops.data[i]; - ITEM_INFO *item = M_GetCarrier(data->enemy_num); + ITEM *item = M_GetCarrier(data->enemy_num); if (!item) { LOG_WARNING("%d does not refer to a loaded item", data->enemy_num); continue; @@ -92,7 +92,7 @@ void Carrier_InitialiseLevel(int32_t level_num) } } -static ITEM_INFO *M_GetCarrier(int16_t item_num) +static ITEM *M_GetCarrier(int16_t item_num) { if (item_num < 0 || item_num >= g_LevelItemCount) { return NULL; @@ -100,7 +100,7 @@ static ITEM_INFO *M_GetCarrier(int16_t item_num) // Allow carried items to be allocated to holder objects (pods/statues), // but then have those items dropped by the actual creatures within. - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Object_IsObjectType(item->object_id, g_PlaceholderObjects)) { int16_t child_item_num = *(int16_t *)item->data; item = &g_Items[child_item_num]; @@ -115,7 +115,7 @@ static ITEM_INFO *M_GetCarrier(int16_t item_num) int32_t Carrier_GetItemCount(int16_t item_num) { - ITEM_INFO *carrier = M_GetCarrier(item_num); + ITEM *carrier = M_GetCarrier(item_num); if (!carrier) { return 0; } @@ -137,7 +137,7 @@ DROP_STATUS Carrier_GetSaveStatus(const CARRIED_ITEM *item) // This allows us to save drops as still being carried to allow accurate // placement again in Carrier_TestItemDrops on load. if (item->status == DS_DROPPED) { - ITEM_INFO *pickup = &g_Items[item->spawn_num]; + ITEM *pickup = &g_Items[item->spawn_num]; return pickup->status == IS_INVISIBLE ? DS_COLLECTED : DS_CARRIED; } else if (item->status == DS_FALLING) { return DS_CARRIED; @@ -148,7 +148,7 @@ DROP_STATUS Carrier_GetSaveStatus(const CARRIED_ITEM *item) void Carrier_TestItemDrops(int16_t item_num) { - ITEM_INFO *carrier = &g_Items[item_num]; + ITEM *carrier = &g_Items[item_num]; CARRIED_ITEM *item = carrier->carried_item; if (carrier->hit_points > 0 || !item || (carrier->object_id == O_PIERRE @@ -177,7 +177,7 @@ void Carrier_TestItemDrops(int16_t item_num) if (item->room_num != NO_ROOM) { // Handle reloading a save with a falling or landed item. - ITEM_INFO *pickup = &g_Items[item->spawn_num]; + ITEM *pickup = &g_Items[item->spawn_num]; pickup->pos = item->pos; pickup->fall_speed = item->fall_speed; if (pickup->room_num != item->room_num) { @@ -190,7 +190,7 @@ void Carrier_TestItemDrops(int16_t item_num) void Carrier_TestLegacyDrops(int16_t item_num) { - ITEM_INFO *carrier = &g_Items[item_num]; + ITEM *carrier = &g_Items[item_num]; if (carrier->hit_points > 0) { return; } @@ -224,7 +224,7 @@ void Carrier_AnimateDrops(void) // Make items that spawn in mid-air or water gracefully fall to the floor. for (int i = 0; i < g_LevelItemCount; i++) { - ITEM_INFO *carrier = &g_Items[i]; + ITEM *carrier = &g_Items[i]; CARRIED_ITEM *item = carrier->carried_item; while (item) { M_AnimateDrop(item); @@ -239,9 +239,9 @@ static void M_AnimateDrop(CARRIED_ITEM *item) return; } - ITEM_INFO *const pickup = &g_Items[item->spawn_num]; + ITEM *const pickup = &g_Items[item->spawn_num]; int16_t room_num = pickup->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(pickup->pos.x, pickup->pos.y, pickup->pos.z, &room_num); const int16_t height = Room_GetHeight(sector, pickup->pos.x, pickup->pos.y, pickup->pos.z); diff --git a/src/game/collide.c b/src/game/collide.c index 60e82fad0..b24257392 100644 --- a/src/game/collide.c +++ b/src/game/collide.c @@ -27,7 +27,7 @@ void Collide_GetCollisionInfo( int32_t z = zpos; int32_t ytop = y - 160; - const SECTOR_INFO *sector = Room_GetSector(x, ytop, z, &room_num); + const SECTOR *sector = Room_GetSector(x, ytop, z, &room_num); int32_t height = Room_GetHeight(sector, x, ytop, z); int32_t room_height = height; if (height != NO_HEIGHT) { @@ -342,8 +342,8 @@ bool Collide_CollideStaticObjects( for (int i = 0; i < g_RoomsToDrawCount; i++) { int16_t room_num = g_RoomsToDraw[i]; - ROOM_INFO *r = &g_RoomInfo[room_num]; - MESH_INFO *mesh = r->mesh; + ROOM *r = &g_RoomInfo[room_num]; + MESH *mesh = r->mesh; for (int j = 0; j < r->num_meshes; j++, mesh++) { STATIC_INFO *sinfo = &g_StaticObjects[mesh->static_num]; @@ -485,7 +485,7 @@ bool Collide_CollideStaticObjects( return false; } -int32_t Collide_GetSpheres(ITEM_INFO *item, SPHERE *ptr, int32_t world_space) +int32_t Collide_GetSpheres(ITEM *item, SPHERE *ptr, int32_t world_space) { static int16_t null_rotation[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -517,7 +517,7 @@ int32_t Collide_GetSpheres(ITEM_INFO *item, SPHERE *ptr, int32_t world_space) int32_t *packed_rotation = frame->mesh_rots; Matrix_RotYXZpack(*packed_rotation++); - OBJECT_INFO *object = &g_Objects[item->object_id]; + OBJECT *object = &g_Objects[item->object_id]; int16_t **meshpp = &g_Meshes[object->mesh_idx]; int32_t *bone = &g_AnimBones[object->bone_idx]; @@ -571,7 +571,7 @@ int32_t Collide_GetSpheres(ITEM_INFO *item, SPHERE *ptr, int32_t world_space) return object->nmeshes; } -int32_t Collide_TestCollision(ITEM_INFO *item, ITEM_INFO *lara_item) +int32_t Collide_TestCollision(ITEM *item, ITEM *lara_item) { SPHERE slist_baddie[34]; SPHERE slist_lara[34]; @@ -607,9 +607,9 @@ int32_t Collide_TestCollision(ITEM_INFO *item, ITEM_INFO *lara_item) return flags; } -void Collide_GetJointAbsPosition(ITEM_INFO *item, XYZ_32 *vec, int32_t joint) +void Collide_GetJointAbsPosition(ITEM *item, XYZ_32 *vec, int32_t joint) { - OBJECT_INFO *object = &g_Objects[item->object_id]; + OBJECT *object = &g_Objects[item->object_id]; Matrix_PushUnit(); Matrix_RotYXZ(item->rot.y, item->rot.x, item->rot.z); diff --git a/src/game/collide.h b/src/game/collide.h index a00d9f366..e788bd005 100644 --- a/src/game/collide.h +++ b/src/game/collide.h @@ -13,8 +13,8 @@ bool Collide_CollideStaticObjects( COLL_INFO *coll, int32_t x, int32_t y, int32_t z, int16_t room_num, int32_t height); -int32_t Collide_GetSpheres(ITEM_INFO *item, SPHERE *slist, int32_t world_space); +int32_t Collide_GetSpheres(ITEM *item, SPHERE *slist, int32_t world_space); -int32_t Collide_TestCollision(ITEM_INFO *item, ITEM_INFO *lara_item); +int32_t Collide_TestCollision(ITEM *item, ITEM *lara_item); -void Collide_GetJointAbsPosition(ITEM_INFO *item, XYZ_32 *vec, int32_t joint); +void Collide_GetJointAbsPosition(ITEM *item, XYZ_32 *vec, int32_t joint); diff --git a/src/game/creature.c b/src/game/creature.c index 8e9643fce..5c6f2fc29 100644 --- a/src/game/creature.c +++ b/src/game/creature.c @@ -30,16 +30,16 @@ static bool M_TestSwitchOrKill(int16_t item_num, GAME_OBJECT_ID target_id); void Creature_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; item->rot.y += (PHD_ANGLE)((Random_GetControl() - PHD_90) >> 1); item->collidable = 1; item->data = NULL; } -void Creature_AIInfo(ITEM_INFO *item, AI_INFO *info) +void Creature_AIInfo(ITEM *item, AI_INFO *info) { - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; if (!creature) { return; } @@ -53,7 +53,7 @@ void Creature_AIInfo(ITEM_INFO *item, AI_INFO *info) zone = g_GroundZone2[g_FlipStatus]; } - const ROOM_INFO *r = &g_RoomInfo[item->room_num]; + const ROOM *r = &g_RoomInfo[item->room_num]; int32_t z_sector = (item->pos.z - r->z) >> WALL_SHIFT; int32_t x_sector = (item->pos.x - r->x) >> WALL_SHIFT; item->box_num = r->sectors[z_sector + x_sector * r->z_size].box; @@ -73,7 +73,7 @@ void Creature_AIInfo(ITEM_INFO *item, AI_INFO *info) info->enemy_zone |= BLOCKED; } - OBJECT_INFO *object = &g_Objects[item->object_id]; + OBJECT *object = &g_Objects[item->object_id]; int32_t z = g_LaraItem->pos.z - ((Math_Cos(item->rot.y) * object->pivot_length) >> W2V_SHIFT) - item->pos.z; @@ -93,9 +93,9 @@ void Creature_AIInfo(ITEM_INFO *item, AI_INFO *info) && (g_LaraItem->pos.y < item->pos.y + STEP_L); } -void Creature_Mood(ITEM_INFO *item, AI_INFO *info, bool violent) +void Creature_Mood(ITEM *item, AI_INFO *info, bool violent) { - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; if (!creature) { return; } @@ -259,9 +259,9 @@ void Creature_Mood(ITEM_INFO *item, AI_INFO *info, bool violent) Box_CalculateTarget(&creature->target, item, &creature->lot); } -int16_t Creature_Turn(ITEM_INFO *item, int16_t maximum_turn) +int16_t Creature_Turn(ITEM *item, int16_t maximum_turn) { - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; if (!creature) { return 0; } @@ -292,7 +292,7 @@ int16_t Creature_Turn(ITEM_INFO *item, int16_t maximum_turn) return angle; } -void Creature_Tilt(ITEM_INFO *item, int16_t angle) +void Creature_Tilt(ITEM *item, int16_t angle) { angle = angle * 4 - item->rot.z; if (angle < -MAX_TILT) { @@ -303,9 +303,9 @@ void Creature_Tilt(ITEM_INFO *item, int16_t angle) item->rot.z += angle; } -void Creature_Head(ITEM_INFO *item, int16_t required) +void Creature_Head(ITEM *item, int16_t required) { - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; if (!creature) { return; } @@ -327,7 +327,7 @@ void Creature_Head(ITEM_INFO *item, int16_t required) } int16_t Creature_Effect( - ITEM_INFO *item, BITE_INFO *bite, + ITEM *item, BITE *bite, int16_t (*spawn)( int32_t x, int32_t y, int32_t z, int16_t speed, int16_t yrot, int16_t room_num)) @@ -343,7 +343,7 @@ int16_t Creature_Effect( bool Creature_CheckBaddieOverlap(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; int32_t x = item->pos.x; int32_t y = item->pos.y; @@ -373,9 +373,9 @@ bool Creature_CheckBaddieOverlap(int16_t item_num) return false; } -void Creature_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Creature_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (!Lara_TestBoundsCollide(item, coll->radius)) { return; @@ -395,8 +395,8 @@ void Creature_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) bool Creature_Animate(int16_t item_num, int16_t angle, int16_t tilt) { - ITEM_INFO *item = &g_Items[item_num]; - CREATURE_INFO *creature = item->data; + ITEM *item = &g_Items[item_num]; + CREATURE *creature = item->data; if (!creature) { return false; } @@ -433,7 +433,7 @@ bool Creature_Animate(int16_t item_num, int16_t angle, int16_t tilt) int32_t y = item->pos.y + bounds->min.y; int16_t room_num = item->room_num; - const SECTOR_INFO *sector = + const SECTOR *sector = Room_GetSector(item->pos.x, y, item->pos.z, &room_num); int32_t height = g_Boxes[sector->box].height; int16_t next_box = lot->node[sector->box].exit_box; @@ -660,7 +660,7 @@ bool Creature_Animate(int16_t item_num, int16_t angle, int16_t tilt) return true; } -bool Creature_CanTargetEnemy(ITEM_INFO *item, AI_INFO *info) +bool Creature_CanTargetEnemy(ITEM *item, AI_INFO *info) { if (!info->ahead || info->distance >= CREATURE_SHOOT_RANGE) { return false; @@ -681,7 +681,7 @@ bool Creature_CanTargetEnemy(ITEM_INFO *item, AI_INFO *info) } bool Creature_ShootAtLara( - ITEM_INFO *item, int32_t distance, BITE_INFO *gun, int16_t extra_rotation, + ITEM *item, int32_t distance, BITE *gun, int16_t extra_rotation, int16_t damage) { bool hit; @@ -717,7 +717,7 @@ bool Creature_EnsureHabitat( { // Test the environment for a hybrid creature. Record the water height and // return whether or not a type conversion has taken place. - const ITEM_INFO *const item = &g_Items[item_num]; + const ITEM *const item = &g_Items[item_num]; *wh = Room_GetWaterHeight( item->pos.x, item->pos.y, item->pos.z, item->room_num); @@ -728,7 +728,7 @@ bool Creature_EnsureHabitat( bool Creature_IsBoss(const int16_t item_num) { - const ITEM_INFO *const item = &g_Items[item_num]; + const ITEM *const item = &g_Items[item_num]; return Object_IsObjectType(item->object_id, g_BossObjects); } @@ -740,7 +740,7 @@ static bool M_SwitchToWater( return false; } - ITEM_INFO *const item = &g_Items[item_num]; + ITEM *const item = &g_Items[item_num]; if (item->hit_points <= 0) { // Dead land creatures should remain in their pose permanently. @@ -774,7 +774,7 @@ static bool M_SwitchToLand( return false; } - ITEM_INFO *const item = &g_Items[item_num]; + ITEM *const item = &g_Items[item_num]; // Switch to the land creature regardless of death state. item->object_id = info->land.id; @@ -791,7 +791,7 @@ static bool M_SwitchToLand( item->goal_anim_state = item->current_anim_state; int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &room_num); item->floor = Room_GetHeight(sector, item->pos.x, item->pos.y, item->pos.z); @@ -819,12 +819,12 @@ static bool M_TestSwitchOrKill( return false; } -bool Creature_IsEnemy(const ITEM_INFO *const item) +bool Creature_IsEnemy(const ITEM *const item) { return Object_IsObjectType(item->object_id, g_EnemyObjects); } -bool Creature_IsAlly(const ITEM_INFO *const item) +bool Creature_IsAlly(const ITEM *const item) { return Object_IsObjectType(item->object_id, g_AllyObjects); } diff --git a/src/game/creature.h b/src/game/creature.h index b519d11d7..5df9b0b4d 100644 --- a/src/game/creature.h +++ b/src/game/creature.h @@ -11,7 +11,7 @@ #define CREATURE_SHOOT_RANGE SQUARE(WALL_L * 7) // = 51380224 #define CREATURE_MISS_CHANCE 0x2000 -typedef struct HYBRID_INFO { +typedef struct { struct { GAME_OBJECT_ID id; int16_t active_anim; @@ -25,23 +25,22 @@ typedef struct HYBRID_INFO { } HYBRID_INFO; void Creature_Initialise(int16_t item_num); -void Creature_AIInfo(ITEM_INFO *item, AI_INFO *info); -void Creature_Mood(ITEM_INFO *item, AI_INFO *info, bool violent); -int16_t Creature_Turn(ITEM_INFO *item, int16_t maximum_turn); -void Creature_Tilt(ITEM_INFO *item, int16_t angle); -void Creature_Head(ITEM_INFO *item, int16_t required); +void Creature_AIInfo(ITEM *item, AI_INFO *info); +void Creature_Mood(ITEM *item, AI_INFO *info, bool violent); +int16_t Creature_Turn(ITEM *item, int16_t maximum_turn); +void Creature_Tilt(ITEM *item, int16_t angle); +void Creature_Head(ITEM *item, int16_t required); int16_t Creature_Effect( - ITEM_INFO *item, BITE_INFO *bite, + ITEM *item, BITE *bite, int16_t (*spawn)( int32_t x, int32_t y, int32_t z, int16_t speed, int16_t yrot, int16_t room_num)); bool Creature_CheckBaddieOverlap(int16_t item_num); -void Creature_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void Creature_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); bool Creature_Animate(int16_t item_num, int16_t angle, int16_t tilt); -bool Creature_CanTargetEnemy(ITEM_INFO *item, AI_INFO *info); +bool Creature_CanTargetEnemy(ITEM *item, AI_INFO *info); bool Creature_ShootAtLara( - ITEM_INFO *item, int32_t distance, BITE_INFO *gun, int16_t extra_rotation, + ITEM *item, int32_t distance, BITE *gun, int16_t extra_rotation, int16_t damage); bool Creature_EnsureHabitat( int16_t item_num, int32_t *wh, const HYBRID_INFO *info); diff --git a/src/game/effect_routines/bubbles.c b/src/game/effect_routines/bubbles.c index 4ae1f8285..94b5225d0 100644 --- a/src/game/effect_routines/bubbles.c +++ b/src/game/effect_routines/bubbles.c @@ -9,7 +9,7 @@ #include -void FX_Bubbles(ITEM_INFO *item) +void FX_Bubbles(ITEM *item) { // XXX: until we get Robolara, it makes sense for her to breathe underwater if (g_Lara.water_status == LWS_CHEAT @@ -34,7 +34,7 @@ void FX_Bubbles(ITEM_INFO *item) for (int i = 0; i < count; i++) { int16_t fx_num = Effect_Create(item->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = offset.x; fx->pos.y = offset.y; fx->pos.z = offset.z; diff --git a/src/game/effect_routines/bubbles.h b/src/game/effect_routines/bubbles.h index 56b0097b0..1bf2c6533 100644 --- a/src/game/effect_routines/bubbles.h +++ b/src/game/effect_routines/bubbles.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_Bubbles(ITEM_INFO *item); +void FX_Bubbles(ITEM *item); diff --git a/src/game/effect_routines/chain_block.c b/src/game/effect_routines/chain_block.c index 0627c054b..bb16faebe 100644 --- a/src/game/effect_routines/chain_block.c +++ b/src/game/effect_routines/chain_block.c @@ -6,7 +6,7 @@ #include -void FX_ChainBlock(ITEM_INFO *item) +void FX_ChainBlock(ITEM *item) { if (g_Config.fix_tihocan_secret_sound) { if (g_FlipTimer == 0) { diff --git a/src/game/effect_routines/chain_block.h b/src/game/effect_routines/chain_block.h index b0997aa22..d3279a5f4 100644 --- a/src/game/effect_routines/chain_block.h +++ b/src/game/effect_routines/chain_block.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_ChainBlock(ITEM_INFO *item); +void FX_ChainBlock(ITEM *item); diff --git a/src/game/effect_routines/dino_stomp.c b/src/game/effect_routines/dino_stomp.c index 6ab76a4a6..17efa9231 100644 --- a/src/game/effect_routines/dino_stomp.c +++ b/src/game/effect_routines/dino_stomp.c @@ -9,7 +9,7 @@ #define MAX_BOUNCE 100 -void FX_DinoStomp(ITEM_INFO *item) +void FX_DinoStomp(ITEM *item) { int32_t dx = item->pos.x - g_Camera.pos.x; int32_t dy = item->pos.y - g_Camera.pos.y; diff --git a/src/game/effect_routines/dino_stomp.h b/src/game/effect_routines/dino_stomp.h index ca0c2c560..1b7db8db1 100644 --- a/src/game/effect_routines/dino_stomp.h +++ b/src/game/effect_routines/dino_stomp.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_DinoStomp(ITEM_INFO *item); +void FX_DinoStomp(ITEM *item); diff --git a/src/game/effect_routines/earthquake.c b/src/game/effect_routines/earthquake.c index e6fbfedb0..484b9a520 100644 --- a/src/game/effect_routines/earthquake.c +++ b/src/game/effect_routines/earthquake.c @@ -6,7 +6,7 @@ #include -void FX_Earthquake(ITEM_INFO *item) +void FX_Earthquake(ITEM *item) { if (g_FlipTimer == 0) { Sound_Effect(SFX_EXPLOSION, NULL, SPM_NORMAL); diff --git a/src/game/effect_routines/earthquake.h b/src/game/effect_routines/earthquake.h index 17368aa84..f1aab075f 100644 --- a/src/game/effect_routines/earthquake.h +++ b/src/game/effect_routines/earthquake.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_Earthquake(ITEM_INFO *item); +void FX_Earthquake(ITEM *item); diff --git a/src/game/effect_routines/explosion.c b/src/game/effect_routines/explosion.c index b1786e32a..5695c9e73 100644 --- a/src/game/effect_routines/explosion.c +++ b/src/game/effect_routines/explosion.c @@ -6,7 +6,7 @@ #include -void FX_Explosion(ITEM_INFO *item) +void FX_Explosion(ITEM *item) { Sound_Effect(SFX_EXPLOSION_FX, NULL, SPM_NORMAL); g_Camera.bounce = -75; diff --git a/src/game/effect_routines/explosion.h b/src/game/effect_routines/explosion.h index dc1d46b04..5efe3f4f0 100644 --- a/src/game/effect_routines/explosion.h +++ b/src/game/effect_routines/explosion.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_Explosion(ITEM_INFO *item); +void FX_Explosion(ITEM *item); diff --git a/src/game/effect_routines/finish_level.c b/src/game/effect_routines/finish_level.c index 09f7be07b..d620afa5a 100644 --- a/src/game/effect_routines/finish_level.c +++ b/src/game/effect_routines/finish_level.c @@ -4,7 +4,7 @@ #include -void FX_FinishLevel(ITEM_INFO *item) +void FX_FinishLevel(ITEM *item) { g_LevelComplete = true; } diff --git a/src/game/effect_routines/finish_level.h b/src/game/effect_routines/finish_level.h index 58429d047..b2cf28915 100644 --- a/src/game/effect_routines/finish_level.h +++ b/src/game/effect_routines/finish_level.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_FinishLevel(ITEM_INFO *item); +void FX_FinishLevel(ITEM *item); diff --git a/src/game/effect_routines/flicker.c b/src/game/effect_routines/flicker.c index d5129083d..09c61c74c 100644 --- a/src/game/effect_routines/flicker.c +++ b/src/game/effect_routines/flicker.c @@ -2,7 +2,7 @@ #include "game/room.h" -void FX_Flicker(ITEM_INFO *item) +void FX_Flicker(ITEM *item) { if (g_FlipTimer > 125) { Room_FlipMap(); diff --git a/src/game/effect_routines/flicker.h b/src/game/effect_routines/flicker.h index 80f42e9c1..9ec40b0ae 100644 --- a/src/game/effect_routines/flicker.h +++ b/src/game/effect_routines/flicker.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_Flicker(ITEM_INFO *item); +void FX_Flicker(ITEM *item); diff --git a/src/game/effect_routines/flipmap.c b/src/game/effect_routines/flipmap.c index bc6027de2..2d095df55 100644 --- a/src/game/effect_routines/flipmap.c +++ b/src/game/effect_routines/flipmap.c @@ -2,7 +2,7 @@ #include "game/room.h" -void FX_FlipMap(ITEM_INFO *item) +void FX_FlipMap(ITEM *item) { Room_FlipMap(); } diff --git a/src/game/effect_routines/flipmap.h b/src/game/effect_routines/flipmap.h index 2e96284f0..ea254b37f 100644 --- a/src/game/effect_routines/flipmap.h +++ b/src/game/effect_routines/flipmap.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_FlipMap(ITEM_INFO *item); +void FX_FlipMap(ITEM *item); diff --git a/src/game/effect_routines/flood.c b/src/game/effect_routines/flood.c index 62d1b64e9..921b7ee24 100644 --- a/src/game/effect_routines/flood.c +++ b/src/game/effect_routines/flood.c @@ -7,7 +7,7 @@ #include -void FX_Flood(ITEM_INFO *item) +void FX_Flood(ITEM *item) { if (g_FlipTimer > LOGIC_FPS * 4) { g_FlipEffect = -1; diff --git a/src/game/effect_routines/flood.h b/src/game/effect_routines/flood.h index fe64f7f34..1b193b051 100644 --- a/src/game/effect_routines/flood.h +++ b/src/game/effect_routines/flood.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_Flood(ITEM_INFO *item); +void FX_Flood(ITEM *item); diff --git a/src/game/effect_routines/lara_effects.c b/src/game/effect_routines/lara_effects.c index ae4e49763..f0f44dc55 100644 --- a/src/game/effect_routines/lara_effects.c +++ b/src/game/effect_routines/lara_effects.c @@ -8,7 +8,7 @@ #include -void FX_LaraNormal(ITEM_INFO *item) +void FX_LaraNormal(ITEM *item) { item->current_anim_state = LS_STOP; item->goal_anim_state = LS_STOP; @@ -17,16 +17,16 @@ void FX_LaraNormal(ITEM_INFO *item) Viewport_SetFOV(Viewport_GetUserFOV()); } -void FX_LaraHandsFree(ITEM_INFO *item) +void FX_LaraHandsFree(ITEM *item) { g_Lara.gun_status = LGS_ARMLESS; } -void FX_LaraDrawRightGun(ITEM_INFO *item) +void FX_LaraDrawRightGun(ITEM *item) { int16_t *tmp_mesh; - OBJECT_INFO *obj = &g_Objects[item->object_id]; - OBJECT_INFO *obj2 = &g_Objects[O_PISTOL_ANIM]; + OBJECT *obj = &g_Objects[item->object_id]; + OBJECT *obj2 = &g_Objects[O_PISTOL_ANIM]; SWAP( g_Meshes[obj->mesh_idx + LM_THIGH_R], diff --git a/src/game/effect_routines/lara_effects.h b/src/game/effect_routines/lara_effects.h index 5a7c2b87d..4a391b2ab 100644 --- a/src/game/effect_routines/lara_effects.h +++ b/src/game/effect_routines/lara_effects.h @@ -2,6 +2,6 @@ #include "global/types.h" -void FX_LaraNormal(ITEM_INFO *item); -void FX_LaraHandsFree(ITEM_INFO *item); -void FX_LaraDrawRightGun(ITEM_INFO *item); +void FX_LaraNormal(ITEM *item); +void FX_LaraHandsFree(ITEM *item); +void FX_LaraDrawRightGun(ITEM *item); diff --git a/src/game/effect_routines/powerup.c b/src/game/effect_routines/powerup.c index ec712375d..9a7ce428b 100644 --- a/src/game/effect_routines/powerup.c +++ b/src/game/effect_routines/powerup.c @@ -5,7 +5,7 @@ #include "global/const.h" #include "global/vars.h" -void FX_PowerUp(ITEM_INFO *item) +void FX_PowerUp(ITEM *item) { if (g_FlipTimer > LOGIC_FPS * 4) { g_FlipEffect = -1; diff --git a/src/game/effect_routines/powerup.h b/src/game/effect_routines/powerup.h index 77357ce02..84a878a49 100644 --- a/src/game/effect_routines/powerup.h +++ b/src/game/effect_routines/powerup.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_PowerUp(ITEM_INFO *item); +void FX_PowerUp(ITEM *item); diff --git a/src/game/effect_routines/raising_block.c b/src/game/effect_routines/raising_block.c index e09ac5d16..fc0692332 100644 --- a/src/game/effect_routines/raising_block.c +++ b/src/game/effect_routines/raising_block.c @@ -5,7 +5,7 @@ #include -void FX_RaisingBlock(ITEM_INFO *item) +void FX_RaisingBlock(ITEM *item) { Sound_Effect(SFX_RAISINGBLOCK_FX, NULL, SPM_NORMAL); g_FlipEffect = -1; diff --git a/src/game/effect_routines/raising_block.h b/src/game/effect_routines/raising_block.h index 67646a3fb..4504b3b24 100644 --- a/src/game/effect_routines/raising_block.h +++ b/src/game/effect_routines/raising_block.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_RaisingBlock(ITEM_INFO *item); +void FX_RaisingBlock(ITEM *item); diff --git a/src/game/effect_routines/sand.c b/src/game/effect_routines/sand.c index 2dcff3273..983c44dd3 100644 --- a/src/game/effect_routines/sand.c +++ b/src/game/effect_routines/sand.c @@ -7,7 +7,7 @@ #include -void FX_DropSand(ITEM_INFO *item) +void FX_DropSand(ITEM *item) { if (g_FlipTimer > LOGIC_FPS * 4) { g_FlipEffect = -1; diff --git a/src/game/effect_routines/sand.h b/src/game/effect_routines/sand.h index b85e81edb..053408f7e 100644 --- a/src/game/effect_routines/sand.h +++ b/src/game/effect_routines/sand.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_DropSand(ITEM_INFO *item); +void FX_DropSand(ITEM *item); diff --git a/src/game/effect_routines/stairs2slope.c b/src/game/effect_routines/stairs2slope.c index d9ff64702..f6802bb45 100644 --- a/src/game/effect_routines/stairs2slope.c +++ b/src/game/effect_routines/stairs2slope.c @@ -5,7 +5,7 @@ #include -void FX_Stairs2Slope(ITEM_INFO *item) +void FX_Stairs2Slope(ITEM *item) { if (g_FlipTimer == 5) { Sound_Effect(SFX_STAIRS2SLOPE_FX, NULL, SPM_NORMAL); diff --git a/src/game/effect_routines/stairs2slope.h b/src/game/effect_routines/stairs2slope.h index 832e300dc..fecf613d1 100644 --- a/src/game/effect_routines/stairs2slope.h +++ b/src/game/effect_routines/stairs2slope.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_Stairs2Slope(ITEM_INFO *item); +void FX_Stairs2Slope(ITEM *item); diff --git a/src/game/effect_routines/turn_180.c b/src/game/effect_routines/turn_180.c index ddcd66fce..b9dae7c8f 100644 --- a/src/game/effect_routines/turn_180.c +++ b/src/game/effect_routines/turn_180.c @@ -2,7 +2,7 @@ #include "global/const.h" -void FX_Turn180(ITEM_INFO *item) +void FX_Turn180(ITEM *item) { item->rot.y += PHD_180; item->rot.x *= -1; diff --git a/src/game/effect_routines/turn_180.h b/src/game/effect_routines/turn_180.h index dff9b429e..091d3771c 100644 --- a/src/game/effect_routines/turn_180.h +++ b/src/game/effect_routines/turn_180.h @@ -2,4 +2,4 @@ #include "global/types.h" -void FX_Turn180(ITEM_INFO *item); +void FX_Turn180(ITEM *item); diff --git a/src/game/effects.c b/src/game/effects.c index 9891303a9..16893b386 100644 --- a/src/game/effects.c +++ b/src/game/effects.c @@ -9,7 +9,7 @@ #include -FX_INFO *g_Effects = NULL; +FX *g_Effects = NULL; int16_t g_NextFxActive = NO_ITEM; static int16_t m_NextFxFree = NO_ITEM; @@ -30,8 +30,8 @@ void Effect_Control(void) { int16_t fx_num = g_NextFxActive; while (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; - OBJECT_INFO *obj = &g_Objects[fx->object_id]; + FX *fx = &g_Effects[fx_num]; + OBJECT *obj = &g_Objects[fx->object_id]; if (obj->control) { obj->control(fx_num); } @@ -46,10 +46,10 @@ int16_t Effect_Create(int16_t room_num) return fx_num; } - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; m_NextFxFree = fx->next_free; - ROOM_INFO *r = &g_RoomInfo[room_num]; + ROOM *r = &g_RoomInfo[room_num]; fx->room_num = room_num; fx->next_draw = r->fx_num; r->fx_num = fx_num; @@ -62,14 +62,14 @@ int16_t Effect_Create(int16_t room_num) void Effect_Kill(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; if (g_NextFxActive == fx_num) { g_NextFxActive = fx->next_active; } else { int16_t linknum = g_NextFxActive; while (linknum != NO_ITEM) { - FX_INFO *fx_link = &g_Effects[linknum]; + FX *fx_link = &g_Effects[linknum]; if (fx_link->next_active == fx_num) { fx_link->next_active = fx->next_active; } @@ -77,13 +77,13 @@ void Effect_Kill(int16_t fx_num) } } - ROOM_INFO *r = &g_RoomInfo[fx->room_num]; + ROOM *r = &g_RoomInfo[fx->room_num]; if (r->fx_num == fx_num) { r->fx_num = fx->next_draw; } else { int16_t linknum = r->fx_num; while (linknum != NO_ITEM) { - FX_INFO *fx_link = &g_Effects[linknum]; + FX *fx_link = &g_Effects[linknum]; if (fx_link->next_draw == fx_num) { fx_link->next_draw = fx->next_draw; break; @@ -98,8 +98,8 @@ void Effect_Kill(int16_t fx_num) void Effect_NewRoom(int16_t fx_num, int16_t room_num) { - FX_INFO *fx = &g_Effects[fx_num]; - ROOM_INFO *r = &g_RoomInfo[fx->room_num]; + FX *fx = &g_Effects[fx_num]; + ROOM *r = &g_RoomInfo[fx->room_num]; int16_t linknum = r->fx_num; if (linknum == fx_num) { @@ -121,8 +121,8 @@ void Effect_NewRoom(int16_t fx_num, int16_t room_num) void Effect_Draw(const int16_t fxnum) { - const FX_INFO *const fx = &g_Effects[fxnum]; - const OBJECT_INFO *const object = &g_Objects[fx->object_id]; + const FX *const fx = &g_Effects[fxnum]; + const OBJECT *const object = &g_Objects[fx->object_id]; if (!object->loaded) { return; } diff --git a/src/game/effects.h b/src/game/effects.h index 25a5b64f5..37fc6256e 100644 --- a/src/game/effects.h +++ b/src/game/effects.h @@ -4,7 +4,7 @@ #include -extern FX_INFO *g_Effects; +extern FX *g_Effects; extern int16_t g_NextFxActive; void Effect_InitialiseArray(void); diff --git a/src/game/effects/blood.c b/src/game/effects/blood.c index 4afa87e25..0ede50ffc 100644 --- a/src/game/effects/blood.c +++ b/src/game/effects/blood.c @@ -10,7 +10,7 @@ int16_t Effect_Blood( { int16_t fx_num = Effect_Create(room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = x; fx->pos.y = y; fx->pos.z = z; diff --git a/src/game/effects/exploding_death.c b/src/game/effects/exploding_death.c index eb1645af4..99f2950cf 100644 --- a/src/game/effects/exploding_death.c +++ b/src/game/effects/exploding_death.c @@ -11,8 +11,8 @@ int32_t Effect_ExplodingDeath( int16_t item_num, int32_t mesh_bits, int16_t damage) { - ITEM_INFO *item = &g_Items[item_num]; - OBJECT_INFO *object = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + OBJECT *object = &g_Objects[item->object_id]; const FRAME_INFO *const frame = Item_GetBestFrame(item); @@ -34,7 +34,7 @@ int32_t Effect_ExplodingDeath( if ((bit & mesh_bits) && (bit & item->mesh_bits)) { int16_t fx_num = Effect_Create(item->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->room_num = item->room_num; fx->pos.x = (g_MatrixPtr->_03 >> W2V_SHIFT) + item->pos.x; fx->pos.y = (g_MatrixPtr->_13 >> W2V_SHIFT) + item->pos.y; @@ -86,7 +86,7 @@ int32_t Effect_ExplodingDeath( if ((bit & mesh_bits) && (bit & item->mesh_bits)) { int16_t fx_num = Effect_Create(item->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->room_num = item->room_num; fx->pos.x = (g_MatrixPtr->_03 >> W2V_SHIFT) + item->pos.x; fx->pos.y = (g_MatrixPtr->_13 >> W2V_SHIFT) + item->pos.y; diff --git a/src/game/effects/gun.c b/src/game/effects/gun.c index ac2d91bc5..edf92b7b6 100644 --- a/src/game/effects/gun.c +++ b/src/game/effects/gun.c @@ -12,9 +12,9 @@ #define SHARD_SPEED 250 #define ROCKET_SPEED 220 -static void M_ShootAtLara(FX_INFO *fx); +static void M_ShootAtLara(FX *fx); -void M_ShootAtLara(FX_INFO *fx) +void M_ShootAtLara(FX *fx) { int32_t x = g_LaraItem->pos.x - fx->pos.x; int32_t y = g_LaraItem->pos.y - fx->pos.y; @@ -36,7 +36,7 @@ int16_t Effect_ShardGun( { int16_t fx_num = Effect_Create(room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->room_num = room_num; fx->pos.x = x; fx->pos.y = y; @@ -59,7 +59,7 @@ int16_t Effect_RocketGun( { int16_t fx_num = Effect_Create(room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->room_num = room_num; fx->pos.x = x; fx->pos.y = y; diff --git a/src/game/effects/gunshot.c b/src/game/effects/gunshot.c index 5ae0889d0..5afc76600 100644 --- a/src/game/effects/gunshot.c +++ b/src/game/effects/gunshot.c @@ -15,7 +15,7 @@ int16_t Effect_GunShot( { int16_t fx_num = Effect_Create(room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = x; fx->pos.y = y; fx->pos.z = z; diff --git a/src/game/game/game_draw.c b/src/game/game/game_draw.c index 8715c33c1..6ef1a468a 100644 --- a/src/game/game/game_draw.c +++ b/src/game/game/game_draw.c @@ -45,7 +45,7 @@ void Game_DrawScene(bool draw_overlay) // cinematic scene for (int i = 0; i < g_RoomsToDrawCount; i++) { int16_t room_num = g_RoomsToDraw[i]; - ROOM_INFO *r = &g_RoomInfo[room_num]; + ROOM *r = &g_RoomInfo[room_num]; r->top = 0; r->left = 0; r->right = Viewport_GetMaxX(); diff --git a/src/game/gamebuf.c b/src/game/gamebuf.c index 7e24d294f..456d88676 100644 --- a/src/game/gamebuf.c +++ b/src/game/gamebuf.c @@ -25,12 +25,12 @@ static const char *M_GetBufferName(GAME_BUFFER buffer) case GBUF_ANIM_COMMANDS: return "Animation commands"; case GBUF_ANIM_BONES: return "Animation bones"; case GBUF_ANIM_FRAMES: return "Animation frames"; - case GBUF_ROOM_INFOS: return "Room information"; + case GBUF_ROOMS: return "Room information"; case GBUF_ROOM_MESH: return "Room meshes"; case GBUF_ROOM_DOOR: return "Room doors"; case GBUF_ROOM_SECTOR: return "Room sector information"; case GBUF_ROOM_LIGHTS: return "Room lights"; - case GBUF_ROOM_STATIC_MESH_INFOS: return "Room static meshes"; + case GBUF_ROOM_STATIC_MESHES: return "Room static meshes"; case GBUF_FLOOR_DATA: return "Floor data"; case GBUF_ITEMS: return "Items"; case GBUF_CAMERAS: return "Cameras"; diff --git a/src/game/gamebuf.h b/src/game/gamebuf.h index 7c090f035..f9418729c 100644 --- a/src/game/gamebuf.h +++ b/src/game/gamebuf.h @@ -9,7 +9,7 @@ // intentionally not implemented. To use more dynamic memory management, use // Memory_Alloc / Memory_Free. -typedef enum GAME_BUFFER { +typedef enum { GBUF_TEXTURE_PAGES, GBUF_MESH_POINTERS, GBUF_MESHES, @@ -19,12 +19,12 @@ typedef enum GAME_BUFFER { GBUF_ANIM_COMMANDS, GBUF_ANIM_BONES, GBUF_ANIM_FRAMES, - GBUF_ROOM_INFOS, + GBUF_ROOMS, GBUF_ROOM_MESH, GBUF_ROOM_DOOR, GBUF_ROOM_SECTOR, GBUF_ROOM_LIGHTS, - GBUF_ROOM_STATIC_MESH_INFOS, + GBUF_ROOM_STATIC_MESHES, GBUF_FLOOR_DATA, GBUF_ITEMS, GBUF_CAMERAS, diff --git a/src/game/gameflow.c b/src/game/gameflow.c index cd826f400..859610d66 100644 --- a/src/game/gameflow.c +++ b/src/game/gameflow.c @@ -23,23 +23,23 @@ #include -typedef struct STRING_TO_ENUM_TYPE { +typedef struct { const char *str; const int32_t val; } STRING_TO_ENUM_TYPE; -typedef struct GAMEFLOW_DISPLAY_PICTURE_DATA { +typedef struct { char *path; double display_time; } GAMEFLOW_DISPLAY_PICTURE_DATA; -typedef struct GAMEFLOW_MESH_SWAP_DATA { +typedef struct { GAME_OBJECT_ID object1_id; GAME_OBJECT_ID object2_id; int32_t mesh_num; } GAMEFLOW_MESH_SWAP_DATA; -typedef struct GAMEFLOW_GIVE_ITEM_DATA { +typedef struct { GAME_OBJECT_ID object_id; int quantity; } GAMEFLOW_GIVE_ITEM_DATA; diff --git a/src/game/gameflow.h b/src/game/gameflow.h index 46c2a9467..7912e7d51 100644 --- a/src/game/gameflow.h +++ b/src/game/gameflow.h @@ -5,18 +5,18 @@ #include #include -typedef struct GAMEFLOW_SEQUENCE { +typedef struct { GAMEFLOW_SEQUENCE_TYPE type; void *data; } GAMEFLOW_SEQUENCE; -typedef struct GAMEFLOW_DROP_ITEM_DATA { +typedef struct { int32_t enemy_num; int32_t count; int16_t *object_ids; } GAMEFLOW_DROP_ITEM_DATA; -typedef struct GAMEFLOW_LEVEL { +typedef struct { GAMEFLOW_LEVEL_TYPE level_type; int16_t music; char *level_title; @@ -61,7 +61,7 @@ typedef struct GAMEFLOW_LEVEL { GAME_OBJECT_ID lara_type; } GAMEFLOW_LEVEL; -typedef struct GAMEFLOW { +typedef struct { char *main_menu_background_path; int32_t gym_level_num; int32_t first_level_num; diff --git a/src/game/gun.h b/src/game/gun.h index 5ad9ae364..12f5dbecd 100644 --- a/src/game/gun.h +++ b/src/game/gun.h @@ -10,8 +10,8 @@ void Gun_Control(void); void Gun_InitialiseNewWeapon(void); void Gun_AimWeapon(WEAPON_INFO *winfo, LARA_ARM *arm); int32_t Gun_FireWeapon( - int32_t weapon_type, ITEM_INFO *target, ITEM_INFO *src, PHD_ANGLE *angles); -void Gun_HitTarget(ITEM_INFO *item, GAME_VECTOR *hitpos, int16_t damage); + int32_t weapon_type, ITEM *target, ITEM *src, PHD_ANGLE *angles); +void Gun_HitTarget(ITEM *item, GAME_VECTOR *hitpos, int16_t damage); void Gun_DrawFlash(LARA_GUN_TYPE weapon_type, int32_t clip); GAME_OBJECT_ID Gun_GetLaraAnim(LARA_GUN_TYPE gun_type); GAME_OBJECT_ID Gun_GetWeaponAnim(LARA_GUN_TYPE gun_type); diff --git a/src/game/gun/gun_misc.c b/src/game/gun/gun_misc.c index f4ae2f29a..273966f5e 100644 --- a/src/game/gun/gun_misc.c +++ b/src/game/gun/gun_misc.c @@ -51,8 +51,8 @@ #define SHOTGUN_RARM_XMIN (-65 * PHD_DEGREE) #define SHOTGUN_RARM_XMAX (+65 * PHD_DEGREE) -static ITEM_INFO *m_TargetList[NUM_SLOTS]; -static ITEM_INFO *m_LastTargetList[NUM_SLOTS]; +static ITEM *m_TargetList[NUM_SLOTS]; +static ITEM *m_LastTargetList[NUM_SLOTS]; WEAPON_INFO g_Weapons[NUM_WEAPONS] = { // null @@ -206,7 +206,7 @@ void Gun_GetNewTarget(WEAPON_INFO *winfo) g_Lara.target = NULL; } - ITEM_INFO *best_target = NULL; + ITEM *best_target = NULL; int16_t best_yrot = 0x7FFF; int16_t num_targets = 0; @@ -218,7 +218,7 @@ void Gun_GetNewTarget(WEAPON_INFO *winfo) src.z = g_LaraItem->pos.z; src.room_num = g_LaraItem->room_num; - ITEM_INFO *item = NULL; + ITEM *item = NULL; for (int16_t item_num = g_NextItemActive; item_num != NO_ITEM; item_num = item->next_active) { item = &g_Items[item_num]; @@ -335,7 +335,7 @@ void Gun_ChangeTarget(WEAPON_INFO *winfo) Gun_TargetInfo(winfo); } -void Gun_FindTargetPoint(ITEM_INFO *item, GAME_VECTOR *target) +void Gun_FindTargetPoint(ITEM *item, GAME_VECTOR *target) { const BOUNDS_16 *const bounds = &Item_GetBestFrame(item)->bounds; const int32_t x = (bounds->min.x + bounds->max.x) / 2; @@ -388,7 +388,7 @@ void Gun_AimWeapon(WEAPON_INFO *winfo, LARA_ARM *arm) } int32_t Gun_FireWeapon( - int32_t weapon_type, ITEM_INFO *target, ITEM_INFO *src, PHD_ANGLE *angles) + int32_t weapon_type, ITEM *target, ITEM *src, PHD_ANGLE *angles) { WEAPON_INFO *winfo = &g_Weapons[weapon_type]; @@ -489,7 +489,7 @@ int32_t Gun_FireWeapon( return -1; } -void Gun_HitTarget(ITEM_INFO *item, GAME_VECTOR *hitpos, int16_t damage) +void Gun_HitTarget(ITEM *item, GAME_VECTOR *hitpos, int16_t damage) { if (item->hit_points > 0 && item->hit_points <= damage) { g_GameInfo.current[g_CurrentLevel].stats.kill_count++; diff --git a/src/game/gun/gun_misc.h b/src/game/gun/gun_misc.h index f7f9e8695..3fcbb5b5e 100644 --- a/src/game/gun/gun_misc.h +++ b/src/game/gun/gun_misc.h @@ -12,10 +12,10 @@ extern WEAPON_INFO g_Weapons[NUM_WEAPONS]; void Gun_TargetInfo(WEAPON_INFO *winfo); void Gun_GetNewTarget(WEAPON_INFO *winfo); void Gun_ChangeTarget(WEAPON_INFO *winfo); -void Gun_FindTargetPoint(ITEM_INFO *item, GAME_VECTOR *target); +void Gun_FindTargetPoint(ITEM *item, GAME_VECTOR *target); void Gun_AimWeapon(WEAPON_INFO *winfo, LARA_ARM *arm); int32_t Gun_FireWeapon( - int32_t weapon_type, ITEM_INFO *target, ITEM_INFO *src, PHD_ANGLE *angles); -void Gun_HitTarget(ITEM_INFO *item, GAME_VECTOR *hitpos, int16_t damage); + int32_t weapon_type, ITEM *target, ITEM *src, PHD_ANGLE *angles); +void Gun_HitTarget(ITEM *item, GAME_VECTOR *hitpos, int16_t damage); void Gun_DrawFlash(LARA_GUN_TYPE weapon_type, int32_t clip); diff --git a/src/game/inject.c b/src/game/inject.c index f7fc86d61..50f423785 100644 --- a/src/game/inject.c +++ b/src/game/inject.c @@ -23,7 +23,7 @@ #define INJECTION_CURRENT_VERSION 8 #define NULL_FD_INDEX ((uint16_t)(-1)) -typedef enum INJECTION_VERSION { +typedef enum { INJ_VERSION_1 = 1, INJ_VERSION_2 = 2, INJ_VERSION_3 = 3, @@ -34,7 +34,7 @@ typedef enum INJECTION_VERSION { INJ_VERSION_8 = 8, } INJECTION_VERSION; -typedef enum INJECTION_TYPE { +typedef enum { INJ_GENERAL = 0, INJ_BRAID = 1, INJ_TEXTURE_FIX = 2, @@ -49,7 +49,7 @@ typedef enum INJECTION_TYPE { INJ_PS1_CRYSTAL = 11, } INJECTION_TYPE; -typedef struct INJECTION { +typedef struct { VFILE *fp; INJECTION_VERSION version; INJECTION_TYPE type; @@ -57,14 +57,14 @@ typedef struct INJECTION { bool relevant; } INJECTION; -typedef enum FACE_TYPE { +typedef enum { FT_TEXTURED_QUAD = 0, FT_TEXTURED_TRIANGLE = 1, FT_COLOURED_QUAD = 2, FT_COLOURED_TRIANGLE = 3 } FACE_TYPE; -typedef struct FACE_EDIT { +typedef struct { GAME_OBJECT_ID object_id; int16_t source_identifier; FACE_TYPE face_type; @@ -73,14 +73,14 @@ typedef struct FACE_EDIT { int16_t *targets; } FACE_EDIT; -typedef struct VERTEX_EDIT { +typedef struct { int16_t vertex_index; int16_t x_change; int16_t y_change; int16_t z_change; } VERTEX_EDIT; -typedef struct MESH_EDIT { +typedef struct { GAME_OBJECT_ID object_id; int16_t mesh_idx; XYZ_16 centre_shift; @@ -91,7 +91,7 @@ typedef struct MESH_EDIT { VERTEX_EDIT *vertex_edits; } MESH_EDIT; -typedef enum FLOOR_EDIT_TYPE { +typedef enum { FET_TRIGGER_PARAM = 0, FET_MUSIC_ONESHOT = 1, FET_FD_INSERT = 2, @@ -99,7 +99,7 @@ typedef enum FLOOR_EDIT_TYPE { FET_TRIGGER_ITEM = 4, } FLOOR_EDIT_TYPE; -typedef enum ROOM_MESH_EDIT_TYPE { +typedef enum { RMET_TEXTURE_FACE = 0, RMET_MOVE_FACE = 1, RMET_ALTER_VERTEX = 2, @@ -116,7 +116,7 @@ static void M_LoadFromFile(INJECTION *injection, const char *filename); static uint16_t M_RemapRGB(LEVEL_INFO *level_info, RGB_888 rgb); static void M_AlignTextureReferences( - OBJECT_INFO *object, uint16_t *palette_map, int32_t page_base); + OBJECT *object, uint16_t *palette_map, int32_t page_base); static void M_LoadTexturePages( INJECTION *injection, LEVEL_INFO *level_info, uint16_t *palette_map, @@ -140,10 +140,10 @@ static void M_TextureOverwrites( INJECTION *injection, LEVEL_INFO *level_info, uint16_t *palette_map); static void M_FloorDataEdits(INJECTION *injection, LEVEL_INFO *level_info); -static void M_TriggerParameterChange(INJECTION *injection, SECTOR_INFO *sector); -static void M_SetMusicOneShot(SECTOR_INFO *sector); +static void M_TriggerParameterChange(INJECTION *injection, SECTOR *sector); +static void M_SetMusicOneShot(SECTOR *sector); static void M_InsertFloorData( - INJECTION *injection, SECTOR_INFO *sector, LEVEL_INFO *level_info); + INJECTION *injection, SECTOR *sector, LEVEL_INFO *level_info); static void M_RoomShift(INJECTION *injection, int16_t room_num); static void M_TriggeredItem(INJECTION *injection, LEVEL_INFO *level_info); @@ -448,7 +448,7 @@ static void M_TextureData( const int16_t mesh_idx = VFile_ReadS16(fp); if (object_id < O_NUMBER_OF) { - OBJECT_INFO *object = &g_Objects[object_id]; + OBJECT *object = &g_Objects[object_id]; object->nmeshes = num_meshes; object->mesh_idx = mesh_idx + level_info->sprite_info_count; object->loaded = 1; @@ -620,7 +620,7 @@ static void M_AnimRangeEdits(INJECTION *injection) continue; } - OBJECT_INFO *object = &g_Objects[object_id]; + OBJECT *object = &g_Objects[object_id]; if (!object->loaded) { LOG_WARNING("Object %d is not loaded", object_id); VFile_Skip(fp, edit_count * sizeof(int16_t) * 4); @@ -670,7 +670,7 @@ static void M_ObjectData( // use cases. for (int32_t i = 0; i < inj_info->object_count; i++) { const GAME_OBJECT_ID object_id = VFile_ReadS32(fp); - OBJECT_INFO *object = &g_Objects[object_id]; + OBJECT *object = &g_Objects[object_id]; const int16_t num_meshes = VFile_ReadS16(fp); const int16_t mesh_idx = VFile_ReadS16(fp); @@ -752,7 +752,7 @@ static void M_SFXData(INJECTION *injection, LEVEL_INFO *level_info) } static void M_AlignTextureReferences( - OBJECT_INFO *object, uint16_t *palette_map, int32_t page_base) + OBJECT *object, uint16_t *palette_map, int32_t page_base) { int16_t **mesh = &g_Meshes[object->mesh_idx]; for (int32_t i = 0; i < object->nmeshes; i++) { @@ -885,7 +885,7 @@ static void M_MeshEdits(INJECTION *injection, uint16_t *palette_map) static void M_ApplyMeshEdit(MESH_EDIT *mesh_edit, uint16_t *palette_map) { - OBJECT_INFO object = g_Objects[mesh_edit->object_id]; + OBJECT object = g_Objects[mesh_edit->object_id]; if (!object.loaded) { return; } @@ -989,7 +989,7 @@ static void M_ApplyFaceEdit( static int16_t *M_GetMeshTexture(FACE_EDIT *face_edit) { - OBJECT_INFO object = g_Objects[face_edit->object_id]; + OBJECT object = g_Objects[face_edit->object_id]; if (!object.loaded) { return NULL; } @@ -1094,8 +1094,8 @@ static void M_FloorDataEdits(INJECTION *injection, LEVEL_INFO *level_info) // Verify that the given room and coordinates are accurate. // Individual FD functions must check that sector is actually set. - ROOM_INFO *r = NULL; - SECTOR_INFO *sector = NULL; + ROOM *r = NULL; + SECTOR *sector = NULL; if (room < 0 || room >= g_RoomCount) { LOG_WARNING("Room index %d is invalid", room); } else { @@ -1136,7 +1136,7 @@ static void M_FloorDataEdits(INJECTION *injection, LEVEL_INFO *level_info) Benchmark_End(benchmark, NULL); } -static void M_TriggerParameterChange(INJECTION *injection, SECTOR_INFO *sector) +static void M_TriggerParameterChange(INJECTION *injection, SECTOR *sector) { VFILE *const fp = injection->fp; @@ -1173,7 +1173,7 @@ static void M_TriggerParameterChange(INJECTION *injection, SECTOR_INFO *sector) } } -static void M_SetMusicOneShot(SECTOR_INFO *sector) +static void M_SetMusicOneShot(SECTOR *sector) { if (sector == NULL || sector->trigger == NULL) { return; @@ -1188,7 +1188,7 @@ static void M_SetMusicOneShot(SECTOR_INFO *sector) } static void M_InsertFloorData( - INJECTION *injection, SECTOR_INFO *sector, LEVEL_INFO *level_info) + INJECTION *injection, SECTOR *sector, LEVEL_INFO *level_info) { VFILE *const fp = injection->fp; @@ -1215,7 +1215,7 @@ static void M_RoomShift(INJECTION *injection, int16_t room_num) const uint32_t z_shift = ROUND_TO_SECTOR(VFile_ReadU32(fp)); const int32_t y_shift = ROUND_TO_CLICK(VFile_ReadS32(fp)); - ROOM_INFO *room = &g_RoomInfo[room_num]; + ROOM *room = &g_RoomInfo[room_num]; room->x += x_shift; room->z += z_shift; room->min_floor += y_shift; @@ -1223,7 +1223,7 @@ static void M_RoomShift(INJECTION *injection, int16_t room_num) // Move any items in the room to match. for (int32_t i = 0; i < g_LevelItemCount; i++) { - ITEM_INFO *item = &g_Items[i]; + ITEM *item = &g_Items[i]; if (item->room_num != room_num) { continue; } @@ -1239,7 +1239,7 @@ static void M_RoomShift(INJECTION *injection, int16_t room_num) // Update the sector floor and ceiling heights to match. for (int32_t i = 0; i < room->z_size * room->x_size; i++) { - SECTOR_INFO *const sector = &room->sectors[i]; + SECTOR *const sector = &room->sectors[i]; if (sector->floor.height == NO_HEIGHT || sector->ceiling.height == NO_HEIGHT) { continue; @@ -1269,7 +1269,7 @@ static void M_TriggeredItem(INJECTION *injection, LEVEL_INFO *level_info) } int16_t item_num = Item_Create(); - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; item->object_id = VFile_ReadS16(fp); item->room_num = VFile_ReadS16(fp); @@ -1388,7 +1388,7 @@ static void M_AlterRoomVertex(INJECTION *injection) return; } - const ROOM_INFO *const room = &g_RoomInfo[target_room]; + const ROOM *const room = &g_RoomInfo[target_room]; const int16_t vertex_count = *room->data; if (target_vertex < 0 || target_vertex >= vertex_count) { LOG_WARNING( @@ -1459,7 +1459,7 @@ static void M_AddRoomFace(INJECTION *injection) return; } - ROOM_INFO *r = &g_RoomInfo[target_room]; + ROOM *r = &g_RoomInfo[target_room]; int32_t data_index = 0; int32_t vertex_count = r->data[data_index++]; @@ -1516,7 +1516,7 @@ static void M_AddRoomVertex(INJECTION *injection) const int16_t z = VFile_ReadS16(fp); const int16_t lighting = VFile_ReadS16(fp); - ROOM_INFO *r = &g_RoomInfo[target_room]; + ROOM *r = &g_RoomInfo[target_room]; int32_t data_index = 0; int32_t vertex_count = r->data[data_index]; @@ -1559,7 +1559,7 @@ static int16_t *M_GetRoomTexture( static int16_t *M_GetRoomFace( int16_t room, FACE_TYPE face_type, int16_t face_index) { - ROOM_INFO *r = NULL; + ROOM *r = NULL; if (room < 0 || room >= g_RoomCount) { LOG_WARNING("Room index %d is invalid", room); return NULL; @@ -1621,21 +1621,21 @@ static void M_RoomDoorEdits(INJECTION *injection) continue; } - ROOM_INFO *r = &g_RoomInfo[base_room]; - DOOR_INFO *door = NULL; - for (int32_t j = 0; j < r->doors->count; j++) { - DOOR_INFO d = r->doors->door[j]; + ROOM *r = &g_RoomInfo[base_room]; + PORTAL *portal = NULL; + for (int32_t j = 0; j < r->portals->count; j++) { + PORTAL d = r->portals->portal[j]; if (d.room_num == link_room && (j == door_index || door_index == -1)) { - door = &r->doors->door[j]; + portal = &r->portals->portal[j]; break; } } - if (!door) { + if (portal == NULL) { VFile_Skip(fp, sizeof(int16_t) * 12); LOG_WARNING( - "Room index %d has no matching door to %d", base_room, + "Room index %d has no matching portal to %d", base_room, link_room); continue; } @@ -1645,9 +1645,9 @@ static void M_RoomDoorEdits(INJECTION *injection) const int16_t y_change = VFile_ReadS16(fp); const int16_t z_change = VFile_ReadS16(fp); - door->vertex[j].x += x_change; - door->vertex[j].y += y_change; - door->vertex[j].z += z_change; + portal->vertex[j].x += x_change; + portal->vertex[j].y += y_change; + portal->vertex[j].z += z_change; } } @@ -1685,7 +1685,7 @@ static void M_ItemPositions(INJECTION *injection) continue; } - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; item->rot.y = y_rot; if (injection->version > INJ_VERSION_4) { item->pos.x = x; diff --git a/src/game/inject.h b/src/game/inject.h index 4142a52b2..f9d68d667 100644 --- a/src/game/inject.h +++ b/src/game/inject.h @@ -4,12 +4,12 @@ #include -typedef struct INJECTION_ROOM_MESH { +typedef struct { int16_t room_index; uint32_t extra_size; } INJECTION_ROOM_MESH; -typedef struct INJECTION_INFO { +typedef struct { int32_t texture_page_count; int32_t texture_count; int32_t sprite_info_count; diff --git a/src/game/interpolation.c b/src/game/interpolation.c index cf7f47af8..a867b5f62 100644 --- a/src/game/interpolation.c +++ b/src/game/interpolation.c @@ -106,7 +106,7 @@ void Interpolation_Commit(void) INTERPOLATE_ROT(&g_Lara, head_rot.z, ratio, PHD_45); for (int i = 0; i < Item_GetTotalCount(); i++) { - ITEM_INFO *const item = &g_Items[i]; + ITEM *const item = &g_Items[i]; if ((item->flags & IF_KILLED) || item->status == IS_INACTIVE || item->object_id == O_BAT) { COMMIT(item, pos.x); @@ -140,7 +140,7 @@ void Interpolation_Commit(void) int16_t fx_num = g_NextFxActive; while (fx_num != NO_ITEM) { - FX_INFO *const fx = &g_Effects[fx_num]; + FX *const fx = &g_Effects[fx_num]; INTERPOLATE(fx, pos.x, ratio, 128); INTERPOLATE(fx, pos.y, ratio, MAX(128, fx->fall_speed * 2)); INTERPOLATE(fx, pos.z, ratio, 128); @@ -190,7 +190,7 @@ void Interpolation_Remember(void) REMEMBER(&g_Lara, head_rot.z); for (int i = 0; i < Item_GetTotalCount(); i++) { - ITEM_INFO *const item = &g_Items[i]; + ITEM *const item = &g_Items[i]; REMEMBER(item, pos.x); REMEMBER(item, pos.y); REMEMBER(item, pos.z); @@ -210,7 +210,7 @@ void Interpolation_Remember(void) int16_t fx_num = g_NextFxActive; while (fx_num != NO_ITEM) { - FX_INFO *const fx = &g_Effects[fx_num]; + FX *const fx = &g_Effects[fx_num]; REMEMBER(fx, pos.x); REMEMBER(fx, pos.y); REMEMBER(fx, pos.z); @@ -233,7 +233,7 @@ void Interpolation_Remember(void) } } -void Interpolation_RememberItem(ITEM_INFO *item) +void Interpolation_RememberItem(ITEM *item) { item->interp.prev.pos = item->pos; item->interp.prev.rot = item->rot; diff --git a/src/game/interpolation.h b/src/game/interpolation.h index e5f67aeb3..0a7545d57 100644 --- a/src/game/interpolation.h +++ b/src/game/interpolation.h @@ -13,4 +13,4 @@ void Interpolation_SetRate(double rate); void Interpolation_Commit(void); void Interpolation_Remember(void); -void Interpolation_RememberItem(ITEM_INFO *item); +void Interpolation_RememberItem(ITEM *item); diff --git a/src/game/items.c b/src/game/items.c index c45e5b4cf..338c73674 100644 --- a/src/game/items.c +++ b/src/game/items.c @@ -32,7 +32,7 @@ } \ } while (0) -ITEM_INFO *g_Items = NULL; +ITEM *g_Items = NULL; int16_t g_NextItemActive = NO_ITEM; static int16_t m_NextItemFree = NO_ITEM; static BOUNDS_16 m_InterpolatedBounds = { 0 }; @@ -58,8 +58,8 @@ void Item_Control(void) { int16_t item_num = g_NextItemActive; while (item_num != NO_ITEM) { - ITEM_INFO *item = &g_Items[item_num]; - OBJECT_INFO *obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + OBJECT *obj = &g_Objects[item->object_id]; if (obj->control) { obj->control(item_num); } @@ -71,7 +71,7 @@ void Item_Control(void) void Item_Kill(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; Item_RemoveActive(item_num); Item_RemoveDrawn(item_num); @@ -106,8 +106,8 @@ int16_t Item_Create(void) void Item_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; - OBJECT_INFO *object = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + OBJECT *object = &g_Objects[item->object_id]; Item_SwitchToAnim(item, 0, 0); item->current_anim_state = g_Anims[item->anim_num].current_anim_state; @@ -143,13 +143,12 @@ void Item_Initialise(int16_t item_num) item->status = IS_ACTIVE; } - ROOM_INFO *const r = &g_RoomInfo[item->room_num]; + ROOM *const r = &g_RoomInfo[item->room_num]; item->next_item = r->item_num; r->item_num = item_num; const int32_t z_sector = (item->pos.z - r->z) >> WALL_SHIFT; const int32_t x_sector = (item->pos.x - r->x) >> WALL_SHIFT; - const SECTOR_INFO *const sector = - &r->sectors[z_sector + x_sector * r->z_size]; + const SECTOR *const sector = &r->sectors[z_sector + x_sector * r->z_size]; item->floor = sector->floor.height; if (g_GameInfo.bonus_flag & GBF_NGPLUS) { @@ -164,7 +163,7 @@ void Item_Initialise(int16_t item_num) void Item_RemoveActive(int16_t item_num) { - ITEM_INFO *const item = &g_Items[item_num]; + ITEM *const item = &g_Items[item_num]; if (!item->active) { return; } @@ -188,8 +187,8 @@ void Item_RemoveActive(int16_t item_num) void Item_RemoveDrawn(int16_t item_num) { - ITEM_INFO *const item = &g_Items[item_num]; - ROOM_INFO *const r = &g_RoomInfo[item->room_num]; + ITEM *const item = &g_Items[item_num]; + ROOM *const r = &g_RoomInfo[item->room_num]; int16_t link_num = r->item_num; if (link_num == item_num) { @@ -208,7 +207,7 @@ void Item_RemoveDrawn(int16_t item_num) void Item_AddActive(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (!g_Objects[item->object_id].control) { item->status = IS_INACTIVE; @@ -226,8 +225,8 @@ void Item_AddActive(int16_t item_num) void Item_NewRoom(int16_t item_num, int16_t room_num) { - ITEM_INFO *item = &g_Items[item_num]; - ROOM_INFO *r = &g_RoomInfo[item->room_num]; + ITEM *item = &g_Items[item_num]; + ROOM *r = &g_RoomInfo[item->room_num]; int16_t linknum = r->item_num; if (linknum == item_num) { @@ -247,23 +246,23 @@ void Item_NewRoom(int16_t item_num, int16_t room_num) r->item_num = item_num; } -void Item_UpdateRoom(ITEM_INFO *item, int32_t height) +void Item_UpdateRoom(ITEM *item, int32_t height) { int32_t x = item->pos.x; int32_t y = item->pos.y + height; int32_t z = item->pos.z; int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *const sector = Room_GetSector(x, y, z, &room_num); item->floor = Room_GetHeight(sector, x, y, z); if (item->room_num != room_num) { Item_NewRoom(g_Lara.item_num, room_num); } } -int16_t Item_GetHeight(ITEM_INFO *item) +int16_t Item_GetHeight(ITEM *item) { int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &room_num); const int32_t height = Room_GetHeight(sector, item->pos.x, item->pos.y, item->pos.z); @@ -271,7 +270,7 @@ int16_t Item_GetHeight(ITEM_INFO *item) return height; } -int16_t Item_GetWaterHeight(ITEM_INFO *item) +int16_t Item_GetWaterHeight(ITEM *item) { int16_t height = Room_GetWaterHeight( item->pos.x, item->pos.y, item->pos.z, item->room_num); @@ -282,11 +281,11 @@ int16_t Item_GetWaterHeight(ITEM_INFO *item) return height; } -int16_t Item_Spawn(const ITEM_INFO *const item, const GAME_OBJECT_ID object_id) +int16_t Item_Spawn(const ITEM *const item, const GAME_OBJECT_ID object_id) { int16_t spawn_num = Item_Create(); if (spawn_num != NO_ITEM) { - ITEM_INFO *spawn = &g_Items[spawn_num]; + ITEM *spawn = &g_Items[spawn_num]; spawn->object_id = object_id; spawn->room_num = item->room_num; spawn->pos = item->pos; @@ -303,7 +302,7 @@ int32_t Item_GlobalReplace( { int32_t changed = 0; for (int i = 0; i < g_RoomCount; i++) { - ROOM_INFO *r = &g_RoomInfo[i]; + ROOM *r = &g_RoomInfo[i]; for (int16_t item_num = r->item_num; item_num != NO_ITEM; item_num = g_Items[item_num].next_item) { if (g_Items[item_num].object_id == src_object_id) { @@ -315,7 +314,7 @@ int32_t Item_GlobalReplace( return changed; } -bool Item_IsNearItem(const ITEM_INFO *item, const XYZ_32 *pos, int32_t distance) +bool Item_IsNearItem(const ITEM *item, const XYZ_32 *pos, int32_t distance) { int32_t x = pos->x - item->pos.x; int32_t y = pos->y - item->pos.y; @@ -333,8 +332,7 @@ bool Item_IsNearItem(const ITEM_INFO *item, const XYZ_32 *pos, int32_t distance) return false; } -int32_t Item_GetDistance( - const ITEM_INFO *const item, const XYZ_32 *const target) +int32_t Item_GetDistance(const ITEM *const item, const XYZ_32 *const target) { const int32_t x = (item->pos.x - target->x); const int32_t y = (item->pos.y - target->y); @@ -348,8 +346,7 @@ bool Item_Test3DRange(int32_t x, int32_t y, int32_t z, int32_t range) && (SQUARE(x) + SQUARE(y) + SQUARE(z) < SQUARE(range)); } -bool Item_TestBoundsCollide( - ITEM_INFO *src_item, ITEM_INFO *dst_item, int32_t radius) +bool Item_TestBoundsCollide(ITEM *src_item, ITEM *dst_item, int32_t radius) { const BOUNDS_16 *const src_bounds = &Item_GetBestFrame(src_item)->bounds; const BOUNDS_16 *const dst_bounds = &Item_GetBestFrame(dst_item)->bounds; @@ -374,7 +371,7 @@ bool Item_TestBoundsCollide( } bool Item_TestPosition( - const ITEM_INFO *const src_item, const ITEM_INFO *const dst_item, + const ITEM *const src_item, const ITEM *const dst_item, const OBJECT_BOUNDS *const bounds) { const XYZ_16 rot = { @@ -416,7 +413,7 @@ bool Item_TestPosition( return true; } -void Item_AlignPosition(ITEM_INFO *src_item, ITEM_INFO *dst_item, XYZ_32 *vec) +void Item_AlignPosition(ITEM *src_item, ITEM *dst_item, XYZ_32 *vec) { src_item->rot.x = dst_item->rot.x; src_item->rot.y = dst_item->rot.y; @@ -438,8 +435,7 @@ void Item_AlignPosition(ITEM_INFO *src_item, ITEM_INFO *dst_item, XYZ_32 *vec) } bool Item_MovePosition( - ITEM_INFO *item, const ITEM_INFO *ref_item, const XYZ_32 *vec, - int32_t velocity) + ITEM *item, const ITEM *ref_item, const XYZ_32 *vec, int32_t velocity) { const XYZ_32 *ref_pos = &ref_item->pos; @@ -529,7 +525,7 @@ bool Item_MovePosition( // clang-format on } -void Item_ShiftCol(ITEM_INFO *item, COLL_INFO *coll) +void Item_ShiftCol(ITEM *item, COLL_INFO *coll) { item->pos.x += coll->shift.x; item->pos.y += coll->shift.y; @@ -539,7 +535,7 @@ void Item_ShiftCol(ITEM_INFO *item, COLL_INFO *coll) coll->shift.z = 0; } -void Item_Translate(ITEM_INFO *item, int32_t x, int32_t y, int32_t z) +void Item_Translate(ITEM *item, int32_t x, int32_t y, int32_t z) { int32_t c = Math_Cos(item->rot.y); int32_t s = Math_Sin(item->rot.y); @@ -548,18 +544,18 @@ void Item_Translate(ITEM_INFO *item, int32_t x, int32_t y, int32_t z) item->pos.z += (c * z - s * x) >> W2V_SHIFT; } -bool Item_TestAnimEqual(ITEM_INFO *item, int16_t anim_idx) +bool Item_TestAnimEqual(ITEM *item, int16_t anim_idx) { return item->anim_num == g_Objects[item->object_id].anim_idx + anim_idx; } -void Item_SwitchToAnim(ITEM_INFO *item, int16_t anim_idx, int16_t frame) +void Item_SwitchToAnim(ITEM *item, int16_t anim_idx, int16_t frame) { Item_SwitchToObjAnim(item, anim_idx, frame, item->object_id); } void Item_SwitchToObjAnim( - ITEM_INFO *item, int16_t anim_idx, int16_t frame, GAME_OBJECT_ID object_id) + ITEM *item, int16_t anim_idx, int16_t frame, GAME_OBJECT_ID object_id) { item->anim_num = g_Objects[object_id].anim_idx + anim_idx; if (frame < 0) { @@ -569,7 +565,7 @@ void Item_SwitchToObjAnim( } } -void Item_Animate(ITEM_INFO *item) +void Item_Animate(ITEM *item) { item->touch_bits = 0; item->hit_status = 0; @@ -672,7 +668,7 @@ void Item_Animate(ITEM_INFO *item) item->pos.z += (Math_Cos(item->rot.y) * item->speed) >> W2V_SHIFT; } -bool Item_GetAnimChange(ITEM_INFO *item, ANIM *anim) +bool Item_GetAnimChange(ITEM *item, ANIM *anim) { if (item->current_anim_state == item->goal_anim_state) { return false; @@ -699,7 +695,7 @@ bool Item_GetAnimChange(ITEM_INFO *item, ANIM *anim) return false; } -void Item_PlayAnimSFX(ITEM_INFO *item, int16_t *command, uint16_t flags) +void Item_PlayAnimSFX(ITEM *item, int16_t *command, uint16_t flags) { if (item->frame_num != command[0]) { return; @@ -717,7 +713,7 @@ void Item_PlayAnimSFX(ITEM_INFO *item, int16_t *command, uint16_t flags) Sound_Effect(SFX_ID_BITS(command[1]), &item->pos, flags); } -bool Item_IsTriggerActive(ITEM_INFO *item) +bool Item_IsTriggerActive(ITEM *item) { bool ok = !(item->flags & IF_REVERSE); @@ -742,7 +738,7 @@ bool Item_IsTriggerActive(ITEM_INFO *item) return ok; } -FRAME_INFO *Item_GetBestFrame(const ITEM_INFO *item) +FRAME_INFO *Item_GetBestFrame(const ITEM *item) { FRAME_INFO *frmptr[2]; int32_t rate; @@ -754,7 +750,7 @@ FRAME_INFO *Item_GetBestFrame(const ITEM_INFO *item) } } -const BOUNDS_16 *Item_GetBoundsAccurate(const ITEM_INFO *item) +const BOUNDS_16 *Item_GetBoundsAccurate(const ITEM *item) { int32_t rate; FRAME_INFO *frmptr[2]; @@ -777,8 +773,7 @@ const BOUNDS_16 *Item_GetBoundsAccurate(const ITEM_INFO *item) return result; } -int32_t Item_GetFrames( - const ITEM_INFO *item, FRAME_INFO *frmptr[], int32_t *rate) +int32_t Item_GetFrames(const ITEM *item, FRAME_INFO *frmptr[], int32_t *rate) { const ANIM *anim = &g_Anims[item->anim_num]; @@ -825,20 +820,20 @@ int32_t Item_GetFrames( return final * 10; } -bool Item_TestFrameEqual(ITEM_INFO *item, int16_t frame) +bool Item_TestFrameEqual(ITEM *item, int16_t frame) { return Anim_TestAbsFrameEqual( item->frame_num, g_Anims[item->anim_num].frame_base + frame); } -bool Item_TestFrameRange(ITEM_INFO *item, int16_t start, int16_t end) +bool Item_TestFrameRange(ITEM *item, int16_t start, int16_t end) { return Anim_TestAbsFrameRange( item->frame_num, g_Anims[item->anim_num].frame_base + start, g_Anims[item->anim_num].frame_base + end); } -ITEM_INFO *Item_Get(const int16_t item_num) +ITEM *Item_Get(const int16_t item_num) { return &g_Items[item_num]; } diff --git a/src/game/items.h b/src/game/items.h index ca9b24558..48b5b5012 100644 --- a/src/game/items.h +++ b/src/game/items.h @@ -5,7 +5,7 @@ #include #include -extern ITEM_INFO *g_Items; +extern ITEM *g_Items; extern int16_t g_NextItemActive; void Item_InitialiseArray(int32_t num_items); @@ -18,44 +18,39 @@ void Item_RemoveActive(int16_t item_num); void Item_RemoveDrawn(int16_t item_num); void Item_AddActive(int16_t item_num); void Item_NewRoom(int16_t item_num, int16_t room_num); -void Item_UpdateRoom(ITEM_INFO *item, int32_t height); -int16_t Item_GetHeight(ITEM_INFO *item); -int16_t Item_GetWaterHeight(ITEM_INFO *item); -int16_t Item_Spawn(const ITEM_INFO *item, GAME_OBJECT_ID object_id); +void Item_UpdateRoom(ITEM *item, int32_t height); +int16_t Item_GetHeight(ITEM *item); +int16_t Item_GetWaterHeight(ITEM *item); +int16_t Item_Spawn(const ITEM *item, GAME_OBJECT_ID object_id); int32_t Item_GlobalReplace( GAME_OBJECT_ID src_object_id, GAME_OBJECT_ID dst_object_id); -bool Item_IsNearItem( - const ITEM_INFO *item, const XYZ_32 *pos, int32_t distance); +bool Item_IsNearItem(const ITEM *item, const XYZ_32 *pos, int32_t distance); bool Item_Test3DRange(int32_t x, int32_t y, int32_t z, int32_t range); -bool Item_TestBoundsCollide( - ITEM_INFO *src_item, ITEM_INFO *dst_item, int32_t radius); +bool Item_TestBoundsCollide(ITEM *src_item, ITEM *dst_item, int32_t radius); bool Item_TestPosition( - const ITEM_INFO *src_item, const ITEM_INFO *dst_item, - const OBJECT_BOUNDS *bounds); -void Item_AlignPosition(ITEM_INFO *src_item, ITEM_INFO *dst_item, XYZ_32 *vec); + const ITEM *src_item, const ITEM *dst_item, const OBJECT_BOUNDS *bounds); +void Item_AlignPosition(ITEM *src_item, ITEM *dst_item, XYZ_32 *vec); bool Item_MovePosition( - ITEM_INFO *src_item, const ITEM_INFO *dst_item, const XYZ_32 *vec, - int32_t velocity); -void Item_ShiftCol(ITEM_INFO *item, COLL_INFO *coll); -void Item_Translate(ITEM_INFO *item, int32_t x, int32_t y, int32_t z); -int32_t Item_GetDistance(const ITEM_INFO *item, const XYZ_32 *target); + ITEM *src_item, const ITEM *dst_item, const XYZ_32 *vec, int32_t velocity); +void Item_ShiftCol(ITEM *item, COLL_INFO *coll); +void Item_Translate(ITEM *item, int32_t x, int32_t y, int32_t z); +int32_t Item_GetDistance(const ITEM *item, const XYZ_32 *target); -bool Item_TestAnimEqual(ITEM_INFO *item, int16_t anim_idx); -void Item_SwitchToAnim(ITEM_INFO *item, int16_t anim_idx, int16_t frame); +bool Item_TestAnimEqual(ITEM *item, int16_t anim_idx); +void Item_SwitchToAnim(ITEM *item, int16_t anim_idx, int16_t frame); void Item_SwitchToObjAnim( - ITEM_INFO *item, int16_t anim_idx, int16_t frame, GAME_OBJECT_ID object_id); -void Item_Animate(ITEM_INFO *item); -bool Item_GetAnimChange(ITEM_INFO *item, ANIM *anim); -void Item_PlayAnimSFX(ITEM_INFO *item, int16_t *command, uint16_t flags); + ITEM *item, int16_t anim_idx, int16_t frame, GAME_OBJECT_ID object_id); +void Item_Animate(ITEM *item); +bool Item_GetAnimChange(ITEM *item, ANIM *anim); +void Item_PlayAnimSFX(ITEM *item, int16_t *command, uint16_t flags); -bool Item_IsTriggerActive(ITEM_INFO *item); +bool Item_IsTriggerActive(ITEM *item); -FRAME_INFO *Item_GetBestFrame(const ITEM_INFO *item); -const BOUNDS_16 *Item_GetBoundsAccurate(const ITEM_INFO *item); -int32_t Item_GetFrames( - const ITEM_INFO *item, FRAME_INFO *frmptr[], int32_t *rate); +FRAME_INFO *Item_GetBestFrame(const ITEM *item); +const BOUNDS_16 *Item_GetBoundsAccurate(const ITEM *item); +int32_t Item_GetFrames(const ITEM *item, FRAME_INFO *frmptr[], int32_t *rate); -void Item_TakeDamage(ITEM_INFO *item, int16_t damage, bool hit_status); -bool Item_TestFrameEqual(ITEM_INFO *item, int16_t frame); -bool Item_TestFrameRange(ITEM_INFO *item, int16_t start, int16_t end); +void Item_TakeDamage(ITEM *item, int16_t damage, bool hit_status); +bool Item_TestFrameEqual(ITEM *item, int16_t frame); +bool Item_TestFrameRange(ITEM *item, int16_t start, int16_t end); diff --git a/src/game/lara/cheat.c b/src/game/lara/cheat.c index 0c9fece3d..f577c6559 100644 --- a/src/game/lara/cheat.c +++ b/src/game/lara/cheat.c @@ -175,7 +175,7 @@ bool Lara_Cheat_ExitFlyMode(void) return false; } - const ROOM_INFO *const room = &g_RoomInfo[g_LaraItem->room_num]; + const ROOM *const room = &g_RoomInfo[g_LaraItem->room_num]; const bool room_submerged = (room->flags & RF_UNDERWATER) != 0; const int16_t water_height = Room_GetWaterHeight( g_LaraItem->pos.x, g_LaraItem->pos.y, g_LaraItem->pos.z, @@ -319,7 +319,7 @@ bool Lara_Cheat_OpenNearestDoor(void) const int32_t shift = 8; // constant shift to avoid overflow errors const int32_t max_dist = SQUARE((WALL_L * 2) >> shift); for (int item_num = 0; item_num < g_LevelItemCount; item_num++) { - ITEM_INFO *const item = &g_Items[item_num]; + ITEM *const item = &g_Items[item_num]; if (!Object_IsObjectType(item->object_id, g_DoorObjects) && !Object_IsObjectType(item->object_id, g_TrapdoorObjects)) { continue; @@ -358,7 +358,7 @@ bool Lara_Cheat_OpenNearestDoor(void) bool Lara_Cheat_KillEnemy(const int16_t item_num) { - ITEM_INFO *const item = &g_Items[item_num]; + ITEM *const item = &g_Items[item_num]; if (!Object_IsObjectType(item->object_id, g_EnemyObjects) || item->hit_points <= 0) { return false; @@ -380,7 +380,7 @@ bool Lara_Cheat_Teleport(int32_t x, int32_t y, int32_t z) return false; } - const SECTOR_INFO *sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *sector = Room_GetSector(x, y, z, &room_num); int16_t height = Room_GetHeight(sector, x, y, z); if (height == NO_HEIGHT) { diff --git a/src/game/lara/col.c b/src/game/lara/col.c index 359554b42..e249bfcae 100644 --- a/src/game/lara/col.c +++ b/src/game/lara/col.c @@ -34,7 +34,7 @@ #define LF_BACK_R_START 26 #define LF_BACK_R_END 55 -void (*g_LaraCollisionRoutines[])(ITEM_INFO *item, COLL_INFO *coll) = { +void (*g_LaraCollisionRoutines[])(ITEM *item, COLL_INFO *coll) = { Lara_Col_Walk, Lara_Col_Run, Lara_Col_Stop, Lara_Col_ForwardJump, Lara_Col_Pose, Lara_Col_FastBack, Lara_Col_TurnR, Lara_Col_TurnL, Lara_Col_Death, @@ -57,10 +57,10 @@ void (*g_LaraCollisionRoutines[])(ITEM_INFO *item, COLL_INFO *coll) = { Lara_Col_Twist, Lara_Col_UWRoll, }; -static void M_Default(ITEM_INFO *item, COLL_INFO *coll); -static void M_Jumper(ITEM_INFO *item, COLL_INFO *coll); +static void M_Default(ITEM *item, COLL_INFO *coll); +static void M_Jumper(ITEM *item, COLL_INFO *coll); -static void M_Default(ITEM_INFO *item, COLL_INFO *coll) +static void M_Default(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; coll->bad_pos = STEPUP_HEIGHT; @@ -71,7 +71,7 @@ static void M_Default(ITEM_INFO *item, COLL_INFO *coll) Lara_GetCollisionInfo(item, coll); } -static void M_Jumper(ITEM_INFO *item, COLL_INFO *coll) +static void M_Jumper(ITEM *item, COLL_INFO *coll) { coll->bad_pos = NO_BAD_POS; coll->bad_neg = -STEPUP_HEIGHT; @@ -92,7 +92,7 @@ static void M_Jumper(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_Walk(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Walk(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; item->gravity = 0; @@ -160,7 +160,7 @@ void Lara_Col_Walk(ITEM_INFO *item, COLL_INFO *coll) item->pos.y += coll->mid_floor; } -void Lara_Col_Run(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Run(ITEM *item, COLL_INFO *coll) { if (g_Config.fix_qwop_glitch) { item->gravity = 0; @@ -226,7 +226,7 @@ void Lara_Col_Run(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_Stop(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Stop(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; item->gravity = 0; @@ -263,7 +263,7 @@ void Lara_Col_Stop(ITEM_INFO *item, COLL_INFO *coll) item->pos.y += coll->mid_floor; } -void Lara_Col_ForwardJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_ForwardJump(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; coll->bad_pos = NO_BAD_POS; @@ -292,12 +292,12 @@ void Lara_Col_ForwardJump(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_Pose(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Pose(ITEM *item, COLL_INFO *coll) { Lara_Col_Stop(item, coll); } -void Lara_Col_FastBack(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_FastBack(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_180; item->gravity = 0; @@ -329,7 +329,7 @@ void Lara_Col_FastBack(ITEM_INFO *item, COLL_INFO *coll) item->pos.y += coll->mid_floor; } -void Lara_Col_TurnR(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_TurnR(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; item->gravity = 0; @@ -357,12 +357,12 @@ void Lara_Col_TurnR(ITEM_INFO *item, COLL_INFO *coll) item->pos.y += coll->mid_floor; } -void Lara_Col_TurnL(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_TurnL(ITEM *item, COLL_INFO *coll) { Lara_Col_TurnR(item, coll); } -void Lara_Col_Death(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Death(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; coll->bad_pos = STEPUP_HEIGHT; @@ -377,7 +377,7 @@ void Lara_Col_Death(ITEM_INFO *item, COLL_INFO *coll) g_Lara.air = -1; } -void Lara_Col_FastFall(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_FastFall(ITEM *item, COLL_INFO *coll) { item->gravity = 1; coll->bad_pos = NO_BAD_POS; @@ -401,7 +401,7 @@ void Lara_Col_FastFall(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_Hang(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Hang(ITEM *item, COLL_INFO *coll) { Lara_HangTest(item, coll); if (item->goal_anim_state == LS_HANG && g_Input.forward) { @@ -415,7 +415,7 @@ void Lara_Col_Hang(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_Reach(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Reach(ITEM *item, COLL_INFO *coll) { item->gravity = 1; g_Lara.move_angle = item->rot.y; @@ -441,7 +441,7 @@ void Lara_Col_Reach(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_Splat(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Splat(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; coll->bad_pos = STEPUP_HEIGHT; @@ -453,12 +453,12 @@ void Lara_Col_Splat(ITEM_INFO *item, COLL_INFO *coll) Item_ShiftCol(item, coll); } -void Lara_Col_Land(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Land(ITEM *item, COLL_INFO *coll) { Lara_Col_Stop(item, coll); } -void Lara_Col_Compress(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Compress(ITEM *item, COLL_INFO *coll) { item->gravity = 0; item->fall_speed = 0; @@ -480,7 +480,7 @@ void Lara_Col_Compress(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_Back(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Back(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_180; item->gravity = 0; @@ -520,17 +520,17 @@ void Lara_Col_Back(ITEM_INFO *item, COLL_INFO *coll) item->pos.y += coll->mid_floor; } -void Lara_Col_Null(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Null(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_FastTurn(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_FastTurn(ITEM *item, COLL_INFO *coll) { Lara_Col_Stop(item, coll); } -void Lara_Col_StepRight(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_StepRight(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y + PHD_90; item->gravity = 0; @@ -561,7 +561,7 @@ void Lara_Col_StepRight(ITEM_INFO *item, COLL_INFO *coll) item->pos.y += coll->mid_floor; } -void Lara_Col_StepLeft(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_StepLeft(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_90; item->gravity = 0; @@ -592,31 +592,31 @@ void Lara_Col_StepLeft(ITEM_INFO *item, COLL_INFO *coll) item->pos.y += coll->mid_floor; } -void Lara_Col_Slide(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Slide(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; Lara_SlideSlope(item, coll); } -void Lara_Col_BackJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_BackJump(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_180; M_Jumper(item, coll); } -void Lara_Col_RightJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_RightJump(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y + PHD_90; M_Jumper(item, coll); } -void Lara_Col_LeftJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_LeftJump(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_90; M_Jumper(item, coll); } -void Lara_Col_UpJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_UpJump(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; coll->bad_pos = NO_BAD_POS; @@ -662,7 +662,7 @@ void Lara_Col_UpJump(ITEM_INFO *item, COLL_INFO *coll) item->fall_speed = 0; } -void Lara_Col_FallBack(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_FallBack(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_180; coll->bad_pos = NO_BAD_POS; @@ -684,82 +684,82 @@ void Lara_Col_FallBack(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_HangLeft(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_HangLeft(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_90; Lara_HangTest(item, coll); g_Lara.move_angle = item->rot.y - PHD_90; } -void Lara_Col_HangRight(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_HangRight(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y + PHD_90; Lara_HangTest(item, coll); g_Lara.move_angle = item->rot.y + PHD_90; } -void Lara_Col_SlideBack(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_SlideBack(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_180; Lara_SlideSlope(item, coll); } -void Lara_Col_PushBlock(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_PushBlock(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_PullBlock(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_PullBlock(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_PPReady(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_PPReady(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_Pickup(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Pickup(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_Controlled(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Controlled(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_Twist(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Twist(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_UWRoll(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_UWRoll(ITEM *item, COLL_INFO *coll) { Lara_SwimCollision(item, coll); } -void Lara_Col_SwitchOn(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_SwitchOn(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_SwitchOff(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_SwitchOff(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_UseKey(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_UseKey(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_UsePuzzle(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_UsePuzzle(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_Roll(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Roll(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; item->gravity = 0; @@ -791,7 +791,7 @@ void Lara_Col_Roll(ITEM_INFO *item, COLL_INFO *coll) item->pos.y += coll->mid_floor; } -void Lara_Col_Roll2(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Roll2(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_180; item->gravity = 0; @@ -823,21 +823,21 @@ void Lara_Col_Roll2(ITEM_INFO *item, COLL_INFO *coll) item->pos.y += coll->mid_floor; } -void Lara_Col_Special(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Special(ITEM *item, COLL_INFO *coll) { } -void Lara_Col_UseMidas(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_UseMidas(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_DieMidas(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_DieMidas(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_SwanDive(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_SwanDive(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; coll->bad_pos = NO_BAD_POS; @@ -855,7 +855,7 @@ void Lara_Col_SwanDive(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_FastDive(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_FastDive(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; coll->bad_pos = NO_BAD_POS; @@ -877,67 +877,67 @@ void Lara_Col_FastDive(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_Col_Gymnast(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Gymnast(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_WaterOut(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_WaterOut(ITEM *item, COLL_INFO *coll) { M_Default(item, coll); } -void Lara_Col_SurfSwim(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_SurfSwim(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; Lara_SurfaceCollision(item, coll); } -void Lara_Col_SurfTread(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_SurfTread(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y; Lara_SurfaceCollision(item, coll); } -void Lara_Col_SurfBack(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_SurfBack(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_180; Lara_SurfaceCollision(item, coll); } -void Lara_Col_SurfLeft(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_SurfLeft(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y - PHD_90; Lara_SurfaceCollision(item, coll); } -void Lara_Col_SurfRight(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_SurfRight(ITEM *item, COLL_INFO *coll) { g_Lara.move_angle = item->rot.y + PHD_90; Lara_SurfaceCollision(item, coll); } -void Lara_Col_Swim(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Swim(ITEM *item, COLL_INFO *coll) { Lara_SwimCollision(item, coll); } -void Lara_Col_Glide(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Glide(ITEM *item, COLL_INFO *coll) { Lara_SwimCollision(item, coll); } -void Lara_Col_Tread(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Tread(ITEM *item, COLL_INFO *coll) { Lara_SwimCollision(item, coll); } -void Lara_Col_Dive(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_Dive(ITEM *item, COLL_INFO *coll) { Lara_SwimCollision(item, coll); } -void Lara_Col_UWDeath(ITEM_INFO *item, COLL_INFO *coll) +void Lara_Col_UWDeath(ITEM *item, COLL_INFO *coll) { item->hit_points = -1; g_Lara.air = -1; diff --git a/src/game/lara/col.h b/src/game/lara/col.h index daefe9714..899f5d928 100644 --- a/src/game/lara/col.h +++ b/src/game/lara/col.h @@ -4,64 +4,64 @@ #include "global/types.h" -extern void (*g_LaraCollisionRoutines[])(ITEM_INFO *item, COLL_INFO *coll); +extern void (*g_LaraCollisionRoutines[])(ITEM *item, COLL_INFO *coll); -void Lara_Col_Walk(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Run(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Stop(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_ForwardJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Pose(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_FastBack(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_TurnR(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_TurnL(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Death(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_FastFall(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Hang(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Reach(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Splat(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Tread(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Land(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Compress(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Back(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Swim(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Glide(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Null(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_FastTurn(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_StepRight(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_StepLeft(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Roll2(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Slide(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_BackJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_RightJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_LeftJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_UpJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_FallBack(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_HangLeft(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_HangRight(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_SlideBack(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_SurfTread(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_SurfSwim(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Dive(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_PushBlock(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_PullBlock(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_PPReady(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Pickup(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Controlled(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_SwitchOn(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_SwitchOff(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_UseKey(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_UsePuzzle(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_UWDeath(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Roll(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Special(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_SurfBack(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_SurfLeft(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_SurfRight(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_UseMidas(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_DieMidas(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_SwanDive(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_FastDive(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Gymnast(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_WaterOut(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_Twist(ITEM_INFO *item, COLL_INFO *coll); -void Lara_Col_UWRoll(ITEM_INFO *item, COLL_INFO *coll); +void Lara_Col_Walk(ITEM *item, COLL_INFO *coll); +void Lara_Col_Run(ITEM *item, COLL_INFO *coll); +void Lara_Col_Stop(ITEM *item, COLL_INFO *coll); +void Lara_Col_ForwardJump(ITEM *item, COLL_INFO *coll); +void Lara_Col_Pose(ITEM *item, COLL_INFO *coll); +void Lara_Col_FastBack(ITEM *item, COLL_INFO *coll); +void Lara_Col_TurnR(ITEM *item, COLL_INFO *coll); +void Lara_Col_TurnL(ITEM *item, COLL_INFO *coll); +void Lara_Col_Death(ITEM *item, COLL_INFO *coll); +void Lara_Col_FastFall(ITEM *item, COLL_INFO *coll); +void Lara_Col_Hang(ITEM *item, COLL_INFO *coll); +void Lara_Col_Reach(ITEM *item, COLL_INFO *coll); +void Lara_Col_Splat(ITEM *item, COLL_INFO *coll); +void Lara_Col_Tread(ITEM *item, COLL_INFO *coll); +void Lara_Col_Land(ITEM *item, COLL_INFO *coll); +void Lara_Col_Compress(ITEM *item, COLL_INFO *coll); +void Lara_Col_Back(ITEM *item, COLL_INFO *coll); +void Lara_Col_Swim(ITEM *item, COLL_INFO *coll); +void Lara_Col_Glide(ITEM *item, COLL_INFO *coll); +void Lara_Col_Null(ITEM *item, COLL_INFO *coll); +void Lara_Col_FastTurn(ITEM *item, COLL_INFO *coll); +void Lara_Col_StepRight(ITEM *item, COLL_INFO *coll); +void Lara_Col_StepLeft(ITEM *item, COLL_INFO *coll); +void Lara_Col_Roll2(ITEM *item, COLL_INFO *coll); +void Lara_Col_Slide(ITEM *item, COLL_INFO *coll); +void Lara_Col_BackJump(ITEM *item, COLL_INFO *coll); +void Lara_Col_RightJump(ITEM *item, COLL_INFO *coll); +void Lara_Col_LeftJump(ITEM *item, COLL_INFO *coll); +void Lara_Col_UpJump(ITEM *item, COLL_INFO *coll); +void Lara_Col_FallBack(ITEM *item, COLL_INFO *coll); +void Lara_Col_HangLeft(ITEM *item, COLL_INFO *coll); +void Lara_Col_HangRight(ITEM *item, COLL_INFO *coll); +void Lara_Col_SlideBack(ITEM *item, COLL_INFO *coll); +void Lara_Col_SurfTread(ITEM *item, COLL_INFO *coll); +void Lara_Col_SurfSwim(ITEM *item, COLL_INFO *coll); +void Lara_Col_Dive(ITEM *item, COLL_INFO *coll); +void Lara_Col_PushBlock(ITEM *item, COLL_INFO *coll); +void Lara_Col_PullBlock(ITEM *item, COLL_INFO *coll); +void Lara_Col_PPReady(ITEM *item, COLL_INFO *coll); +void Lara_Col_Pickup(ITEM *item, COLL_INFO *coll); +void Lara_Col_Controlled(ITEM *item, COLL_INFO *coll); +void Lara_Col_SwitchOn(ITEM *item, COLL_INFO *coll); +void Lara_Col_SwitchOff(ITEM *item, COLL_INFO *coll); +void Lara_Col_UseKey(ITEM *item, COLL_INFO *coll); +void Lara_Col_UsePuzzle(ITEM *item, COLL_INFO *coll); +void Lara_Col_UWDeath(ITEM *item, COLL_INFO *coll); +void Lara_Col_Roll(ITEM *item, COLL_INFO *coll); +void Lara_Col_Special(ITEM *item, COLL_INFO *coll); +void Lara_Col_SurfBack(ITEM *item, COLL_INFO *coll); +void Lara_Col_SurfLeft(ITEM *item, COLL_INFO *coll); +void Lara_Col_SurfRight(ITEM *item, COLL_INFO *coll); +void Lara_Col_UseMidas(ITEM *item, COLL_INFO *coll); +void Lara_Col_DieMidas(ITEM *item, COLL_INFO *coll); +void Lara_Col_SwanDive(ITEM *item, COLL_INFO *coll); +void Lara_Col_FastDive(ITEM *item, COLL_INFO *coll); +void Lara_Col_Gymnast(ITEM *item, COLL_INFO *coll); +void Lara_Col_WaterOut(ITEM *item, COLL_INFO *coll); +void Lara_Col_Twist(ITEM *item, COLL_INFO *coll); +void Lara_Col_UWRoll(ITEM *item, COLL_INFO *coll); diff --git a/src/game/lara/common.c b/src/game/lara/common.c index ed8a7ef99..11d207b47 100644 --- a/src/game/lara/common.c +++ b/src/game/lara/common.c @@ -37,7 +37,7 @@ LARA_INFO *Lara_GetLaraInfo(void) return &g_Lara; } -ITEM_INFO *Lara_GetItem(void) +ITEM *Lara_GetItem(void) { return g_LaraItem; } @@ -46,8 +46,8 @@ void Lara_Control(void) { COLL_INFO coll = { 0 }; - ITEM_INFO *item = g_LaraItem; - const ROOM_INFO *const room = &g_RoomInfo[item->room_num]; + ITEM *item = g_LaraItem; + const ROOM *const room = &g_RoomInfo[item->room_num]; const bool room_submerged = (room->flags & RF_UNDERWATER) != 0; if (g_Lara.interact_target.is_moving @@ -231,7 +231,7 @@ void Lara_SwapSingleMesh(const LARA_MESH mesh, const GAME_OBJECT_ID object_id) g_Lara.mesh_ptrs[mesh] = g_Meshes[g_Objects[object_id].mesh_idx + mesh]; } -void Lara_Animate(ITEM_INFO *item) +void Lara_Animate(ITEM *item) { int16_t *command; ANIM *anim; @@ -331,7 +331,7 @@ void Lara_Animate(ITEM_INFO *item) item->pos.z += (Math_Cos(g_Lara.move_angle) * item->speed) >> W2V_SHIFT; } -void Lara_AnimateUntil(ITEM_INFO *lara_item, int32_t goal) +void Lara_AnimateUntil(ITEM *lara_item, int32_t goal) { lara_item->goal_anim_state = goal; do { @@ -678,7 +678,7 @@ int16_t Lara_GetNearestEnemy(void) int16_t best_item_num = NO_ITEM; int16_t item_num = g_NextItemActive; while (item_num != NO_ITEM) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Object_IsObjectType(item->object_id, g_EnemyObjects)) { const int32_t distance = Item_GetDistance(item, &g_LaraItem->pos); @@ -694,22 +694,22 @@ int16_t Lara_GetNearestEnemy(void) return best_item_num; } -bool Lara_TestBoundsCollide(ITEM_INFO *item, int32_t radius) +bool Lara_TestBoundsCollide(ITEM *item, int32_t radius) { return Item_TestBoundsCollide(g_LaraItem, item, radius); } -bool Lara_TestPosition(const ITEM_INFO *item, const OBJECT_BOUNDS *const bounds) +bool Lara_TestPosition(const ITEM *item, const OBJECT_BOUNDS *const bounds) { return Item_TestPosition(g_LaraItem, item, bounds); } -void Lara_AlignPosition(ITEM_INFO *item, XYZ_32 *vec) +void Lara_AlignPosition(ITEM *item, XYZ_32 *vec) { Item_AlignPosition(g_LaraItem, item, vec); } -bool Lara_MovePosition(ITEM_INFO *item, XYZ_32 *vec) +bool Lara_MovePosition(ITEM *item, XYZ_32 *vec) { int32_t velocity = g_Config.walk_to_items && g_Lara.water_status != LWS_UNDERWATER @@ -719,9 +719,9 @@ bool Lara_MovePosition(ITEM_INFO *item, XYZ_32 *vec) return Item_MovePosition(g_LaraItem, item, vec, velocity); } -void Lara_Push(ITEM_INFO *item, COLL_INFO *coll, bool spaz_on, bool big_push) +void Lara_Push(ITEM *item, COLL_INFO *coll, bool spaz_on, bool big_push) { - ITEM_INFO *const lara_item = g_LaraItem; + ITEM *const lara_item = g_LaraItem; int32_t x = lara_item->pos.x - item->pos.x; int32_t z = lara_item->pos.z - item->pos.z; const int32_t c = Math_Cos(item->rot.y); diff --git a/src/game/lara/common.h b/src/game/lara/common.h index eff7d1b2f..c082c42c1 100644 --- a/src/game/lara/common.h +++ b/src/game/lara/common.h @@ -10,8 +10,8 @@ void Lara_Control(void); void Lara_ControlExtra(int16_t item_num); -void Lara_Animate(ITEM_INFO *item); -void Lara_AnimateUntil(ITEM_INFO *lara_item, int32_t goal); +void Lara_Animate(ITEM *item); +void Lara_AnimateUntil(ITEM *lara_item, int32_t goal); void Lara_Initialise(int32_t level_num); void Lara_InitialiseLoad(int16_t item_num); @@ -24,11 +24,11 @@ bool Lara_IsNearItem(const XYZ_32 *pos, int32_t distance); void Lara_UseItem(GAME_OBJECT_ID object_id); int16_t Lara_GetNearestEnemy(void); -bool Lara_TestBoundsCollide(ITEM_INFO *item, int32_t radius); -bool Lara_TestPosition(const ITEM_INFO *item, const OBJECT_BOUNDS *bounds); -void Lara_AlignPosition(ITEM_INFO *item, XYZ_32 *vec); -bool Lara_MovePosition(ITEM_INFO *item, XYZ_32 *vec); -void Lara_Push(ITEM_INFO *item, COLL_INFO *coll, bool spaz_on, bool big_push); +bool Lara_TestBoundsCollide(ITEM *item, int32_t radius); +bool Lara_TestPosition(const ITEM *item, const OBJECT_BOUNDS *bounds); +void Lara_AlignPosition(ITEM *item, XYZ_32 *vec); +bool Lara_MovePosition(ITEM *item, XYZ_32 *vec); +void Lara_Push(ITEM *item, COLL_INFO *coll, bool spaz_on, bool big_push); void Lara_TakeDamage(int16_t damage, bool hit_status); diff --git a/src/game/lara/control.c b/src/game/lara/control.c index 6fc1a3aa2..15e83fbbb 100644 --- a/src/game/lara/control.c +++ b/src/game/lara/control.c @@ -27,15 +27,15 @@ static int32_t m_OpenDoorsCheatCooldown = 0; static void M_WaterCurrent(COLL_INFO *coll); -static void M_BaddieCollision(ITEM_INFO *lara_item, COLL_INFO *coll); +static void M_BaddieCollision(ITEM *lara_item, COLL_INFO *coll); static void M_WaterCurrent(COLL_INFO *coll) { XYZ_32 target; - ITEM_INFO *const item = g_LaraItem; - const ROOM_INFO *const r = &g_RoomInfo[item->room_num]; - const SECTOR_INFO *const sector = + ITEM *const item = g_LaraItem; + const ROOM *const r = &g_RoomInfo[item->room_num]; + const SECTOR *const sector = &r->sectors [((item->pos.z - r->z) >> WALL_SHIFT) + ((item->pos.x - r->x) >> WALL_SHIFT) * r->z_size]; @@ -109,7 +109,7 @@ static void M_WaterCurrent(COLL_INFO *coll) coll->old.z = item->pos.z; } -static void M_BaddieCollision(ITEM_INFO *lara_item, COLL_INFO *coll) +static void M_BaddieCollision(ITEM *lara_item, COLL_INFO *coll) { lara_item->hit_status = 0; g_Lara.hit_direction = -1; @@ -122,22 +122,22 @@ static void M_BaddieCollision(ITEM_INFO *lara_item, COLL_INFO *coll) roomies[numroom++] = lara_item->room_num; - DOOR_INFOS *door = g_RoomInfo[lara_item->room_num].doors; - if (door) { - for (int i = 0; i < door->count; i++) { + PORTALS *portals = g_RoomInfo[lara_item->room_num].portals; + if (portals != NULL) { + for (int i = 0; i < portals->count; i++) { if (numroom >= MAX_BADDIE_COLLISION) { break; } - roomies[numroom++] = door->door[i].room_num; + roomies[numroom++] = portals->portal[i].room_num; } } for (int i = 0; i < numroom; i++) { int16_t item_num = g_RoomInfo[roomies[i]].item_num; while (item_num != NO_ITEM) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->collidable && item->status != IS_INVISIBLE) { - OBJECT_INFO *object = &g_Objects[item->object_id]; + OBJECT *object = &g_Objects[item->object_id]; if (object->collision) { int32_t x = lara_item->pos.x - item->pos.x; int32_t y = lara_item->pos.y - item->pos.y; @@ -175,7 +175,7 @@ static void M_BaddieCollision(ITEM_INFO *lara_item, COLL_INFO *coll) } } -void Lara_HandleAboveWater(ITEM_INFO *item, COLL_INFO *coll) +void Lara_HandleAboveWater(ITEM *item, COLL_INFO *coll) { coll->old.x = item->pos.x; coll->old.y = item->pos.y; @@ -242,7 +242,7 @@ void Lara_HandleAboveWater(ITEM_INFO *item, COLL_INFO *coll) Room_TestTriggers(item); } -void Lara_HandleSurface(ITEM_INFO *item, COLL_INFO *coll) +void Lara_HandleSurface(ITEM *item, COLL_INFO *coll) { g_Camera.target_elevation = -22 * PHD_DEGREE; @@ -308,7 +308,7 @@ void Lara_HandleSurface(ITEM_INFO *item, COLL_INFO *coll) Room_TestTriggers(item); } -void Lara_HandleUnderwater(ITEM_INFO *item, COLL_INFO *coll) +void Lara_HandleUnderwater(ITEM *item, COLL_INFO *coll) { coll->bad_pos = NO_BAD_POS; coll->bad_neg = -UW_HEIGHT; diff --git a/src/game/lara/control.h b/src/game/lara/control.h index 1bee27aa0..17eb0deba 100644 --- a/src/game/lara/control.h +++ b/src/game/lara/control.h @@ -4,6 +4,6 @@ #include "global/types.h" -void Lara_HandleAboveWater(ITEM_INFO *item, COLL_INFO *coll); -void Lara_HandleUnderwater(ITEM_INFO *item, COLL_INFO *coll); -void Lara_HandleSurface(ITEM_INFO *item, COLL_INFO *coll); +void Lara_HandleAboveWater(ITEM *item, COLL_INFO *coll); +void Lara_HandleUnderwater(ITEM *item, COLL_INFO *coll); +void Lara_HandleSurface(ITEM *item, COLL_INFO *coll); diff --git a/src/game/lara/draw.c b/src/game/lara/draw.c index 95a94079f..8cdc6fbb8 100644 --- a/src/game/lara/draw.c +++ b/src/game/lara/draw.c @@ -8,9 +8,9 @@ #include "global/vars.h" #include "math/matrix.h" -void Lara_Draw(ITEM_INFO *item) +void Lara_Draw(ITEM *item) { - OBJECT_INFO *object; + OBJECT *object; FRAME_INFO *frame; FRAME_INFO *frmptr[2]; MATRIX saved_matrix; @@ -326,12 +326,12 @@ end: } void Lara_Draw_I( - ITEM_INFO *item, FRAME_INFO *frame1, FRAME_INFO *frame2, int32_t frac, + ITEM *item, FRAME_INFO *frame1, FRAME_INFO *frame2, int32_t frac, int32_t rate) { MATRIX saved_matrix; - OBJECT_INFO *object = &g_Objects[item->object_id]; + OBJECT *object = &g_Objects[item->object_id]; const BOUNDS_16 *const bounds = Item_GetBoundsAccurate(item); saved_matrix = *g_MatrixPtr; diff --git a/src/game/lara/draw.h b/src/game/lara/draw.h index 3aec84734..978b8a08a 100644 --- a/src/game/lara/draw.h +++ b/src/game/lara/draw.h @@ -4,7 +4,7 @@ #include -void Lara_Draw(ITEM_INFO *item); +void Lara_Draw(ITEM *item); void Lara_Draw_I( - ITEM_INFO *item, FRAME_INFO *frame1, FRAME_INFO *frame2, int32_t frac, + ITEM *item, FRAME_INFO *frame1, FRAME_INFO *frame2, int32_t frac, int32_t rate); diff --git a/src/game/lara/hair.c b/src/game/lara/hair.c index 6d02f0a29..2056238da 100644 --- a/src/game/lara/hair.c +++ b/src/game/lara/hair.c @@ -87,7 +87,7 @@ void Lara_Hair_Control(void) } bool in_cutscene; - OBJECT_INFO *object; + OBJECT *object; int32_t *bone; int32_t distance; FRAME_INFO *frame; @@ -96,7 +96,7 @@ void Lara_Hair_Control(void) FRAME_INFO *frmptr[2]; int16_t **mesh_base; XYZ_32 pos; - const SECTOR_INFO *sector; + const SECTOR *sector; int32_t i; int32_t water_level; int32_t height; @@ -382,6 +382,7 @@ void Lara_Hair_Control(void) case LWS_UNDERWATER: case LWS_SURFACE: + case LWS_CHEAT: if (m_Hair[i].pos.y < water_level) { m_Hair[i].pos.y = water_level; } else if (m_Hair[i].pos.y > height) { @@ -448,7 +449,7 @@ void Lara_Hair_Draw(void) return; } - OBJECT_INFO *object = &g_Objects[O_HAIR]; + OBJECT *object = &g_Objects[O_HAIR]; int16_t mesh_idx = object->mesh_idx; if ((g_Lara.mesh_effects & (1 << LM_HEAD)) && object->nmeshes >= HAIR_SEGMENTS * 2) { diff --git a/src/game/lara/hair.h b/src/game/lara/hair.h index d0a229d04..7b037384a 100644 --- a/src/game/lara/hair.h +++ b/src/game/lara/hair.h @@ -5,7 +5,7 @@ #include #include -typedef struct HAIR_SEGMENT { +typedef struct { XYZ_32 pos; XYZ_16 rot; struct { diff --git a/src/game/lara/misc.c b/src/game/lara/misc.c index ddda1f71d..b8583369f 100644 --- a/src/game/lara/misc.c +++ b/src/game/lara/misc.c @@ -21,7 +21,7 @@ #define LF_STARTHANG 12 #define LF_HANG 21 -void Lara_GetCollisionInfo(ITEM_INFO *item, COLL_INFO *coll) +void Lara_GetCollisionInfo(ITEM *item, COLL_INFO *coll) { coll->facing = g_Lara.move_angle; Collide_GetCollisionInfo( @@ -29,7 +29,7 @@ void Lara_GetCollisionInfo(ITEM_INFO *item, COLL_INFO *coll) LARA_HEIGHT); } -void Lara_HangTest(ITEM_INFO *item, COLL_INFO *coll) +void Lara_HangTest(ITEM *item, COLL_INFO *coll) { int flag = 0; const BOUNDS_16 *bounds; @@ -124,7 +124,7 @@ void Lara_HangTest(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_SlideSlope(ITEM_INFO *item, COLL_INFO *coll) +void Lara_SlideSlope(ITEM *item, COLL_INFO *coll) { coll->bad_pos = NO_BAD_POS; coll->bad_neg = -512; @@ -160,7 +160,7 @@ void Lara_SlideSlope(ITEM_INFO *item, COLL_INFO *coll) } } -bool Lara_Fallen(ITEM_INFO *item, COLL_INFO *coll) +bool Lara_Fallen(ITEM *item, COLL_INFO *coll) { if (coll->mid_floor <= STEPUP_HEIGHT) { return false; @@ -173,7 +173,7 @@ bool Lara_Fallen(ITEM_INFO *item, COLL_INFO *coll) return true; } -bool Lara_HitCeiling(ITEM_INFO *item, COLL_INFO *coll) +bool Lara_HitCeiling(ITEM *item, COLL_INFO *coll) { if (coll->coll_type != COLL_TOP && coll->coll_type != COLL_CLAMP) { return false; @@ -190,7 +190,7 @@ bool Lara_HitCeiling(ITEM_INFO *item, COLL_INFO *coll) item->speed = 0; return true; } -bool Lara_DeflectEdge(ITEM_INFO *item, COLL_INFO *coll) +bool Lara_DeflectEdge(ITEM *item, COLL_INFO *coll) { if (coll->coll_type == COLL_FRONT || coll->coll_type == COLL_TOPFRONT) { Item_ShiftCol(item, coll); @@ -211,7 +211,7 @@ bool Lara_DeflectEdge(ITEM_INFO *item, COLL_INFO *coll) return false; } -void Lara_DeflectEdgeJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_DeflectEdgeJump(ITEM *item, COLL_INFO *coll) { Item_ShiftCol(item, coll); switch (coll->coll_type) { @@ -253,7 +253,7 @@ void Lara_DeflectEdgeJump(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_SlideEdgeJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_SlideEdgeJump(ITEM *item, COLL_INFO *coll) { Item_ShiftCol(item, coll); switch (coll->coll_type) { @@ -284,7 +284,7 @@ void Lara_SlideEdgeJump(ITEM_INFO *item, COLL_INFO *coll) } } -bool Lara_TestVault(ITEM_INFO *item, COLL_INFO *coll) +bool Lara_TestVault(ITEM *item, COLL_INFO *coll) { if (coll->coll_type != COLL_FRONT || !g_Input.action || g_Lara.gun_status != LGS_ARMLESS @@ -356,7 +356,7 @@ bool Lara_TestVault(ITEM_INFO *item, COLL_INFO *coll) return false; } -bool Lara_TestHangJump(ITEM_INFO *item, COLL_INFO *coll) +bool Lara_TestHangJump(ITEM *item, COLL_INFO *coll) { if (coll->coll_type != COLL_FRONT || !g_Input.action || g_Lara.gun_status != LGS_ARMLESS @@ -415,7 +415,7 @@ bool Lara_TestHangJump(ITEM_INFO *item, COLL_INFO *coll) return true; } -bool Lara_TestHangSwingIn(ITEM_INFO *item, PHD_ANGLE angle) +bool Lara_TestHangSwingIn(ITEM *item, PHD_ANGLE angle) { int x = item->pos.x; int y = item->pos.y; @@ -436,7 +436,7 @@ bool Lara_TestHangSwingIn(ITEM_INFO *item, PHD_ANGLE angle) break; } - const SECTOR_INFO *const sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *const sector = Room_GetSector(x, y, z, &room_num); const int32_t h = Room_GetHeight(sector, x, y, z); const int32_t c = Room_GetCeiling(sector, x, y, z); @@ -448,7 +448,7 @@ bool Lara_TestHangSwingIn(ITEM_INFO *item, PHD_ANGLE angle) return false; } -bool Lara_TestHangJumpUp(ITEM_INFO *item, COLL_INFO *coll) +bool Lara_TestHangJumpUp(ITEM *item, COLL_INFO *coll) { if (coll->coll_type != COLL_FRONT || !g_Input.action || g_Lara.gun_status != LGS_ARMLESS @@ -501,7 +501,7 @@ bool Lara_TestHangJumpUp(ITEM_INFO *item, COLL_INFO *coll) return true; } -bool Lara_TestSlide(ITEM_INFO *item, COLL_INFO *coll) +bool Lara_TestSlide(ITEM *item, COLL_INFO *coll) { static PHD_ANGLE old_angle = 1; @@ -545,11 +545,11 @@ bool Lara_TestSlide(ITEM_INFO *item, COLL_INFO *coll) return true; } -bool Lara_LandedBad(ITEM_INFO *item, COLL_INFO *coll) +bool Lara_LandedBad(ITEM *item, COLL_INFO *coll) { int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &room_num); const int32_t old_y = item->pos.y; @@ -580,7 +580,7 @@ bool Lara_LandedBad(ITEM_INFO *item, COLL_INFO *coll) return false; } -void Lara_SurfaceCollision(ITEM_INFO *item, COLL_INFO *coll) +void Lara_SurfaceCollision(ITEM *item, COLL_INFO *coll) { coll->facing = g_Lara.move_angle; @@ -619,7 +619,7 @@ void Lara_SurfaceCollision(ITEM_INFO *item, COLL_INFO *coll) Lara_TestWaterClimbOut(item, coll); } -bool Lara_TestWaterClimbOut(ITEM_INFO *item, COLL_INFO *coll) +bool Lara_TestWaterClimbOut(ITEM *item, COLL_INFO *coll) { if (item->rot.y != g_Lara.move_angle) { return false; @@ -687,7 +687,7 @@ bool Lara_TestWaterClimbOut(ITEM_INFO *item, COLL_INFO *coll) return true; } -void Lara_SwimCollision(ITEM_INFO *item, COLL_INFO *coll) +void Lara_SwimCollision(ITEM *item, COLL_INFO *coll) { if (item->rot.x >= -PHD_90 && item->rot.x <= PHD_90) { g_Lara.move_angle = coll->facing = item->rot.y; @@ -750,7 +750,7 @@ void Lara_CatchFire(void) } int16_t room_num = g_LaraItem->room_num; - const SECTOR_INFO *const sector = Room_GetSector( + const SECTOR *const sector = Room_GetSector( g_LaraItem->pos.x, MAX_HEIGHT, g_LaraItem->pos.z, &room_num); const int16_t height = Room_GetHeight( sector, g_LaraItem->pos.x, MAX_HEIGHT, g_LaraItem->pos.z); @@ -769,7 +769,7 @@ void Lara_CatchFire(void) for (int32_t i = 0; i < 10; i++) { const int16_t fx_num = Effect_Create(g_LaraItem->room_num); if (fx_num != NO_ITEM) { - FX_INFO *const fx = &g_Effects[fx_num]; + FX *const fx = &g_Effects[fx_num]; fx->object_id = O_FLAME; fx->frame_num = (g_Objects[O_FLAME].nmeshes * Random_GetControl()) / 0x7FFF; @@ -783,7 +783,7 @@ void Lara_Extinguish(void) // put out flame objects int16_t fx_num = g_NextFxActive; while (fx_num != NO_ITEM) { - FX_INFO *const fx = &g_Effects[fx_num]; + FX *const fx = &g_Effects[fx_num]; const int16_t next_fx_num = fx->next_active; if (fx->object_id == O_FLAME && fx->counter < 0) { fx->counter = 0; diff --git a/src/game/lara/misc.h b/src/game/lara/misc.h index 1d6b1b8c8..f65df931e 100644 --- a/src/game/lara/misc.h +++ b/src/game/lara/misc.h @@ -6,21 +6,21 @@ #include -void Lara_GetCollisionInfo(ITEM_INFO *item, COLL_INFO *coll); -void Lara_HangTest(ITEM_INFO *item, COLL_INFO *coll); -void Lara_SlideSlope(ITEM_INFO *item, COLL_INFO *coll); -bool Lara_Fallen(ITEM_INFO *item, COLL_INFO *coll); -bool Lara_HitCeiling(ITEM_INFO *item, COLL_INFO *coll); -bool Lara_DeflectEdge(ITEM_INFO *item, COLL_INFO *coll); -void Lara_DeflectEdgeJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_SlideEdgeJump(ITEM_INFO *item, COLL_INFO *coll); -bool Lara_TestVault(ITEM_INFO *item, COLL_INFO *coll); -bool Lara_TestHangJump(ITEM_INFO *item, COLL_INFO *coll); -bool Lara_TestHangJumpUp(ITEM_INFO *item, COLL_INFO *coll); -bool Lara_TestHangSwingIn(ITEM_INFO *item, PHD_ANGLE angle); -bool Lara_TestSlide(ITEM_INFO *item, COLL_INFO *coll); -bool Lara_LandedBad(ITEM_INFO *item, COLL_INFO *coll); -void Lara_SwimCollision(ITEM_INFO *item, COLL_INFO *coll); -void Lara_SurfaceCollision(ITEM_INFO *item, COLL_INFO *coll); -bool Lara_TestWaterClimbOut(ITEM_INFO *item, COLL_INFO *coll); +void Lara_GetCollisionInfo(ITEM *item, COLL_INFO *coll); +void Lara_HangTest(ITEM *item, COLL_INFO *coll); +void Lara_SlideSlope(ITEM *item, COLL_INFO *coll); +bool Lara_Fallen(ITEM *item, COLL_INFO *coll); +bool Lara_HitCeiling(ITEM *item, COLL_INFO *coll); +bool Lara_DeflectEdge(ITEM *item, COLL_INFO *coll); +void Lara_DeflectEdgeJump(ITEM *item, COLL_INFO *coll); +void Lara_SlideEdgeJump(ITEM *item, COLL_INFO *coll); +bool Lara_TestVault(ITEM *item, COLL_INFO *coll); +bool Lara_TestHangJump(ITEM *item, COLL_INFO *coll); +bool Lara_TestHangJumpUp(ITEM *item, COLL_INFO *coll); +bool Lara_TestHangSwingIn(ITEM *item, PHD_ANGLE angle); +bool Lara_TestSlide(ITEM *item, COLL_INFO *coll); +bool Lara_LandedBad(ITEM *item, COLL_INFO *coll); +void Lara_SwimCollision(ITEM *item, COLL_INFO *coll); +void Lara_SurfaceCollision(ITEM *item, COLL_INFO *coll); +bool Lara_TestWaterClimbOut(ITEM *item, COLL_INFO *coll); void Lara_CatchFire(void); diff --git a/src/game/lara/state.c b/src/game/lara/state.c index 506e29112..7a83f450e 100644 --- a/src/game/lara/state.c +++ b/src/game/lara/state.c @@ -19,7 +19,7 @@ #define LF_ROLL 2 #define LF_JUMP_READY 3 -void (*g_LaraStateRoutines[])(ITEM_INFO *item, COLL_INFO *coll) = { +void (*g_LaraStateRoutines[])(ITEM *item, COLL_INFO *coll) = { Lara_State_Walk, Lara_State_Run, Lara_State_Stop, Lara_State_ForwardJump, Lara_State_Pose, Lara_State_FastBack, Lara_State_TurnR, Lara_State_TurnL, Lara_State_Death, @@ -44,15 +44,15 @@ void (*g_LaraStateRoutines[])(ITEM_INFO *item, COLL_INFO *coll) = { static bool m_JumpPermitted = true; -static int16_t M_FloorFront(ITEM_INFO *item, PHD_ANGLE ang, int32_t dist); +static int16_t M_FloorFront(ITEM *item, PHD_ANGLE ang, int32_t dist); -static int16_t M_FloorFront(ITEM_INFO *item, PHD_ANGLE ang, int32_t dist) +static int16_t M_FloorFront(ITEM *item, PHD_ANGLE ang, int32_t dist) { int32_t x = item->pos.x + ((Math_Sin(ang) * dist) >> W2V_SHIFT); int32_t y = item->pos.y - LARA_HEIGHT; int32_t z = item->pos.z + ((Math_Cos(ang) * dist) >> W2V_SHIFT); int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *const sector = Room_GetSector(x, y, z, &room_num); int32_t height = Room_GetHeight(sector, x, y, z); if (height != NO_HEIGHT) { height -= item->pos.y; @@ -60,7 +60,7 @@ static int16_t M_FloorFront(ITEM_INFO *item, PHD_ANGLE ang, int32_t dist) return height; } -void Lara_State_Walk(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Walk(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_STOP; @@ -89,7 +89,7 @@ void Lara_State_Walk(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Run(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Run(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_DEATH; @@ -142,7 +142,7 @@ void Lara_State_Run(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Stop(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Stop(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_DEATH; @@ -201,7 +201,7 @@ void Lara_State_Stop(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_ForwardJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_ForwardJump(ITEM *item, COLL_INFO *coll) { if (item->goal_anim_state == LS_SWAN_DIVE || item->goal_anim_state == LS_REACH) { @@ -236,11 +236,11 @@ void Lara_State_ForwardJump(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Pose(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Pose(ITEM *item, COLL_INFO *coll) { } -void Lara_State_FastBack(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_FastBack(ITEM *item, COLL_INFO *coll) { item->goal_anim_state = LS_STOP; if (g_Input.left) { @@ -256,7 +256,7 @@ void Lara_State_FastBack(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_TurnR(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_TurnR(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_STOP; @@ -286,7 +286,7 @@ void Lara_State_TurnR(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_TurnL(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_TurnL(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_STOP; @@ -316,13 +316,13 @@ void Lara_State_TurnL(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Death(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Death(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; } -void Lara_State_FastFall(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_FastFall(ITEM *item, COLL_INFO *coll) { item->speed = (item->speed * 95) / 100; if (item->fall_speed >= DAMAGE_START + DAMAGE_LENGTH) { @@ -330,7 +330,7 @@ void Lara_State_FastFall(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Hang(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Hang(ITEM *item, COLL_INFO *coll) { if (g_Config.enable_enhanced_look && g_Input.look) { Lara_LookUpDown(); @@ -347,7 +347,7 @@ void Lara_State_Hang(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Reach(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Reach(ITEM *item, COLL_INFO *coll) { g_Camera.target_angle = 85 * PHD_DEGREE; if (item->fall_speed > LARA_FASTFALL_SPEED) { @@ -355,15 +355,15 @@ void Lara_State_Reach(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Splat(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Splat(ITEM *item, COLL_INFO *coll) { } -void Lara_State_Land(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Land(ITEM *item, COLL_INFO *coll) { } -void Lara_State_Compress(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Compress(ITEM *item, COLL_INFO *coll) { if (g_Input.forward && M_FloorFront(item, item->rot.y, 256) >= -STEPUP_HEIGHT) { @@ -391,7 +391,7 @@ void Lara_State_Compress(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Back(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Back(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_STOP; @@ -413,7 +413,7 @@ void Lara_State_Back(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_FastTurn(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_FastTurn(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_STOP; @@ -438,7 +438,7 @@ void Lara_State_FastTurn(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_StepRight(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_StepRight(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_STOP; @@ -462,7 +462,7 @@ void Lara_State_StepRight(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_StepLeft(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_StepLeft(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_STOP; @@ -486,7 +486,7 @@ void Lara_State_StepLeft(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Slide(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Slide(ITEM *item, COLL_INFO *coll) { g_Camera.flags = NO_CHUNKY; g_Camera.target_elevation = -45 * PHD_DEGREE; @@ -495,7 +495,7 @@ void Lara_State_Slide(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_BackJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_BackJump(ITEM *item, COLL_INFO *coll) { g_Camera.target_angle = PHD_DEGREE * 135; if (item->fall_speed > LARA_FASTFALL_SPEED) { @@ -509,21 +509,21 @@ void Lara_State_BackJump(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_RightJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_RightJump(ITEM *item, COLL_INFO *coll) { if (item->fall_speed > LARA_FASTFALL_SPEED) { item->goal_anim_state = LS_FAST_FALL; } } -void Lara_State_LeftJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_LeftJump(ITEM *item, COLL_INFO *coll) { if (item->fall_speed > LARA_FASTFALL_SPEED) { item->goal_anim_state = LS_FAST_FALL; } } -void Lara_State_UpJump(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_UpJump(ITEM *item, COLL_INFO *coll) { if (item->fall_speed > (g_Config.enable_swing_cancel ? LARA_SWING_FASTFALL_SPEED @@ -532,7 +532,7 @@ void Lara_State_UpJump(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_FallBack(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_FallBack(ITEM *item, COLL_INFO *coll) { if (item->fall_speed > LARA_FASTFALL_SPEED) { item->goal_anim_state = LS_FAST_FALL; @@ -542,7 +542,7 @@ void Lara_State_FallBack(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_HangLeft(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_HangLeft(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -553,7 +553,7 @@ void Lara_State_HangLeft(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_HangRight(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_HangRight(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -564,14 +564,14 @@ void Lara_State_HangRight(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_SlideBack(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_SlideBack(ITEM *item, COLL_INFO *coll) { if (g_Input.jump && (!g_Config.enable_jump_twists || !g_Input.forward)) { item->goal_anim_state = LS_JUMP_BACK; } } -void Lara_State_PushBlock(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_PushBlock(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -580,7 +580,7 @@ void Lara_State_PushBlock(ITEM_INFO *item, COLL_INFO *coll) g_Camera.target_elevation = -25 * PHD_DEGREE; } -void Lara_State_PullBlock(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_PullBlock(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -589,7 +589,7 @@ void Lara_State_PullBlock(ITEM_INFO *item, COLL_INFO *coll) g_Camera.target_elevation = -25 * PHD_DEGREE; } -void Lara_State_PPReady(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_PPReady(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -599,7 +599,7 @@ void Lara_State_PPReady(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Pickup(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Pickup(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -608,13 +608,13 @@ void Lara_State_Pickup(ITEM_INFO *item, COLL_INFO *coll) g_Camera.target_distance = WALL_L; } -void Lara_State_Controlled(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Controlled(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; } -void Lara_State_SwitchOn(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_SwitchOn(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -623,7 +623,7 @@ void Lara_State_SwitchOn(ITEM_INFO *item, COLL_INFO *coll) g_Camera.target_distance = WALL_L; } -void Lara_State_SwitchOff(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_SwitchOff(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -632,7 +632,7 @@ void Lara_State_SwitchOff(ITEM_INFO *item, COLL_INFO *coll) g_Camera.target_distance = WALL_L; } -void Lara_State_UseKey(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_UseKey(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -641,7 +641,7 @@ void Lara_State_UseKey(ITEM_INFO *item, COLL_INFO *coll) g_Camera.target_distance = WALL_L; } -void Lara_State_UsePuzzle(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_UsePuzzle(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; @@ -650,29 +650,29 @@ void Lara_State_UsePuzzle(ITEM_INFO *item, COLL_INFO *coll) g_Camera.target_distance = WALL_L; } -void Lara_State_Roll(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Roll(ITEM *item, COLL_INFO *coll) { } -void Lara_State_Roll2(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Roll2(ITEM *item, COLL_INFO *coll) { } -void Lara_State_Special(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Special(ITEM *item, COLL_INFO *coll) { g_Camera.flags = FOLLOW_CENTRE; g_Camera.target_angle = 170 * PHD_DEGREE; g_Camera.target_elevation = -25 * PHD_DEGREE; } -void Lara_State_UseMidas(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_UseMidas(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; Twinkle_SparkleItem(item, (1 << LM_HAND_L) | (1 << LM_HAND_R)); } -void Lara_State_DieMidas(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_DieMidas(ITEM *item, COLL_INFO *coll) { item->gravity = 0; coll->enable_spaz = 0; @@ -756,7 +756,7 @@ void Lara_State_DieMidas(ITEM_INFO *item, COLL_INFO *coll) Twinkle_SparkleItem(item, g_Lara.mesh_effects); } -void Lara_State_SwanDive(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_SwanDive(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 1; @@ -766,7 +766,7 @@ void Lara_State_SwanDive(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_FastDive(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_FastDive(ITEM *item, COLL_INFO *coll) { if (g_Config.enable_jump_twists && g_Input.roll && item->goal_anim_state == LS_FAST_DIVE) { @@ -778,36 +778,36 @@ void Lara_State_FastDive(ITEM_INFO *item, COLL_INFO *coll) item->speed = (item->speed * 95) / 100; } -void Lara_State_Twist(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Twist(ITEM *item, COLL_INFO *coll) { } -void Lara_State_UWRoll(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_UWRoll(ITEM *item, COLL_INFO *coll) { item->fall_speed = 0; item->goal_anim_state = LS_TREAD; } -void Lara_State_Null(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Null(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; } -void Lara_State_Gymnast(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Gymnast(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; } -void Lara_State_WaterOut(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_WaterOut(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; coll->enable_baddie_push = 0; g_Camera.flags = FOLLOW_CENTRE; } -void Lara_State_SurfSwim(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_SurfSwim(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_UW_DEATH; @@ -838,7 +838,7 @@ void Lara_State_SurfSwim(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_SurfBack(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_SurfBack(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_UW_DEATH; @@ -866,7 +866,7 @@ void Lara_State_SurfBack(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_SurfLeft(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_SurfLeft(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_UW_DEATH; @@ -900,7 +900,7 @@ void Lara_State_SurfLeft(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_SurfRight(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_SurfRight(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_UW_DEATH; @@ -934,7 +934,7 @@ void Lara_State_SurfRight(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_SurfTread(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_SurfTread(ITEM *item, COLL_INFO *coll) { item->fall_speed -= 4; if (item->fall_speed < 0) { @@ -993,7 +993,7 @@ void Lara_State_SurfTread(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Swim(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Swim(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_UW_DEATH; @@ -1047,7 +1047,7 @@ void Lara_State_Swim(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Glide(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Glide(ITEM *item, COLL_INFO *coll) { if (item->hit_points <= 0) { item->goal_anim_state = LS_UW_DEATH; @@ -1100,7 +1100,7 @@ void Lara_State_Glide(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Tread(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Tread(ITEM *item, COLL_INFO *coll) { if (g_Config.enable_enhanced_look) { if (g_Input.look) { @@ -1155,14 +1155,14 @@ void Lara_State_Tread(ITEM_INFO *item, COLL_INFO *coll) } } -void Lara_State_Dive(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_Dive(ITEM *item, COLL_INFO *coll) { if (g_Input.forward) { item->rot.x -= PHD_DEGREE; } } -void Lara_State_UWDeath(ITEM_INFO *item, COLL_INFO *coll) +void Lara_State_UWDeath(ITEM *item, COLL_INFO *coll) { coll->enable_spaz = 0; item->fall_speed -= 8; diff --git a/src/game/lara/state.h b/src/game/lara/state.h index 61ee6d6ec..59cdd6673 100644 --- a/src/game/lara/state.h +++ b/src/game/lara/state.h @@ -4,64 +4,64 @@ #include "global/types.h" -extern void (*g_LaraStateRoutines[])(ITEM_INFO *item, COLL_INFO *coll); +extern void (*g_LaraStateRoutines[])(ITEM *item, COLL_INFO *coll); -void Lara_State_Walk(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Run(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Stop(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_ForwardJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Pose(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_FastBack(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_TurnR(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_TurnL(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Death(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_FastFall(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Hang(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Reach(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Splat(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Tread(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Land(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Compress(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Back(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Swim(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Glide(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Null(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_FastTurn(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_StepRight(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_StepLeft(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Roll2(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Slide(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_BackJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_RightJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_LeftJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_UpJump(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_FallBack(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_HangLeft(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_HangRight(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_SlideBack(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_SurfTread(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_SurfSwim(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Dive(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_PushBlock(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_PullBlock(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_PPReady(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Pickup(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Controlled(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_SwitchOn(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_SwitchOff(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_UseKey(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_UsePuzzle(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_UWDeath(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Roll(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Special(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_SurfBack(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_SurfLeft(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_SurfRight(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_UseMidas(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_DieMidas(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_SwanDive(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_FastDive(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Gymnast(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_WaterOut(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_Twist(ITEM_INFO *item, COLL_INFO *coll); -void Lara_State_UWRoll(ITEM_INFO *item, COLL_INFO *coll); +void Lara_State_Walk(ITEM *item, COLL_INFO *coll); +void Lara_State_Run(ITEM *item, COLL_INFO *coll); +void Lara_State_Stop(ITEM *item, COLL_INFO *coll); +void Lara_State_ForwardJump(ITEM *item, COLL_INFO *coll); +void Lara_State_Pose(ITEM *item, COLL_INFO *coll); +void Lara_State_FastBack(ITEM *item, COLL_INFO *coll); +void Lara_State_TurnR(ITEM *item, COLL_INFO *coll); +void Lara_State_TurnL(ITEM *item, COLL_INFO *coll); +void Lara_State_Death(ITEM *item, COLL_INFO *coll); +void Lara_State_FastFall(ITEM *item, COLL_INFO *coll); +void Lara_State_Hang(ITEM *item, COLL_INFO *coll); +void Lara_State_Reach(ITEM *item, COLL_INFO *coll); +void Lara_State_Splat(ITEM *item, COLL_INFO *coll); +void Lara_State_Tread(ITEM *item, COLL_INFO *coll); +void Lara_State_Land(ITEM *item, COLL_INFO *coll); +void Lara_State_Compress(ITEM *item, COLL_INFO *coll); +void Lara_State_Back(ITEM *item, COLL_INFO *coll); +void Lara_State_Swim(ITEM *item, COLL_INFO *coll); +void Lara_State_Glide(ITEM *item, COLL_INFO *coll); +void Lara_State_Null(ITEM *item, COLL_INFO *coll); +void Lara_State_FastTurn(ITEM *item, COLL_INFO *coll); +void Lara_State_StepRight(ITEM *item, COLL_INFO *coll); +void Lara_State_StepLeft(ITEM *item, COLL_INFO *coll); +void Lara_State_Roll2(ITEM *item, COLL_INFO *coll); +void Lara_State_Slide(ITEM *item, COLL_INFO *coll); +void Lara_State_BackJump(ITEM *item, COLL_INFO *coll); +void Lara_State_RightJump(ITEM *item, COLL_INFO *coll); +void Lara_State_LeftJump(ITEM *item, COLL_INFO *coll); +void Lara_State_UpJump(ITEM *item, COLL_INFO *coll); +void Lara_State_FallBack(ITEM *item, COLL_INFO *coll); +void Lara_State_HangLeft(ITEM *item, COLL_INFO *coll); +void Lara_State_HangRight(ITEM *item, COLL_INFO *coll); +void Lara_State_SlideBack(ITEM *item, COLL_INFO *coll); +void Lara_State_SurfTread(ITEM *item, COLL_INFO *coll); +void Lara_State_SurfSwim(ITEM *item, COLL_INFO *coll); +void Lara_State_Dive(ITEM *item, COLL_INFO *coll); +void Lara_State_PushBlock(ITEM *item, COLL_INFO *coll); +void Lara_State_PullBlock(ITEM *item, COLL_INFO *coll); +void Lara_State_PPReady(ITEM *item, COLL_INFO *coll); +void Lara_State_Pickup(ITEM *item, COLL_INFO *coll); +void Lara_State_Controlled(ITEM *item, COLL_INFO *coll); +void Lara_State_SwitchOn(ITEM *item, COLL_INFO *coll); +void Lara_State_SwitchOff(ITEM *item, COLL_INFO *coll); +void Lara_State_UseKey(ITEM *item, COLL_INFO *coll); +void Lara_State_UsePuzzle(ITEM *item, COLL_INFO *coll); +void Lara_State_UWDeath(ITEM *item, COLL_INFO *coll); +void Lara_State_Roll(ITEM *item, COLL_INFO *coll); +void Lara_State_Special(ITEM *item, COLL_INFO *coll); +void Lara_State_SurfBack(ITEM *item, COLL_INFO *coll); +void Lara_State_SurfLeft(ITEM *item, COLL_INFO *coll); +void Lara_State_SurfRight(ITEM *item, COLL_INFO *coll); +void Lara_State_UseMidas(ITEM *item, COLL_INFO *coll); +void Lara_State_DieMidas(ITEM *item, COLL_INFO *coll); +void Lara_State_SwanDive(ITEM *item, COLL_INFO *coll); +void Lara_State_FastDive(ITEM *item, COLL_INFO *coll); +void Lara_State_Gymnast(ITEM *item, COLL_INFO *coll); +void Lara_State_WaterOut(ITEM *item, COLL_INFO *coll); +void Lara_State_Twist(ITEM *item, COLL_INFO *coll); +void Lara_State_UWRoll(ITEM *item, COLL_INFO *coll); diff --git a/src/game/level.c b/src/game/level.c index 39e1de4cb..b27d3c4e9 100644 --- a/src/game/level.c +++ b/src/game/level.c @@ -147,10 +147,9 @@ static void M_LoadRooms(VFILE *file) g_RoomCount = VFile_ReadU16(file); LOG_INFO("%d rooms", g_RoomCount); - g_RoomInfo = - GameBuf_Alloc(sizeof(ROOM_INFO) * g_RoomCount, GBUF_ROOM_INFOS); + g_RoomInfo = GameBuf_Alloc(sizeof(ROOM) * g_RoomCount, GBUF_ROOMS); int i = 0; - for (ROOM_INFO *current_room_info = g_RoomInfo; i < g_RoomCount; + for (ROOM *current_room_info = g_RoomInfo; i < g_RoomCount; i++, current_room_info++) { // Room position current_room_info->x = VFile_ReadS32(file); @@ -172,22 +171,21 @@ static void M_LoadRooms(VFILE *file) // Doors const uint16_t num_doors = VFile_ReadS16(file); if (!num_doors) { - current_room_info->doors = NULL; + current_room_info->portals = NULL; } else { - current_room_info->doors = GameBuf_Alloc( - sizeof(uint16_t) + sizeof(DOOR_INFO) * num_doors, - GBUF_ROOM_DOOR); - current_room_info->doors->count = num_doors; + current_room_info->portals = GameBuf_Alloc( + sizeof(uint16_t) + sizeof(PORTAL) * num_doors, GBUF_ROOM_DOOR); + current_room_info->portals->count = num_doors; for (int32_t j = 0; j < num_doors; j++) { - DOOR_INFO *door = ¤t_room_info->doors->door[j]; - door->room_num = VFile_ReadS16(file); - door->normal.x = VFile_ReadS16(file); - door->normal.y = VFile_ReadS16(file); - door->normal.z = VFile_ReadS16(file); + PORTAL *const portal = ¤t_room_info->portals->portal[j]; + portal->room_num = VFile_ReadS16(file); + portal->normal.x = VFile_ReadS16(file); + portal->normal.y = VFile_ReadS16(file); + portal->normal.z = VFile_ReadS16(file); for (int32_t k = 0; k < 4; k++) { - door->vertex[k].x = VFile_ReadS16(file); - door->vertex[k].y = VFile_ReadS16(file); - door->vertex[k].z = VFile_ReadS16(file); + portal->vertex[k].x = VFile_ReadS16(file); + portal->vertex[k].y = VFile_ReadS16(file); + portal->vertex[k].z = VFile_ReadS16(file); } } } @@ -198,9 +196,9 @@ static void M_LoadRooms(VFILE *file) const int32_t sector_count = current_room_info->x_size * current_room_info->z_size; current_room_info->sectors = - GameBuf_Alloc(sizeof(SECTOR_INFO) * sector_count, GBUF_ROOM_SECTOR); + GameBuf_Alloc(sizeof(SECTOR) * sector_count, GBUF_ROOM_SECTOR); for (int32_t j = 0; j < sector_count; j++) { - SECTOR_INFO *const sector = ¤t_room_info->sectors[j]; + SECTOR *const sector = ¤t_room_info->sectors[j]; sector->index = VFile_ReadU16(file); sector->box = VFile_ReadS16(file); sector->portal_room.pit = VFile_ReadU8(file); @@ -219,10 +217,10 @@ static void M_LoadRooms(VFILE *file) current_room_info->light = NULL; } else { current_room_info->light = GameBuf_Alloc( - sizeof(LIGHT_INFO) * current_room_info->num_lights, + sizeof(LIGHT) * current_room_info->num_lights, GBUF_ROOM_LIGHTS); for (int32_t j = 0; j < current_room_info->num_lights; j++) { - LIGHT_INFO *light = ¤t_room_info->light[j]; + LIGHT *light = ¤t_room_info->light[j]; light->pos.x = VFile_ReadS32(file); light->pos.y = VFile_ReadS32(file); light->pos.z = VFile_ReadS32(file); @@ -237,10 +235,10 @@ static void M_LoadRooms(VFILE *file) current_room_info->mesh = NULL; } else { current_room_info->mesh = GameBuf_Alloc( - sizeof(MESH_INFO) * current_room_info->num_meshes, - GBUF_ROOM_STATIC_MESH_INFOS); + sizeof(MESH) * current_room_info->num_meshes, + GBUF_ROOM_STATIC_MESHES); for (int32_t j = 0; j < current_room_info->num_meshes; j++) { - MESH_INFO *mesh = ¤t_room_info->mesh[j]; + MESH *mesh = ¤t_room_info->mesh[j]; mesh->pos.x = VFile_ReadS32(file); mesh->pos.y = VFile_ReadS32(file); mesh->pos.z = VFile_ReadS32(file); @@ -485,7 +483,7 @@ static void M_LoadObjects(VFILE *file) LOG_INFO("%d objects", m_LevelInfo.object_count); for (int i = 0; i < m_LevelInfo.object_count; i++) { const GAME_OBJECT_ID object_id = VFile_ReadS32(file); - OBJECT_INFO *object = &g_Objects[object_id]; + OBJECT *object = &g_Objects[object_id]; object->nmeshes = VFile_ReadS16(file); object->mesh_idx = VFile_ReadS16(file); @@ -585,7 +583,7 @@ static void M_LoadSprites(VFILE *file) const int16_t mesh_idx = VFile_ReadS16(file); if (object_id < O_NUMBER_OF) { - OBJECT_INFO *object = &g_Objects[object_id]; + OBJECT *object = &g_Objects[object_id]; object->nmeshes = num_meshes; object->mesh_idx = mesh_idx; object->loaded = 1; @@ -741,12 +739,12 @@ static void M_LoadItems(VFILE *file) Shell_ExitSystem("M_LoadItems(): Too Many g_Items being Loaded!!"); } - g_Items = GameBuf_Alloc(sizeof(ITEM_INFO) * MAX_ITEMS, GBUF_ITEMS); + g_Items = GameBuf_Alloc(sizeof(ITEM) * MAX_ITEMS, GBUF_ITEMS); g_LevelItemCount = m_LevelInfo.item_count; Item_InitialiseArray(MAX_ITEMS); for (int i = 0; i < m_LevelInfo.item_count; i++) { - ITEM_INFO *item = &g_Items[i]; + ITEM *item = &g_Items[i]; item->object_id = VFile_ReadS16(file); item->room_num = VFile_ReadS16(file); item->pos.x = VFile_ReadS32(file); @@ -996,7 +994,7 @@ static void M_MarkWaterEdgeVertices(void) BENCHMARK *const benchmark = Benchmark_Start(); for (int32_t i = 0; i < g_RoomCount; i++) { - const ROOM_INFO *const room = &g_RoomInfo[i]; + const ROOM *const room = &g_RoomInfo[i]; const int32_t y_test = (room->flags & RF_UNDERWATER) ? room->max_ceiling : room->min_floor; int16_t *data = room->data; @@ -1017,7 +1015,7 @@ static size_t M_CalculateMaxVertices(void) BENCHMARK *const benchmark = Benchmark_Start(); size_t max_vertices = 0; for (int32_t i = 0; i < O_NUMBER_OF; i++) { - const OBJECT_INFO *object_info = &g_Objects[i]; + const OBJECT *object_info = &g_Objects[i]; if (!object_info->loaded) { continue; } @@ -1148,7 +1146,7 @@ bool Level_Initialise(int32_t level_num) Lara_Initialise(level_num); } - g_Effects = GameBuf_Alloc(NUM_EFFECTS * sizeof(FX_INFO), GBUF_EFFECTS); + g_Effects = GameBuf_Alloc(NUM_EFFECTS * sizeof(FX), GBUF_EFFECTS); Effect_InitialiseArray(); LOT_InitialiseArray(); diff --git a/src/game/los.c b/src/game/los.c index 08ffc2d85..3234a322e 100644 --- a/src/game/los.c +++ b/src/game/los.c @@ -10,12 +10,12 @@ static int32_t M_CheckX(const GAME_VECTOR *start, GAME_VECTOR *target); static int32_t M_CheckZ(const GAME_VECTOR *start, GAME_VECTOR *target); static bool M_ClipTarget( - const GAME_VECTOR *start, GAME_VECTOR *target, const SECTOR_INFO *sector); + const GAME_VECTOR *start, GAME_VECTOR *target, const SECTOR *sector); static int32_t M_CheckX( const GAME_VECTOR *const start, GAME_VECTOR *const target) { - const SECTOR_INFO *sector; + const SECTOR *sector; int32_t dx = target->x - start->x; if (dx == 0) { @@ -101,7 +101,7 @@ static int32_t M_CheckX( static int32_t M_CheckZ( const GAME_VECTOR *const start, GAME_VECTOR *const target) { - const SECTOR_INFO *sector; + const SECTOR *sector; int32_t dz = target->z - start->z; if (dz == 0) { @@ -186,7 +186,7 @@ static int32_t M_CheckZ( static bool M_ClipTarget( const GAME_VECTOR *const start, GAME_VECTOR *const target, - const SECTOR_INFO *const sector) + const SECTOR *const sector) { int32_t dx = target->x - start->x; int32_t dy = target->y - start->y; @@ -230,7 +230,7 @@ bool LOS_Check(const GAME_VECTOR *const start, GAME_VECTOR *const target) return false; } - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(target->x, target->y, target->z, &target->room_num); return M_ClipTarget(start, target, sector) && los1 == 1 && los2 == 1; diff --git a/src/game/lot.c b/src/game/lot.c index adbb4cc51..3f7a188ad 100644 --- a/src/game/lot.c +++ b/src/game/lot.c @@ -11,14 +11,14 @@ #include static int32_t m_SlotsUsed = 0; -static CREATURE_INFO *m_BaddieSlots = NULL; +static CREATURE *m_BaddieSlots = NULL; void LOT_InitialiseArray(void) { m_BaddieSlots = - GameBuf_Alloc(NUM_SLOTS * sizeof(CREATURE_INFO), GBUF_CREATURE_INFO); + GameBuf_Alloc(NUM_SLOTS * sizeof(CREATURE), GBUF_CREATURE_INFO); for (int i = 0; i < NUM_SLOTS; i++) { - CREATURE_INFO *creature = &m_BaddieSlots[i]; + CREATURE *creature = &m_BaddieSlots[i]; creature->item_num = NO_ITEM; creature->lot.node = GameBuf_Alloc(sizeof(BOX_NODE) * g_NumberBoxes, GBUF_CREATURE_LOT); @@ -28,8 +28,8 @@ void LOT_InitialiseArray(void) void LOT_DisableBaddieAI(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; - CREATURE_INFO *creature = item->data; + ITEM *item = &g_Items[item_num]; + CREATURE *creature = item->data; item->data = NULL; if (creature) { creature->item_num = NO_ITEM; @@ -45,7 +45,7 @@ bool LOT_EnableBaddieAI(int16_t item_num, int32_t always) if (m_SlotsUsed < NUM_SLOTS) { for (int32_t slot = 0; slot < NUM_SLOTS; slot++) { - CREATURE_INFO *creature = &m_BaddieSlots[slot]; + CREATURE *creature = &m_BaddieSlots[slot]; if (creature->item_num == NO_ITEM) { LOT_InitialiseSlot(item_num, slot); return true; @@ -56,7 +56,7 @@ bool LOT_EnableBaddieAI(int16_t item_num, int32_t always) int32_t worst_dist = 0; if (!always) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; int32_t x = (item->pos.x - g_Camera.pos.x) >> 8; int32_t y = (item->pos.y - g_Camera.pos.y) >> 8; int32_t z = (item->pos.z - g_Camera.pos.z) >> 8; @@ -65,8 +65,8 @@ bool LOT_EnableBaddieAI(int16_t item_num, int32_t always) int32_t worst_slot = -1; for (int32_t slot = 0; slot < NUM_SLOTS; slot++) { - CREATURE_INFO *creature = &m_BaddieSlots[slot]; - ITEM_INFO *item = &g_Items[creature->item_num]; + CREATURE *creature = &m_BaddieSlots[slot]; + ITEM *item = &g_Items[creature->item_num]; int32_t x = (item->pos.x - g_Camera.pos.x) >> 8; int32_t y = (item->pos.y - g_Camera.pos.y) >> 8; int32_t z = (item->pos.z - g_Camera.pos.z) >> 8; @@ -89,8 +89,8 @@ bool LOT_EnableBaddieAI(int16_t item_num, int32_t always) void LOT_InitialiseSlot(int16_t item_num, int32_t slot) { - CREATURE_INFO *creature = &m_BaddieSlots[slot]; - ITEM_INFO *item = &g_Items[item_num]; + CREATURE *creature = &m_BaddieSlots[slot]; + ITEM *item = &g_Items[item_num]; item->data = creature; creature->item_num = item_num; creature->mood = MOOD_BORED; @@ -141,9 +141,9 @@ void LOT_InitialiseSlot(int16_t item_num, int32_t slot) m_SlotsUsed++; } -void LOT_CreateZone(ITEM_INFO *item) +void LOT_CreateZone(ITEM *item) { - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; int16_t *zone; int16_t *flip; @@ -158,7 +158,7 @@ void LOT_CreateZone(ITEM_INFO *item) flip = g_GroundZone2[1]; } - const ROOM_INFO *const r = &g_RoomInfo[item->room_num]; + const ROOM *const r = &g_RoomInfo[item->room_num]; const int32_t z_sector = (item->pos.z - r->z) >> WALL_SHIFT; const int32_t x_sector = (item->pos.x - r->x) >> WALL_SHIFT; item->box_num = r->sectors[z_sector + x_sector * r->z_size].box; diff --git a/src/game/lot.h b/src/game/lot.h index 145b8780a..3df1ad663 100644 --- a/src/game/lot.h +++ b/src/game/lot.h @@ -9,6 +9,6 @@ void LOT_InitialiseArray(void); void LOT_DisableBaddieAI(int16_t item_num); bool LOT_EnableBaddieAI(int16_t item_num, int32_t always); void LOT_InitialiseSlot(int16_t item_num, int32_t slot); -void LOT_CreateZone(ITEM_INFO *item); +void LOT_CreateZone(ITEM *item); void LOT_InitialiseLOT(LOT_INFO *LOT); void LOT_ClearLOT(LOT_INFO *LOT); diff --git a/src/game/objects/common.c b/src/game/objects/common.c index 5dc7d3fc8..32c314928 100644 --- a/src/game/objects/common.c +++ b/src/game/objects/common.c @@ -32,7 +32,7 @@ static const GAME_OBJECT_PAIR m_KeyItemToReceptacleMap[] = { // clang-format on }; -OBJECT_INFO *Object_GetObject(GAME_OBJECT_ID object_id) +OBJECT *Object_GetObject(GAME_OBJECT_ID object_id) { return &g_Objects[object_id]; } @@ -70,9 +70,9 @@ int16_t Object_FindReceptacle(GAME_OBJECT_ID object_id) GAME_OBJECT_ID receptacle_to_check = Object_GetCognate(object_id, m_KeyItemToReceptacleMap); for (int item_num = 0; item_num < g_LevelItemCount; item_num++) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->object_id == receptacle_to_check) { - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + const OBJECT *const obj = &g_Objects[item->object_id]; if (Lara_TestPosition(item, obj->bounds())) { return item_num; } @@ -93,9 +93,9 @@ bool Object_IsObjectType( return false; } -void Object_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Object_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (!Lara_TestBoundsCollide(item, coll->radius)) { return; @@ -109,10 +109,9 @@ void Object_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) } } -void Object_CollisionTrap( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Object_CollisionTrap(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_ACTIVE) { if (Lara_TestBoundsCollide(item, coll->radius)) { @@ -123,11 +122,11 @@ void Object_CollisionTrap( } } -void Object_DrawDummyItem(ITEM_INFO *item) +void Object_DrawDummyItem(ITEM *item) { } -void Object_DrawSpriteItem(ITEM_INFO *item) +void Object_DrawSpriteItem(ITEM *item) { Output_DrawSprite( item->interp.result.pos.x, item->interp.result.pos.y, @@ -135,7 +134,7 @@ void Object_DrawSpriteItem(ITEM_INFO *item) g_Objects[item->object_id].mesh_idx - item->frame_num, item->shade); } -void Object_DrawPickupItem(ITEM_INFO *item) +void Object_DrawPickupItem(ITEM *item) { if (!g_Config.enable_3d_pickups) { Object_DrawSpriteItem(item); @@ -149,7 +148,7 @@ void Object_DrawPickupItem(ITEM_INFO *item) // Modify item to be the anim for inv item and animation 0. Item_SwitchToObjAnim(item, 0, 0, item_num_option); - OBJECT_INFO *object = &g_Objects[item_num_option]; + OBJECT *object = &g_Objects[item_num_option]; const FRAME_INFO *frame = g_Anims[item->anim_num].frame_ptr; @@ -168,7 +167,7 @@ void Object_DrawPickupItem(ITEM_INFO *item) // This is mostly true, but for example the 4 items in the Obelisk of // Khamoon the 4 items are sitting on top of a static mesh which is not // floor. - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &item->room_num); const int16_t floor_height = Room_GetHeight(sector, item->pos.x, item->pos.y, item->pos.z); @@ -292,9 +291,9 @@ void Object_DrawPickupItem(ITEM_INFO *item) } void Object_DrawInterpolatedObject( - const OBJECT_INFO *const object, uint32_t meshes, - const int16_t *extra_rotation, const FRAME_INFO *const frame1, - const FRAME_INFO *const frame2, const int32_t frac, const int32_t rate) + const OBJECT *const object, uint32_t meshes, const int16_t *extra_rotation, + const FRAME_INFO *const frame1, const FRAME_INFO *const frame2, + const int32_t frac, const int32_t rate) { assert(frame1); int32_t clip = Output_GetObjectBounds(&frame1->bounds); @@ -400,12 +399,12 @@ void Object_DrawInterpolatedObject( Matrix_Pop(); } -void Object_DrawAnimatingItem(ITEM_INFO *item) +void Object_DrawAnimatingItem(ITEM *item) { FRAME_INFO *frmptr[2]; int32_t rate; int32_t frac = Item_GetFrames(item, frmptr, &rate); - OBJECT_INFO *object = &g_Objects[item->object_id]; + OBJECT *object = &g_Objects[item->object_id]; if (object->shadow_size) { Output_DrawShadow(object->shadow_size, &frmptr[0]->bounds, item); @@ -428,7 +427,7 @@ void Object_DrawAnimatingItem(ITEM_INFO *item) Matrix_Pop(); } -void Object_DrawUnclippedItem(ITEM_INFO *item) +void Object_DrawUnclippedItem(ITEM *item) { int32_t left = g_PhdLeft; int32_t top = g_PhdTop; @@ -451,7 +450,7 @@ void Object_DrawUnclippedItem(ITEM_INFO *item) void Object_SetMeshReflective( const GAME_OBJECT_ID object_id, const int32_t mesh_idx, const bool enabled) { - const OBJECT_INFO *const object = &g_Objects[object_id]; + const OBJECT *const object = &g_Objects[object_id]; if (!object->loaded) { return; } @@ -504,7 +503,7 @@ void Object_SetMeshReflective( void Object_SetReflective(const GAME_OBJECT_ID object_id, const bool enabled) { - const OBJECT_INFO *const object = &g_Objects[object_id]; + const OBJECT *const object = &g_Objects[object_id]; for (int32_t i = 0; i < object->nmeshes; i++) { Object_SetMeshReflective(object_id, i, enabled); } diff --git a/src/game/objects/common.h b/src/game/objects/common.h index 88661641a..71f283dfc 100644 --- a/src/game/objects/common.h +++ b/src/game/objects/common.h @@ -4,7 +4,7 @@ #include "global/types.h" -typedef struct GAME_OBJECT_PAIR { +typedef struct { const GAME_OBJECT_ID key_id; const GAME_OBJECT_ID value_id; } GAME_OBJECT_PAIR; @@ -16,19 +16,18 @@ GAME_OBJECT_ID Object_GetCognateInverse( int16_t Object_FindReceptacle(GAME_OBJECT_ID object_id); bool Object_IsObjectType( GAME_OBJECT_ID object_id, const GAME_OBJECT_ID *test_arr); -void Object_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); -void Object_CollisionTrap( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void Object_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); +void Object_CollisionTrap(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); void Object_DrawInterpolatedObject( - const OBJECT_INFO *object, uint32_t meshes, const int16_t *extra_rotation, + const OBJECT *object, uint32_t meshes, const int16_t *extra_rotation, const FRAME_INFO *frame1, const FRAME_INFO *frame2, int32_t frac, int32_t rate); -void Object_DrawDummyItem(ITEM_INFO *item); -void Object_DrawSpriteItem(ITEM_INFO *item); -void Object_DrawPickupItem(ITEM_INFO *item); -void Object_DrawAnimatingItem(ITEM_INFO *item); -void Object_DrawUnclippedItem(ITEM_INFO *item); +void Object_DrawDummyItem(ITEM *item); +void Object_DrawSpriteItem(ITEM *item); +void Object_DrawPickupItem(ITEM *item); +void Object_DrawAnimatingItem(ITEM *item); +void Object_DrawUnclippedItem(ITEM *item); void Object_SetMeshReflective( GAME_OBJECT_ID object_id, int32_t mesh_idx, bool enabled); void Object_SetReflective(GAME_OBJECT_ID object_id, bool enabled); diff --git a/src/game/objects/creatures/ape.c b/src/game/objects/creatures/ape.c index 718f85dd1..51f89533c 100644 --- a/src/game/objects/creatures/ape.c +++ b/src/game/objects/creatures/ape.c @@ -46,14 +46,14 @@ typedef enum { APE_VAULT = 11, } APE_ANIM; -static BITE_INFO m_ApeBite = { 0, -19, 75, 15 }; +static BITE m_ApeBite = { 0, -19, 75, 15 }; static bool M_Vault(int16_t item_num, int16_t angle); static bool M_Vault(int16_t item_num, int16_t angle) { - ITEM_INFO *item = &g_Items[item_num]; - CREATURE_INFO *ape = item->data; + ITEM *item = &g_Items[item_num]; + CREATURE *ape = item->data; int32_t x = item->pos.x >> WALL_SHIFT; int32_t y = item->pos.y; int32_t z = item->pos.z >> WALL_SHIFT; @@ -108,7 +108,7 @@ static bool M_Vault(int16_t item_num, int16_t angle) return true; } -void Ape_Setup(OBJECT_INFO *obj) +void Ape_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -131,7 +131,7 @@ void Ape_Setup(OBJECT_INFO *obj) void Ape_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -140,7 +140,7 @@ void Ape_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *ape = item->data; + CREATURE *ape = item->data; int16_t head = 0; int16_t angle = 0; diff --git a/src/game/objects/creatures/ape.h b/src/game/objects/creatures/ape.h index 3ffbd0f16..9d5c9ebde 100644 --- a/src/game/objects/creatures/ape.h +++ b/src/game/objects/creatures/ape.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Ape_Setup(OBJECT_INFO *obj); +void Ape_Setup(OBJECT *obj); void Ape_Control(int16_t item_num); diff --git a/src/game/objects/creatures/bacon_lara.c b/src/game/objects/creatures/bacon_lara.c index 65062b47a..4a543b2d5 100644 --- a/src/game/objects/creatures/bacon_lara.c +++ b/src/game/objects/creatures/bacon_lara.c @@ -14,7 +14,7 @@ static int32_t m_AnchorX = -1; static int32_t m_AnchorZ = -1; -void BaconLara_Setup(OBJECT_INFO *obj) +void BaconLara_Setup(OBJECT *obj) { obj->initialise = BaconLara_Initialise; obj->control = BaconLara_Control; @@ -41,7 +41,7 @@ bool BaconLara_InitialiseAnchor(int32_t room_index) return false; } - ROOM_INFO *r = &g_RoomInfo[room_index]; + ROOM *r = &g_RoomInfo[room_index]; m_AnchorX = r->x + r->x_size * (WALL_L >> 1); m_AnchorZ = r->z + r->z_size * (WALL_L >> 1); @@ -54,7 +54,7 @@ void BaconLara_Control(int16_t item_num) return; } - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->hit_points < LARA_MAX_HITPOINTS) { Lara_TakeDamage((LARA_MAX_HITPOINTS - item->hit_points) * 10, false); @@ -67,7 +67,7 @@ void BaconLara_Control(int16_t item_num) int32_t z = 2 * m_AnchorZ - g_LaraItem->pos.z; int16_t room_num = item->room_num; - const SECTOR_INFO *sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *sector = Room_GetSector(x, y, z, &room_num); const int32_t h = Room_GetHeight(sector, x, y, z); item->floor = h; @@ -110,7 +110,7 @@ void BaconLara_Control(int16_t item_num) int32_t z = item->pos.z; int16_t room_num = item->room_num; - const SECTOR_INFO *sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *sector = Room_GetSector(x, y, z, &room_num); const int32_t h = Room_GetHeight(sector, x, y, z); item->floor = h; @@ -127,7 +127,7 @@ void BaconLara_Control(int16_t item_num) } } -void BaconLara_Draw(ITEM_INFO *item) +void BaconLara_Draw(ITEM *item) { if (item->current_anim_state == LS_DEATH) { Object_DrawAnimatingItem(item); diff --git a/src/game/objects/creatures/bacon_lara.h b/src/game/objects/creatures/bacon_lara.h index c4ac4ed46..128948ec6 100644 --- a/src/game/objects/creatures/bacon_lara.h +++ b/src/game/objects/creatures/bacon_lara.h @@ -2,8 +2,8 @@ #include "global/types.h" -void BaconLara_Setup(OBJECT_INFO *obj); +void BaconLara_Setup(OBJECT *obj); void BaconLara_Initialise(int16_t item_num); bool BaconLara_InitialiseAnchor(int32_t room_index); void BaconLara_Control(int16_t item_num); -void BaconLara_Draw(ITEM_INFO *item); +void BaconLara_Draw(ITEM *item); diff --git a/src/game/objects/creatures/baldy.c b/src/game/objects/creatures/baldy.c index d1c9fa7bd..2de3126e8 100644 --- a/src/game/objects/creatures/baldy.c +++ b/src/game/objects/creatures/baldy.c @@ -27,9 +27,9 @@ typedef enum { BALDY_SHOOT = 6, } BALDY_ANIM; -static BITE_INFO m_BaldyGun = { -20, 440, 20, 9 }; +static BITE m_BaldyGun = { -20, 440, 20, 9 }; -void Baldy_Setup(OBJECT_INFO *obj) +void Baldy_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -57,7 +57,7 @@ void Baldy_Initialise(int16_t item_num) void Baldy_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -66,7 +66,7 @@ void Baldy_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *baldy = item->data; + CREATURE *baldy = item->data; int16_t head = 0; int16_t angle = 0; int16_t tilt = 0; diff --git a/src/game/objects/creatures/baldy.h b/src/game/objects/creatures/baldy.h index ed666156a..f1e2d7ec3 100644 --- a/src/game/objects/creatures/baldy.h +++ b/src/game/objects/creatures/baldy.h @@ -2,6 +2,6 @@ #include "global/types.h" -void Baldy_Setup(OBJECT_INFO *obj); +void Baldy_Setup(OBJECT *obj); void Baldy_Initialise(int16_t item_num); void Baldy_Control(int16_t item_num); diff --git a/src/game/objects/creatures/bat.c b/src/game/objects/creatures/bat.c index 4651d8e72..269be8328 100644 --- a/src/game/objects/creatures/bat.c +++ b/src/game/objects/creatures/bat.c @@ -27,13 +27,13 @@ typedef enum { BAT_DEATH = 5, } BAT_ANIM; -static BITE_INFO m_BatBite = { 0, 16, 45, 4 }; +static BITE m_BatBite = { 0, 16, 45, 4 }; static void M_FixEmbeddedPosition(int16_t item_num); static void M_FixEmbeddedPosition(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_ACTIVE) { return; } @@ -42,7 +42,7 @@ static void M_FixEmbeddedPosition(int16_t item_num) const int32_t y = item->pos.y; const int32_t z = item->pos.z; int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *const sector = Room_GetSector(x, y, z, &room_num); const int16_t ceiling = Room_GetCeiling(sector, x, y, z); // The bats animation and frame have to be changed to the hanging @@ -65,7 +65,7 @@ static void M_FixEmbeddedPosition(int16_t item_num) } } -void Bat_Setup(OBJECT_INFO *obj) +void Bat_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -86,7 +86,7 @@ void Bat_Setup(OBJECT_INFO *obj) void Bat_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -95,7 +95,7 @@ void Bat_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *bat = item->data; + CREATURE *bat = item->data; PHD_ANGLE angle = 0; if (item->hit_points <= 0) { if (item->pos.y < item->floor) { diff --git a/src/game/objects/creatures/bat.h b/src/game/objects/creatures/bat.h index d0d03b8b0..4671f5d67 100644 --- a/src/game/objects/creatures/bat.h +++ b/src/game/objects/creatures/bat.h @@ -2,6 +2,6 @@ #include "global/types.h" -void Bat_Setup(OBJECT_INFO *obj); +void Bat_Setup(OBJECT *obj); void Bat_Initialise(int16_t item_num); void Bat_Control(int16_t item_num); diff --git a/src/game/objects/creatures/bear.c b/src/game/objects/creatures/bear.c index 67e0fbb66..dea606341 100644 --- a/src/game/objects/creatures/bear.c +++ b/src/game/objects/creatures/bear.c @@ -45,9 +45,9 @@ typedef enum { BEAR_DEATH = 9, } BEAR_ANIM; -static BITE_INFO m_BearHeadBite = { 0, 96, 335, 14 }; +static BITE m_BearHeadBite = { 0, 96, 335, 14 }; -void Bear_Setup(OBJECT_INFO *obj) +void Bear_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -74,7 +74,7 @@ void Bear_Setup(OBJECT_INFO *obj) void Bear_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -83,7 +83,7 @@ void Bear_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *bear = (CREATURE_INFO *)item->data; + CREATURE *bear = (CREATURE *)item->data; int16_t head = 0; PHD_ANGLE angle = 0; diff --git a/src/game/objects/creatures/bear.h b/src/game/objects/creatures/bear.h index 20775f025..9fc0f3510 100644 --- a/src/game/objects/creatures/bear.h +++ b/src/game/objects/creatures/bear.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Bear_Setup(OBJECT_INFO *obj); +void Bear_Setup(OBJECT *obj); void Bear_Control(int16_t item_num); diff --git a/src/game/objects/creatures/centaur.c b/src/game/objects/creatures/centaur.c index 1f063e881..f7217e9a6 100644 --- a/src/game/objects/creatures/centaur.c +++ b/src/game/objects/creatures/centaur.c @@ -36,10 +36,10 @@ typedef enum { CENTAUR_WARNING = 6, } CENTAUR_ANIM; -static BITE_INFO m_CentaurRocket = { 11, 415, 41, 13 }; -static BITE_INFO m_CentaurRear = { 50, 30, 0, 5 }; +static BITE m_CentaurRocket = { 11, 415, 41, 13 }; +static BITE m_CentaurRear = { 50, 30, 0, 5 }; -void Centaur_Setup(OBJECT_INFO *obj) +void Centaur_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -62,7 +62,7 @@ void Centaur_Setup(OBJECT_INFO *obj) void Centaur_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -71,7 +71,7 @@ void Centaur_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *centaur = item->data; + CREATURE *centaur = item->data; int16_t head = 0; int16_t angle = 0; diff --git a/src/game/objects/creatures/centaur.h b/src/game/objects/creatures/centaur.h index 88b0d973c..13b829f2c 100644 --- a/src/game/objects/creatures/centaur.h +++ b/src/game/objects/creatures/centaur.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Centaur_Setup(OBJECT_INFO *obj); +void Centaur_Setup(OBJECT *obj); void Centaur_Control(int16_t item_num); diff --git a/src/game/objects/creatures/cowboy.c b/src/game/objects/creatures/cowboy.c index 8c2cbc15e..abd0372ee 100644 --- a/src/game/objects/creatures/cowboy.c +++ b/src/game/objects/creatures/cowboy.c @@ -29,10 +29,10 @@ typedef enum { COWBOY_SHOOT = 6, } COWBOY_ANIM; -static BITE_INFO m_CowboyGun1 = { 1, 200, 41, 5 }; -static BITE_INFO m_CowboyGun2 = { -2, 200, 40, 8 }; +static BITE m_CowboyGun1 = { 1, 200, 41, 5 }; +static BITE m_CowboyGun2 = { -2, 200, 40, 8 }; -void Cowboy_Setup(OBJECT_INFO *obj) +void Cowboy_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -54,7 +54,7 @@ void Cowboy_Setup(OBJECT_INFO *obj) void Cowboy_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -63,7 +63,7 @@ void Cowboy_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *cowboy = item->data; + CREATURE *cowboy = item->data; int16_t head = 0; int16_t angle = 0; int16_t tilt = 0; diff --git a/src/game/objects/creatures/cowboy.h b/src/game/objects/creatures/cowboy.h index 898d7750a..862a1233d 100644 --- a/src/game/objects/creatures/cowboy.h +++ b/src/game/objects/creatures/cowboy.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Cowboy_Setup(OBJECT_INFO *obj); +void Cowboy_Setup(OBJECT *obj); void Cowboy_Control(int16_t item_num); diff --git a/src/game/objects/creatures/crocodile.c b/src/game/objects/creatures/crocodile.c index 1ae4c12ee..e469ee404 100644 --- a/src/game/objects/creatures/crocodile.c +++ b/src/game/objects/creatures/crocodile.c @@ -52,7 +52,7 @@ typedef enum { ALLIGATOR_DEATH = 3, } ALLIGATOR_ANIM; -static BITE_INFO m_CrocodileBite = { 5, -21, 467, 9 }; +static BITE m_CrocodileBite = { 5, -21, 467, 9 }; static const HYBRID_INFO m_CrocodileInfo = { .land.id = O_CROCODILE, @@ -63,7 +63,7 @@ static const HYBRID_INFO m_CrocodileInfo = { .water.active_anim = ALLIGATOR_EMPTY, }; -void Croc_Setup(OBJECT_INFO *obj) +void Croc_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -86,7 +86,7 @@ void Croc_Setup(OBJECT_INFO *obj) void Croc_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -95,7 +95,7 @@ void Croc_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *croc = item->data; + CREATURE *croc = item->data; int16_t head = 0; int16_t angle = 0; @@ -201,7 +201,7 @@ void Croc_Control(int16_t item_num) } } -void Alligator_Setup(OBJECT_INFO *obj) +void Alligator_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -224,7 +224,7 @@ void Alligator_Setup(OBJECT_INFO *obj) void Alligator_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -233,8 +233,8 @@ void Alligator_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *gator = item->data; - const SECTOR_INFO *sector; + CREATURE *gator = item->data; + const SECTOR *sector; int16_t head = 0; int16_t angle = 0; int16_t room_num; diff --git a/src/game/objects/creatures/crocodile.h b/src/game/objects/creatures/crocodile.h index 2df059d23..d4fd4730a 100644 --- a/src/game/objects/creatures/crocodile.h +++ b/src/game/objects/creatures/crocodile.h @@ -2,8 +2,8 @@ #include "global/types.h" -void Croc_Setup(OBJECT_INFO *obj); +void Croc_Setup(OBJECT *obj); void Croc_Control(int16_t item_num); -void Alligator_Setup(OBJECT_INFO *obj); +void Alligator_Setup(OBJECT *obj); void Alligator_Control(int16_t item_num); diff --git a/src/game/objects/creatures/cutscene_player.c b/src/game/objects/creatures/cutscene_player.c index e943864fd..ae0bfa652 100644 --- a/src/game/objects/creatures/cutscene_player.c +++ b/src/game/objects/creatures/cutscene_player.c @@ -3,7 +3,7 @@ #include "game/items.h" #include "global/vars.h" -void CutscenePlayer_Setup(OBJECT_INFO *obj) +void CutscenePlayer_Setup(OBJECT *obj) { obj->initialise = CutscenePlayer_Initialise; obj->control = CutscenePlayer_Control; @@ -14,7 +14,7 @@ void CutscenePlayer_Initialise(int16_t item_num) { Item_AddActive(item_num); - ITEM_INFO *const item = &g_Items[item_num]; + ITEM *const item = &g_Items[item_num]; if (item->object_id == O_PLAYER_1) { g_Camera.pos.room_num = item->room_num; g_CinePosition.pos.x = item->pos.x; @@ -27,7 +27,7 @@ void CutscenePlayer_Initialise(int16_t item_num) void CutscenePlayer_Control(int16_t item_num) { - ITEM_INFO *const item = &g_Items[item_num]; + ITEM *const item = &g_Items[item_num]; if (item->object_id != O_PLAYER_4) { item->rot.y = g_Camera.target_angle; item->pos.x = g_CinePosition.pos.x; diff --git a/src/game/objects/creatures/cutscene_player.h b/src/game/objects/creatures/cutscene_player.h index a65fbd74c..8157f90db 100644 --- a/src/game/objects/creatures/cutscene_player.h +++ b/src/game/objects/creatures/cutscene_player.h @@ -2,6 +2,6 @@ #include "global/types.h" -void CutscenePlayer_Setup(OBJECT_INFO *obj); +void CutscenePlayer_Setup(OBJECT *obj); void CutscenePlayer_Initialise(int16_t item_num); void CutscenePlayer_Control(int16_t item_num); diff --git a/src/game/objects/creatures/larson.c b/src/game/objects/creatures/larson.c index 5d2abad95..269365cb7 100644 --- a/src/game/objects/creatures/larson.c +++ b/src/game/objects/creatures/larson.c @@ -30,9 +30,9 @@ typedef enum { LARSON_SHOOT = 7, } LARSON_ANIM; -static BITE_INFO m_LarsonGun = { -60, 170, 0, 14 }; +static BITE m_LarsonGun = { -60, 170, 0, 14 }; -void Larson_Setup(OBJECT_INFO *obj) +void Larson_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -54,7 +54,7 @@ void Larson_Setup(OBJECT_INFO *obj) void Larson_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -63,7 +63,7 @@ void Larson_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *person = item->data; + CREATURE *person = item->data; int16_t head = 0; int16_t angle = 0; int16_t tilt = 0; diff --git a/src/game/objects/creatures/larson.h b/src/game/objects/creatures/larson.h index a079dd60f..bdb14a2dc 100644 --- a/src/game/objects/creatures/larson.h +++ b/src/game/objects/creatures/larson.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Larson_Setup(OBJECT_INFO *obj); +void Larson_Setup(OBJECT *obj); void Larson_Control(int16_t item_num); diff --git a/src/game/objects/creatures/lion.c b/src/game/objects/creatures/lion.c index 3208fb998..3a56519ab 100644 --- a/src/game/objects/creatures/lion.c +++ b/src/game/objects/creatures/lion.c @@ -43,9 +43,9 @@ typedef enum { LION_ATTACK2 = 7, } LION_ANIM; -static BITE_INFO m_LionBite = { -2, -10, 132, 21 }; +static BITE m_LionBite = { -2, -10, 132, 21 }; -static void M_SetupBase(OBJECT_INFO *const obj) +static void M_SetupBase(OBJECT *const obj) { obj->initialise = Creature_Initialise; obj->control = Lion_Control; @@ -60,7 +60,7 @@ static void M_SetupBase(OBJECT_INFO *const obj) g_AnimBones[obj->bone_idx + 76] |= BEB_ROT_Y; } -void Lion_SetupLion(OBJECT_INFO *obj) +void Lion_SetupLion(OBJECT *obj) { if (!obj->loaded) { return; @@ -71,7 +71,7 @@ void Lion_SetupLion(OBJECT_INFO *obj) obj->smartness = LION_SMARTNESS; } -void Lion_SetupLioness(OBJECT_INFO *obj) +void Lion_SetupLioness(OBJECT *obj) { if (!obj->loaded) { return; @@ -82,7 +82,7 @@ void Lion_SetupLioness(OBJECT_INFO *obj) obj->smartness = LIONESS_SMARTNESS; } -void Lion_SetupPuma(OBJECT_INFO *obj) +void Lion_SetupPuma(OBJECT *obj) { if (!obj->loaded) { return; @@ -95,7 +95,7 @@ void Lion_SetupPuma(OBJECT_INFO *obj) void Lion_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -104,7 +104,7 @@ void Lion_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *lion = item->data; + CREATURE *lion = item->data; int16_t head = 0; int16_t angle = 0; int16_t tilt = 0; diff --git a/src/game/objects/creatures/lion.h b/src/game/objects/creatures/lion.h index abf7c40ea..050785711 100644 --- a/src/game/objects/creatures/lion.h +++ b/src/game/objects/creatures/lion.h @@ -2,7 +2,7 @@ #include "global/types.h" -void Lion_SetupLion(OBJECT_INFO *obj); -void Lion_SetupLioness(OBJECT_INFO *obj); -void Lion_SetupPuma(OBJECT_INFO *obj); +void Lion_SetupLion(OBJECT *obj); +void Lion_SetupLioness(OBJECT *obj); +void Lion_SetupPuma(OBJECT *obj); void Lion_Control(int16_t item_num); diff --git a/src/game/objects/creatures/mummy.c b/src/game/objects/creatures/mummy.c index 215d896db..f0b82b540 100644 --- a/src/game/objects/creatures/mummy.c +++ b/src/game/objects/creatures/mummy.c @@ -19,7 +19,7 @@ typedef enum { MUMMY_DEATH = 2, } MUMMY_ANIM; -void Mummy_Setup(OBJECT_INFO *obj) +void Mummy_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -36,7 +36,7 @@ void Mummy_Setup(OBJECT_INFO *obj) void Mummy_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; item->touch_bits = 0; item->mesh_bits = 0xFFFF87FF; item->data = GameBuf_Alloc(sizeof(int16_t), GBUF_CREATURE_DATA); @@ -45,7 +45,7 @@ void Mummy_Initialise(int16_t item_num) void Mummy_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; int16_t head = 0; if (item->current_anim_state == MUMMY_STOP) { diff --git a/src/game/objects/creatures/mummy.h b/src/game/objects/creatures/mummy.h index 3ce6628fb..ce98d11bd 100644 --- a/src/game/objects/creatures/mummy.h +++ b/src/game/objects/creatures/mummy.h @@ -2,6 +2,6 @@ #include "global/types.h" -void Mummy_Setup(OBJECT_INFO *obj); +void Mummy_Setup(OBJECT *obj); void Mummy_Initialise(int16_t item_num); void Mummy_Control(int16_t item_num); diff --git a/src/game/objects/creatures/mutant.c b/src/game/objects/creatures/mutant.c index 95cc152e9..2331af47c 100644 --- a/src/game/objects/creatures/mutant.c +++ b/src/game/objects/creatures/mutant.c @@ -39,7 +39,7 @@ #define WARRIOR2_SMARTNESS 0x2000 -enum FLYER_ANIM { +typedef enum { FLYER_EMPTY = 0, FLYER_STOP = 1, FLYER_WALK = 2, @@ -54,19 +54,19 @@ enum FLYER_ANIM { FLYER_SHOOT = 11, FLYER_MUMMY = 12, FLYER_FLY = 13, -}; +} FLYER_ANIM; static bool m_EnableExplosions = true; -static BITE_INFO m_WarriorBite = { -27, 98, 0, 10 }; -static BITE_INFO m_WarriorRocket = { 51, 213, 0, 14 }; -static BITE_INFO m_WarriorShard = { -35, 269, 0, 9 }; +static BITE m_WarriorBite = { -27, 98, 0, 10 }; +static BITE m_WarriorRocket = { 51, 213, 0, 14 }; +static BITE m_WarriorShard = { -35, 269, 0, 9 }; void Mutant_ToggleExplosions(bool enable) { m_EnableExplosions = enable; } -void Mutant_Setup(OBJECT_INFO *obj) +void Mutant_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -88,7 +88,7 @@ void Mutant_Setup(OBJECT_INFO *obj) g_AnimBones[obj->bone_idx + 8] |= BEB_ROT_Y; } -void Mutant_Setup2(OBJECT_INFO *obj) +void Mutant_Setup2(OBJECT *obj) { if (!obj->loaded) { return; @@ -98,7 +98,7 @@ void Mutant_Setup2(OBJECT_INFO *obj) obj->smartness = WARRIOR2_SMARTNESS; } -void Mutant_Setup3(OBJECT_INFO *obj) +void Mutant_Setup3(OBJECT *obj) { if (!obj->loaded) { return; @@ -109,7 +109,7 @@ void Mutant_Setup3(OBJECT_INFO *obj) void Mutant_FlyerControl(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -118,7 +118,7 @@ void Mutant_FlyerControl(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *flyer = item->data; + CREATURE *flyer = item->data; int16_t head = 0; int16_t angle = 0; diff --git a/src/game/objects/creatures/mutant.h b/src/game/objects/creatures/mutant.h index 19f14e03c..bb4f0c5ea 100644 --- a/src/game/objects/creatures/mutant.h +++ b/src/game/objects/creatures/mutant.h @@ -2,9 +2,9 @@ #include "global/types.h" -void Mutant_Setup(OBJECT_INFO *obj); -void Mutant_Setup2(OBJECT_INFO *obj); -void Mutant_Setup3(OBJECT_INFO *obj); +void Mutant_Setup(OBJECT *obj); +void Mutant_Setup2(OBJECT *obj); +void Mutant_Setup3(OBJECT *obj); void Mutant_ToggleExplosions(bool enable); void Mutant_FlyerControl(int16_t item_num); diff --git a/src/game/objects/creatures/natla.c b/src/game/objects/creatures/natla.c index 7f4c1d2b3..6558c1620 100644 --- a/src/game/objects/creatures/natla.c +++ b/src/game/objects/creatures/natla.c @@ -41,9 +41,9 @@ typedef enum { NATLA_DEATH = 9, } NATLA_ANIM; -static BITE_INFO m_NatlaGun = { 5, 220, 7, 4 }; +static BITE m_NatlaGun = { 5, 220, 7, 4 }; -void Natla_Setup(OBJECT_INFO *obj) +void Natla_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -65,7 +65,7 @@ void Natla_Setup(OBJECT_INFO *obj) void Natla_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -74,7 +74,7 @@ void Natla_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *natla = item->data; + CREATURE *natla = item->data; int16_t head = 0; int16_t angle = 0; int16_t tilt = 0; @@ -130,7 +130,7 @@ void Natla_Control(int16_t item_num) int16_t fx_num = Creature_Effect(item, &m_NatlaGun, Effect_ShardGun); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; gun = fx->rot.x; Sound_Effect(SFX_ATLANTEAN_NEEDLE, &fx->pos, SPM_NORMAL); } @@ -144,7 +144,7 @@ void Natla_Control(int16_t item_num) int16_t fx_num = Creature_Effect(item, &m_NatlaGun, Effect_ShardGun); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; gun = fx->rot.x; Sound_Effect(SFX_ATLANTEAN_NEEDLE, &fx->pos, SPM_NORMAL); } @@ -256,7 +256,7 @@ void Natla_Control(int16_t item_num) int16_t fx_num = Creature_Effect(item, &m_NatlaGun, Effect_RocketGun); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; gun = fx->rot.x; Sound_Effect(SFX_ATLANTEAN_NEEDLE, &fx->pos, SPM_NORMAL); } @@ -279,17 +279,17 @@ void Natla_Control(int16_t item_num) int16_t fx_num = Creature_Effect(item, &m_NatlaGun, Effect_RocketGun); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; gun = fx->rot.x; } fx_num = Creature_Effect(item, &m_NatlaGun, Effect_RocketGun); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->rot.y += (Random_GetControl() - 0x4000) / 4; } fx_num = Creature_Effect(item, &m_NatlaGun, Effect_RocketGun); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->rot.y += (Random_GetControl() - 0x4000) / 4; } item->required_anim_state = NATLA_STOP; diff --git a/src/game/objects/creatures/natla.h b/src/game/objects/creatures/natla.h index 5dd02e9b7..d108e3b1d 100644 --- a/src/game/objects/creatures/natla.h +++ b/src/game/objects/creatures/natla.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Natla_Setup(OBJECT_INFO *obj); +void Natla_Setup(OBJECT *obj); void Natla_Control(int16_t item_num); diff --git a/src/game/objects/creatures/pierre.c b/src/game/objects/creatures/pierre.c index b9fc8b6dc..cf16d20b6 100644 --- a/src/game/objects/creatures/pierre.c +++ b/src/game/objects/creatures/pierre.c @@ -36,11 +36,11 @@ typedef enum { PIERRE_SHOOT = 7, } PIERRE_ANIM; -static BITE_INFO m_PierreGun1 = { 60, 200, 0, 11 }; -static BITE_INFO m_PierreGun2 = { -57, 200, 0, 14 }; +static BITE m_PierreGun1 = { 60, 200, 0, 11 }; +static BITE m_PierreGun2 = { -57, 200, 0, 14 }; static int16_t m_PierreItemNum = NO_ITEM; -void Pierre_Setup(OBJECT_INFO *obj) +void Pierre_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -62,13 +62,13 @@ void Pierre_Setup(OBJECT_INFO *obj) void Pierre_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (g_Config.change_pierre_spawn) { if (m_PierreItemNum == NO_ITEM) { m_PierreItemNum = item_num; } else if (m_PierreItemNum != item_num) { - ITEM_INFO *old_pierre = &g_Items[m_PierreItemNum]; + ITEM *old_pierre = &g_Items[m_PierreItemNum]; if (old_pierre->flags & IF_ONE_SHOT) { if (!(item->flags & IF_ONE_SHOT)) { Item_Kill(item_num); @@ -97,7 +97,7 @@ void Pierre_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *pierre = item->data; + CREATURE *pierre = item->data; int16_t head = 0; int16_t angle = 0; int16_t tilt = 0; diff --git a/src/game/objects/creatures/pierre.h b/src/game/objects/creatures/pierre.h index ee26f523b..2a2f4ca8e 100644 --- a/src/game/objects/creatures/pierre.h +++ b/src/game/objects/creatures/pierre.h @@ -2,6 +2,6 @@ #include "global/types.h" -void Pierre_Setup(OBJECT_INFO *obj); +void Pierre_Setup(OBJECT *obj); void Pierre_Control(int16_t item_num); void Pierre_Reset(void); diff --git a/src/game/objects/creatures/pod.c b/src/game/objects/creatures/pod.c index 8a79852a1..f41f7b61e 100644 --- a/src/game/objects/creatures/pod.c +++ b/src/game/objects/creatures/pod.c @@ -17,7 +17,7 @@ typedef enum { POD_EXPLODE = 1, } POD_ANIM; -void Pod_Setup(OBJECT_INFO *obj) +void Pod_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -31,11 +31,11 @@ void Pod_Setup(OBJECT_INFO *obj) void Pod_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; int16_t bug_item_num = Item_Create(); if (bug_item_num != NO_ITEM) { - ITEM_INFO *bug = &g_Items[bug_item_num]; + ITEM *bug = &g_Items[bug_item_num]; switch ((item->flags & IF_CODE_BITS) >> 9) { case 1: @@ -77,7 +77,7 @@ void Pod_Initialise(int16_t item_num) void Pod_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->goal_anim_state != POD_EXPLODE) { int32_t explode = 0; @@ -103,7 +103,7 @@ void Pod_Control(int16_t item_num) Effect_ExplodingDeath(item_num, 0xFFFE00, 0); int16_t bug_item_num = *(int16_t *)item->data; - ITEM_INFO *bug = &g_Items[bug_item_num]; + ITEM *bug = &g_Items[bug_item_num]; if (g_Objects[bug->object_id].loaded) { bug->touch_bits = 0; Item_AddActive(bug_item_num); diff --git a/src/game/objects/creatures/pod.h b/src/game/objects/creatures/pod.h index 0d6a28380..e211fe2c2 100644 --- a/src/game/objects/creatures/pod.h +++ b/src/game/objects/creatures/pod.h @@ -2,6 +2,6 @@ #include "global/types.h" -void Pod_Setup(OBJECT_INFO *obj); +void Pod_Setup(OBJECT *obj); void Pod_Initialise(int16_t item_num); void Pod_Control(int16_t item_num); diff --git a/src/game/objects/creatures/raptor.c b/src/game/objects/creatures/raptor.c index e4d81af3b..f87d31715 100644 --- a/src/game/objects/creatures/raptor.c +++ b/src/game/objects/creatures/raptor.c @@ -38,9 +38,9 @@ typedef enum { RAPTOR_ATTACK3 = 8, } RAPTOR_ANIM; -static BITE_INFO m_RaptorBite = { 0, 66, 318, 22 }; +static BITE m_RaptorBite = { 0, 66, 318, 22 }; -void Raptor_Setup(OBJECT_INFO *obj) +void Raptor_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -63,7 +63,7 @@ void Raptor_Setup(OBJECT_INFO *obj) void Raptor_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -72,7 +72,7 @@ void Raptor_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *raptor = item->data; + CREATURE *raptor = item->data; int16_t head = 0; int16_t angle = 0; int16_t tilt = 0; diff --git a/src/game/objects/creatures/raptor.h b/src/game/objects/creatures/raptor.h index 59a3f2130..245f2713e 100644 --- a/src/game/objects/creatures/raptor.h +++ b/src/game/objects/creatures/raptor.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Raptor_Setup(OBJECT_INFO *obj); +void Raptor_Setup(OBJECT *obj); void Raptor_Control(int16_t item_num); diff --git a/src/game/objects/creatures/rat.c b/src/game/objects/creatures/rat.c index cb642638e..f368b27c5 100644 --- a/src/game/objects/creatures/rat.c +++ b/src/game/objects/creatures/rat.c @@ -46,7 +46,7 @@ typedef enum { VOLE_DEATH = 3, } VOLE_ANIM; -static BITE_INFO m_RatBite = { 0, -11, 108, 3 }; +static BITE m_RatBite = { 0, -11, 108, 3 }; static const HYBRID_INFO m_RatInfo = { .land.id = O_RAT, @@ -57,7 +57,7 @@ static const HYBRID_INFO m_RatInfo = { .water.active_anim = VOLE_EMPTY, }; -void Rat_Setup(OBJECT_INFO *obj) +void Rat_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -80,7 +80,7 @@ void Rat_Setup(OBJECT_INFO *obj) void Rat_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -89,7 +89,7 @@ void Rat_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *rat = item->data; + CREATURE *rat = item->data; int16_t head = 0; int16_t angle = 0; @@ -167,7 +167,7 @@ void Rat_Control(int16_t item_num) Creature_Animate(item_num, angle, 0); } -void Vole_Setup(OBJECT_INFO *obj) +void Vole_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -190,7 +190,7 @@ void Vole_Setup(OBJECT_INFO *obj) void Vole_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { diff --git a/src/game/objects/creatures/rat.h b/src/game/objects/creatures/rat.h index 45e116a3a..57c7521b7 100644 --- a/src/game/objects/creatures/rat.h +++ b/src/game/objects/creatures/rat.h @@ -2,8 +2,8 @@ #include "global/types.h" -void Rat_Setup(OBJECT_INFO *obj); +void Rat_Setup(OBJECT *obj); void Rat_Control(int16_t item_num); -void Vole_Setup(OBJECT_INFO *obj); +void Vole_Setup(OBJECT *obj); void Vole_Control(int16_t item_num); diff --git a/src/game/objects/creatures/skate_kid.c b/src/game/objects/creatures/skate_kid.c index da59c1f72..5311a99ca 100644 --- a/src/game/objects/creatures/skate_kid.c +++ b/src/game/objects/creatures/skate_kid.c @@ -36,10 +36,10 @@ typedef enum { SKATE_KID_DEATH = 5, } SKATE_KID_ANIM; -static BITE_INFO m_KidGun1 = { 0, 150, 34, 7 }; -static BITE_INFO m_KidGun2 = { 0, 150, 37, 4 }; +static BITE m_KidGun1 = { 0, 150, 34, 7 }; +static BITE m_KidGun2 = { 0, 150, 37, 4 }; -void SkateKid_Setup(OBJECT_INFO *obj) +void SkateKid_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -74,7 +74,7 @@ void SkateKid_Initialise(int16_t item_num) void SkateKid_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -83,7 +83,7 @@ void SkateKid_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *kid = item->data; + CREATURE *kid = item->data; int16_t head = 0; int16_t angle = 0; @@ -172,7 +172,7 @@ void SkateKid_Control(int16_t item_num) Creature_Animate(item_num, angle, 0); } -void SkateKid_Draw(ITEM_INFO *item) +void SkateKid_Draw(ITEM *item) { Object_DrawAnimatingItem(item); if (!g_Objects[O_SKATEBOARD].loaded) { diff --git a/src/game/objects/creatures/skate_kid.h b/src/game/objects/creatures/skate_kid.h index a284b99e7..b8c9047d9 100644 --- a/src/game/objects/creatures/skate_kid.h +++ b/src/game/objects/creatures/skate_kid.h @@ -2,7 +2,7 @@ #include "global/types.h" -void SkateKid_Setup(OBJECT_INFO *obj); +void SkateKid_Setup(OBJECT *obj); void SkateKid_Initialise(int16_t item_num); void SkateKid_Control(int16_t item_num); -void SkateKid_Draw(ITEM_INFO *item); +void SkateKid_Draw(ITEM *item); diff --git a/src/game/objects/creatures/statue.c b/src/game/objects/creatures/statue.c index d0606f06c..9b466203c 100644 --- a/src/game/objects/creatures/statue.c +++ b/src/game/objects/creatures/statue.c @@ -16,7 +16,7 @@ #define CENTAUR_REARING_ANIM 7 #define CENTAUR_REARING_FRAME 36 -void Statue_Setup(OBJECT_INFO *obj) +void Statue_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -30,7 +30,7 @@ void Statue_Setup(OBJECT_INFO *obj) void Statue_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; int16_t centaur_item_num = Item_Create(); if (centaur_item_num == NO_ITEM) { @@ -38,7 +38,7 @@ void Statue_Initialise(int16_t item_num) return; } - ITEM_INFO *centaur = &g_Items[centaur_item_num]; + ITEM *centaur = &g_Items[centaur_item_num]; centaur->object_id = O_CENTAUR; centaur->room_num = item->room_num; centaur->pos.x = item->pos.x; @@ -62,7 +62,7 @@ void Statue_Initialise(int16_t item_num) void Statue_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->flags & IF_KILLED) { return; } @@ -78,7 +78,7 @@ void Statue_Control(int16_t item_num) item->status = IS_DEACTIVATED; int16_t centaur_item_num = *(int16_t *)item->data; - ITEM_INFO *centaur = &g_Items[centaur_item_num]; + ITEM *centaur = &g_Items[centaur_item_num]; centaur->touch_bits = 0; Item_AddActive(centaur_item_num); LOT_EnableBaddieAI(centaur_item_num, 1); diff --git a/src/game/objects/creatures/statue.h b/src/game/objects/creatures/statue.h index 0ddb234d0..f35015279 100644 --- a/src/game/objects/creatures/statue.h +++ b/src/game/objects/creatures/statue.h @@ -2,6 +2,6 @@ #include "global/types.h" -void Statue_Setup(OBJECT_INFO *obj); +void Statue_Setup(OBJECT *obj); void Statue_Initialise(int16_t item_num); void Statue_Control(int16_t item_num); diff --git a/src/game/objects/creatures/torso.c b/src/game/objects/creatures/torso.c index d95bc2455..aae31ceaa 100644 --- a/src/game/objects/creatures/torso.c +++ b/src/game/objects/creatures/torso.c @@ -51,7 +51,7 @@ typedef enum { TORSO_KILL = 11, } TORSO_ANIM; -void Torso_Setup(OBJECT_INFO *obj) +void Torso_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -73,7 +73,7 @@ void Torso_Setup(OBJECT_INFO *obj) void Torso_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -82,7 +82,7 @@ void Torso_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *torso = item->data; + CREATURE *torso = item->data; int16_t head = 0; int16_t angle = 0; diff --git a/src/game/objects/creatures/torso.h b/src/game/objects/creatures/torso.h index a928e6ce7..3c0f27a77 100644 --- a/src/game/objects/creatures/torso.h +++ b/src/game/objects/creatures/torso.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Torso_Setup(OBJECT_INFO *obj); +void Torso_Setup(OBJECT *obj); void Torso_Control(int16_t item_num); diff --git a/src/game/objects/creatures/trex.c b/src/game/objects/creatures/trex.c index ad1e01d4a..02981aed7 100644 --- a/src/game/objects/creatures/trex.c +++ b/src/game/objects/creatures/trex.c @@ -39,7 +39,7 @@ typedef enum { TREX_KILL = 8, } TREX_ANIM; -void TRex_Setup(OBJECT_INFO *obj) +void TRex_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -62,7 +62,7 @@ void TRex_Setup(OBJECT_INFO *obj) g_AnimBones[obj->bone_idx + 44] |= BEB_ROT_Y; } -void TRex_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void TRex_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { if (g_Config.disable_trex_collision && g_Items[item_num].hit_points <= 0) { return; @@ -73,7 +73,7 @@ void TRex_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) void TRex_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -82,7 +82,7 @@ void TRex_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *dino = item->data; + CREATURE *dino = item->data; int16_t head = 0; int16_t angle = 0; @@ -176,7 +176,7 @@ void TRex_Control(int16_t item_num) item->collidable = 1; } -void TRex_LaraDeath(ITEM_INFO *item) +void TRex_LaraDeath(ITEM *item) { item->goal_anim_state = TREX_KILL; if (g_LaraItem->room_num != item->room_num) { diff --git a/src/game/objects/creatures/trex.h b/src/game/objects/creatures/trex.h index 1111f09ed..fe7cc01b4 100644 --- a/src/game/objects/creatures/trex.h +++ b/src/game/objects/creatures/trex.h @@ -2,7 +2,7 @@ #include "global/types.h" -void TRex_Setup(OBJECT_INFO *obj); +void TRex_Setup(OBJECT *obj); void TRex_Control(int16_t item_num); -void TRex_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); -void TRex_LaraDeath(ITEM_INFO *item); +void TRex_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); +void TRex_LaraDeath(ITEM *item); diff --git a/src/game/objects/creatures/wolf.c b/src/game/objects/creatures/wolf.c index 38c636607..baa747ced 100644 --- a/src/game/objects/creatures/wolf.c +++ b/src/game/objects/creatures/wolf.c @@ -45,9 +45,9 @@ typedef enum { WOLF_BITE = 12, } WOLF_ANIM; -static BITE_INFO m_WolfJawBite = { 0, -14, 174, 6 }; +static BITE m_WolfJawBite = { 0, -14, 174, 6 }; -void Wolf_Setup(OBJECT_INFO *obj) +void Wolf_Setup(OBJECT *obj) { if (!obj->loaded) { return; @@ -76,7 +76,7 @@ void Wolf_Initialise(int16_t item_num) void Wolf_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_INVISIBLE) { if (!LOT_EnableBaddieAI(item_num, 0)) { @@ -85,7 +85,7 @@ void Wolf_Control(int16_t item_num) item->status = IS_ACTIVE; } - CREATURE_INFO *wolf = item->data; + CREATURE *wolf = item->data; int16_t head = 0; int16_t angle = 0; int16_t tilt = 0; diff --git a/src/game/objects/creatures/wolf.h b/src/game/objects/creatures/wolf.h index 5cac77369..2fd5d0594 100644 --- a/src/game/objects/creatures/wolf.h +++ b/src/game/objects/creatures/wolf.h @@ -2,6 +2,6 @@ #include "global/types.h" -void Wolf_Setup(OBJECT_INFO *obj); +void Wolf_Setup(OBJECT *obj); void Wolf_Initialise(int16_t item_num); void Wolf_Control(int16_t item_num); diff --git a/src/game/objects/effects/blood.c b/src/game/objects/effects/blood.c index bf28f4c58..511958e3a 100644 --- a/src/game/objects/effects/blood.c +++ b/src/game/objects/effects/blood.c @@ -5,14 +5,14 @@ #include "global/vars.h" #include "math/math.h" -void Blood_Setup(OBJECT_INFO *obj) +void Blood_Setup(OBJECT *obj) { obj->control = Blood_Control; } void Blood_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x += (Math_Sin(fx->rot.y) * fx->speed) >> W2V_SHIFT; fx->pos.z += (Math_Cos(fx->rot.y) * fx->speed) >> W2V_SHIFT; fx->counter++; diff --git a/src/game/objects/effects/blood.h b/src/game/objects/effects/blood.h index 04b07ad5a..22f4fda79 100644 --- a/src/game/objects/effects/blood.h +++ b/src/game/objects/effects/blood.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Blood_Setup(OBJECT_INFO *obj); +void Blood_Setup(OBJECT *obj); void Blood_Control(int16_t fx_num); diff --git a/src/game/objects/effects/body_part.c b/src/game/objects/effects/body_part.c index fc4596510..4eab78c9d 100644 --- a/src/game/objects/effects/body_part.c +++ b/src/game/objects/effects/body_part.c @@ -8,7 +8,7 @@ #include "global/vars.h" #include "math/math.h" -void BodyPart_Setup(OBJECT_INFO *obj) +void BodyPart_Setup(OBJECT *obj) { obj->control = BodyPart_Control; obj->nmeshes = 0; @@ -17,7 +17,7 @@ void BodyPart_Setup(OBJECT_INFO *obj) void BodyPart_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->rot.x += 5 * PHD_DEGREE; fx->rot.z += 10 * PHD_DEGREE; fx->pos.z += (fx->speed * Math_Cos(fx->rot.y)) >> W2V_SHIFT; @@ -26,7 +26,7 @@ void BodyPart_Control(int16_t fx_num) fx->pos.y += fx->fall_speed; int16_t room_num = fx->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(fx->pos.x, fx->pos.y, fx->pos.z, &room_num); const int32_t ceiling = diff --git a/src/game/objects/effects/body_part.h b/src/game/objects/effects/body_part.h index f062d4bd4..aba8f06dc 100644 --- a/src/game/objects/effects/body_part.h +++ b/src/game/objects/effects/body_part.h @@ -2,5 +2,5 @@ #include "global/types.h" -void BodyPart_Setup(OBJECT_INFO *obj); +void BodyPart_Setup(OBJECT *obj); void BodyPart_Control(int16_t fx_num); diff --git a/src/game/objects/effects/bubble.c b/src/game/objects/effects/bubble.c index 2b0654a16..75a2504de 100644 --- a/src/game/objects/effects/bubble.c +++ b/src/game/objects/effects/bubble.c @@ -6,14 +6,14 @@ #include "global/vars.h" #include "math/math.h" -void Bubble_Setup(OBJECT_INFO *obj) +void Bubble_Setup(OBJECT *obj) { obj->control = Bubble_Control; } void Bubble_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->rot.y += 9 * PHD_DEGREE; fx->rot.x += 13 * PHD_DEGREE; @@ -22,7 +22,7 @@ void Bubble_Control(int16_t fx_num) int32_t z = fx->pos.z + ((Math_Cos(fx->rot.x) * 8) >> W2V_SHIFT); int16_t room_num = fx->room_num; - const SECTOR_INFO *const sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *const sector = Room_GetSector(x, y, z, &room_num); if (!sector || !(g_RoomInfo[room_num].flags & RF_UNDERWATER)) { Effect_Kill(fx_num); return; diff --git a/src/game/objects/effects/bubble.h b/src/game/objects/effects/bubble.h index 914c64bc7..6840786cd 100644 --- a/src/game/objects/effects/bubble.h +++ b/src/game/objects/effects/bubble.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Bubble_Setup(OBJECT_INFO *obj); +void Bubble_Setup(OBJECT *obj); void Bubble_Control(int16_t fx_num); diff --git a/src/game/objects/effects/dart_effect.c b/src/game/objects/effects/dart_effect.c index 2317dfc2b..51b4a3e76 100644 --- a/src/game/objects/effects/dart_effect.c +++ b/src/game/objects/effects/dart_effect.c @@ -4,7 +4,7 @@ #include "game/objects/common.h" #include "global/vars.h" -void DartEffect_Setup(OBJECT_INFO *obj) +void DartEffect_Setup(OBJECT *obj) { obj->control = DartEffect_Control; obj->draw_routine = Object_DrawSpriteItem; @@ -12,7 +12,7 @@ void DartEffect_Setup(OBJECT_INFO *obj) void DartEffect_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->counter++; if (fx->counter >= 3) { fx->counter = 0; diff --git a/src/game/objects/effects/dart_effect.h b/src/game/objects/effects/dart_effect.h index 7bc9c3bfb..28848d0bb 100644 --- a/src/game/objects/effects/dart_effect.h +++ b/src/game/objects/effects/dart_effect.h @@ -2,5 +2,5 @@ #include "global/types.h" -void DartEffect_Setup(OBJECT_INFO *obj); +void DartEffect_Setup(OBJECT *obj); void DartEffect_Control(int16_t fx_num); diff --git a/src/game/objects/effects/ember.c b/src/game/objects/effects/ember.c index 99ce7a466..a521c2eb2 100644 --- a/src/game/objects/effects/ember.c +++ b/src/game/objects/effects/ember.c @@ -8,21 +8,21 @@ #define EMBER_DAMAGE 10 -void Ember_Setup(OBJECT_INFO *obj) +void Ember_Setup(OBJECT *obj) { obj->control = Ember_Control; } void Ember_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.z += (fx->speed * Math_Cos(fx->rot.y)) >> W2V_SHIFT; fx->pos.x += (fx->speed * Math_Sin(fx->rot.y)) >> W2V_SHIFT; fx->fall_speed += GRAVITY; fx->pos.y += fx->fall_speed; int16_t room_num = fx->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(fx->pos.x, fx->pos.y, fx->pos.z, &room_num); if (fx->pos.y >= Room_GetHeight(sector, fx->pos.x, fx->pos.y, fx->pos.z) || fx->pos.y diff --git a/src/game/objects/effects/ember.h b/src/game/objects/effects/ember.h index 704ce4601..7552ad261 100644 --- a/src/game/objects/effects/ember.h +++ b/src/game/objects/effects/ember.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Ember_Setup(OBJECT_INFO *obj); +void Ember_Setup(OBJECT *obj); void Ember_Control(int16_t fx_num); diff --git a/src/game/objects/effects/explosion.c b/src/game/objects/effects/explosion.c index db867e23b..0bbb2ec57 100644 --- a/src/game/objects/effects/explosion.c +++ b/src/game/objects/effects/explosion.c @@ -3,14 +3,14 @@ #include "game/effects.h" #include "global/vars.h" -void Explosion_Setup(OBJECT_INFO *obj) +void Explosion_Setup(OBJECT *obj) { obj->control = Explosion_Control; } void Explosion_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->counter++; if (fx->counter == 2) { fx->counter = 0; diff --git a/src/game/objects/effects/explosion.h b/src/game/objects/effects/explosion.h index 47aeb0a6c..8aedb6f24 100644 --- a/src/game/objects/effects/explosion.h +++ b/src/game/objects/effects/explosion.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Explosion_Setup(OBJECT_INFO *obj); +void Explosion_Setup(OBJECT *obj); void Explosion_Control(int16_t fx_num); diff --git a/src/game/objects/effects/flame.c b/src/game/objects/effects/flame.c index 537425607..d6ead11ae 100644 --- a/src/game/objects/effects/flame.c +++ b/src/game/objects/effects/flame.c @@ -11,14 +11,14 @@ #define FLAME_ONFIRE_DAMAGE 5 #define FLAME_TOONEAR_DAMAGE 3 -void Flame_Setup(OBJECT_INFO *obj) +void Flame_Setup(OBJECT *obj) { obj->control = Flame_Control; } void Flame_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->frame_num--; if (fx->frame_num <= g_Objects[O_FLAME].nmeshes) { diff --git a/src/game/objects/effects/flame.h b/src/game/objects/effects/flame.h index 893c007b3..69e06501a 100644 --- a/src/game/objects/effects/flame.h +++ b/src/game/objects/effects/flame.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Flame_Setup(OBJECT_INFO *obj); +void Flame_Setup(OBJECT *obj); void Flame_Control(int16_t fx_num); diff --git a/src/game/objects/effects/gunshot.c b/src/game/objects/effects/gunshot.c index d0ea2e325..8ce5c9432 100644 --- a/src/game/objects/effects/gunshot.c +++ b/src/game/objects/effects/gunshot.c @@ -3,14 +3,14 @@ #include "game/effects.h" #include "game/random.h" -void GunShot_Setup(OBJECT_INFO *obj) +void GunShot_Setup(OBJECT *obj) { obj->control = GunShot_Control; } void GunShot_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->counter--; if (!fx->counter) { Effect_Kill(fx_num); diff --git a/src/game/objects/effects/gunshot.h b/src/game/objects/effects/gunshot.h index 7d0a0e31c..c9d9c5a28 100644 --- a/src/game/objects/effects/gunshot.h +++ b/src/game/objects/effects/gunshot.h @@ -2,5 +2,5 @@ #include "global/types.h" -void GunShot_Setup(OBJECT_INFO *obj); +void GunShot_Setup(OBJECT *obj); void GunShot_Control(int16_t fx_num); diff --git a/src/game/objects/effects/missile.c b/src/game/objects/effects/missile.c index f927dfb26..69dda57e0 100644 --- a/src/game/objects/effects/missile.c +++ b/src/game/objects/effects/missile.c @@ -17,14 +17,14 @@ #define ROCKET_RANGE_BASE WALL_L #define ROCKET_RANGE SQUARE(ROCKET_RANGE_BASE) // = 1048576 -void Missile_Setup(OBJECT_INFO *obj) +void Missile_Setup(OBJECT *obj) { obj->control = Missile_Control; } void Missile_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; int32_t speed = (fx->speed * Math_Cos(fx->rot.x)) >> W2V_SHIFT; fx->pos.y += (fx->speed * Math_Sin(-fx->rot.x)) >> W2V_SHIFT; @@ -32,7 +32,7 @@ void Missile_Control(int16_t fx_num) fx->pos.x += (speed * Math_Sin(fx->rot.y)) >> W2V_SHIFT; int16_t room_num = fx->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(fx->pos.x, fx->pos.y, fx->pos.z, &room_num); const int32_t height = Room_GetHeight(sector, fx->pos.x, fx->pos.y, fx->pos.z); diff --git a/src/game/objects/effects/missile.h b/src/game/objects/effects/missile.h index b8ce68101..16c3803de 100644 --- a/src/game/objects/effects/missile.h +++ b/src/game/objects/effects/missile.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Missile_Setup(OBJECT_INFO *obj); +void Missile_Setup(OBJECT *obj); void Missile_Control(int16_t fx_num); diff --git a/src/game/objects/effects/natla_gun.c b/src/game/objects/effects/natla_gun.c index 08a50ccfd..43f06e236 100644 --- a/src/game/objects/effects/natla_gun.c +++ b/src/game/objects/effects/natla_gun.c @@ -5,15 +5,15 @@ #include "global/vars.h" #include "math/math.h" -void NatlaGun_Setup(OBJECT_INFO *obj) +void NatlaGun_Setup(OBJECT *obj) { obj->control = NatlaGun_Control; } void NatlaGun_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; - OBJECT_INFO *object = &g_Objects[fx->object_id]; + FX *fx = &g_Effects[fx_num]; + OBJECT *object = &g_Objects[fx->object_id]; fx->frame_num--; if (fx->frame_num <= object->nmeshes) { @@ -28,7 +28,7 @@ void NatlaGun_Control(int16_t fx_num) int32_t x = fx->pos.x + ((fx->speed * Math_Sin(fx->rot.y)) >> W2V_SHIFT); int32_t y = fx->pos.y; int16_t room_num = fx->room_num; - const SECTOR_INFO *const sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *const sector = Room_GetSector(x, y, z, &room_num); if (y >= Room_GetHeight(sector, x, y, z) || y <= Room_GetCeiling(sector, x, y, z)) { @@ -37,7 +37,7 @@ void NatlaGun_Control(int16_t fx_num) fx_num = Effect_Create(room_num); if (fx_num != NO_ITEM) { - FX_INFO *newfx = &g_Effects[fx_num]; + FX *newfx = &g_Effects[fx_num]; newfx->pos.x = x; newfx->pos.y = y; newfx->pos.z = z; diff --git a/src/game/objects/effects/natla_gun.h b/src/game/objects/effects/natla_gun.h index 0fdd7b850..d6bf10ed9 100644 --- a/src/game/objects/effects/natla_gun.h +++ b/src/game/objects/effects/natla_gun.h @@ -2,5 +2,5 @@ #include "global/types.h" -void NatlaGun_Setup(OBJECT_INFO *obj); +void NatlaGun_Setup(OBJECT *obj); void NatlaGun_Control(int16_t fx_num); diff --git a/src/game/objects/effects/ricochet.c b/src/game/objects/effects/ricochet.c index f5e9e17c8..af97a1c88 100644 --- a/src/game/objects/effects/ricochet.c +++ b/src/game/objects/effects/ricochet.c @@ -5,14 +5,14 @@ #include "game/sound.h" #include "global/const.h" -void Ricochet_Setup(OBJECT_INFO *obj) +void Ricochet_Setup(OBJECT *obj) { obj->control = Ricochet_Control; } void Ricochet_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->counter--; if (!fx->counter) { Effect_Kill(fx_num); @@ -23,7 +23,7 @@ void Ricochet_Spawn(GAME_VECTOR *pos) { int16_t fx_num = Effect_Create(pos->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = pos->x; fx->pos.y = pos->y; fx->pos.z = pos->z; diff --git a/src/game/objects/effects/ricochet.h b/src/game/objects/effects/ricochet.h index ec42e31f8..dda526afa 100644 --- a/src/game/objects/effects/ricochet.h +++ b/src/game/objects/effects/ricochet.h @@ -2,6 +2,6 @@ #include "global/types.h" -void Ricochet_Setup(OBJECT_INFO *obj); +void Ricochet_Setup(OBJECT *obj); void Ricochet_Control(int16_t fx_num); void Ricochet_Spawn(GAME_VECTOR *pos); diff --git a/src/game/objects/effects/splash.c b/src/game/objects/effects/splash.c index 878192e66..192d5a4a4 100644 --- a/src/game/objects/effects/splash.c +++ b/src/game/objects/effects/splash.c @@ -8,14 +8,14 @@ #include "global/vars.h" #include "math/math.h" -void Splash_Setup(OBJECT_INFO *obj) +void Splash_Setup(OBJECT *obj) { obj->control = Splash_Control; } void Splash_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->frame_num--; if (fx->frame_num <= g_Objects[fx->object_id].nmeshes) { Effect_Kill(fx_num); @@ -26,7 +26,7 @@ void Splash_Control(int16_t fx_num) fx->pos.x += (Math_Sin(fx->rot.y) * fx->speed) >> W2V_SHIFT; } -void Splash_Spawn(ITEM_INFO *item) +void Splash_Spawn(ITEM *item) { int16_t wh = Room_GetWaterHeight( item->pos.x, item->pos.y, item->pos.z, item->room_num); @@ -38,7 +38,7 @@ void Splash_Spawn(ITEM_INFO *item) for (int i = 0; i < 10; i++) { int16_t fx_num = Effect_Create(room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = item->pos.x; fx->pos.y = wh; fx->pos.z = item->pos.z; diff --git a/src/game/objects/effects/splash.h b/src/game/objects/effects/splash.h index 6b9eb41c3..7f3a0ee3b 100644 --- a/src/game/objects/effects/splash.h +++ b/src/game/objects/effects/splash.h @@ -2,6 +2,6 @@ #include "global/types.h" -void Splash_Setup(OBJECT_INFO *obj); +void Splash_Setup(OBJECT *obj); void Splash_Control(int16_t fx_num); -void Splash_Spawn(ITEM_INFO *item); +void Splash_Spawn(ITEM *item); diff --git a/src/game/objects/effects/twinkle.c b/src/game/objects/effects/twinkle.c index 14e173a83..555a0d8c1 100644 --- a/src/game/objects/effects/twinkle.c +++ b/src/game/objects/effects/twinkle.c @@ -6,14 +6,14 @@ #include "global/const.h" #include "global/vars.h" -void Twinkle_Setup(OBJECT_INFO *obj) +void Twinkle_Setup(OBJECT *obj) { obj->control = Twinkle_Control; } void Twinkle_Control(int16_t fx_num) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->counter++; if (fx->counter == 1) { fx->counter = 0; @@ -28,7 +28,7 @@ void Twinkle_Spawn(GAME_VECTOR *pos) { int16_t fx_num = Effect_Create(pos->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = pos->x; fx->pos.y = pos->y; fx->pos.z = pos->z; @@ -38,7 +38,7 @@ void Twinkle_Spawn(GAME_VECTOR *pos) } } -void Twinkle_SparkleItem(ITEM_INFO *item, int mesh_mask) +void Twinkle_SparkleItem(ITEM *item, int mesh_mask) { SPHERE slist[34]; GAME_VECTOR effect_pos; diff --git a/src/game/objects/effects/twinkle.h b/src/game/objects/effects/twinkle.h index 32c46b510..0d92becb5 100644 --- a/src/game/objects/effects/twinkle.h +++ b/src/game/objects/effects/twinkle.h @@ -2,7 +2,7 @@ #include "global/types.h" -void Twinkle_Setup(OBJECT_INFO *obj); +void Twinkle_Setup(OBJECT *obj); void Twinkle_Control(int16_t fx_num); void Twinkle_Spawn(GAME_VECTOR *pos); -void Twinkle_SparkleItem(ITEM_INFO *item, int mesh_mask); +void Twinkle_SparkleItem(ITEM *item, int mesh_mask); diff --git a/src/game/objects/general/boat.c b/src/game/objects/general/boat.c index f0fc314a0..f8984a7cf 100644 --- a/src/game/objects/general/boat.c +++ b/src/game/objects/general/boat.c @@ -2,7 +2,7 @@ #include "game/items.h" -void Boat_Setup(OBJECT_INFO *obj) +void Boat_Setup(OBJECT *obj) { obj->control = Boat_Control; obj->save_flags = 1; @@ -12,7 +12,7 @@ void Boat_Setup(OBJECT_INFO *obj) void Boat_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; switch (item->current_anim_state) { case BOAT_SET: diff --git a/src/game/objects/general/boat.h b/src/game/objects/general/boat.h index f55d550e5..bd63cb019 100644 --- a/src/game/objects/general/boat.h +++ b/src/game/objects/general/boat.h @@ -9,5 +9,5 @@ typedef enum { BOAT_STOP = 3, } BOAT_ANIM; -void Boat_Setup(OBJECT_INFO *obj); +void Boat_Setup(OBJECT *obj); void Boat_Control(int16_t item_num); diff --git a/src/game/objects/general/bridge_common.c b/src/game/objects/general/bridge_common.c index 9716ad1f8..20455dc36 100644 --- a/src/game/objects/general/bridge_common.c +++ b/src/game/objects/general/bridge_common.c @@ -9,7 +9,7 @@ #include -bool Bridge_IsSameSector(int32_t x, int32_t z, const ITEM_INFO *item) +bool Bridge_IsSameSector(int32_t x, int32_t z, const ITEM *item) { int32_t sector_x = x / WALL_L; int32_t sector_z = z / WALL_L; @@ -20,7 +20,7 @@ bool Bridge_IsSameSector(int32_t x, int32_t z, const ITEM_INFO *item) } int32_t Bridge_GetOffset( - const ITEM_INFO *const item, int32_t x, int32_t y, int32_t z) + const ITEM *const item, int32_t x, int32_t y, int32_t z) { // Set the offset to the max value of 1023 if Lara is outside of the // bridge x/z position depending on its angle. This makes sure @@ -69,7 +69,7 @@ void Bridge_FixEmbeddedPosition(int16_t item_num) // Some bridges at floor level are embedded into the floor. // This checks if bridges are below a room's floor level // and moves them up. - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; int32_t x = item->pos.x; int32_t y = item->pos.y; @@ -79,7 +79,7 @@ void Bridge_FixEmbeddedPosition(int16_t item_num) const BOUNDS_16 *const bounds = Item_GetBoundsAccurate(item); const int16_t bridge_height = ABS(bounds->max.y) - ABS(bounds->min.y); - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(x, y - bridge_height, z, &room_num); const int16_t floor_height = Room_GetHeight(sector, x, y, z); diff --git a/src/game/objects/general/bridge_common.h b/src/game/objects/general/bridge_common.h index 40075c62a..3a35cebdf 100644 --- a/src/game/objects/general/bridge_common.h +++ b/src/game/objects/general/bridge_common.h @@ -2,9 +2,8 @@ #include "global/types.h" -bool Bridge_IsSameSector(int32_t x, int32_t z, const ITEM_INFO *item); -int32_t Bridge_GetOffset( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z); +bool Bridge_IsSameSector(int32_t x, int32_t z, const ITEM *item); +int32_t Bridge_GetOffset(const ITEM *item, int32_t x, int32_t y, int32_t z); void Bridge_FixEmbeddedPosition(int16_t item_num); void Bridge_Initialise(int16_t item_num); diff --git a/src/game/objects/general/bridge_flat.c b/src/game/objects/general/bridge_flat.c index 11fdd9f21..fe66f1537 100644 --- a/src/game/objects/general/bridge_flat.c +++ b/src/game/objects/general/bridge_flat.c @@ -5,9 +5,9 @@ static void M_Initialise(int16_t item_num); static int16_t M_GetFloorHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); static int16_t M_GetCeilingHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); static void M_Initialise(const int16_t item_num) { @@ -15,7 +15,7 @@ static void M_Initialise(const int16_t item_num) } static int16_t M_GetFloorHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (g_Config.fix_bridge_collision && !Bridge_IsSameSector(x, z, item)) { @@ -34,7 +34,7 @@ static int16_t M_GetFloorHeight( } static int16_t M_GetCeilingHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (g_Config.fix_bridge_collision && !Bridge_IsSameSector(x, z, item)) { @@ -52,7 +52,7 @@ static int16_t M_GetCeilingHeight( return item->pos.y + STEP_L; } -void BridgeFlat_Setup(OBJECT_INFO *const obj) +void BridgeFlat_Setup(OBJECT *const obj) { obj->initialise = M_Initialise; obj->floor_height_func = M_GetFloorHeight; diff --git a/src/game/objects/general/bridge_flat.h b/src/game/objects/general/bridge_flat.h index be1bf3f21..2327ea4a0 100644 --- a/src/game/objects/general/bridge_flat.h +++ b/src/game/objects/general/bridge_flat.h @@ -2,4 +2,4 @@ #include "global/types.h" -void BridgeFlat_Setup(OBJECT_INFO *obj); +void BridgeFlat_Setup(OBJECT *obj); diff --git a/src/game/objects/general/bridge_tilt1.c b/src/game/objects/general/bridge_tilt1.c index 4f9778f92..13f6517d1 100644 --- a/src/game/objects/general/bridge_tilt1.c +++ b/src/game/objects/general/bridge_tilt1.c @@ -5,9 +5,9 @@ static void M_Initialise(int16_t item_num); static int16_t M_GetFloorHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); static int16_t M_GetCeilingHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); static void M_Initialise(const int16_t item_num) { @@ -15,7 +15,7 @@ static void M_Initialise(const int16_t item_num) } int16_t M_GetFloorHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (g_Config.fix_bridge_collision && !Bridge_IsSameSector(x, z, item)) { @@ -36,7 +36,7 @@ int16_t M_GetFloorHeight( } int16_t M_GetCeilingHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (g_Config.fix_bridge_collision && !Bridge_IsSameSector(x, z, item)) { @@ -56,7 +56,7 @@ int16_t M_GetCeilingHeight( return offset_height + STEP_L; } -void BridgeTilt1_Setup(OBJECT_INFO *obj) +void BridgeTilt1_Setup(OBJECT *obj) { obj->initialise = M_Initialise; obj->floor_height_func = M_GetFloorHeight; diff --git a/src/game/objects/general/bridge_tilt1.h b/src/game/objects/general/bridge_tilt1.h index 635db70d5..825ff7127 100644 --- a/src/game/objects/general/bridge_tilt1.h +++ b/src/game/objects/general/bridge_tilt1.h @@ -2,4 +2,4 @@ #include "global/types.h" -void BridgeTilt1_Setup(OBJECT_INFO *obj); +void BridgeTilt1_Setup(OBJECT *obj); diff --git a/src/game/objects/general/bridge_tilt2.c b/src/game/objects/general/bridge_tilt2.c index 560df2ce9..f05dd0ef5 100644 --- a/src/game/objects/general/bridge_tilt2.c +++ b/src/game/objects/general/bridge_tilt2.c @@ -4,9 +4,9 @@ static void M_Initialise(int16_t item_num); static int16_t M_GetFloorHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); static int16_t M_GetCeilingHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); static void M_Initialise(const int16_t item_num) { @@ -14,7 +14,7 @@ static void M_Initialise(const int16_t item_num) } int16_t M_GetFloorHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (g_Config.fix_bridge_collision && !Bridge_IsSameSector(x, z, item)) { @@ -35,7 +35,7 @@ int16_t M_GetFloorHeight( } int16_t M_GetCeilingHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (g_Config.fix_bridge_collision && !Bridge_IsSameSector(x, z, item)) { @@ -55,7 +55,7 @@ int16_t M_GetCeilingHeight( return offset_height + STEP_L; } -void BridgeTilt2_Setup(OBJECT_INFO *obj) +void BridgeTilt2_Setup(OBJECT *obj) { obj->initialise = M_Initialise; obj->floor_height_func = M_GetFloorHeight; diff --git a/src/game/objects/general/bridge_tilt2.h b/src/game/objects/general/bridge_tilt2.h index eee1e541d..57b45cdd5 100644 --- a/src/game/objects/general/bridge_tilt2.h +++ b/src/game/objects/general/bridge_tilt2.h @@ -2,4 +2,4 @@ #include "global/types.h" -void BridgeTilt2_Setup(OBJECT_INFO *obj); +void BridgeTilt2_Setup(OBJECT *obj); diff --git a/src/game/objects/general/cabin.c b/src/game/objects/general/cabin.c index 189968cad..4fa14b2ec 100644 --- a/src/game/objects/general/cabin.c +++ b/src/game/objects/general/cabin.c @@ -4,7 +4,7 @@ #include "game/objects/common.h" #include "game/room.h" -void Cabin_Setup(OBJECT_INFO *obj) +void Cabin_Setup(OBJECT *obj) { obj->control = Cabin_Control; obj->draw_routine = Object_DrawUnclippedItem; @@ -15,7 +15,7 @@ void Cabin_Setup(OBJECT_INFO *obj) void Cabin_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if ((item->flags & IF_CODE_BITS) == IF_CODE_BITS) { switch (item->current_anim_state) { diff --git a/src/game/objects/general/cabin.h b/src/game/objects/general/cabin.h index 0d0524b3e..05602e8df 100644 --- a/src/game/objects/general/cabin.h +++ b/src/game/objects/general/cabin.h @@ -10,5 +10,5 @@ typedef enum { CABIN_FINISH = 4, } CABIN_ANIM; -void Cabin_Setup(OBJECT_INFO *obj); +void Cabin_Setup(OBJECT *obj); void Cabin_Control(int16_t item_num); diff --git a/src/game/objects/general/camera_target.c b/src/game/objects/general/camera_target.c index 50aebea46..74bcac1d4 100644 --- a/src/game/objects/general/camera_target.c +++ b/src/game/objects/general/camera_target.c @@ -2,7 +2,7 @@ #include "game/objects/common.h" -void CameraTarget_Setup(OBJECT_INFO *obj) +void CameraTarget_Setup(OBJECT *obj) { obj->draw_routine = Object_DrawDummyItem; } diff --git a/src/game/objects/general/camera_target.h b/src/game/objects/general/camera_target.h index 102427877..c959119e8 100644 --- a/src/game/objects/general/camera_target.h +++ b/src/game/objects/general/camera_target.h @@ -2,4 +2,4 @@ #include "global/types.h" -void CameraTarget_Setup(OBJECT_INFO *obj); +void CameraTarget_Setup(OBJECT *obj); diff --git a/src/game/objects/general/cog.c b/src/game/objects/general/cog.c index df87cc800..70125e69a 100644 --- a/src/game/objects/general/cog.c +++ b/src/game/objects/general/cog.c @@ -3,7 +3,7 @@ #include "game/items.h" #include "game/room.h" -void Cog_Setup(OBJECT_INFO *obj) +void Cog_Setup(OBJECT *obj) { obj->control = Cog_Control; obj->save_flags = 1; @@ -11,7 +11,7 @@ void Cog_Setup(OBJECT_INFO *obj) void Cog_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Item_IsTriggerActive(item)) { item->goal_anim_state = DOOR_OPEN; } else { diff --git a/src/game/objects/general/cog.h b/src/game/objects/general/cog.h index 8b16fa0ee..fd2d3d12b 100644 --- a/src/game/objects/general/cog.h +++ b/src/game/objects/general/cog.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Cog_Setup(OBJECT_INFO *obj); +void Cog_Setup(OBJECT *obj); void Cog_Control(int16_t item_num); diff --git a/src/game/objects/general/door.c b/src/game/objects/general/door.c index 5ad04daae..d26d02dfb 100644 --- a/src/game/objects/general/door.c +++ b/src/game/objects/general/door.c @@ -11,12 +11,12 @@ #include -static bool M_LaraDoorCollision(const SECTOR_INFO *sector); +static bool M_LaraDoorCollision(const SECTOR *sector); static void M_Check(DOORPOS_DATA *d); static void M_Open(DOORPOS_DATA *d); static void M_Shut(DOORPOS_DATA *d); -static bool M_LaraDoorCollision(const SECTOR_INFO *const sector) +static bool M_LaraDoorCollision(const SECTOR *const sector) { // Check if Lara is on the same tile as the invisible block. if (g_LaraItem == NULL) { @@ -24,7 +24,7 @@ static bool M_LaraDoorCollision(const SECTOR_INFO *const sector) } int16_t room_num = g_LaraItem->room_num; - const SECTOR_INFO *const lara_sector = Room_GetSector( + const SECTOR *const lara_sector = Room_GetSector( g_LaraItem->pos.x, g_LaraItem->pos.y, g_LaraItem->pos.z, &room_num); return lara_sector == sector; } @@ -43,7 +43,7 @@ static void M_Check(DOORPOS_DATA *const d) static void M_Shut(DOORPOS_DATA *const d) { // Change the level geometry so that the door tile is impassable. - SECTOR_INFO *const sector = d->sector; + SECTOR *const sector = d->sector; if (sector == NULL) { return; } @@ -64,7 +64,7 @@ static void M_Shut(DOORPOS_DATA *const d) static void M_Open(DOORPOS_DATA *const d) { // Restore the level geometry so that the door tile is passable. - SECTOR_INFO *const sector = d->sector; + SECTOR *const sector = d->sector; if (!sector) { return; } @@ -77,7 +77,7 @@ static void M_Open(DOORPOS_DATA *const d) } } -void Door_Setup(OBJECT_INFO *obj) +void Door_Setup(OBJECT *obj) { obj->initialise = Door_Initialise; obj->control = Door_Control; @@ -89,7 +89,7 @@ void Door_Setup(OBJECT_INFO *obj) void Door_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; DOOR_DATA *door = GameBuf_Alloc(sizeof(DOOR_DATA), GBUF_EXTRA_DOOR_STUFF); item->data = door; @@ -105,8 +105,8 @@ void Door_Initialise(int16_t item_num) dy++; } - const ROOM_INFO *r; - const ROOM_INFO *b; + const ROOM *r; + const ROOM *b; int32_t z_sector; int32_t x_sector; int16_t room_num; @@ -212,7 +212,7 @@ void Door_Initialise(int16_t item_num) void Door_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; DOOR_DATA *door = item->data; if (Item_IsTriggerActive(item)) { @@ -242,9 +242,9 @@ void Door_Control(int16_t item_num) Item_Animate(item); } -void Door_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Door_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (!Lara_TestBoundsCollide(item, coll->radius)) { return; diff --git a/src/game/objects/general/door.h b/src/game/objects/general/door.h index 162a3034b..429ff3c1a 100644 --- a/src/game/objects/general/door.h +++ b/src/game/objects/general/door.h @@ -2,7 +2,7 @@ #include "global/types.h" -void Door_Setup(OBJECT_INFO *obj); +void Door_Setup(OBJECT *obj); void Door_Initialise(int16_t item_num); void Door_Control(int16_t item_num); -void Door_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void Door_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/general/drawbridge.c b/src/game/objects/general/drawbridge.c index 7fd131d6f..c12558b37 100644 --- a/src/game/objects/general/drawbridge.c +++ b/src/game/objects/general/drawbridge.c @@ -10,16 +10,15 @@ typedef enum { DRAWBRIDGE_OPEN, } DRAWBRIDGE_STATE; -static bool M_IsItemOnTop(const ITEM_INFO *item, int32_t x, int32_t z); +static bool M_IsItemOnTop(const ITEM *item, int32_t x, int32_t z); static int16_t M_GetFloorHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); static int16_t M_GetCeilingHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); -static void M_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); +static void M_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); static void M_Control(int16_t item_num); -static bool M_IsItemOnTop(const ITEM_INFO *item, int32_t x, int32_t z) +static bool M_IsItemOnTop(const ITEM *item, int32_t x, int32_t z) { int32_t ix = item->pos.x >> WALL_SHIFT; int32_t iz = item->pos.z >> WALL_SHIFT; @@ -43,7 +42,7 @@ static bool M_IsItemOnTop(const ITEM_INFO *item, int32_t x, int32_t z) } static int16_t M_GetFloorHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (item->current_anim_state != DOOR_OPEN) { @@ -59,7 +58,7 @@ static int16_t M_GetFloorHeight( } static int16_t M_GetCeilingHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (item->current_anim_state != DOOR_OPEN) { @@ -74,9 +73,9 @@ static int16_t M_GetCeilingHeight( return item->pos.y + STEP_L; } -static void M_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +static void M_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->current_anim_state == DOOR_CLOSED) { Door_Collision(item_num, lara_item, coll); } @@ -84,7 +83,7 @@ static void M_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) static void M_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Item_IsTriggerActive(item)) { item->goal_anim_state = DRAWBRIDGE_OPEN; } else { @@ -100,7 +99,7 @@ static void M_Control(int16_t item_num) } } -void Drawbridge_Setup(OBJECT_INFO *obj) +void Drawbridge_Setup(OBJECT *obj) { if (!obj->loaded) { return; diff --git a/src/game/objects/general/drawbridge.h b/src/game/objects/general/drawbridge.h index 835bbbbcd..58f2c749e 100644 --- a/src/game/objects/general/drawbridge.h +++ b/src/game/objects/general/drawbridge.h @@ -2,4 +2,4 @@ #include "global/types.h" -void Drawbridge_Setup(OBJECT_INFO *obj); +void Drawbridge_Setup(OBJECT *obj); diff --git a/src/game/objects/general/earthquake.c b/src/game/objects/general/earthquake.c index 209364f68..b70cb1d4e 100644 --- a/src/game/objects/general/earthquake.c +++ b/src/game/objects/general/earthquake.c @@ -8,7 +8,7 @@ #include -void Earthquake_Setup(OBJECT_INFO *obj) +void Earthquake_Setup(OBJECT *obj) { obj->control = Earthquake_Control; obj->draw_routine = Object_DrawDummyItem; @@ -17,7 +17,7 @@ void Earthquake_Setup(OBJECT_INFO *obj) void Earthquake_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Item_IsTriggerActive(item)) { if (Random_GetDraw() < 0x100) { g_Camera.bounce = -150; diff --git a/src/game/objects/general/earthquake.h b/src/game/objects/general/earthquake.h index 81693587c..af194fbcb 100644 --- a/src/game/objects/general/earthquake.h +++ b/src/game/objects/general/earthquake.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Earthquake_Setup(OBJECT_INFO *obj); +void Earthquake_Setup(OBJECT *obj); void Earthquake_Control(int16_t item_num); diff --git a/src/game/objects/general/keyhole.c b/src/game/objects/general/keyhole.c index ef013c4cb..6af4aa6f9 100644 --- a/src/game/objects/general/keyhole.c +++ b/src/game/objects/general/keyhole.c @@ -21,15 +21,14 @@ static const OBJECT_BOUNDS m_KeyHoleBounds = { }, }; -static void M_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +static void M_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); ; static const OBJECT_BOUNDS *M_Bounds(void); -static void M_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +static void M_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; if (g_Lara.interact_target.is_moving && g_Lara.interact_target.item_num == item_num) { @@ -64,7 +63,7 @@ static const OBJECT_BOUNDS *M_Bounds(void) return &m_KeyHoleBounds; } -void KeyHole_Setup(OBJECT_INFO *obj) +void KeyHole_Setup(OBJECT *obj) { obj->collision = M_Collision; obj->save_flags = 1; @@ -73,7 +72,7 @@ void KeyHole_Setup(OBJECT_INFO *obj) bool KeyHole_Trigger(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_ACTIVE && g_Lara.gun_status != LGS_HANDS_BUSY) { item->status = IS_DEACTIVATED; return true; diff --git a/src/game/objects/general/keyhole.h b/src/game/objects/general/keyhole.h index 42649381d..575f58d2c 100644 --- a/src/game/objects/general/keyhole.h +++ b/src/game/objects/general/keyhole.h @@ -4,5 +4,5 @@ extern XYZ_32 g_KeyHolePosition; -void KeyHole_Setup(OBJECT_INFO *obj); +void KeyHole_Setup(OBJECT *obj); bool KeyHole_Trigger(int16_t item_num); diff --git a/src/game/objects/general/moving_bar.c b/src/game/objects/general/moving_bar.c index b3d9e7c57..b11dc3a0f 100644 --- a/src/game/objects/general/moving_bar.c +++ b/src/game/objects/general/moving_bar.c @@ -3,7 +3,7 @@ #include "game/objects/common.h" #include "game/objects/general/cog.h" -void MovingBar_Setup(OBJECT_INFO *obj) +void MovingBar_Setup(OBJECT *obj) { obj->control = Cog_Control; obj->collision = Object_Collision; diff --git a/src/game/objects/general/moving_bar.h b/src/game/objects/general/moving_bar.h index e56579040..66bb15c79 100644 --- a/src/game/objects/general/moving_bar.h +++ b/src/game/objects/general/moving_bar.h @@ -2,4 +2,4 @@ #include "global/types.h" -void MovingBar_Setup(OBJECT_INFO *obj); +void MovingBar_Setup(OBJECT *obj); diff --git a/src/game/objects/general/pickup.c b/src/game/objects/general/pickup.c index 6024648d4..aa0e87f37 100644 --- a/src/game/objects/general/pickup.c +++ b/src/game/objects/general/pickup.c @@ -50,10 +50,10 @@ static const OBJECT_BOUNDS m_PickUpBoundsUW = { }, }; -static void M_GetItem(int16_t item_num, ITEM_INFO *item, ITEM_INFO *lara_item); -static void M_GetAllAtLaraPos(ITEM_INFO *item, ITEM_INFO *lara_item); +static void M_GetItem(int16_t item_num, ITEM *item, ITEM *lara_item); +static void M_GetAllAtLaraPos(ITEM *item, ITEM *lara_item); -static void M_GetItem(int16_t item_num, ITEM_INFO *item, ITEM_INFO *lara_item) +static void M_GetItem(int16_t item_num, ITEM *item, ITEM *lara_item) { Overlay_AddPickup(item->object_id); Inv_AddItem(item->object_id); @@ -63,11 +63,11 @@ static void M_GetItem(int16_t item_num, ITEM_INFO *item, ITEM_INFO *lara_item) g_Lara.interact_target.is_moving = false; } -static void M_GetAllAtLaraPos(ITEM_INFO *item, ITEM_INFO *lara_item) +static void M_GetAllAtLaraPos(ITEM *item, ITEM *lara_item) { int16_t pickup_num = g_RoomInfo[item->room_num].item_num; while (pickup_num != NO_ITEM) { - ITEM_INFO *check_item = &g_Items[pickup_num]; + ITEM *check_item = &g_Items[pickup_num]; if (check_item->pos.x == item->pos.x && check_item->pos.z == item->pos.z && g_Objects[check_item->object_id].collision == Pickup_Collision) { M_GetItem(pickup_num, check_item, lara_item); @@ -76,7 +76,7 @@ static void M_GetAllAtLaraPos(ITEM_INFO *item, ITEM_INFO *lara_item) } } -void Pickup_Setup(OBJECT_INFO *obj) +void Pickup_Setup(OBJECT *obj) { obj->draw_routine = Object_DrawPickupItem; obj->collision = Pickup_Collision; @@ -95,15 +95,15 @@ const OBJECT_BOUNDS *Pickup_Bounds(void) } } -void Pickup_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Pickup_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { if (g_Config.walk_to_items) { Pickup_CollisionControlled(item_num, lara_item, coll); return; } - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; int16_t rotx = item->rot.x; int16_t roty = item->rot.y; int16_t rotz = item->rot.z; @@ -163,10 +163,10 @@ cleanup: } void Pickup_CollisionControlled( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) + int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; if (item->status == IS_INVISIBLE) { return; @@ -260,7 +260,7 @@ void Pickup_CollisionControlled( bool Pickup_Trigger(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status != IS_INVISIBLE) { return false; } diff --git a/src/game/objects/general/pickup.h b/src/game/objects/general/pickup.h index 62c84f3e5..9eef6b382 100644 --- a/src/game/objects/general/pickup.h +++ b/src/game/objects/general/pickup.h @@ -2,9 +2,9 @@ #include "global/types.h" -void Pickup_Setup(OBJECT_INFO *obj); +void Pickup_Setup(OBJECT *obj); const OBJECT_BOUNDS *Pickup_Bounds(void); -void Pickup_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void Pickup_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); void Pickup_CollisionControlled( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); + int16_t item_num, ITEM *lara_item, COLL_INFO *coll); bool Pickup_Trigger(int16_t item_num); diff --git a/src/game/objects/general/puzzle_hole.c b/src/game/objects/general/puzzle_hole.c index 55266e59c..41cf74087 100644 --- a/src/game/objects/general/puzzle_hole.c +++ b/src/game/objects/general/puzzle_hole.c @@ -40,23 +40,22 @@ static const OBJECT_BOUNDS *M_Bounds(void) return &m_PuzzleHoleBounds; } -void PuzzleHole_Setup(OBJECT_INFO *obj) +void PuzzleHole_Setup(OBJECT *obj) { obj->collision = PuzzleHole_Collision; obj->save_flags = 1; obj->bounds = M_Bounds; } -void PuzzleHole_SetupDone(OBJECT_INFO *obj) +void PuzzleHole_SetupDone(OBJECT *obj) { obj->save_flags = 1; } -void PuzzleHole_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void PuzzleHole_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; if (lara_item->current_anim_state == LS_USE_PUZZLE) { if (!Lara_TestPosition(item, obj->bounds())) { diff --git a/src/game/objects/general/puzzle_hole.h b/src/game/objects/general/puzzle_hole.h index cb8f29ce0..a558e87dc 100644 --- a/src/game/objects/general/puzzle_hole.h +++ b/src/game/objects/general/puzzle_hole.h @@ -2,7 +2,6 @@ #include "global/types.h" -void PuzzleHole_Setup(OBJECT_INFO *obj); -void PuzzleHole_SetupDone(OBJECT_INFO *obj); -void PuzzleHole_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void PuzzleHole_Setup(OBJECT *obj); +void PuzzleHole_SetupDone(OBJECT *obj); +void PuzzleHole_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/general/save_crystal.c b/src/game/objects/general/save_crystal.c index 3639f4ade..fba88c465 100644 --- a/src/game/objects/general/save_crystal.c +++ b/src/game/objects/general/save_crystal.c @@ -27,7 +27,7 @@ static const OBJECT_BOUNDS *M_Bounds(void) return &m_SaveCrystal_Bounds; } -void SaveCrystal_Setup(OBJECT_INFO *obj) +void SaveCrystal_Setup(OBJECT *obj) { obj->initialise = SaveCrystal_Initialise; if (g_Config.enable_save_crystals) { @@ -50,15 +50,14 @@ void SaveCrystal_Initialise(int16_t item_num) void SaveCrystal_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; Item_Animate(item); } -void SaveCrystal_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void SaveCrystal_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; Object_Collision(item_num, lara_item, coll); diff --git a/src/game/objects/general/save_crystal.h b/src/game/objects/general/save_crystal.h index 51c46817b..5a32734ca 100644 --- a/src/game/objects/general/save_crystal.h +++ b/src/game/objects/general/save_crystal.h @@ -2,8 +2,7 @@ #include "global/types.h" -void SaveCrystal_Setup(OBJECT_INFO *obj); +void SaveCrystal_Setup(OBJECT *obj); void SaveCrystal_Initialise(int16_t item_num); void SaveCrystal_Control(int16_t item_num); -void SaveCrystal_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void SaveCrystal_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/general/scion1.c b/src/game/objects/general/scion1.c index 354cfcc24..a89ca25e0 100644 --- a/src/game/objects/general/scion1.c +++ b/src/game/objects/general/scion1.c @@ -31,7 +31,7 @@ static const OBJECT_BOUNDS *M_Bounds(void) return &m_Scion1_Bounds; } -void Scion1_Setup(OBJECT_INFO *obj) +void Scion1_Setup(OBJECT *obj) { obj->draw_routine = Object_DrawPickupItem; obj->collision = Scion1_Collision; @@ -39,10 +39,10 @@ void Scion1_Setup(OBJECT_INFO *obj) obj->bounds = M_Bounds; } -void Scion1_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Scion1_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; int16_t rotx = item->rot.x; int16_t roty = item->rot.y; int16_t rotz = item->rot.z; diff --git a/src/game/objects/general/scion1.h b/src/game/objects/general/scion1.h index f076f9b89..19ce11c4b 100644 --- a/src/game/objects/general/scion1.h +++ b/src/game/objects/general/scion1.h @@ -5,5 +5,5 @@ // Tomb of Qualopec and Sanctuary Scion pickup. // Triggers O_LARA_EXTRA pedestal pickup animation. -void Scion1_Setup(OBJECT_INFO *obj); -void Scion1_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void Scion1_Setup(OBJECT *obj); +void Scion1_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/general/scion2.c b/src/game/objects/general/scion2.c index 710a745c8..8c5cd5068 100644 --- a/src/game/objects/general/scion2.c +++ b/src/game/objects/general/scion2.c @@ -5,7 +5,7 @@ #include "game/objects/general/pickup.h" #include "global/vars.h" -void Scion2_Setup(OBJECT_INFO *obj) +void Scion2_Setup(OBJECT *obj) { Pickup_Setup(obj); } diff --git a/src/game/objects/general/scion2.h b/src/game/objects/general/scion2.h index 11ecc49ee..2f978e786 100644 --- a/src/game/objects/general/scion2.h +++ b/src/game/objects/general/scion2.h @@ -4,4 +4,4 @@ // Normal pickup Scion. -void Scion2_Setup(OBJECT_INFO *obj); +void Scion2_Setup(OBJECT *obj); diff --git a/src/game/objects/general/scion3.c b/src/game/objects/general/scion3.c index e08486a08..806902067 100644 --- a/src/game/objects/general/scion3.c +++ b/src/game/objects/general/scion3.c @@ -7,7 +7,7 @@ #include "game/sound.h" #include "global/vars.h" -void Scion3_Setup(OBJECT_INFO *obj) +void Scion3_Setup(OBJECT *obj) { obj->control = Scion3_Control; obj->hit_points = 5; @@ -17,7 +17,7 @@ void Scion3_Setup(OBJECT_INFO *obj) void Scion3_Control(int16_t item_num) { static int32_t counter = 0; - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->hit_points > 0) { counter = 0; @@ -35,7 +35,7 @@ void Scion3_Control(int16_t item_num) if (counter % 10 == 0) { int16_t fx_num = Effect_Create(item->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = item->pos.x + (Random_GetControl() - 0x4000) / 32; fx->pos.y = item->pos.y + (Random_GetControl() - 0x4000) / 256 - 500; diff --git a/src/game/objects/general/scion3.h b/src/game/objects/general/scion3.h index c2ad94b05..9f4c2c4d8 100644 --- a/src/game/objects/general/scion3.h +++ b/src/game/objects/general/scion3.h @@ -4,5 +4,5 @@ // The Great Pyramid shootable Scion. -void Scion3_Setup(OBJECT_INFO *obj); +void Scion3_Setup(OBJECT *obj); void Scion3_Control(int16_t item_num); diff --git a/src/game/objects/general/scion4.c b/src/game/objects/general/scion4.c index 16826f498..4cb9613c3 100644 --- a/src/game/objects/general/scion4.c +++ b/src/game/objects/general/scion4.c @@ -27,7 +27,7 @@ static const OBJECT_BOUNDS *M_Bounds(void) return &m_Scion4_Bounds; } -void Scion4_Setup(OBJECT_INFO *obj) +void Scion4_Setup(OBJECT *obj) { obj->control = Scion4_Control; obj->collision = Scion4_Collision; @@ -40,10 +40,10 @@ void Scion4_Control(int16_t item_num) Item_Animate(&g_Items[item_num]); } -void Scion4_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Scion4_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; int16_t rotx = item->rot.x; int16_t roty = item->rot.y; int16_t rotz = item->rot.z; diff --git a/src/game/objects/general/scion4.h b/src/game/objects/general/scion4.h index 31fb364d8..1d9ef18a9 100644 --- a/src/game/objects/general/scion4.h +++ b/src/game/objects/general/scion4.h @@ -4,6 +4,6 @@ // Atlantis Scion - triggers O_LARA_EXTRA reach anim. -void Scion4_Setup(OBJECT_INFO *obj); +void Scion4_Setup(OBJECT *obj); void Scion4_Control(int16_t item_num); -void Scion4_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void Scion4_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/general/scion_holder.c b/src/game/objects/general/scion_holder.c index 8c28b2ee4..1f78f88ab 100644 --- a/src/game/objects/general/scion_holder.c +++ b/src/game/objects/general/scion_holder.c @@ -4,7 +4,7 @@ #include "game/objects/common.h" #include "global/vars.h" -void ScionHolder_Setup(OBJECT_INFO *obj) +void ScionHolder_Setup(OBJECT *obj) { obj->control = ScionHolder_Control; obj->collision = Object_Collision; diff --git a/src/game/objects/general/scion_holder.h b/src/game/objects/general/scion_holder.h index 433f659ba..856e4e8ff 100644 --- a/src/game/objects/general/scion_holder.h +++ b/src/game/objects/general/scion_holder.h @@ -2,11 +2,11 @@ #include "global/types.h" -void Scion2_Setup(OBJECT_INFO *obj); -void Scion3_Setup(OBJECT_INFO *obj); -void Scion4_Setup(OBJECT_INFO *obj); +void Scion2_Setup(OBJECT *obj); +void Scion3_Setup(OBJECT *obj); +void Scion4_Setup(OBJECT *obj); void Scion4_Control(int16_t item_num); -void ScionHolder_Setup(OBJECT_INFO *obj); +void ScionHolder_Setup(OBJECT *obj); void ScionHolder_Control(int16_t item_num); void Scion3_Control(int16_t item_num); -void Scion4_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void Scion4_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/general/switch.c b/src/game/objects/general/switch.c index b1970eaea..4a9786bc9 100644 --- a/src/game/objects/general/switch.c +++ b/src/game/objects/general/switch.c @@ -57,7 +57,7 @@ static const OBJECT_BOUNDS *M_BoundsUW(void) return &m_Switch_BoundsUW; } -void Switch_Setup(OBJECT_INFO *obj) +void Switch_Setup(OBJECT *obj) { obj->control = Switch_Control; obj->collision = Switch_Collision; @@ -66,7 +66,7 @@ void Switch_Setup(OBJECT_INFO *obj) obj->bounds = M_Bounds; } -void Switch_SetupUW(OBJECT_INFO *obj) +void Switch_SetupUW(OBJECT *obj) { obj->control = Switch_Control; obj->collision = Switch_CollisionUW; @@ -77,7 +77,7 @@ void Switch_SetupUW(OBJECT_INFO *obj) void Switch_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; item->flags |= IF_CODE_BITS; if (!Item_IsTriggerActive(item)) { item->goal_anim_state = SWITCH_STATE_ON; @@ -86,15 +86,15 @@ void Switch_Control(int16_t item_num) Item_Animate(item); } -void Switch_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Switch_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { if (g_Config.walk_to_items) { Switch_CollisionControlled(item_num, lara_item, coll); return; } - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; if (!g_Input.action || item->status != IS_INACTIVE || g_Lara.gun_status != LGS_ARMLESS || lara_item->gravity) { @@ -130,9 +130,9 @@ void Switch_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) } void Switch_CollisionControlled( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) + int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if ((g_Input.action && g_Lara.gun_status == LGS_ARMLESS && !lara_item->gravity && lara_item->current_anim_state == LS_STOP @@ -184,10 +184,10 @@ void Switch_CollisionControlled( } } -void Switch_CollisionUW(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Switch_CollisionUW(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; if (!g_Input.action || item->status != IS_INACTIVE || g_Lara.water_status != LWS_UNDERWATER) { @@ -225,7 +225,7 @@ void Switch_CollisionUW(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) bool Switch_Trigger(int16_t item_num, int16_t timer) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status != IS_DEACTIVATED) { return false; } diff --git a/src/game/objects/general/switch.h b/src/game/objects/general/switch.h index 90e7bae0d..1721c28bd 100644 --- a/src/game/objects/general/switch.h +++ b/src/game/objects/general/switch.h @@ -8,12 +8,11 @@ typedef enum { SWITCH_STATE_LINK = 2, } SWITCH_STATE; -void Switch_Setup(OBJECT_INFO *obj); -void Switch_SetupUW(OBJECT_INFO *obj); -void Switch_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void Switch_Setup(OBJECT *obj); +void Switch_SetupUW(OBJECT *obj); +void Switch_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); void Switch_CollisionControlled( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); -void Switch_CollisionUW( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); + int16_t item_num, ITEM *lara_item, COLL_INFO *coll); +void Switch_CollisionUW(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); void Switch_Control(int16_t item_num); bool Switch_Trigger(int16_t item_num, int16_t timer); diff --git a/src/game/objects/general/trapdoor.c b/src/game/objects/general/trapdoor.c index 11f8b0a90..5a3134100 100644 --- a/src/game/objects/general/trapdoor.c +++ b/src/game/objects/general/trapdoor.c @@ -3,9 +3,9 @@ #include "game/items.h" #include "global/const.h" -static bool M_IsItemOnTop(const ITEM_INFO *item, int32_t x, int32_t z); +static bool M_IsItemOnTop(const ITEM *item, int32_t x, int32_t z); -static bool M_IsItemOnTop(const ITEM_INFO *item, int32_t x, int32_t z) +static bool M_IsItemOnTop(const ITEM *item, int32_t x, int32_t z) { int32_t tx = item->pos.x >> WALL_SHIFT; int32_t tz = item->pos.z >> WALL_SHIFT; @@ -24,7 +24,7 @@ static bool M_IsItemOnTop(const ITEM_INFO *item, int32_t x, int32_t z) return false; } -void TrapDoor_Setup(OBJECT_INFO *obj) +void TrapDoor_Setup(OBJECT *obj) { obj->control = TrapDoor_Control; obj->floor_height_func = TrapDoor_GetFloorHeight; @@ -35,7 +35,7 @@ void TrapDoor_Setup(OBJECT_INFO *obj) void TrapDoor_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Item_IsTriggerActive(item)) { if (item->current_anim_state == DOOR_CLOSED) { item->goal_anim_state = DOOR_OPEN; @@ -47,7 +47,7 @@ void TrapDoor_Control(int16_t item_num) } int16_t TrapDoor_GetFloorHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (!M_IsItemOnTop(item, x, z)) { @@ -63,7 +63,7 @@ int16_t TrapDoor_GetFloorHeight( } int16_t TrapDoor_GetCeilingHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (!M_IsItemOnTop(item, x, z)) { diff --git a/src/game/objects/general/trapdoor.h b/src/game/objects/general/trapdoor.h index 04bb709b2..46a8f416c 100644 --- a/src/game/objects/general/trapdoor.h +++ b/src/game/objects/general/trapdoor.h @@ -2,9 +2,9 @@ #include "global/types.h" -void TrapDoor_Setup(OBJECT_INFO *obj); +void TrapDoor_Setup(OBJECT *obj); void TrapDoor_Control(int16_t item_num); int16_t TrapDoor_GetFloorHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); int16_t TrapDoor_GetCeilingHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); diff --git a/src/game/objects/general/waterfall.c b/src/game/objects/general/waterfall.c index 0d277888b..481588fd1 100644 --- a/src/game/objects/general/waterfall.c +++ b/src/game/objects/general/waterfall.c @@ -11,7 +11,7 @@ #define WATERFALL_RANGE (WALL_L * 10) // = 10240 -void Waterfall_Setup(OBJECT_INFO *obj) +void Waterfall_Setup(OBJECT *obj) { obj->control = Waterfall_Control; obj->draw_routine = Object_DrawDummyItem; @@ -20,7 +20,7 @@ void Waterfall_Setup(OBJECT_INFO *obj) void Waterfall_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if ((item->flags & IF_CODE_BITS) != IF_CODE_BITS) { return; } @@ -33,7 +33,7 @@ void Waterfall_Control(int16_t item_num) && ABS(y) <= WATERFALL_RANGE) { int16_t fx_num = Effect_Create(item->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = item->pos.x + ((Random_GetDraw() - 0x4000) << WALL_SHIFT) / 0x7FFF; fx->pos.z = item->pos.z diff --git a/src/game/objects/general/waterfall.h b/src/game/objects/general/waterfall.h index bc3a4a523..98209b44e 100644 --- a/src/game/objects/general/waterfall.h +++ b/src/game/objects/general/waterfall.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Waterfall_Setup(OBJECT_INFO *obj); +void Waterfall_Setup(OBJECT *obj); void Waterfall_Control(int16_t item_num); diff --git a/src/game/objects/setup.c b/src/game/objects/setup.c index a34272964..6eb9714a8 100644 --- a/src/game/objects/setup.c +++ b/src/game/objects/setup.c @@ -256,7 +256,7 @@ static void M_SetupMiscObjects(void) void Object_SetupAllObjects(void) { for (int i = 0; i < O_NUMBER_OF; i++) { - OBJECT_INFO *obj = &g_Objects[i]; + OBJECT *obj = &g_Objects[i]; obj->intelligent = 0; obj->save_position = 0; obj->save_hitpoints = 0; diff --git a/src/game/objects/traps/damocles_sword.c b/src/game/objects/traps/damocles_sword.c index 31712d33b..38b31b2fb 100644 --- a/src/game/objects/traps/damocles_sword.c +++ b/src/game/objects/traps/damocles_sword.c @@ -13,7 +13,7 @@ #define DAMOCLES_SWORD_ACTIVATE_DIST ((WALL_L * 3) / 2) #define DAMOCLES_SWORD_DAMAGE 100 -void DamoclesSword_Setup(OBJECT_INFO *obj) +void DamoclesSword_Setup(OBJECT *obj) { obj->initialise = DamoclesSword_Initialise; obj->control = DamoclesSword_Control; @@ -26,7 +26,7 @@ void DamoclesSword_Setup(OBJECT_INFO *obj) void DamoclesSword_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; item->rot.y = Random_GetControl(); item->required_anim_state = (Random_GetControl() - 0x4000) / 16; item->fall_speed = 50; @@ -34,7 +34,7 @@ void DamoclesSword_Initialise(int16_t item_num) void DamoclesSword_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->gravity) { item->rot.y += item->required_anim_state; item->fall_speed += item->fall_speed < FASTFALL_SPEED ? GRAVITY : 1; @@ -64,10 +64,9 @@ void DamoclesSword_Control(int16_t item_num) } } -void DamoclesSword_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void DamoclesSword_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (!Lara_TestBoundsCollide(item, coll->radius)) { return; } diff --git a/src/game/objects/traps/damocles_sword.h b/src/game/objects/traps/damocles_sword.h index c9afe142b..3440c4e96 100644 --- a/src/game/objects/traps/damocles_sword.h +++ b/src/game/objects/traps/damocles_sword.h @@ -2,8 +2,8 @@ #include "global/types.h" -void DamoclesSword_Setup(OBJECT_INFO *obj); +void DamoclesSword_Setup(OBJECT *obj); void DamoclesSword_Initialise(int16_t item_num); void DamoclesSword_Control(int16_t item_num); void DamoclesSword_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); + int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/traps/dart.c b/src/game/objects/traps/dart.c index 35ae9c610..dd04f5f7d 100644 --- a/src/game/objects/traps/dart.c +++ b/src/game/objects/traps/dart.c @@ -11,7 +11,7 @@ #define DART_DAMAGE 50 -void Dart_Setup(OBJECT_INFO *obj) +void Dart_Setup(OBJECT *obj) { obj->collision = Object_Collision; obj->control = Dart_Control; @@ -21,7 +21,7 @@ void Dart_Setup(OBJECT_INFO *obj) void Dart_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->touch_bits) { Lara_TakeDamage(DART_DAMAGE, true); Effect_Blood( @@ -34,7 +34,7 @@ void Dart_Control(int16_t item_num) Item_Animate(item); int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &room_num); if (item->room_num != room_num) { Item_NewRoom(item_num, room_num); @@ -45,7 +45,7 @@ void Dart_Control(int16_t item_num) Item_Kill(item_num); int16_t fx_num = Effect_Create(item->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = old_x; fx->pos.y = item->pos.y; fx->pos.z = old_z; diff --git a/src/game/objects/traps/dart.h b/src/game/objects/traps/dart.h index 110b7b175..af91f2f56 100644 --- a/src/game/objects/traps/dart.h +++ b/src/game/objects/traps/dart.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Dart_Setup(OBJECT_INFO *obj); +void Dart_Setup(OBJECT *obj); void Dart_Control(int16_t item_num); diff --git a/src/game/objects/traps/dart_emitter.c b/src/game/objects/traps/dart_emitter.c index 22c8f7717..78f970b09 100644 --- a/src/game/objects/traps/dart_emitter.c +++ b/src/game/objects/traps/dart_emitter.c @@ -9,7 +9,7 @@ typedef enum { DART_EMITTER_FIRE = 1, } DART_EMITTER_STATE; -void DartEmitter_Setup(OBJECT_INFO *obj) +void DartEmitter_Setup(OBJECT *obj) { obj->control = DartEmitter_Control; obj->save_flags = 1; @@ -17,7 +17,7 @@ void DartEmitter_Setup(OBJECT_INFO *obj) void DartEmitter_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Item_IsTriggerActive(item)) { if (item->current_anim_state == DART_EMITTER_IDLE) { @@ -33,7 +33,7 @@ void DartEmitter_Control(int16_t item_num) && Item_TestFrameEqual(item, 0)) { int16_t dart_item_num = Item_Create(); if (dart_item_num != NO_ITEM) { - ITEM_INFO *dart = &g_Items[dart_item_num]; + ITEM *dart = &g_Items[dart_item_num]; dart->object_id = O_DARTS; dart->room_num = item->room_num; dart->shade = -1; @@ -65,7 +65,7 @@ void DartEmitter_Control(int16_t item_num) int16_t fx_num = Effect_Create(dart->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos = dart->pos; fx->rot = dart->rot; fx->speed = 0; diff --git a/src/game/objects/traps/dart_emitter.h b/src/game/objects/traps/dart_emitter.h index d4e21b3d4..9bb4e0c6b 100644 --- a/src/game/objects/traps/dart_emitter.h +++ b/src/game/objects/traps/dart_emitter.h @@ -2,5 +2,5 @@ #include "global/types.h" -void DartEmitter_Setup(OBJECT_INFO *obj); +void DartEmitter_Setup(OBJECT *obj); void DartEmitter_Control(int16_t item_num); diff --git a/src/game/objects/traps/ember_emitter.c b/src/game/objects/traps/ember_emitter.c index a00d4275a..470e239ec 100644 --- a/src/game/objects/traps/ember_emitter.c +++ b/src/game/objects/traps/ember_emitter.c @@ -7,7 +7,7 @@ #include "game/sound.h" #include "global/vars.h" -void EmberEmitter_Setup(OBJECT_INFO *obj) +void EmberEmitter_Setup(OBJECT *obj) { obj->control = EmberEmitter_Control; obj->draw_routine = Object_DrawDummyItem; @@ -17,10 +17,10 @@ void EmberEmitter_Setup(OBJECT_INFO *obj) void EmberEmitter_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; int16_t fx_num = Effect_Create(item->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = item->pos.x; fx->pos.y = item->pos.y; fx->pos.z = item->pos.z; diff --git a/src/game/objects/traps/ember_emitter.h b/src/game/objects/traps/ember_emitter.h index 0fc98ab56..41420f0b1 100644 --- a/src/game/objects/traps/ember_emitter.h +++ b/src/game/objects/traps/ember_emitter.h @@ -2,5 +2,5 @@ #include "global/types.h" -void EmberEmitter_Setup(OBJECT_INFO *obj); +void EmberEmitter_Setup(OBJECT *obj); void EmberEmitter_Control(int16_t item_num); diff --git a/src/game/objects/traps/falling_block.c b/src/game/objects/traps/falling_block.c index 216b67456..5bee7eaa4 100644 --- a/src/game/objects/traps/falling_block.c +++ b/src/game/objects/traps/falling_block.c @@ -5,7 +5,7 @@ #include "global/const.h" #include "global/vars.h" -void FallingBlock_Setup(OBJECT_INFO *obj) +void FallingBlock_Setup(OBJECT *obj) { obj->control = FallingBlock_Control; obj->floor_height_func = FallingBlock_GetFloorHeight; @@ -17,7 +17,7 @@ void FallingBlock_Setup(OBJECT_INFO *obj) void FallingBlock_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; switch (item->current_anim_state) { case TRAP_SET: @@ -48,7 +48,7 @@ void FallingBlock_Control(int16_t item_num) } int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &room_num); if (item->room_num != room_num) { Item_NewRoom(item_num, room_num); @@ -66,7 +66,7 @@ void FallingBlock_Control(int16_t item_num) } int16_t FallingBlock_GetFloorHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (y <= item->pos.y - STEP_L * 2 @@ -79,7 +79,7 @@ int16_t FallingBlock_GetFloorHeight( } int16_t FallingBlock_GetCeilingHeight( - const ITEM_INFO *item, const int32_t x, const int32_t y, const int32_t z, + const ITEM *item, const int32_t x, const int32_t y, const int32_t z, const int16_t height) { if (y > item->pos.y - STEP_L * 2 diff --git a/src/game/objects/traps/falling_block.h b/src/game/objects/traps/falling_block.h index 91a4d941a..ff98a7c68 100644 --- a/src/game/objects/traps/falling_block.h +++ b/src/game/objects/traps/falling_block.h @@ -2,9 +2,9 @@ #include "global/types.h" -void FallingBlock_Setup(OBJECT_INFO *obj); +void FallingBlock_Setup(OBJECT *obj); void FallingBlock_Control(int16_t item_num); int16_t FallingBlock_GetFloorHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); int16_t FallingBlock_GetCeilingHeight( - const ITEM_INFO *item, int32_t x, int32_t y, int32_t z, int16_t height); + const ITEM *item, int32_t x, int32_t y, int32_t z, int16_t height); diff --git a/src/game/objects/traps/falling_ceiling.c b/src/game/objects/traps/falling_ceiling.c index c5446ca84..9d4d60382 100644 --- a/src/game/objects/traps/falling_ceiling.c +++ b/src/game/objects/traps/falling_ceiling.c @@ -6,7 +6,7 @@ #define FALLING_CEILING_DAMAGE 300 -void FallingCeiling_Setup(OBJECT_INFO *obj) +void FallingCeiling_Setup(OBJECT *obj) { obj->control = FallingCeiling_Control; obj->collision = Object_CollisionTrap; @@ -17,7 +17,7 @@ void FallingCeiling_Setup(OBJECT_INFO *obj) void FallingCeiling_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->current_anim_state == TRAP_SET) { item->goal_anim_state = TRAP_ACTIVATE; item->gravity = 1; diff --git a/src/game/objects/traps/falling_ceiling.h b/src/game/objects/traps/falling_ceiling.h index fbfb19a80..f6ae3c761 100644 --- a/src/game/objects/traps/falling_ceiling.h +++ b/src/game/objects/traps/falling_ceiling.h @@ -2,5 +2,5 @@ #include "global/types.h" -void FallingCeiling_Setup(OBJECT_INFO *obj); +void FallingCeiling_Setup(OBJECT *obj); void FallingCeiling_Control(int16_t item_num); diff --git a/src/game/objects/traps/flame_emitter.c b/src/game/objects/traps/flame_emitter.c index 525e5b1b1..7b4fe33cf 100644 --- a/src/game/objects/traps/flame_emitter.c +++ b/src/game/objects/traps/flame_emitter.c @@ -5,7 +5,7 @@ #include "game/objects/common.h" #include "game/sound.h" -void FlameEmitter_Setup(OBJECT_INFO *obj) +void FlameEmitter_Setup(OBJECT *obj) { obj->control = FlameEmitter_Control; obj->draw_routine = Object_DrawDummyItem; @@ -14,12 +14,12 @@ void FlameEmitter_Setup(OBJECT_INFO *obj) void FlameEmitter_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Item_IsTriggerActive(item)) { if (!item->data) { int16_t fx_num = Effect_Create(item->room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = item->pos.x; fx->pos.y = item->pos.y; fx->pos.z = item->pos.z; diff --git a/src/game/objects/traps/flame_emitter.h b/src/game/objects/traps/flame_emitter.h index 87c5f1cf8..50fe6b398 100644 --- a/src/game/objects/traps/flame_emitter.h +++ b/src/game/objects/traps/flame_emitter.h @@ -2,5 +2,5 @@ #include "global/types.h" -void FlameEmitter_Setup(OBJECT_INFO *obj); +void FlameEmitter_Setup(OBJECT *obj); void FlameEmitter_Control(int16_t item_num); diff --git a/src/game/objects/traps/lava_wedge.c b/src/game/objects/traps/lava_wedge.c index be1054cd6..6b4b6643c 100644 --- a/src/game/objects/traps/lava_wedge.c +++ b/src/game/objects/traps/lava_wedge.c @@ -8,7 +8,7 @@ #define LAVA_WEDGE_SPEED 25 -void LavaWedge_Setup(OBJECT_INFO *obj) +void LavaWedge_Setup(OBJECT *obj) { obj->control = LavaWedge_Control; obj->collision = Object_Collision; @@ -19,7 +19,7 @@ void LavaWedge_Setup(OBJECT_INFO *obj) void LavaWedge_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; int16_t room_num = item->room_num; Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &room_num); @@ -50,7 +50,7 @@ void LavaWedge_Control(int16_t item_num) break; } - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(x, item->pos.y, z, &room_num); if (Room_GetHeight(sector, x, item->pos.y, z) != item->pos.y) { item->status = IS_DEACTIVATED; diff --git a/src/game/objects/traps/lava_wedge.h b/src/game/objects/traps/lava_wedge.h index 06f6ad4dd..b2301b43d 100644 --- a/src/game/objects/traps/lava_wedge.h +++ b/src/game/objects/traps/lava_wedge.h @@ -2,5 +2,5 @@ #include "global/types.h" -void LavaWedge_Setup(OBJECT_INFO *obj); +void LavaWedge_Setup(OBJECT *obj); void LavaWedge_Control(int16_t item_num); diff --git a/src/game/objects/traps/lightning_emitter.c b/src/game/objects/traps/lightning_emitter.c index d931e0b9f..fc1a810cb 100644 --- a/src/game/objects/traps/lightning_emitter.c +++ b/src/game/objects/traps/lightning_emitter.c @@ -19,7 +19,7 @@ #define LIGHTNING_RND ((64 << W2V_SHIFT) / 0x8000) // = 32 #define LIGHTNING_SHOOTS 2 -typedef struct LIGHTNING { +typedef struct { bool active; int32_t count; bool zapped; @@ -32,7 +32,7 @@ typedef struct LIGHTNING { XYZ_32 shoot[LIGHTNING_SHOOTS][LIGHTNING_STEPS]; } LIGHTNING; -void LightningEmitter_Setup(OBJECT_INFO *obj) +void LightningEmitter_Setup(OBJECT *obj) { obj->initialise = LightningEmitter_Initialise; obj->control = LightningEmitter_Control; @@ -60,7 +60,7 @@ void LightningEmitter_Initialise(int16_t item_num) void LightningEmitter_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; LIGHTNING *l = item->data; if (!Item_IsTriggerActive(item)) { @@ -109,7 +109,7 @@ void LightningEmitter_Control(int16_t item_num) l->zapped = true; } else if (l->no_target) { - const SECTOR_INFO *const sector = Room_GetSector( + const SECTOR *const sector = Room_GetSector( item->pos.x, item->pos.y, item->pos.z, &item->room_num); const int32_t h = Room_GetHeight(sector, item->pos.x, item->pos.y, item->pos.z); @@ -148,7 +148,7 @@ void LightningEmitter_Control(int16_t item_num) } void LightningEmitter_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) + int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { LIGHTNING *l = g_Items[item_num].data; if (!l->zapped) { @@ -162,7 +162,7 @@ void LightningEmitter_Collision( } } -void LightningEmitter_Draw(ITEM_INFO *item) +void LightningEmitter_Draw(ITEM *item) { FRAME_INFO *frmptr[2]; int32_t rate; diff --git a/src/game/objects/traps/lightning_emitter.h b/src/game/objects/traps/lightning_emitter.h index ea00161f7..e797daee9 100644 --- a/src/game/objects/traps/lightning_emitter.h +++ b/src/game/objects/traps/lightning_emitter.h @@ -2,9 +2,9 @@ #include "global/types.h" -void LightningEmitter_Setup(OBJECT_INFO *obj); +void LightningEmitter_Setup(OBJECT *obj); void LightningEmitter_Initialise(int16_t item_num); void LightningEmitter_Control(int16_t item_num); void LightningEmitter_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); -void LightningEmitter_Draw(ITEM_INFO *item); + int16_t item_num, ITEM *lara_item, COLL_INFO *coll); +void LightningEmitter_Draw(ITEM *item); diff --git a/src/game/objects/traps/midas_touch.c b/src/game/objects/traps/midas_touch.c index 453fcf490..742e51179 100644 --- a/src/game/objects/traps/midas_touch.c +++ b/src/game/objects/traps/midas_touch.c @@ -31,18 +31,17 @@ static const OBJECT_BOUNDS *M_Bounds(void) return &m_MidasTouch_Bounds; } -void MidasTouch_Setup(OBJECT_INFO *obj) +void MidasTouch_Setup(OBJECT *obj) { obj->collision = MidasTouch_Collision; obj->draw_routine = Object_DrawDummyItem; obj->bounds = M_Bounds; } -void MidasTouch_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void MidasTouch_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; DIRECTION quadrant = (uint16_t)(lara_item->rot.y + PHD_45) / PHD_90; switch (quadrant) { diff --git a/src/game/objects/traps/midas_touch.h b/src/game/objects/traps/midas_touch.h index 0e6bd4b5c..58e7d791f 100644 --- a/src/game/objects/traps/midas_touch.h +++ b/src/game/objects/traps/midas_touch.h @@ -2,6 +2,5 @@ #include "global/types.h" -void MidasTouch_Setup(OBJECT_INFO *obj); -void MidasTouch_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void MidasTouch_Setup(OBJECT *obj); +void MidasTouch_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/traps/movable_block.c b/src/game/objects/traps/movable_block.c index 98739a01f..d0be2cad4 100644 --- a/src/game/objects/traps/movable_block.c +++ b/src/game/objects/traps/movable_block.c @@ -34,26 +34,24 @@ static const OBJECT_BOUNDS m_MovableBlock_Bounds = { }; static const OBJECT_BOUNDS *M_Bounds(void); -static bool M_TestDoor(ITEM_INFO *lara_item, COLL_INFO *coll); -static bool M_TestDestination(ITEM_INFO *item, int32_t block_height); -static bool M_TestPush( - ITEM_INFO *item, int32_t block_height, DIRECTION quadrant); -static bool M_TestPull( - ITEM_INFO *item, int32_t block_height, DIRECTION quadrant); +static bool M_TestDoor(ITEM *lara_item, COLL_INFO *coll); +static bool M_TestDestination(ITEM *item, int32_t block_height); +static bool M_TestPush(ITEM *item, int32_t block_height, DIRECTION quadrant); +static bool M_TestPull(ITEM *item, int32_t block_height, DIRECTION quadrant); static const OBJECT_BOUNDS *M_Bounds(void) { return &m_MovableBlock_Bounds; } -static bool M_TestDoor(ITEM_INFO *lara_item, COLL_INFO *coll) +static bool M_TestDoor(ITEM *lara_item, COLL_INFO *coll) { // OG fix: stop pushing blocks through doors const int32_t shift = 8; // constant shift to avoid overflow errors const int32_t max_dist = SQUARE((WALL_L * 2) >> shift); for (int item_num = 0; item_num < g_LevelItemCount; item_num++) { - ITEM_INFO *const item = &g_Items[item_num]; + ITEM *const item = &g_Items[item_num]; if (!Object_IsObjectType(item->object_id, g_DoorObjects)) { continue; } @@ -74,10 +72,10 @@ static bool M_TestDoor(ITEM_INFO *lara_item, COLL_INFO *coll) return false; } -static bool M_TestDestination(ITEM_INFO *item, int32_t block_height) +static bool M_TestDestination(ITEM *item, int32_t block_height) { int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &room_num); if (Room_GetHeight(sector, item->pos.x, item->pos.y, item->pos.z) == NO_HEIGHT) { @@ -92,8 +90,7 @@ static bool M_TestDestination(ITEM_INFO *item, int32_t block_height) return true; } -static bool M_TestPush( - ITEM_INFO *item, int32_t block_height, DIRECTION quadrant) +static bool M_TestPush(ITEM *item, int32_t block_height, DIRECTION quadrant) { if (!M_TestDestination(item, block_height)) { return false; @@ -121,7 +118,7 @@ static bool M_TestPush( break; } - const SECTOR_INFO *sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *sector = Room_GetSector(x, y, z, &room_num); COLL_INFO coll; coll.quadrant = quadrant; coll.radius = 500; @@ -141,8 +138,7 @@ static bool M_TestPush( return true; } -static bool M_TestPull( - ITEM_INFO *item, int32_t block_height, DIRECTION quadrant) +static bool M_TestPull(ITEM *item, int32_t block_height, DIRECTION quadrant) { if (!M_TestDestination(item, block_height)) { return false; @@ -172,7 +168,7 @@ static bool M_TestPull( int32_t z = item->pos.z + z_add; int16_t room_num = item->room_num; - const SECTOR_INFO *sector = Room_GetSector(x, y, z, &room_num); + const SECTOR *sector = Room_GetSector(x, y, z, &room_num); COLL_INFO coll; coll.quadrant = quadrant; coll.radius = 500; @@ -217,7 +213,7 @@ static bool M_TestPull( return true; } -void MovableBlock_Setup(OBJECT_INFO *obj) +void MovableBlock_Setup(OBJECT *obj) { obj->initialise = MovableBlock_Initialise; obj->control = MovableBlock_Control; @@ -231,7 +227,7 @@ void MovableBlock_Setup(OBJECT_INFO *obj) void MovableBlock_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status != IS_INVISIBLE && item->pos.y >= Item_GetHeight(item)) { Room_AlterFloorHeight(item, -WALL_L); @@ -240,7 +236,7 @@ void MovableBlock_Initialise(int16_t item_num) void MovableBlock_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->flags & IF_ONE_SHOT) { Room_AlterFloorHeight(item, WALL_L); @@ -251,7 +247,7 @@ void MovableBlock_Control(int16_t item_num) Item_Animate(item); int16_t room_num = item->room_num; - const SECTOR_INFO *sector = Room_GetSector( + const SECTOR *sector = Room_GetSector( item->pos.x, item->pos.y - STEP_L / 2, item->pos.z, &room_num); const int32_t height = Room_GetHeight( sector, item->pos.x, item->pos.y - STEP_L / 2, item->pos.z); @@ -283,11 +279,10 @@ void MovableBlock_Control(int16_t item_num) } } -void MovableBlock_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void MovableBlock_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[item_num]; + const OBJECT *const obj = &g_Objects[item->object_id]; if (item->current_anim_state == MBS_STILL) { item->priv = (void *)false; @@ -394,7 +389,7 @@ void MovableBlock_Collision( } } -void MovableBlock_Draw(ITEM_INFO *item) +void MovableBlock_Draw(ITEM *item) { if (item->status == IS_ACTIVE) { Object_DrawUnclippedItem(item); diff --git a/src/game/objects/traps/movable_block.h b/src/game/objects/traps/movable_block.h index c4b378c76..5618e9604 100644 --- a/src/game/objects/traps/movable_block.h +++ b/src/game/objects/traps/movable_block.h @@ -2,9 +2,8 @@ #include "global/types.h" -void MovableBlock_Setup(OBJECT_INFO *obj); +void MovableBlock_Setup(OBJECT *obj); void MovableBlock_Initialise(int16_t item_num); void MovableBlock_Control(int16_t item_num); -void MovableBlock_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); -void MovableBlock_Draw(ITEM_INFO *item); +void MovableBlock_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); +void MovableBlock_Draw(ITEM *item); diff --git a/src/game/objects/traps/pendulum.c b/src/game/objects/traps/pendulum.c index 8e219a2f9..993dc9667 100644 --- a/src/game/objects/traps/pendulum.c +++ b/src/game/objects/traps/pendulum.c @@ -11,7 +11,7 @@ #define PENDULUM_DAMAGE 100 -void Pendulum_Setup(OBJECT_INFO *obj) +void Pendulum_Setup(OBJECT *obj) { obj->control = Pendulum_Control; obj->collision = Object_CollisionTrap; @@ -22,7 +22,7 @@ void Pendulum_Setup(OBJECT_INFO *obj) void Pendulum_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Item_IsTriggerActive(item)) { if (item->current_anim_state == TRAP_SET) { @@ -43,7 +43,7 @@ void Pendulum_Control(int16_t item_num) Effect_Blood(x, y, z, g_LaraItem->speed, d, g_LaraItem->room_num); } - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &item->room_num); item->floor = Room_GetHeight(sector, item->pos.x, item->pos.y, item->pos.z); diff --git a/src/game/objects/traps/pendulum.h b/src/game/objects/traps/pendulum.h index cd9d4213f..e23b648c2 100644 --- a/src/game/objects/traps/pendulum.h +++ b/src/game/objects/traps/pendulum.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Pendulum_Setup(OBJECT_INFO *obj); +void Pendulum_Setup(OBJECT *obj); void Pendulum_Control(int16_t item_num); diff --git a/src/game/objects/traps/rolling_ball.c b/src/game/objects/traps/rolling_ball.c index b528168df..cbc8a40a6 100644 --- a/src/game/objects/traps/rolling_ball.c +++ b/src/game/objects/traps/rolling_ball.c @@ -16,7 +16,7 @@ #define ROLLINGBALL_DAMAGE_AIR 100 -void RollingBall_Setup(OBJECT_INFO *obj) +void RollingBall_Setup(OBJECT *obj) { obj->initialise = RollingBall_Initialise; obj->control = RollingBall_Control; @@ -28,7 +28,7 @@ void RollingBall_Setup(OBJECT_INFO *obj) void RollingBall_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; GAME_VECTOR *data = GameBuf_Alloc(sizeof(GAME_VECTOR), GBUF_TRAP_DATA); item->data = data; data->x = item->pos.x; @@ -39,7 +39,7 @@ void RollingBall_Initialise(int16_t item_num) void RollingBall_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status == IS_ACTIVE) { if (item->pos.y < item->floor) { if (!item->gravity) { @@ -55,7 +55,7 @@ void RollingBall_Control(int16_t item_num) Item_Animate(item); int16_t room_num = item->room_num; - const SECTOR_INFO *sector = + const SECTOR *sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &room_num); if (item->room_num != room_num) { Item_NewRoom(item_num, room_num); @@ -94,7 +94,7 @@ void RollingBall_Control(int16_t item_num) item->pos.z = data->z; if (item->room_num != data->room_num) { Item_RemoveDrawn(item_num); - ROOM_INFO *r = &g_RoomInfo[data->room_num]; + ROOM *r = &g_RoomInfo[data->room_num]; item->next_item = r->item_num; r->item_num = item_num; item->room_num = data->room_num; @@ -109,10 +109,9 @@ void RollingBall_Control(int16_t item_num) } } -void RollingBall_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void RollingBall_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (item->status != IS_ACTIVE) { if (item->status != IS_INVISIBLE) { diff --git a/src/game/objects/traps/rolling_ball.h b/src/game/objects/traps/rolling_ball.h index ee4ce86c2..dec1bae76 100644 --- a/src/game/objects/traps/rolling_ball.h +++ b/src/game/objects/traps/rolling_ball.h @@ -2,8 +2,7 @@ #include "global/types.h" -void RollingBall_Setup(OBJECT_INFO *obj); +void RollingBall_Setup(OBJECT *obj); void RollingBall_Initialise(int16_t item_num); void RollingBall_Control(int16_t item_num); -void RollingBall_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void RollingBall_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/traps/sliding_pillar.c b/src/game/objects/traps/sliding_pillar.c index f39423ebc..eb93c512b 100644 --- a/src/game/objects/traps/sliding_pillar.c +++ b/src/game/objects/traps/sliding_pillar.c @@ -4,7 +4,7 @@ #include "game/room.h" #include "global/const.h" -void SlidingPillar_Setup(OBJECT_INFO *obj) +void SlidingPillar_Setup(OBJECT *obj) { obj->initialise = SlidingPillar_Initialise; obj->control = SlidingPillar_Control; @@ -15,13 +15,13 @@ void SlidingPillar_Setup(OBJECT_INFO *obj) void SlidingPillar_Initialise(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; Room_AlterFloorHeight(item, -WALL_L * 2); } void SlidingPillar_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Item_IsTriggerActive(item)) { if (item->current_anim_state == SPS_START) { item->goal_anim_state = SPS_END; diff --git a/src/game/objects/traps/sliding_pillar.h b/src/game/objects/traps/sliding_pillar.h index 3c560df3f..e1ae9024e 100644 --- a/src/game/objects/traps/sliding_pillar.h +++ b/src/game/objects/traps/sliding_pillar.h @@ -2,6 +2,6 @@ #include "global/types.h" -void SlidingPillar_Setup(OBJECT_INFO *obj); +void SlidingPillar_Setup(OBJECT *obj); void SlidingPillar_Initialise(int16_t item_num); void SlidingPillar_Control(int16_t item_num); diff --git a/src/game/objects/traps/spikes.c b/src/game/objects/traps/spikes.c index 68c86b6e4..dfe8889cd 100644 --- a/src/game/objects/traps/spikes.c +++ b/src/game/objects/traps/spikes.c @@ -8,14 +8,14 @@ #define SPIKE_DAMAGE 15 -void Spikes_Setup(OBJECT_INFO *obj) +void Spikes_Setup(OBJECT *obj) { obj->collision = Spikes_Collision; } -void Spikes_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) +void Spikes_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (lara_item->hit_points < 0) { return; } diff --git a/src/game/objects/traps/spikes.h b/src/game/objects/traps/spikes.h index ed3976a83..4e5a8c88e 100644 --- a/src/game/objects/traps/spikes.h +++ b/src/game/objects/traps/spikes.h @@ -2,5 +2,5 @@ #include "global/types.h" -void Spikes_Setup(OBJECT_INFO *obj); -void Spikes_Collision(int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); +void Spikes_Setup(OBJECT *obj); +void Spikes_Collision(int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/traps/teeth_trap.c b/src/game/objects/traps/teeth_trap.c index 383cd692c..cc7fc28bd 100644 --- a/src/game/objects/traps/teeth_trap.c +++ b/src/game/objects/traps/teeth_trap.c @@ -13,16 +13,16 @@ typedef enum { TT_NASTY = 1, } TEETH_TRAP_STATE; -static BITE_INFO m_Teeth1A = { -23, 0, -1718, 0 }; -static BITE_INFO m_Teeth1B = { 71, 0, -1718, 1 }; -static BITE_INFO m_Teeth2A = { -23, 10, -1718, 0 }; -static BITE_INFO m_Teeth2B = { 71, 10, -1718, 1 }; -static BITE_INFO m_Teeth3A = { -23, -10, -1718, 0 }; -static BITE_INFO m_Teeth3B = { 71, -10, -1718, 1 }; +static BITE m_Teeth1A = { -23, 0, -1718, 0 }; +static BITE m_Teeth1B = { 71, 0, -1718, 1 }; +static BITE m_Teeth2A = { -23, 10, -1718, 0 }; +static BITE m_Teeth2B = { 71, 10, -1718, 1 }; +static BITE m_Teeth3A = { -23, -10, -1718, 0 }; +static BITE m_Teeth3B = { 71, -10, -1718, 1 }; -static void M_BiteEffect(ITEM_INFO *item, BITE_INFO *bite); +static void M_BiteEffect(ITEM *item, BITE *bite); -static void M_BiteEffect(ITEM_INFO *item, BITE_INFO *bite) +static void M_BiteEffect(ITEM *item, BITE *bite) { XYZ_32 pos = { .x = bite->x, @@ -33,7 +33,7 @@ static void M_BiteEffect(ITEM_INFO *item, BITE_INFO *bite) Effect_Blood(pos.x, pos.y, pos.z, item->speed, item->rot.y, item->room_num); } -void TeethTrap_Setup(OBJECT_INFO *obj) +void TeethTrap_Setup(OBJECT *obj) { obj->control = TeethTrap_Control; obj->collision = Object_CollisionTrap; @@ -43,7 +43,7 @@ void TeethTrap_Setup(OBJECT_INFO *obj) void TeethTrap_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (Item_IsTriggerActive(item)) { item->goal_anim_state = TT_NASTY; if (item->touch_bits && item->current_anim_state == TT_NASTY) { diff --git a/src/game/objects/traps/teeth_trap.h b/src/game/objects/traps/teeth_trap.h index e8926c27a..35bc29d0f 100644 --- a/src/game/objects/traps/teeth_trap.h +++ b/src/game/objects/traps/teeth_trap.h @@ -2,5 +2,5 @@ #include "global/types.h" -void TeethTrap_Setup(OBJECT_INFO *obj); +void TeethTrap_Setup(OBJECT *obj); void TeethTrap_Control(int16_t item_num); diff --git a/src/game/objects/traps/thors_hammer_handle.c b/src/game/objects/traps/thors_hammer_handle.c index e76431471..d4830aaf5 100644 --- a/src/game/objects/traps/thors_hammer_handle.c +++ b/src/game/objects/traps/thors_hammer_handle.c @@ -13,7 +13,7 @@ typedef enum { THS_DONE = 3, } THOR_HAMMER_STATE; -void ThorsHammerHandle_Setup(OBJECT_INFO *obj) +void ThorsHammerHandle_Setup(OBJECT *obj) { obj->initialise = ThorsHammerHandle_Initialise; obj->control = ThorsHammerHandle_Control; @@ -25,9 +25,9 @@ void ThorsHammerHandle_Setup(OBJECT_INFO *obj) void ThorsHammerHandle_Initialise(int16_t item_num) { - ITEM_INFO *hand_item = &g_Items[item_num]; + ITEM *hand_item = &g_Items[item_num]; int16_t head_item_num = Item_Create(); - ITEM_INFO *head_item = &g_Items[head_item_num]; + ITEM *head_item = &g_Items[head_item_num]; head_item->object_id = O_THORS_HEAD; head_item->room_num = hand_item->room_num; head_item->pos = hand_item->pos; @@ -40,7 +40,7 @@ void ThorsHammerHandle_Initialise(int16_t item_num) void ThorsHammerHandle_Control(int16_t item_num) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; switch (item->current_anim_state) { case THS_SET: @@ -133,7 +133,7 @@ void ThorsHammerHandle_Control(int16_t item_num) } Item_Animate(item); - ITEM_INFO *head_item = item->data; + ITEM *head_item = item->data; int16_t relative_anim = item->anim_num - g_Objects[item->object_id].anim_idx; int16_t relative_frame = @@ -143,9 +143,9 @@ void ThorsHammerHandle_Control(int16_t item_num) } void ThorsHammerHandle_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) + int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (!Lara_TestBoundsCollide(item, coll->radius)) { return; } diff --git a/src/game/objects/traps/thors_hammer_handle.h b/src/game/objects/traps/thors_hammer_handle.h index 92a2da563..c1caa43fe 100644 --- a/src/game/objects/traps/thors_hammer_handle.h +++ b/src/game/objects/traps/thors_hammer_handle.h @@ -2,8 +2,8 @@ #include "global/types.h" -void ThorsHammerHandle_Setup(OBJECT_INFO *obj); +void ThorsHammerHandle_Setup(OBJECT *obj); void ThorsHammerHandle_Initialise(int16_t item_num); void ThorsHammerHandle_Control(int16_t item_num); void ThorsHammerHandle_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); + int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/objects/traps/thors_hammer_head.c b/src/game/objects/traps/thors_hammer_head.c index 7eb9ccec9..e5548aace 100644 --- a/src/game/objects/traps/thors_hammer_head.c +++ b/src/game/objects/traps/thors_hammer_head.c @@ -11,7 +11,7 @@ typedef enum { THS_DONE = 3, } THOR_HAMMER_STATE; -void ThorsHammerHead_Setup(OBJECT_INFO *obj) +void ThorsHammerHead_Setup(OBJECT *obj) { obj->collision = ThorsHammerHead_Collision; obj->draw_routine = Object_DrawUnclippedItem; @@ -20,9 +20,9 @@ void ThorsHammerHead_Setup(OBJECT_INFO *obj) } void ThorsHammerHead_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll) + int16_t item_num, ITEM *lara_item, COLL_INFO *coll) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; if (!Lara_TestBoundsCollide(item, coll->radius)) { return; } diff --git a/src/game/objects/traps/thors_hammer_head.h b/src/game/objects/traps/thors_hammer_head.h index 14a11e176..aeeec908a 100644 --- a/src/game/objects/traps/thors_hammer_head.h +++ b/src/game/objects/traps/thors_hammer_head.h @@ -2,6 +2,6 @@ #include "global/types.h" -void ThorsHammerHead_Setup(OBJECT_INFO *obj); +void ThorsHammerHead_Setup(OBJECT *obj); void ThorsHammerHead_Collision( - int16_t item_num, ITEM_INFO *lara_item, COLL_INFO *coll); + int16_t item_num, ITEM *lara_item, COLL_INFO *coll); diff --git a/src/game/option/option_compass.c b/src/game/option/option_compass.c index b32cda726..0c5314b67 100644 --- a/src/game/option/option_compass.c +++ b/src/game/option/option_compass.c @@ -13,7 +13,7 @@ #include #include -typedef enum COMPASS_TEXT { +typedef enum { TEXT_TITLE = 0, TEXT_TITLE_BORDER = 1, TEXT_TIME = 2, diff --git a/src/game/option/option_control.c b/src/game/option/option_control.c index c8bfa1baf..8285c3d14 100644 --- a/src/game/option/option_control.c +++ b/src/game/option/option_control.c @@ -35,7 +35,7 @@ #define BUTTON_HOLD_TIME 2 #define HOLD_DELAY_FRAMES 300 * LOGIC_FPS / 1000 -typedef enum KEYMODE { +typedef enum { KM_INACTIVE = 0, KM_BROWSE = 1, KM_BROWSEKEYUP = 2, @@ -43,7 +43,7 @@ typedef enum KEYMODE { KM_CHANGEKEYUP = 4, } KEYMODE; -typedef enum CONTROL_TEXT { +typedef enum { TEXT_TITLE = 0, TEXT_TITLE_BORDER = 1, TEXT_LEFT_ARROW = 2, @@ -56,18 +56,18 @@ typedef enum CONTROL_TEXT { TEXT_NUMBER_OF = 9, } CONTROL_TEXT; -typedef struct LAYOUT_NUM_GS_MAP { +typedef struct { INPUT_LAYOUT layout_num; GAME_STRING_ID layout_string; } LAYOUT_NUM_GS_MAP; -typedef struct TEXT_COLUMN_PLACEMENT { +typedef struct { int role; GAME_STRING_ID game_string; bool can_unbind; } TEXT_COLUMN_PLACEMENT; -typedef struct MENU { +typedef struct { int32_t num_options; int32_t vis_options; const TEXT_COLUMN_PLACEMENT *top_row; diff --git a/src/game/option/option_control_pick.c b/src/game/option/option_control_pick.c index f7b6aafaa..00eb1bac8 100644 --- a/src/game/option/option_control_pick.c +++ b/src/game/option/option_control_pick.c @@ -7,7 +7,7 @@ #include #include -typedef enum PICK_TEXT { +typedef enum { TEXT_KEYBOARD = 0, TEXT_CONTROLLER = 1, TEXT_TITLE = 2, diff --git a/src/game/option/option_graphics.c b/src/game/option/option_graphics.c index f704ac887..5846b2959 100644 --- a/src/game/option/option_graphics.c +++ b/src/game/option/option_graphics.c @@ -26,7 +26,7 @@ #define RIGHT_ARROW_OFFSET_MIN 35 #define RIGHT_ARROW_OFFSET_MAX 85 -typedef enum GRAPHICS_TEXT { +typedef enum { TEXT_TITLE, TEXT_TITLE_BORDER, TEXT_LEFT_ARROW, @@ -37,7 +37,7 @@ typedef enum GRAPHICS_TEXT { TEXT_NUMBER_OF, } GRAPHICS_TEXT; -typedef enum GRAPHICS_OPTION_NAME { +typedef enum { OPTION_FPS, OPTION_TEXTURE_FILTER, OPTION_FBO_FILTER, @@ -55,13 +55,13 @@ typedef enum GRAPHICS_OPTION_NAME { OPTION_MAX = OPTION_REFLECTIONS, } GRAPHICS_OPTION_NAME; -typedef struct GRAPHICS_OPTION_ROW { +typedef struct { GRAPHICS_OPTION_NAME option_name; GAME_STRING_ID option_string; GAME_STRING_ID value_string; } GRAPHICS_OPTION_ROW; -typedef struct GRAPHICS_MENU { +typedef struct { const GRAPHICS_OPTION_ROW *first_option; const GRAPHICS_OPTION_ROW *last_option; const GRAPHICS_OPTION_ROW *cur_option; diff --git a/src/game/option/option_passport.c b/src/game/option/option_passport.c index a9df3a679..c53687322 100644 --- a/src/game/option/option_passport.c +++ b/src/game/option/option_passport.c @@ -21,7 +21,7 @@ #define MAX_GAME_MODES 4 -typedef enum PASSPORT_TEXT { +typedef enum { TEXT_PAGE_NAME = 0, TEXT_LEFT_ARROW = 1, TEXT_RIGHT_ARROW = 2, @@ -30,7 +30,7 @@ typedef enum PASSPORT_TEXT { TEXT_NUMBER_OF = 5, } PASSPORT_TEXT; -typedef struct PASSPORT_STATUS { +typedef struct { PASSPORT_PAGE page; PASSPORT_MODE mode; bool page_available[PAGE_COUNT]; diff --git a/src/game/option/option_sound.c b/src/game/option/option_sound.c index 26f9c0eb3..062786cda 100644 --- a/src/game/option/option_sound.c +++ b/src/game/option/option_sound.c @@ -11,7 +11,7 @@ #include #include -typedef enum SOUND_TEXT { +typedef enum { TEXT_MUSIC_VOLUME = 0, TEXT_SOUND_VOLUME = 1, TEXT_TITLE = 2, diff --git a/src/game/output.c b/src/game/output.c index 2e833af5f..dd995b541 100644 --- a/src/game/output.c +++ b/src/game/output.c @@ -604,7 +604,7 @@ void Output_ClearDepthBuffer(void) void Output_CalculateLight(int32_t x, int32_t y, int32_t z, int16_t room_num) { - ROOM_INFO *r = &g_RoomInfo[room_num]; + ROOM *r = &g_RoomInfo[room_num]; if (r->num_lights == 0) { g_LsAdder = r->ambient; @@ -619,7 +619,7 @@ void Output_CalculateLight(int32_t x, int32_t y, int32_t z, int16_t room_num) .z = 0, }; for (int i = 0; i < r->num_lights; i++) { - LIGHT_INFO *light = &r->light[i]; + LIGHT *light = &r->light[i]; XYZ_32 lc = { .x = x - light->pos.x, .y = y - light->pos.y, @@ -665,7 +665,7 @@ void Output_CalculateStaticLight(int16_t adder) } void Output_CalculateObjectLighting( - const ITEM_INFO *const item, const BOUNDS_16 *const bounds) + const ITEM *const item, const BOUNDS_16 *const bounds) { if (item->shade >= 0) { Output_CalculateStaticLight(item->shade); @@ -767,8 +767,7 @@ void Output_DrawRoom(const int16_t *obj_ptr) } void Output_DrawShadow( - const int16_t size, const BOUNDS_16 *const bounds, - const ITEM_INFO *const item) + const int16_t size, const BOUNDS_16 *const bounds, const ITEM *const item) { g_ShadowInfo.vertex_count = g_Config.enable_round_shadow ? 32 : 8; diff --git a/src/game/output.h b/src/game/output.h index 54ae47941..b26e461f4 100644 --- a/src/game/output.h +++ b/src/game/output.h @@ -53,8 +53,7 @@ void Output_ClearDepthBuffer(void); void Output_CalculateLight(int32_t x, int32_t y, int32_t z, int16_t room_num); void Output_CalculateStaticLight(int16_t adder); -void Output_CalculateObjectLighting( - const ITEM_INFO *item, const BOUNDS_16 *bounds); +void Output_CalculateObjectLighting(const ITEM *item, const BOUNDS_16 *bounds); void Output_DrawPolygons(const int16_t *obj_ptr, int clip); void Output_DrawPolygons_I(const int16_t *obj_ptr, int32_t clip); @@ -64,8 +63,7 @@ bool Output_IsSkyboxEnabled(void); void Output_DrawSkybox(const int16_t *obj_ptr); void Output_DrawRoom(const int16_t *obj_ptr); -void Output_DrawShadow( - int16_t size, const BOUNDS_16 *bounds, const ITEM_INFO *item); +void Output_DrawShadow(int16_t size, const BOUNDS_16 *bounds, const ITEM *item); void Output_DrawLightningSegment( int32_t x1, int32_t y1, int32_t z1, int32_t x2, int32_t y2, int32_t z2, int32_t width); diff --git a/src/game/overlay.c b/src/game/overlay.c index 6b7c5a573..a682ad1bf 100644 --- a/src/game/overlay.c +++ b/src/game/overlay.c @@ -29,26 +29,26 @@ #define MAX_PICKUPS 16 #define BLINK_THRESHOLD 20 -typedef enum DISPLAY_PICKUP_PHASE { +typedef enum { DPP_EASE_IN, DPP_DISPLAY, DPP_EASE_OUT, DPP_DEAD, } DISPLAY_PICKUP_PHASE; -typedef struct DISPLAY_PICKUP_INFO { +typedef struct { GAME_OBJECT_ID object_id; double duration; int32_t grid_x; int32_t grid_y; int32_t rot_y; DISPLAY_PICKUP_PHASE phase; -} DISPLAY_PICKUP_INFO; +} DISPLAY_PICKUP; static TEXTSTRING *m_AmmoText = NULL; static TEXTSTRING *m_FPSText = NULL; static int16_t m_BarOffsetY[6] = { 0 }; -static DISPLAY_PICKUP_INFO m_Pickups[MAX_PICKUPS] = { 0 }; +static DISPLAY_PICKUP m_Pickups[MAX_PICKUPS] = { 0 }; static CLOCK_TIMER m_PickupsTimer = { 0 }; static CLOCK_TIMER m_BlinkTimer = { 0 }; static CLOCK_TIMER m_FPSTimer = { 0 }; @@ -129,7 +129,7 @@ static void M_BarGetLocation( BAR_INFO *bar_info, int32_t *width, int32_t *height, int32_t *x, int32_t *y); static float M_Ease(int32_t cur_frame, int32_t max_frames); -static void M_DrawPickup3D(DISPLAY_PICKUP_INFO *pu); +static void M_DrawPickup3D(DISPLAY_PICKUP *pu); static void M_DrawPickups3D(void); static void M_DrawPickupsSprites(void); static void M_BarDrawAir(void); @@ -318,7 +318,7 @@ static float M_Ease(int32_t cur_frame, int32_t max_frames) return 1.0f - 2.0f * new_ratio * new_ratio; } -static void M_DrawPickup3D(DISPLAY_PICKUP_INFO *pu) +static void M_DrawPickup3D(DISPLAY_PICKUP *pu) { int32_t screen_width = Screen_GetResWidth(); int32_t screen_height = Screen_GetResHeight(); @@ -378,7 +378,7 @@ static void M_DrawPickup3D(DISPLAY_PICKUP_INFO *pu) Output_RotateLight(0, 0); Output_SetupAboveWater(false); - OBJECT_INFO *obj = &g_Objects[Inv_GetItemOption(pu->object_id)]; + OBJECT *obj = &g_Objects[Inv_GetItemOption(pu->object_id)]; const FRAME_INFO *const frame = g_Anims[obj->anim_idx].frame_ptr; Matrix_Push(); @@ -424,7 +424,7 @@ static void M_DrawPickups3D(void) const double ticks = Clock_GetElapsedLogicalFrames(&m_PickupsTimer); for (int i = 0; i < MAX_PICKUPS; i++) { - DISPLAY_PICKUP_INFO *const pu = &m_Pickups[i]; + DISPLAY_PICKUP *const pu = &m_Pickups[i]; switch (pu->phase) { case DPP_DEAD: @@ -470,7 +470,7 @@ static void M_DrawPickupsSprites(void) const int32_t sprite_width = sprite_height * 4 / 3; for (int i = 0; i < MAX_PICKUPS; i++) { - DISPLAY_PICKUP_INFO *const pu = &m_Pickups[i]; + DISPLAY_PICKUP *const pu = &m_Pickups[i]; if (pu->phase == DPP_DEAD) { continue; } diff --git a/src/game/packer.c b/src/game/packer.c index e960cc019..0f0de5f50 100644 --- a/src/game/packer.c +++ b/src/game/packer.c @@ -11,21 +11,21 @@ #include #include -typedef enum RECTANGLE_COMPARISON { +typedef enum { RC_EQUALS = 0, RC_CONTAINS = 1, RC_COVERS = 2, RC_UNRELATED = 3 } RECTANGLE_COMPARISON; -typedef struct RECTANGLE { +typedef struct { uint16_t x; uint16_t y; uint16_t w; uint16_t h; } RECTANGLE; -typedef struct TEX_INFO { +typedef struct { uint16_t index; uint16_t tpage; RECTANGLE *bounds; @@ -34,13 +34,13 @@ typedef struct TEX_INFO { uint16_t new_y); } TEX_INFO; -typedef struct TEX_CONTAINER { +typedef struct { int32_t size; RECTANGLE *bounds; TEX_INFO *tex_infos; } TEX_CONTAINER; -typedef struct TEX_PAGE { +typedef struct { int32_t index; int32_t free_space; RGBA_8888 data[PAGE_SIZE]; diff --git a/src/game/packer.h b/src/game/packer.h index 804606ebc..5ba4407cd 100644 --- a/src/game/packer.h +++ b/src/game/packer.h @@ -5,7 +5,7 @@ #include #include -typedef struct PACKER_DATA { +typedef struct { int32_t level_page_count; int32_t source_page_count; int32_t object_count; diff --git a/src/game/phase/phase.h b/src/game/phase/phase.h index e7d90b5ca..1e3910ab2 100644 --- a/src/game/phase/phase.h +++ b/src/game/phase/phase.h @@ -19,7 +19,7 @@ typedef struct { GAMEFLOW_COMMAND command; } PHASE_CONTROL; -typedef enum PHASE { +typedef enum { PHASE_NULL, PHASE_GAME, PHASE_DEMO, @@ -30,7 +30,7 @@ typedef enum PHASE { PHASE_INVENTORY, } PHASE; -typedef struct PHASER { +typedef struct { void (*start)(void *arg); void (*end)(); PHASE_CONTROL (*control)(int32_t nframes); diff --git a/src/game/phase/phase_cutscene.h b/src/game/phase/phase_cutscene.h index 52b88ad97..ca374586d 100644 --- a/src/game/phase/phase_cutscene.h +++ b/src/game/phase/phase_cutscene.h @@ -4,7 +4,7 @@ #include -typedef struct PHASE_CUTSCENE_DATA { +typedef struct { int32_t level_num; } PHASE_CUTSCENE_DATA; diff --git a/src/game/phase/phase_demo.c b/src/game/phase/phase_demo.c index e370d6589..afc0591de 100644 --- a/src/game/phase/phase_demo.c +++ b/src/game/phase/phase_demo.c @@ -32,7 +32,7 @@ #include #include -typedef enum STATE { +typedef enum { STATE_RUN, STATE_FADE_OUT, STATE_INVALID, @@ -177,7 +177,7 @@ static void M_Start(void *arg) m_DemoPtr = g_DemoData; - ITEM_INFO *item = g_LaraItem; + ITEM *item = g_LaraItem; item->pos.x = *m_DemoPtr++; item->pos.y = *m_DemoPtr++; item->pos.z = *m_DemoPtr++; @@ -190,7 +190,7 @@ static void M_Start(void *arg) Item_NewRoom(g_Lara.item_num, room_num); } - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, item->pos.y, item->pos.z, &room_num); item->floor = Room_GetHeight(sector, item->pos.x, item->pos.y, item->pos.z); diff --git a/src/game/phase/phase_inventory.c b/src/game/phase/phase_inventory.c index f6b5476d5..698dd6f6d 100644 --- a/src/game/phase/phase_inventory.c +++ b/src/game/phase/phase_inventory.c @@ -400,7 +400,7 @@ static int32_t InvItem_GetFrames( { const RING_INFO *const ring = &m_Ring; const IMOTION_INFO *const motion = &m_Motion; - const OBJECT_INFO *const obj = &g_Objects[inv_item->object_id]; + const OBJECT *const obj = &g_Objects[inv_item->object_id]; const INVENTORY_ITEM *const cur_inv_item = ring->list[ring->current_object]; if (inv_item != cur_inv_item || (motion->status != RNG_SELECTED @@ -493,7 +493,7 @@ static void Inv_DrawItem(INVENTORY_ITEM *const inv_item, const int32_t frames) Matrix_TranslateRel(0, inv_item->ytrans, inv_item->ztrans); Matrix_RotYXZ(inv_item->y_rot, inv_item->x_rot, 0); - OBJECT_INFO *obj = &g_Objects[inv_item->object_id]; + OBJECT *obj = &g_Objects[inv_item->object_id]; if (obj->nmeshes < 0) { Output_DrawSpriteRel(0, 0, 0, obj->mesh_idx, 4096); return; diff --git a/src/game/phase/phase_pause.c b/src/game/phase/phase_pause.c index 40d046cc9..befd48162 100644 --- a/src/game/phase/phase_pause.c +++ b/src/game/phase/phase_pause.c @@ -23,7 +23,7 @@ #define PAUSE_MAX_ITEMS 5 #define PAUSE_NUM_ITEM_TEXTS 2 -typedef enum STATE { +typedef enum { STATE_DEFAULT, STATE_ASK, STATE_CONFIRM, diff --git a/src/game/phase/phase_picture.c b/src/game/phase/phase_picture.c index 03dc0a899..112686e5c 100644 --- a/src/game/phase/phase_picture.c +++ b/src/game/phase/phase_picture.c @@ -10,7 +10,7 @@ #include #include -typedef enum STATE { +typedef enum { STATE_FADE_IN, STATE_DISPLAY, STATE_FADE_OUT, diff --git a/src/game/phase/phase_picture.h b/src/game/phase/phase_picture.h index 65310a406..4f336979c 100644 --- a/src/game/phase/phase_picture.h +++ b/src/game/phase/phase_picture.h @@ -2,7 +2,7 @@ #include "game/phase/phase.h" -typedef struct PHASE_PICTURE_DATA { +typedef struct { const char *path; double display_time; } PHASE_PICTURE_DATA; diff --git a/src/game/phase/phase_stats.c b/src/game/phase/phase_stats.c index cc355a8c2..f2d563615 100644 --- a/src/game/phase/phase_stats.c +++ b/src/game/phase/phase_stats.c @@ -24,7 +24,7 @@ #define MAX_TEXTSTRINGS 10 -typedef enum STATE { +typedef enum { STATE_FADE_IN, STATE_DISPLAY, STATE_FADE_OUT, diff --git a/src/game/phase/phase_stats.h b/src/game/phase/phase_stats.h index b9de5e187..397cc7df8 100644 --- a/src/game/phase/phase_stats.h +++ b/src/game/phase/phase_stats.h @@ -6,7 +6,7 @@ #include #include -typedef struct PHASE_STATS_DATA { +typedef struct { int32_t level_num; const char *background_path; bool total; diff --git a/src/game/room.c b/src/game/room.c index 77a7357d3..f8c0e5838 100644 --- a/src/game/room.c +++ b/src/game/room.c @@ -30,18 +30,16 @@ int32_t g_FlipStatus = 0; int32_t g_FlipMapTable[MAX_FLIP_MAPS] = { 0 }; static void M_TriggerMusicTrack(int16_t track, const TRIGGER *const trigger); -static void M_AddFlipItems(ROOM_INFO *r); -static void M_RemoveFlipItems(ROOM_INFO *r); +static void M_AddFlipItems(ROOM *r); +static void M_RemoveFlipItems(ROOM *r); static int16_t M_GetFloorTiltHeight( - const SECTOR_INFO *sector, const int32_t x, const int32_t z); + const SECTOR *sector, const int32_t x, const int32_t z); static int16_t M_GetCeilingTiltHeight( - const SECTOR_INFO *sector, const int32_t x, const int32_t z); -static SECTOR_INFO *M_GetSkySector( - const SECTOR_INFO *sector, int32_t x, int32_t z); -static void M_TestSectorTrigger( - const ITEM_INFO *item, const SECTOR_INFO *sector); -static bool M_TestLava(const ITEM_INFO *const item); + const SECTOR *sector, const int32_t x, const int32_t z); +static SECTOR *M_GetSkySector(const SECTOR *sector, int32_t x, int32_t z); +static void M_TestSectorTrigger(const ITEM *item, const SECTOR *sector); +static bool M_TestLava(const ITEM *const item); static void M_TriggerMusicTrack(int16_t track, const TRIGGER *const trigger) { @@ -125,11 +123,11 @@ static void M_TriggerMusicTrack(int16_t track, const TRIGGER *const trigger) } } -static void M_AddFlipItems(ROOM_INFO *r) +static void M_AddFlipItems(ROOM *r) { for (int16_t item_num = r->item_num; item_num != NO_ITEM; item_num = g_Items[item_num].next_item) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; switch (item->object_id) { case O_MOVABLE_BLOCK_1: @@ -149,11 +147,11 @@ static void M_AddFlipItems(ROOM_INFO *r) } } -static void M_RemoveFlipItems(ROOM_INFO *r) +static void M_RemoveFlipItems(ROOM *r) { for (int16_t item_num = r->item_num; item_num != NO_ITEM; item_num = g_Items[item_num].next_item) { - ITEM_INFO *item = &g_Items[item_num]; + ITEM *item = &g_Items[item_num]; switch (item->object_id) { case O_MOVABLE_BLOCK_1: @@ -173,8 +171,7 @@ static void M_RemoveFlipItems(ROOM_INFO *r) } } -int16_t Room_GetTiltType( - const SECTOR_INFO *sector, int32_t x, int32_t y, int32_t z) +int16_t Room_GetTiltType(const SECTOR *sector, int32_t x, int32_t y, int32_t z) { sector = Room_GetPitSector(sector, x, z); @@ -234,37 +231,37 @@ void Room_GetNewRoom(int32_t x, int32_t y, int32_t z, int16_t room_num) } } -SECTOR_INFO *Room_GetPitSector( - const SECTOR_INFO *sector, const int32_t x, const int32_t z) +SECTOR *Room_GetPitSector( + const SECTOR *sector, const int32_t x, const int32_t z) { while (sector->portal_room.pit != NO_ROOM) { - const ROOM_INFO *const r = &g_RoomInfo[sector->portal_room.pit]; + const ROOM *const r = &g_RoomInfo[sector->portal_room.pit]; const int32_t z_sector = (z - r->z) >> WALL_SHIFT; const int32_t x_sector = (x - r->x) >> WALL_SHIFT; sector = &r->sectors[z_sector + x_sector * r->z_size]; } - return (SECTOR_INFO *)sector; + return (SECTOR *)sector; } -static SECTOR_INFO *M_GetSkySector( - const SECTOR_INFO *sector, const int32_t x, const int32_t z) +static SECTOR *M_GetSkySector( + const SECTOR *sector, const int32_t x, const int32_t z) { while (sector->portal_room.sky != NO_ROOM) { - const ROOM_INFO *const r = &g_RoomInfo[sector->portal_room.sky]; + const ROOM *const r = &g_RoomInfo[sector->portal_room.sky]; const int32_t z_sector = (z - r->z) >> WALL_SHIFT; const int32_t x_sector = (x - r->x) >> WALL_SHIFT; sector = &r->sectors[z_sector + x_sector * r->z_size]; } - return (SECTOR_INFO *)sector; + return (SECTOR *)sector; } -SECTOR_INFO *Room_GetSector(int32_t x, int32_t y, int32_t z, int16_t *room_num) +SECTOR *Room_GetSector(int32_t x, int32_t y, int32_t z, int16_t *room_num) { int16_t portal_room; - SECTOR_INFO *sector; - const ROOM_INFO *r = &g_RoomInfo[*room_num]; + SECTOR *sector; + const ROOM *r = &g_RoomInfo[*room_num]; do { int32_t z_sector = (z - r->z) >> WALL_SHIFT; int32_t x_sector = (x - r->x) >> WALL_SHIFT; @@ -328,14 +325,13 @@ SECTOR_INFO *Room_GetSector(int32_t x, int32_t y, int32_t z, int16_t *room_num) return sector; } -int16_t Room_GetCeiling( - const SECTOR_INFO *sector, int32_t x, int32_t y, int32_t z) +int16_t Room_GetCeiling(const SECTOR *sector, int32_t x, int32_t y, int32_t z) { int16_t *data; int16_t type; int16_t trigger; - const SECTOR_INFO *const sky_sector = M_GetSkySector(sector, x, z); + const SECTOR *const sky_sector = M_GetSkySector(sector, x, z); int16_t height = M_GetCeilingTiltHeight(sky_sector, x, z); sector = Room_GetPitSector(sector, x, z); @@ -349,9 +345,8 @@ int16_t Room_GetCeiling( continue; } - const ITEM_INFO *const item = - &g_Items[(int16_t)(intptr_t)cmd->parameter]; - const OBJECT_INFO *const object = &g_Objects[item->object_id]; + const ITEM *const item = &g_Items[(int16_t)(intptr_t)cmd->parameter]; + const OBJECT *const object = &g_Objects[item->object_id]; if (object->ceiling_height_func) { height = object->ceiling_height_func(item, x, y, z, height); } @@ -360,8 +355,7 @@ int16_t Room_GetCeiling( return height; } -int16_t Room_GetHeight( - const SECTOR_INFO *sector, int32_t x, int32_t y, int32_t z) +int16_t Room_GetHeight(const SECTOR *sector, int32_t x, int32_t y, int32_t z) { g_HeightType = HT_WALL; sector = Room_GetPitSector(sector, x, z); @@ -378,9 +372,8 @@ int16_t Room_GetHeight( continue; } - const ITEM_INFO *const item = - &g_Items[(int16_t)(intptr_t)cmd->parameter]; - const OBJECT_INFO *const object = &g_Objects[item->object_id]; + const ITEM *const item = &g_Items[(int16_t)(intptr_t)cmd->parameter]; + const OBJECT *const object = &g_Objects[item->object_id]; if (object->floor_height_func) { height = object->floor_height_func(item, x, y, z, height); } @@ -390,7 +383,7 @@ int16_t Room_GetHeight( } static int16_t M_GetFloorTiltHeight( - const SECTOR_INFO *sector, const int32_t x, const int32_t z) + const SECTOR *sector, const int32_t x, const int32_t z) { int16_t height = sector->floor.height; if (sector->floor.tilt == 0) { @@ -424,7 +417,7 @@ static int16_t M_GetFloorTiltHeight( } static int16_t M_GetCeilingTiltHeight( - const SECTOR_INFO *sector, const int32_t x, const int32_t z) + const SECTOR *sector, const int32_t x, const int32_t z) { int16_t height = sector->ceiling.height; if (sector->ceiling.tilt == 0) { @@ -455,10 +448,10 @@ static int16_t M_GetCeilingTiltHeight( int16_t Room_GetWaterHeight(int32_t x, int32_t y, int32_t z, int16_t room_num) { - const ROOM_INFO *r = &g_RoomInfo[room_num]; + const ROOM *r = &g_RoomInfo[room_num]; int16_t portal_room; - const SECTOR_INFO *sector; + const SECTOR *sector; int32_t z_sector, x_sector; do { @@ -520,7 +513,7 @@ int16_t Room_GetWaterHeight(int32_t x, int32_t y, int32_t z, int16_t room_num) int16_t Room_GetIndexFromPos(const int32_t x, const int32_t y, const int32_t z) { for (int i = 0; i < g_RoomCount; i++) { - const ROOM_INFO *const room = &g_RoomInfo[i]; + const ROOM *const room = &g_RoomInfo[i]; const int32_t x1 = room->x + WALL_L; const int32_t x2 = room->x + (room->x_size << WALL_SHIFT) - WALL_L; const int32_t y1 = room->max_ceiling; @@ -534,15 +527,15 @@ int16_t Room_GetIndexFromPos(const int32_t x, const int32_t y, const int32_t z) return NO_ROOM; } -void Room_AlterFloorHeight(ITEM_INFO *item, int32_t height) +void Room_AlterFloorHeight(ITEM *item, int32_t height) { if (!height) { return; } int16_t portal_room; - SECTOR_INFO *sector; - const ROOM_INFO *r = &g_RoomInfo[item->room_num]; + SECTOR *sector; + const ROOM *r = &g_RoomInfo[item->room_num]; do { int32_t z_sector = (item->pos.z - r->z) >> WALL_SHIFT; @@ -565,7 +558,7 @@ void Room_AlterFloorHeight(ITEM_INFO *item, int32_t height) } } while (portal_room != NO_ROOM); - const SECTOR_INFO *const sky_sector = + const SECTOR *const sky_sector = M_GetSkySector(sector, item->pos.x, item->pos.z); sector = Room_GetPitSector(sector, item->pos.x, item->pos.z); @@ -593,15 +586,15 @@ void Room_FlipMap(void) Sound_StopAmbientSounds(); for (int i = 0; i < g_RoomCount; i++) { - ROOM_INFO *r = &g_RoomInfo[i]; + ROOM *r = &g_RoomInfo[i]; if (r->flipped_room < 0) { continue; } M_RemoveFlipItems(r); - ROOM_INFO *flipped = &g_RoomInfo[r->flipped_room]; - ROOM_INFO temp = *r; + ROOM *flipped = &g_RoomInfo[r->flipped_room]; + ROOM temp = *r; *r = *flipped; *flipped = temp; @@ -621,9 +614,9 @@ void Room_FlipMap(void) void Room_ParseFloorData(const int16_t *floor_data) { for (int32_t i = 0; i < g_RoomCount; i++) { - const ROOM_INFO *const room = &g_RoomInfo[i]; + const ROOM *const room = &g_RoomInfo[i]; for (int32_t j = 0; j < room->x_size * room->z_size; j++) { - SECTOR_INFO *const sector = &room->sectors[j]; + SECTOR *const sector = &room->sectors[j]; Room_PopulateSectorData( &room->sectors[j], floor_data, sector->index, NULL_FD_INDEX); } @@ -631,8 +624,8 @@ void Room_ParseFloorData(const int16_t *floor_data) } void Room_PopulateSectorData( - SECTOR_INFO *const sector, const int16_t *floor_data, - const uint16_t start_index, const uint16_t null_index) + SECTOR *const sector, const int16_t *floor_data, const uint16_t start_index, + const uint16_t null_index) { sector->floor.tilt = 0; sector->ceiling.tilt = 0; @@ -736,10 +729,10 @@ void Room_PopulateSectorData( } while (!(fd_entry & END_BIT)); } -void Room_TestTriggers(const ITEM_INFO *const item) +void Room_TestTriggers(const ITEM *const item) { int16_t room_num = item->room_num; - const SECTOR_INFO *sector = + const SECTOR *sector = Room_GetSector(item->pos.x, MAX_HEIGHT, item->pos.z, &room_num); M_TestSectorTrigger(item, sector); @@ -762,7 +755,7 @@ void Room_TestTriggers(const ITEM_INFO *const item) } } -static bool M_TestLava(const ITEM_INFO *const item) +static bool M_TestLava(const ITEM *const item) { if (item->hit_points < 0 || g_Lara.water_status == LWS_CHEAT || (g_Lara.water_status == LWS_ABOVE_WATER @@ -772,13 +765,13 @@ static bool M_TestLava(const ITEM_INFO *const item) // OG fix: check if floor index has lava int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = + const SECTOR *const sector = Room_GetSector(item->pos.x, MAX_HEIGHT, item->pos.z, &room_num); return sector->is_death_sector; } static void M_TestSectorTrigger( - const ITEM_INFO *const item, const SECTOR_INFO *const sector) + const ITEM *const item, const SECTOR *const sector) { const bool is_heavy = item->object_id != O_LARA; if (!is_heavy && sector->is_death_sector && M_TestLava(item)) { @@ -797,7 +790,7 @@ static void M_TestSectorTrigger( bool switch_off = false; bool flip_map = false; int32_t new_effect = -1; - ITEM_INFO *camera_item = NULL; + ITEM *camera_item = NULL; if (is_heavy) { if (trigger->type != TT_HEAVY) { @@ -856,7 +849,7 @@ static void M_TestSectorTrigger( switch (cmd->type) { case TO_OBJECT: { const int16_t item_num = (int16_t)(intptr_t)cmd->parameter; - ITEM_INFO *const item = &g_Items[item_num]; + ITEM *const item = &g_Items[item_num]; if (item->flags & IF_ONE_SHOT) { break; } @@ -1050,8 +1043,8 @@ static void M_TestSectorTrigger( } bool Room_IsOnWalkable( - const SECTOR_INFO *sector, const int32_t x, const int32_t y, - const int32_t z, const int32_t room_height) + const SECTOR *sector, const int32_t x, const int32_t y, const int32_t z, + const int32_t room_height) { sector = Room_GetPitSector(sector, x, z); if (sector->trigger == NULL) { @@ -1067,8 +1060,8 @@ bool Room_IsOnWalkable( } const int16_t item_num = (int16_t)(intptr_t)cmd->parameter; - const ITEM_INFO *const item = &g_Items[item_num]; - const OBJECT_INFO *const object = &g_Objects[item->object_id]; + const ITEM *const item = &g_Items[item_num]; + const OBJECT *const object = &g_Objects[item->object_id]; if (object->floor_height_func) { height = object->floor_height_func(item, x, y, z, height); object_found = true; @@ -1083,7 +1076,7 @@ int32_t Room_GetTotalCount(void) return g_RoomCount; } -ROOM_INFO *Room_Get(const int32_t room_num) +ROOM *Room_Get(const int32_t room_num) { return &g_RoomInfo[room_num]; } diff --git a/src/game/room.h b/src/game/room.h index 907fa8893..c77240fcb 100644 --- a/src/game/room.h +++ b/src/game/room.h @@ -11,29 +11,25 @@ extern int32_t g_FlipEffect; extern int32_t g_FlipStatus; extern int32_t g_FlipMapTable[MAX_FLIP_MAPS]; -int16_t Room_GetTiltType( - const SECTOR_INFO *sector, int32_t x, int32_t y, int32_t z); +int16_t Room_GetTiltType(const SECTOR *sector, int32_t x, int32_t y, int32_t z); int32_t Room_FindGridShift(int32_t src, int32_t dst); void Room_GetNewRoom(int32_t x, int32_t y, int32_t z, int16_t room_num); void Room_GetNearByRooms( int32_t x, int32_t y, int32_t z, int32_t r, int32_t h, int16_t room_num); -SECTOR_INFO *Room_GetSector(int32_t x, int32_t y, int32_t z, int16_t *room_num); -SECTOR_INFO *Room_GetPitSector(const SECTOR_INFO *sector, int32_t x, int32_t z); -int16_t Room_GetCeiling( - const SECTOR_INFO *sector, int32_t x, int32_t y, int32_t z); -int16_t Room_GetHeight( - const SECTOR_INFO *sector, int32_t x, int32_t y, int32_t z); +SECTOR *Room_GetSector(int32_t x, int32_t y, int32_t z, int16_t *room_num); +SECTOR *Room_GetPitSector(const SECTOR *sector, int32_t x, int32_t z); +int16_t Room_GetCeiling(const SECTOR *sector, int32_t x, int32_t y, int32_t z); +int16_t Room_GetHeight(const SECTOR *sector, int32_t x, int32_t y, int32_t z); int16_t Room_GetWaterHeight(int32_t x, int32_t y, int32_t z, int16_t room_num); int16_t Room_GetIndexFromPos(int32_t x, int32_t y, int32_t z); -void Room_AlterFloorHeight(ITEM_INFO *item, int32_t height); +void Room_AlterFloorHeight(ITEM *item, int32_t height); void Room_ParseFloorData(const int16_t *floor_data); void Room_PopulateSectorData( - SECTOR_INFO *sector, const int16_t *floor_data, uint16_t start_index, + SECTOR *sector, const int16_t *floor_data, uint16_t start_index, uint16_t null_index); -void Room_TestTriggers(const ITEM_INFO *item); +void Room_TestTriggers(const ITEM *item); void Room_FlipMap(void); bool Room_IsOnWalkable( - const SECTOR_INFO *sector, int32_t x, int32_t y, int32_t z, - int32_t room_height); + const SECTOR *sector, int32_t x, int32_t y, int32_t z, int32_t room_height); diff --git a/src/game/room_draw.c b/src/game/room_draw.c index 4b944e52e..393c65e14 100644 --- a/src/game/room_draw.c +++ b/src/game/room_draw.c @@ -19,7 +19,7 @@ static int32_t m_RoomNumStack[MAX_ROOMS_TO_DRAW] = { 0 }; static int32_t m_RoomNumStackIdx = 0; static void M_PrintDrawStack(void); -static bool M_SetBounds(const DOOR_INFO *door, const ROOM_INFO *parent); +static bool M_SetBounds(const PORTAL *portal, const ROOM *parent); static void M_GetBounds(int16_t room_num); static void M_PrepareToDraw(int16_t room_num); static void M_DrawSkybox(void); @@ -31,14 +31,14 @@ static void M_PrintDrawStack(void) } } -static bool M_SetBounds(const DOOR_INFO *door, const ROOM_INFO *parent) +static bool M_SetBounds(const PORTAL *portal, const ROOM *parent) { const int32_t x = - door->normal.x * (parent->x + door->vertex[0].x - g_W2VMatrix._03); + portal->normal.x * (parent->x + portal->vertex[0].x - g_W2VMatrix._03); const int32_t y = - door->normal.y * (parent->y + door->vertex[0].y - g_W2VMatrix._13); + portal->normal.y * (parent->y + portal->vertex[0].y - g_W2VMatrix._13); const int32_t z = - door->normal.z * (parent->z + door->vertex[0].z - g_W2VMatrix._23); + portal->normal.z * (parent->z + portal->vertex[0].z - g_W2VMatrix._23); if (x + y + z >= 0) { return false; } @@ -54,14 +54,14 @@ static bool M_SetBounds(const DOOR_INFO *door, const ROOM_INFO *parent) const MATRIX *mptr = g_MatrixPtr; for (int i = 0; i < 4; i++) { - int32_t xv = mptr->_00 * door->vertex[i].x - + mptr->_01 * door->vertex[i].y + mptr->_02 * door->vertex[i].z + int32_t xv = mptr->_00 * portal->vertex[i].x + + mptr->_01 * portal->vertex[i].y + mptr->_02 * portal->vertex[i].z + mptr->_03; - int32_t yv = mptr->_10 * door->vertex[i].x - + mptr->_11 * door->vertex[i].y + mptr->_12 * door->vertex[i].z + int32_t yv = mptr->_10 * portal->vertex[i].x + + mptr->_11 * portal->vertex[i].y + mptr->_12 * portal->vertex[i].z + mptr->_13; - int32_t zv = mptr->_20 * door->vertex[i].x - + mptr->_21 * door->vertex[i].y + mptr->_22 * door->vertex[i].z + int32_t zv = mptr->_20 * portal->vertex[i].x + + mptr->_21 * portal->vertex[i].y + mptr->_22 * portal->vertex[i].z + mptr->_23; door_vbuf[i].xv = xv; door_vbuf[i].yv = yv; @@ -149,7 +149,7 @@ static bool M_SetBounds(const DOOR_INFO *door, const ROOM_INFO *parent) return false; } - ROOM_INFO *r = &g_RoomInfo[door->room_num]; + ROOM *r = &g_RoomInfo[portal->room_num]; if (left < r->left) { r->left = left; } @@ -165,7 +165,7 @@ static bool M_SetBounds(const DOOR_INFO *door, const ROOM_INFO *parent) if (!r->bound_active) { if (g_RoomsToDrawCount + 1 < MAX_ROOMS_TO_DRAW) { - g_RoomsToDraw[g_RoomsToDrawCount++] = door->room_num; + g_RoomsToDraw[g_RoomsToDrawCount++] = portal->room_num; } r->bound_active = 1; } @@ -174,18 +174,18 @@ static bool M_SetBounds(const DOOR_INFO *door, const ROOM_INFO *parent) static void M_GetBounds(int16_t room_num) { - ROOM_INFO *r = &g_RoomInfo[room_num]; + ROOM *r = &g_RoomInfo[room_num]; if (!Matrix_Push()) { M_PrintDrawStack(); Shell_ExitSystem("Matrix stack overflow."); } m_RoomNumStack[m_RoomNumStackIdx++] = room_num; Matrix_TranslateAbs(r->x, r->y, r->z); - if (r->doors) { - for (int i = 0; i < r->doors->count; i++) { - const DOOR_INFO *door = &r->doors->door[i]; - if (M_SetBounds(door, r)) { - M_GetBounds(door->room_num); + if (r->portals != NULL) { + for (int i = 0; i < r->portals->count; i++) { + const PORTAL *portal = &r->portals->portal[i]; + if (M_SetBounds(portal, r)) { + M_GetBounds(portal->room_num); } } } @@ -213,7 +213,7 @@ void Room_DrawAllRooms(int16_t base_room, int16_t target_room) static void M_PrepareToDraw(int16_t room_num) { - ROOM_INFO *r = &g_RoomInfo[room_num]; + ROOM *r = &g_RoomInfo[room_num]; if (r->bound_active) { return; } @@ -230,11 +230,11 @@ static void M_PrepareToDraw(int16_t room_num) Matrix_Push(); Matrix_TranslateAbs(r->x, r->y, r->z); - if (r->doors) { - for (int i = 0; i < r->doors->count; i++) { - const DOOR_INFO *door = &r->doors->door[i]; - if (M_SetBounds(door, r)) { - M_GetBounds(door->room_num); + if (r->portals != NULL) { + for (int i = 0; i < r->portals->count; i++) { + const PORTAL *portal = &r->portals->portal[i]; + if (M_SetBounds(portal, r)) { + M_GetBounds(portal->room_num); } } } @@ -253,7 +253,7 @@ static void M_DrawSkybox(void) g_MatrixPtr->_13 = 0; g_MatrixPtr->_23 = 0; - const OBJECT_INFO skybox = g_Objects[O_SKYBOX]; + const OBJECT skybox = g_Objects[O_SKYBOX]; const FRAME_INFO *const frame = g_Anims[skybox.anim_idx].frame_ptr; Matrix_RotYXZpack(frame->mesh_rots[0]); Output_DrawSkybox(g_Meshes[skybox.mesh_idx]); @@ -266,7 +266,7 @@ void Room_DrawSingleRoom(int16_t room_num) bool camera_underwater = g_RoomInfo[g_Camera.pos.room_num].flags & RF_UNDERWATER; - ROOM_INFO *r = &g_RoomInfo[room_num]; + ROOM *r = &g_RoomInfo[room_num]; if (r->flags & RF_UNDERWATER) { Output_SetupBelowWater(camera_underwater); } else { @@ -286,14 +286,14 @@ void Room_DrawSingleRoom(int16_t room_num) Output_DrawRoom(r->data); for (int i = r->item_num; i != NO_ITEM; i = g_Items[i].next_item) { - ITEM_INFO *item = &g_Items[i]; + ITEM *item = &g_Items[i]; if (item->status != IS_INVISIBLE) { g_Objects[item->object_id].draw_routine(item); } } for (int i = 0; i < r->num_meshes; i++) { - MESH_INFO *mesh = &r->mesh[i]; + MESH *mesh = &r->mesh[i]; if (g_StaticObjects[mesh->static_num].flags & 2) { Matrix_Push(); Matrix_TranslateAbs(mesh->pos.x, mesh->pos.y, mesh->pos.z); diff --git a/src/game/savegame.h b/src/game/savegame.h index 45687c9a1..2fc03cd49 100644 --- a/src/game/savegame.h +++ b/src/game/savegame.h @@ -15,7 +15,7 @@ #define SAVEGAME_CURRENT_VERSION 5 -typedef enum SAVEGAME_VERSION { +typedef enum { VERSION_LEGACY = -1, VERSION_0 = 0, VERSION_1 = 1, @@ -25,12 +25,12 @@ typedef enum SAVEGAME_VERSION { VERSION_5 = 5, } SAVEGAME_VERSION; -typedef enum SAVEGAME_FORMAT { +typedef enum { SAVEGAME_FORMAT_LEGACY = 1, SAVEGAME_FORMAT_BSON = 2, } SAVEGAME_FORMAT; -typedef struct SAVEGAME_INFO { +typedef struct { SAVEGAME_FORMAT format; char *full_path; int32_t counter; diff --git a/src/game/savegame/savegame.c b/src/game/savegame/savegame.c index 252880310..b08a90a3a 100644 --- a/src/game/savegame/savegame.c +++ b/src/game/savegame/savegame.c @@ -32,7 +32,7 @@ #define SAVES_DIR "saves" -typedef struct SAVEGAME_STRATEGY { +typedef struct { bool allow_load; bool allow_save; SAVEGAME_FORMAT format; @@ -84,12 +84,12 @@ static void M_LoadPreprocess(void) static void M_LoadPostprocess(void) { for (int i = 0; i < g_LevelItemCount; i++) { - ITEM_INFO *item = &g_Items[i]; - OBJECT_INFO *obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[i]; + OBJECT *obj = &g_Objects[item->object_id]; if (obj->save_position && obj->shadow_size) { int16_t room_num = item->room_num; - const SECTOR_INFO *const sector = Room_GetSector( + const SECTOR *const sector = Room_GetSector( item->pos.x, item->pos.y, item->pos.z, &room_num); item->floor = Room_GetHeight(sector, item->pos.x, item->pos.y, item->pos.z); @@ -182,8 +182,8 @@ void Savegame_Shutdown(void) void Savegame_ProcessItemsBeforeLoad(void) { for (int i = 0; i < g_LevelItemCount; i++) { - ITEM_INFO *item = &g_Items[i]; - OBJECT_INFO *obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[i]; + OBJECT *obj = &g_Objects[item->object_id]; if (obj->control == MovableBlock_Control && item->status != IS_INVISIBLE && item->pos.y >= Item_GetHeight(item)) { @@ -198,8 +198,8 @@ void Savegame_ProcessItemsBeforeLoad(void) void Savegame_ProcessItemsBeforeSave(void) { for (int i = 0; i < g_LevelItemCount; i++) { - ITEM_INFO *item = &g_Items[i]; - OBJECT_INFO *obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[i]; + OBJECT *obj = &g_Objects[item->object_id]; if (obj->control == SaveCrystal_Control && item->data) { // need to reset the crystal status diff --git a/src/game/savegame/savegame_bson.c b/src/game/savegame/savegame_bson.c index 4ddbf79f7..14f5055a8 100644 --- a/src/game/savegame/savegame_bson.c +++ b/src/game/savegame/savegame_bson.c @@ -29,7 +29,7 @@ #define SAVEGAME_BSON_MAGIC MKTAG('T', '1', 'M', 'B') #pragma pack(push, 1) -typedef struct SAVEGAME_BSON_HEADER { +typedef struct { uint32_t magic; int16_t initial_version; uint16_t version; @@ -38,7 +38,7 @@ typedef struct SAVEGAME_BSON_HEADER { } SAVEGAME_BSON_HEADER; #pragma pack(pop) -typedef struct SAVEGAME_BSON_FX_ORDER { +typedef struct { int16_t count; int16_t id_map[NUM_EFFECTS]; } SAVEGAME_BSON_FX_ORDER; @@ -491,8 +491,8 @@ static bool M_LoadItems(struct json_array_s *items_arr, uint16_t header_version) return false; } - ITEM_INFO *item = &g_Items[i]; - OBJECT_INFO *obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[i]; + OBJECT *obj = &g_Objects[item->object_id]; const GAME_OBJECT_ID object_id = json_object_get_int(item_obj, "obj_num", -1); @@ -561,7 +561,7 @@ static bool M_LoadItems(struct json_array_s *items_arr, uint16_t header_version) if (json_object_get_bool( item_obj, "intelligent", obj->intelligent)) { LOT_EnableBaddieAI(i, 1); - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; if (creature) { creature->head_rotation = json_object_get_int( item_obj, "head_rot", creature->head_rotation); @@ -676,7 +676,7 @@ static bool M_LoadFx(struct json_array_s *fx_arr) int16_t fx_num = Effect_Create(room_num); if (fx_num != NO_ITEM) { - FX_INFO *fx = &g_Effects[fx_num]; + FX *fx = &g_Effects[fx_num]; fx->pos.x = x; fx->pos.y = y; fx->pos.z = z; @@ -1040,8 +1040,8 @@ static struct json_array_s *M_DumpItems(void) struct json_array_s *items_arr = json_array_new(); for (int i = 0; i < g_LevelItemCount; i++) { struct json_object_s *item_obj = json_object_new(); - ITEM_INFO *item = &g_Items[i]; - OBJECT_INFO *obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[i]; + OBJECT *obj = &g_Objects[item->object_id]; json_object_append_int(item_obj, "obj_num", item->object_id); @@ -1082,7 +1082,7 @@ static struct json_array_s *M_DumpItems(void) item_obj, "intelligent", obj->intelligent && item->data); json_object_append_int(item_obj, "timer", item->timer); if (obj->intelligent && item->data) { - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; json_object_append_int( item_obj, "head_rot", creature->head_rotation); json_object_append_int( @@ -1145,7 +1145,7 @@ static struct json_array_s *M_DumpFx(void) for (int16_t linknum = g_NextFxActive; linknum != NO_ITEM; linknum = g_Effects[linknum].next_active) { struct json_object_s *fx_obj = json_object_new(); - FX_INFO *fx = &g_Effects[linknum]; + FX *fx = &g_Effects[linknum]; json_object_append_int(fx_obj, "x", fx->pos.x); json_object_append_int(fx_obj, "y", fx->pos.y); json_object_append_int(fx_obj, "z", fx->pos.z); diff --git a/src/game/savegame/savegame_legacy.c b/src/game/savegame/savegame_legacy.c index 0f62c23f5..ee73b712d 100644 --- a/src/game/savegame/savegame_legacy.c +++ b/src/game/savegame/savegame_legacy.c @@ -26,7 +26,7 @@ #define SAVEGAME_LEGACY_MAX_BUFFER_SIZE (20 * 1024) #pragma pack(push, 1) -typedef struct SAVEGAME_LEGACY_ITEM_STATS { +typedef struct { uint8_t num_pickup1; uint8_t num_pickup2; uint8_t num_puzzle1; @@ -45,8 +45,8 @@ typedef struct SAVEGAME_LEGACY_ITEM_STATS { static int m_SGBufPos = 0; static char *m_SGBufPtr = NULL; -static bool M_ItemHasSaveFlags(OBJECT_INFO *obj, ITEM_INFO *item); -static bool M_ItemHasSaveAnim(const ITEM_INFO *item); +static bool M_ItemHasSaveFlags(OBJECT *obj, ITEM *item); +static bool M_ItemHasSaveAnim(const ITEM *item); static bool M_NeedsBaconLaraFix(char *buffer); static void M_Reset(char *buffer); @@ -64,7 +64,7 @@ static void M_WriteArm(LARA_ARM *arm); static void M_WriteLara(LARA_INFO *lara); static void M_WriteLOT(LOT_INFO *lot); -static bool M_ItemHasSaveFlags(OBJECT_INFO *obj, ITEM_INFO *item) +static bool M_ItemHasSaveFlags(OBJECT *obj, ITEM *item) { // TR1X savegame files are enhanced to store more information by having // changed the save_flags bit for certain item types. However, legacy @@ -81,9 +81,9 @@ static bool M_ItemHasSaveFlags(OBJECT_INFO *obj, ITEM_INFO *item) && item->object_id != O_DART_EMITTER); } -static bool M_ItemHasSaveAnim(const ITEM_INFO *const item) +static bool M_ItemHasSaveAnim(const ITEM *const item) { - const OBJECT_INFO *const obj = &g_Objects[item->object_id]; + const OBJECT *const obj = &g_Objects[item->object_id]; return obj->save_anim && item->object_id != O_BACON_LARA; } @@ -135,10 +135,10 @@ static bool M_NeedsBaconLaraFix(char *buffer) M_Skip(g_NumberCameras * sizeof(int16_t)); // cameras for (int i = 0; i < g_LevelItemCount; i++) { - ITEM_INFO *item = &g_Items[i]; - OBJECT_INFO *obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[i]; + OBJECT *obj = &g_Objects[item->object_id]; - ITEM_INFO tmp_item; + ITEM tmp_item; if (obj->save_position) { M_Read(&tmp_item.pos.x, sizeof(int32_t)); @@ -165,7 +165,7 @@ static bool M_NeedsBaconLaraFix(char *buffer) M_Read(&tmp_item.flags, sizeof(int16_t)); M_Read(&tmp_item.timer, sizeof(int16_t)); if (tmp_item.flags & SAVE_CREATURE) { - CREATURE_INFO tmp_creature; + CREATURE tmp_creature; M_Read(&tmp_creature.head_rotation, sizeof(int16_t)); M_Read(&tmp_creature.neck_rotation, sizeof(int16_t)); M_Read(&tmp_creature.maximum_turn, sizeof(int16_t)); @@ -336,7 +336,7 @@ static void M_ReadLara(LARA_INFO *lara) M_Read(&lara->spaz_effect_count, sizeof(int16_t)); lara->spaz_effect = NULL; - M_Skip(4); // pointer to FX_INFO + M_Skip(4); // pointer to FX M_Read(&lara->mesh_effects, sizeof(int32_t)); for (int i = 0; i < LM_NUMBER_OF; i++) { @@ -346,7 +346,7 @@ static void M_ReadLara(LARA_INFO *lara) } lara->target = NULL; - M_Skip(4); // pointer to ITEM_INFO + M_Skip(4); // pointer to ITEM M_Read(&lara->target_angles[0], sizeof(PHD_ANGLE)); M_Read(&lara->target_angles[1], sizeof(PHD_ANGLE)); @@ -569,8 +569,8 @@ bool Savegame_Legacy_LoadFromFile(MYFILE *fp, GAME_INFO *game_info) Savegame_ProcessItemsBeforeLoad(); for (int i = 0; i < g_LevelItemCount; i++) { - ITEM_INFO *item = &g_Items[i]; - OBJECT_INFO *obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[i]; + OBJECT *obj = &g_Objects[item->object_id]; if (obj->save_position) { M_Read(&item->pos.x, sizeof(int32_t)); @@ -623,7 +623,7 @@ bool Savegame_Legacy_LoadFromFile(MYFILE *fp, GAME_INFO *game_info) if (item->flags & SAVE_CREATURE) { LOT_EnableBaddieAI(i, 1); - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; if (creature) { M_Read(&creature->head_rotation, sizeof(int16_t)); M_Read(&creature->neck_rotation, sizeof(int16_t)); @@ -744,8 +744,8 @@ void Savegame_Legacy_SaveToFile(MYFILE *fp, GAME_INFO *game_info) Savegame_ProcessItemsBeforeSave(); for (int i = 0; i < g_LevelItemCount; i++) { - ITEM_INFO *item = &g_Items[i]; - OBJECT_INFO *obj = &g_Objects[item->object_id]; + ITEM *item = &g_Items[i]; + OBJECT *obj = &g_Objects[item->object_id]; if (obj->save_position) { M_Write(&item->pos.x, sizeof(int32_t)); @@ -780,7 +780,7 @@ void Savegame_Legacy_SaveToFile(MYFILE *fp, GAME_INFO *game_info) M_Write(&flags, sizeof(uint16_t)); M_Write(&item->timer, sizeof(int16_t)); if (flags & SAVE_CREATURE) { - CREATURE_INFO *creature = item->data; + CREATURE *creature = item->data; M_Write(&creature->head_rotation, sizeof(int16_t)); M_Write(&creature->neck_rotation, sizeof(int16_t)); M_Write(&creature->maximum_turn, sizeof(int16_t)); diff --git a/src/game/screen.h b/src/game/screen.h index e7aff892c..66139c65f 100644 --- a/src/game/screen.h +++ b/src/game/screen.h @@ -3,7 +3,7 @@ #include #include -typedef enum RENDER_SCALE_REF { +typedef enum { RSR_TEXT = 0, RSR_BAR = 1, } RENDER_SCALE_REF; diff --git a/src/game/sound.c b/src/game/sound.c index 4e9520f26..b5f878fd8 100644 --- a/src/game/sound.c +++ b/src/game/sound.c @@ -27,7 +27,7 @@ #define SOUND_MAX_PITCH_CHANGE 10 #define SOUND_NOT_AUDIBLE -1 -typedef struct SOUND_SLOT { +typedef struct { int sound_id; const XYZ_32 *pos; uint32_t loudness; @@ -37,13 +37,13 @@ typedef struct SOUND_SLOT { int16_t flags; } SOUND_SLOT; -typedef enum SOUND_MODE { +typedef enum { SOUND_MODE_WAIT = 0, SOUND_MODE_RESTART = 1, SOUND_MODE_AMBIENT = 2, } SOUND_MODE; -typedef enum SOUND_FLAG { +typedef enum { SOUND_FLAG_UNUSED = 0, SOUND_FLAG_USED = 1 << 0, SOUND_FLAG_AMBIENT = 1 << 1, diff --git a/src/game/stats.c b/src/game/stats.c index 5fd8fafd9..21c4d5ce2 100644 --- a/src/game/stats.c +++ b/src/game/stats.c @@ -20,7 +20,7 @@ #define MAX_TEXTSTRINGS 10 static int32_t m_CachedItemCount = 0; -static SECTOR_INFO **m_CachedSectorArray = NULL; +static SECTOR **m_CachedSectorArray = NULL; static int32_t m_LevelPickups = 0; static int32_t m_LevelKillables = 0; static int32_t m_LevelSecrets = 0; @@ -34,8 +34,7 @@ static struct { } m_StatsTimer = { 0 }; static void M_TraverseFloor(void); -static void M_CheckTriggers( - ROOM_INFO *r, int room_num, int z_sector, int x_sector); +static void M_CheckTriggers(ROOM *r, int room_num, int z_sector, int x_sector); static void M_IncludeKillableItem(int16_t item_num); static void M_TraverseFloor(void) @@ -43,7 +42,7 @@ static void M_TraverseFloor(void) uint32_t secrets = 0; for (int i = 0; i < g_RoomCount; i++) { - ROOM_INFO *r = &g_RoomInfo[i]; + ROOM *r = &g_RoomInfo[i]; for (int z_sector = 0; z_sector < r->z_size; z_sector++) { for (int x_sector = 0; x_sector < r->x_size; x_sector++) { M_CheckTriggers(r, i, z_sector, x_sector); @@ -52,8 +51,7 @@ static void M_TraverseFloor(void) } } -static void M_CheckTriggers( - ROOM_INFO *r, int room_num, int z_sector, int x_sector) +static void M_CheckTriggers(ROOM *r, int room_num, int z_sector, int x_sector) { if (z_sector == 0 || z_sector == r->z_size - 1) { if (x_sector == 0 || x_sector == r->x_size - 1) { @@ -61,7 +59,7 @@ static void M_CheckTriggers( } } - const SECTOR_INFO *const sector = + const SECTOR *const sector = &m_CachedSectorArray[room_num][z_sector + x_sector * r->z_size]; if (sector->trigger == NULL) { @@ -83,7 +81,7 @@ static void M_CheckTriggers( continue; } - const ITEM_INFO *const item = &g_Items[item_num]; + const ITEM *const item = &g_Items[item_num]; if (item->object_id == O_PIERRE) { // Add Pierre pickup and kills if oneshot @@ -97,7 +95,7 @@ static void M_CheckTriggers( // Check for only valid pods if (item->data != NULL) { const int16_t bug_item_num = *(int16_t *)item->data; - const ITEM_INFO *const bug_item = &g_Items[bug_item_num]; + const ITEM *const bug_item = &g_Items[bug_item_num]; if (g_Objects[bug_item->object_id].loaded) { M_IncludeKillableItem(item_num); } @@ -154,16 +152,16 @@ void Stats_ComputeTotal( void Stats_ObserveRoomsLoad(void) { m_CachedSectorArray = - GameBuf_Alloc(g_RoomCount * sizeof(SECTOR_INFO *), GBUF_ROOM_SECTOR); + GameBuf_Alloc(g_RoomCount * sizeof(SECTOR *), GBUF_ROOM_SECTOR); for (int i = 0; i < g_RoomCount; i++) { - const ROOM_INFO *current_room_info = &g_RoomInfo[i]; + const ROOM *current_room_info = &g_RoomInfo[i]; const int32_t count = current_room_info->x_size * current_room_info->z_size; m_CachedSectorArray[i] = - GameBuf_Alloc(count * sizeof(SECTOR_INFO), GBUF_ROOM_SECTOR); + GameBuf_Alloc(count * sizeof(SECTOR), GBUF_ROOM_SECTOR); memcpy( m_CachedSectorArray[i], current_room_info->sectors, - count * sizeof(SECTOR_INFO)); + count * sizeof(SECTOR)); } } @@ -187,7 +185,7 @@ void Stats_CalculateStats(void) } for (int i = 0; i < m_CachedItemCount; i++) { - ITEM_INFO *item = &g_Items[i]; + ITEM *item = &g_Items[i]; if (item->object_id < 0 || item->object_id >= O_NUMBER_OF) { LOG_ERROR( diff --git a/src/game/stats.h b/src/game/stats.h index ad706a5dc..43bc20c5f 100644 --- a/src/game/stats.h +++ b/src/game/stats.h @@ -5,7 +5,7 @@ #include #include -typedef struct TOTAL_STATS { +typedef struct { uint32_t timer; uint32_t death_count; uint32_t player_kill_count; diff --git a/src/game/text.c b/src/game/text.c index b82645c24..07c1228d2 100644 --- a/src/game/text.c +++ b/src/game/text.c @@ -83,7 +83,7 @@ static RGBA_8888 m_MenuColorMap[MC_NUMBER_OF] = { { 140, 112, 56, 255 }, // MC_GOLD_DARK }; -typedef struct QUAD_INFO { +typedef struct { int32_t x; int32_t y; int32_t w; diff --git a/src/global/types.h b/src/global/types.h index 195c3ce8d..22378cde8 100644 --- a/src/global/types.h +++ b/src/global/types.h @@ -21,13 +21,13 @@ typedef int16_t PHD_ANGLE; -typedef enum SAMPLE_FLAG { +typedef enum { SAMPLE_FLAG_NO_PAN = 1 << 12, SAMPLE_FLAG_PITCH_WIBBLE = 1 << 13, SAMPLE_FLAG_VOLUME_WIBBLE = 1 << 14, } SAMPLE_FLAG; -typedef enum CAMERA_TYPE { +typedef enum { CAM_CHASE = 0, CAM_FIXED = 1, CAM_LOOK = 2, @@ -36,7 +36,7 @@ typedef enum CAMERA_TYPE { CAM_HEAVY = 5, } CAMERA_TYPE; -typedef enum GAME_STATIC_ID { +typedef enum { STATIC_PLANT0 = 0, STATIC_PLANT1 = 1, STATIC_PLANT2 = 2, @@ -90,7 +90,7 @@ typedef enum GAME_STATIC_ID { STATIC_NUMBER_OF = 50, } GAME_STATIC_ID; -typedef enum MUSIC_TRACK_ID { +typedef enum { MX_INACTIVE = -1, MX_UNUSED_0 = 0, MX_UNUSED_1 = 1, @@ -156,13 +156,13 @@ typedef enum MUSIC_TRACK_ID { MX_NUMBER_OF, } MUSIC_TRACK_ID; -typedef enum TARGET_TYPE { +typedef enum { TARGET_NONE = 0, TARGET_PRIMARY = 1, TARGET_SECONDARY = 2, } TARGET_TYPE; -typedef enum D_FLAGS { +typedef enum { D_TRANS1 = 1, D_TRANS2 = 2, D_TRANS3 = 3, @@ -170,7 +170,7 @@ typedef enum D_FLAGS { D_NEXT = 1 << 3, } D_FLAGS; -typedef enum COLL_TYPE { +typedef enum { COLL_NONE = 0, COLL_FRONT = 1, COLL_LEFT = 2, @@ -180,13 +180,13 @@ typedef enum COLL_TYPE { COLL_CLAMP = 32, } COLL_TYPE; -typedef enum HEIGHT_TYPE { +typedef enum { HT_WALL = 0, HT_SMALL_SLOPE = 1, HT_BIG_SLOPE = 2, } HEIGHT_TYPE; -typedef enum ANIM_COMMAND { +typedef enum { AC_NULL = 0, AC_MOVE_ORIGIN = 1, AC_JUMP_VELOCITY = 2, @@ -196,7 +196,7 @@ typedef enum ANIM_COMMAND { AC_EFFECT = 6, } ANIM_COMMAND; -typedef enum BONE_EXTRA_BITS { +typedef enum { BEB_POP = 1 << 0, BEB_PUSH = 1 << 1, BEB_ROT_X = 1 << 2, @@ -204,11 +204,11 @@ typedef enum BONE_EXTRA_BITS { BEB_ROT_Z = 1 << 4, } BONE_EXTRA_BITS; -typedef enum ROOM_FLAG { +typedef enum { RF_UNDERWATER = 1, } ROOM_FLAG; -typedef enum FLOOR_TYPE { +typedef enum { FT_FLOOR = 0, FT_DOOR = 1, FT_TILT = 2, @@ -217,7 +217,7 @@ typedef enum FLOOR_TYPE { FT_LAVA = 5, } FLOOR_TYPE; -typedef enum INV_MODE { +typedef enum { INV_GAME_MODE = 0, INV_TITLE_MODE = 1, INV_KEYS_MODE = 2, @@ -227,13 +227,13 @@ typedef enum INV_MODE { INV_SAVE_CRYSTAL_MODE = 6, } INV_MODE; -typedef enum INV_TEXT { +typedef enum { IT_NAME = 0, IT_QTY = 1, IT_NUMBER_OF = 2, } INV_TEXT; -typedef enum INV_COLOUR { +typedef enum { IC_BLACK = 0, IC_GREY = 1, IC_WHITE = 2, @@ -254,7 +254,7 @@ typedef enum INV_COLOUR { IC_NUMBER_OF = 17, } INV_COLOUR; -typedef enum RING_STATUS { +typedef enum { RNG_OPENING = 0, RNG_OPEN = 1, RNG_CLOSING = 2, @@ -271,44 +271,44 @@ typedef enum RING_STATUS { RNG_DONE = 13, } RING_STATUS; -typedef enum RING_TYPE { +typedef enum { RT_MAIN = 0, RT_OPTION = 1, RT_KEYS = 2, } RING_TYPE; -typedef enum CONTROL_MODE { +typedef enum { CM_PICK = 0, CM_KEYBOARD = 1, CM_CONTROLLER = 2, } CONTROL_MODE; -typedef enum SHAPE { +typedef enum { SHAPE_SPRITE = 1, SHAPE_LINE = 2, SHAPE_BOX = 3, SHAPE_FBOX = 4 } SHAPE; -typedef enum DOOR_ANIM { +typedef enum { DOOR_CLOSED = 0, DOOR_OPEN = 1, } DOOR_ANIM; -typedef enum TRAP_ANIM { +typedef enum { TRAP_SET = 0, TRAP_ACTIVATE = 1, TRAP_WORKING = 2, TRAP_FINISHED = 3, } TRAP_ANIM; -typedef enum SLIDING_PILLAR_STATE { +typedef enum { SPS_START = 0, SPS_END = 1, SPS_MOVING = 2, } SLIDING_PILLAR_STATE; -typedef enum GAMEFLOW_LEVEL_TYPE { +typedef enum { GFL_TITLE = 0, GFL_NORMAL = 1, GFL_SAVED = 2, @@ -323,7 +323,7 @@ typedef enum GAMEFLOW_LEVEL_TYPE { GFL_LEVEL_DEMO_PC = 11, } GAMEFLOW_LEVEL_TYPE; -typedef enum GAMEFLOW_SEQUENCE_TYPE { +typedef enum { GFS_END = -1, GFS_START_GAME, GFS_LOOP_GAME, @@ -354,20 +354,20 @@ typedef enum GAMEFLOW_SEQUENCE_TYPE { GFS_LEGACY, } GAMEFLOW_SEQUENCE_TYPE; -typedef enum BAR_TYPE { +typedef enum { BT_LARA_HEALTH = 0, BT_LARA_MAX_AIR = 1, BT_ENEMY_HEALTH = 2, BT_PROGRESS = 3, } BAR_TYPE; -typedef enum SOUND_PLAY_MODE { +typedef enum { SPM_NORMAL = 0, SPM_UNDERWATER = 1, SPM_ALWAYS = 2, } SOUND_PLAY_MODE; -typedef enum UNDERWATER_MUSIC_MODE { +typedef enum { UMM_FULL, UMM_QUIET, UMM_FULL_NO_AMBIENT, @@ -375,19 +375,19 @@ typedef enum UNDERWATER_MUSIC_MODE { UMM_NONE, } UNDERWATER_MUSIC_MODE; -typedef enum GAME_BONUS_FLAG { +typedef enum { GBF_NGPLUS = 1 << 0, GBF_JAPANESE = 1 << 1, } GAME_BONUS_FLAG; -typedef enum PASSPORT_PAGE { +typedef enum { PAGE_1 = 0, PAGE_2 = 1, PAGE_3 = 2, PAGE_COUNT = 3, } PASSPORT_PAGE; -typedef enum PASSPORT_MODE { +typedef enum { PASSPORT_MODE_BROWSE = 0, PASSPORT_MODE_LOAD_GAME = 1, PASSPORT_MODE_SELECT_LEVEL = 2, @@ -400,31 +400,31 @@ typedef enum PASSPORT_MODE { PASSPORT_MODE_UNAVAILABLE = 9, } PASSPORT_MODE; -typedef struct RESOLUTION { +typedef struct { int width; int height; } RESOLUTION; -typedef struct RGB_F { +typedef struct { float r; float g; float b; } RGB_F; -typedef struct RGB_888 { +typedef struct { uint8_t r; uint8_t g; uint8_t b; } RGB_888; -typedef struct RGBA_8888 { +typedef struct { uint8_t r; uint8_t g; uint8_t b; uint8_t a; } RGBA_8888; -typedef struct MATRIX { +typedef struct { int32_t _00; int32_t _01; int32_t _02; @@ -439,7 +439,7 @@ typedef struct MATRIX { int32_t _23; } MATRIX; -typedef struct POINT_INFO { +typedef struct { float xv; float yv; float zv; @@ -450,7 +450,7 @@ typedef struct POINT_INFO { float g; } POINT_INFO; -typedef struct PHD_VBUF { +typedef struct { float xv; float yv; float zv; @@ -462,18 +462,18 @@ typedef struct PHD_VBUF { int16_t v; } PHD_VBUF; -typedef struct PHD_UV { +typedef struct { uint16_t u; uint16_t v; } PHD_UV; -typedef struct PHD_TEXTURE { +typedef struct { uint16_t drawtype; uint16_t tpage; PHD_UV uv[4]; } PHD_TEXTURE; -typedef struct PHD_SPRITE { +typedef struct { uint16_t tpage; uint16_t offset; uint16_t width; @@ -490,20 +490,20 @@ typedef struct TEXTURE_RANGE { struct TEXTURE_RANGE *next_range; } TEXTURE_RANGE; -typedef struct DOORPOS_DATA { - SECTOR_INFO *sector; - SECTOR_INFO old_sector; +typedef struct { + SECTOR *sector; + SECTOR old_sector; int16_t block; } DOORPOS_DATA; -typedef struct DOOR_DATA { +typedef struct { DOORPOS_DATA d1; DOORPOS_DATA d1flip; DOORPOS_DATA d2; DOORPOS_DATA d2flip; } DOOR_DATA; -typedef struct CINE_CAMERA { +typedef struct { int16_t tx; int16_t ty; int16_t tz; @@ -514,12 +514,12 @@ typedef struct CINE_CAMERA { int16_t roll; } CINE_CAMERA; -typedef struct CINE_POSITION { +typedef struct { XYZ_32 pos; XYZ_16 rot; } CINE_POSITION; -typedef struct GAME_STATS { +typedef struct { uint32_t timer; uint32_t death_count; uint32_t kill_count; @@ -530,7 +530,7 @@ typedef struct GAME_STATS { uint8_t max_pickup_count; } GAME_STATS; -typedef struct RESUME_INFO { +typedef struct { int32_t lara_hitpoints; uint16_t pistol_ammo; uint16_t magnum_ammo; @@ -557,7 +557,7 @@ typedef struct RESUME_INFO { GAME_STATS stats; } RESUME_INFO; -typedef struct GAME_INFO { +typedef struct { RESUME_INFO *current; uint8_t bonus_flag; bool bonus_level_unlock; @@ -620,7 +620,7 @@ typedef enum { BL_CUSTOM, } BAR_LOCATION; -typedef struct BAR_INFO { +typedef struct { BAR_TYPE type; int32_t value; int32_t max_value; @@ -636,7 +636,7 @@ typedef struct BAR_INFO { int16_t custom_height; } BAR_INFO; -typedef struct TEXTSTRING { +typedef struct { union { uint32_t all; struct { @@ -683,10 +683,10 @@ typedef struct TEXTSTRING { TEXT_STYLE style; } outline; char *string; - struct BAR_INFO progress_bar; + BAR_INFO progress_bar; } TEXTSTRING; -typedef struct SHADOW_INFO { +typedef struct { int16_t poly_count; int16_t vertex_count; struct { @@ -696,7 +696,7 @@ typedef struct SHADOW_INFO { } vertex[32]; } SHADOW_INFO; -typedef struct STATIC_INFO { +typedef struct { bool loaded; int16_t nmeshes; int16_t mesh_num; @@ -705,7 +705,7 @@ typedef struct STATIC_INFO { BOUNDS_16 c; } STATIC_INFO; -typedef struct GAME_VECTOR { +typedef struct { union { struct { int32_t x; @@ -717,7 +717,7 @@ typedef struct GAME_VECTOR { int16_t room_num; } GAME_VECTOR; -typedef struct OBJECT_VECTOR { +typedef struct { union { struct { int32_t x; @@ -730,7 +730,7 @@ typedef struct OBJECT_VECTOR { int16_t flags; } OBJECT_VECTOR; -typedef struct CAMERA_INFO { +typedef struct { GAME_VECTOR pos; GAME_VECTOR target; int32_t type; @@ -749,8 +749,8 @@ typedef struct CAMERA_INFO { int16_t timer; int16_t speed; int16_t roll; - ITEM_INFO *item; - ITEM_INFO *last_item; + ITEM *item; + ITEM *last_item; OBJECT_VECTOR *fixed; // used for the manual camera control int16_t additional_angle; @@ -766,13 +766,13 @@ typedef struct CAMERA_INFO { } interp; } CAMERA_INFO; -typedef struct DOOR_VBUF { +typedef struct { int32_t xv; int32_t yv; int32_t zv; } DOOR_VBUF; -typedef struct WEAPON_INFO { +typedef struct { PHD_ANGLE lock_angles[4]; PHD_ANGLE left_angles[4]; PHD_ANGLE right_angles[4]; @@ -786,21 +786,21 @@ typedef struct WEAPON_INFO { int16_t sample_num; } WEAPON_INFO; -typedef struct SPHERE { +typedef struct { int32_t x; int32_t y; int32_t z; int32_t r; } SPHERE; -typedef struct BITE_INFO { +typedef struct { int32_t x; int32_t y; int32_t z; int32_t mesh_num; -} BITE_INFO; +} BITE; -typedef struct AI_INFO { +typedef struct { int16_t zone_num; int16_t enemy_zone; int32_t distance; @@ -810,7 +810,7 @@ typedef struct AI_INFO { int16_t enemy_facing; } AI_INFO; -typedef struct BOX_INFO { +typedef struct { int32_t left; int32_t right; int32_t top; @@ -825,7 +825,7 @@ typedef struct { TEXTSTRING *content; } REQUESTER_ITEM; -typedef struct REQUEST_INFO { +typedef struct { uint16_t items_used; uint16_t max_items; uint16_t requested; @@ -845,7 +845,7 @@ typedef struct REQUEST_INFO { REQUESTER_ITEM *items; } REQUEST_INFO; -typedef struct IMOTION_INFO { +typedef struct { int16_t count; int16_t status; int16_t status_target; @@ -868,7 +868,7 @@ typedef struct IMOTION_INFO { int32_t misc; } IMOTION_INFO; -typedef struct INVENTORY_SPRITE { +typedef struct { int16_t shape; int16_t x; int16_t y; @@ -878,7 +878,7 @@ typedef struct INVENTORY_SPRITE { int16_t sprnum; } INVENTORY_SPRITE; -typedef struct INVENTORY_ITEM { +typedef struct { const char *string; GAME_OBJECT_ID object_id; int16_t frames_total; @@ -902,7 +902,7 @@ typedef struct INVENTORY_ITEM { INVENTORY_SPRITE **sprlist; } INVENTORY_ITEM; -typedef struct RING_INFO { +typedef struct { INVENTORY_ITEM **list; int16_t type; int16_t radius; @@ -928,7 +928,7 @@ typedef struct RING_INFO { IMOTION_INFO *imo; } RING_INFO; -typedef struct SAMPLE_INFO { +typedef struct { int16_t number; int16_t volume; int16_t randomness; @@ -983,7 +983,7 @@ typedef union INPUT_STATE { }; } INPUT_STATE; -typedef enum INPUT_ROLE { +typedef enum { INPUT_ROLE_UP = 0, INPUT_ROLE_DOWN = 1, INPUT_ROLE_LEFT = 2, @@ -1022,7 +1022,7 @@ typedef enum INPUT_ROLE { INPUT_ROLE_NUMBER_OF = 35, } INPUT_ROLE; -typedef enum INPUT_LAYOUT { +typedef enum { INPUT_LAYOUT_DEFAULT, INPUT_LAYOUT_CUSTOM_1, INPUT_LAYOUT_CUSTOM_2, @@ -1030,7 +1030,7 @@ typedef enum INPUT_LAYOUT { INPUT_LAYOUT_NUMBER_OF, } INPUT_LAYOUT; -typedef enum BUTTON_TYPE { +typedef enum { BT_BUTTON = 0, BT_AXIS = 1, } BUTTON_TYPE; @@ -1038,7 +1038,7 @@ typedef enum BUTTON_TYPE { typedef uint16_t INPUT_SCANCODE; typedef int16_t INPUT_BUTTON; -typedef struct LEVEL_INFO { +typedef struct { int32_t mesh_count; int32_t mesh_ptr_count; int32_t anim_count; @@ -1071,7 +1071,7 @@ typedef struct LEVEL_INFO { int32_t palette_size; } LEVEL_INFO; -typedef enum TRISTATE_BOOL { +typedef enum { TB_UNSPECIFIED = -1, TB_OFF = 0, TB_ON = 1, diff --git a/src/global/vars.c b/src/global/vars.c index 4ef0fbd82..9bc018871 100644 --- a/src/global/vars.c +++ b/src/global/vars.c @@ -20,7 +20,7 @@ int32_t g_FPSCounter = 0; -void (*g_EffectRoutines[])(ITEM_INFO *item) = { +void (*g_EffectRoutines[])(ITEM *item) = { FX_Turn180, FX_DinoStomp, FX_LaraNormal, FX_Bubbles, FX_FinishLevel, FX_Earthquake, FX_Flood, FX_RaisingBlock, FX_Stairs2Slope, @@ -48,7 +48,7 @@ MATRIX *g_MatrixPtr = NULL; MATRIX g_W2VMatrix = { 0 }; LARA_INFO g_Lara = { 0 }; -ITEM_INFO *g_LaraItem = NULL; +ITEM *g_LaraItem = NULL; CAMERA_INFO g_Camera = { 0 }; GAME_INFO g_GameInfo = { .override_gf_command = { .action = GF_CONTINUE_SEQUENCE }, 0 @@ -62,10 +62,10 @@ bool g_ChunkyFlag = false; int32_t g_OverlayFlag = 0; int32_t g_HeightType = 0; -ROOM_INFO *g_RoomInfo = NULL; +ROOM *g_RoomInfo = NULL; int16_t *g_MeshBase = NULL; int16_t **g_Meshes = NULL; -OBJECT_INFO g_Objects[O_NUMBER_OF] = { 0 }; +OBJECT g_Objects[O_NUMBER_OF] = { 0 }; STATIC_INFO g_StaticObjects[STATIC_NUMBER_OF] = { 0 }; RGBA_8888 *g_TexturePagePtrs[MAX_TEXTPAGES] = { NULL }; int16_t g_RoomCount = 0; @@ -86,8 +86,8 @@ FRAME_INFO *g_AnimFrames = NULL; int32_t *g_AnimFrameMeshRots = NULL; int16_t g_NumCineFrames = 0; int16_t g_CineFrame = -1; -struct CINE_CAMERA *g_CineCamera = NULL; -struct CINE_POSITION g_CinePosition = { 0 }; +CINE_CAMERA *g_CineCamera = NULL; +CINE_POSITION g_CinePosition = { 0 }; int32_t g_NumberCameras = 0; int32_t g_NumberSoundEffects = 0; OBJECT_VECTOR *g_SoundEffectsTable = NULL; diff --git a/src/global/vars.h b/src/global/vars.h index dfbe9e98c..2c07561ec 100644 --- a/src/global/vars.h +++ b/src/global/vars.h @@ -34,10 +34,10 @@ extern int32_t g_Sound_MasterVolume; extern int32_t g_FPSCounter; -extern void (*g_EffectRoutines[])(ITEM_INFO *item); +extern void (*g_EffectRoutines[])(ITEM *item); extern LARA_INFO g_Lara; -extern ITEM_INFO *g_LaraItem; +extern ITEM *g_LaraItem; extern CAMERA_INFO g_Camera; extern GAME_INFO g_GameInfo; extern int32_t g_SavedGamesCount; @@ -49,10 +49,10 @@ extern bool g_ChunkyFlag; extern int32_t g_OverlayFlag; extern int32_t g_HeightType; -extern ROOM_INFO *g_RoomInfo; +extern ROOM *g_RoomInfo; extern int16_t *g_MeshBase; extern int16_t **g_Meshes; -extern OBJECT_INFO g_Objects[O_NUMBER_OF]; +extern OBJECT g_Objects[O_NUMBER_OF]; extern STATIC_INFO g_StaticObjects[STATIC_NUMBER_OF]; extern RGBA_8888 *g_TexturePagePtrs[MAX_TEXTPAGES]; extern int16_t g_RoomCount; diff --git a/src/specific/s_fmv.c b/src/specific/s_fmv.c index 489e9a151..f33641a1d 100644 --- a/src/specific/s_fmv.c +++ b/src/specific/s_fmv.c @@ -103,12 +103,12 @@ FFMAX(VIDEO_PICTURE_QUEUE_SIZE, SUBPICTURE_QUEUE_SIZE)) #define FF_QUIT_EVENT (SDL_USEREVENT + 2) -typedef struct MyAVPacketList { +typedef struct { AVPacket *pkt; int serial; } MyAVPacketList; -typedef struct PacketQueue { +typedef struct { AVFifoBuffer *pkt_list; int nb_packets; int size; @@ -119,7 +119,7 @@ typedef struct PacketQueue { SDL_cond *cond; } PacketQueue; -typedef struct AudioParams { +typedef struct { int freq; int channels; int64_t channel_layout; @@ -128,7 +128,7 @@ typedef struct AudioParams { int bytes_per_sec; } AudioParams; -typedef struct Clock { +typedef struct { double pts; double pts_drift; double last_updated; @@ -138,7 +138,7 @@ typedef struct Clock { int *queue_serial; } Clock; -typedef struct Frame { +typedef struct { AVFrame *frame; AVSubtitle sub; int serial; @@ -153,7 +153,7 @@ typedef struct Frame { int flip_v; } Frame; -typedef struct FrameQueue { +typedef struct { Frame queue[FRAME_QUEUE_SIZE]; int rindex; int windex; @@ -172,7 +172,7 @@ enum { AV_SYNC_EXTERNAL_CLOCK, }; -typedef struct Decoder { +typedef struct { AVPacket *pkt; PacketQueue *queue; AVCodecContext *avctx; @@ -187,7 +187,7 @@ typedef struct Decoder { SDL_Thread *decoder_tid; } Decoder; -typedef struct VideoState { +typedef struct { SDL_Thread *read_tid; AVInputFormat *iformat; bool abort_request; @@ -230,8 +230,8 @@ typedef struct VideoState { int audio_buf_index; int audio_write_buf_size; int audio_volume; - struct AudioParams audio_src; - struct AudioParams audio_tgt; + AudioParams audio_src; + AudioParams audio_tgt; struct SwrContext *swr_ctx; int frame_drops_early; int frame_drops_late; @@ -274,32 +274,6 @@ static SDL_Window *m_Window; static SDL_RendererInfo m_RendererInfo = { 0 }; static SDL_AudioDeviceID m_AudioDevice; -static const struct TextureFormatEntry { - enum AVPixelFormat format; - int texture_fmt; -} sdl_texture_format_map[] = { - { AV_PIX_FMT_RGB8, SDL_PIXELFORMAT_RGB332 }, - { AV_PIX_FMT_RGB444, SDL_PIXELFORMAT_RGB444 }, - { AV_PIX_FMT_RGB555, SDL_PIXELFORMAT_RGB555 }, - { AV_PIX_FMT_BGR555, SDL_PIXELFORMAT_BGR555 }, - { AV_PIX_FMT_RGB565, SDL_PIXELFORMAT_RGB565 }, - { AV_PIX_FMT_BGR565, SDL_PIXELFORMAT_BGR565 }, - { AV_PIX_FMT_RGB24, SDL_PIXELFORMAT_RGB24 }, - { AV_PIX_FMT_BGR24, SDL_PIXELFORMAT_BGR24 }, - { AV_PIX_FMT_0RGB32, SDL_PIXELFORMAT_RGB888 }, - { AV_PIX_FMT_0BGR32, SDL_PIXELFORMAT_BGR888 }, - { AV_PIX_FMT_NE(RGB0, 0BGR), SDL_PIXELFORMAT_RGBX8888 }, - { AV_PIX_FMT_NE(BGR0, 0RGB), SDL_PIXELFORMAT_BGRX8888 }, - { AV_PIX_FMT_RGB32, SDL_PIXELFORMAT_ARGB8888 }, - { AV_PIX_FMT_RGB32_1, SDL_PIXELFORMAT_RGBA8888 }, - { AV_PIX_FMT_BGR32, SDL_PIXELFORMAT_ABGR8888 }, - { AV_PIX_FMT_BGR32_1, SDL_PIXELFORMAT_BGRA8888 }, - { AV_PIX_FMT_YUV420P, SDL_PIXELFORMAT_IYUV }, - { AV_PIX_FMT_YUYV422, SDL_PIXELFORMAT_YUY2 }, - { AV_PIX_FMT_UYVY422, SDL_PIXELFORMAT_UYVY }, - { AV_PIX_FMT_NONE, SDL_PIXELFORMAT_UNKNOWN }, -}; - static int M_GetAudioVolume(void) { const float volume_dbl = @@ -1667,7 +1641,7 @@ static void M_SDLAudioCallback(void *opaque, Uint8 *stream, int len) static int M_AudioOpen( void *opaque, int64_t wanted_channel_layout, int wanted_nb_channels, - int wanted_sample_rate, struct AudioParams *audio_hw_params) + int wanted_sample_rate, AudioParams *audio_hw_params) { SDL_AudioSpec wanted_spec, spec; const char *env; diff --git a/src/specific/s_input.c b/src/specific/s_input.c index 38f2b59b8..737ba1e3d 100644 --- a/src/specific/s_input.c +++ b/src/specific/s_input.c @@ -19,7 +19,7 @@ typedef union BIND_TYPE { SDL_GameControllerAxis axis; } BIND_TYPE; -typedef struct CONTROLLER_MAP { +typedef struct { BUTTON_TYPE type; BIND_TYPE bind; int16_t axis_dir; diff --git a/src/specific/s_shell.c b/src/specific/s_shell.c index 4fb2ad304..f7c6d3bdd 100644 --- a/src/specific/s_shell.c +++ b/src/specific/s_shell.c @@ -253,7 +253,7 @@ int main(int argc, char **argv) #ifdef _WIN32 // Enable HiDPI mode in Windows to detect DPI scaling - typedef enum PROCESS_DPI_AWARENESS { + typedef enum { PROCESS_DPI_UNAWARE = 0, PROCESS_SYSTEM_DPI_AWARE = 1, PROCESS_PER_MONITOR_DPI_AWARE = 2 diff --git a/subprojects/libtrx b/subprojects/libtrx index 948f57c4a..9e232ed92 160000 --- a/subprojects/libtrx +++ b/subprojects/libtrx @@ -1 +1 @@ -Subproject commit 948f57c4aa421d0b94613a40c6f47b0af1e8acc3 +Subproject commit 9e232ed9267f30c869b78943fe8d55bc15b03510 diff --git a/tools/ffmpeg_flags.txt b/tools/ffmpeg_flags.txt deleted file mode 120000 index b10b00a4f..000000000 --- a/tools/ffmpeg_flags.txt +++ /dev/null @@ -1 +0,0 @@ -../subprojects/libtrx/tools/ffmpeg_flags.txt \ No newline at end of file diff --git a/tools/ffmpeg_flags.txt b/tools/ffmpeg_flags.txt new file mode 100644 index 000000000..414563cda --- /dev/null +++ b/tools/ffmpeg_flags.txt @@ -0,0 +1,30 @@ +--enable-gpl +--enable-decoder=pcx +--enable-decoder=png +--enable-decoder=gif +--enable-decoder=mjpeg +--enable-decoder=mpeg4 +--enable-decoder=mdec +--enable-decoder=mp3 +--enable-decoder=h264 +--enable-decoder=h264_qsv +--enable-decoder=libopenh264 +--enable-demuxer=mov +--enable-demuxer=mp3 +--enable-demuxer=avi +--enable-demuxer=h264 +--enable-demuxer=str +--enable-demuxer=image2 +--enable-parser=mpegaudio +--enable-zlib +--enable-small +--disable-debug +--disable-ffplay +--disable-ffprobe +--disable-doc +--disable-network +--disable-htmlpages +--disable-manpages +--disable-podpages +--disable-txtpages +--disable-asm