Homogenate batch flags and render flags and begin the painful task of documenting waves. (#590)

* part one of wave pain

* 2

* littel bit more

* m

* h

* l

* aagghh

* yeah

* :)

* bruh

* b

* m

* faith

* z

* b

* rename batch flags

* Update waves.c

* fix conflicts
This commit is contained in:
Fazana
2025-05-27 22:20:50 +01:00
committed by GitHub
parent b92148ab0b
commit dd0fffb030
17 changed files with 1371 additions and 1397 deletions
+4 -10
View File
@@ -436,11 +436,6 @@ typedef struct LevelObjectEntry_TimeTrial_Ghost {
/* 0x00 */ LevelObjectEntryCommon common;
} LevelObjectEntry_TimeTrial_Ghost;
typedef struct LevelObjectEntry_WaveGenerator {
/* 0x00 */ LevelObjectEntryCommon common;
/* 0x08 */ u8 unk8[10];
} LevelObjectEntry_WaveGenerator;
typedef struct LevelObjectEntry_Butterfly {
/* 0x00 */ LevelObjectEntryCommon common;
/* 0x08 */ u16 unk8;
@@ -711,16 +706,16 @@ typedef struct LevelObjectEntry8003FC44 {
s8 unkA;
} LevelObjectEntry8003FC44;
typedef struct LevelObjectEntry800BF524 {
typedef struct LevelObjectEntry_WaveGenerator {
LevelObjectEntryCommon common;
u8 unk8;
u8 unk9;
u16 unkA;
u16 waveSize;
u16 unkC;
u16 unkE;
u8 unk10;
u8 unk11;
} LevelObjectEntry800BF524;
} LevelObjectEntry_WaveGenerator;
typedef struct LevelObjectEntry_WavePower {
LevelObjectEntryCommon common;
@@ -937,7 +932,6 @@ typedef struct LevelObjectEntry {
LevelObjectEntry_Trigger trigger;
LevelObjectEntry_AirZippers_WaterZippers airzipper_waterzipper;
LevelObjectEntry_TimeTrial_Ghost ghost;
LevelObjectEntry_WaveGenerator waverGenerator;
LevelObjectEntry_Butterfly butterfly;
LevelObjectEntry_Parkwarden taj;
LevelObjectEntry_WorldKey worldKey;
@@ -980,7 +974,7 @@ typedef struct LevelObjectEntry {
LevelObjectEntry8000E2B4 unk8000E2B4;
LevelObjectEntry80011AD0 unk80011AD0;
LevelObjectEntry8003FC44 unk8003FC44;
LevelObjectEntry800BF524 unk800BF524;
LevelObjectEntry_WaveGenerator waveGenerator;
LevelObjectEntry_WavePower wavePower;
LevelObjectEntry_CharacterSelect characterSelect;
LevelObjectEntry_Hud hud;
+18 -18
View File
@@ -461,31 +461,31 @@ typedef struct LevelHeader {
/* 0x52 */ u8 music;
/* 0x53 */ u8 unk53;
/* 0x54 */ u16 instruments;
/* 0x56 */ u8 unk56; // values between 2 and 8 (except 5 and 7), used to determine waves count?
/* 0x56 */ u8 waveSubdivisons; // values between 2 and 8 (except 5 and 7), used to determine waves count?
/* 0x57 */ u8 unk57; // possible values: 2,4,8,16,20, related to waves
/* 0x58 */ u8 unk58; // possible values: 1,2,4
/* 0x59 */ u8 unk59; // always 0?
/* 0x5A */ s16 unk5A; // values between 512 and 4608
/* 0x5C */ u8 unk5C; // possible values: 1,2,4
/* 0x5D */ u8 unk5D; // always 0?
/* 0x5E */ s16 unk5E; // values between 512 and 4963
/* 0x60 */ s16 unk60; // possible values: 120, 130, 157, 178, 187
/* 0x58 */ u8 waveSineStep0; // possible values: 1,2,4
/* 0x59 */ u8 waveSineBase0; // always 0?
/* 0x5A */ s16 waveSineHeight0; // values between 512 and 4608
/* 0x5C */ u8 waveSineStep1; // possible values: 1,2,4
/* 0x5D */ u8 waveSineBase1; // always 0?
/* 0x5E */ s16 waveSineHeight1; // values between 512 and 4963
/* 0x60 */ s16 waveSeedSize; // possible values: 120, 130, 157, 178, 187
/* 0x62 */ s16 wavePower; // always 256
/* 0x64 */ s16 unk64; // Always 153 except in Smokey Castle where it's 0 and the title screen where it's 256 (Some form of secondary power)
/* 0x66 */ s16 unk66; // values between 908 and 2560
/* 0x68 */ s16 textureId; // always 62 except in the trophy race where it's 205
/* 0x6A */ u8 unk6A; // values between 1 and 6
/* 0x6B */ u8 unk6B; // values between 1 and 6
/* 0x6C */ s8 unk6C; // values between 0 and 4
/* 0x6D */ s8 unk6D; // values between 0 and 2 except in Hot Top Volcano where it's -2
/* 0x6E */ s16 unk6E; // possible values: 3,5
/* 0x68 */ s16 waveTexID; // always 62 except in the trophy race where it's 205
/* 0x6A */ u8 waveUVScaleX; // values between 1 and 6
/* 0x6B */ u8 waveUVScaleY; // values between 1 and 6
/* 0x6C */ s8 waveUVScrollX; // values between 0 and 4
/* 0x6D */ s8 waveUVScrollY; // values between 0 and 2 except in Hot Top Volcano where it's -2
/* 0x6E */ s16 waveViewDist; // possible values: 3,5
//func_800B8134 Seems to use this struct, and it differs on unk70 only.
//waves_init_header Seems to use this struct, and it differs on unk70 only.
union {
/* 0x70 */ LevelHeader_70 *unk70[1]; // unknown size, however only size of 1 matches
struct {
/* 0x70 */ u8 darkVertexColours; // always 1 except in Hot Top Volcano where it's 0
/* 0x71 */ u8 unk71; // possible values: 0,1
/* 0x70 */ u8 wavesXlu; // always 1 except in Hot Top Volcano where it's 0
/* 0x71 */ u8 waveDoubleDensity; // possible values: 0,1
};
};
@@ -1598,7 +1598,7 @@ typedef struct Object_Log {
/* 0x06 */ u16 unk6;
/* 0x08 */ u16 unk8;
/* 0x0A */ u16 unkA;
/* 0x0C */ u16 unkC;
/* 0x0C */ u16 blockID;
/* 0x0E */ s8 unkE[2];
} Object_Log;