VehAfterColl

This commit is contained in:
Niko 2024-03-13 12:58:54 -04:00
parent 5b3efb1881
commit c9dee7caa3
5 changed files with 54 additions and 50 deletions

View File

@ -0,0 +1,11 @@
#include <common.h>
void* DECOMP_VehAfterColl_GetSurface(u_int scrubId)
{
struct Scrub* sc = &data.MetaDataScrub[0];
if (scrubId < 7)
return &sc[scrubId];
return sc;
}

View File

@ -0,0 +1,11 @@
#include <common.h>
struct Terrain* DECOMP_VehAfterColl_GetTerrain(u_char terrainType)
{
struct Terrain* ter = &data.MetaDataTerrain[0];
if (terrainType < 0x15)
return &ter[terrainType];
return ter;
}

View File

@ -1,21 +0,0 @@
#include <common.h>
// overbudget by 4 bytes each, how?
void* DECOMP_VehAfterColl_GetSurface(u_int scrubId)
{
if (6 < scrubId)
{
scrubId = 0;
}
return &data.MetaDataScrub[scrubId];
}
void* DECOMP_VehAfterColl_GetTerrain(u_char terrainType)
{
if (20 < terrainType)
{
terrainType = 0;
}
return &data.MetaDataTerrain[terrainType];
}

View File

@ -1,5 +1,5 @@
// 456+43+33+27+38+14+18+16+19+12+6+1+8+9+1+1+1+2+2+3+3+2+4+2+3+16+3+47-12 = 778 rewritten so far
// 456 for every 'common' and ','
// 458+43+33+27+38+14+18+16+19+12+6+1+8+9+1+1+1+2+2+3+3+2+4+2+3+16+3+47-12 = 780 rewritten so far
// 458 for every 'common' and ','
// additions for every file that has multiple functions,
// 43 for HOWL block
// 33 for LOAD block
@ -20,11 +20,11 @@
// +2 for 223
// +2 for 224
// +3 for CS_Garage
// +3 for VehPtr_Blasted
// +2 for VehPtr_EngineRevving
// +3 for VehStuckProc_Tumble
// +2 for VehStuckProc_RevEngine
// +4 for VehPhysProc_Driving
// +2 for VehStuckProc_PlantEaten
// +3 for VehPtr_MaskGrab
// +3 for VehStuckProc_MaskGrab
// +16 for RB_Block1
// +3 for RB_CtrLetter
// +47 for RB_Block2
@ -604,7 +604,8 @@ common, exe, UI_DrawPosSuffix, 0x0, General/UI/UI_AAA_BigBlock1.c
common, exe, UI_RaceStart_IntroText1P, 0x0, General/UI/UI_RaceStart_IntroText1P.c
common, exe, UI_RaceEnd_GetDriverClock, 0x0, General/UI/UI_RaceEnd_GetDriverClock.c
// need VehAfterColl
common, exe, VehAfterColl_GetSurface, 0x0, General/Vehicle/VehAfterColl_GetSurface.c
common, exe, VehAfterColl_GetTerrain, 0x0, General/Vehicle/VehAfterColl_GetTerrain.c
//ommon, exe, VehBirth_TeleportSelf, 0x0, General/Vehicle/VehBirth_TeleportSelf.c
common, exe, VehBirth_TeleportAll, 0x0, General/Vehicle/VehBirth_TeleportAll.c

View File

@ -7,6 +7,30 @@ struct MatrixND
int t[3];
};
struct Scrub
{
// see FUN_80020c58
// 0x0
char* name;
// 0x4
// & 1
// & 2
// & 4 - dont count time rubbing on wall
// & 8 - dont reset reserves
u_int flags;
// 0x8
int unk_0x8;
// 0xC
// given to trig table
int unk_angle;
// last valid index is 6, so 7 elements
};
struct Terrain
{
// 0
@ -2435,29 +2459,7 @@ struct Data
} bakedGteMath[0x14];
// 0x80087f94
struct
{
// see FUN_80020c58
// 0x0
char* name;
// 0x4
// & 1
// & 2
// & 4 - dont count time rubbing on wall
// & 8 - dont reset reserves
u_int flags;
// 0x8
int unk_0x8;
// 0xC
// given to trig table
int unk_angle;
// last valid index is 6, so 7 elements
} MetaDataScrub[7];
struct Scrub MetaDataScrub[7];
// 0x80088004
// MetaDataTerrain offset 0x18