diff --git a/include/uv_dobj.h b/include/uv_dobj.h index 87bcc5e1..0a9dfad7 100644 --- a/include/uv_dobj.h +++ b/include/uv_dobj.h @@ -6,9 +6,201 @@ #include #include -#define WORLD_MODEL_ID 0xFFFF // used to indicate a model that's not bound to a level? +enum Models { + MODEL_HOLIDAY_ISLAND_FULL_MAP = 0x000, // Holiday Island Full Map (0xe5138) + MODEL_WHITE_SAIL_BOAT = 0x001, // White Sail Boat with Red logo + MODEL_BLUE_CUBOID = 0x002, // Blue Cuboid + MODEL_YELLOW_SPEED_BOAT = 0x003, // Yellow Speed Boat + MODEL_BUILDINGS_NEAR_CARNIVAL = 0x004, // Brown+Green Building near carnival + MODEL_BUILDINGS_NEAR_BEACH = 0x005, // Tiki Hut / Hay roof building near beach + MODEL_CIRCUS_TENTS = 0x006, // Yellow/Blue Circus Tent + MODEL_BUILDING_WITH_FERRIS_WHEEL = 0x007, // Long building near ferris wheel + MODEL_SMALL_BUILDING_SIDE = 0x008, // Small side of building + MODEL_MERRY_GO_ROUND = 0x009, // Merry-go-round + MODEL_CASTLE = 0x00A, // Castle on peak of map + MODEL_ENTRY_FLAG_BUILDING = 0x00B, // Three Entry flag building + MODEL_FERRIS_WHEEL = 0x00C, // Ferris wheel + MODEL_WATER_WHEEL = 0x00D, // Water wheel + MODEL_BRIDGE_BRICK = 0x00E, // Bridge brick + MODEL_BRIDGE_BRICK_LONG_WHITE = 0x00F, // Bridge brick, long white + MODEL_OLD_BUILDING_IN_TOWN = 0x010, // Old building in small town + MODEL_BUILDING_11 = 0x011, // Another building + MODEL_BUILDING_12 = 0x012, // And another building + MODEL_BUILDING_NEAR_AIRPORT = 0x013, // Big white building near airport + MODEL_HOUSE_WITH_SMOKE_STACK = 0x014, // Small house with smoke stack + MODEL_LIGHTHOUSE = 0x015, // Lighthouse building + MODEL_CASTLE_YARD = 0x016, // Castle "yard" + MODEL_AIRPORT_ATC = 0x017, // Aiport ATC building + MODEL_PALM_TREE = 0x018, // Palm tree + MODEL_FIVE_PALM_TREES = 0x019, // 5 palm trees + MODEL_RED_SAILBOAT = 0x01A, // Red sailboat + MODEL_YELLOW_WHITE_PLANE = 0x01B, // Yellow white plane + MODEL_BEACH_UMBRELLAS_AND_TOWELS = 0x01C, // Beach umbrealls and towels + MODEL_BARN = 0x01D, // Barn-looking building + MODEL_SMALL_WHITE_SHACK = 0x01E, // Small white building/shack + MODEL_YELLOW_N64_FLAG = 0x01F, // Yellow N64 flag + MODEL_TIKI_HUT = 0x020, // Tiki hut + MODEL_STREET_LAMP_POST = 0x021, // Street lamp post + MODEL_TREE = 0x022, // Tree + MODEL_SMALLER_TREE = 0x023, // Smaller tree + MODEL_TALL_TREE = 0x024, // Tall tree + MODEL_ENTRANCE_ARCH_BUILDING = 0x025, // Entrance arch building with N64 logo flags + MODEL_DOUBLE_WATER_FOUNTAIN = 0x026, // Double water fountain + MODEL_BIG_WHITE_RED_PLANE = 0x027, // Big white/red plane + MODEL_LOW_POLY_INTRO_CRESCENT_ISLAND = 0x028, // Low poly intro crescent island (0xff040) -> also "full poly" when in game? LOD? + MODEL_YACHT_BOATS = 0x029, // Red/White/Blue yacht/boat + MODEL_WHITE_YELLOW_SAILBOAT = 0x02A, // White/Yellow sailboat + MODEL_ROCK_ARCH = 0x02B, // Rock arch + MODEL_ROCK_POST = 0x02C, // Another rock post + MODEL_TALL_ROCK = 0x02D, // Tall rock + MODEL_SMALL_ROCK = 0x02E, // Small rock + MODEL_BIG_ROCK = 0x02F, // Big rock + MODEL_SMALL_ROCK2 = 0x030, // Small rock + + MODEL_40 = 0x040, + MODEL_PLANTER_BOX = 0x041, // Planter box thing? + + MODEL_AIRCRAFT_HANGAR = 0x048, // Aircraft hangar + + MODEL_LITTLE_STATES_FULL_MAP = 0x051, // Little States Full map (0x1114fc) + MODEL_BIG_CRUISE_SHIP = 0x052, // Big Cruise Ship + MODEL_WIND_TURBINE = 0x053, // Wind Turbine + + MODEL_SPACE_SHUTTLE = 0x056, // Space Shuttle + MODEL_BIG_RED_SQUARE = 0x057, // Big red square? + MODEL_NESSIES_HEAD = 0x058, // Nessie's head + + MODEL_VERY_TALL_BUILDING = 0x064, // Very tall building + MODEL_BUILDING_WITH_7_FLAGS_IN_FRONT = 0x065, // Building with 7 flags in front + MODEL_STATUE_OF_LIBERTY = 0x066, // Statue of Liberty (0x12c238) + + MODEL_LARGE_AIRPLAN_HANGER = 0x077, // Large Airplan Hanger (0x1004) + + MODEL_RED_BARN_AND_SILO = 0x07F, // Red barn and silo + + MODEL_ANOTHER_BUILDING_NEAR_WHITEHOUSE = 0x081, // another building near whitehouse + MODEL_WASHINGTON_MONUMENT = 0x082, // Washington Monument + MODEL_SPACE_SHUTTLE_LAUNCH_DOCK = 0x083, // Space Shuttle launch dock + MODEL_GAS_STATION = 0x084, // Gas Station (?) + MODEL_US_WHITE_HOUSE = 0x085, // US White House (0x13ab4c) + MODEL_ANOTHER_IRREGULARLY_SHAPED_DC_BUILDING = 0x086, // Another irregularly shaped DC building + + MODEL_EVER_FROST_ISLAND_FULL_MAP = 0x0A5, // Ever-Frost Island Full map (0x149084) + + MODEL_BUILDING_WITH_PIPES = 0x0BF, // Building with pipes (0x16182c) + + MODEL_HG_WIND_SOCK = 0x0C7, // HG "Wind Sock" + MODEL_YELLOW_3D_ARROW_POINTING = 0x0C8, // Yellow 3d Arrow pointing + MODEL_RED_3D_ARROW_POINTING_DOWN = 0x0C9, // Red 3D Arrow pointing down. + MODEL_YELLOW_CUBE = 0x0CA, // Yellow Cube + MODEL_RED_CUBE = 0x0CB, // Red Cube + MODEL_BLUE_CUBE = 0x0CC, // Blue Cube + MODEL_PILOTWINGS_3D_LOGO = 0x0CD, // "Pilotwings" 3D Logo (0x166184) + MODEL_GREEN_3D_ARROW_THING = 0x0CE, // Green 3D Arrow thing + MODEL_CANON_ON_A_TALL_RED_PEDESTAL = 0x0CF, // Canon on a tall red pedestal + + MODEL_GREEN_BALL_OR_JUMBLE_HOPPER_GOAL = 0x0D1, // Green Ball or Jumble Hopper goal + + MODEL_MECCA_HAWK = 0x0D3, // Mecca Hawk + MODEL_LANDING_PAD_EMPTY_NO_TARGET = 0x0D4, // Yellow-stripe-bordered landing pad (empty, no target) + MODEL_D5 = 0x0D5, + MODEL_D6 = 0x0D6, + MODEL_D7 = 0x0D7, + MODEL_D8 = 0x0D8, + MODEL_FIRST_RING_YELLOW = 0x0D9, // First ring (Yellow) + + MODEL_YELLOW_RING = 0x0E1, // Yellow Ring + MODEL_RED_RING = 0x0E2, // Red Ring + + MODEL_BONUS_STAR = 0x0F2, // Bonus star + + MODEL_ORANGE_BALL = 0x0F4, // Orange ball + + MODEL_F7 = 0x0F7, + MODEL_F8 = 0x0F8, + MODEL_F9 = 0x0F9, + + MODEL_GIANT_TRANSPARENT_MECCA_HAWK = 0x0FD, // Giant transparent Mecca Hawk + MODEL_GIANT_RED_THING = 0x0FE, // Giant red... thing? + MODEL_BIG_ROCK_BOULDER = 0x0FF, // Big Rock/Boulder + MODEL_GIANT_ICEBERG = 0x100, // Giant Iceberg? + MODEL_HG_THERMAL_CYLINDER = 0x101, // HG thermal cylinder + MODEL_RP_HG_LANDING_PAD = 0x102, // RP/HG landing pad + MODEL_LANDING_PAD_WITH_RED_TARGET = 0x103, // Landing Pad with Red Target + + MODEL_105 = 0x105, + + MODEL_LOW_RES_GOOSE_HG = 0x10B, // Low Res Goose HG Model + + MODEL_BREAKS_NO_CLIP = 0x112, // ???? Breaks NoClip + + MODEL_LARK_RP = 0x11E, // Lark RP Model + MODEL_ROUND_SHADOW = 0x11F, // Round Shadow? + MODEL_SHADOW_COLUMN_RP = 0x120, // Shadow (Column? RP?) + MODEL_MULTI_COLORED_CUBE = 0x121, // Multi-colored cube + + MODEL_LARK_GYRO = 0x127, // Lark Gyro Model + + MODEL_GOOSE_GYRO = 0x12B, // Goose Gyro Model + MODEL_HAWK_GYRO = 0x12D, // Hawk Gyro Model + + MODEL_KIWI_GYRO = 0x12F, // Kiwi Gyro odel + + MODEL_IBIS_GYRO = 0x131, // Ibis Gyro Model + + MODEL_ROBYN_GYRO = 0x133, // Robyn Gyro Model + + MODEL_135 = 0x135, + MODEL_136 = 0x136, + MODEL_137 = 0x137, + MODEL_138 = 0x138, + MODEL_139 = 0x139, + MODEL_13A = 0x13A, + + MODEL_BIRDMAN_ROBIN = 0x142, // Birdman Robin model + MODEL_SKYDIVING_LARK = 0x143, // Skydiving Lark Model + MODEL_PARACHUTE_LARK = 0x144, // Parachute Lark model + MODEL_SKYDIVING_PINK_GIRL = 0x145, // Skydiving pink girl model + MODEL_SKYDIVING_ISIS = 0x146, // Skydiving Isis model + MODEL_SKYDIVING_ROBIN = 0x147, // Skydiving Robin model + MODEL_SKYDIVING_SHADOW_OF_PLAYER = 0x148, // Skydiving "shadow" of player + MODEL_SKYDIVING_GOOSE = 0x149, // Skydiving Goose model + MODEL_PARACHUTE_GOOSE = 0x14A, // Parachute Goose model + MODEL_SKYDIVING_HAWK_ = 0x14B, // Skydiving Hawk model + MODEL_PARACHUTE_HAWK = 0x14C, // Parachute Hawk Model + MODEL_PARACHUTE_PINK_GIRL = 0x14D, // Parachute pink girl model + MODEL_PARACHUTE_ISIS = 0x14E, // Parachute Isis model + MODEL_PARACUTE_ROBIN = 0x14F, // Paracute Robin model + MODEL_JUMBLE_HOPPER_LARK = 0x150, // Jumble Hopper Lark + MODEL_ROUND_SHADOW2 = 0x151, // Round shadow + + MODEL_JUMBLE_HOPPER_KIWI = 0x154, // Jumble Hopper Kiwi + MODEL_JUMBLE_HOPPER_IBIS = 0x155, // Jumble Hopper Ibis + MODEL_JUMBLE_HOPPER_ROBYN = 0x156, // Jumble Hopper Robyn + MODEL_PILOTWINGS_SWOOSH_FEATHER_THING = 0x157, // Pilotwings Swoosh/feather thing + MODEL_3D_6_IN_INTRO_PW64_LOGO = 0x158, // 3D "6" in intro PW64 logo + MODEL_3D_4_IN_INTRO_PW64_LOGO = 0x159, // 3D "4" in intro PW64 logo + MODEL_LARK_BODY_CHARACTER_SELECT = 0x15A, // Lark body model (character select) + MODEL_GOOSE_BODY = 0x15B, // Goose body model + MODEL_HAWK_BODY = 0x15C, // Hawk body model + MODEL_KIWI_BODY = 0x15D, // Kiwi body model + MODEL_IBIS_BODY = 0x15E, // Ibis body model + MODEL_ROBIN_BODY = 0x15F, // Robin body model + MODEL_SKY_CLOUD_DOME_SKYBOX_FOR_INTRO_LEVEL_SELECT = 0x160, // Low-poly Sky+Cloud Dome "skybox" for Intro / Level Select + MODEL_SUNNY_SKYBOX = 0x161, // "Sunny" Skybox + MODEL_CLOUDY_SKYBOX_SUNNY_PART_2 = 0x162, // "Cloudy" Skybox (Sunny Part 2?) + MODEL_DARK_CLOUDS_SKYBOX = 0x163, // "Dark clouds" Skybox + MODEL_EVENING_SKYBOX = 0x164, // "Evening" Skybox + MODEL_STARRY_NIGHT_SKYBOX = 0x165, // "Starry Night" Skybox + MODEL_OCEAN_CUT_OUT_WITH_OUTLINE_OF_CRESCENT_ISLAND = 0x166, // Ocean "cut-out" with outline of Crescent Island(?) + MODEL_DARK_GLOOMY_CLOUDS_SKYBOX = 0x167, // "Dark gloomy clouds" skybox + MODEL_OCEAN_CUT_OUT_WITH_OUTLINE_OF_LITTLE_STATES = 0x168, // Ocean "cut-out" with outline of Little States + MODEL_OCEAN_CUT_OUT_WITH_OUTLINE_OF_EVER_FROST_ISLAND = 0x169, // Ocean "cut-out" with outline of Ever-Frost Island + MODEL_CIRCULAR_SKY_OCEAN_SKYBOX_WITH_CLOUDS_EMPTY_OCEAN_IN_INTRO = 0x16A, // Giant circular sky+ocean skybox with high-resh skybox/clouds AND empty ocean (used in Intro) + + MODEL_WORLD = 0xFFFF // used to indicate a model that's not bound to a level? +}; -// size: 0x40 typedef struct { u16 unk0; u16 unk2[1]; // unknown size, might take up everything till unk34 @@ -16,7 +208,7 @@ typedef struct { u8 unk34; f32 unk38; s32 unk3C; -} Unk80263780; +} Unk80263780; // size = 0x40 typedef struct Unk80371120 { Unk8022B0A0 unk0[1]; @@ -24,7 +216,7 @@ typedef struct Unk80371120 { u8 unk190[1]; u8 pad191[0x1B]; s32 unk1AC; -} Unk80371120; // size: 0x1B0 +} Unk80371120; // size = 0x1B0 extern Unk80263780 D_80263780[100]; extern Mtx4F D_80265080[300]; diff --git a/include/uv_graphics.h b/include/uv_graphics.h index 89f664c3..66257fbe 100644 --- a/include/uv_graphics.h +++ b/include/uv_graphics.h @@ -290,7 +290,7 @@ typedef struct ParsedUVAN_Unk0 { struct ParsedUVAN_Unk0* unk0; u16 unk4; u8 pad6[0x2]; - s32 unk8; + u32 unk8; Unk8037DCA0_UnkC* unkC; } ParsedUVAN_Unk0; diff --git a/src/app/cannonball.c b/src/app/cannonball.c index 5b0f32b9..e11f3340 100644 --- a/src/app/cannonball.c +++ b/src/app/cannonball.c @@ -43,7 +43,7 @@ extern u8 D_80359A84; extern s32 D_80359A88[]; // forward declarations -s32 cannonEndShot(Unk802D5C5C_Arg0*); +s32 cannonEndShot(Unk802D5B50_Arg2*); void cannon_802D5A90(void) { D_80359A30.unk0 = 8; @@ -71,12 +71,12 @@ void cannonLoadLevel(u8 arg0, u8 pilot, Unk802D5B50_Arg2* arg2, Unk802D3658_Arg0 cannonLoadPilot(pilot, arg2); arg2->unk0 = uvDobjAllocIdx(); arg2->unk2 = 2; - uvDobjModel(arg2->unk0, arg2->unk220); + uvDobjModel(arg2->unk0, arg2->modelId); uvDobjPosm(arg2->unk0, 0, &arg2->unk14); uvDobjState(arg2->unk0, arg2->unk2); arg2->unk54 = uvDobjAllocIdx(); arg2->unk56 = 2; - uvDobjModel(arg2->unk54, 0x105); + uvDobjModel(arg2->unk54, MODEL_105); uvDobjPosm(arg2->unk54, 0, &arg2->unk58); uvDobjState(arg2->unk54, arg2->unk56); arg2->unkB0 = arg3; @@ -90,7 +90,7 @@ void cannonLoadLevel(u8 arg0, u8 pilot, Unk802D5B50_Arg2* arg2, Unk802D3658_Arg0 } // cannon_802D5C5C is invoked when loading and exiting cannonball level -void cannon_802D5C5C(Unk802D5C5C_Arg0* arg0) { +void cannon_802D5C5C(Unk802D5B50_Arg2* arg0) { f32 sp54; f32 sp50; f32 sp4C; @@ -139,7 +139,7 @@ void cannon_802D5C5C(Unk802D5C5C_Arg0* arg0) { arg0->unkB0->unk4C = 1; arg0->unkB0->unk50 = 0.0f; arg0->unkB0->unk228 = 0.0f; - uvModelGetProps(arg0->unk220, 1, &arg0->unkB0->unk8, 0); + uvModelGetProps(arg0->modelId, 1, &arg0->unkB0->unk8, 0); func_802D45C4(arg0->unkB0, arg0->unkB8); D_8034E9F0 = 4.712389f; // DEG_TO_RAD(270) D_8034E9F4 = 0; @@ -148,8 +148,8 @@ void cannon_802D5C5C(Unk802D5C5C_Arg0* arg0) { // cannonEndTarget is invoked at the end of a cannonball target void cannonEndTarget(Unk802D5B50_Arg2* arg0) { - uvDobjModel(arg0->unk0, WORLD_MODEL_ID); - uvDobjModel(arg0->unk54, WORLD_MODEL_ID); + uvDobjModel(arg0->unk0, MODEL_WORLD); + uvDobjModel(arg0->unk54, MODEL_WORLD); arg0->unk10 = 0xFFFF; arg0->unk0 = 0xFFFF; arg0->unk54 = 0xFFFF; @@ -157,7 +157,7 @@ void cannonEndTarget(Unk802D5B50_Arg2* arg0) { } // cannonMovementFrame called every frame while aiming cannon and while in flight -void cannonMovementFrame(Unk802D5C5C_Arg0* arg0, u8 arg1) { +void cannonMovementFrame(Unk802D5B50_Arg2* arg0, u8 arg1) { f32 stickX; f32 stickY; s32 spE4; @@ -360,7 +360,7 @@ void cannonMovementFrame(Unk802D5C5C_Arg0* arg0, u8 arg1) { #endif // cannonAimingFrame called every frame while inside cannon // controls the rate of rotation and Z-button presses -void cannonAimingFrame(Unk802D5C5C_Arg0* arg0) { +void cannonAimingFrame(Unk802D5B50_Arg2* arg0) { Mtx4F sp38; f32 sp34; @@ -459,7 +459,7 @@ void cannonAimingFrame(Unk802D5C5C_Arg0* arg0) { #endif // cannonShoot called when firing the cannon -void cannonShoot(Unk802D5C5C_Arg0* arg0) { +void cannonShoot(Unk802D5B50_Arg2* arg0) { Mtx4F sp50; uvMat4Copy(&sp50, &arg0->unk58); @@ -485,7 +485,7 @@ void cannonShoot(Unk802D5C5C_Arg0* arg0) { #pragma GLOBAL_ASM("asm/nonmatchings/app/cannonball/cannonPilotLand.s") #else // Matches but has bss/data issues -void cannonPilotLand(Unk802D5C5C_Arg0* arg0) { +void cannonPilotLand(Unk802D5B50_Arg2* arg0) { static Vec4F D_80359AB0; static Vec4F D_80359AC0; static f32 D_8034E9FC = 0.0f; @@ -570,7 +570,7 @@ void cannonLoadPilot(u8 pilot, Unk802D5B50_Arg2* arg1) { arg1->unk278 = 0.96f; arg1->unk280 = 0.8f; arg1->unk27C = 5.88f; - arg1->unk220 = 0x135; + arg1->modelId = MODEL_135; arg1->unk292 = 1; arg1->unk285 = 0xA; arg1->unk286 = 0xB; @@ -610,7 +610,7 @@ void cannonLoadPilot(u8 pilot, Unk802D5B50_Arg2* arg1) { arg1->unk278 = 0.8f; arg1->unk280 = 1.0f; arg1->unk27C = 9.8f; - arg1->unk220 = 0x136; + arg1->modelId = MODEL_136; arg1->unk292 = 6; arg1->unk285 = 2; arg1->unk286 = 3; @@ -650,7 +650,7 @@ void cannonLoadPilot(u8 pilot, Unk802D5B50_Arg2* arg1) { arg1->unk278 = 0.64f; arg1->unk280 = 1.2f; arg1->unk27C = 13.72f; - arg1->unk220 = 0x137; + arg1->modelId = MODEL_137; arg1->unk292 = 6; arg1->unk285 = 1; arg1->unk286 = 2; @@ -690,7 +690,7 @@ void cannonLoadPilot(u8 pilot, Unk802D5B50_Arg2* arg1) { arg1->unk278 = 0.96f; arg1->unk280 = 0.8f; arg1->unk27C = 5.88f; - arg1->unk220 = 0x138; + arg1->modelId = MODEL_138; arg1->unk292 = 8; arg1->unk285 = 1; arg1->unk286 = 2; @@ -730,7 +730,7 @@ void cannonLoadPilot(u8 pilot, Unk802D5B50_Arg2* arg1) { arg1->unk278 = 0.8f; arg1->unk280 = 1.0f; arg1->unk27C = 9.8f; - arg1->unk220 = 0x139; + arg1->modelId = MODEL_139; arg1->unk292 = 6; arg1->unk285 = 2; arg1->unk286 = 3; @@ -770,7 +770,7 @@ void cannonLoadPilot(u8 pilot, Unk802D5B50_Arg2* arg1) { arg1->unk278 = 0.64f; arg1->unk280 = 1.2f; arg1->unk27C = 13.72f; - arg1->unk220 = 0x13A; + arg1->modelId = MODEL_13A; arg1->unk292 = 6; arg1->unk285 = 2; arg1->unk286 = 3; @@ -808,7 +808,7 @@ extern s32 D_80359A98[]; extern s32 D_80359AA8; extern s32 D_80359AAC; extern void func_802E0CF0(void); -s32 cannonLoad802D77D8(Unk80362690* arg0, Unk802D3658_Arg0* arg1) { +s32 cannonLoad802D77D8(Unk80362690* arg0, Unk802D5B50_Arg2* arg1) { s32 i; Mtx4F sp3C; Unk80362690_Unk0_UnkC* temp_s1_2; @@ -842,7 +842,7 @@ s32 cannonLoad802D77D8(Unk80362690* arg0, Unk802D3658_Arg0* arg1) { } temp_s1_2->unk6C = (s32)arg1; cannonLoadLevel(arg0->unk9C, temp_s1_2->pad0, arg1, (Unk802D3658_Arg0*)temp_s1_2->unk70); - cannon_802D5C5C((Unk802D5C5C_Arg0*)arg1); + cannon_802D5C5C(arg1); arg1->unkC = 0; arg1->unkE = 0; D_80359A88[0] = 0; @@ -852,7 +852,7 @@ s32 cannonLoad802D77D8(Unk80362690* arg0, Unk802D3658_Arg0* arg1) { uvMat4Copy(&sp3C, (Mtx4F*)&arg1->unk14); uvMat4RotateAxis(&sp3C, 1.5707961f, 'x'); func_802EDD9C(temp_s1_2, &sp3C); - func_802D4DE8((Unk802D3658_Arg0*)temp_s1_2->unk70, 0U); + func_802D4DE8(temp_s1_2->unk70, 0U); func_8032B508(temp_s1_2->unk74); func_80313E0C(0.0f); func_802E66F4(1.0f); @@ -871,7 +871,7 @@ s32 cannonLoad802D77D8(Unk80362690* arg0, Unk802D3658_Arg0* arg1) { #pragma GLOBAL_ASM("asm/nonmatchings/app/cannonball/cannonFrame802D7B7C.s") // cannonLandedFrame called every frame after landing from cannon shot -s32 cannonLandedFrame(Unk802D5C5C_Arg0* arg0) { +s32 cannonLandedFrame(Unk802D5B50_Arg2* arg0) { s32* temp_v1; Unk80362690_Unk0_UnkC* temp_s0; u8 sp27; @@ -951,7 +951,7 @@ s32 cannonLandedFrame(Unk802D5C5C_Arg0* arg0) { // cannonEndAllTgts called once after all four cannon targets are complete #pragma GLOBAL_ASM("asm/nonmatchings/app/cannonball/cannonEndAllTgts.s") -void cannon_802D8A40(u8 arg0, Unk802D5C5C_Arg0* arg1) { +void cannon_802D8A40(u8 arg0, Unk802D5B50_Arg2* arg1) { Unk80362690_Unk0_UnkC* unkC; unkC = &D_80362690->unk0[D_80362690->unk9C].unkC; if (unkC->veh == 3) { diff --git a/src/app/cannonball.h b/src/app/cannonball.h index 9cd38b3d..454eb1d2 100644 --- a/src/app/cannonball.h +++ b/src/app/cannonball.h @@ -11,20 +11,56 @@ typedef struct { u8 unk2; u8 pad3; u16 unk4; - u8 pad6[0xA]; + u16 pad6; + f32 unk8; + u16 unkC; + u16 unkE; u16 unk10; - u8 pad12[2]; + u16 pad12; Mtx4F unk14; u16 unk54; u8 unk56; u8 pad57; Mtx4F unk58; - u8 pad98[0xA4-0x98]; + f32 unk98; + union { + f32 zxAxis[2]; + struct { + f32 zAxis; // rotation intended here + f32 xAxis; + }; + }; f32 unkA4; u8 padA8[8]; Unk802D3658_Arg0* unkB0; - u8 padB4[0x16C]; - u16 unk220; + u8 unkB4; + u8 padB5[3]; + f32 unkB8; + f32 unkBC; + f32 unkC0; + u8 unkC4; + u8 padC5[3]; + f32 unkC8; + f32 unkCC; + f32 unkD0; + u8 unkD4; + u8 unkD5; + u8 padD6[0x11C - 0xD6]; + u8 unk11C; + s8 unk11D; + f32 unk120; + u8 pad124[0x12C - 0x124]; + f32 unk12C; + f32 unk130; + f32 unk134; + u8 pad138[0x1B8 - 0x138]; + Vec3F unk1B8; + f32 unk1C4; + f32 unk1C8; + f32 unk1CC; + f32 unk1D0; + u8 pad1D4[0x220 - 0x1D4]; + u16 modelId; u8 pad222[2]; f32 unk224; f32 unk228; @@ -65,7 +101,9 @@ typedef struct { u8 unk291; u8 unk292; u8 unk293; - u8 pad294[0x2BC - 0x294]; + u8 pad294[0x2B4 - 0x294]; + u8 unk2B4; + u8 pad2B5[0x2BC-0x2B5]; } Unk802D5B50_Arg2; extern u16 D_80359AAA; @@ -73,14 +111,14 @@ extern u16 D_80359AAE; void cannon_802D5A90(void); void cannonLoadLevel(u8, u8 pilot, Unk802D5B50_Arg2*, Unk802D3658_Arg0*); -void cannon_802D5C5C(Unk802D5C5C_Arg0*); +void cannon_802D5C5C(Unk802D5B50_Arg2*); void cannonEndTarget(Unk802D5B50_Arg2*); -void cannonMovementFrame(Unk802D5C5C_Arg0*, u8); -void cannonAimingFrame(Unk802D5C5C_Arg0*); -void cannonShoot(Unk802D5C5C_Arg0*); -void cannonPilotLand(Unk802D5C5C_Arg0*); +void cannonMovementFrame(Unk802D5B50_Arg2*, u8); +void cannonAimingFrame(Unk802D5B50_Arg2*); +void cannonShoot(Unk802D5B50_Arg2*); +void cannonPilotLand(Unk802D5B50_Arg2*); void cannonLoadPilot(u8 pilot, Unk802D5B50_Arg2*); -void cannon_802D8A40(u8 arg0, Unk802D5C5C_Arg0* arg1); +void cannon_802D8A40(u8 arg0, Unk802D5B50_Arg2* arg1); s32 cannonLoad802D77D8(Unk80362690* arg0, Unk802D3658_Arg0* arg1); s32 cannonFrame802D7B7C(Unk80362690* arg0); diff --git a/src/app/code_5A6A0.h b/src/app/code_5A6A0.h index 8ca0d5cf..fd622fee 100644 --- a/src/app/code_5A6A0.h +++ b/src/app/code_5A6A0.h @@ -29,73 +29,6 @@ typedef struct { s32 pad50; } Unk803599D0; -typedef struct { - u16 unk0; - u8 unk2; - u8 pad3; - u16 unk4; - u16 pad6; - f32 unk8; - u16 unkC; - u16 unkE; - u16 unk10; - u16 pad12; - Mtx4F unk14; - u16 unk54; - u8 unk56; - u8 pad57; - Mtx4F unk58; - f32 unk98; - union { - f32 zxAxis[2]; - struct { - f32 zAxis; // rotation intended here - f32 xAxis; - }; - }; - f32 unkA4; - u8 padA8[0xB0 - 0xA8]; - Unk802D3658_Arg0* unkB0; - u8 unkB4; - u8 padB5[3]; - f32 unkB8; - f32 unkBC; - f32 unkC0; - u8 unkC4; - u8 padC5[3]; - f32 unkC8; - f32 unkCC; - f32 unkD0; - u8 unkD4; - u8 unkD5; - u8 padD6[0x11C - 0xD6]; - u8 unk11C; - s8 unk11D; - f32 unk120; - u8 pad124[0x12C - 0x124]; - f32 unk12C; - f32 unk130; - f32 unk134; - u8 pad138[0x1B8 - 0x138]; - Vec3F unk1B8; - f32 unk1C4; - f32 unk1C8; - f32 unk1CC; - f32 unk1D0; - u8 pad1D4[0x220 - 0x1D4]; - u16 unk220; - u8 pad222[0x4A]; - f32 unk26C; - f32 unk270; - f32 unk274; - u8 pad278[0x280 - 0x278]; - f32 unk280; - u8 pad284[0x293 - 0x284]; - u8 unk293; - u8 pad294[0x2B4 - 0x294]; - u8 unk2B4; -} Unk802D5C5C_Arg0; - void func_802D45C4(Unk802D3658_Arg0*, f32); s32 func_802D472C(Unk802D3658_Arg0*, Mtx4F*); s32 func_802D4A30(Unk802D3658_Arg0*, Mtx4F*); diff --git a/src/app/code_60020.h b/src/app/code_60020.h index 49f7d967..8e511a5c 100644 --- a/src/app/code_60020.h +++ b/src/app/code_60020.h @@ -3,11 +3,12 @@ #include #include "code_5A6A0.h" +#include "cannonball.h" -void func_802D8AF0(Unk802D5C5C_Arg0*); -void func_802D9220(Unk802D5C5C_Arg0*); +void func_802D8AF0(Unk802D5B50_Arg2*); +void func_802D9220(Unk802D5B50_Arg2*); void func_802D9430(void*); void func_802D94EC(void*); -void func_802D95D8(Unk802D5C5C_Arg0*); +void func_802D95D8(Unk802D5B50_Arg2*); #endif // CODE_60020_H diff --git a/src/app/code_A6000.c b/src/app/code_A6000.c index 108f8431..d8947abf 100644 --- a/src/app/code_A6000.c +++ b/src/app/code_A6000.c @@ -25,7 +25,7 @@ void uvPathPoseLine(Unk8037F098* arg0, Unk8037DCA0* arg1, f32 arg2) { s32 pad1; s32 pad2; - if (arg1->modelId == WORLD_MODEL_ID) { + if (arg1->modelId == MODEL_WORLD) { _uvDebugPrintf("uvPathPoseLine: Path has an invalid Model ID!\n"); return; } @@ -128,7 +128,7 @@ void func_8031EF60(Unk8037DCA0* arg0, s32 arg1) { } void func_8031EF68(Unk8037DCA0* arg0) { - if (arg0->modelId != WORLD_MODEL_ID) { - arg0->modelId = WORLD_MODEL_ID; + if (arg0->modelId != MODEL_WORLD) { + arg0->modelId = MODEL_WORLD; } } diff --git a/src/app/code_C9B60.c b/src/app/code_C9B60.c index 56a9e3dd..819170d1 100644 --- a/src/app/code_C9B60.c +++ b/src/app/code_C9B60.c @@ -45,7 +45,7 @@ typedef struct { f32 unk238; f32 unk23C; Unk8037DCA0* unk240[6]; - u16 unk258[6]; + u16 modelIds[6]; u8 unk264; u8 unk265; u8 unk266; @@ -139,23 +139,23 @@ static void func_803427FC(void) { spath_update(&D_80378CE0->unkAC, D_80378CE0->unk18, 0, 1.0f); spath_update(&D_80378CE0->unkEC, D_80378CE0->unk18, 0, 1.0f); D_80378CE0->unk0 = uvDobjAllocIdx(); - uvDobjModel(D_80378CE0->unk0, 0x28); + uvDobjModel(D_80378CE0->unk0, MODEL_LOW_POLY_INTRO_CRESCENT_ISLAND); uvMat4SetIdentity(&sp58); uvDobjPosm(D_80378CE0->unk0, 0, &sp58); D_80378CE0->unk4 = uvDobjAllocIdx(); - uvDobjModel(D_80378CE0->unk4, 0x157); + uvDobjModel(D_80378CE0->unk4, MODEL_PILOTWINGS_SWOOSH_FEATHER_THING); uvDobjPosm(D_80378CE0->unk4, 0, &D_80378CE0->unk2C); uvDobjState(D_80378CE0->unk4, 2); D_80378CE0->unk8 = uvDobjAllocIdx(); - uvDobjModel(D_80378CE0->unk8, 0xCD); + uvDobjModel(D_80378CE0->unk8, MODEL_PILOTWINGS_3D_LOGO); uvDobjPosm(D_80378CE0->unk8, 0, &D_80378CE0->unk6C); uvDobjState(D_80378CE0->unk8, 2); D_80378CE0->unkC = uvDobjAllocIdx(); - uvDobjModel(D_80378CE0->unkC, 0x158); + uvDobjModel(D_80378CE0->unkC, MODEL_3D_6_IN_INTRO_PW64_LOGO); uvDobjPosm(D_80378CE0->unkC, 0, &D_80378CE0->unkAC); uvDobjState(D_80378CE0->unkC, 2); D_80378CE0->unk10 = uvDobjAllocIdx(); - uvDobjModel(D_80378CE0->unk10, 0x159); + uvDobjModel(D_80378CE0->unk10, MODEL_3D_4_IN_INTRO_PW64_LOGO); uvDobjPosm(D_80378CE0->unk10, 0, &D_80378CE0->unkEC); uvDobjState(D_80378CE0->unk10, 2); menuCreateItems(0x66, 0x3C, 6, 1.0f, 1.0f, D_80350698, 2); @@ -206,22 +206,22 @@ static void func_80342D2C(void) { uvMat4RotateAxis(&D_80378CE0->unk16C, -1.4835305f, 'x'); uvMat4RotateAxis(&D_80378CE0->unk16C, 3.141594f, 'y'); -#define placeInUserPath(idx, modelId) \ - allocIdx = uvDobjAllocIdx(); \ - D_80378CE0->unk258[(idx)] = allocIdx; \ - D_80378CE0->unk240[(idx)]->unk352 = allocIdx; \ - uvDobjModel(D_80378CE0->unk258[(idx)], (modelId)); \ - userPath_8034A950(D_80378CE0->unk240[(idx)]->unk4C, &sp2FC); \ - func_803136C4(&sp2FC, &D_80378CE0->unk12C); \ - uvDobjPosm(D_80378CE0->unk258[(idx)], 0, &D_80378CE0->unk12C); \ - uvDobjState(D_80378CE0->unk258[(idx)], 2); - - placeInUserPath(0, 0x127); - placeInUserPath(1, 0x12B); - placeInUserPath(2, 0x12D); - placeInUserPath(3, 0x12F); - placeInUserPath(4, 0x131); - placeInUserPath(5, 0x133); +#define placeInUserPath(idx, modelId) \ + allocIdx = uvDobjAllocIdx(); \ + D_80378CE0->modelIds[(idx)] = allocIdx; \ + D_80378CE0->unk240[(idx)]->unk352 = allocIdx; \ + uvDobjModel(D_80378CE0->modelIds[(idx)], (modelId)); \ + userPath_8034A950(D_80378CE0->unk240[(idx)]->unk4C, &sp2FC); \ + func_803136C4(&sp2FC, &D_80378CE0->unk12C); \ + uvDobjPosm(D_80378CE0->modelIds[(idx)], 0, &D_80378CE0->unk12C); \ + uvDobjState(D_80378CE0->modelIds[(idx)], 2); + + placeInUserPath(0, MODEL_LARK_GYRO); + placeInUserPath(1, MODEL_GOOSE_GYRO); + placeInUserPath(2, MODEL_HAWK_GYRO); + placeInUserPath(3, MODEL_KIWI_GYRO); + placeInUserPath(4, MODEL_IBIS_GYRO); + placeInUserPath(5, MODEL_ROBYN_GYRO); for (i = 0; i < ARRAY_COUNT(D_80378CE0->unk240); i++) { userPath_8034A8B0(D_80378CE0->unk240[i], 0, 0.0f); @@ -231,11 +231,11 @@ static void func_80342D2C(void) { static void func_80343294(void) { func_803433A4(); - uvDobjModel(D_80378CE0->unk0, WORLD_MODEL_ID); - uvDobjModel(D_80378CE0->unk4, WORLD_MODEL_ID); - uvDobjModel(D_80378CE0->unk8, WORLD_MODEL_ID); - uvDobjModel(D_80378CE0->unkC, WORLD_MODEL_ID); - uvDobjModel(D_80378CE0->unk10, WORLD_MODEL_ID); + uvDobjModel(D_80378CE0->unk0, MODEL_WORLD); + uvDobjModel(D_80378CE0->unk4, MODEL_WORLD); + uvDobjModel(D_80378CE0->unk8, MODEL_WORLD); + uvDobjModel(D_80378CE0->unkC, MODEL_WORLD); + uvDobjModel(D_80378CE0->unk10, MODEL_WORLD); spath_free(D_80378CE0->unk14); spath_free(D_80378CE0->unk18); spath_free(D_80378CE0->unk1C); @@ -254,22 +254,22 @@ static void func_803433A4(void) { temp_a0 = D_80378CE0->unk240[0]; if (temp_a0 != NULL) { func_8031EF68(temp_a0); - uvDobjModel(D_80378CE0->unk258[0], WORLD_MODEL_ID); + uvDobjModel(D_80378CE0->modelIds[0], MODEL_WORLD); userPathFree(0); func_8031EF68(D_80378CE0->unk240[1]); - uvDobjModel(D_80378CE0->unk258[1], WORLD_MODEL_ID); + uvDobjModel(D_80378CE0->modelIds[1], MODEL_WORLD); userPathFree(1); func_8031EF68(D_80378CE0->unk240[2]); - uvDobjModel(D_80378CE0->unk258[2], WORLD_MODEL_ID); + uvDobjModel(D_80378CE0->modelIds[2], MODEL_WORLD); userPathFree(2); func_8031EF68(D_80378CE0->unk240[3]); - uvDobjModel(D_80378CE0->unk258[3], WORLD_MODEL_ID); + uvDobjModel(D_80378CE0->modelIds[3], MODEL_WORLD); userPathFree(3); func_8031EF68(D_80378CE0->unk240[4]); - uvDobjModel(D_80378CE0->unk258[4], WORLD_MODEL_ID); + uvDobjModel(D_80378CE0->modelIds[4], MODEL_WORLD); userPathFree(4); func_8031EF68(D_80378CE0->unk240[5]); - uvDobjModel(D_80378CE0->unk258[5], WORLD_MODEL_ID); + uvDobjModel(D_80378CE0->modelIds[5], MODEL_WORLD); userPathFree(5); D_80378CE0->unk240[0] = NULL; D_80378CE0->unk240[1] = NULL; diff --git a/src/app/code_D2D50.c b/src/app/code_D2D50.c index f6eec10e..3fad771f 100644 --- a/src/app/code_D2D50.c +++ b/src/app/code_D2D50.c @@ -180,17 +180,17 @@ void func_8034BEDC(void) { D_803509C4 = uvDobjAllocIdx(); if (D_803509C4 != 0xFFFF) { - uvDobjModel(D_803509C4, 0xD8); + uvDobjModel(D_803509C4, MODEL_D8); uvDobjState(D_803509C4, 0); } D_803509C0 = uvDobjAllocIdx(); if (D_803509C0 == 0xFFFF) { if (D_803509C4 != 0xFFFF) { - uvDobjModel(D_803509C4, WORLD_MODEL_ID); + uvDobjModel(D_803509C4, MODEL_WORLD); D_803509C4 = 0xFFFF; } } else { - uvDobjModel(D_803509C0, 0xD7); + uvDobjModel(D_803509C0, MODEL_D7); uvDobjState(D_803509C0, 0); D_803509CC = func_80321210(func_8034BDCC, func_8034BC68, sp30, 450.0f, 0.0f, 4); D_803509D0 = 0.0f; @@ -209,10 +209,10 @@ void func_8034C0BC(void) { return; } - uvDobjModel(D_803509C0, WORLD_MODEL_ID); + uvDobjModel(D_803509C0, MODEL_WORLD); D_803509C0 = 0xFFFF; if (D_803509C4 != 0xFFFF) { - uvDobjModel(D_803509C4, WORLD_MODEL_ID); + uvDobjModel(D_803509C4, MODEL_WORLD); D_803509C4 = 0xFFFF; } func_803212DC(D_803509CC); diff --git a/src/app/code_D3810.c b/src/app/code_D3810.c index 7705291d..bf61da45 100644 --- a/src/app/code_D3810.c +++ b/src/app/code_D3810.c @@ -183,17 +183,17 @@ void func_8034C964(void) { for (i = 0; i < ARRAY_COUNT(D_8037F450); i++) { D_8037F450[i].unk4 = uvDobjAllocIdx(); if (D_8037F450[i].unk4 != 0xFFFF) { - uvDobjModel(D_8037F450[i].unk4, 0xD8); + uvDobjModel(D_8037F450[i].unk4, MODEL_D8); uvDobjState(D_8037F450[i].unk4, 0); } D_8037F450[i].unk0 = uvDobjAllocIdx(); if (D_8037F450[i].unk0 == 0xFFFF) { if (D_8037F450[i].unk4 != 0xFFFF) { - uvDobjModel(D_8037F450[i].unk4, WORLD_MODEL_ID); + uvDobjModel(D_8037F450[i].unk4, MODEL_WORLD); D_8037F450[i].unk4 = 0xFFFF; } } else { - uvDobjModel(D_8037F450[i].unk0, 0xD7); + uvDobjModel(D_8037F450[i].unk0, MODEL_D7); uvDobjState(D_8037F450[i].unk0, 0); switch (i) { case 0: @@ -236,10 +236,10 @@ void func_8034CB80(void) { for (i = 0; i < ARRAY_COUNT(D_8037F450); i++) { if (D_8037F450[i].unk0 != 0xFFFF) { - uvDobjModel(D_8037F450[i].unk0, WORLD_MODEL_ID); + uvDobjModel(D_8037F450[i].unk0, MODEL_WORLD); D_8037F450[i].unk0 = 0xFFFF; if (D_8037F450[i].unk4 != 0xFFFF) { - uvDobjModel(D_8037F450[i].unk4, WORLD_MODEL_ID); + uvDobjModel(D_8037F450[i].unk4, MODEL_WORLD); D_8037F450[i].unk4 = 0xFFFF; } } diff --git a/src/app/code_D4290.c b/src/app/code_D4290.c index c7d85865..9aab42c4 100644 --- a/src/app/code_D4290.c +++ b/src/app/code_D4290.c @@ -98,7 +98,7 @@ void wind_render(void) { var_s1->unk4.m[3][1] = temp_s0->unk0.f[1]; var_s1->unk4.m[3][2] = temp_s0->unk0.f[2]; var_s1->unk0 = uvDobjAllocIdx(); - uvDobjModel(var_s1->unk0, 0xD5U); + uvDobjModel(var_s1->unk0, MODEL_D5); uvDobjPosm(var_s1->unk0, 0, &var_s1->unk4); uvDobjState(var_s1->unk0, 2U); uvDobjProps(var_s1->unk0, 3, temp_s0->unk4C, 0); @@ -139,7 +139,7 @@ void wind_render(void) { var_s1->unk4.m[3][1] = (temp_s0->unk0.f[1] + s2->f[1]) * 0.5; var_s1->unk4.m[3][2] = (temp_s0->unk0.f[2] + s2->f[2]) * 0.5; var_s1->unk0 = uvDobjAllocIdx(); - uvDobjModel(var_s1->unk0, 0xD5U); + uvDobjModel(var_s1->unk0, MODEL_D5); uvDobjPosm(var_s1->unk0, 0, &var_s1->unk4); uvDobjState(var_s1->unk0, 2U); if (temp_fs0 < temp_s0->unk4C) { @@ -170,7 +170,7 @@ void wind_render(void) { var_s1->unk9C.f[1] = temp_s0->unk30.f[1]; var_s1->unk9C.f[2] = temp_s0->unk30.f[2]; var_s1->unk0 = uvDobjAllocIdx(); - uvDobjModel(var_s1->unk0, 0xD6U); + uvDobjModel(var_s1->unk0, MODEL_D6); uvDobjPosm(var_s1->unk0, 0, &var_s1->unk4); uvDobjState(var_s1->unk0, 2U); if (temp_s0->unk30.f[1] < temp_s0->unk30.f[0]) { @@ -203,7 +203,7 @@ void func_8034D4AC(void) { for (i = 0; i < D_8037F514; i++) { var_s0 = &D_8037F518[i]; if (var_s0->unk0 != 0xFFFF) { - uvDobjModel(var_s0->unk0, WORLD_MODEL_ID); + uvDobjModel(var_s0->unk0, MODEL_WORLD); } var_s0->unk0 = 0xFFFF; } diff --git a/src/app/targets.c b/src/app/targets.c index b759ac2e..ca906638 100644 --- a/src/app/targets.c +++ b/src/app/targets.c @@ -75,13 +75,13 @@ void func_803442F8(void) { var_s1->unk48 = hud_8031A6C8(missileTarget->pos.x, missileTarget->pos.y, missileTarget->pos.z); switch (missileTarget->targetType) { case 0: - uvDobjModel(var_s1->unk0, 0xF9); + uvDobjModel(var_s1->unk0, MODEL_F9); break; case 1: - uvDobjModel(var_s1->unk0, 0xF8); + uvDobjModel(var_s1->unk0, MODEL_F8); break; case 2: - uvDobjModel(var_s1->unk0, 0xF7); + uvDobjModel(var_s1->unk0, MODEL_F7); break; default: _uvDebugPrintf("targets : unknwwon target type [%d]\n", missileTarget->targetType); @@ -130,7 +130,7 @@ void func_8034467C(void) { for (i = 0; i < sMissileTargetCount; i++) { if (D_80378CF8[i].unk0 != 0xFFFF) { - uvDobjModel(D_80378CF8[i].unk0, WORLD_MODEL_ID); + uvDobjModel(D_80378CF8[i].unk0, MODEL_WORLD); D_80378CF8[i].unk0 = 0xFFFF; } if (D_80378CF8[i].unk48 != 0xFF) { @@ -176,7 +176,7 @@ f32 func_8034473C(s32 arg0, s32 arg1) { uvFxProps(sp4C, 0xA, var_s0->unk4.m[3][0], var_s0->unk4.m[3][1], var_s0->unk4.m[3][2], 0); } - uvDobjModel(var_s0->unk0, 0xFFFF); + uvDobjModel(var_s0->unk0, MODEL_WORLD); var_s0->unk0 = 0xFFFF; if (var_s0->unk48 != 0xFF) { hud_8031A8E0(var_s0->unk48); diff --git a/src/app/thermals.c b/src/app/thermals.c index f7acb945..ba4f3341 100644 --- a/src/app/thermals.c +++ b/src/app/thermals.c @@ -54,7 +54,7 @@ void therm_8034662C(void) { levlTher = &gLevelTHER[i]; therm = &gThermals[i]; therm->unk0 = uvDobjAllocIdx(); - uvDobjModel(therm->unk0, 0x101); + uvDobjModel(therm->unk0, MODEL_HG_THERMAL_CYLINDER); uvDobjState(therm->unk0, 2); uvVec3Copy(&gThermals[i].pos, &levlTher->pos); if (levlTher->height < levlTher->scale) { @@ -138,7 +138,7 @@ void therm_80346B84(void) { for (i = 0; i < gThermalCount; i++) { if (gThermals[i].unk0 != 0xFFFF) { - uvDobjModel(gThermals[i].unk0, 0xFFFF); + uvDobjModel(gThermals[i].unk0, MODEL_WORLD); gThermals[i].unk0 = 0xFFFF; } } diff --git a/src/app/wind_objects.c b/src/app/wind_objects.c index 82edd3e6..5890becc 100644 --- a/src/app/wind_objects.c +++ b/src/app/wind_objects.c @@ -61,20 +61,20 @@ void func_8034E0B4(void) { windObject->objId = uvDobjAllocIdx(); switch (windObjectData->unkC) { case 0: - uvDobjModel(windObject->objId, 0x40); + uvDobjModel(windObject->objId, MODEL_40); uvModelGetPosm(0x40, 1, &windObject->unk44); uvModelGetPosm(0x40, 2, &windObject->unk84); windObject->unkC8 = 0.0f; windObject->unkC4 = 0.0f; break; case 1: - uvDobjModel(windObject->objId, 0x53); + uvDobjModel(windObject->objId, MODEL_WIND_TURBINE); uvModelGetPosm(0x53, 1, &windObject->unk44); uvModelGetPosm(0x53, 2, &windObject->unk84); windObject->unkC4 = 0.0f; break; case 2: - uvDobjModel(windObject->objId, 0x40); + uvDobjModel(windObject->objId, MODEL_40); break; } uvMat4SetIdentity(&windObject->unk4); @@ -172,7 +172,7 @@ void func_8034E628(void) { for (i = 0; i < sWindObjectsInLevel; i++) { windObject = &sWindObjects[i]; if (windObject->objId != INITIAL_OBJECT_ID) { - uvDobjModel(windObject->objId, WORLD_MODEL_ID); + uvDobjModel(windObject->objId, MODEL_WORLD); windObject->objId = INITIAL_OBJECT_ID; } }