From 87ec8d0223e331ddf4514f98cfb6c79f850fe7bf Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Sun, 27 Nov 2022 22:44:38 -0600 Subject: [PATCH] FP .data defined --- decompressed.us.v10.yaml | 14 ++++++--- src/FP/ch/wozzasjig.c | 21 ++++++++++--- src/FP/code_4400.c | 2 ++ src/FP/code_45D0.c | 2 ++ src/FP/code_4770.c | 33 ++++++++++--------- src/FP/code_5CC0.c | 68 ++++++++++++++++------------------------ src/FP/code_8330.c | 12 ++++--- src/FP/code_8E20.c | 20 ++++++++++-- src/FP/code_9EA0.c | 7 +++-- src/FP/code_A500.c | 21 ++++++++----- src/FP/code_A880.c | 12 ++++--- 11 files changed, 128 insertions(+), 84 deletions(-) diff --git a/decompressed.us.v10.yaml b/decompressed.us.v10.yaml index 140abf65..4fdc4b4a 100644 --- a/decompressed.us.v10.yaml +++ b/decompressed.us.v10.yaml @@ -1970,16 +1970,22 @@ segments: - [0x1089880, .data, code_1FF0] - [0x10898C0, .data, code_2350] - [0x1089A30, .data, code_3E00] - - [0x1089AF0, bin, data_BAC0] + - [0x1089AF0, .data, code_4400] + - [0x1089B00, .data, code_45D0] + - [0x1089B10, .data, code_4770] + - [0x1089B90, .data, code_5CC0] - [0x1089D00, .data, code_6AE0] - [0x1089FD0, .data, code_7980] - - [0x108A040, bin, data_C010] + - [0x108A040, .data, code_8330] - [0x108A0B0, .data, code_87E0] - [0x108A0E0, .data, code_8D00] - - [0x108A160, bin, data_C130] + - [0x108A160, .data, code_8E20] + - [0x108A200, .data, ch/wozzasjig] + - [0x108A2C0, .data, code_9EA0] - [0x108A300, .data, code_A1C0] - [0x108A330, .data, code_A240] - - [0x108A370, bin, data_C340] + - [0x108A370, .data, code_A500] + - [0x108A480, .data, code_A880] - [0x108A520, .data, code_ABD0] - [0x108A7C0, .rodata, code_0] - [0x108A7D0, .rodata, code_A40] diff --git a/src/FP/ch/wozzasjig.c b/src/FP/ch/wozzasjig.c index a57c88b3..a599629e 100644 --- a/src/FP/ch/wozzasjig.c +++ b/src/FP/ch/wozzasjig.c @@ -6,16 +6,28 @@ Actor *func_8038FF00(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); void func_8038FF54(Actor *this); /* .data */ -extern ActorAnimationInfo D_803925C0[]; +ActorAnimationInfo D_803925C0[] = { + {0x000, 0.0f}, + {0x1AC, 3.8f}, + {0x1AC, 3.8f}, + {0x1AE, 0.55f}, + {0x1AE, 0.55f}, + {0x1B3, 0.6f}, + {0x1B4, 0.8f}, + {0x1AE, 0.55f}, + {0x1AD, 4.4f}, + {0x1B6, 1.2f}, + {0x221, 5.0f}, + {0x1AE, 0.55f}, + {0x1AE, 0.55f} +}; -extern ActorInfo D_80392628 = { MARKER_20C_WOZZAS_JIGGY, ACTOR_1F4_WOZZAS_JIGGY, ASSET_495_MODEL_WOZZAS_JIGGY, +ActorInfo D_80392628 = { MARKER_20C_WOZZAS_JIGGY, ACTOR_1F4_WOZZAS_JIGGY, ASSET_495_MODEL_WOZZAS_JIGGY, 0x1, D_803925C0, func_8038FF54, func_80326224, func_8038FF00, 0, 0, 0.0f, 0 }; -extern struct31s D_8039264C; - /* .code */ Actor *func_8038FF00(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *this = marker_getActor(marker); @@ -25,6 +37,7 @@ Actor *func_8038FF00(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ } void func_8038FF54(Actor *this){ + static struct31s D_8039264C = {{0.3f, 0.5f}, {0.5f, 0.7f}, {0.0f, 0.01f}, {0.3f, 0.4f}, 0.3f, 0.7f}; Actor *other; f32 sp40[3]; ParticleEmitter *sp3C; diff --git a/src/FP/code_4400.c b/src/FP/code_4400.c index 5322a5c2..f123e751 100644 --- a/src/FP/code_4400.c +++ b/src/FP/code_4400.c @@ -2,6 +2,8 @@ #include "functions.h" #include "variables.h" + +f32 D_80391EB0[3] = {-625.0f, 8840.0f, -111.0f}; /* .bss */ extern struct { u8 unk0; diff --git a/src/FP/code_45D0.c b/src/FP/code_45D0.c index eb08b9b0..b4a8b9ac 100644 --- a/src/FP/code_45D0.c +++ b/src/FP/code_45D0.c @@ -11,6 +11,8 @@ typedef struct { u8 unk18; } Struct_FP_45D0_0; +f32 D_80391EC0[3] ={-625.0f, 466.0f, -111.0f}; + extern Struct_FP_45D0_0 D_80392F50; /* .code */ diff --git a/src/FP/code_4770.c b/src/FP/code_4770.c index 6c33c45e..b5709537 100644 --- a/src/FP/code_4770.c +++ b/src/FP/code_4770.c @@ -11,19 +11,24 @@ typedef struct { }Struct_FP_4770; /* .data */ -extern f32 D_80391ED0[3]; -extern f32 D_80391EDC; -extern f32 D_80391EE0[3]; -extern f32 D_80391EEC; -extern f32 D_80391EF0[3]; -extern f32 D_80391EFC; -extern f32 D_80391F00[3]; -extern f32 D_80391F0C; -extern f32 D_80391F10[3]; -extern f32 D_80391F1C; -extern f32 D_80391F20[3]; -extern f32 D_80391F2C[3]; -extern f32 D_80391F38[3]; +f32 D_80391ED0[3] = {-880.0f, 3.0f, 1769.0f}; +f32 D_80391EDC = 180.0f; + +f32 D_80391EE0[3] = {5187.0f, 428.0f, 854.0f}; +f32 D_80391EEC = 194.0f; + +f32 D_80391EF0[3] = {-904.0f, -10.0f, -1662.0f}; +f32 FP_D_80391EFC = 180.0f; + +f32 D_80391F00[3] = {2192.0f, 7.0f, 2901.0f}; +f32 D_80391F0C = 85.0f; + +f32 D_80391F10[3] = {712.0f, 7.0f, 3036.0f}; +f32 D_80391F1C = 284.0f; + +f32 D_80391F20[3] = {1605.0f, 658.0f, 5402.0f}; +f32 D_80391F2C[3] = {-4454.0f, 1920.0f, -6898.0f}; +f32 D_80391F38[3] = {-4451.0f, 1920.0f, -6685.0f}; /* .bss */ extern ActorMarker *D_80393590[5]; @@ -144,7 +149,7 @@ void func_8038AEE0(s32 indx){ break; case 2:// L8038AF64 - sp1C = func_8032813C(0x22d, D_80391EF0, D_80391EFC); + sp1C = func_8032813C(0x22d, D_80391EF0, FP_D_80391EFC); break; case 3:// L8038AF90 diff --git a/src/FP/code_5CC0.c b/src/FP/code_5CC0.c index d18df67e..b003b204 100644 --- a/src/FP/code_5CC0.c +++ b/src/FP/code_5CC0.c @@ -3,73 +3,59 @@ #include "variables.h" extern Actor *func_802EBAE0(UNK_TYPE(s32), f32 position[3], f32 rotation[3], f32 scale, UNK_TYPE(s32), UNK_TYPE(s32), UNK_TYPE(s32), f32, UNK_TYPE(s32)); - +Actor *func_8038C0B0(ActorMarker *marker, UNK_TYPE(s32) arg1, f32 arg2, UNK_TYPE(s32) arg3); Actor *func_8038C1F8(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); void func_8038C9A0(Actor *this); /* .data */ -extern ActorAnimationInfo D_80391F50[]; +ActorAnimationInfo D_80391F50[] = { + {0x000, 0.0f}, + {0x178, 1e+08f}, + {0x17C, 1e+08f}, + {0x178, 1e+08f}, + {0x17C, 2.0f}, + {0x17C, 1.0f}, + {0x17C, 2.0f} +}; -extern ActorInfo D_80391F88 = { MARKER_200_TWINKLY_BLUE, ACTOR_332_TWINKLY_BLUE, ASSET_448_MODEL_TWINKLY_BLUE, +ActorInfo D_80391F88 = { MARKER_200_TWINKLY_BLUE, ACTOR_332_TWINKLY_BLUE, ASSET_448_MODEL_TWINKLY_BLUE, 0x1, D_80391F50, func_8038C9A0, func_80326224, func_8038C1F8, 0, 0, 1.0f, 0 }; -extern ActorInfo D_80391FAC = { MARKER_201_TWINKLY_GREEN, ACTOR_333_TWINKLY_GREEN, ASSET_449_MODEL_TWINKLY_GREEN, +ActorInfo D_80391FAC = { MARKER_201_TWINKLY_GREEN, ACTOR_333_TWINKLY_GREEN, ASSET_449_MODEL_TWINKLY_GREEN, 0x1, D_80391F50, func_8038C9A0, func_80326224, func_8038C1F8, 0, 0, 1.0f, 0 }; -extern ActorInfo D_80391FD0 = { MARKER_202_TWINKLY_ORANGE, ACTOR_334_TWINKLY_ORANGE, ASSET_44A_MODEL_TWINKLY_ORANGE, +ActorInfo D_80391FD0 = { MARKER_202_TWINKLY_ORANGE, ACTOR_334_TWINKLY_ORANGE, ASSET_44A_MODEL_TWINKLY_ORANGE, 0x1, D_80391F50, func_8038C9A0, func_80326224, func_8038C1F8, 0, 0, 1.0f, 0 }; -extern ActorInfo D_80391FF4 = { MARKER_203_TWINKLY_RED, ACTOR_335_TWINKLY_RED, ASSET_44B_MODEL_TWINKLY_RED, +ActorInfo D_80391FF4 = { MARKER_203_TWINKLY_RED, ACTOR_335_TWINKLY_RED, ASSET_44B_MODEL_TWINKLY_RED, 0x1, D_80391F50, func_8038C9A0, func_80326224, func_8038C1F8, 0, 0, 1.0f, 0 }; -extern s32 D_80392018[4]; -extern struct43s D_80392028; -extern f32 D_80392070[3]; -extern f32 D_8039207C[3]; -extern f32 D_80392088[3]; -extern f32 D_80392094[3]; -extern s32 D_803920A0[4]; -extern s32 D_803920B0[4]; +s32 FP_D_80392018[4] = {0, 0, 0, func_8038C0B0}; +struct43s D_80392028 = { + {{-200.0f, 200.0f, -200.0f}, {200.0f, 400.0f, 200.0f}}, + {{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}}, + {{ -15.0f, -15.0f, -15.0f}, { 15.0f, 15.0f, 15.0f}} +}; +f32 D_80392070[3] = {-4034.0f, 73.0f, 3918.0f}; +f32 D_8039207C[3] = {-3946.0f, 69.0f, 3538.0f}; +f32 D_80392088[3] = {-4459.0f, 176.0f, 5693.0f}; +f32 D_80392094[3] = {-4578.0f, 440.0f, 6198.0f}; +s32 D_803920A0[4] = {0xFF, 0xFF, 0xFF, 0xFF}; +s32 D_803920B0[4] = {0xFF, 0xFF, 0xFF, 0x00}; -extern f64 D_80392D80; -extern f64 D_80392D88; -extern f64 D_80392D90; -extern f32 D_80392D98; -extern f32 D_80392D9C; -extern f32 D_80392DA0; -extern f32 D_80392DA4; -extern f32 D_80392DA8; -extern f32 D_80392DAC; -extern f32 D_80392DB0; -extern f64 D_80392DB8; -extern f64 D_80392DC0; -extern f64 D_80392DC8; -// C00999999999999A -// C00999999999999A -// 3FEFFFEB074A771D -// 3F99999A -// 3FA66666 -// 44DAC000 -// 455AC000 -// 3FB33333 -// 44DAC000 -// 455AC000 -// C00999999999999A -// 3FEFFF2E48E8A71E -// 3FEFFFFDE7210BE9 /* .code */ Actor *func_8038C0B0(ActorMarker *marker, UNK_TYPE(s32) arg1, f32 arg2, UNK_TYPE(s32) arg3){ @@ -281,7 +267,7 @@ void func_8038C9A0(Actor *this){ if(!this->unk16C_4){ this->unk16C_4 = TRUE; - this->marker->unk18 = &D_80392018; + this->marker->unk18 = &FP_D_80392018; this->unk38_31 = 0; if(0.0f != other->velocity[0]){ func_80328A84(this, 4); diff --git a/src/FP/code_8330.c b/src/FP/code_8330.c index ebd0ea04..2f5fc9e8 100644 --- a/src/FP/code_8330.c +++ b/src/FP/code_8330.c @@ -6,16 +6,19 @@ Actor *func_8038E720(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); void func_8038E940(Actor *this); /* .data */ -extern ActorAnimationInfo D_80392400[]; +ActorAnimationInfo D_80392400[] = { + {0x000, 0.f}, + {0x143, 1e+08f}, + {0x1EF, 0.6f}, + {0x143, 1.0f}, +}; -extern ActorInfo D_80392420 = { 0x206, 0x338, 0x486, +ActorInfo D_80392420 = { 0x206, 0x338, 0x486, 0x1, D_80392400, func_8038E940, func_80326224, func_8038E720, 4500, 0, 0.0f, 0 }; -struct31s *D_80392444; - /* .code */ Actor *func_8038E720(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ func_8033A45C(1, 0); @@ -43,6 +46,7 @@ void func_8038E7CC(ActorMarker *this_marker, ActorMarker *other_marker){ } void func_8038E840(f32 position[3], s32 cnt, enum asset_e sprite_id){ + static struct31s D_80392444 = {{0.4f, 0.6f}, {0.8f, 1.8f}, {0.0f, 0.01f}, {0.5f, 1.4f}, 0.0f, 0.01f}; ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); diff --git a/src/FP/code_8E20.c b/src/FP/code_8E20.c index 6a125b5d..abfc56f2 100644 --- a/src/FP/code_8E20.c +++ b/src/FP/code_8E20.c @@ -14,15 +14,29 @@ Actor *func_8038F210(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); void FP_func_8038F7AC(Actor *this); /* .data */ -extern ActorAnimationInfo D_80392520[]; +ActorAnimationInfo D_80392520[] ={ + {0x000, 0.0f}, + {0x1AC, 3.8f}, + {0x1AC, 3.8f}, + {0x1AE, 0.55f}, + {0x1AE, 0.55f}, + {0x1B3, 0.6f}, + {0x1B4, 0.8f}, + {0x1AE, 0.55f}, + {0x1AD, 4.4f}, + {0x1B5, 1.2f}, + {0x221, 5.0f}, + {0x1AE, 0.55f}, + {0x1AE, 0.55f} +}; -extern ActorInfo D_80392588 = { MARKER_20B_WOZZA, ACTOR_1F3_WOZZA, ASSET_494_MODEL_WOZZA, +ActorInfo D_80392588 = { MARKER_20B_WOZZA, ACTOR_1F3_WOZZA, ASSET_494_MODEL_WOZZA, 0x1, D_80392520, FP_func_8038F7AC, func_80326224, func_8038F210, 0, 0, 1.6f, 0 }; -extern f32 D_803925AC[3]; +f32 D_803925AC[3] = {-4026.0f, 800.0f, -4097.0f}; /* .code */ Actor *func_8038F210(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ diff --git a/src/FP/code_9EA0.c b/src/FP/code_9EA0.c index c5da6925..dd4fd104 100644 --- a/src/FP/code_9EA0.c +++ b/src/FP/code_9EA0.c @@ -6,9 +6,12 @@ Actor *func_80390290(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); void func_80390388(Actor *this); /* .data */ -extern ActorAnimationInfo D_80392680[]; +ActorAnimationInfo D_80392680[] = { + {0, 0.0f}, + {0x222, 2.0f} +}; -extern ActorInfo D_80392690 = { 0x20D, 0x33D, 0x38A, +ActorInfo D_80392690 = { 0x20D, 0x33D, 0x38A, 0x1, D_80392680, func_80390388, func_80326224, func_80390290, 2500, 0, 1.0f, 0 diff --git a/src/FP/code_A500.c b/src/FP/code_A500.c index 5b8dbfaf..50478ceb 100644 --- a/src/FP/code_A500.c +++ b/src/FP/code_A500.c @@ -6,18 +6,12 @@ Actor *func_803908F0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); void func_80390BDC(Actor *this); /* .data */ -extern ActorInfo D_80392730 = { 0x210, 0x340, 0x4D2, +ActorInfo D_80392730 = { 0x210, 0x340, 0x4D2, 0x0, NULL, func_80390BDC, func_80326224, func_803908F0, 0, 0, 1.0f, 0 }; -extern struct31s D_80392754; -extern struct43s D_8039277C; -extern struct31s D_803927C4; -extern struct43s D_803927EC; -extern s32 D_80392834[3]; - /* .code */ Actor *func_803908F0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *this = marker_getActor(marker); @@ -27,6 +21,12 @@ Actor *func_803908F0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ } void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ + static struct31s D_80392754 = {{0.2f, 0.4f}, {-1.0f, -1.0f}, {0.0f, 0.02f}, {2.2f, 2.2f}, 0.0f, 0.3f}; + static struct43s D_8039277C = { + {{-300.0f, 350.0f, -300.0f}, {300.0f, 600.0f, 300.0f}}, /*position*/ + {{ 0.0f, -1000.0f, 0.0f}, { 0.0f, -1000.0f, 0.0f}}, /*velocitcy*/ + {{-100.0f, 0.0f, -100.0f}, {100.0f, 200.0f, 100.0f}} /*acceleration*/ + }; ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); @@ -44,6 +44,13 @@ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ } void func_80390A30(f32 position[3], s32 cnt, enum asset_e sprite_id){ + static struct31s D_803927C4 = {{0.6f, 0.8f}, {1.0f, 1.4f}, {0.0f, 0.01f}, {1.2f, 1.8f}, 0.0f, 0.01f}; + static struct43s D_803927EC = { + {{-200.0f, 0.0f, -200.0f}, {200.0f, 200.0f, 200.0f}}, /*position*/ + {{ 0.0f, -10.0f, 0.0f}, { 0.0f, -10.0f, 0.0f}}, /*velocitcy*/ + {{ -50.0f, 0.0f, -50.0f}, { 50.0f, 200.0f, 50.0f}} /*acceleration*/ + }; + static s32 D_80392834[3] = {0xDC, 0xDC, 0xE6}; ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); func_802EFFA8(pCtrl, D_80392834); particleEmitter_setSprite(pCtrl, sprite_id); diff --git a/src/FP/code_A880.c b/src/FP/code_A880.c index b31e19cf..7b694169 100644 --- a/src/FP/code_A880.c +++ b/src/FP/code_A880.c @@ -7,18 +7,17 @@ extern s32 func_8024DB50(f32[3], f32); void func_80390EB0(Actor *this); /* .data */ -extern ActorInfo FP_D_80392840 = { MARKER_245_XMAS_TREE_EGG_TOLL, ACTOR_353_XMAS_TREE_EGG_TOLL, ASSET_402_MODEL_EGG_TOLL, +ActorInfo FP_D_80392840 = { MARKER_245_XMAS_TREE_EGG_TOLL, ACTOR_353_XMAS_TREE_EGG_TOLL, ASSET_402_MODEL_EGG_TOLL, 0x0, NULL, func_80390EB0, func_80326224, func_80325340, 2000, 0, 0.0f, 0 }; -extern struct40s FP_D_80392864; -s32 D_80392894[3]; -struct40s D_803928A0; -s32 D_803928D0[3]; /* .code */ void func_80390C70(f32 position[3]){ + static struct40s FP_D_80392864 = {{{1.7f, 2.0f}, {2.4f, 2.7f}, {0.0f, 0.01f}, {4.0f, 7.0f}, 0.3f, 0.7f}, 4.0f, 1.0f}; + static s32 D_80392894[3] = {0xFF, 0XFF, 0xFF}; + ParticleEmitter *pCtrl = partEmitList_pushNew(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); @@ -37,6 +36,9 @@ void func_80390C70(f32 position[3]){ } void func_80390D58(f32 position[3]){ + static struct40s D_803928A0 = {{{0.05f, 0.1f}, {0.1f, 0.2f}, {0.0f, 0.01f}, {0.9f, 1.3f}, 0.3f, 0.7f}, 4.0f, 1.0f}; + static s32 D_803928D0[3] = {0xFF, 0xFF, 0xFF}; + ParticleEmitter *pCtrl = partEmitList_pushNew(1); particleEmitter_setSprite(pCtrl, ASSET_713_SPRITE_SPARKLE_YELLOW); particleEmitter_setStartingFrameRange(pCtrl, 1, 6);