From 4a1b9ad4a7c2e3312a8f4f76b6e1106e49c85043 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Thu, 1 Aug 2024 10:20:40 -0500 Subject: [PATCH 1/4] Start mgmodedll --- config/GMPE01_00/rels/mgmodedll/splits.txt | 3 +- config/GMPE01_00/rels/mgmodedll/symbols.txt | 25 +- configure.py | 6 +- include/REL/mgmodedll.h | 91 ++ src/REL/mgmodedll/datalist.c | 131 ++ src/REL/mgmodedll/mgmode.c | 1340 +++++++++++++++++++ src/REL/mgmodedll/minigame.c | 276 ++++ 7 files changed, 1857 insertions(+), 15 deletions(-) create mode 100644 include/REL/mgmodedll.h create mode 100644 src/REL/mgmodedll/datalist.c create mode 100644 src/REL/mgmodedll/mgmode.c create mode 100644 src/REL/mgmodedll/minigame.c diff --git a/config/GMPE01_00/rels/mgmodedll/splits.txt b/config/GMPE01_00/rels/mgmodedll/splits.txt index a4f47392..03ca2331 100644 --- a/config/GMPE01_00/rels/mgmodedll/splits.txt +++ b/config/GMPE01_00/rels/mgmodedll/splits.txt @@ -43,7 +43,7 @@ REL/mgmodedll/main.c: .text start:0x00018DF8 end:0x000267E8 .rodata start:0x000005B0 end:0x00000718 .data start:0x000001E0 end:0x00000490 - .bss start:0x000003C0 end:0x00002C9A + .bss start:0x000003C0 end:0x000020A8 REL/mgmodedll/datalist.c: .text start:0x000267E8 end:0x00026C28 @@ -54,3 +54,4 @@ REL/mgmodedll/minigame.c: .text start:0x00026C28 end:0x00027CF0 .rodata start:0x00000728 end:0x00000790 .data start:0x000009C0 end:0x00000A02 + .bss start:0x000020A8 end:0x00002C9A diff --git a/config/GMPE01_00/rels/mgmodedll/symbols.txt b/config/GMPE01_00/rels/mgmodedll/symbols.txt index 227d63cf..57287710 100644 --- a/config/GMPE01_00/rels/mgmodedll/symbols.txt +++ b/config/GMPE01_00/rels/mgmodedll/symbols.txt @@ -184,9 +184,9 @@ lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0xC data:4byte -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0xC data:4byte -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0xC data:4byte +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0xC data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0xC data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0xC data:float lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float @@ -447,8 +447,8 @@ lbl_1_rodata_6FC = .rodata:0x000006FC; // type:object size:0x4 data:float lbl_1_rodata_700 = .rodata:0x00000700; // type:object size:0x4 data:float lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x8 data:double lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x8 data:float -lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 data:float -lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x8 data:double +lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 scope:local data:float +lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x8 scope:local data:double lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 data:float lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 data:float lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 data:float @@ -466,8 +466,8 @@ lbl_1_rodata_780 = .rodata:0x00000780; // type:object size:0x8 data:double lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0x4 data:float lbl_1_rodata_78C = .rodata:0x0000078C; // type:object size:0x4 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x1C -lbl_1_data_1C = .data:0x0000001C; // type:object size:0x24 -lbl_1_data_40 = .data:0x00000040; // type:object size:0x30 data:4byte +lbl_1_data_1C = .data:0x0000001C; // type:object size:0x22 data:string +lbl_1_data_40 = .data:0x00000040; // type:object size:0x30 data:float lbl_1_data_70 = .data:0x00000070; // type:object size:0x16 data:string lbl_1_data_86 = .data:0x00000086; // type:object size:0x6 lbl_1_data_8C = .data:0x0000008C; // type:object size:0x4 @@ -509,7 +509,7 @@ lbl_1_data_36C = .data:0x0000036C; // type:object size:0x60 lbl_1_data_3CC = .data:0x000003CC; // type:object size:0x18 data:4byte lbl_1_data_3E4 = .data:0x000003E4; // type:object size:0x64 lbl_1_data_448 = .data:0x00000448; // type:object size:0x40 -lbl_1_data_488 = .data:0x00000488; // type:object size:0x8 data:4byte +lbl_1_data_488 = .data:0x00000488; // type:object size:0x4 data:4byte lbl_1_data_490 = .data:0x00000490; // type:object size:0x2D8 lbl_1_data_768 = .data:0x00000768; // type:object size:0x258 lbl_1_data_9C0 = .data:0x000009C0; // type:object size:0x20 @@ -522,13 +522,15 @@ lbl_1_bss_26C = .bss:0x0000026C; // type:object size:0x8 data:float lbl_1_bss_274 = .bss:0x00000274; // type:object size:0x18 data:4byte lbl_1_bss_28C = .bss:0x0000028C; // type:object size:0x18 data:4byte lbl_1_bss_2A4 = .bss:0x000002A4; // type:object size:0x2 data:2byte -lbl_1_bss_2A6 = .bss:0x000002A6; // type:object size:0xA data:2byte +lbl_1_bss_2A6 = .bss:0x000002A6; // type:object size:0x2 data:2byte +lbl_1_bss_2A8 = .bss:0x000002A8; // type:object size:0x8 data:2byte lbl_1_bss_2B0 = .bss:0x000002B0; // type:object size:0x4 data:float lbl_1_bss_2B4 = .bss:0x000002B4; // type:object size:0xC data:4byte lbl_1_bss_2C0 = .bss:0x000002C0; // type:object size:0xC data:4byte lbl_1_bss_2CC = .bss:0x000002CC; // type:object size:0x2 data:2byte lbl_1_bss_2CE = .bss:0x000002CE; // type:object size:0x2 data:2byte -lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x8 data:4byte +lbl_1_bss_2D0 = .bss:0x000002D0; // type:object size:0x4 data:4byte +lbl_1_bss_2D4 = .bss:0x000002D4; // type:object size:0x4 data:4byte lbl_1_bss_2D8 = .bss:0x000002D8; // type:object size:0x4 data:4byte lbl_1_bss_2DC = .bss:0x000002DC; // type:object size:0x4 data:4byte lbl_1_bss_2E2 = .bss:0x000002E2; // type:object size:0x2 data:2byte @@ -568,7 +570,8 @@ lbl_1_bss_3C8 = .bss:0x000003C8; // type:object size:0x4 data:4byte lbl_1_bss_3CC = .bss:0x000003CC; // type:object size:0x1A40 lbl_1_bss_1E0C = .bss:0x00001E0C; // type:object size:0x4 data:4byte lbl_1_bss_1E10 = .bss:0x00001E10; // type:object size:0x240 data:4byte -lbl_1_bss_2050 = .bss:0x00002050; // type:object size:0x5A +lbl_1_bss_2050 = .bss:0x00002050; // type:object size:0x58 data:4byte +lbl_1_bss_20A8 = .bss:0x000020A8; // type:object size:0x2 data:2byte lbl_1_bss_20AA = .bss:0x000020AA; // type:object size:0x2 data:2byte lbl_1_bss_20AC = .bss:0x000020AC; // type:object size:0x14 data:2byte lbl_1_bss_20C0 = .bss:0x000020C0; // type:object size:0x578 diff --git a/configure.py b/configure.py index 1a02fc7c..08d6561b 100644 --- a/configure.py +++ b/configure.py @@ -1331,14 +1331,14 @@ config.libs = [ "mgmodedll", objects={ Object(Matching, "REL/executor.c"), - Object(NonMatching, "REL/mgmodedll/mgmode.c"), + Object(Matching, "REL/mgmodedll/mgmode.c"), Object(NonMatching, "REL/mgmodedll/free_play.c"), Object(NonMatching, "REL/mgmodedll/record.c"), Object(NonMatching, "REL/mgmodedll/battle.c"), Object(NonMatching, "REL/mgmodedll/tictactoe.c"), Object(NonMatching, "REL/mgmodedll/main.c"), - Object(NonMatching, "REL/mgmodedll/datalist.c"), - Object(NonMatching, "REL/mgmodedll/minigame.c"), + Object(Matching, "REL/mgmodedll/datalist.c"), + Object(Matching, "REL/mgmodedll/minigame.c"), }, ), Rel( diff --git a/include/REL/mgmodedll.h b/include/REL/mgmodedll.h new file mode 100644 index 00000000..31959a41 --- /dev/null +++ b/include/REL/mgmodedll.h @@ -0,0 +1,91 @@ +#ifndef MGMODEDLL_H +#define MGMODEDLL_H + +#include "game/data.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" +#include "game/object.h" +#include "game/objsub.h" + +#include "game/sprite.h" +#include "game/window.h" +#include "game/pad.h" + +typedef struct datalist_model { + s32 datanum; + u32 attr; + s16 type; + s16 link; + s16 mot_link; + Vec pos; + Vec rot; + Vec scale; +} DataListModel; + +typedef struct datalist_sprite { + u32 datanum; + s16 attr; + s16 prio; + float x; + float y; + GXColor color; +} DataListSprite; + +typedef struct struct_bss8_24 { + u8 unk0[0x5C]; + s32 unk5C; + s32 unk60; + s32 unk64; + s32 unk68; + s32 unk6C; + u8 unk70[0x20]; +} StructBss8_24; + +typedef struct struct_bss8 { + s32 unk0; + s32 unk4; + s32 unk8; + s32 unkC; + s32 unk10; + s32 unk14; + s32 unk18; + s32 unk1C; + s32 unk20; + StructBss8_24 unk24[4]; +} StructBss8; + +extern s16 lbl_1_bss_2C80[13]; +extern s16 lbl_1_bss_2C66[13]; +extern s16 lbl_1_bss_2C2C[29]; +extern s16 lbl_1_bss_20C0[10][70]; +extern s16 lbl_1_bss_20AC[10]; +extern StructBss8 lbl_1_bss_8; + +extern s16 lbl_1_data_A2[]; +extern DataListModel lbl_1_data_490[]; +extern DataListSprite lbl_1_data_768[]; + +s32 fn_1_6D28(void); +void fn_1_D8D0(void); +s32 fn_1_E72C(void); +s32 fn_1_13418(void); + +void fn_1_18DF8(Process *arg0, StructBss8 *arg1); + +void fn_1_19018(void); +s32 fn_1_194C8(s32 arg0); + +void fn_1_25584(s16 arg0); +s32 fn_1_2530C(s32 arg0, s32 arg1, s32 arg2); +void fn_1_25838(s16 arg0, u32 arg1, s32 arg2, s32 arg3); +s32 fn_1_2592C(u32 arg0, s32 arg1, s32 arg2); +s32 fn_1_25CA8(u32 arg0); +void fn_1_25E74(s16 arg0); + +void fn_1_267E8(DataListModel *model_list); +void fn_1_26A78(DataListSprite *sprite_list); +void fn_1_26C28(void); + +void fn_1_279FC(s32 coinSkipF); + +#endif \ No newline at end of file diff --git a/src/REL/mgmodedll/datalist.c b/src/REL/mgmodedll/datalist.c new file mode 100644 index 00000000..8afb7b0a --- /dev/null +++ b/src/REL/mgmodedll/datalist.c @@ -0,0 +1,131 @@ +#include "REL/mgmodedll.h" + +DataListModel lbl_1_data_490[] = { + { 0x620000, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620001, 0x40000001, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620002, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620003, 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620004, 0, 1, -1, 2, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x62005E, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x62005F, 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620060, 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620061, 0, 1, -1, 5, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620005, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620006, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620007, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { 0x620008, 0x1, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, + { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }, +}; + +DataListSprite lbl_1_data_768[] = { + { 0x62000C, 0, 10, 288, -200, { 255, 255, 255, 255 } }, + { 0x620009, 0, 10, 288, -200, { 255, 255, 255, 255 } }, + { 0x62000A, 0, 10, 288, -200, { 255, 255, 255, 255 } }, + { 0x62000D, 4, 100, 288, 240, { 255, 255, 255, 255 } }, + { 0x620018, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001A, 4, 20, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001B, 4, 30, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001C, 4, 40, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001D, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001E, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x62001F, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x620020, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x620021, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x620025, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x62000E, 4, 210, 288, 240, { 255, 255, 255, 255 } }, + { 0x62000F, 4, 210, 288, 240, { 255, 255, 255, 255 } }, + { 0x620019, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x620028, 4, 10, 288, 240, { 255, 255, 255, 255 } }, + { 0x620028, 4, 10, 288, 240, { 255, 255, 255, 255 } }, + { 0x62002A, 4, 10, 288, 240, { 255, 255, 255, 255 } }, + { 0x62002E, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x62002F, 4, 200, 288, 240, { 255, 255, 255, 255 } }, + { 0x620032, 4, 5, 288, 240, { 255, 255, 255, 255 } }, + { 0x620031, 4, 4, 288, 240, { 255, 255, 255, 255 } }, + { 0x620030, 4, 4, 288, 240, { 255, 255, 255, 255 } }, + { 0x620029, 4, 4, 288, 240, { 255, 255, 255, 255 } }, + { 0x620029, 4, 4, 288, 240, { 255, 255, 255, 255 } }, + { 0x620033, 4, 50, 288, 240, { 255, 255, 255, 255 } }, + { 0x620034, 4, 50, 288, 256, { 255, 255, 255, 255 } }, + { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, +}; + +void fn_1_267E8(DataListModel *model_list) +{ + DataListModel *list; + s16 i; + s16 model; + s16 clear_i; + ModelData *model_ptr; + void *data; + list = model_list; + for(clear_i=0; clear_i<13; clear_i++) { + lbl_1_bss_2C80[clear_i] = lbl_1_bss_2C66[clear_i] = -1; + } + for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) { + if(list->type == 0) { + data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA); + model = Hu3DModelCreate(data); + lbl_1_bss_2C80[i] = model; + Hu3DModelAttrSet(model, list->attr); + Hu3DModelPosSetV(model, &list->pos); + Hu3DModelRotSetV(model, &list->rot); + Hu3DModelScaleSetV(model, &list->scale); + model_ptr = &Hu3DData[model]; + if(model_ptr->unk_08 != -1) { + lbl_1_bss_2C66[i] = model_ptr->unk_08; + } + } else if(list->type == 1) { + data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA); + lbl_1_bss_2C66[i] = Hu3DJointMotion(lbl_1_bss_2C80[list->mot_link], data); + + } + (void)i; + } + list = model_list; + for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) { + if(list->type == 2) { + model = Hu3DModelLink(lbl_1_bss_2C80[list->link]); + lbl_1_bss_2C80[i] = model; + Hu3DModelAttrSet(model, list->attr); + Hu3DModelPosSetV(model, &list->pos); + Hu3DModelRotSetV(model, &list->rot); + Hu3DModelScaleSetV(model, &list->scale); + } + if(list->type == 0 && list->mot_link != -1) { + Hu3DMotionSet(lbl_1_bss_2C80[i], lbl_1_bss_2C66[list->mot_link]); + } + (void)i; + } +} + +void fn_1_26A78(DataListSprite *sprite_list) +{ + DataListSprite *list; + s16 sprite; + s16 clear_i; + s16 i; + list = sprite_list; + for(clear_i=0; clear_i<29; clear_i++) { + lbl_1_bss_2C2C[clear_i] = -1; + } + for(i=0; list->datanum; i++, list++) { + sprite = espEntry(list->datanum, 100, 0); + lbl_1_bss_2C2C[i] = sprite; + espPosSet(sprite, list->x, list->y); + espColorSet(sprite, list->color.r, list->color.g, list->color.b); + espTPLvlSet(sprite, list->color.a/255.0f); + espPriSet(sprite, list->prio); + espAttrSet(sprite, list->attr); + } +} + +void fn_1_26BB0(void) +{ + s16 i; + for(i=0; i<29; i++) { + if(lbl_1_bss_2C2C[i] != -1) { + espKill(lbl_1_bss_2C2C[i]); + } + } +} \ No newline at end of file diff --git a/src/REL/mgmodedll/mgmode.c b/src/REL/mgmodedll/mgmode.c new file mode 100644 index 00000000..763a8cd3 --- /dev/null +++ b/src/REL/mgmodedll/mgmode.c @@ -0,0 +1,1340 @@ +#include "REL/mgmodedll.h" +#include "game/gamework_data.h" +#include "game/esprite.h" +#include "game/audio.h" +#include "game/wipe.h" +#include "game/saveload.h" + +#include "rel_sqrt_consts.h" +#include "ext_math.h" + +typedef struct camera_view_params { + Vec rot; + Vec pos; + float zoom; +} CameraViewParams; + +CameraViewParams lbl_1_data_0[1] = { + { + { -5, 0, 0 }, + { 0, 125, 0 }, + 1750 + } +}; + +omObjData *lbl_1_bss_2DC; +Process *lbl_1_bss_2D8; +s32 lbl_1_bss_2D4; +s32 lbl_1_bss_2D0; +s16 lbl_1_bss_2CE; +s16 lbl_1_bss_2CC; +Vec lbl_1_bss_2C0; +Vec lbl_1_bss_2B4; +float lbl_1_bss_2B0; +s16 lbl_1_bss_2A8[4]; +s16 lbl_1_bss_2A6; +s16 lbl_1_bss_2A4; +Vec lbl_1_bss_28C[2]; +Vec lbl_1_bss_274[2]; +float lbl_1_bss_26C[2]; +StructBss8 lbl_1_bss_8; +s16 lbl_1_bss_4; +s32 lbl_1_bss_0; + +void fn_1_464(void); +void fn_1_54F4(void); + +void ObjectSetup(void) +{ + s32 glight; + + OSReport("******* MG ObjectSetup *********\n"); + lbl_1_bss_2D8 = omInitObjMan(50, 8192); + lbl_1_bss_28C[0].x = -70; + lbl_1_bss_28C[0].y = 0; + lbl_1_bss_28C[0].z = 0; + lbl_1_bss_274[0].x = 0; + lbl_1_bss_274[0].y = 130; + lbl_1_bss_274[0].z = -186; + lbl_1_bss_26C[0] = 1360; + lbl_1_bss_2C0 = lbl_1_bss_28C[0]; + lbl_1_bss_2B4 = lbl_1_bss_274[0]; + lbl_1_bss_2B0 = lbl_1_bss_26C[0]; + lbl_1_bss_2D0 = 0; + _ClearFlag(0x10000); + _ClearFlag(0x10008); + GWSystem.mg_type = -1; + GWSystem.player_curr = 0; + lbl_1_bss_4 = omovlevtno; + if(lbl_1_bss_4 == 0) { + mgGameStatBackup = GWGameStat; + } + lbl_1_bss_2CE = -1; + mgBoardHostEnableF = 1; + mgPracticeEnableF = 0; + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 42, 20, 15000, 1.2f); + Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); + glight = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); + Hu3DGLightInfinitytSet(glight); + HuPrcChildCreate(fn_1_464, 100, 12288, 0, lbl_1_bss_2D8); + HuPrcChildCreate(fn_1_54F4, 200, 4096, 0, lbl_1_bss_2D8); + lbl_1_bss_2DC = omAddObjEx(lbl_1_bss_2D8, 32730, 0, 0, -1, omOutView); + Hu3DBGColorSet(0, 0, 0); + HuWinInit(1); + fn_1_279FC(0); +} + +void fn_1_52DC(void); + +void fn_1_6F8(void); + +void fn_1_464(void) +{ + s16 i; + fn_1_52DC(); + if(lbl_1_bss_4 == 0) { + HuAudSStreamPlay(12); + fn_1_19018(); + } else { + HuAudSeqPlay(44); + for(i=0; i<4; i++) { + lbl_1_bss_8.unk24[i].unk68 = GWPlayerCfg[i].character; + lbl_1_bss_8.unk24[i].unk60 = GWPlayerCfg[i].iscom; + lbl_1_bss_8.unk24[i].unk6C = GWPlayerCfg[i].pad_idx; + lbl_1_bss_8.unk24[i].unk64 = GWPlayerCfg[i].diff; + } + CZoom = 1600; + Center.x = Center.z = 0; + Center.y = 215; + CRot.x = 0; + CRot.y = CRot.z = 0; + if(lbl_1_bss_4 == 1 || lbl_1_bss_4 == 2 || lbl_1_bss_4 == 3 || lbl_1_bss_4 == 4) { + Hu3DModelPosSet(lbl_1_bss_2C80[5], 0, 0, 640); + Hu3DMotionSet(lbl_1_bss_2C80[5], lbl_1_bss_2C66[6]); + Hu3DModelAttrSet(lbl_1_bss_2C80[5], 0x40000001); + HuPrcVSleep(); + } + } + fn_1_6F8(); + fn_1_2592C(0x1E0035, 3, 0); + fn_1_25584(lbl_1_bss_2CE); + while(1) { + HuPrcVSleep(); + } +} + +Vec lbl_1_data_40[4] = { + { 108, 190, 0 }, + { 228, 190, 0 }, + { 348, 190, 0 }, + { 468, 190, 0 }, +}; + +void fn_1_DF0(void); +void fn_1_38D8(void); +void fn_1_4010(void); + +s32 fn_1_487C(void); +void fn_1_4ADC(void); + +void fn_1_6F8(void) +{ + s16 i; + s16 time; + if(lbl_1_bss_4 == 1 || lbl_1_bss_4 == 2 || lbl_1_bss_4 == 3 || lbl_1_bss_4 == 4) { + lbl_1_bss_2A6 = 0; + goto freeplay; + } + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DMotionTimeSet(lbl_1_bss_2C80[9], 0); + for(time=0; time<=30; time++) { + for(i=0; i<4; i++) { + if(time > i*2 && time < (i*2)+20) { + float weight = (time-(i*2))/20.0; + Vec pos2D = lbl_1_data_40[i]; + Vec pos3D; + pos2D.z = 800; + pos2D.y -= (1.0-sind(weight*90.0f))*300.0; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } + while(1) { + if(lbl_1_bss_2CE == -1) { + lbl_1_bss_2CE = fn_1_2530C(0, 0, 0); + } + HuWinPushKeySet(lbl_1_bss_2CE, PAD_BUTTON_A|PAD_BUTTON_B); + HuWinMesSpeedSet(lbl_1_bss_2CE, 1); + HuAudFXPlay(68); + fn_1_25838(lbl_1_bss_2CE, 0x280001, -1, -1); + lbl_1_bss_2CC = fn_1_25CA8(0x280018); + lbl_1_bss_2A6 = 0; + espPosSet(lbl_1_bss_2C2C[0], -20+lbl_1_data_40[lbl_1_bss_2A6].x, -10+lbl_1_data_40[lbl_1_bss_2A6].y); + espAttrReset(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + HuWinMesSpeedSet(lbl_1_bss_2CE, 0); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A6+0x280002, -1, -999); + while(1) { + s16 delta = 0; + if((HuPadDStkRep[0] & PAD_BUTTON_LEFT) && lbl_1_bss_2A6 > 0) { + delta = -1; + } else if((HuPadDStkRep[0] & PAD_BUTTON_RIGHT) && lbl_1_bss_2A6 < 3) { + delta = 1; + } + if(delta != 0) { + HuAudFXPlay(0); + lbl_1_bss_2A6 += delta; + espPosSet(lbl_1_bss_2C2C[0], -20+lbl_1_data_40[lbl_1_bss_2A6].x, -10+lbl_1_data_40[lbl_1_bss_2A6].y); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A6+0x280002, -1, -999); + } + if(HuPadBtnDown[0] & PAD_BUTTON_A) { + HuAudFXPlay(2); + if(lbl_1_bss_2A6 != 2) { + break; + } + if(fn_1_487C() == 0) { + continue; + } + break; + } + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + s16 choice; + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25838(lbl_1_bss_2CE, 0x280006, -1, -1); + choice = HuWinChoiceGet(lbl_1_bss_2CE, 1); + if(choice != 0) { + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A6+0x280002, -1, -999); + espAttrReset(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + continue; + } else { + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2D0 = 1; + while(1) { + HuPrcVSleep(); + } + } + } + HuPrcVSleep(); + } + fn_1_25E74(lbl_1_bss_2CC); + lbl_1_bss_4 = 0; + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + if(lbl_1_bss_2A6 == 0) { + freeplay: + fn_1_DF0(); + } else if(lbl_1_bss_2A6 == 1) { + fn_1_38D8(); + } else if(lbl_1_bss_2A6 == 2) { + fn_1_4010(); + } else if(lbl_1_bss_2A6 == 3) { + fn_1_4ADC(); + } + + } + + +} + +s32 fn_1_1B0C(void); +s32 fn_1_21C4(void); +s32 fn_1_2940(void); +s32 fn_1_3150(void); + +void fn_1_DF0(void) +{ + s16 exitF = 0; + s16 time; + s16 i; + ModelData *modelP; + Vec pos2D; + Vec pos3D; + + Vec posModel; + float weight; + + if(lbl_1_bss_4 == 1) { + lbl_1_bss_2A4 = 0; + goto freeplay; + } + if(lbl_1_bss_4 == 2) { + lbl_1_bss_2A4 = 1; + goto teamplay; + } + if(lbl_1_bss_4 == 3) { + lbl_1_bss_2A4 = 2; + goto battle; + } + if(lbl_1_bss_4 == 4) { + lbl_1_bss_2A4 = 3; + goto tictactoe; + } + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(time=0; time<=30; time++) { + for(i=1; i<4; i++) { + if(time > i*2 && time < (i*2)+10) { + Vec pos; + weight = (time-(i*2))/10.0; + pos = lbl_1_data_40[i]; + pos.z = 800; + pos.x += (1.0-cosd(weight*90.0f))*500.0; + Hu3D2Dto3D(&pos, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + if(time > 10) { + weight = (time-10)/20.0; + VECScale(&pos2D, &pos3D, sind(weight*90.0f)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + } + if(time == 20) { + HuAudFXPlay(2173); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + } + HuPrcVSleep(); + } + while(Hu3DMotionEndCheck(lbl_1_bss_2C80[9]) == 0) { + HuPrcVSleep(); + } + while(1) { + HuWinMesSpeedSet(lbl_1_bss_2CE, 1); + HuAudFXPlay(68); + fn_1_25838(lbl_1_bss_2CE, 0x280007, -1, -1); + lbl_1_bss_2CC = fn_1_25CA8(0x1A0020); + fn_1_25838(lbl_1_bss_2CE, 0x280008, -1, -999); + espAttrReset(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + lbl_1_bss_2A4 = 0; + espPosSet(lbl_1_bss_2C2C[0], -20+(168.0f+(lbl_1_bss_2A4*80)), 180); + while(1) { + s16 delta = 0; + if((HuPadDStkRep[0] & PAD_BUTTON_LEFT) && lbl_1_bss_2A4 > 0) { + delta = -1; + } else if((HuPadDStkRep[0] & PAD_BUTTON_RIGHT) && lbl_1_bss_2A4 < 3) { + delta = 1; + } + if(delta != 0) { + HuAudFXPlay(0); + lbl_1_bss_2A4 += delta; + espPosSet(lbl_1_bss_2C2C[0], -20+(168.0f+(lbl_1_bss_2A4*80)), 180); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4+0x280008, -1, -999); + } + if(HuPadBtnDown[0] & PAD_BUTTON_A) { + HuAudFXPlay(2); + if(lbl_1_bss_2A4 == 0 && lbl_1_bss_20AC[0] == 0 && lbl_1_bss_20AC[1] == 0 && lbl_1_bss_20AC[2] == 0 && lbl_1_bss_20AC[3] == 0 && lbl_1_bss_20AC[4] == 0) { + fn_1_25838(lbl_1_bss_2CE, 0x280031, -1, -1); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4+0x280008, -1, -999); + continue; + } + if(lbl_1_bss_2A4 == 2 && lbl_1_bss_20AC[0] == 0 && lbl_1_bss_20AC[1] == 0 && lbl_1_bss_20AC[2] == 0 && lbl_1_bss_20AC[4] == 0) { + fn_1_25838(lbl_1_bss_2CE, 0x280033, -1, -1); + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4+0x280008, -1, -999); + continue; + } + if((lbl_1_bss_2A4 == 1 || lbl_1_bss_2A4 == 3) && lbl_1_bss_20AC[2] == 0) { + if(lbl_1_bss_2A4 == 1) { + fn_1_25838(lbl_1_bss_2CE, 0x280032, -1, -1); + } else { + fn_1_25838(lbl_1_bss_2CE, 0x28002F, -1, -1); + } + fn_1_25838(lbl_1_bss_2CE, lbl_1_bss_2A4+0x280008, -1, -999); + continue; + } + break; + } + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + HuAudFXPlay(3); + exitF = 1; + break; + } + HuPrcVSleep(); + } + fn_1_25E74(lbl_1_bss_2CC); + if(exitF != 0) { + break; + } + if(lbl_1_bss_2A4 == 0) { + freeplay: + fn_1_1B0C(); + } else if(lbl_1_bss_2A4 == 1) { + teamplay: + fn_1_21C4(); + } else if(lbl_1_bss_2A4 == 2) { + battle: + fn_1_2940(); + } else if(lbl_1_bss_2A4 == 3) { + tictactoe: + fn_1_3150(); + } + if(lbl_1_bss_2CE == -1) { + lbl_1_bss_2CE = fn_1_2530C(0, 0, 0); + } + HuWinPushKeySet(lbl_1_bss_2CE, PAD_BUTTON_A|PAD_BUTTON_B); + } + lbl_1_bss_4 = 0; + pos2D = lbl_1_data_40[0]; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + HuAudFXPlay(2174); + for(time=0; time<=20; time++) { + VECScale(&pos2D, &pos3D, sind(time*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + HuPrcVSleep(); + } + for(time=0; time<=20; time++) { + for(i=1; i<4; i++) { + if(time > i*2 && time < (i*2)+10) { + weight = (time-(i*2))/10.0; + pos2D = lbl_1_data_40[i]; + pos2D.z = 800; + pos2D.x += (1.0-sind(weight*90.0f))*500.0; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } +} + +s32 fn_1_1B0C(void) +{ + Vec pos2D; + Vec posModel; + Vec pos3D; + s16 i; + ModelData *modelP; + s16 temp_r29 = 0; + + if(lbl_1_bss_4 == 1) { + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90, 0, 0); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 1); + } else { + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000002); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + HuAudFXPlay(2174); + HuPrcSleep(40); + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(i=0; i<=20; i++) { + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90.0*(i/20.0), 0, 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } + charsel: + if(fn_1_194C8(temp_r29) == 0) { + goto exit; + } + temp_r29 = 4; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + } + } + mgPracticeEnableF = 1; + if(fn_1_6D28()) { + lbl_1_bss_4 = 0; + goto charsel; + } + exit: + mgPracticeEnableF = 0; + lbl_1_bss_4 = 0; + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + for(i=0; i<=20; i++) { + if(i == 10) { + HuAudFXPlay(2173); + } + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90.0*(1-(i/20.0)), 0, 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } +} + +s32 fn_1_21C4(void) +{ + Vec pos2D; + Vec posModel; + Vec pos3D; + s16 i; + ModelData *modelP; + s16 temp_r29 = 1; + if(lbl_1_bss_4 == 2) { + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 0, -90, 90); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 1); + } else { + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000002); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + HuAudFXPlay(2174); + HuPrcSleep(40); + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(i=0; i<=20; i++) { + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 0, -90.0*(i/20.0), 90.0*(i/20.0)); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } + charsel: + if(fn_1_194C8(temp_r29) == 0) { + goto exit; + } + temp_r29 = 4; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].group = lbl_1_bss_8.unk24[i].unk5C; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + + } + } + mgPracticeEnableF = 1; + if(fn_1_6D28()) { + lbl_1_bss_4 = 0; + goto charsel; + } + exit: + mgPracticeEnableF = 0; + lbl_1_bss_4 = 0; + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + for(i=0; i<=20; i++) { + if(i == 10) { + HuAudFXPlay(2173); + } + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 0, -90.0*(1.0-(i/20.0)), 90.0*(1.0-(i/20.0))); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } +} + +s32 fn_1_2940(void) +{ + Vec pos2D; + Vec posModel; + Vec pos3D; + s16 temp_r29 = 2; + s16 i; + ModelData *modelP; + for(i=0; i<4; i++) { + Hu3DModelLayerSet(lbl_1_bss_2C80[i+9], 2); + } + if(lbl_1_bss_4 == 3) { + OSReport("Eliminate Play STart\n"); + pos2D.x = 50; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90, 180, 0); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 1); + } else { + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000002); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + HuAudFXPlay(2174); + HuPrcSleep(40); + pos2D.x = 50; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(i=0; i<=20; i++) { + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0*-(i/20.0), 180.0*(i/20.0), 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } + charsel: + if(fn_1_194C8(temp_r29) == 0) { + goto exit; + } + temp_r29 = 4; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].group = lbl_1_bss_8.unk24[i].unk5C; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + } + mgBattleStarMax = lbl_1_bss_8.unk20; + } + + if(fn_1_E72C() == 0) { + lbl_1_bss_4 = 0; + goto charsel; + } + exit: + HuDataDirClose(DATADIR_INSTPIC); + for(i=0; i<4; i++) { + Hu3DModelLayerSet(lbl_1_bss_2C80[i+9], 3); + } + lbl_1_bss_4 = 0; + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + for(i=0; i<=20; i++) { + if(i == 10) { + HuAudFXPlay(2173); + } + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0*-(1-(i/20.0)), 180.0*(1-(i/20.0)), 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } +} + +s32 fn_1_3150(void) +{ + Vec pos2D; + Vec posModel; + Vec pos3D; + s16 i; + ModelData *modelP; + s16 temp_r29 = 1; + if(lbl_1_bss_4 == 4) { + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], -90, 90, 0); + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000002); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 1); + } else { + Hu3DModelAttrSet(lbl_1_bss_2C80[9], 0x40000004); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000002); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + HuAudFXPlay(2174); + HuPrcSleep(40); + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(i=0; i<=20; i++) { + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0*-(i/20.0), 90.0*(i/20.0), 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } + charsel: + if(fn_1_194C8(temp_r29) == 0) { + goto exit; + } + temp_r29 = 4; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].group = lbl_1_bss_8.unk24[i].unk5C; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + } + mgBattleStarMax = lbl_1_bss_8.unk20; + } + + if(fn_1_13418() == 0) { + lbl_1_bss_4 = 0; + goto charsel; + } + exit: + HuDataDirClose(DATADIR_INSTPIC); + lbl_1_bss_4 = 0; + pos2D.x = 168; + pos2D.y = 190; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50; + modelP = &Hu3DData[lbl_1_bss_2C80[9]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + Hu3DModelAttrReset(lbl_1_bss_2C80[9], 0x40000006); + for(i=0; i<=20; i++) { + if(i == 10) { + HuAudFXPlay(2173); + } + VECScale(&pos2D, &pos3D, sind(i*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[9], &pos3D); + Hu3DModelRotSet(lbl_1_bss_2C80[9], 90.0*-(1-(i/20.0)), 90.0*(1-(i/20.0)), 0); + HuPrcVSleep(); + } + while(!Hu3DMotionEndCheck(lbl_1_bss_2C80[9])) { + HuPrcVSleep(); + } +} + +void fn_1_38D8(void) +{ + Vec pos2D; + Vec pos3D; + Vec posModel; + + s16 sp8 = 0; + s16 time; + s16 i; + float weight; + ModelData *modelP; + + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[10]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(time=0; time<=30; time++) { + for(i=0; i<4; i++) { + if(i == 1) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + Vec posBox; + weight = (time-(i*2))/10.0; + posBox = lbl_1_data_40[i]; + posBox.z = 800; + posBox.x += ((i < 2) ? -1 : 1)*(500.0*(1.0-cosd(90.0f*weight))); + Hu3D2Dto3D(&posBox, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + if(time > 10) { + weight = (time-10)/20.0; + VECScale(&pos2D, &pos3D, sind(weight*90.0f)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[10], &pos3D); + } + HuPrcVSleep(); + } + fn_1_6D28(); + pos2D = lbl_1_data_40[1]; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[10]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + for(time=0; time<=20; time++) { + VECScale(&pos2D, &pos3D, sind(time*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[10], &pos3D); + HuPrcVSleep(); + } + for(time=0; time<=20; time++) { + for(i=0; i<4; i++) { + if(i == 1) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + weight = (time-(i*2))/10.0; + pos2D = lbl_1_data_40[i]; + pos2D.z = 800; + pos2D.x += ((i < 2) ? -1 : 1)*((1.0-sind(weight*90.0f))*500.0); + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } +} + +void fn_1_4010(void) +{ + Vec pos2D; + Vec pos3D; + Vec posModel; + + s16 spA[4]; + s16 sp8 = 0; + s16 time; + s16 i; + float weight; + ModelData *modelP; + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + pos2D.x = 60; + pos2D.y = 70; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[11]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(time=0; time<=30; time++) { + for(i=0; i<4; i++) { + if(i == 2) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + Vec posBox; + weight = (time-(i*2))/10.0; + posBox = lbl_1_data_40[i]; + posBox.z = 800; + posBox.x += ((i < 3) ? -1 : 1)*(500.0*(1.0-cosd(90.0f*weight))); + Hu3D2Dto3D(&posBox, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + if(time > 10) { + weight = (time-10)/20.0; + VECScale(&pos2D, &pos3D, sind(weight*90.0f)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[11], &pos3D); + } + HuPrcVSleep(); + } + fn_1_6D28(); + for(i=0; i<4; i++) { + spA[i] = 0; + for(time=0; time= 4 && spA[1] >= 3 && spA[2] >= 3 && spA[3] >= 2) { + GWGameStat.field10E_bit5 = 1; + } else { + GWGameStat.field10E_bit5 = 0; + } + pos2D = lbl_1_data_40[2]; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[11]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + for(time=0; time<=20; time++) { + VECScale(&pos2D, &pos3D, sind(time*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[11], &pos3D); + HuPrcVSleep(); + } + for(time=0; time<=20; time++) { + for(i=0; i<4; i++) { + if(i == 2) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + weight = (time-(i*2))/10.0; + pos2D = lbl_1_data_40[i]; + pos2D.z = 800; + pos2D.x += ((i < 3) ? -1 : 1)*((1.0-sind(weight*90.0f))*500.0); + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } +} + +s32 fn_1_487C(void) +{ + s16 i; + char str[4][6]; + + for(i=0; i<4; i++) { + strcpy(&str[i][0], "\x1E\x03""0""\x1E\x08"); + } + if(lbl_1_bss_20AC[0] >= 4 && lbl_1_bss_20AC[1] >= 3 && lbl_1_bss_20AC[2] >= 3 && lbl_1_bss_20AC[4] >= 2) { + return 1; + } + if(lbl_1_bss_20AC[0] >= 4) { + str[0][1] = 5; + } else { + str[0][2] = '4'-lbl_1_bss_20AC[0]; + } + HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[0][0]), 0); + if(lbl_1_bss_20AC[1] >= 3) { + str[1][1] = 5; + } else { + str[1][2] = '3'-lbl_1_bss_20AC[1]; + } + HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[1][0]), 1); + if(lbl_1_bss_20AC[2] >= 3) { + str[2][1] = 5; + } else { + str[2][2] = '3'-lbl_1_bss_20AC[2]; + } + HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[2][0]), 2); + if(lbl_1_bss_20AC[4] >= 2) { + str[3][1] = 5; + } else { + str[3][2] = '2'-lbl_1_bss_20AC[4]; + } + HuWinInsertMesSet(lbl_1_bss_2CE, MAKE_MESSID_PTR(&str[3][0]), 3); + fn_1_25838(lbl_1_bss_2CE, 0x28002A, -1, -1); + fn_1_25838(lbl_1_bss_2CE, 0x28002B, -1, -1); + fn_1_25838(lbl_1_bss_2CE, 0x280002+lbl_1_bss_2A6, -1, -999); + return 0; +} + +void fn_1_4ADC(void) +{ + Vec pos2D; + Vec pos3D; + Vec posModel; + + s16 spA[4]; + s16 sp8 = 0; + s16 time; + s16 i; + float weight; + ModelData *modelP; + fn_1_25E74(lbl_1_bss_2CC); + fn_1_25584(lbl_1_bss_2CE); + lbl_1_bss_2CE = lbl_1_bss_2CC = -1; + pos2D.x = 50; + pos2D.y = 64; + pos2D.z = 1000; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[11]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + for(time=0; time<=30; time++) { + for(i=0; i<4; i++) { + if(i == 3) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + Vec posBox; + weight = (time-(i*2))/10.0; + posBox = lbl_1_data_40[i]; + posBox.z = 800; + posBox.x += ((i < 3) ? -1 : 1)*(500.0*(1.0-cosd(90.0f*weight))); + Hu3D2Dto3D(&posBox, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + if(time > 10) { + weight = (time-10)/20.0; + VECScale(&pos2D, &pos3D, sind(weight*90.0f)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[12], &pos3D); + weight = (1.0-(weight*0.1)); + Hu3DModelScaleSet(lbl_1_bss_2C80[12], weight, weight, weight); + } + HuPrcVSleep(); + } + fn_1_D8D0(); + pos2D = lbl_1_data_40[3]; + pos2D.z = 800; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + modelP = &Hu3DData[lbl_1_bss_2C80[12]]; + posModel = modelP->pos; + VECSubtract(&pos3D, &posModel, &pos2D); + espAttrSet(lbl_1_bss_2C2C[0], HUSPR_ATTR_DISPOFF); + for(time=0; time<=20; time++) { + VECScale(&pos2D, &pos3D, sind(time*4.5)); + VECAdd(&posModel, &pos3D, &pos3D); + Hu3DModelPosSetV(lbl_1_bss_2C80[12], &pos3D); + weight = 1.0-(0.1*(1.0-(time/20.0))); + Hu3DModelScaleSet(lbl_1_bss_2C80[12], weight, weight, weight); + HuPrcVSleep(); + } + for(time=0; time<=20; time++) { + for(i=0; i<4; i++) { + if(i == 3) { + continue; + } + if(time > i*2 && time < (i*2)+10) { + weight = (time-(i*2))/10.0; + pos2D = lbl_1_data_40[i]; + pos2D.z = 800; + pos2D.x += ((i < 3) ? -1 : 1)*((1.0-sind(weight*90.0f))*500.0); + Hu3D2Dto3D(&pos2D, 1, &pos3D); + pos3D.z -= 50.0f; + Hu3DModelPosSetV(lbl_1_bss_2C80[i+9], &pos3D); + Hu3DModelAttrReset(lbl_1_bss_2C80[i+9], 1); + } + } + HuPrcVSleep(); + } +} + +void fn_1_65EC(void); + +void fn_1_52DC(void) +{ + s16 i; + fn_1_65EC(); + fn_1_267E8(lbl_1_data_490); + fn_1_26A78(lbl_1_data_768); + Hu3DMotionSet(lbl_1_bss_2C80[2], lbl_1_bss_2C66[4]); + Hu3DMotionTimeSet(lbl_1_bss_2C80[0], 0); + Hu3DModelAttrSet(lbl_1_bss_2C80[0], 0x40000002); + HuSprExecLayerSet(64, 3); + espDrawNoSet(lbl_1_bss_2C2C[3], 64); + for(i=0; i<4; i++) { + Hu3DModelLayerSet(lbl_1_bss_2C80[i+9], 3); + } + fn_1_26C28(); + espDrawNoSet(lbl_1_bss_2C2C[28], 64); + Hu3DModelPosSet(lbl_1_bss_2C80[5], 0, 0, 500); + lbl_1_bss_8.unk0 = lbl_1_bss_2C80[2]; + lbl_1_bss_8.unk8 = lbl_1_bss_2C66[4]; + lbl_1_bss_8.unk4 = lbl_1_bss_2C66[3]; + lbl_1_bss_8.unkC = lbl_1_bss_2C80[5]; + lbl_1_bss_8.unk10 = lbl_1_bss_2C66[6]; + lbl_1_bss_8.unk14 = lbl_1_bss_2C66[7]; + lbl_1_bss_8.unk18 = lbl_1_bss_2C66[6]; + fn_1_18DF8(lbl_1_bss_2D8, &lbl_1_bss_8); + Hu3DModelShadowSet(lbl_1_bss_2C80[5]); + Hu3DModelShadowMapSet(lbl_1_bss_2C80[0]); +} + +void fn_1_6C18(void); + +void fn_1_54F4(void) +{ + while(1) { + if(lbl_1_bss_2D0) { + break; + } + if(omSysExitReq) { + break; + } + HuPrcVSleep(); + } + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudSeqAllFadeOut(1000); + while(WipeStatGet()) { + HuPrcVSleep(); + } + HuDataDirClose(DATADIR_INSTPIC); + if(memcmp(&mgGameStatBackup, &GWGameStat, sizeof(GWGameStat))) { + fn_1_6C18(); + } + BoardStatusKill(); + omOvlReturnEx(1, 1); + HuPrcEnd(); +} + + +static u16 lbl_1_data_8C[2] = { + 1, + 2 +}; + +void fn_1_55C0(omObjData *object) +{ + s16 i; + for(i=0; i<1; i++) { + Vec pos, target, up; + float x, y, z; + + x = lbl_1_bss_28C[i].x; + y = lbl_1_bss_28C[i].y; + z = lbl_1_bss_28C[i].z; + + pos.x = (((sind(y)*cosd(x))*lbl_1_bss_26C[i])+lbl_1_bss_274[i].x); + pos.y = (-sind(x)*lbl_1_bss_26C[i])+lbl_1_bss_274[i].y; + pos.z = ((cosd(y)*cosd(x))*lbl_1_bss_26C[i])+lbl_1_bss_274[i].z; + target.x = lbl_1_bss_274[i].x; + target.y = lbl_1_bss_274[i].y; + target.z = lbl_1_bss_274[i].z; + up.x = sind(y)*sind(x); + up.y = cosd(x); + up.z = cosd(y)*sind(x); + Hu3DCameraPosSet(lbl_1_data_8C[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); + } +} + +void fn_1_66B0(void); + +void fn_1_5974(omObjData *object) +{ + Vec pos; + Vec offset; + Vec dir; + Vec y_offset; + + f32 z_rot; + s8 stick_pos; + if(HuPadBtnDown[0] & PAD_BUTTON_Y) { + lbl_1_bss_0 = (lbl_1_bss_0) ? 0 : 1; + } + if(lbl_1_bss_0 == 0) { + fn_1_66B0(); + return; + } + lbl_1_bss_28C[0].y += 0.1f * HuPadStkX[0]; + lbl_1_bss_28C[0].x += 0.1f * HuPadStkY[0]; + lbl_1_bss_26C[0] += HuPadTrigL[0] / 2; + lbl_1_bss_26C[0] -= HuPadTrigR[0] / 2; + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + OSReport("%f,%f,%f\n", lbl_1_bss_28C[0].x, lbl_1_bss_28C[0].y, lbl_1_bss_28C[0].z); + OSReport("%f,%f,%f\n", lbl_1_bss_274[0].x, lbl_1_bss_274[0].y, lbl_1_bss_274[0].z); + OSReport("%f\n", lbl_1_bss_26C[0]); + } + if (lbl_1_bss_26C[0] < 100.0f) { + lbl_1_bss_26C[0] = 100.0f; + } + pos.x = lbl_1_bss_274[0].x + (lbl_1_bss_26C[0] * (sind(lbl_1_bss_28C[0].y) * cosd(lbl_1_bss_28C[0].x))); + pos.y = (lbl_1_bss_274[0].y + (lbl_1_bss_26C[0] * -sind(lbl_1_bss_28C[0].x))); + pos.z = (lbl_1_bss_274[0].z + (lbl_1_bss_26C[0] * (cosd(lbl_1_bss_28C[0].y) * cosd(lbl_1_bss_28C[0].x)))); + offset.x = lbl_1_bss_274[0].x - pos.x; + offset.y = lbl_1_bss_274[0].y - pos.y; + offset.z = lbl_1_bss_274[0].z - pos.z; + dir.x = (sind(lbl_1_bss_28C[0].y) * sind(lbl_1_bss_28C[0].x)); + dir.y = cosd(lbl_1_bss_28C[0].x); + dir.z = (cosd(lbl_1_bss_28C[0].y) * sind(lbl_1_bss_28C[0].x)); + z_rot = lbl_1_bss_28C[0].z; + y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) + + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) + + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); + + y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) + + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) + + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); + + y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) + + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) + + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); + + PSVECCrossProduct(&dir, &offset, &offset); + PSVECNormalize(&offset, &offset); + stick_pos = (HuPadSubStkX[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_274[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_274[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_274[0].z += 0.05f * (offset.z * stick_pos); + } + PSVECNormalize(&y_offset, &offset); + stick_pos = -(HuPadSubStkY[0] & 0xF8); + if (stick_pos != 0) { + lbl_1_bss_274[0].x += 0.05f * (offset.x * stick_pos); + lbl_1_bss_274[0].y += 0.05f * (offset.y * stick_pos); + lbl_1_bss_274[0].z += 0.05f * (offset.z * stick_pos); + } +} + +void fn_1_65EC(void) +{ + Vec pos = { 0, 3000, 800 }; + Vec target = { 0, 0, 640 }; + Vec up = { 0, 1, 0 }; + Hu3DShadowCreate(45, 2000, 25000); + Hu3DShadowTPLvlSet(0.8f); + Hu3DShadowPosSet(&pos, &up, &target); +} + +void fn_1_66B0(void) +{ + Vec deltaVec; + float delta; + + if(lbl_1_bss_2D0) { + return; + } + VECSubtract(&lbl_1_bss_2C0, &lbl_1_bss_28C[0], &deltaVec); + if(VECMag(&deltaVec) > 0.2) { + VECScale(&deltaVec, &deltaVec, 0.05f); + VECAdd(&lbl_1_bss_28C[0], &deltaVec, &lbl_1_bss_28C[0]); + } else { + lbl_1_bss_28C[0] = lbl_1_bss_2C0; + } + VECSubtract(&lbl_1_bss_2B4, &lbl_1_bss_274[0], &deltaVec); + if(VECMag(&deltaVec) > 0.2) { + VECScale(&deltaVec, &deltaVec, 0.05f); + VECAdd(&lbl_1_bss_274[0], &deltaVec, &lbl_1_bss_274[0]); + } else { + lbl_1_bss_274[0] = lbl_1_bss_2B4; + } + delta = lbl_1_bss_2B0-lbl_1_bss_26C[0]; + if(sqrtf(delta*delta) > 0.2) { + delta *= 0.05f; + lbl_1_bss_26C[0] += delta; + } else { + lbl_1_bss_26C[0] = lbl_1_bss_2B0; + } +} + +void fn_1_6974(s16 arg0) +{ + lbl_1_bss_2C0 = lbl_1_data_0[arg0].rot; + lbl_1_bss_2B4 = lbl_1_data_0[arg0].pos; + lbl_1_bss_2B0 = lbl_1_data_0[arg0].zoom; +} + +void fn_1_6A04(s16 arg0) +{ + lbl_1_bss_2C0 = lbl_1_bss_28C[0] = lbl_1_data_0[arg0].rot; + lbl_1_bss_2B4 = lbl_1_bss_274[0] = lbl_1_data_0[arg0].pos; + lbl_1_bss_2B0 = lbl_1_bss_26C[0] = lbl_1_data_0[arg0].zoom; +} + +float fn_1_6AF0(void) +{ + float delta = lbl_1_bss_2B0-lbl_1_bss_26C[0]; + return sqrtf(delta*delta); +} + +void fn_1_6C18(void) +{ + s16 sprite; + if(!SLSaveFlagGet()) { + return; + } + Hu3DAllKill(); + HuSprClose(); + HuSprInit(); + espInit(); + HuPrcVSleep(); + sprite = espEntry(0x860020, 5000, 0); + espPosSet(sprite, 288.0, 240.0); + espAttrReset(sprite, 4); + Hu3DBGColorSet(0, 0, 0); + WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); + while(WipeStatGet()) { + HuPrcVSleep(); + } + SLCommonSet(); + if(!SLSave()) { + GWSaveModeSet(1); + } + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20); + while(WipeStatGet()) { + HuPrcVSleep(); + } +} \ No newline at end of file diff --git a/src/REL/mgmodedll/minigame.c b/src/REL/mgmodedll/minigame.c new file mode 100644 index 00000000..b11c24a8 --- /dev/null +++ b/src/REL/mgmodedll/minigame.c @@ -0,0 +1,276 @@ +#include "REL/mgmodedll.h" +#include "game/gamework_data.h" +#include "game/gamework.h" +#include "game/wipe.h" +#include "game/audio.h" + +#include "game/chrman.h" + +#include "math.h" + + +s16 lbl_1_bss_2C80[13]; +s16 lbl_1_bss_2C66[13]; +s16 lbl_1_bss_2C2C[29]; +s16 lbl_1_bss_2C24[4]; +s16 lbl_1_bss_2C1C[4]; +s16 lbl_1_bss_2C14[4]; +s16 lbl_1_bss_2BC4[4][10]; +s16 lbl_1_bss_264C[10][70]; +s16 lbl_1_bss_2638[10]; +s16 lbl_1_bss_20C0[10][70]; +s16 lbl_1_bss_20AC[10]; +s16 lbl_1_bss_20AA; +s16 lbl_1_bss_20A8; + +s32 lbl_1_data_9C0[8] = { + 0x005F0000, + 0x001A0000, + 0x006D0000, + 0x008A0000, + 0x00850000, + 0x00110000, + 0x000D0000, + 0x00810000 +}; + +s32 lbl_1_data_9E0[8] = { + 0x005E0000, + 0x00190000, + 0x006C0000, + 0x00890000, + 0x00840000, + 0x00100000, + 0x000C0000, + 0x00800000 +}; + +s16 lbl_1_data_A00 = -1; + +void fn_1_26C54(s16 layer); + +void fn_1_26C28(void) +{ + Hu3DLayerHookSet(2, fn_1_26C54); +} + +void fn_1_26C54(s16 layer) +{ + Mtx44 proj; + Mtx modelview; + Vec pos, target, up; + GXColor color; + CameraData *camera = &Hu3DCamera[0]; + MTXPerspective(proj, camera->fov, camera->aspect, camera->near, camera->far); + GXSetProjection(proj, GX_PERSPECTIVE); + GXSetViewport(0, 0, 640, 480, 0, 1); + GXSetScissor(0, 0, 640, 480); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); + color.a = 255; + GXSetTevColor(GX_TEVREG0, color); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetNumTexGens(0); + GXSetNumTevStages(01); + GXSetCullMode(GX_CULL_NONE); + GXSetAlphaCompare(GX_GEQUAL, 0, GX_AOP_AND, GX_GEQUAL, 0); + GXSetZMode(GX_TRUE, GX_ALWAYS, GX_TRUE); + pos.x = pos.y = pos.z = 0; + target.x = target.y = 0; + target.z = -100; + up.x = up.z = 0; + up.y = 1; + MTXLookAt(modelview, &pos, &up, &target); + GXLoadPosMtxImm(modelview, GX_PNMTX0); + pos.x = (10000.0f*(-sin(camera->fov/2.0f)))*1.2f; + pos.y = (10000.0f*(-sin(camera->fov/2.0f)))*(5.0f/6.0f); + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3f32(-pos.x, -pos.y, -10000.0f); + GXPosition3f32(pos.x, -pos.y, -10000.0f); + GXPosition3f32(pos.x, pos.y, -10000.0f); + GXPosition3f32(-pos.x, pos.y, -10000.0f); + GXEnd(); +} + +void fn_1_27080(void) +{ + s16 i; + s32 status; + CharModelDataClose(-1); + CharKill(-1); + for(i=0; i<4; i++) { + status = HuDataDirReadAsync(lbl_1_data_9C0[GWPlayerCfg[i].character]); + if(status != -1) { + while(!HuDataGetAsyncStat(status)) { + HuPrcVSleep(); + } + } + CharARAMOpen(GWPlayerCfg[i].character); + } + for(i=0; i<2; i++) { + status = HuDataDirReadAsync(lbl_1_data_9E0[GWPlayerCfg[i].character]); + if(status != -1) { + while(!HuDataGetAsyncStat(status)) { + HuPrcVSleep(); + } + } + } + lbl_1_bss_20AA = 0; + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } +} + + +s16 fn_1_271B4(s16 mgNo, s16 x, s16 y) +{ + s16 time; + AnimData *anim; + s16 sprite; + s32 mgpic; + if(mgNo == -1) { + if(lbl_1_data_A00 == -1) { + return; + } + for(time=0; time<=10; time++) { + HuSprGrpTPLvlSet(lbl_1_data_A00, 1.0-(time/10.0)); + HuPrcVSleep(); + } + HuSprGrpKill(lbl_1_data_A00); + lbl_1_data_A00 = -1; + return; + } + + if(lbl_1_data_A00 != -1) { + HuSprGrpKill(lbl_1_data_A00); + } + lbl_1_data_A00 = HuSprGrpCreate(1); + mgpic = mgInfoTbl[mgNo].mg_pic[0]; + if(GWMGAvailGet(mgNo+401)) { + anim = HuSprAnimReadFile(mgpic); + } else { + anim = HuSprAnimReadFile(0x62002C); + } + sprite = HuSprCreate(anim, 100, 0); + HuSprGrpMemberSet(lbl_1_data_A00, 0, sprite); + HuSprGrpPosSet(lbl_1_data_A00, x, y); + HuSprGrpScaleSet(lbl_1_data_A00, 0.55f, 0.55f); + HuSprGrpDrawNoSet(lbl_1_data_A00, 64); + return lbl_1_data_A00; +} + +void fn_1_27418(void) +{ + s16 i; + s16 j; + for(i=0; i<4; i++) { + lbl_1_bss_2C1C[i] = i; + } + for(i=0; i<4; i++) { + for(j=0; j<3-i; j++) { + if(GWPlayerCfg[lbl_1_bss_2C1C[j]].group > GWPlayerCfg[lbl_1_bss_2C1C[j+1]].group) { + s16 temp = lbl_1_bss_2C1C[j]; + lbl_1_bss_2C1C[j] = lbl_1_bss_2C1C[j+1]; + lbl_1_bss_2C1C[j+1] = temp; + } + } + } + for(i=0; i<4; i++) { + s16 charNo; + lbl_1_bss_2C24[i] = charNo = GWPlayerCfg[lbl_1_bss_2C1C[i]].character; + lbl_1_bss_2C14[i] = CharModelCreate(charNo, 2); + lbl_1_bss_2BC4[i][0] = CharModelMotionCreate(charNo, 0x5F0000); + lbl_1_bss_2BC4[i][1] = CharModelMotionCreate(charNo, 0x5F0002); + lbl_1_bss_2BC4[i][2] = CharModelMotionCreate(charNo, 0x5F0003); + lbl_1_bss_2BC4[i][3] = CharModelMotionCreate(charNo, 0x5F0048); + lbl_1_bss_2BC4[i][4] = CharModelMotionCreate(charNo, 0x5F0049); + lbl_1_bss_2BC4[i][5] = CharModelMotionCreate(charNo, 0x5F0017); + lbl_1_bss_2BC4[i][6] = CharModelMotionCreate(charNo, 0x5F0018); + CharModelVoiceEnableSet(GWPlayerCfg[lbl_1_bss_2C1C[i]].character, lbl_1_bss_2BC4[i][1], 0); + CharModelVoiceEnableSet(GWPlayerCfg[lbl_1_bss_2C1C[i]].character, lbl_1_bss_2BC4[i][2], 0); + Hu3DModelPosSet(lbl_1_bss_2C14[i], 600, 0, 800); + Hu3DModelLayerSet(lbl_1_bss_2C14[i], 3); + CharModelDataClose(charNo); + Hu3DModelShadowSet(lbl_1_bss_2C14[i]); + } +} + +void fn_1_2783C(s16 evtno) +{ + s16 i; + omOvlHisData *his; + for(i=0; i<4; i++) { + GWPlayerCfg[i].character = lbl_1_bss_8.unk24[i].unk68; + GWPlayerCfg[i].iscom = lbl_1_bss_8.unk24[i].unk60; + GWPlayerCfg[i].pad_idx = lbl_1_bss_8.unk24[i].unk6C; + GWPlayerCfg[i].diff = lbl_1_bss_8.unk24[i].unk64; + } + WipeColorSet(255, 255, 255); + WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); + HuAudSeqAllFadeOut(1000); + while(WipeStatGet()) { + HuPrcVSleep(); + } + CharKill(-1); + for(i=0; i<4; i++) { + CharARAMOpen(GWPlayerCfg[i].character); + } + HuAudVoiceInit(-1); + his = omOvlHisGet(0); + omOvlHisChg(0, OVL_MGMODE, evtno, his->stat); + omOvlCallEx(OVL_INST, 1, 0, 0); + while(1) { + HuPrcVSleep(); + } +} + +void fn_1_279FC(s32 coinSkipF) +{ + s16 i; + s16 mgNum; + for(mgNum=0; mgInfoTbl[mgNum].ovl != 65535; mgNum++); + for(i=0; i<9; i++) { + lbl_1_bss_2638[i] = lbl_1_bss_20AC[i] = 0; + } + for(i=0; i= 0 && type < 9) { + if(coinSkipF) { + s16 ovl = mgInfoTbl[i].ovl; + if(ovl == OVL_M408 || ovl == OVL_M422 || ovl == OVL_M430) { + continue; + } + } + lbl_1_bss_264C[type][lbl_1_bss_2638[type]] = i; + lbl_1_bss_2638[type]++; + if(GWMGAvailGet(i+401)) { + lbl_1_bss_20C0[type][lbl_1_bss_20AC[type]] = i; + lbl_1_bss_20AC[type]++; + } + } + } +} + +void fn_1_27C0C(s16 type) +{ + s16 i; + s16 j; + for(i=0; i<256;) { + for(j=0; j 256) { + break; + } + mgIndexList[i] = lbl_1_bss_20C0[type][j]; + } + } + for(i=0; i<256; i++) { + mgIndexList[i]; + } + lbl_801D3E94 = 0; +} \ No newline at end of file From 25ae7c4182e0fb958433b702772be1da7d232d71 Mon Sep 17 00:00:00 2001 From: kabiskac Date: Thu, 1 Aug 2024 19:21:15 +0200 Subject: [PATCH 2/4] Did parts of m438Dll/main.c --- config/GMPE01_00/rels/m438Dll/symbols.txt | 466 +-- include/REL/m438Dll.h | 36 + src/REL/m438Dll/fire.c | 0 src/REL/m438Dll/main.c | 3677 +++++++++++++++++++++ src/REL/m438Dll/map.c | 0 5 files changed, 3946 insertions(+), 233 deletions(-) create mode 100644 include/REL/m438Dll.h create mode 100644 src/REL/m438Dll/fire.c create mode 100644 src/REL/m438Dll/main.c create mode 100644 src/REL/m438Dll/map.c diff --git a/config/GMPE01_00/rels/m438Dll/symbols.txt b/config/GMPE01_00/rels/m438Dll/symbols.txt index e77fafa8..8b3796d8 100644 --- a/config/GMPE01_00/rels/m438Dll/symbols.txt +++ b/config/GMPE01_00/rels/m438Dll/symbols.txt @@ -143,245 +143,245 @@ fn_1_12AC0 = .text:0x00012AC0; // type:function size:0x98 fn_1_12B58 = .text:0x00012B58; // type:function size:0x40 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x10 data:4byte -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 data:double -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float -lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float -lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 data:float -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 data:double -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float -lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float -lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float -lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float -lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float -lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 data:float -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float -lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 data:double -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float -lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float -lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 data:double -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 data:double -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float -lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float -lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float -lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float -lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float -lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float -lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 data:float -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float -lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float -lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 data:float -lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 data:float -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 data:double -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 data:float -lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 data:float -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 data:double -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 data:double -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float -lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float -lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x30 data:4byte -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x10 data:byte -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x10 scope:local data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float +lbl_1_rodata_214 = .rodata:0x00000214; // type:object size:0x4 scope:local data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float +lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float +lbl_1_rodata_224 = .rodata:0x00000224; // type:object size:0x4 scope:local data:float +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float +lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float +lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float +lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float +lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float +lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float +lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float +lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float +lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float +lbl_1_rodata_354 = .rodata:0x00000354; // type:object size:0x4 scope:local data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float +lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x8 scope:local data:double +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float +lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float +lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x8 scope:local data:double +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x4 scope:local data:float +lbl_1_rodata_404 = .rodata:0x00000404; // type:object size:0x4 scope:local data:float +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x8 scope:local data:double +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x4 scope:local data:float +lbl_1_rodata_41C = .rodata:0x0000041C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float +lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 scope:local data:double +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x8 scope:local data:double +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x8 scope:local data:double +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float +lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float +lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x30 scope:local data:4byte +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x10 scope:local data:byte +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x8 scope:local data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0xC lbl_1_data_C = .data:0x0000000C; // type:object size:0xC lbl_1_data_18 = .data:0x00000018; // type:object size:0x4 lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC lbl_1_data_28 = .data:0x00000028; // type:object size:0xC lbl_1_data_34 = .data:0x00000034; // type:object size:0xC -lbl_1_data_40 = .data:0x00000040; // type:object size:0x24 +lbl_1_data_40 = .data:0x00000040; // type:object size:0x24 data:string lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte lbl_1_data_68 = .data:0x00000068; // type:object size:0x420 lbl_1_data_488 = .data:0x00000488; // type:object size:0x2C diff --git a/include/REL/m438Dll.h b/include/REL/m438Dll.h new file mode 100644 index 00000000..798483ee --- /dev/null +++ b/include/REL/m438Dll.h @@ -0,0 +1,36 @@ +#ifndef M438DLL_H +#define M438DLL_H + +#include "game/object.h" + +void fn_1_B4D8(Process *arg0); +void fn_1_B548(); +s32 fn_1_DA64(float arg8); +s32 fn_1_DEA0(float arg8); +float fn_1_E488(float arg8, float arg9, float argA); +float fn_1_E5A4(float arg8, float arg9); + +void fn_1_E658(s16 arg0, s16 arg1); +s16 fn_1_10258(s32 arg0, s32 arg1); +void fn_1_107BC(s16 arg0); +void fn_1_108E4(s16 arg0, s32 arg1, s32 arg2); +s16 fn_1_10910(u32 arg0, s16 arg1, s16 arg2); +s8 fn_1_11018(s16 arg0, u8 arg1, u32 arg2); +void fn_1_11658(void); +void fn_1_11890(s16 arg0, float arg8, float arg9, float argA); +void fn_1_118FC(s16 arg0, s16 arg1, float arg8, float arg9, float argA); +void fn_1_11B78(s16 arg0, s16 arg1, float arg8, float arg9, float argA); +void fn_1_11CC8(s16 arg0, s16 arg1, float arg8, float arg9, float argA); +void fn_1_11E18(s16 arg0, s16 arg1, float arg8, float arg9, float argA); +void fn_1_11F68(s16 arg0, s16 arg1, float arg8, float arg9, float argA); +void fn_1_1204C(s16 arg0, s32 arg1); +void fn_1_12090(s16 arg0, s16 arg1, s32 arg2); +void fn_1_12100(s16 arg0, s32 arg1); +void fn_1_12174(s16 arg0, s32 arg1); +void fn_1_12378(s16 arg0, s16 arg1, s8 arg2, s8 arg3, s8 arg4, u8 arg5); +void fn_1_124CC(s16 arg0, s8 arg1); +void fn_1_12538(s16 arg0, s16 arg1, s8 arg2); +void fn_1_1274C(s16 arg0, s16 arg1, u8 arg2, s8 arg3); +void fn_1_128C8(s16 arg0, s16 arg1, u8 arg2, float arg8); + +#endif diff --git a/src/REL/m438Dll/fire.c b/src/REL/m438Dll/fire.c new file mode 100644 index 00000000..e69de29b diff --git a/src/REL/m438Dll/main.c b/src/REL/m438Dll/main.c new file mode 100644 index 00000000..de52de93 --- /dev/null +++ b/src/REL/m438Dll/main.c @@ -0,0 +1,3677 @@ +#include "ext_math.h" +#include "game/audio.h" +#include "game/chrman.h" +#include "game/hsfdraw.h" +#include "game/hsfman.h" +#include "game/hsfmotion.h" +#include "game/minigame_seq.h" +#include "game/objsub.h" +#include "game/pad.h" +#include "game/sprite.h" +#include "game/wipe.h" +#include "rel_sqrt_consts.h" + +#include "REL/m438Dll.h" + +typedef struct M438MainWork { + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u8 unk_04; + u8 unk_05; + u8 unk_06; + u8 unk_07; + char unk08[2]; + u8 unk_0A; + u8 unk_0B; + u8 unk_0C; + u8 unk_0D; + u8 unk_0E; + u8 unk_0F; + s32 unk_10; + s32 unk_14; + s16 unk_18; + s16 unk_1A; + s16 unk_1C; + s16 unk_1E; + s16 unk_20; + s16 unk_22; + float unk_24; + float unk_28; + float unk_2C; + float unk_30; + s32 unk_34; + s32 unk_38; + float unk_3C; + u32 unk_40; + u32 unk_44; + float unk_48; + Vec unk_4C; + Vec unk_58; + s32 unk_64; + s32 unk_68; + Vec unk_6C; + float unk_78; + float unk_7C; + float unk_80; + float unk_84; + float unk_88; + float unk_8C; + Vec unk_90; + float unk_9C; + float unk_A0; + s32 unk_A4; + s32 unk_A8; + float unk_AC; + float unk_B0; + float unk_B4; + char unkB8[0x34]; + u8 unk_EC; + u8 unk_ED; + char unkEE[2]; + char unk_F0[0x40]; // unknown type +} M438MainWork; /* size = 0x130 */ + +typedef struct M438MainWork2 { + char unk00[0x6C]; + Vec unk_6C; + char unk78[0x0C]; + Vec unk_84; + Vec unk_90; +} M438MainWork2; /* size = */ // TODO maybe same as M438MainWork? + +typedef struct M438MainWork3 { + u8 unk_00; + Vec unk_04; + Vec unk_10; + Vec unk_1C; + Vec unk_28; + Vec unk_34; + Vec unk_40; + Vec unk_4C; + Vec unk_58; + Vec unk_64[3]; + float unk_88[3][3]; + Vec unk_AC[3]; + float unk_D0[3][3]; + float unk_F4[3]; + float unk_100[3]; + float unk_10C[3]; + float unk_118[3]; + float unk_124[3]; + float unk_130; + float unk_134; + float unk_138; + float unk_13C; + float unk_140; + float unk_144; + float unk_148; + float unk_14C[3]; + float unk_158[3]; + float unk_164[3]; + float unk_170[3]; + float unk_17C[3]; + u16 unk_188[3]; +} M438MainWork3; /* size = */ + +typedef struct M438MainWork4 { + s8 unk_00; + char unk04[11]; + float unk_0C; + float unk_10; + float unk_14; + float unk_18; + float unk_1C; + float unk_20; + float unk_24; + char unk28[4]; + float unk_2C; + char unk30[4]; + Vec unk_34; + char unk40[0xC]; +} M438MainWork4; /* size = 0x4C */ + +typedef struct M438StructBss298 { + /* 0x00 */ u8 unk_00; + u8 unk_01; + s8 unk_02; + char unk03; + s16 unk_04; + s16 unk_06; + s16 unk_08; + s16 unk_0A; + float unk_0C; + float unk_10; + float unk_14; + Vec unk_18; + Vec unk_24; +} M438StructBss298; /* size = 0x30 */ + +typedef struct M438UnkStruct { + char unk00[0x5C]; + s8 unk_5C; + char unk5D[0x3B]; +} M438UnkStruct; /* size = 0x98 */ + +typedef struct M438UnkStruct2 { + char unk00[0x30]; + void *unk_30; // TODO type + char unk34[8]; + M438UnkStruct *unk_3C; + char unk40[0x3C]; + s16 unk_7C; + s16 unk_7E; + float unk_80; + float unk_84; + float unk_88; + float unk_8C; + float unk_90; + char unk94[0x28]; +} M438UnkStruct2; /* size = 0xBC */ + +typedef struct M438StructBssDE4 { + /* 0x00 */ char unk00[0x36]; + s16 unk_36; + s16 unk_38; + s16 unk_3A; + char unk3C[4]; + M438UnkStruct2 *unk_40; +} M438StructBssDE4; /* size = */ + +void fn_1_1174(omObjData *object); +void fn_1_1204(omObjData *object); +void fn_1_13A0(omObjData *object); +void fn_1_1F0C(omObjData *object); +void fn_1_2070(omObjData *); +void fn_1_2564(float arg8, Vec *arg0, Vec *arg1, float arg9); +void fn_1_28E4(u8 arg0, u16 arg1, float arg9, float argA, float argB); +void fn_1_2964(omObjData *object); +void fn_1_2D50(omObjData *object); +void fn_1_2E4C(omObjData *object); +void fn_1_35BC(omObjData *object); +void fn_1_35C0(omObjData *object); +void fn_1_4374(omObjData *object); +void fn_1_4724(omObjData *object); +void fn_1_4984(omObjData *object); +void fn_1_4DC(omObjData *object); +void fn_1_4F50(omObjData *object); +void fn_1_4FC(omObjData *object); +void fn_1_5D4C(void *arg0); +void fn_1_62BC(void *arg0); +void fn_1_63B0(void *arg0); +void fn_1_6A3C(void *arg0); +void fn_1_7300(void *arg0); +void fn_1_7B58(omObjData *object); +void fn_1_7BBC(void); +void *fn_1_7BFC(s32 arg0); +void fn_1_7D30(void); +s32 fn_1_7DB4(void); +void fn_1_7DD8(s32 arg0, s32 *arg1); +float fn_1_7EDC(float arg8, float arg9, float argA); +void fn_1_8164(float *arg0, Vec *arg1); +void fn_1_8C34(float *arg0, float *arg1, float *arg2, s32 arg3); +float fn_1_8EEC(float *arg0, float *arg1, float *arg2, float arg8); +void fn_1_9040(float *arg0, Vec *arg1, float arg2[3][3], s32 arg3); +void fn_1_9420(float *arg0, float *arg1, float arg2[3][3], float arg3[3][3], s32 arg4, float arg8); +float fn_1_9634(Vec *arg0); +void fn_1_974(omObjData *object); +float fn_1_9960(Vec *arg0, Vec *arg1, Vec *arg2); +float fn_1_A14C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3); +void fn_1_A60C(omObjData *object); +void fn_1_A688(omObjData *object); +void fn_1_A68C(ModelData *model, Mtx matrix); +s32 fn_1_AE18(u32 arg0, Vec *arg1, Vec *arg2); +float fn_1_B440(Vec *arg0, Vec *arg1, Vec *arg2); + +Vec lbl_1_data_0 = { 1000.0f, 3000.0f, 1000.0f }; +Vec lbl_1_data_C = { -0.4f, -0.6f, -0.1f }; +GXColor lbl_1_data_18 = { 0xFF, 0xD0, 0xD0, 0xFF }; +Vec lbl_1_data_1C = { 500.0f, 3000.0f, 500.0f }; +Vec lbl_1_data_28 = { 0.0f, 1.0f, 0.0f }; +Vec lbl_1_data_34 = { 0.0f, 0.0f, 0.0f }; + +s32 lbl_1_data_64 = -1; +Vec lbl_1_data_68[10][8]; // TODO not right +s32 lbl_1_data_488[0xB] = { 0, 2, 3, 8, 0xA, 9, 0x13, 0xD, 0x10, 0x17, 0x18 }; + +Vec lbl_1_data_4B4[4] = { + { -400.0f, 1600.0f, -400.0f }, + { 400.0f, 1600.0f, -400.0f }, + { -400.0f, 1600.0f, 400.0f }, + { 400.0f, 1600.0f, 400.0f }, +}; + +Vec lbl_1_data_514 = { -850.0f, 0.0f, -850.0f }; + +s32 lbl_1_data_520[0x19] = { + 0xFFFFFF9E, + 0xFFFFFF9F, + 0xFFFFFFA0, + 0xFFFFFFA1, + 0xFFFFFFA2, + 0xFFFFFFCE, + 0xFFFFFFCF, + 0xFFFFFFD0, + 0xFFFFFFD1, + 0xFFFFFFD2, + 0xFFFFFFFE, + 0xFFFFFFFF, + 0, + 1, + 2, + 0x2E, + 0x2F, + 0x30, + 0x31, + 0x32, + 0x5E, + 0x5F, + 0x60, + 0x61, + 0x62, +}; + +u32 lbl_1_data_584[0x19] = { + 0x50, + 0x64, + 0x78, + 0x64, + 0x50, + 0x64, + 0x8C, + 0xA0, + 0x8C, + 0x64, + 0x78, + 0xA0, + 0xB4, + 0xA0, + 0x78, + 0x64, + 0x8C, + 0xA0, + 0x8C, + 0x64, + 0x50, + 0x64, + 0x78, + 0x64, + 0x50, +}; + +s32 lbl_1_data_5E8[9] = { 0, 0xFFFFFFCF, 0xFFFFFFD0, 0xFFFFFFD1, 0xFFFFFFFF, 1, 0x2F, 0x30, 0x31 }; + +Vec lbl_1_data_60C[9] = { + { 0.0f, 0.0f, 0.0f }, + { -35.416668f, 0.0f, -35.416668f }, + { 0.0f, 0.0f, -35.416668f }, + { 35.416668f, 0.0f, -35.416668f }, + { -35.416668f, 0.0f, 0.0f }, + { 35.416668f, 0.0f, 0.0f }, + { -35.416668f, 0.0f, 35.416668f }, + { 0.0f, 0.0f, 35.416668f }, + { 35.416668f, 0.0f, 35.416668f }, +}; + +s32 lbl_1_data_678[9] = { 0, 0xFFFFFF9E, 0xFFFFFF70, 0xFFFFFFA2, 0xFFFFFFFD, 3, 0x5E, 0x90, 0x62 }; + +Vec lbl_1_data_69C[9] = { + { 0.0f, 0.0f, 0.0f }, + { -70.833336f, 0.0f, -70.833336f }, + { 0.0f, 0.0f, -106.25f }, + { 70.833336f, 0.0f, -70.833336f }, + { -106.25f, 0.0f, 0.0f }, + { 106.25f, 0.0f, 0.0f }, + { -70.833336f, 0.0f, 70.833336f }, + { 0.0f, 0.0f, 106.25f }, + { 70.833336f, 0.0f, 70.833336f }, +}; + +s32 lbl_1_data_708[9] = { 0, 0xFFFFFFED, 0xFFFFFFEE, 0xFFFFFFEF, 0xFFFFFFFF, 1, 0x11, 0x12, 0x13 }; +s32 lbl_1_data_72C[9] = { 0, 0xFFFFFFDA, 0xFFFFFFCA, 0xFFFFFFDE, 0xFFFFFFFD, 3, 0x22, 0x36, 0x26 }; + +M438StructBssDE4 lbl_1_bss_DE4; +omObjData *lbl_1_bss_DE0; +omObjData *lbl_1_bss_DDC; +omObjData *lbl_1_bss_DD8; +omObjData *lbl_1_bss_DD4; +omObjData *lbl_1_bss_DC4[4]; +omObjData *lbl_1_bss_DC0; +omObjData *lbl_1_bss_DBC; +u16 lbl_1_bss_DBA; +s16 lbl_1_bss_DB8; +s16 lbl_1_bss_DB6; +s16 lbl_1_bss_DB4; +s16 lbl_1_bss_DB2; +s16 lbl_1_bss_DAA[4]; +s16 lbl_1_bss_DA8; +s32 lbl_1_bss_DA4; +void *lbl_1_bss_BA4[0x80]; +u32 lbl_1_bss_B98; +M438StructBss298 lbl_1_bss_298[48]; +s32 lbl_1_bss_294; +u16 lbl_1_bss_C[0x144]; +s32 lbl_1_bss_8; +s32 lbl_1_bss_4; + +void ObjectSetup(void) +{ + Process *var_r31; + s32 var_r30; + omObjData *var_r29; + s32 var_r28; + LightData *var_r27; + s32 var_r26; + + OSReport("******* M438ObjectSetup *********\n"); + Hu3DLighInit(); + var_r28 = Hu3DGLightCreateV(&lbl_1_data_0, &lbl_1_data_C, &lbl_1_data_18); + Hu3DGLightSpotSet(var_r28, 80.0f, 2); + Hu3DGLightInfinitytSet(var_r28); + var_r27 = Hu3DGlobalLight; + var_r27->unk_00 |= 0x8000; + var_r31 = omInitObjMan(0x32, 0x2000); + var_r26 = frand() & 0x1F; + for (var_r30 = 0; var_r30 < var_r26; var_r30++) { + fn_1_7DB4(); + } + CRot.x = -40.0f; + CRot.y = 0.0f; + CRot.z = 0.0f; + Center.x = 0.0f; + Center.y = -10.0f; + Center.z = 50.0f; + CZoom = 2075.0f; + Hu3DCameraCreate(1); + Hu3DCameraPerspectiveSet(1, 45.0f, 50.0f, 8000.0f, 1.2f); + Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); + Hu3DCameraScissorSet(1, 0, 0, 0x280, 0x1E0); + lbl_1_bss_DDC = omAddObjEx(var_r31, 0x7FDA, 0, 0, -1, omOutView); + lbl_1_bss_DE0 = omAddObjEx(var_r31, 0x10, 8, 0, -1, fn_1_4DC); + lbl_1_bss_DD4 = omAddObjEx(var_r31, 0x20, 0x10, 0, -1, fn_1_1204); + lbl_1_bss_DD8 = omAddObjEx(var_r31, 0x50, 0x10, 0, -1, fn_1_1F0C); + lbl_1_bss_DC0 = omAddObjEx(var_r31, 0x40, 2, 4, -1, fn_1_4724); + omAddObjEx(var_r31, 0x60, 0, 0, -1, fn_1_7B58); + omMakeGroupEx(var_r31, 0, 4); + omGetGroupMemberListEx(var_r31, 0); + for (var_r30 = 0; var_r30 < 4; var_r30++) { + var_r29 = omAddObjEx(var_r31, 0x30, 2, 0xB, 0, fn_1_2964); + lbl_1_bss_DC4[var_r30] = var_r29; + var_r29->work[0] = var_r30; + var_r29->work[1] = var_r30; + } + lbl_1_bss_DBC = omAddObjEx(var_r31, 0x30, 1, 0, 0, fn_1_A60C); + Hu3DShadowCreate(30.0f, 100.0f, 25000.0f); + Hu3DShadowTPLvlSet(0.4f); + Hu3DShadowPosSet(&lbl_1_data_1C, &lbl_1_data_28, &lbl_1_data_34); + fn_1_B4D8(var_r31); + omGameSysInit(var_r31); + HuAudSndGrpSet(0x40); + WipeCreate(1, 0, 60); + fn_1_7BBC(); + fn_1_E658(0x60, 0x40); +} + +void fn_1_4DC(omObjData *object) +{ + lbl_1_bss_DBA = 0; + object->func = fn_1_4FC; +} + +void fn_1_4FC(omObjData *object) +{ + Vec sp14; + Vec sp8; + + float var_f31; + + switch (lbl_1_bss_DBA) { + case 0: + sp14.x = 0.0f; + sp14.y = 80.0f; + sp14.z = -1850.0f; + + sp8.x = 6.0f; + sp8.y = 0.0f; + sp8.z = 0.0f; + var_f31 = 800.0f; + fn_1_2564(1.0f, &sp14, &sp8, var_f31); + lbl_1_bss_DB2 = 0x48; + fn_1_28E4(1, 24.0f + lbl_1_bss_DB2, 10.0f, 0.999f, 90.0f); + fn_1_28E4(2, 24.0f + lbl_1_bss_DB2, 20.0f, 0.999f, 180.0f); + lbl_1_bss_DBA += 1; + fn_1_10910(DATA_MAKE_NUM(DATADIR_M438, 15), 0, 0); + fn_1_10910(DATA_MAKE_NUM(DATADIR_M438, 9), 0x40, 0x40); + fn_1_10910(DATA_MAKE_NUM(DATADIR_M438, 10), 0x40, 0x40); + break; + case 1: + if (--lbl_1_bss_DB2 == 0) { + lbl_1_bss_DB2 = 0x14; + lbl_1_bss_DBA += 1; + } + break; + case 3: + if (--lbl_1_bss_DB2 == 0) { + sp14.x = 0.0f; + sp14.y = -10.0f; + sp14.z = 50.0f; + + sp8.x = -40.0f; + sp8.y = 0.0f; + sp8.z = 0.0f; + var_f31 = 2075.0f; + lbl_1_bss_DB2 = 0x3C; + fn_1_2564(lbl_1_bss_DB2, &sp14, &sp8, var_f31); + lbl_1_bss_DBA += 1; + } + break; + case 4: + if (--lbl_1_bss_DB2 == 0) { + lbl_1_bss_DBA += 1; + } + break; + case 5: + lbl_1_bss_DBA = 6; + lbl_1_bss_DB8 = lbl_1_bss_DB6 = -1; + object->func = fn_1_974; + break; + } + if (omSysExitReq != 0 && WipeStatGet() == 0) { + WipeCreate(2, 0, 60); + object->func = fn_1_1174; + } +} + +void fn_1_974(omObjData *object) +{ + s32 var_r31; + s32 var_r30; + s32 var_r29; + s16 var_r28; + s32 var_r27; + M438MainWork *var_r25; + s32 var_r24; + + switch (lbl_1_bss_DBA) { + case 6: + if (lbl_1_bss_DB6 == -1) { + lbl_1_bss_DB4 = 0xE10; + lbl_1_bss_DB6 = MGSeqCreate(3, 0); + MGSeqPosSet(lbl_1_bss_DB6, 320.0f, 240.0f); + } + else { + if (MGSeqStatGet(lbl_1_bss_DB6) == 0) { + lbl_1_bss_DB8 = MGSeqCreate(1, lbl_1_bss_DB4 / 60, -1, -1); + for (var_r31 = 0; var_r31 < 4; var_r31++) { + lbl_1_bss_DAA[var_r31] = 0; + } + lbl_1_bss_DA8 = 4; + lbl_1_bss_DB6 = -1; + lbl_1_bss_DBA += 1; + lbl_1_bss_DB2 = 0; + } + } + if (lbl_1_data_64 == -1 && (MGSeqStatGet(lbl_1_bss_DB6) & 0x10) != 0) { + lbl_1_data_64 = HuAudSeqPlay(0x49); + } + lbl_1_bss_B98 = 0x12C; + break; + case 7: + var_r29 = 0; + lbl_1_bss_DB4--; + MGSeqParamSet(lbl_1_bss_DB8, 1, (lbl_1_bss_DB4 + 0x3B) / 60); + if (lbl_1_bss_DB4 == 0) { + var_r29++; + } + var_r28 = 0; + for (var_r31 = 0; var_r31 < 4; var_r31++) { + if (lbl_1_bss_DAA[var_r31] == 0) { + var_r28++; + } + } + if (var_r28 < 2) { + var_r29++; + } + if (var_r29 != 0) { + lbl_1_bss_DBA += 1; + } + break; + case 8: + if (lbl_1_bss_B98 != 0) { + lbl_1_bss_B98--; + } + var_r24 = 0; + for (var_r31 = 0; var_r31 < 4; var_r31++) { + if (lbl_1_bss_DAA[var_r31] != 0) { + var_r25 = lbl_1_bss_DC4[var_r31]->data; + if (var_r25->unk_10 == 0) { + var_r24 = 1; + } + } + } + if (lbl_1_bss_DB6 == -1) { + lbl_1_bss_DB6 = MGSeqCreate(3, 1); + MGSeqPosSet(lbl_1_bss_DB6, 320.0f, 240.0f); + if (lbl_1_bss_DB8 >= 0) { + MGSeqParamSet(lbl_1_bss_DB8, 2, -1); + lbl_1_bss_DB8 = -1; + } + HuAudSeqFadeOut(lbl_1_data_64, 0x3C); + } + else if ((MGSeqStatGet(lbl_1_bss_DB6) == 0) && (var_r24 == 0 || lbl_1_bss_B98 == 0)) { + lbl_1_bss_DB6 = -1; + lbl_1_bss_DB2 = 0x3C; + lbl_1_bss_DBA += 1; + } + break; + case 9: + if (--lbl_1_bss_DB2 == 0) { + for (var_r31 = 0; var_r31 < 4; var_r31++) { + if (lbl_1_bss_DAA[var_r31] == 0) { + break; + } + } + if (var_r31 < 4) { + for (var_r31 = 0; var_r31 < 4; var_r31++) { + var_r27 = 0; + for (var_r30 = 0; var_r30 < 4; var_r30++) { + if (lbl_1_bss_DAA[var_r30] < lbl_1_bss_DAA[var_r31]) { + var_r27++; + } + } + GWPlayerCoinWinSet(var_r31, var_r27); + } + } + else { + for (var_r31 = 0; var_r31 < 4; var_r31++) { + GWPlayerCoinWinSet(var_r31, 3); + } + } + var_r31 = 0; + var_r30 = 0; + for (; var_r31 < 4; var_r31++) { + if (lbl_1_bss_DAA[var_r31] == 0) { + lbl_1_bss_DAA[var_r30++] = GWPlayerCfg[var_r31].character; + } + } + for (; var_r30 < 4; var_r30++) { + lbl_1_bss_DAA[var_r30] = -1; + } + lbl_1_bss_DA4 = 0; + lbl_1_bss_DB2 = 0x3C; + lbl_1_bss_DBA += 1; + } + break; + case 10: + lbl_1_bss_DA4++; + if (lbl_1_bss_DB6 == -1) { + if (lbl_1_bss_DAA[0] == -1) { + HuAudSStreamPlay(4); + } + else { + HuAudSStreamPlay(1); + } + lbl_1_bss_DB6 = 0; + } + else if (lbl_1_bss_DA4 > 210.0f) { + lbl_1_bss_DB2 = 0xB4; + lbl_1_bss_DB6 = -1; + lbl_1_bss_DBA += 1; + } + break; + case 11: + WipeCreate(2, 0, 0x3C); + object->func = fn_1_1174; + break; + } + if (omSysExitReq != 0 && WipeStatGet() == 0) { + WipeCreate(2, 0, 0x3C); + object->func = fn_1_1174; + } +} + +void fn_1_1174(omObjData *object) +{ + if (WipeStatGet() == 0) { + CharModelKill(-1); + fn_1_11658(); + fn_1_7D30(); + fn_1_B548(); + HuAudFXListnerKill(); + if (lbl_1_bss_DB8 >= 0) { + MGSeqKill(lbl_1_bss_DB8); + lbl_1_bss_DB8 = -1; + } + MGSeqKillAll(); + HuAudFadeOut(1); + omOvlReturnEx(1, 1); + } +} + +void fn_1_1204(omObjData *object) +{ + M438StructBss298 *var_r31; + s32 var_r30; + s32 var_r29; + s32 var_r28; + + object->func = fn_1_13A0; + + for (var_r31 = lbl_1_bss_298, var_r30 = 0, var_r28 = 0; var_r30 < 10; var_r31++, var_r30++) { + for (var_r29 = 0; var_r29 < 8; var_r29++) { + if (lbl_1_data_68[var_r30][var_r29 + 1].y != 0.0f) { + break; + } + var_r31->unk_00 = 0; + var_r31->unk_02 = var_r30; + var_r31->unk_01 = var_r28 + 1; + + var_r31->unk_18 = lbl_1_data_68[var_r30][var_r29]; + PSVECSubtract(&lbl_1_data_68[var_r30][var_r29 + 1], &lbl_1_data_68[var_r30][var_r29], &var_r31->unk_24); + var_r31->unk_14 = PSVECMag(&var_r31->unk_24); + PSVECNormalize(&var_r31->unk_24, &var_r31->unk_24); + var_r31->unk_08 = var_r31->unk_0A = 0; + var_r31->unk_06 = 0; + var_r31->unk_0C = 0.0f; + var_r31++; + var_r28++; + } + var_r31--; + var_r31->unk_01 = 0; + } + for (; var_r28 < 48; var_r28++, var_r31++) { + var_r31->unk_02 = -1; + } +} + +void fn_1_13A0(omObjData *object) +{ + s32 sp8[48]; + + M438StructBss298 *var_r31; + s32 var_r30; + s32 var_r29; + s32 var_r28; + s32 var_r27; + s32 var_r26; + s32 var_r25; + s32 var_r24; + + switch (lbl_1_bss_DBA) { + case 0: + case 1: + case 2: + case 3: + case 4: + break; + case 6: + lbl_1_bss_294 = 0x1E; + break; + case 7: + if (--lbl_1_bss_294 == 0) { + fn_1_7DD8(10, sp8); + if (lbl_1_bss_DB4 > 0x960) { + var_r27 = 1; + } + else if (lbl_1_bss_DB4 > 0x258) { + var_r27 = 2; + } + else { + var_r27 = 3; + } + for (var_r31 = lbl_1_bss_298, var_r30 = 0; var_r30 < 0x30; var_r30++, var_r31++) { + if (var_r31->unk_02 == -1) { + break; + } + if (var_r31->unk_01 == 0 && var_r31->unk_00) { + var_r27--; + } + } + for (var_r28 = 0, var_r26 = 0; var_r26 < var_r27; var_r28++) { + var_r25 = sp8[var_r28]; + var_r24 = (s32)(80.0f * (0.000015258789f * fn_1_7DB4())) + 0x3C; + for (var_r31 = lbl_1_bss_298, var_r30 = 0; var_r30 < 0x30; var_r30++, var_r31++) { + if (var_r31->unk_02 == var_r25) { + if (var_r31->unk_00 != 0) { + break; + } + var_r31->unk_00 = 1; + var_r31->unk_04 = var_r24; + } + } + if (var_r30 == 0x30) { + var_r26++; + } + } + lbl_1_bss_294 = 60; + } + break; + } + for (var_r31 = lbl_1_bss_298, var_r28 = 0; var_r28 < 0x30; var_r28++, var_r31++) { + switch (var_r31->unk_00) { + case 0: + break; + case 1: + if (var_r31->unk_01 == 0) { + HuAudFXPlay(0x6FB); + } + if (var_r31->unk_08 != 0) { + fn_1_108E4(var_r31->unk_08, 0, 0); + } + else { + var_r31->unk_08 = fn_1_10258(1, 1); + fn_1_11018(lbl_1_bss_DE4.unk_36, 0, 0x450009); + } + fn_1_1204C(var_r31->unk_08, 4); + fn_1_118FC(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); + fn_1_11E18(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, 0.0f, (atan2d(var_r31->unk_24.x, var_r31->unk_24.z)) - 90.0, 0.0f); + fn_1_11B78(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, 32.0f, 32.0f, 0.0f); + fn_1_11F68(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, var_r31->unk_14 / 64, 0.78125f, 1.0f); + fn_1_12538(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, 0); + fn_1_1274C(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, lbl_1_bss_DE4.unk_3A, 0x21); + fn_1_128C8(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, lbl_1_bss_DE4.unk_3A, 0.5f); + if (var_r31->unk_0A == 0) { + var_r31->unk_0A = fn_1_10258(0x64, 1); + } + var_r29 = var_r31->unk_0A; + fn_1_12174(var_r31->unk_0A, 4); + fn_1_11018(var_r29, 0, 0x45000A); + lbl_1_bss_DE4.unk_40[var_r29].unk_30 = fn_1_63B0; + fn_1_11890(var_r29, var_r31->unk_18.x, var_r31->unk_18.y, var_r31->unk_18.z); + fn_1_124CC(var_r29, 1); + lbl_1_bss_DE4.unk_40[var_r29].unk_7C = 0; + lbl_1_bss_DE4.unk_40[var_r29].unk_80 = var_r31->unk_24.x; + lbl_1_bss_DE4.unk_40[var_r29].unk_84 = var_r31->unk_24.z; + lbl_1_bss_DE4.unk_40[var_r29].unk_88 = var_r31->unk_14; + lbl_1_bss_DE4.unk_40[var_r29].unk_8C = 10.0f; + lbl_1_bss_DE4.unk_40[var_r29].unk_90 = 0.02f; + var_r31->unk_06 = 0x3C; + var_r31->unk_10 = 0.2f; + var_r31->unk_0C = 10.0f; + var_r31->unk_00++; + break; + case 2: + var_r31->unk_10 += 0.015f; + if (var_r31->unk_10 >= 0.6f) { + var_r31->unk_10 = 0.6f; + } + lbl_1_bss_DE4.unk_40[var_r31->unk_0A].unk_90 = var_r31->unk_10; + if (lbl_1_bss_DBA != 7) { + var_r31->unk_00 = 5; + } + else { + if (--var_r31->unk_06 == 0) { + lbl_1_bss_DE4.unk_40[var_r31->unk_0A].unk_7E = 1; + fn_1_12174(var_r31->unk_08, 4); + lbl_1_bss_DE4.unk_40[var_r31->unk_0A].unk_90 = 1.0f; + var_r31->unk_00++; + } + } + break; + case 3: + var_r31->unk_10 += 0.06f; + if (var_r31->unk_10 >= 1.0f) { + var_r31->unk_10 = 1.0f; + } + lbl_1_bss_DE4.unk_40[var_r31->unk_0A].unk_90 = var_r31->unk_10; + var_r31->unk_0C += 7.5000005f; + fn_1_11F68(var_r31->unk_08, 0, var_r31->unk_14 / 64, var_r31->unk_0C / 64, 1.0f); + lbl_1_bss_DE4.unk_40[var_r31->unk_0A].unk_8C = var_r31->unk_0C; + if (var_r31->unk_0C >= 200.0f) { + var_r31->unk_00++; + } + if (lbl_1_bss_DBA != 7) { + var_r31->unk_00 = 5; + } + break; + case 4: + if (lbl_1_bss_DBA != 7) { + var_r31->unk_00 = 5; + } + else { + if (--var_r31->unk_04 == 0) { + var_r31->unk_00++; + } + } + break; + case 5: + var_r31->unk_0C = var_r31->unk_0C - 7.5000005f; + fn_1_11F68(var_r31->unk_08, 0, var_r31->unk_14 / 64, var_r31->unk_0C / 64, 1.0f); + lbl_1_bss_DE4.unk_40[var_r31->unk_0A].unk_8C = var_r31->unk_0C; + var_r31->unk_10 = var_r31->unk_10 - 0.03f; + if (var_r31->unk_10 <= 0.0f) { + var_r31->unk_10 = 0.01f; + } + lbl_1_bss_DE4.unk_40[var_r31->unk_0A].unk_90 = var_r31->unk_10; + if (!(var_r31->unk_0C > 0.0f)) { + for (var_r30 = 0; var_r30 < 0x5A; var_r30++) { + lbl_1_bss_DE4.unk_40[var_r31->unk_0A].unk_3C[var_r30].unk_5C = 0; + } + fn_1_1204C(var_r31->unk_08, 4); + fn_1_1204C(var_r31->unk_0A, 4); + var_r31->unk_00 = 0; + } + break; + } + } +} + +u8 fn_1_1D60(omObjData *object) +{ + Vec sp18; + Vec spC; + float sp8; + + float var_f31; + float var_f30; + + M438StructBss298 *var_r31; + M438MainWork2 *var_r30; + s32 var_r29; + + var_r30 = object->data; + sp8 = PSVECMag(&var_r30->unk_84); + for (var_r31 = lbl_1_bss_298, var_r29 = 0; var_r29 < 0x30; var_r29++, var_r31++) { + if (var_r31->unk_00 > 2 && var_r31->unk_00 < 5) { + spC.x = var_r31->unk_24.x * var_r31->unk_14; + spC.y = 0.0f; + spC.z = var_r31->unk_24.z * var_r31->unk_14; + var_f31 = fn_1_A14C(&var_r30->unk_90, &var_r30->unk_84, &var_r31->unk_18, &spC); + if (var_f31 <= 1.0 && var_f31 > 0.0) { + sp18.x = var_r30->unk_90.x + (var_f31 * var_r30->unk_84.x); + var_f31 = (sp18.x - var_r31->unk_18.x) / spC.x; + if (var_f31 > 1.0) { + continue; + } + if (!(var_f31 < 0.0)) { + break; + } + } + else { + var_f30 = fn_1_9960(&var_r30->unk_6C, &var_r31->unk_18, &spC); + if (!(var_f30 > 3600.0005f)) { + break; + } + } + } + } + if (var_r29 == 0x30) { + return 0; + } + return 1; +} + +void fn_1_1F0C(omObjData *object) +{ + M438MainWork3 *var_r31; + + var_r31 = fn_1_7BFC(0x190); + object->data = var_r31; + var_r31->unk_148 = var_r31->unk_144 = 0.0f; + var_r31->unk_140 = 1.0f; + var_r31->unk_10.x = var_r31->unk_28.x = -40.0f; + var_r31->unk_10.y = var_r31->unk_28.y = 0.0f; + var_r31->unk_10.z = var_r31->unk_28.z = 0.0f; + var_r31->unk_04.x = var_r31->unk_1C.x = 0.0f; + var_r31->unk_04.y = var_r31->unk_1C.y = -10.0f; + var_r31->unk_04.z = var_r31->unk_1C.z = 50.0f; + var_r31->unk_130 = var_r31->unk_134 = 2075.0f; + var_r31->unk_188[0] = var_r31->unk_188[1] = var_r31->unk_188[2] = 0; + object->func = fn_1_2070; + HuAudFXListnerSetEX(&Hu3DCamera->pos, &Hu3DCamera->up, 10000.0f, 4166.6665f, 0.0f, 300.0f, 0.0f); +} + +void fn_1_2070(omObjData *object) +{ + Vec sp8; + + float var_f31; + + M438MainWork3 *var_r31; + s32 var_r30; + + var_r31 = object->data; + if (var_r31->unk_148 > 0.0f) { + var_r31->unk_148 = var_r31->unk_148 - var_r31->unk_140; + var_f31 = (var_r31->unk_144 - var_r31->unk_148) / var_r31->unk_144; + var_f31 = sind((90.0f * var_f31)); + if (var_r31->unk_00 == 0) { + var_r31->unk_04.x = var_r31->unk_1C.x + (var_f31 * (var_r31->unk_34.x - var_r31->unk_1C.x)); + var_r31->unk_04.y = var_r31->unk_1C.y + (var_f31 * (var_r31->unk_34.y - var_r31->unk_1C.y)); + var_r31->unk_04.z = var_r31->unk_1C.z + (var_f31 * (var_r31->unk_34.z - var_r31->unk_1C.z)); + var_r31->unk_10.x = var_r31->unk_28.x + (var_f31 * (var_r31->unk_40.x - var_r31->unk_28.x)); + var_r31->unk_10.y = var_r31->unk_28.y + (var_f31 * (var_r31->unk_40.y - var_r31->unk_28.y)); + var_r31->unk_10.z = var_r31->unk_28.z + (var_f31 * (var_r31->unk_40.z - var_r31->unk_28.z)); + var_r31->unk_130 = var_r31->unk_134 + (var_f31 * (var_r31->unk_138 - var_r31->unk_134)); + } + else { + fn_1_9420((float *)&var_r31->unk_04, var_r31->unk_F4, (float(*)[3]) & var_r31->unk_64, var_r31->unk_88, 3, 2.0f * var_f31); + fn_1_9420((float *)&var_r31->unk_10, var_r31->unk_100, (float(*)[3]) & var_r31->unk_AC, var_r31->unk_D0, 3, 2.0f * var_f31); + var_r31->unk_130 = fn_1_8EEC(var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 2.0f * var_f31); + } + } + CRot.x = var_r31->unk_10.x; + CRot.y = var_r31->unk_10.y; + CRot.z = var_r31->unk_10.z; + Center.x = var_r31->unk_04.x; + Center.y = var_r31->unk_04.y; + Center.z = var_r31->unk_04.z; + CZoom = var_r31->unk_130; + for (var_r30 = 0; var_r30 < 3; var_r30++) { + var_r31->unk_17C[var_r30] = 0.0f; + if (var_r31->unk_188[var_r30] != 0) { + var_r31->unk_17C[var_r30] = var_r31->unk_14C[var_r30] * sind(var_r31->unk_164[var_r30]); + var_r31->unk_164[var_r30] += var_r31->unk_170[var_r30]; + var_r31->unk_14C[var_r30] *= var_r31->unk_158[var_r30]; + var_r31->unk_188[var_r30]--; + } + } + Center.x += var_r31->unk_17C[0]; + Center.y += var_r31->unk_17C[1]; + Center.z += var_r31->unk_17C[2]; + sp8.x = -(sind(CRot.y) * cosd(CRot.x)); + sp8.y = sind(CRot.x); + sp8.z = -(cosd(CRot.y) * cosd(CRot.x)); + HuAudFXListnerUpdate(&Hu3DCamera->pos, &sp8); +} + +void fn_1_2564(float arg8, Vec *arg0, Vec *arg1, float arg9) +{ + M438MainWork3 *var_r31; + + var_r31 = lbl_1_bss_DD8->data; + var_r31->unk_00 = 0; + var_r31->unk_144 = arg8; + var_r31->unk_148 = arg8; + var_r31->unk_1C = var_r31->unk_04; + var_r31->unk_34.x = arg0->x; + var_r31->unk_34.y = arg0->y; + var_r31->unk_34.z = arg0->z; + var_r31->unk_28 = var_r31->unk_10; + var_r31->unk_40.x = arg1->x; + var_r31->unk_40.y = arg1->y; + var_r31->unk_40.z = arg1->z; + var_r31->unk_134 = var_r31->unk_130; + var_r31->unk_138 = arg9; +} + +void fn_1_2604(float arg8, Vec *arg0, Vec *arg1, float arg9, Vec *arg2, Vec *arg3, float argA) +{ + float var_f31; + float var_f30; + + M438MainWork3 *var_r31; + + var_r31 = lbl_1_bss_DD8->data; + var_r31->unk_00 = 1; + var_r31->unk_148 = var_r31->unk_144 = arg8; + var_r31->unk_1C = var_r31->unk_04; + + var_r31->unk_34.x = arg0->x; + var_r31->unk_34.y = arg0->y; + var_r31->unk_34.z = arg0->z; + + var_r31->unk_4C.x = arg2->x; + var_r31->unk_4C.y = arg2->y; + var_r31->unk_4C.z = arg2->z; + + var_r31->unk_28 = var_r31->unk_10; + + var_r31->unk_40.x = arg1->x; + var_r31->unk_40.y = arg1->y; + var_r31->unk_40.z = arg1->z; + + var_r31->unk_58.x = arg3->x; + var_r31->unk_58.y = arg3->y; + var_r31->unk_58.z = arg3->z; + + var_r31->unk_134 = var_r31->unk_130; + var_r31->unk_138 = arg9; + var_r31->unk_13C = argA; + var_r31->unk_64[0] = var_r31->unk_1C; + var_r31->unk_64[1] = var_r31->unk_4C; + var_r31->unk_64[2] = var_r31->unk_34; + var_r31->unk_AC[0] = var_r31->unk_28; + var_r31->unk_AC[1] = var_r31->unk_58; + var_r31->unk_AC[2] = var_r31->unk_40; + + var_r31->unk_10C[0] = var_r31->unk_134; + var_r31->unk_10C[1] = var_r31->unk_13C; + var_r31->unk_10C[2] = var_r31->unk_138; + + var_r31->unk_124[0] = 0.0f; + if ((var_r31->unk_10C[1] - var_r31->unk_10C[0]) < 0.0f) { + var_f31 = -(var_r31->unk_10C[1] - var_r31->unk_10C[0]); + } + else { + var_f31 = var_r31->unk_10C[1] - var_r31->unk_10C[0]; + } + var_r31->unk_124[1] = var_f31; + if ((var_r31->unk_10C[2] - var_r31->unk_10C[1]) < 0.0f) { + var_f30 = -(var_r31->unk_10C[2] - var_r31->unk_10C[1]); + } + else { + var_f30 = var_r31->unk_10C[2] - var_r31->unk_10C[1]; + } + var_r31->unk_124[2] = var_r31->unk_124[1] + var_f30; + fn_1_9040(var_r31->unk_F4, var_r31->unk_64, var_r31->unk_88, 3); + fn_1_9040(var_r31->unk_100, var_r31->unk_AC, var_r31->unk_D0, 3); + fn_1_8C34(var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 3); +} + +void fn_1_28BC(float arg8) +{ + M438MainWork3 *var_r31; + + var_r31 = lbl_1_bss_DD8->data; + var_r31->unk_140 = arg8; +} + +void fn_1_28E4(u8 arg0, u16 arg1, float arg9, float argA, float arg4) +{ + M438MainWork3 *var_r31 = lbl_1_bss_DD8->data; + + var_r31->unk_188[arg0] = arg1; + var_r31->unk_14C[arg0] = arg9; + var_r31->unk_158[arg0] = argA; + var_r31->unk_170[arg0] = arg4; + var_r31->unk_164[arg0] = 90.0f; +} + +void fn_1_2964(omObjData *object) +{ + M438MainWork *var_r31; + s32 var_r29; + u32 var_r28; + s32 var_r27; + + float sp8[4] = { 0.25f, 0.5f, 0.75f, 1.0f }; + var_r31 = fn_1_7BFC(sizeof(M438MainWork)); + object->data = var_r31; + memset(var_r31, 0, sizeof(M438MainWork)); + var_r31->unk_00 = object->work[0]; + var_r31->unk_01 = GWPlayerCfg[var_r31->unk_00].character; + var_r31->unk_02 = var_r31->unk_00 >> 1; + var_r31->unk_03 = var_r31->unk_00 & 1; + var_r31->unk_04 = GWPlayerCfg[var_r31->unk_00].pad_idx; + var_r31->unk_05 = GWPlayerCfg[var_r31->unk_00].iscom; + var_r31->unk_06 = GWPlayerCfg[var_r31->unk_00].diff; + var_r31->unk_20 = var_r31->unk_22 = 0; + var_r31->unk_3C = sp8[var_r31->unk_06]; + var_r31->unk_40 = (2700.0f * (var_r31->unk_3C - 0.075f)) + (0.6f * frandmod(0x3E8)); + if (var_r31->unk_40 > 0xEA60) { + var_r31->unk_40 = 0xB4; + } + var_r31->unk_44 = frandmod(0xB4); + var_r31->unk_07 = 1; + var_r31->unk_0D = 1; + var_r31->unk_0E = 0; + var_r31->unk_0B = 0; + var_r31->unk_ED = 0; + var_r31->unk_EC = 0; + var_r31->unk_0F = 0; + var_r31->unk_0A = 0; + var_r28 = object->work[1]; + var_r31->unk_6C.x = lbl_1_data_4B4[var_r28].x; + var_r31->unk_6C.y = lbl_1_data_4B4[var_r28].y + 100.0f * (0.000030517578f * (fn_1_7DB4() - 0x8000)); + var_r31->unk_6C.z = lbl_1_data_4B4[var_r28].z; + var_r31->unk_84 = var_r31->unk_88 = var_r31->unk_8C = 0.0f; + var_r31->unk_78 = var_r31->unk_7C = var_r31->unk_80 = 0.0f; + var_r31->unk_28 = var_r31->unk_7C; + var_r31->unk_2C = 0.0f; + var_r31->unk_24 = 0.0f; + var_r31->unk_30 = 1.0f; + memset(var_r31->unk_F0, 0, sizeof(var_r31->unk_F0)); + var_r27 = CharModelCreate(var_r31->unk_01, 8); + object->model[0] = var_r27; + Hu3DModelAttrSet(var_r27, 0x40000001); + Hu3DModelShadowSet(var_r27); + CharModelStepTypeSet(var_r31->unk_01, 0); + var_r31->unk_A4 = -1; + var_r31->unk_A8 = -1; + for (var_r29 = 0; var_r29 < 11; var_r29++) { + object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_01, lbl_1_data_488[var_r29]); + } + CharModelVoiceEnableSet(var_r31->unk_01, object->motion[3], 0); + CharModelMotionDataClose(var_r31->unk_01); + CharModelMotionSet(var_r31->unk_01, object->motion[var_r31->unk_20]); + object->func = fn_1_2D50; +} + +void fn_1_2D50(omObjData *object) +{ + s32 sp8; + M438MainWork *var_r31; + + sp8 = object->model[0]; + var_r31 = object->data; + var_r31->unk_18 = var_r31->unk_1A = 0; + var_r31->unk_1C = var_r31->unk_1E = 0; + switch (lbl_1_bss_DBA) { + case 1: + case 4: + break; + case 3: + var_r31->unk_20 = 3; + var_r31->unk_88 = 0.0f; + var_r31->unk_0D = 0; + break; + case 6: + object->func = fn_1_2E4C; + break; + } + if (var_r31->unk_6C.y <= 0.0f) { + var_r31->unk_6C.y = 0.0f; + var_r31->unk_0D = 1; + } + fn_1_35C0(object); +} + +void fn_1_2E4C(omObjData *object) +{ + Vec sp30; + Vec sp24; + + float var_f30; + float var_f29; + float var_f28; + + s32 var_r25 = object->model[0]; + M438MainWork *var_r31 = object->data; + if (var_r31->unk_07 != 0) { + if (lbl_1_bss_DBA == 7 && (var_r31->unk_07 & 2) == 0) { + if (var_r31->unk_05 != 0) { + fn_1_4374(object); + } + else { + var_r31->unk_18 = HuPadStkX[var_r31->unk_04]; + var_r31->unk_1A = HuPadStkY[var_r31->unk_04]; + var_r31->unk_1C = HuPadBtnDown[var_r31->unk_04]; + var_r31->unk_1E = HuPadBtn[var_r31->unk_04]; + } + } + else { + var_r31->unk_18 = var_r31->unk_1A = 0; + var_r31->unk_1C = var_r31->unk_1E = 0; + } + switch (lbl_1_bss_DBA) { + case 6: + var_r31->unk_AC = var_r31->unk_B0 = var_r31->unk_B4 = 0.0f; + break; + case 7: + if (fn_1_1D60(object) && (var_r31->unk_07 & 2) == 0) { + omVibrate(var_r31->unk_00, 0xC, 6, 6); + var_r31->unk_20 = 6; + var_r31->unk_07 = var_r31->unk_07 | 2; + var_r31->unk_0D = 0; + var_r31->unk_28 = atan2d(var_r31->unk_6C.x, var_r31->unk_6C.z); + var_r31->unk_88 = 22.458334f; + lbl_1_bss_DAA[var_r31->unk_00] = lbl_1_bss_DA8--; + } + break; + case 8: + case 9: + var_r31->unk_7C = fn_1_7EDC(var_r31->unk_7C, 0.0f, 0.9f); + break; + case 10: + if ((var_r31->unk_07 & 2) == 0) { + var_r31->unk_20 = 9; + } + break; + } + if (var_r31->unk_20 != 7) { + sp30 = var_r31->unk_6C; + sp30.y = 0.0f; + var_f30 = PSVECMag(&sp30); + if (var_f30 > 700.0f) { + var_f29 = -100.0f; + } + else { + var_f29 = 0.0f; + } + if (var_r31->unk_6C.y < var_f29) { + var_r31->unk_6C.y = var_f29; + var_r31->unk_0D = 1; + } + if (((var_r31->unk_07 & 2) == 0) && (var_f30 > 675.0f)) { + var_f28 = atan2d(sp30.x, sp30.z); + if (fn_1_DEA0(var_f28) != 0) { + fn_1_9634(&sp30); + var_r31->unk_6C.x = 675.0f * sp30.x; + var_r31->unk_6C.z = 675.0f * sp30.z; + } + else if (var_f30 > 700.0f) { + omVibrate(var_r31->unk_00, 0xC, 6, 6); + var_r31->unk_07 = var_r31->unk_07 | 2; + var_r31->unk_20 = 6; + var_r31->unk_0D = 0; + var_r31->unk_28 = var_f28; + var_r31->unk_88 = 22.458334f; + lbl_1_bss_DAA[var_r31->unk_00] = lbl_1_bss_DA8--; + } + } + } + fn_1_35C0(object); + if ((var_r31->unk_07 & 2) != 0 && var_r31->unk_10 == 0) { + sp30 = var_r31->unk_6C; + sp30.y = 0.0f; + if (sp30.z < 0.0f) { + sp30.z *= 0.25f; + } + var_f30 = PSVECMag(&sp30); + Hu3D3Dto2D(&var_r31->unk_6C, 1, &sp24); + sp24.x = sp24.x - 288.0f; + sp24.y -= 240.0f; + if (fabs(sp24.x) > 308.0 || sp24.y < -260.0f || sp24.y > 290.0f || var_r31->unk_6C.y < -300.0f || var_f30 > 1400.0f) { + var_r31->unk_10 = 1; + } + } + if (var_r31->unk_10 != 0) { + var_r31->unk_07 = 0; + Hu3DModelAttrSet(var_r25, 1); + object->func = fn_1_35BC; + } + } +} + +void fn_1_35BC(omObjData *object) { } + +void fn_1_35C0(omObjData *object) +{ + Vec sp10; + float spC; + s16 sp0A; + s16 sp8; + + float var_f31; + float var_f30; + float var_f29; + + M438MainWork *var_r31; + s16 var_r30; + s16 var_r29; + s16 var_r28; + s16 var_r27; + s32 var_r25; + s32 var_r24; + M438MainWork4 *var_r23; + + var_r23 = lbl_1_bss_DC0->data; + var_r31 = object->data; + var_r25 = object->model[0]; + var_r28 = var_r31->unk_20; + var_r31->unk_90 = var_r31->unk_6C; + var_r30 = var_r31->unk_18; + var_r29 = var_r31->unk_1A; + sp0A = var_r31->unk_1C; + sp8 = var_r31->unk_1E; + switch (var_r31->unk_20) { + case 0: + case 1: + case 2: + var_r31->unk_24 = 0.14f * sqrtf((var_r30 * var_r30) + (var_r29 * var_r29)); + if (var_r31->unk_24 > 0.1f) { + if (var_r31->unk_24 >= 6.0f) { + var_r28 = 2; + var_r27 = 1; + } + else { + var_r28 = 1; + var_r27 = 1; + } + var_f30 = atan2d(var_r30, -var_r29); + if (var_r31->unk_05 != 0) { + var_r31->unk_7C = fn_1_E488(var_r31->unk_7C, var_f30, 0.15f); + } + else { + var_r31->unk_7C = fn_1_E488(var_r31->unk_7C, var_f30, 0.2f); + } + var_r31->unk_28 = fn_1_7EDC(var_r31->unk_28, var_f30, 0.5f); + var_r31->unk_2C += 1.0f; + if (var_r31->unk_2C >= (0.5f * var_r31->unk_30)) { + var_r31->unk_2C = var_r31->unk_2C - (0.5f * var_r31->unk_30); + } + var_r31->unk_24 = var_r31->unk_24 * (1.0 + (0.25 * cosd((90.0f * (var_r31->unk_2C / (0.5f * var_r31->unk_30)))))); + var_r31->unk_38 = 0; + var_r31->unk_34 = 60.0f * (0.3f + (0.00040000002f * frandmod(0x3E8))); + } + else { + var_r31->unk_2C = 0.0f; + var_r31->unk_24 = 0.0f; + var_r28 = 0; + var_r27 = 1; + if (lbl_1_bss_DBA == 7) { + var_r31->unk_38++; + if (var_r31->unk_38 > var_r31->unk_34) { + PSVECSubtract(&var_r23->unk_34, &var_r31->unk_6C, &sp10); + var_f29 = atan2d(sp10.x, sp10.z); + if (fabs(fn_1_E5A4(var_r31->unk_7C, var_f29)) > 10.0) { + var_r28 = 1; + } + var_r31->unk_7C = fn_1_E488(var_r31->unk_7C, var_f29, 0.15f); + } + } + } + var_r31->unk_88 = -2.0416667f; + break; + case 3: + var_r27 = 0; + if (Hu3DData[var_r25].unk_0C == -1 && CharModelMotionEndCheck(var_r31->unk_01)) { + var_r31->unk_88 += -2.0416667f; + } + else { + var_r31->unk_88 = 0.0f; + } + if (var_r31->unk_0D != 0) { + if (var_r31->unk_0E != 0) { + var_r31->unk_88 = 0.0f; + var_r31->unk_0E = 0; + var_r28 = 5; + var_r27 = 0; + } + else { + var_r31->unk_88 *= -0.1f; + var_r31->unk_0D = 0; + var_r28 = 4; + var_r27 = 0; + } + } + break; + case 4: + var_r31->unk_88 += -2.0416667f; + if (var_r31->unk_0D != 0 && CharModelMotionEndCheck(var_r31->unk_01)) { + var_r28 = 5; + var_r27 = 0; + } + break; + case 5: + if (CharModelMotionEndCheck(var_r31->unk_01) != 0) { + var_r28 = 0; + var_r27 = 1; + } + break; + case 6: + var_r27 = 1; + var_r31->unk_24 = 12.0f; + var_r31->unk_88 += -2.0416667f; + var_r31->unk_7C = fn_1_7EDC(var_r31->unk_7C, var_r31->unk_28, 0.5f); + if (var_r31->unk_A4 < 0) { + var_r31->unk_A4 = HuAudCharVoicePlayPos(var_r31->unk_01, 0x123, &var_r31->unk_6C); + } + if (var_r31->unk_0D != 0) { + var_r31->unk_0D = 0; + var_r31->unk_88 = 22.458334f; + if (var_r31->unk_07 != 0 && var_r31->unk_10 == 0) { + HuAudCharVoicePlayPos(var_r31->unk_01, 0x11C, &var_r31->unk_6C); + } + } + if ((fn_1_7DB4() & 3) == 0) { + var_r24 = fn_1_10258(1, 1); + fn_1_11018(lbl_1_bss_DE4.unk_36, 0, 0x45000A); + lbl_1_bss_DE4.unk_40[var_r24].unk_30 = fn_1_62BC; + fn_1_118FC(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, var_r31->unk_6C.x, var_r31->unk_6C.y, var_r31->unk_6C.z); + fn_1_11CC8(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, sind(var_r31->unk_28), 0.0f, cosd(var_r31->unk_28)); + fn_1_11F68(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, 1.0f, 1.0f, 1.0f); + fn_1_12090(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, 0x80000004); + fn_1_12378(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, 0, 0, 0, 0xFF); + fn_1_1274C(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, lbl_1_bss_DE4.unk_3A, 0x11); + fn_1_128C8(lbl_1_bss_DE4.unk_36, lbl_1_bss_DE4.unk_38, lbl_1_bss_DE4.unk_3A, 0.5f); + fn_1_107BC(var_r24); + } + break; + case 7: + if (var_r31->unk_A4 < 0) { + var_r31->unk_A4 = HuAudCharVoicePlayPos(var_r31->unk_01, 0x123, &var_r31->unk_6C); + } + if (var_r31->unk_A8 < 0) { + var_r31->unk_A8 = HuAudFXPlay(0x701); + } + var_r27 = 1; + var_r31->unk_24 += 2.0; + var_r31->unk_88 += -2.0416667f; + break; + case 9: + case 10: + var_r27 = 0; + var_r31->unk_88 = -2.0416667f; + break; + } + if ((var_r31->unk_07 & 4) != 0) { + if ((var_r31->unk_0B & 2) != 0) { + Hu3DModelAttrSet(var_r25, 1); + } + else { + Hu3DModelAttrReset(var_r25, 1); + } + if (--var_r31->unk_0B == 0) { + var_r31->unk_07 = var_r31->unk_07 & 0xFFFFFFFB; + } + } + var_r31->unk_84 = var_r31->unk_24 * sind(var_r31->unk_28); + var_r31->unk_8C = var_r31->unk_24 * cosd(var_r31->unk_28); + var_r31->unk_6C.x += var_r31->unk_84; + if (var_r31->unk_0D == 0) { + var_r31->unk_6C.y += var_r31->unk_88; + } + var_r31->unk_6C.z += var_r31->unk_8C; + if (var_r28 != var_r31->unk_22) { + if (var_r31->unk_20 == 7 && var_r31->unk_14 != 0) { + var_r31->unk_22 = var_r28; + var_r31->unk_20 = var_r28; + CharModelMotionShiftSet(var_r31->unk_01, object->motion[8], 0.0f, 8.0f, var_r27); + } + else if (var_r28 < 3) { + if (var_r28 < 0 || var_r31->unk_20 == 0 || CharModelMotionShiftIDGet(var_r31->unk_01) < 0) { + var_r31->unk_22 = var_r28; + var_r31->unk_20 = var_r28; + CharModelMotionShiftSet(var_r31->unk_01, object->motion[var_r31->unk_20], 0.0f, 8.0f, var_r27); + } + } + var_r31->unk_30 = CharModelMotionMaxTimeGet(var_r31->unk_01); + } + omSetTra(object, var_r31->unk_6C.x, var_r31->unk_6C.y, var_r31->unk_6C.z); + omSetRot(object, var_r31->unk_78, var_r31->unk_7C, var_r31->unk_80); + if (var_r31->unk_A4 >= 0) { + HuAudFXEmiterUpDate(var_r31->unk_A4, &var_r31->unk_6C); + } +} + +void fn_1_4374(omObjData *object) +{ + Vec sp1C; + Vec sp10; + float spC; + s32 sp8; + + float var_f31; + float var_f30; + float var_f29; + + M438MainWork *var_r31; + s16 var_r30; + s16 var_r29; + s16 var_r28; + s16 var_r27; + + sp8 = 1; + var_r31 = object->data; + var_r30 = var_r29 = var_r28 = var_r27 = 0; + spC = var_f29 = 0.0f; + if (var_r31->unk_40 != 0) { + var_r31->unk_40--; + } + if (var_r31->unk_40 < 0x258) { + var_f31 = 0.0016666667f * (0x258 - var_r31->unk_40); + var_f31 *= 0.6f + (0.4f * (1.0f - var_r31->unk_3C)); + var_r31->unk_48 = 200.0f * var_f31; + } + var_r31->unk_44++; + if (var_r31->unk_44 > 0xB4) { + var_r31->unk_44 -= 0xB4; + } + if (var_r31->unk_64) { + PSVECSubtract(&var_r31->unk_58, &var_r31->unk_4C, &sp1C); + PSVECSubtract(&sp1C, &var_r31->unk_6C, &sp10); + sp10.y = 0.0f; + var_f30 = PSVECMag(&sp10); + if (var_f30 > 10.0f) { + if (var_f30 > 20.0f) { + var_f30 = 20.0f; + } + var_f30 *= 0.05f; + var_f31 = atan2d(sp10.x, sp10.z); + var_r31->unk_9C = var_f31; + var_f29 = var_f30; + var_f31 = 2.0f * var_r31->unk_44; + var_r31->unk_4C.x = var_r31->unk_48 * sind(var_f31); + var_r31->unk_4C.z = var_r31->unk_48 * cosd(var_f31); + } + } + var_r31->unk_A0 += 0.25f * (var_f29 - var_r31->unk_A0); + if (var_r31->unk_A0 > 0.2f) { + var_r30 = 80.0 * (var_r31->unk_A0 * sind(var_r31->unk_9C)); + var_r29 = 80.0 * (var_r31->unk_A0 * -cosd(var_r31->unk_9C)); + } + var_r31->unk_18 = var_r30; + var_r31->unk_1A = var_r29; + var_r31->unk_1C = var_r28; + var_r31->unk_1E = var_r27; + var_r31->unk_68 = 1; + var_r31->unk_64 = 0; +} + +void fn_1_4724(omObjData *object) +{ + M438MainWork4 *var_r31; + + s32 var_r29 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M438, 3)); + object->model[0] = var_r29; + Hu3DModelReflectTypeSet(var_r29, 4); + object->motion[0] = Hu3DJointMotionFile(var_r29, DATA_MAKE_NUM(DATADIR_M438, 5)); + object->motion[1] = Hu3DJointMotionFile(var_r29, DATA_MAKE_NUM(DATADIR_M438, 4)); + object->motion[2] = Hu3DJointMotionFile(var_r29, DATA_MAKE_NUM(DATADIR_M438, 6)); + object->motion[3] = Hu3DJointMotionFile(var_r29, DATA_MAKE_NUM(DATADIR_M438, 7)); + Hu3DModelScaleSet(var_r29, 1.5f, 1.5f, 1.5f); + Hu3DMotionSet(var_r29, object->motion[0]); + Hu3DMotionSpeedSet(var_r29, 2.0f); + Hu3DModelAttrSet(var_r29, 0x40000001); + Hu3DModelShadowSet(var_r29); + var_r31 = fn_1_7BFC(sizeof(M438MainWork4)); + object->data = var_r31; + memset(var_r31, 0, sizeof(M438MainWork4)); + var_r31->unk_10 = 0.0f; + var_r31->unk_14 = -450.0f; + var_r31->unk_18 = -1550.0f; + var_r31->unk_1C = var_r31->unk_20 = var_r31->unk_24 = 0.0f; + var_r31->unk_2C = 35.0f; + var_r31->unk_0C = 0.0f; + var_r31->unk_00 = 0; + omSetTra(object, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18); + omSetRot(object, var_r31->unk_1C, var_r31->unk_20, var_r31->unk_24); + omSetSca(object, 1.25f, 1.25f, 1.25f); + object->func = fn_1_4984; +} + +// void fn_1_4984(omObjData *object) +// { +// float sp10; +// float spC; +// float sp8; +// float temp_f0; +// float temp_f0_2; +// float var_f31; +// omObjData *var_r29; +// s16 var_r27; +// void *var_r28; +// void *var_r30; +// void *var_r31; + +// var_r29 = object; +// var_r31 = var_r29->data; +// switch (lbl_1_bss_DBA) { +// case 1: +// if (lbl_1_bss_4 == 0) { +// lbl_1_bss_4 = fn_1_10258(0x90, 1); +// fn_1_11018(lbl_1_bss_4, 0, 0x45000A); +// *(lbl_1_bss_DE4.unk_40 + ((lbl_1_bss_4 * 0xBC) + 0x30)) = fn_1_6A3C; +// fn_1_11890(lbl_1_bss_4, var_r31->unk_10, -80.0f, var_r31->unk_18); +// fn_1_12100(lbl_1_bss_4, 4); +// fn_1_124CC(lbl_1_bss_4, 1); +// *(lbl_1_bss_DE4.unk_40 + ((lbl_1_bss_4 * 0xBC) + 0x7C)) = 0; +// } +// break; +// case 2: +// var_r31->unk_14 = var_r31->unk_14 + var_r31->unk_2C; +// var_r31->unk_2C = var_r31->unk_2C - -2.0416667f; +// if (var_r31->unk_14 >= -350.0f) { +// HuAudFXPlay(0x6FA); +// *(lbl_1_bss_DE4.unk_40 + ((lbl_1_bss_4 * 0xBC) + 0x7C)) = 1; +// } +// if (var_r31->unk_14 > 0.0f) { +// HuAudFXEmiterPlay(0x700, var_r31 + 0x10); +// lbl_1_bss_DB2 = 0x78; +// lbl_1_bss_DBA += 1; +// var_r31->unk_30 = 20.0f; +// } +// break; +// case 3: +// var_r31->unk_14 = var_r31->unk_14 + var_r31->unk_2C; +// var_r31->unk_18 = var_r31->unk_18 + var_r31->unk_30; +// var_r31->unk_2C = var_r31->unk_2C + -2.0416667f; +// if (var_r31->unk_14 < 0.0f) { +// var_r31->unk_30 = var_r31->unk_30 - 0.5f; +// if (var_r31->unk_30 < 0.0f) { +// var_r31->unk_30 = 0.0f; +// } +// var_r31->unk_14 = 0.0f; +// if (lbl_1_bss_8 == 0) { +// HuAudFXPlay(0x6FE); +// var_r28 = lbl_1_bss_DD8->data; +// var_r28->unk_18A = 0x3C; +// var_r28->unk_150 = 25.0f; +// var_r28->unk_15C = 0.95f; +// var_r28->unk_174 = 90.0f; +// var_r28->unk_168 = 90.0f; +// for (var_r27 = 0; var_r27 < 4; var_r27++) { +// omVibrate(var_r27, 0x36, 0xC, 0); +// } +// lbl_1_bss_4 = fn_1_10258(0x3C, 1); +// fn_1_11018(lbl_1_bss_4, 0, 0x45000F); +// *(lbl_1_bss_DE4.unk_40 + ((lbl_1_bss_4 * 0xBC) + 0x30)) = fn_1_5D4C; +// fn_1_11890(lbl_1_bss_4, var_r31->unk_10, 50.0f + var_r31->unk_14, var_r31->unk_18); +// fn_1_124CC(lbl_1_bss_4, 1); +// lbl_1_bss_8++; +// } +// } +// sp8 = var_r31->unk_10; +// spC = var_r31->unk_14; +// sp10 = var_r31->unk_18; +// temp_f0 = spC + 120.00001f; +// spC = temp_f0; +// temp_f0_2 = sp10 - 300.0f; +// sp10 = temp_f0_2; +// var_f31 = CZoom; +// var_r30 = lbl_1_bss_DD8->data; +// var_r30->unk_00 = 0; +// var_r30->unk_144 = 1.0f; +// var_r30->unk_148 = 1.0f; +// var_r30->unk_1C = var_r30->unk_04; +// var_r30->unk_20 = var_r30->unk_08; +// var_r30->unk_24 = var_r30->unk_0C; +// var_r30->unk_34 = sp8; +// var_r30->unk_38 = temp_f0; +// var_r30->unk_3C = temp_f0_2; +// var_r30->unk_28 = var_r30->unk_10; +// var_r30->unk_2C = var_r30->unk_14; +// var_r30->unk_30 = var_r30->unk_18; +// var_r30->unk_40 = CRot.x; +// var_r30->unk_44 = CRot.y; +// var_r30->unk_48 = CRot.z; +// var_r30->unk_134 = var_r30->unk_130; +// var_r30->unk_138 = var_f31; +// break; +// case 5: +// Hu3DModelAttrReset(*var_r29->model, 0x40000001); +// Hu3DModelAttrSet(*var_r29->model, 0x40000004); +// var_r29->func = fn_1_4F50; +// var_r29->work[0] = 0xA; +// var_r29->work[1] = 0; +// break; +// } +// omSetTra(var_r29, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18); +// omSetRot(var_r29, var_r31->unk_1C, var_r31->unk_20, var_r31->unk_24); +// } + +// void fn_1_4F50(omObjData *object) +// { +// Vec sp18; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// omObjData *var_r30; +// s16 temp_r0; +// s16 temp_r3_3; +// s16 temp_r6; +// s16 var_r28; +// s32 temp_r3_2; +// s32 var_r26; +// u8 temp_r3; +// void *var_r27; +// void *var_r29; +// void *var_r31; + +// var_r30 = object; +// var_r31 = var_r30->data; +// switch (lbl_1_bss_DBA) { +// case 7: +// temp_r3 = var_r31->unk_00; +// switch (temp_r3) { +// case 0: +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// Hu3DMotionShiftSet(*var_r30->model, var_r30->motion->unk_06, 0.0f, 8.0f, 0); +// var_r31->unk_00 = var_r31->unk_00 + 1; + +// case 1: +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// var_r28 = 0; +// var_r26 = 0; +// loop_21: +// if (var_r28 < 4) { +// var_r29 = lbl_1_bss_DC4[var_r28]->data; +// if ((var_r29->unk_07 != 0) && ((var_r29->unk_07 & 2) == 0)) { +// PSVECSubtract(var_r29 + 0x6C, var_r31 + 0x10, &sp18); +// temp_r3_2 = var_r26; +// var_r26++; +// (&sp8[0])[temp_r3_2] = atan2d(sp18, sp18.z); +// } +// var_r28++; +// goto loop_21; +// } +// var_r31->unk_20 = var_r31->unk_20 + (18.0f + var_r30->work[1]); +// if (var_r31->unk_20 > 180.0f) { +// var_r31->unk_20 = var_r31->unk_20 - 360.0f; +// } +// if (var_r31->unk_20 <= -180.0f) { +// var_r31->unk_20 = var_r31->unk_20 + 360.0f; +// } +// var_r28 = 0; +// loop_35: +// if (var_r28 >= var_r26) { } +// else { +// var_f31 = fn_1_E5A4((&sp8[0])[var_r28], var_r30->rot.y); +// if (var_f31 < 0.0f) { +// var_f27 = -var_f31; +// } +// else { +// var_f27 = var_f31; +// } +// if (!(var_f27 > (20.0f + var_r30->work[1])) +// && ((var_r30->work[0] -= 1, ((var_r30->work[0] == 0) != 0)) || ((fn_1_7DB4() & 0xF) == 0))) { +// var_r31->unk_08 = (&sp8[0])[var_r28]; +// var_r31->unk_20 = (&sp8[0])[var_r28]; +// var_r31->unk_2C = 16.333334f; +// var_r31->unk_0C = 6.0 + (0.5 * var_r30->work[1]); +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// var_r31->unk_40 = 20.0f; +// var_r31->unk_44 = 0.0f; +// var_r31->unk_02 = 0x1E; +// Hu3DMotionShiftSet(*var_r30->model, var_r30->motion->unk_00, 0.0f, 8.0f, 0x40000002); +// var_r31->unk_00 = var_r31->unk_00 + 1; +// } +// else { +// var_r28++; +// goto loop_35; +// } +// } +// break; +// case 2: +// var_r31->unk_44 = var_r31->unk_44 + 10.0f; +// if (var_r31->unk_44 > 90.0f) { +// var_r31->unk_44 = 0.0f; +// } +// var_f29 = cosd(var_r31->unk_44); +// var_r31->unk_1C = var_r31->unk_40 * var_f29; +// var_r31->unk_10 = var_r31->unk_34 + ((50.0f * var_f29) * sind(var_r31->unk_20)); +// var_r31->unk_18 = var_r31->unk_3C + ((50.0f * var_f29) * cosd(var_r31->unk_20)); +// temp_r0 = var_r31->unk_02 - 1; +// var_r31->unk_02 = temp_r0; +// if (temp_r0 == 0) { +// HuAudFXEmiterPlay(0x700, var_r31 + 0x10); +// Hu3DModelAttrReset(*var_r30->model, 0x40000002); +// Hu3DModelAttrSet(*var_r30->model, 0x40000001); +// var_r31->unk_1C = 0.0f; +// var_r31->unk_00 = var_r31->unk_00 + 1; +// } +// break; +// case 3: +// var_r31->unk_0C = var_r31->unk_0C + 0.5; +// var_r31->unk_2C = var_r31->unk_2C + -3.0625f; +// var_f28 = var_r31->unk_0C + (0.8f * var_r31->unk_2C); +// var_r31->unk_28 = var_f28 * sind(var_r31->unk_08); +// var_r31->unk_30 = var_f28 * cosd(var_r31->unk_08); +// var_r31->unk_10 = var_r31->unk_10 + var_r31->unk_28; +// var_r31->unk_14 = var_r31->unk_14 + var_r31->unk_2C; +// var_r31->unk_18 = var_r31->unk_18 + var_r31->unk_30; +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// if (var_r31->unk_14 < 0.0f) { +// var_r31->unk_14 = 0.0f; +// var_r31->unk_2C = 16.333334f; +// } +// sp18 = var_r31->unk_10; +// sp18.y = var_r31->unk_14; +// sp18.z = var_r31->unk_18; +// sp18.y = 0.0f; +// var_f30 = PSVECMag(&sp18); +// if (!(var_f30 <= 700.0f)) { +// var_r31->unk_02 = 1; +// if (fn_1_DA64(atan2d(sp18, sp18.z)) != 0) { +// var_r31->unk_02 = 0x78; +// for (var_r28 = 0; var_r28 < 4; var_r28++) { +// var_r29 = lbl_1_bss_DC4[var_r28]->data; +// if ((var_r29->unk_07 != 0) && ((var_r29->unk_07 & 2) == 0)) { +// omVibrate(var_r28, 0xC, 4, 2); +// } +// } +// var_r27 = lbl_1_bss_DD8->data; +// var_r27->unk_188 = 0x3C; +// var_r27->unk_14C = 25.0f; +// var_r27->unk_158 = 0.95f; +// var_r27->unk_170 = 90.0f; +// var_r27->unk_164 = 90.0f; +// HuAudFXEmiterPlay(0x6FC, var_r31 + 0x10); +// HuAudFXPlay(0x6FE); +// } +// fn_1_9634(&sp18); +// var_r31->unk_10 = 700.0f * sp18; +// var_r31->unk_18 = 700.0f * sp18.z; +// var_r31->unk_40 = var_r31->unk_1C; +// var_r31->unk_44 = var_r31->unk_20; +// var_r31->unk_48 = var_r31->unk_24; +// var_r31->unk_00 = var_r31->unk_00 + 1; +// } +// break; +// case 4: +// var_r31->unk_2C = var_r31->unk_2C + -3.0625f; +// var_r31->unk_14 = var_r31->unk_14 + var_r31->unk_2C; +// if (!(var_r31->unk_14 > 0.0f)) { +// var_r31->unk_14 = 0.0f; +// var_r31->unk_34 = var_r31->unk_10; +// var_r31->unk_38 = var_r31->unk_14; +// var_r31->unk_3C = var_r31->unk_18; +// Hu3DModelAttrReset(*var_r30->model, 0x40000001); +// Hu3DModelAttrSet(*var_r30->model, 0x40000004); +// var_r31->unk_44 = var_r31->unk_44 + 8.0f; +// var_r31->unk_40 = 10.0 * sind(var_r31->unk_44); +// var_r31->unk_48 = 10.0 * cosd(var_r31->unk_44); +// mtxRot(&sp24[0], 0.0f, 360.0f - var_r31->unk_08, var_r31->unk_48); +// mtxRotCat(&sp24[0], var_r31->unk_40, 0.0f, 0.0f); +// fn_1_8164(&sp24[0], var_r31 + 0x1C); +// temp_r3_3 = var_r31->unk_02 - 1; +// var_r31->unk_02 = temp_r3_3; +// if (temp_r3_3 == 0) { +// var_r31->unk_24 = 0.0f; +// var_r31->unk_1C = 0.0f; +// var_r31->unk_20 = var_r31->unk_08; +// var_r30->work[0] = 0.5f * (lbl_1_bss_DB4 / 60.0f); +// var_r30->work[1] += 1; +// var_r31->unk_00 = 0; +// } +// } +// break; +// } +// break; +// case 8: +// var_r31->unk_24 = 0.0f; +// var_r31->unk_1C = 0.0f; +// Hu3DModelAttrReset(*var_r30->model, 0x40000001); +// Hu3DModelAttrSet(*var_r30->model, 0x40000004); +// break; +// case 9: +// var_r31->unk_20 = fn_1_7EDC(var_r31->unk_20, 0.0f, 0.9f); +// break; +// case 10: +// if (var_r31->unk_04 == 0) { +// Hu3DModelAttrReset(*var_r30->model, 0x40000006); +// Hu3DMotionSet(*var_r30->model, var_r30->motion->unk_02); +// Hu3DMotionSpeedSet(*var_r30->model, 1.0f); +// Hu3DModelAttrSet(*var_r30->model, 0x40000001); +// var_r31->unk_04 = 1; +// } +// break; +// } +// if (lbl_1_bss_DBA == 7) { +// var_r28 = 0; +// var_r26 = 0; +// loop_72: +// if (var_r28 < 4) { +// var_r29 = lbl_1_bss_DC4[var_r28]->data; +// PSVECSubtract(var_r29 + 0x6C, var_r31 + 0x10, &sp18); +// var_f30 = PSVECMag(&sp18); +// if (!(var_f30 >= 200.0f) && (var_r29->unk_20 != 7)) { +// omVibrate(var_r29->unk_00, 0xC, 4, 2); +// var_r29->unk_07 = var_r29->unk_07 | 2; +// var_r29->unk_0D = 0; +// var_r29->unk_20 = 7; +// var_r29->unk_28 = atan2d(sp18, sp18.z); +// if (var_r29->unk_28 >= 360.0f) { +// var_r29->unk_28 = var_r29->unk_28 - 360.0f; +// } +// var_f26 = fn_1_E5A4(var_r29->unk_28, var_r29->unk_7C); +// var_f25 = fabs(var_f26); +// var_f24 = var_f25; +// if (var_f24 > 90.0) { +// var_r29->unk_7C = 180.0f + var_r29->unk_28; +// var_r29->unk_14 = 0; +// } +// else { +// var_r29->unk_7C = var_r29->unk_28; +// var_r29->unk_14 = 1; +// } +// var_r29->unk_24 = 10.0f; +// var_r29->unk_88 = 53.083336f; +// if (lbl_1_bss_DAA[var_r28] == 0) { +// temp_r6 = lbl_1_bss_DA8; +// lbl_1_bss_DA8 = temp_r6 - 1; +// lbl_1_bss_DAA[var_r28] = temp_r6; +// } +// } +// var_r28++; +// goto loop_72; +// } +// } +// omSetTra(var_r30, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18); +// omSetRot(var_r30, var_r31->unk_1C, var_r31->unk_20, var_r31->unk_24); +// } + +// void fn_1_5D4C(void *arg0) +// { +// s16 sp8; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// s32 var_r29; +// u8 temp_r0; +// void *var_r30; +// void *var_r31; + +// var_r30 = arg0; +// sp8 = 0; +// temp_r0 = var_r30->unk_60; +// switch (temp_r0) { +// case 0: +// var_f27 = 360.0f / var_r30->unk_02; +// for (var_r31 = var_r30->unk_3C; var_r29 = 0; var_r31 < var_r30->unk_02; var_r29++; var_r31 += 0x98) { +// var_f26 = 0.8f + (0.1f * (2.0f * (0.000030517578f * (fn_1_7DB4() - 0x8000)))); +// var_r31->unk_6C = sind((var_f27 * var_r29)) * var_f26; +// var_r31->unk_70 = 0.0f; +// var_f26 = 0.8f + (0.1f * (2.0f * (0.000030517578f * (fn_1_7DB4() - 0x8000)))); +// var_r31->unk_74 = cosd((var_f27 * var_r29)) * var_f26; +// var_r31->unk_00 = 40.0f * var_r31->unk_6C; +// var_r31->unk_04 = 6.0f; +// var_r31->unk_08 = 40.0f * var_r31->unk_74; +// var_f29 = 0.01f * (100.0f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_54 = 80.0f + (60.0f * var_f29); +// var_r31->unk_55 = 64.0f + (60.0f * var_f29); +// var_r31->unk_56 = 56.0f + (60.0f * var_f29); +// } +// var_r30->unk_7C = 0x30; +// var_r30->unk_60 = var_r30->unk_60 + 1; + +// case 1: +// var_r30->unk_7C = var_r30->unk_7C - 1; +// var_f31 = (48.0f - var_r30->unk_7C) / 48.0f; +// var_f28 = var_r30->unk_7C / 48.0f; +// for (var_r31 = var_r30->unk_3C; var_r29 = 0; var_r31 < var_r30->unk_02; var_r29++; var_r31 += 0x98) { +// var_r31->unk_00 = var_r31->unk_00 + (12.5f * var_f28 * var_r31->unk_6C); +// var_r31->unk_08 = var_r31->unk_08 + (12.5f * var_f28 * var_r31->unk_74); +// var_f30 = 2.4f + (6.0f * var_f31); +// var_r31->unk_18 = var_f30; +// var_r31->unk_1C = var_f30; +// var_r31->unk_20 = var_f30; +// var_r31->unk_57 = 96.0f * (1.0f - (var_f31 * var_f31)); +// } +// if (var_r30->unk_7C == 0) { +// var_r30->unk_60 = var_r30->unk_60 + 1; +// return; +// } +// return; +// case 2: +// fn_1_107BC(var_r30->unk_00); +// break; +// } +// } + +void fn_1_62BC(void *arg0) +{ + // s16 sp8; + + // void *var_r31; + // void *var_r30; + + // var_r30 = arg0; + // sp8 = 0; + // switch (var_r30->unk_60) { + // case 0: + // var_r31 = var_r30->unk_3C; + // var_r31->unk_70 = 5.0f; + // var_r31->unk_6C *= -2.0f; + // var_r31->unk_74 *= -2.0f; + // var_r30->unk_60++; + + // case 1: + // var_r31 = var_r30->unk_3C; + // var_r31->unk_00 += var_r31->unk_6C; + // var_r31->unk_04 += var_r31->unk_70; + // var_r31->unk_08 += var_r31->unk_74; + // return; + // case 2: + // fn_1_107BC(var_r30->unk_00); + // return; + // } +} + +// void fn_1_63B0(void *arg0) +// { +// float sp10; +// float spC; +// float sp8; +// float temp_f0; +// float temp_f0_2; +// float temp_f0_3; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// double var_f27; +// s16 temp_r0_2; +// s32 var_r29; +// u8 temp_r0; +// void *var_r30; +// void *var_r31; + +// var_r30 = arg0; +// for (var_r31 = var_r30->unk_3C; var_r29 = 0; var_r31 < var_r30->unk_02; var_r29++; var_r31 += 0x98) { +// temp_r0 = var_r31->unk_5C; +// switch (temp_r0) { +// case 0: +// if ((atan2d(var_r30->unk_80, var_r30->unk_84)) < 0.0) { +// var_f27 = -(atan2d(var_r30->unk_80, var_r30->unk_84)); +// } +// else { +// var_f27 = atan2d(var_r30->unk_80, var_r30->unk_84); +// } +// var_f29 = var_f27; +// if (var_f29 > 90.0f) { +// var_f29 = 180.0f - var_f29; +// } +// var_f28 = 40.0f * (0.1f + ((0.9f * var_f29) / 90.0f)); +// var_f31 = (0.5f * var_f28) + ((var_r30->unk_88 - var_f28) * (0.000015258789f * fn_1_7DB4())); +// temp_f0 = var_f31 * var_r30->unk_80; +// sp8 = temp_f0; +// temp_f0_2 = var_f31 * var_r30->unk_84; +// sp10 = temp_f0_2; +// var_r31->unk_00 = temp_f0; +// var_r31->unk_04 = 0.0f; +// var_r31->unk_08 = temp_f0_2; +// var_f31 = 0.0f; +// spC = 0.0f; +// loop_14: +// if (var_f31 < (var_r30->unk_8C - 40.0f)) { +// temp_f0_3 = spC + 0.8f; +// spC = temp_f0_3; +// var_f31 += temp_f0_3; +// goto loop_14; +// } +// var_r31->unk_6C = 0.0f; +// var_r31->unk_70 = spC + (1.5f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_74 = 0.0f; +// if ((fn_1_7DB4() & 7) != 0) { +// var_r31->unk_33 = 1; +// var_r31->unk_54 = 0x40; +// var_r31->unk_55 = 0x10; +// var_r31->unk_56 = 4; +// var_r31->unk_57 = 0xFF; +// var_f30 = 3.75f + (1.75f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_60 = var_f30 * (0.1f + ((0.9f * var_f29) / 90.0f)); +// var_r31->unk_68 = var_f30; +// var_r31->unk_64 = var_f30; +// } +// else { +// var_r31->unk_33 = 0; +// var_r31->unk_54 = 0; +// var_r31->unk_55 = 0; +// var_r31->unk_56 = 0; +// var_r31->unk_57 = 0xFF; +// var_f30 = 0.25f + (0.25f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_64 = 1.5f * var_f30; +// var_r31->unk_68 = var_f30; +// var_r31->unk_60 = var_f30; +// } +// var_r31->unk_58->unk_24 = 0; +// var_r31->unk_78 = (60.0f * (0.000015258789f * fn_1_7DB4())) + 1; +// var_r31->unk_5C = var_r31->unk_5C + 1; + +// case 1: +// temp_r0_2 = var_r31->unk_78 - 1; +// var_r31->unk_78 = temp_r0_2; +// if (temp_r0_2 == 0) { +// var_r31->unk_58->unk_24 = 0x11; +// var_r31->unk_58->unk_28 = 0.5f; +// var_r31->unk_58->unk_2C = 0.0f; +// var_r31->unk_58->unk_00 = 0; +// var_r31->unk_5C = var_r31->unk_5C + 1; +// } +// break; +// case 2: +// var_r31->unk_00 = var_r31->unk_00 + var_r31->unk_6C; +// var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_70; +// var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_74; +// if (var_r31->unk_04 < 0.0f) { +// var_r31->unk_04 = 0.0f; +// } +// var_r31->unk_60 = var_r31->unk_60 * 0.95f; +// var_r31->unk_64 = var_r31->unk_64 * 0.95f; +// var_r31->unk_68 = var_r31->unk_68 * 0.95f; +// var_r31->unk_70 = var_r31->unk_70 - 0.8f; +// if ((var_r31->unk_58->unk_24 & 8) != 0) { +// var_r31->unk_5C = 0; +// } +// break; +// } +// var_r31->unk_18 = var_r31->unk_60 * var_r30->unk_90; +// var_r31->unk_1C = var_r31->unk_64 * var_r30->unk_90; +// var_r31->unk_20 = var_r31->unk_68 * var_r30->unk_90; +// } +// } + +// void fn_1_6A3C(void *arg0) +// { +// float sp10; +// float spC; +// float sp8; +// float temp_f0; +// float temp_f0_2; +// float temp_f0_3; +// float temp_f0_4; +// float var_f29; +// float var_f30; +// float var_f31; +// s16 temp_r0_2; +// s16 var_r29; +// s32 var_r27; +// s32 var_r28; +// u8 temp_r0; +// void *var_r30; +// void *var_r31; + +// var_r30 = arg0; +// var_r31 = var_r30->unk_3C; +// var_r28 = 0; +// var_r27 = 0; +// loop_35: +// if (var_r27 < var_r30->unk_02) { +// if ((var_r30->unk_7C != 0) && (var_r31->unk_7A == 0)) { +// var_r31->unk_5C = 0; +// } +// temp_r0 = var_r31->unk_5C; +// switch (temp_r0) { +// case 0: +// if (var_r30->unk_7C != 0) { +// var_f30 = (180.0f * (0.000015258789f * fn_1_7DB4())) - 90.0f; +// var_f29 = 125.0f; +// temp_f0 = sind(var_f30); +// sp8 = temp_f0; +// temp_f0_2 = cosd(var_f30); +// sp10 = temp_f0_2; +// var_r31->unk_00 = 125.0f * temp_f0; +// var_r31->unk_04 = 0.0f; +// var_r31->unk_08 = 125.0f * temp_f0_2; +// spC = 25.0f; +// var_r31->unk_6C = 100.0f * (0.1f * temp_f0); +// var_r31->unk_70 = 25.0f + (2.5f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_74 = 100.0f * (0.1f * temp_f0_2); +// var_r31->unk_78 = (24.0f * (0.000015258789f * fn_1_7DB4())) + 1; +// var_r31->unk_7A = 1; +// } +// else { +// var_f30 = (180.0f * (0.000015258789f * fn_1_7DB4())) - 90.0f; +// var_f29 = 125.0f * (0.000015258789f * fn_1_7DB4()); +// temp_f0_3 = sind(var_f30); +// sp8 = temp_f0_3; +// temp_f0_4 = cosd(var_f30); +// sp10 = temp_f0_4; +// var_r31->unk_00 = var_f29 * temp_f0_3; +// var_r31->unk_04 = 0.0f; +// var_r31->unk_08 = var_f29 * temp_f0_4; +// spC = 5.0f; +// var_r31->unk_6C = 100.0 * (0.015 * temp_f0_3); +// var_r31->unk_70 = 5.0f + (0.000015258789f * fn_1_7DB4()); +// var_r31->unk_74 = 100.0f * (0.015f * temp_f0_4); +// var_r31->unk_78 = (60.0f * (0.000015258789f * fn_1_7DB4())) + 1; +// var_r31->unk_7A = 0; +// } +// var_r31->unk_38 = var_r31->unk_38 & 0xFFFFFFFB; +// if ((fn_1_7DB4() & 0xF) != 0) { +// var_r31->unk_33 = 1; +// var_r31->unk_54 = 0x40; +// var_r31->unk_55 = 0x10; +// var_r31->unk_56 = 4; +// var_r31->unk_57 = 0xFF; +// var_f31 = 1.8f + (0.000015258789f * fn_1_7DB4()); +// var_r31->unk_18 = var_f31; +// var_r31->unk_1C = var_f31; +// var_r31->unk_20 = var_f31; +// goto block_19; +// } +// if (var_r30->unk_7C != 0) { +// var_r31->unk_33 = 0; +// var_r31->unk_54 = 0; +// var_r31->unk_55 = 0; +// var_r31->unk_56 = 0; +// var_r31->unk_57 = 0xFF; +// var_f31 = 0.25f + (0.25f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_18 = var_f31; +// var_r31->unk_1C = 1.5f * var_f31; +// var_r31->unk_20 = var_f31; +// block_19: +// var_r31->unk_58->unk_24 = 0; +// var_r31->unk_5C = var_r31->unk_5C + 1; +// } +// else { +// var_r29 = fn_1_10258(8, 1); +// fn_1_11018(var_r29, 0, 0x45000A); +// *(lbl_1_bss_DE4.unk_40 + ((var_r29 * 0xBC) + 0x30)) = fn_1_7300; +// fn_1_11890(var_r29, var_r30->unk_0C + var_r31->unk_00, var_r30->unk_10 + var_r31->unk_04, var_r30->unk_14 + var_r31->unk_08); +// fn_1_12100(var_r29, 4); +// fn_1_124CC(var_r29, 1); +// var_r31->unk_38 = var_r31->unk_38 | 4; +// } +// break; +// case 1: +// if (var_r31->unk_7A != 0) { +// var_r31->unk_70 = var_r31->unk_70 - 0.5f; +// } +// temp_r0_2 = var_r31->unk_78 - 1; +// var_r31->unk_78 = temp_r0_2; +// if (temp_r0_2 == 0) { +// var_r31->unk_58->unk_24 = 0x11; +// if (var_r31->unk_7A != 0) { +// var_r31->unk_58->unk_28 = 0.5f; +// } +// else { +// var_r31->unk_58->unk_28 = 0.5f; +// } +// var_r31->unk_58->unk_2C = 0.0f; +// var_r31->unk_58->unk_00 = 0; +// var_r31->unk_5C = var_r31->unk_5C + 1; +// } +// break; +// case 2: +// var_r31->unk_00 = var_r31->unk_00 + var_r31->unk_6C; +// var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_70; +// var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_74; +// if (var_r31->unk_04 < 0.0f) { +// var_r31->unk_04 = 0.0f; +// } +// var_r31->unk_18 = var_r31->unk_18 * 0.95f; +// var_r31->unk_1C = var_r31->unk_1C * 0.95f; +// var_r31->unk_20 = var_r31->unk_20 * 0.95f; +// var_r31->unk_70 = var_r31->unk_70 - 1.5f; +// if ((var_r31->unk_58->unk_24 & 8) != 0) { +// if (var_r31->unk_7A != 0) { +// var_r31->unk_5C = 3; +// } +// else { +// var_r31->unk_5C = 0; +// } +// } +// break; +// case 3: +// var_r28++; +// break; +// } +// var_r27++; +// var_r31 += 0x98; +// goto loop_35; +// } +// if (var_r28 >= var_r30->unk_02) { +// fn_1_107BC(var_r30->unk_00); +// } +// } + +// void fn_1_7300(void *arg0) +// { +// float sp10; +// float spC; +// float sp8; +// float temp_f0; +// float temp_f0_2; +// float temp_f0_3; +// float var_f29; +// float var_f30; +// float var_f31; +// s16 temp_r0_2; +// s32 var_r28; +// s32 var_r29; +// u8 temp_r0; +// u8 temp_r0_3; +// void *var_r30; +// void *var_r31; + +// var_r30 = arg0; +// var_r31 = var_r30->unk_3C; +// temp_r0 = var_r30->unk_60; +// switch (temp_r0) { +// case 0: +// var_f31 = 0.01f; +// var_r30->unk_2C = 0.01f; +// var_r30->unk_28 = 0.01f; +// var_r30->unk_24 = 0.01f; +// var_r30->unk_7C = Hu3DModelCreateFile(0x45000B); +// var_r30->unk_7E = (30.0f * (0.000015258789f * fn_1_7DB4())) + 0x1E; +// var_r29 = 0; +// loop_6: +// if (var_r29 < var_r30->unk_02) { +// var_r31->unk_38 = var_r31->unk_38 | 4; +// var_r29++; +// var_r31 += 0x98; +// goto loop_6; +// } +// var_r30->unk_60 = var_r30->unk_60 + 1; + +// case 1: +// var_r30->unk_2C = var_r30->unk_2C + 0.008f; +// temp_f0 = var_r30->unk_2C; +// var_r30->unk_28 = temp_f0; +// var_r30->unk_24 = temp_f0; +// Hu3DModelPosSetV(var_r30->unk_7C, var_r30 + 0xC); +// Hu3DModelScaleSetV(var_r30->unk_7C, var_r30 + 0x24); +// temp_r0_2 = var_r30->unk_7E - 1; +// var_r30->unk_7E = temp_r0_2; +// if (temp_r0_2 == 0) { +// Hu3DModelKill(var_r30->unk_7C); +// var_r30->unk_7C = 0; +// var_r29 = 0; +// loop_11: +// if (var_r29 < var_r30->unk_02) { +// var_r31->unk_5C = 1; +// var_r29++; +// var_r31 += 0x98; +// goto loop_11; +// } +// var_r30->unk_80 = var_r30->unk_24; +// var_r30->unk_2C = 1.0f; +// var_r30->unk_28 = 1.0f; +// var_r30->unk_24 = 1.0f; +// var_r30->unk_60 = var_r30->unk_60 + 1; +// } +// break; +// } +// var_r28 = 0; +// for (var_r31 = var_r30->unk_3C; var_r29 = 0; var_r31 < var_r30->unk_02; var_r29++; var_r31 += 0x98) { +// temp_r0_3 = var_r31->unk_5C; +// switch (temp_r0_3) { +// case 1: +// var_r31->unk_38 = var_r31->unk_38 & 0xFFFFFFFB; +// var_r31->unk_33 = 1; +// var_r31->unk_54 = 0x60; +// var_r31->unk_55 = 0x20; +// var_r31->unk_56 = 0x10; +// var_r31->unk_57 = 0xFF; +// var_f31 = 0.4f + (0.15f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_18 = var_f31; +// var_r31->unk_1C = var_f31; +// var_r31->unk_20 = var_f31; +// var_f29 = 360.0f * (0.000015258789f * fn_1_7DB4()); +// var_f30 = 50.0f * var_r30->unk_80; +// temp_f0_2 = sind(var_f29); +// sp8 = temp_f0_2; +// temp_f0_3 = cosd(var_f29); +// sp10 = temp_f0_3; +// var_r31->unk_00 = var_f30 * temp_f0_2; +// var_r31->unk_04 = var_f30; +// var_r31->unk_08 = var_f30 * temp_f0_3; +// spC = 6.0f; +// var_r31->unk_6C = 100.0f * (0.015f * temp_f0_2); +// var_r31->unk_70 = 6.0f + (1.5f * (0.000015258789f * fn_1_7DB4())); +// var_r31->unk_74 = 100.0f * (0.015f * temp_f0_3); +// var_r31->unk_58->unk_24 = 0x11; +// var_r31->unk_58->unk_28 = 0.75f; +// var_r31->unk_5C = var_r31->unk_5C + 1; +// break; +// case 2: +// var_r31->unk_00 = var_r31->unk_00 + var_r31->unk_6C; +// var_r31->unk_04 = var_r31->unk_04 + var_r31->unk_70; +// var_r31->unk_08 = var_r31->unk_08 + var_r31->unk_74; +// var_r31->unk_70 = var_r31->unk_70 - 0.75f; +// if ((var_r31->unk_58->unk_24 & 8) != 0) { +// var_r31->unk_5C = var_r31->unk_5C + 1; +// } +// break; +// case 3: +// var_r28++; +// break; +// } +// } +// if (var_r28 >= var_r30->unk_02) { +// fn_1_107BC(var_r30->unk_00); +// } +// if (lbl_1_bss_DBA == 2) { +// if (var_r30->unk_7C != 0) { +// Hu3DModelKill(var_r30->unk_7C); +// } +// fn_1_107BC(var_r30->unk_00); +// } +// } + +void fn_1_7858(omObjData *object) +{ + Vec sp2C; + Vec sp20; + Vec sp14; + Vec sp8; + + float var_f31; + float var_f30; + float var_f29; + float var_f28; + + M438MainWork *var_r31; + M438MainWork *var_r30; + s32 var_r29; + + var_r31 = object->data; + if (var_r31->unk_07 == 0 || (var_r31->unk_07 & 2) != 0) { + return; + } + PSVECSubtract(&var_r31->unk_6C, &var_r31->unk_90, &sp2C); + var_f29 = PSVECMag(&sp2C); + if (var_f29 == 0.0f) { + return; + } + for (var_r29 = 0; var_r29 < 4; var_r29++) { + if (var_r29 == var_r31->unk_00) { + continue; + } + var_r30 = lbl_1_bss_DC4[var_r29]->data; + if (var_r30->unk_07 == 0 || (var_r30->unk_07 & 2) != 0) { + continue; + } + sp14.x = var_r31->unk_6C.x; + sp14.y = var_r31->unk_6C.y; + sp14.z = var_r31->unk_6C.z; + sp14.y = 0.0f; + + sp8.x = var_r30->unk_6C.x; + sp8.y = var_r30->unk_6C.y; + sp8.z = var_r30->unk_6C.z; + sp8.y = 0.0f; + PSVECSubtract(&sp14, &sp8, &sp2C); + var_f31 = PSVECMag(&sp2C); + if (var_f31 >= 119.40001f) { + continue; + } + PSVECSubtract(&var_r30->unk_6C, &var_r30->unk_90, &sp2C); + var_f28 = PSVECMag(&sp2C); + PSVECSubtract(&sp14, &sp8, &sp20); + PSVECNormalize(&sp20, &sp20); + var_f31 = 120.00001f - var_f31; + var_f30 = ((0.6f * var_f28) + (0.4f * var_f29)) / (var_f29 + var_f28); + var_r31->unk_6C.x = var_r31->unk_6C.x + (var_f30 * (var_f31 * sp20.x)); + var_r31->unk_6C.y = var_r31->unk_6C.y + (var_f30 * (var_f31 * sp20.y)); + var_r31->unk_6C.z = var_r31->unk_6C.z + (var_f30 * (var_f31 * sp20.z)); + + var_f30 = ((0.6f * var_f29) + (0.4f * var_f29)) / (var_f29 + var_f28); + var_r30->unk_6C.x = var_r30->unk_6C.x + (var_f30 * (var_f31 * -sp20.x)); + var_r30->unk_6C.y = var_r30->unk_6C.y + (var_f30 * (var_f31 * -sp20.y)); + var_r30->unk_6C.z = var_r30->unk_6C.z + (var_f30 * (var_f31 * -sp20.z)); + fn_1_7858(lbl_1_bss_DC4[var_r29]); + } +} + +void fn_1_7B58(omObjData *object) +{ + s32 var_r31; + + if (lbl_1_bss_DBA >= 7) { + for (var_r31 = 0; var_r31 < 4; var_r31++) { + fn_1_7858(lbl_1_bss_DC4[var_r31]); + } + } +} + +void fn_1_7BBC(void) +{ + s32 var_r31; + + for (var_r31 = 0; var_r31 < 0x80; var_r31++) { + lbl_1_bss_BA4[var_r31] = NULL; + } +} + +void *fn_1_7BFC(s32 arg0) +{ + s32 var_r31; + + for (var_r31 = 0; var_r31 < 128; var_r31++) { + if (!lbl_1_bss_BA4[var_r31]) { + break; + } + } + if (var_r31 == 0x80) { + return NULL; + } + lbl_1_bss_BA4[var_r31] = HuMemDirectMallocNum(HEAP_SYSTEM, arg0, MEMORY_DEFAULT_NUM); + return lbl_1_bss_BA4[var_r31]; +} + +void fn_1_7C9C(void *arg0) +{ + s32 var_r31; + + for (var_r31 = 0; var_r31 < 128; var_r31++) { + if (lbl_1_bss_BA4[var_r31] == arg0) { + break; + } + } + if (var_r31 != 128) { + HuMemDirectFree(lbl_1_bss_BA4[var_r31]); + lbl_1_bss_BA4[var_r31] = NULL; + } +} + +void fn_1_7D30(void) +{ + s32 var_r31; + + for (var_r31 = 0; var_r31 < 128; var_r31++) { + if (lbl_1_bss_BA4[var_r31]) { + HuMemDirectFree(lbl_1_bss_BA4[var_r31]); + lbl_1_bss_BA4[var_r31] = NULL; + } + } +} + +s32 fn_1_7DB4(void) +{ + return frand() & 0xFFFF; +} + +void fn_1_7DD8(s32 arg0, s32 *arg1) +{ + s32 var_r31; + s32 var_r29; + s32 var_r27; + s32 var_r26; + + for (var_r31 = 0; var_r31 < arg0; var_r31++) { + arg1[var_r31] = var_r31; + } + for (var_r31 = 0; var_r31 < (arg0 - 1); var_r31++) { + var_r26 = frand() & 0xFFFF; + var_r29 = arg0 * (0.000015258789f * var_r26); + if (var_r29 >= arg0) { + var_r29 = arg0 - 1; + } + var_r27 = arg1[var_r31]; + arg1[var_r31] = arg1[var_r29]; + arg1[var_r29] = var_r27; + } +} + +float fn_1_7EDC(float arg8, float arg9, float argA) +{ + float var_f1; + float var_f31; + + if (arg8 > 180.0f) { + arg8 -= 360.0f; + } + else if (arg8 <= -180.0f) { + arg8 += 360.0f; + } + if (arg9 > 180.0f) { + arg9 -= 360.0f; + } + else if (arg9 <= -180.0f) { + arg9 += 360.0f; + } + var_f31 = arg8 - arg9; + if (var_f31 > 180.0f) { + var_f31 -= 360.0f; + } + else if (var_f31 <= -180.0f) { + var_f31 += 360.0f; + } + var_f1 = arg9 + (var_f31 * argA); + if (var_f1 > 180.0f) { + return var_f1 - 360.0f; + } + if (var_f1 <= -180.0f) { + var_f1 += 360.0f; + } + return var_f1; +} + +// void fn_1_8044(Mtx arg0, float arg8, float arg9, float argA) +// { +// Mtx var_r31; +// float var_f29; +// float var_f30; +// float var_f31; + +// var_r31 = arg0; +// var_f29 = arg8; +// var_f30 = arg9; +// var_f31 = argA; +// if (var_f31 != 0.0f) { +// PSMTXRotRad(var_r31, 0x5A, 0.017453292f * var_f31); +// } +// else { +// PSMTXIdentity(var_r31); +// } +// if (var_f29 != 0.0f) { +// PSMTXRotRad(&sp38[0], 0x58, 0.017453292f * var_f29); +// PSMTXConcat(&sp38[0], var_r31, var_r31); +// } +// if (var_f30 != 0.0f) { +// PSMTXRotRad(&sp8[0], 0x59, 0.017453292f * var_f30); +// PSMTXConcat(&sp8[0], var_r31, var_r31); +// } +// } + +// void fn_1_8164(float *arg0, Vec *arg1) +// { +// float sp8; +// Vec *var_r31; +// float *var_r30; +// float var_f27; +// float var_f28; +// float var_f29; +// double var_f30; +// double var_f31; + +// var_r30 = arg0; +// var_r31 = arg1; +// var_r31->x = atan2d(var_r30->unk_18, var_r30->unk_28); +// if (var_r31->x < 0.0f) { +// var_r31->x += 360.0f; +// } +// var_r31->z = atan2d(var_r30->unk_04, var_r30->unk_00); +// if (var_r31->z < 0.0f) { +// var_r31->z += 360.0f; +// } +// var_f29 = -var_r30->unk_08; +// if ((1.0 - (var_f29 * var_f29)) < 0.0) { +// var_f30 = -(1.0 - (var_f29 * var_f29)); +// } +// else { +// var_f30 = 1.0 - (var_f29 * var_f29); +// } +// if (var_f30 > 0.0f) { +// var_f31 = __frsqrte(var_f30); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// sp8 = var_f30 * var_f31; +// var_f27 = sp8; +// } +// else { +// var_f27 = var_f30; +// } +// var_f28 = var_f27; +// if ((var_r31->x > 90.0f) && (var_r31->x < 270.0f) && (var_r31->z > 90.0f) && (var_r31->z < 270.0f)) { +// var_r31->x = fmod(180.0f + var_r31->x, 360.0); +// var_r31->z = fmod(180.0f + var_r31->z, 360.0); +// var_f28 = -var_f28; +// } +// var_r31->y = atan2d(var_f29, var_f28); +// if (var_r31->y < 0.0f) { +// var_r31->y += 360.0f; +// } +// } + +// void fn_1_8500(void *arg0, void *arg1) +// { +// float sp8; +// float var_f27; +// float var_f28; +// float var_f29; +// double var_f30; +// double var_f31; +// void *var_r30; +// void *var_r31; + +// var_r31 = arg0; +// var_r30 = arg1; +// var_r30->unk_08 = atan2d(var_r31->unk_04, var_r31->unk_14); +// var_r30->unk_04 = atan2d(var_r31->unk_20, var_r31->unk_28); +// var_f29 = -var_r31->unk_24; +// if ((1.0 - (var_f29 * var_f29)) < 0.0) { +// var_f30 = -(1.0 - (var_f29 * var_f29)); +// } +// else { +// var_f30 = 1.0 - (var_f29 * var_f29); +// } +// if (var_f30 > 0.0f) { +// var_f31 = __frsqrte(var_f30); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// sp8 = var_f30 * var_f31; +// var_f28 = sp8; +// } +// else { +// var_f28 = var_f30; +// } +// var_f27 = var_f28; +// var_r30->unk_00 = atan2d(var_f29, var_f27); +// } + +// double fn_1_8750(double arg8, float arg9, float argA, float argB) +// { +// double var_f30; +// double var_f31; + +// var_f31 = 1.0 - arg8; +// var_f31 = var_f31; +// var_f30 = (argB * (arg8 * arg8)) + ((arg9 * (var_f31 * var_f31)) + (2.0 * (argA * (var_f31 * arg8)))); +// var_f30 = var_f30; +// return var_f30; +// } + +// void fn_1_87C8(float *arg0, float *arg1, float *arg2, float *arg3, double arg8) +// { +// float *var_r3; +// float *var_r4; +// float *var_r5; +// float *var_r6; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// double var_f24; +// double var_f25; +// double var_f30; +// double var_f31; +// s32 var_r31; + +// var_r3 = arg0; +// var_r4 = arg1; +// var_r5 = arg2; +// var_r6 = arg3; +// for (var_r31 = 0; var_r31 < 3; var_r31++) { +// var_f27 = *var_r5; +// var_r5 += 4; +// var_f28 = *var_r4; +// var_r4 += 4; +// var_f29 = *var_r3; +// var_r3 += 4; +// var_f26 = var_f29; +// var_f31 = 1.0 - arg8; +// var_f31 = var_f31; +// var_f30 = (var_f27 * (arg8 * arg8)) + ((var_f29 * (var_f31 * var_f31)) + (2.0 * (var_f28 * (var_f31 * arg8)))); +// var_f30 = var_f30; +// var_f25 = var_f30; +// var_f24 = var_f25; +// *var_r6 = var_f24; +// var_r6 += 4; +// } +// } + +// double fn_1_88E4(float arg8, double arg9, double argA, float argB) +// { +// double var_f31; + +// var_f31 = 2.0 * ((arg8 * argB) + (((arg8 - 1.0) * arg9) + ((1.0 - (2.0 * arg8)) * argA))); +// var_f31 = var_f31; +// return var_f31; +// } + +// void fn_1_895C(float *arg0, float *arg1, float *arg2, float *arg3, float arg8) +// { +// float sp8; +// float *temp_r6; +// float *var_r3; +// float *var_r4; +// float *var_r5; +// float *var_r6; +// float var_f23; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f28; +// float var_f29; +// float var_f30; +// double var_f21; +// double var_f22; +// double var_f27; +// double var_f31; +// s32 var_r31; + +// var_r3 = arg0; +// var_r4 = arg1; +// var_r5 = arg2; +// var_r6 = arg3; +// for (var_r31 = 0; var_r31 < 3; var_r31++) { +// var_f24 = *var_r5; +// var_r5 += 4; +// var_f25 = *var_r4; +// var_r4 += 4; +// var_f26 = *var_r3; +// var_r3 += 4; +// var_f23 = var_f26; +// var_f27 = 2.0 * ((arg8 * var_f24) + (((arg8 - 1.0) * var_f26) + ((1.0 - (2.0 * arg8)) * var_f25))); +// var_f27 = var_f27; +// var_f22 = var_f27; +// var_f21 = var_f22; +// (&spC[0])[var_r31] = var_f21; +// } +// var_f30 = (sp14 * sp14) + ((spC[0] * spC[0]) + (sp10 * sp10)); +// if (var_f30 > 0.0f) { +// var_f31 = __frsqrte(var_f30); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// sp8 = var_f30 * var_f31; +// var_f28 = sp8; +// } +// else { +// var_f28 = var_f30; +// } +// var_f29 = var_f28; +// if (var_f29 != 0.0f) { +// var_f29 = 1.0 / var_f29; +// var_f29 = var_f29; +// for (var_r31 = 0; var_r31 < 3; var_r31++) { +// *var_r6 = var_f29 * (&spC[0])[var_r31]; +// var_r6 += 4; +// } +// return; +// } +// *var_r6 = 0.0f; +// temp_r6 = var_r6 + 4; +// *temp_r6 = 0.0f; +// *(temp_r6 + 4) = 1.0f; +// } + +void fn_1_8C34(float *arg0, float *arg1, float *arg2, s32 arg3) +{ + float sp48[16]; + float sp8[16]; + double var_f31; + s32 var_r31; + + arg2[0] = 0.0f; + arg2[arg3 - 1] = 0.0f; + + for (var_r31 = 0; var_r31 < (arg3 - 1); var_r31++) { + sp48[var_r31] = arg0[var_r31 + 1] - arg0[var_r31]; + if (sp48[var_r31] == 0.0f) { + sp8[var_r31 + 1] = 0.0f; + } + else { + sp8[var_r31 + 1] = (arg1[var_r31 + 1] - arg1[var_r31]) / sp48[var_r31]; + } + } + arg2[1] = sp8[2] - sp8[1]; + sp8[1] = 2.0f * (arg0[2] - arg0[0]); + + for (var_r31 = 1; var_r31 < (arg3 - 2); var_r31++) { + var_f31 = sp48[var_r31] / sp8[var_r31]; + arg2[var_r31 + 1] = (sp8[var_r31 + 2] - sp8[var_r31 + 1]) - (var_f31 * arg2[var_r31]); + sp8[var_r31 + 1] = (2.0f * (arg0[var_r31 + 2] - arg0[var_r31])) - (var_f31 * sp48[var_r31]); + } + arg2[arg3 - 2] -= sp48[arg3 - 2] * arg2[arg3 - 1]; + + for (var_r31 = arg3 - 2; var_r31 > 0; var_r31--) { + if (sp8[var_r31] == 0.0f) { + arg2[var_r31] = 0.0f; + } + else { + arg2[var_r31] = (arg2[var_r31] - (sp48[var_r31] * arg2[var_r31 + 1])) / sp8[var_r31]; + } + } +} + +float fn_1_8EEC(float *arg0, float *arg1, float *arg2, float arg8) +{ + float var_f31; + float var_f30; + float var_f29; + + s32 var_r31 = arg8; + + arg8 = (arg8 - var_r31); + var_f31 = arg0[var_r31 + 1] - arg0[var_r31]; + var_f30 = var_f31 * arg8; + var_f29 = arg1[var_r31] + + (var_f30 + * ((var_f30 * ((3.0f * arg2[var_r31]) + ((var_f30 * (arg2[var_r31 + 1] - arg2[var_r31])) / var_f31))) + + (((arg1[var_r31 + 1] - arg1[var_r31]) / var_f31) - (var_f31 * ((2.0f * arg2[var_r31]) + arg2[var_r31 + 1]))))); + if (var_f31 == 0.0f) { + var_f29 = arg1[var_r31]; + } + return var_f29; +} + +void fn_1_9040(float *arg0, Vec *arg1, float arg2[3][3], s32 arg3) +{ + float spD4[16]; + float sp94[16]; + float sp54[16]; + float sp14[16]; + Vec sp8; + + double var_f31; + + s32 var_r31; + s32 var_r30; + s32 var_r27; + + arg0[0] = 0.0f; + for (var_r30 = 1; var_r30 < arg3; var_r30++) { + PSVECSubtract(&arg1[var_r30], &arg1[var_r30 - 1], &sp8); + arg0[var_r30] = arg0[var_r30 - 1] + PSVECMag(&sp8); + } + for (var_r27 = 0; var_r27 < 3; var_r27++) { + for (var_r30 = 0; var_r30 < arg3; var_r30++) { + spD4[var_r30] = ((float *)&arg1[var_r30])[var_r27]; // TODO + } + sp94[0] = 0.0f; + sp94[arg3 - 1] = 0.0f; + for (var_r31 = 0; var_r31 < (arg3 - 1); var_r31++) { + sp14[var_r31] = arg0[var_r31 + 1] - arg0[var_r31]; + if (sp14[var_r31] == 0.0f) { + sp54[var_r31 + 1] = 0.0f; + } + else { + sp54[var_r31 + 1] = (spD4[var_r31 + 1] - spD4[var_r31]) / sp14[var_r31]; + } + } + sp94[1] = sp54[2] - sp54[1]; + sp54[1] = 2.0f * (arg0[2] - arg0[0]); + for (var_r31 = 1; var_r31 < (arg3 - 2); var_r31++) { + var_f31 = sp14[var_r31] / sp54[var_r31]; + sp94[var_r31 + 1] = (sp54[var_r31 + 2] - sp54[var_r31 + 1]) - (var_f31 * sp94[var_r31]); + sp54[var_r31 + 1] = (2.0f * (arg0[var_r31 + 2] - arg0[var_r31])) - (var_f31 * sp14[var_r31]); + } + sp94[arg3 - 2] -= sp14[arg3 - 2] * sp94[arg3 - 1]; + for (var_r31 = arg3 - 2; var_r31 > 0; var_r31--) { + if (sp54[var_r31] == 0.0f) { + sp94[var_r31] = 0.0f; + } + else { + sp94[var_r31] = (sp94[var_r31] - (sp14[var_r31] * sp94[var_r31 + 1])) / sp54[var_r31]; + } + } + for (var_r30 = 0; var_r30 < arg3; var_r30++) { + arg2[var_r30][var_r27] = sp94[var_r30]; + } + } +} + +void fn_1_9420(float *arg0, float *arg1, float arg2[3][3], float arg3[3][3], s32 arg4, float arg8) +{ + float sp48[16]; + float sp8[16]; + + float var_f29; + + s32 var_r30; + s32 var_r29; + + for (var_r29 = 0; var_r29 < 3; var_r29++) { + for (var_r30 = 0; var_r30 < arg4; var_r30++) { + sp48[var_r30] = arg2[var_r30][var_r29]; + sp8[var_r30] = arg3[var_r30][var_r29]; + } + arg0[var_r29] = fn_1_8EEC(arg1, sp48, sp8, arg8); + } +} + +// float fn_1_9634(Vec *arg0) +// { +// float sp8; +// float var_f28; +// float var_f29; +// float var_f30; +// double var_f31; + +// var_f30 = (arg0->z * arg0->z) + ((arg0->x * arg0->x) + (arg0->y * arg0->y)); +// if (var_f30 > 0.0f) { +// var_f31 = __frsqrte(var_f30); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f30 * (var_f31 * var_f31))); +// sp8 = var_f30 * var_f31; +// var_f28 = sp8; +// } +// else { +// var_f28 = var_f30; +// } +// var_f30 = var_f28; +// if (var_f30 != 0.0f) { +// var_f29 = 1.0f / var_f30; +// arg0->x *= var_f29; +// arg0->y *= var_f29; +// arg0->z *= var_f29; +// } +// else { +// arg0->z = 0.0f; +// arg0->y = 0.0f; +// arg0->x = 0.0f; +// } +// return var_f30; +// } + +// float fn_1_97CC(void *arg0, void *arg1, void *arg2, float arg8) +// { +// if (arg8 <= 0.0f) { +// arg2->unk_00 = arg0->unk_00; +// arg2->unk_04 = arg0->unk_04; +// arg2->unk_08 = arg0->unk_08; +// return 0.0f; +// } +// if (arg8 >= 1.0f) { +// arg2->unk_00 = arg0->unk_00 + arg1->unk_00; +// arg2->unk_04 = arg0->unk_04 + arg1->unk_04; +// arg2->unk_08 = arg0->unk_08 + arg1->unk_08; +// return 1.0f; +// } +// arg2->unk_00 = arg0->unk_00 + (arg8 * arg1->unk_00); +// arg2->unk_04 = arg0->unk_04 + (arg8 * arg1->unk_04); +// arg2->unk_08 = arg0->unk_08 + (arg8 * arg1->unk_08); +// return arg8; +// } + +// float fn_1_98A4(void *arg0, void *arg1, void *arg2) +// { +// float var_f30; +// float var_f31; + +// var_f31 = (arg2->unk_08 * (arg1->unk_08 - arg0->unk_08)) +// + ((arg2->unk_00 * (arg1->unk_00 - arg0->unk_00)) + (arg2->unk_04 * (arg1->unk_04 - arg0->unk_04))); +// var_f30 = -((arg2->unk_08 * arg2->unk_08) + ((arg2->unk_00 * arg2->unk_00) + (arg2->unk_04 * arg2->unk_04))); +// if (var_f30 != 0.0f) { +// var_f31 /= var_f30; +// } +// return var_f31; +// } + +// float fn_1_9960(Vec *arg0, Vec *arg1, Vec *arg2) +// { +// float sp4C; +// float sp48; +// float sp44; +// float sp40; +// float sp3C; +// float sp38; +// float sp34; +// float sp30; +// float sp2C; +// float sp28; +// float sp24; +// float sp20; +// float sp1C; +// float sp18; +// float sp14; +// float sp10; +// float spC; +// float sp8; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; + +// if (((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y))) == 0.0f) { +// return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) +// + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); +// } +// sp38 = arg0->x; +// sp3C = arg0->y; +// sp40 = arg0->z; +// sp2C = arg1->x; +// sp30 = arg1->y; +// sp34 = arg1->z; +// sp20 = arg2->x; +// sp24 = arg2->y; +// sp28 = arg2->z; +// var_f30 = (sp28 * (sp34 - sp40)) + ((sp20 * (sp2C - sp38)) + (sp24 * (sp30 - sp3C))); +// var_f29 = -((sp28 * sp28) + ((sp20 * sp20) + (sp24 * sp24))); +// if (var_f29 != 0.0f) { +// var_f30 /= var_f29; +// } +// var_f27 = var_f30; +// var_f28 = var_f27; +// var_f31 = var_f28; +// sp8 = arg2->x; +// spC = arg2->y; +// sp10 = arg2->z; +// sp14 = arg1->x; +// sp18 = arg1->y; +// sp1C = arg1->z; +// if (var_f31 <= 0.0f) { +// sp44 = sp14; +// sp48 = sp18; +// sp4C = sp1C; +// var_f31 = 0.0f; +// } +// else if (var_f31 >= 1.0f) { +// sp44 = sp14 + sp8; +// sp48 = sp18 + spC; +// sp4C = sp1C + sp10; +// var_f31 = 1.0f; +// } +// else { +// sp44 = sp14 + (var_f31 * sp8); +// sp48 = sp18 + (var_f31 * spC); +// sp4C = sp1C + (var_f31 * sp10); +// } +// return ((arg0->z - sp4C) * (arg0->z - sp4C)) + (((arg0->x - sp44) * (arg0->x - sp44)) + ((arg0->y - sp48) * (arg0->y - sp48))); +// } + +// float fn_1_9C9C(void *arg0, void *arg1, void *arg2, void *arg3, void *arg4) +// { +// float sp44; +// float sp40; +// float sp3C; +// float sp38; +// float sp34; +// float sp30; +// float sp2C; +// float sp28; +// float sp24; +// float sp20; +// float sp1C; +// float sp18; +// float sp14; +// float sp10; +// float spC; +// float sp8; +// float var_f22; +// float var_f23; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// double var_f31; + +// if (((arg2->unk_08 * arg2->unk_08) + ((arg2->unk_00 * arg2->unk_00) + (arg2->unk_04 * arg2->unk_04))) == 0.0f) { +// return ((arg0->unk_08 - arg1->unk_08) * (arg0->unk_08 - arg1->unk_08)) +// + (((arg0->unk_00 - arg1->unk_00) * (arg0->unk_00 - arg1->unk_00)) + ((arg0->unk_04 - arg1->unk_04) * (arg0->unk_04 - +// arg1->unk_04))); +// } +// sp3C = arg0->unk_00; +// sp40 = arg0->unk_04; +// sp44 = arg0->unk_08; +// sp30 = arg1->unk_00; +// sp34 = arg1->unk_04; +// sp38 = arg1->unk_08; +// sp24 = arg2->unk_00; +// sp28 = arg2->unk_04; +// sp2C = arg2->unk_08; +// var_f27 = (sp2C * (sp38 - sp44)) + ((sp24 * (sp30 - sp3C)) + (sp28 * (sp34 - sp40))); +// var_f25 = -((sp2C * sp2C) + ((sp24 * sp24) + (sp28 * sp28))); +// if (var_f25 != 0.0f) { +// var_f27 /= var_f25; +// } +// var_f22 = var_f27; +// var_f23 = var_f22; +// var_f30 = var_f23; +// spC = arg2->unk_00; +// sp10 = arg2->unk_04; +// sp14 = arg2->unk_08; +// sp18 = arg1->unk_00; +// sp1C = arg1->unk_04; +// sp20 = arg1->unk_08; +// if (var_f30 <= 0.0f) { +// arg3->unk_00 = sp18; +// arg3->unk_04 = sp1C; +// arg3->unk_08 = sp20; +// var_f30 = 0.0f; +// } +// else if (var_f30 >= 1.0f) { +// arg3->unk_00 = sp18 + spC; +// arg3->unk_04 = sp1C + sp10; +// arg3->unk_08 = sp20 + sp14; +// var_f30 = 1.0f; +// } +// else { +// arg3->unk_00 = sp18 + (var_f30 * spC); +// arg3->unk_04 = sp1C + (var_f30 * sp10); +// arg3->unk_08 = sp20 + (var_f30 * sp14); +// } +// arg4->unk_00 = arg0->unk_00 - arg3->unk_00; +// arg4->unk_04 = arg0->unk_04 - arg3->unk_04; +// arg4->unk_08 = arg0->unk_08 - arg3->unk_08; +// var_f28 = (arg4->unk_08 * arg4->unk_08) + ((arg4->unk_00 * arg4->unk_00) + (arg4->unk_04 * arg4->unk_04)); +// var_f29 = var_f28; +// if (var_f29 > 0.0f) { +// var_f31 = __frsqrte(var_f29); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f29 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f29 * (var_f31 * var_f31))); +// var_f31 = 0.5 * var_f31 * (3.0 - (var_f29 * (var_f31 * var_f31))); +// sp8 = var_f29 * var_f31; +// var_f24 = sp8; +// } +// else { +// var_f24 = var_f29; +// } +// var_f28 = var_f24; +// if (var_f28 != 0.0f) { +// var_f26 = 1.0f / var_f28; +// arg4->unk_00 = arg4->unk_00 * var_f26; +// arg4->unk_04 = arg4->unk_04 * var_f26; +// arg4->unk_08 = arg4->unk_08 * var_f26; +// } +// else { +// arg4->unk_08 = 0.0f; +// arg4->unk_04 = 0.0f; +// arg4->unk_00 = 0.0f; +// } +// return var_f28; +// } + +// float fn_1_A14C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3) +// { +// float var_f23; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// s32 var_r29; +// s32 var_r30; +// s32 var_r31; + +// var_f30 = -1.0f; +// var_r31 = 0; +// if (arg3->unk_00 < 0.0f) { +// var_f25 = -arg3->unk_00; +// } +// else { +// var_f25 = arg3->unk_00; +// } +// var_f28 = var_f25; +// if (arg3->unk_04 < 0.0f) { +// var_f24 = -arg3->unk_04; +// } +// else { +// var_f24 = arg3->unk_04; +// } +// var_f27 = var_f24; +// if (arg3->unk_08 < 0.0f) { +// var_f23 = -arg3->unk_08; +// } +// else { +// var_f23 = arg3->unk_08; +// } +// var_f26 = var_f23; +// if (var_f28 >= var_f27) { +// if (var_f28 >= var_f26) { +// var_r30 = 1; +// } +// else { +// var_r30 = 0x100; +// } +// var_r31 = var_r30; +// } +// else { +// if (var_f27 >= var_f26) { +// var_r29 = 0x10; +// } +// else { +// var_r29 = 0x100; +// } +// var_r31 = var_r29; +// } +// if ((var_r31 & 3) != 0) { +// if ((arg1->x != 0.0f) || (arg1->z != 0.0f)) { +// var_f31 = (arg3->unk_00 * arg1->z) - (arg3->unk_08 * arg1->x); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_08 * (arg0->x - arg2->x)) - (arg3->unk_00 * (arg0->z - arg2->z))) / var_f31; +// goto block_44; +// } +// var_f31 = (arg3->unk_04 * arg1->x) - (arg3->unk_00 * arg1->y); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_00 * (arg0->y - arg2->y)) - (arg3->unk_04 * (arg0->x - arg2->x))) / var_f31; +// goto block_44; +// } +// if ((var_r31 & 0x30) != 0) { +// if ((arg1->x != 0.0f) || (arg1->y != 0.0f)) { +// var_f31 = (arg3->unk_04 * arg1->x) - (arg3->unk_00 * arg1->y); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_00 * (arg0->y - arg2->y)) - (arg3->unk_04 * (arg0->x - arg2->x))) / var_f31; +// goto block_44; +// } +// var_f31 = (arg3->unk_08 * arg1->y) - (arg3->unk_04 * arg1->z); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_04 * (arg0->z - arg2->z)) - (arg3->unk_08 * (arg0->y - arg2->y))) / var_f31; +// goto block_44; +// } +// if ((arg1->x != 0.0f) || (arg1->z != 0.0f)) { +// var_f31 = (arg3->unk_00 * arg1->z) - (arg3->unk_08 * arg1->x); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_08 * (arg0->x - arg2->x)) - (arg3->unk_00 * (arg0->z - arg2->z))) / var_f31; +// goto block_44; +// } +// var_f31 = (arg3->unk_08 * arg1->y) - (arg3->unk_04 * arg1->z); +// if (var_f31 == 0.0f) { +// return -1.0f; +// } +// var_f29 = ((arg3->unk_04 * (arg0->z - arg2->z)) - (arg3->unk_08 * (arg0->y - arg2->y))) / var_f31; +// block_44: +// return var_f29; +// } + +void fn_1_A60C(omObjData *object) +{ + object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x900, MEMORY_DEFAULT_NUM); + memset(object->data, 0, 0x900); + object->model[0] = Hu3DHookFuncCreate(fn_1_A68C); + Hu3DModelLayerSet(object->model[0], 7); + object->func = fn_1_A688; +} + +void fn_1_A688(omObjData *object) { } + +// void fn_1_A68C(ModelData *model, Mtx matrix) +// { +// Vec sp14; +// Vec sp8; +// ? *var_r30; +// float var_f31; +// omObjData *var_r27; +// s32 var_r24; +// s32 var_r28; +// s32 var_r29; +// u8 *var_r26; +// void *var_r25; +// void *var_r31; + +// if (omPauseChk() == 0) { +// memset(lbl_1_bss_DBC->data, 0, 0x900); +// if (lbl_1_bss_DBA == 7) { +// for (var_r30 = &lbl_1_bss_298; var_r29 = 0; var_r30 < 0x30; var_r29++; var_r30 += 0x30) { +// if ((var_r30->unk_00 > 1) && (var_r30->unk_00 < 5)) { +// var_f31 = 0.0f; +// for (var_f31 = 0.0f; var_f31 < (35.416668f + var_r30->unk_14); var_f31 += 35.416668f) { +// PSVECScale(var_r30 + 0x24, &sp8, var_f31); +// PSVECAdd(var_r30 + 0x18, &sp8, &sp14); +// PSVECSubtract(&sp14, &lbl_1_data_514, &sp14); +// var_r24 = (0.028235294f * sp14.z) * 0x30; +// var_r25 = (0.028235294f * sp14) + var_r24; +// var_r25 += lbl_1_bss_DBC->data; +// for (var_r28 = 0; var_r28 < 0x19; var_r28++) { +// var_r26 = var_r25 + lbl_1_data_520[var_r28]; +// if (*var_r26 < lbl_1_data_584[var_r28]) { +// *var_r26 = lbl_1_data_584[var_r28]; +// } +// } +// } +// } +// } +// for (var_r29 = 0; var_r29 < 4; var_r29++) { +// if (lbl_1_bss_DC4[var_r29] != NULL) { +// var_r27 = lbl_1_bss_DC4[var_r29]; +// var_r31 = var_r27->data; +// if ((var_r31 != NULL) && (var_r31->unk_68 != 0)) { +// var_r31->unk_68 = 0; +// PSVECAdd(var_r31 + 0x6C, var_r31 + 0x4C, &sp14); +// var_r31->unk_64 = fn_1_AE18(var_r27->work[0], &sp14, var_r31 + 0x58); +// } +// } +// } +// } +// } +// } + +// u16 fn_1_A8FC(Vec *arg0, float arg8) +// { +// s32 sp34; +// float sp30; +// s32 sp2C; +// Vec sp20; +// Vec sp14; +// float sp10; +// float spC; +// float sp8; +// Vec *var_r29; +// float var_f25; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// double var_f26; +// double var_f27; +// s32 var_r28; +// u16 var_r30; +// u8 temp_r0; +// void *var_r31; + +// var_r29 = arg0; +// var_f25 = arg8; +// var_r30 = 0; +// var_r28 = 0; +// var_f28 = 100.0f * (4.5f - (2.0f * var_f25)); +// var_f31 = PSVECMag(var_r29); +// if (var_f31 > 280.0f) { +// if (var_f31 > 560.0f) { +// var_r28 = 1; +// PSVECNormalize(var_r29, &sp14); +// } +// var_f31 -= 280.0f; +// var_f31 *= 0.12987013f; +// if (var_f31 > 50.0f) { +// var_f31 = 500.0f; +// } +// var_r30 = var_f31; +// } +// if (lbl_1_bss_DBA == 7) { +// var_r31 = lbl_1_bss_DC0->data; +// sp2C = var_r31->unk_34; +// sp30 = var_r31->unk_38; +// sp34 = var_r31->unk_3C; +// sp30 = 0.0f; +// temp_r0 = var_r31->unk_00; +// if (temp_r0 < 4) { +// if (temp_r0 < 2) { +// goto block_18; +// } +// sp8 = sind(var_r31->unk_08); +// spC = 0.0f; +// sp10 = cosd(var_r31->unk_08); +// PSVECScale(&sp8, &sp20, 600.0f + (100.0f * (8.0f * var_f25))); +// var_f30 = fn_1_B440(var_r29, &sp2C, &sp20); +// if ((var_f30 > -0.2f) && (var_f30 < 1.0f)) { +// PSVECScale(&sp20, &sp20, var_f30); +// PSVECAdd(&sp2C, &sp20, &sp2C); +// PSVECSubtract(&sp2C, var_r29, &sp20); +// var_f31 = PSVECMag(&sp20); +// if (var_f31 < var_f28) { +// var_f29 = 0.0f; +// if (var_r28 != 0) { +// var_f29 = PSVECDotProduct(&sp14, &sp8); +// var_f27 = fabs(var_f29); +// var_f29 = 1.0 - var_f27; +// var_f29 = var_f29; +// } +// var_f31 = (1.0f / var_f28) * (var_f28 - var_f31); +// var_f31 = 0.5f * (var_f31 + (1.0f - ((1.0f - var_f31) * (1.0f - var_f31)))); +// var_f31 += (1.0f - var_f31) * var_f29; +// var_f31 = 100.0f + (50.0f * var_f31); +// var_f26 = fabs(var_f30); +// var_f30 = 0.5 + (0.5 * (1.0 - var_f26)); +// var_f30 = var_f30; +// var_f31 *= var_f30; +// if (var_f31 > 150.0f) { +// var_f31 = 150.0f; +// } +// var_r30 = var_r30 + var_f31; +// } +// } +// } +// else { +// block_18: +// PSVECSubtract(var_r29, &sp2C, &sp20); +// var_f31 = PSVECMag(&sp20); +// if (var_f31 < 600.0f) { +// var_f31 = 800.0f - var_f31; +// var_f31 = 20.0f + (0.1f * var_f31); +// if (var_f31 > 100.0f) { +// var_f31 = 100.0f; +// } +// var_r30 = var_r30 + var_f31; +// } +// } +// } +// return var_r30; +// } + +// s32 fn_1_AE18(u32 arg0, Vec *arg1, Vec *arg2) +// { +// Vec sp4C; +// float sp48; +// float sp44; +// float sp40; +// Vec sp34; +// float sp30; +// float sp2C; +// s32 sp28; +// Vec sp1C; +// void *sp18; +// u32 sp14; +// u32 sp10; +// Vec *spC; +// u32 sp8; +// Vec *var_r20; +// float temp_r0; +// float temp_r3; +// float var_f22; +// float var_f23; +// float var_f24; +// float var_f25; +// float var_f26; +// float var_f27; +// float var_f28; +// float var_f29; +// float var_f30; +// float var_f31; +// s32 var_r18; +// s32 var_r23; +// s32 var_r26; +// s32 var_r28; +// s32 var_r30; +// u16 *var_r21; +// u16 *var_r27; +// u16 var_r31; +// u32 temp_r3_2; +// u32 var_r19; +// u32 var_r29; +// u8 *var_r24; +// void *var_r17; +// void *var_r22; +// void *var_r25; + +// sp8 = arg0; +// spC = arg1; +// var_r20 = arg2; +// memset(lbl_1_bss_C, 0, 0x288); +// temp_r3 = arg1->x; +// sp40 = temp_r3; +// sp44 = arg1->y; +// temp_r0 = arg1->z; +// sp48 = temp_r0; +// temp_r3_2 = 0.028235294f * (sp40 - -850.0f); +// sp10 = temp_r3_2; +// sp14 = 0.028235294f * (sp48 - -850.0f); +// var_r17 = temp_r3_2 + (sp14 * 0x30); +// var_r17 += lbl_1_bss_DBC->data; +// sp44 = 0.0f; +// var_r20->x = temp_r3; +// var_r20->y = sp44; +// var_r20->z = temp_r0; +// var_r25 = lbl_1_bss_DC4[sp8]->data; +// var_f28 = var_r25->unk_3C; +// var_r19 = 0x2710; +// var_r18 = 0; +// for (var_r30 = 0; var_r30 < 9; var_r30++) { +// PSVECAdd(&sp40, &lbl_1_data_60C[var_r30], &sp34); +// sp18 = var_r17 + lbl_1_data_5E8[var_r30]; +// var_r21 = &lbl_1_bss_C[lbl_1_data_708[var_r30]] + 0x156; +// var_f31 = 0.0f; +// var_r29 = 0; +// var_r22 = sp18; +// sp28 = sp34; +// sp2C = sp34.y; +// sp30 = sp34.z; +// for (var_r23 = 0; var_r23 < 3; var_r23++) { +// for (var_r28 = 0; var_r28 < 9; var_r28++) { +// var_r24 = var_r22 + lbl_1_data_5E8[var_r28]; +// PSVECAdd(&sp28, &lbl_1_data_60C[var_r28], &sp4C); +// if ((lbl_1_bss_DBC->data <= var_r24) && ((lbl_1_bss_DBC->data + 0x900) > var_r24)) { +// var_f27 = sp4C; +// var_f25 = fabs(var_f27); +// var_f24 = var_f25; +// if (var_f24 < 850.0) { +// var_f26 = sp4C.z; +// var_f23 = fabs(var_f26); +// var_f22 = var_f23; +// if (var_f22 < 850.0) { +// var_f31 += 1.0f; +// var_r27 = &var_r21[lbl_1_data_708[var_r28]]; +// if (*var_r27 == 0) { +// var_r31 = fn_1_A8FC(&sp4C, var_f28); +// var_r31 += *var_r24; +// var_f29 = 0.0f; +// if (var_r31 < 0x3C) { +// var_f29 = 0.016666668f * (0x3C - var_r31); +// } +// var_f29 = 80.0f + (100.0f * (2.5f * var_f29)); +// for (var_r26 = 0; var_r26 < 4; var_r26++) { +// if (var_r26 != sp8) { +// var_r25 = lbl_1_bss_DC4[var_r26]->data; +// PSVECSubtract(&sp4C, var_r25 + 0x6C, &sp1C); +// sp1C.y = 0.0f; +// var_f30 = PSVECMag(&sp1C); +// if (var_f30 < var_f29) { +// var_f30 = var_f29 - var_f30; +// var_f30 *= 40.0f / var_f29; +// var_r31 = var_r31 + var_f30; +// } +// } +// } +// var_r31++; +// *var_r27 = var_r31; +// } +// else { +// var_r31 = *var_r27; +// } +// var_r29 += var_r31; +// if ((var_r28 == 0) && (var_r23 == 0)) { +// var_r29 += var_r31 * 3; +// var_f31 += 3.0f; +// } +// } +// } +// } +// } +// PSVECAdd(&sp28, &lbl_1_data_69C[var_r30], &sp28); +// var_r22 += lbl_1_data_678[var_r30]; +// var_r21 = &var_r21[lbl_1_data_72C[var_r30]]; +// var_f31 *= 2.0f; +// var_r29 = var_r29 * 2.0f; +// } +// if (var_f31 > 1.0f) { +// var_r29 = var_r29 / var_f31; +// } +// if (var_r19 > var_r29) { +// var_r18 = var_r30; +// var_r19 = var_r29; +// var_r20->x = sp34; +// var_r20->y = sp34.y; +// var_r20->z = sp34.z; +// } +// (&sp58[0])[var_r30] = var_r29; +// } +// if (var_r18 != 0) { +// return 1; +// } +// return 0; +// } + +// float fn_1_B440(Vec *arg0, Vec *arg1, Vec *arg2) +// { +// Vec sp10; +// Vec *spC; +// Vec *sp8; +// Vec *var_r31; +// float var_f30; +// float var_f31; + +// sp8 = arg0; +// spC = arg1; +// var_r31 = arg2; +// PSVECSubtract(spC, sp8, &sp10); +// var_f31 = PSVECDotProduct(&sp10, var_r31); +// var_f30 = -PSVECSquareMag(var_r31); +// if (var_f30 != 0.0f) { +// var_f31 /= var_f30; +// } +// return var_f31; +// } diff --git a/src/REL/m438Dll/map.c b/src/REL/m438Dll/map.c new file mode 100644 index 00000000..e69de29b From 0a152cdcef4d00f2afc139a3f6ae7ca180d546c0 Mon Sep 17 00:00:00 2001 From: Rainchus Date: Thu, 1 Aug 2024 13:00:53 -0500 Subject: [PATCH 3/4] fix tons of linker warnings, mark all uninitialized as so, fix a few issues where uninitialized was due to incorrect decompilation --- config/GMPE01_00/rels/m406Dll/symbols.txt | 10 +- config/GMPE01_00/rels/m409Dll/symbols.txt | 14 +- config/GMPE01_00/rels/m411Dll/symbols.txt | 380 +++++------ config/GMPE01_00/rels/m439Dll/symbols.txt | 200 +++--- config/GMPE01_00/rels/m442Dll/symbols.txt | 8 +- config/GMPE01_00/rels/mgmodedll/symbols.txt | 662 ++++++++++---------- src/REL/m406Dll/map.c | 10 +- src/REL/m406Dll/player.c | 2 +- src/REL/m409Dll/main.c | 3 +- src/REL/m411Dll/main.c | 2 +- src/REL/m416Dll/main.c | 3 +- src/REL/m417Dll/main.c | 2 +- src/REL/m442Dll/main.c | 6 +- src/game/ClusterExec.c | 2 +- src/game/board/player.c | 9 +- src/game/chrman.c | 2 +- 16 files changed, 657 insertions(+), 658 deletions(-) diff --git a/config/GMPE01_00/rels/m406Dll/symbols.txt b/config/GMPE01_00/rels/m406Dll/symbols.txt index 8dd2f620..5697d866 100644 --- a/config/GMPE01_00/rels/m406Dll/symbols.txt +++ b/config/GMPE01_00/rels/m406Dll/symbols.txt @@ -375,16 +375,16 @@ lbl_1_data_930 = .data:0x00000930; // type:object size:0x30 lbl_1_data_960 = .data:0x00000960; // type:object size:0x348 data:float lbl_1_data_CA8 = .data:0x00000CA8; // type:object size:0x348 data:float lbl_1_data_FF0 = .data:0x00000FF0; // type:object size:0x10 -lbl_1_data_1000 = .data:0x00001000; // type:object size:0x19 data:string -lbl_1_data_1019 = .data:0x00001019; // type:object size:0x19 data:string -lbl_1_data_1032 = .data:0x00001032; // type:object size:0x1A data:string -lbl_1_data_104C = .data:0x0000104C; // type:object size:0x1C data:string +lbl_1_data_1000 = .data:0x00001000; // type:object size:0x19 scope:local data:string +lbl_1_data_1019 = .data:0x00001019; // type:object size:0x19 scope:local data:string +lbl_1_data_1032 = .data:0x00001032; // type:object size:0x1A scope:local data:string +lbl_1_data_104C = .data:0x0000104C; // type:object size:0x1C scope:local data:string lbl_1_data_1068 = .data:0x00001068; // type:object size:0x10 lbl_1_data_1078 = .data:0x00001078; // type:object size:0x28 lbl_1_data_10A0 = .data:0x000010A0; // type:object size:0x80 data:4byte lbl_1_data_1120 = .data:0x00001120; // type:object size:0x20 lbl_1_data_1140 = .data:0x00001140; // type:object size:0x8 -lbl_1_data_1148 = .data:0x00001148; // type:object size:0x1C data:string +lbl_1_data_1148 = .data:0x00001148; // type:object size:0x1C scope:local data:string lbl_1_data_1164 = .data:0x00001164; // type:object size:0x90 data:float lbl_1_data_11F4 = .data:0x000011F4; // type:object size:0x4 data:4byte lbl_1_data_11F8 = .data:0x000011F8; // type:object size:0x20 data:float diff --git a/config/GMPE01_00/rels/m409Dll/symbols.txt b/config/GMPE01_00/rels/m409Dll/symbols.txt index f1bcf978..871d7d04 100644 --- a/config/GMPE01_00/rels/m409Dll/symbols.txt +++ b/config/GMPE01_00/rels/m409Dll/symbols.txt @@ -273,13 +273,13 @@ lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data: lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x8 scope:local data:double lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float -lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x30 data:4byte -lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x10 data:byte -lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 data:float -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 data:double +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float +lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x30 scope:local data:4byte +lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x10 scope:local data:byte +lbl_1_rodata_47C = .rodata:0x0000047C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x8 scope:local data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0xC lbl_1_data_C = .data:0x0000000C; // type:object size:0xC lbl_1_data_18 = .data:0x00000018; // type:object size:0x10 diff --git a/config/GMPE01_00/rels/m411Dll/symbols.txt b/config/GMPE01_00/rels/m411Dll/symbols.txt index 340c10ca..2806fdca 100644 --- a/config/GMPE01_00/rels/m411Dll/symbols.txt +++ b/config/GMPE01_00/rels/m411Dll/symbols.txt @@ -54,191 +54,191 @@ fn_1_ACB0 = .text:0x0000ACB0; // type:function size:0xA8 fn_1_AD58 = .text:0x0000AD58; // type:function size:0xB50 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 data:double -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 data:float -lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float -lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float -lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float -lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 data:double -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 data:double -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 data:double -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float -lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float -lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float -lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float -lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float -lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 data:float -lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 data:float -lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 data:float -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 data:double -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 data:float -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float -lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float -lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float -lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 data:double -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 data:double -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:double -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 data:double -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float -lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float -lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float -lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float -lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float -lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float -lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float -lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float -lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float +lbl_1_rodata_64 = .rodata:0x00000064; // type:object size:0x4 scope:local data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float +lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float +lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x8 scope:local data:double +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x8 scope:local data:double +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x8 scope:local data:double +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float +lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float +lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float +lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float +lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float +lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x8 scope:local data:double +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x8 scope:local data:double +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:double +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float +lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float +lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float lbl_1_data_54 = .data:0x00000054; // type:object size:0xC -lbl_1_data_60 = .data:0x00000060; // type:object size:0x9 data:string +lbl_1_data_60 = .data:0x00000060; // type:object size:0x9 scope:local data:string lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC -lbl_1_data_78 = .data:0x00000078; // type:object size:0xE data:string -lbl_1_data_86 = .data:0x00000086; // type:object size:0xE data:string -lbl_1_data_94 = .data:0x00000094; // type:object size:0xE data:string -lbl_1_data_A2 = .data:0x000000A2; // type:object size:0xE data:string -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0xE data:string -lbl_1_data_BE = .data:0x000000BE; // type:object size:0xE data:string -lbl_1_data_CC = .data:0x000000CC; // type:object size:0xE data:string -lbl_1_data_DA = .data:0x000000DA; // type:object size:0xE data:string -lbl_1_data_E8 = .data:0x000000E8; // type:object size:0xE data:string -lbl_1_data_F6 = .data:0x000000F6; // type:object size:0xE data:string -lbl_1_data_104 = .data:0x00000104; // type:object size:0xE data:string -lbl_1_data_112 = .data:0x00000112; // type:object size:0xE data:string -lbl_1_data_120 = .data:0x00000120; // type:object size:0xE data:string -lbl_1_data_12E = .data:0x0000012E; // type:object size:0xE data:string -lbl_1_data_13C = .data:0x0000013C; // type:object size:0xE data:string -lbl_1_data_14A = .data:0x0000014A; // type:object size:0xE data:string -lbl_1_data_158 = .data:0x00000158; // type:object size:0xE data:string -lbl_1_data_166 = .data:0x00000166; // type:object size:0xE data:string -lbl_1_data_174 = .data:0x00000174; // type:object size:0xE data:string -lbl_1_data_182 = .data:0x00000182; // type:object size:0xE data:string -lbl_1_data_190 = .data:0x00000190; // type:object size:0xE data:string -lbl_1_data_19E = .data:0x0000019E; // type:object size:0xE data:string -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0xE data:string -lbl_1_data_1BA = .data:0x000001BA; // type:object size:0xE data:string +lbl_1_data_78 = .data:0x00000078; // type:object size:0xE scope:local data:string +lbl_1_data_86 = .data:0x00000086; // type:object size:0xE scope:local data:string +lbl_1_data_94 = .data:0x00000094; // type:object size:0xE scope:local data:string +lbl_1_data_A2 = .data:0x000000A2; // type:object size:0xE scope:local data:string +lbl_1_data_B0 = .data:0x000000B0; // type:object size:0xE scope:local data:string +lbl_1_data_BE = .data:0x000000BE; // type:object size:0xE scope:local data:string +lbl_1_data_CC = .data:0x000000CC; // type:object size:0xE scope:local data:string +lbl_1_data_DA = .data:0x000000DA; // type:object size:0xE scope:local data:string +lbl_1_data_E8 = .data:0x000000E8; // type:object size:0xE scope:local data:string +lbl_1_data_F6 = .data:0x000000F6; // type:object size:0xE scope:local data:string +lbl_1_data_104 = .data:0x00000104; // type:object size:0xE scope:local data:string +lbl_1_data_112 = .data:0x00000112; // type:object size:0xE scope:local data:string +lbl_1_data_120 = .data:0x00000120; // type:object size:0xE scope:local data:string +lbl_1_data_12E = .data:0x0000012E; // type:object size:0xE scope:local data:string +lbl_1_data_13C = .data:0x0000013C; // type:object size:0xE scope:local data:string +lbl_1_data_14A = .data:0x0000014A; // type:object size:0xE scope:local data:string +lbl_1_data_158 = .data:0x00000158; // type:object size:0xE scope:local data:string +lbl_1_data_166 = .data:0x00000166; // type:object size:0xE scope:local data:string +lbl_1_data_174 = .data:0x00000174; // type:object size:0xE scope:local data:string +lbl_1_data_182 = .data:0x00000182; // type:object size:0xE scope:local data:string +lbl_1_data_190 = .data:0x00000190; // type:object size:0xE scope:local data:string +lbl_1_data_19E = .data:0x0000019E; // type:object size:0xE scope:local data:string +lbl_1_data_1AC = .data:0x000001AC; // type:object size:0xE scope:local data:string +lbl_1_data_1BA = .data:0x000001BA; // type:object size:0xE scope:local data:string lbl_1_data_1C8 = .data:0x000001C8; // type:object size:0x78 lbl_1_data_240 = .data:0x00000240; // type:object size:0x20 lbl_1_data_260 = .data:0x00000260; // type:object size:0x20 @@ -246,15 +246,15 @@ lbl_1_data_280 = .data:0x00000280; // type:object size:0x24 lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0x20 lbl_1_data_2C4 = .data:0x000002C4; // type:object size:0xC lbl_1_data_2D0 = .data:0x000002D0; // type:object size:0x14 -lbl_1_data_2E4 = .data:0x000002E4; // type:object size:0xB data:string -lbl_1_data_2EF = .data:0x000002EF; // type:object size:0xB data:string -lbl_1_data_2FA = .data:0x000002FA; // type:object size:0x8 data:string -lbl_1_data_302 = .data:0x00000302; // type:object size:0x7 data:string +lbl_1_data_2E4 = .data:0x000002E4; // type:object size:0xB scope:local data:string +lbl_1_data_2EF = .data:0x000002EF; // type:object size:0xB scope:local data:string +lbl_1_data_2FA = .data:0x000002FA; // type:object size:0x8 scope:local data:string +lbl_1_data_302 = .data:0x00000302; // type:object size:0x7 scope:local data:string lbl_1_data_30C = .data:0x0000030C; // type:object size:0x10 -lbl_1_data_31C = .data:0x0000031C; // type:object size:0xC data:string -lbl_1_data_328 = .data:0x00000328; // type:object size:0x7 data:string -lbl_1_data_32F = .data:0x0000032F; // type:object size:0x7 data:string -lbl_1_data_336 = .data:0x00000336; // type:object size:0x7 data:string +lbl_1_data_31C = .data:0x0000031C; // type:object size:0xC scope:local data:string +lbl_1_data_328 = .data:0x00000328; // type:object size:0x7 scope:local data:string +lbl_1_data_32F = .data:0x0000032F; // type:object size:0x7 scope:local data:string +lbl_1_data_336 = .data:0x00000336; // type:object size:0x7 scope:local data:string lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x60 data:float lbl_1_bss_64 = .bss:0x00000064; // type:object size:0x60 data:float diff --git a/config/GMPE01_00/rels/m439Dll/symbols.txt b/config/GMPE01_00/rels/m439Dll/symbols.txt index 04d69746..246ef044 100644 --- a/config/GMPE01_00/rels/m439Dll/symbols.txt +++ b/config/GMPE01_00/rels/m439Dll/symbols.txt @@ -50,92 +50,92 @@ fn_1_7578 = .text:0x00007578; // type:function size:0x26C fn_1_77E4 = .text:0x000077E4; // type:function size:0x9A8 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 data:double -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float -lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float -lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 data:float -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float -lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float -lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float -lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float -lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float -lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 data:double -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 data:double -lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float -lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float -lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 data:float -lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float -lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 data:float -lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 data:float -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0xC data:2byte -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x50 -lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float -lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float -lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float -lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float -lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x1 data:byte -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x8 scope:local data:double +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float +lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float +lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float +lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float +lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x8 scope:local data:double +lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float +lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float +lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float +lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float +lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0xC scope:local data:2byte +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x50 scope:local +lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x1 scope:local data:byte +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double lbl_1_data_0 = .data:0x00000000; // type:object size:0x18 lbl_1_data_18 = .data:0x00000018; // type:object size:0x18 lbl_1_data_30 = .data:0x00000030; // type:object size:0x8 @@ -267,11 +267,11 @@ lbl_1_data_75FC = .data:0x000075FC; // type:object size:0xC data:float lbl_1_data_7608 = .data:0x00007608; // type:object size:0x4 lbl_1_data_760C = .data:0x0000760C; // type:object size:0xC data:float lbl_1_data_7618 = .data:0x00007618; // type:object size:0xC data:float -lbl_1_data_7624 = .data:0x00007624; // type:object size:0x23 data:string +lbl_1_data_7624 = .data:0x00007624; // type:object size:0x23 scope:local data:string lbl_1_data_7648 = .data:0x00007648; // type:object size:0x4 data:4byte lbl_1_data_764C = .data:0x0000764C; // type:object size:0x4 data:4byte jumptable_1_data_7650 = .data:0x00007650; // type:object size:0x28 scope:local -lbl_1_data_7678 = .data:0x00007678; // type:object size:0x1C data:string +lbl_1_data_7678 = .data:0x00007678; // type:object size:0x1C scope:local data:string lbl_1_data_7694 = .data:0x00007694; // type:object size:0x1C lbl_1_data_76B0 = .data:0x000076B0; // type:object size:0x58 data:float lbl_1_data_7708 = .data:0x00007708; // type:object size:0x30 data:float @@ -283,18 +283,18 @@ lbl_1_data_779C = .data:0x0000779C; // type:object size:0x4 data:4byte lbl_1_data_77A0 = .data:0x000077A0; // type:object size:0x28 lbl_1_data_77C8 = .data:0x000077C8; // type:object size:0x70 data:float lbl_1_data_7838 = .data:0x00007838; // type:object size:0x1C data:2byte -lbl_1_data_7854 = .data:0x00007854; // type:object size:0x6 data:string -lbl_1_data_785A = .data:0x0000785A; // type:object size:0x6 data:string -lbl_1_data_7860 = .data:0x00007860; // type:object size:0x8 data:string -lbl_1_data_7868 = .data:0x00007868; // type:object size:0x6 data:string -lbl_1_data_786E = .data:0x0000786E; // type:object size:0x8 data:string -lbl_1_data_7876 = .data:0x00007876; // type:object size:0x6 data:string -lbl_1_data_787C = .data:0x0000787C; // type:object size:0x6 data:string -lbl_1_data_7882 = .data:0x00007882; // type:object size:0x6 data:string -lbl_1_data_7888 = .data:0x00007888; // type:object size:0x6 data:string -lbl_1_data_788E = .data:0x0000788E; // type:object size:0x6 data:string -lbl_1_data_7894 = .data:0x00007894; // type:object size:0x6 data:string -lbl_1_data_789A = .data:0x0000789A; // type:object size:0x6 data:string +lbl_1_data_7854 = .data:0x00007854; // type:object size:0x6 scope:local data:string +lbl_1_data_785A = .data:0x0000785A; // type:object size:0x6 scope:local data:string +lbl_1_data_7860 = .data:0x00007860; // type:object size:0x8 scope:local data:string +lbl_1_data_7868 = .data:0x00007868; // type:object size:0x6 scope:local data:string +lbl_1_data_786E = .data:0x0000786E; // type:object size:0x8 scope:local data:string +lbl_1_data_7876 = .data:0x00007876; // type:object size:0x6 scope:local data:string +lbl_1_data_787C = .data:0x0000787C; // type:object size:0x6 scope:local data:string +lbl_1_data_7882 = .data:0x00007882; // type:object size:0x6 scope:local data:string +lbl_1_data_7888 = .data:0x00007888; // type:object size:0x6 scope:local data:string +lbl_1_data_788E = .data:0x0000788E; // type:object size:0x6 scope:local data:string +lbl_1_data_7894 = .data:0x00007894; // type:object size:0x6 scope:local data:string +lbl_1_data_789A = .data:0x0000789A; // type:object size:0x6 scope:local data:string lbl_1_data_78A0 = .data:0x000078A0; // type:object size:0x20 lbl_1_data_78C0 = .data:0x000078C0; // type:object size:0x30 data:float lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte diff --git a/config/GMPE01_00/rels/m442Dll/symbols.txt b/config/GMPE01_00/rels/m442Dll/symbols.txt index 81b8a041..c4f962cc 100644 --- a/config/GMPE01_00/rels/m442Dll/symbols.txt +++ b/config/GMPE01_00/rels/m442Dll/symbols.txt @@ -167,18 +167,18 @@ lbl_1_data_60 = .data:0x00000060; // type:object size:0xC data:float lbl_1_data_6C = .data:0x0000006C; // type:object size:0x4 data:byte lbl_1_data_70 = .data:0x00000070; // type:object size:0xC data:float lbl_1_data_7C = .data:0x0000007C; // type:object size:0xC data:float -lbl_1_data_88 = .data:0x00000088; // type:object size:0x24 data:string +lbl_1_data_88 = .data:0x00000088; // type:object size:0x24 scope:local data:string lbl_1_data_AC = .data:0x000000AC; // type:object size:0x4 data:4byte jumptable_1_data_B0 = .data:0x000000B0; // type:object size:0x30 scope:local -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x1C data:string +lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x1C scope:local data:string lbl_1_data_FC = .data:0x000000FC; // type:object size:0x1C data:4byte lbl_1_data_118 = .data:0x00000118; // type:object size:0x8 data:4byte lbl_1_data_120 = .data:0x00000120; // type:object size:0x30 data:float -lbl_1_data_150 = .data:0x00000150; // type:object size:0x1A data:string +lbl_1_data_150 = .data:0x00000150; // type:object size:0x1A scope:local data:string lbl_1_data_16A = .data:0x0000016A; // type:object size:0x20 data:2byte lbl_1_data_18A = .data:0x0000018A; // type:object size:0x14 data:2byte lbl_1_data_1A0 = .data:0x000001A0; // type:object size:0xC data:4byte -lbl_1_data_1AC = .data:0x000001AC; // type:object size:0xC data:string +lbl_1_data_1AC = .data:0x000001AC; // type:object size:0xC scope:local data:string lbl_1_data_1B8 = .data:0x000001B8; // type:object size:0x4 data:byte lbl_1_data_1BC = .data:0x000001BC; // type:object size:0x4 data:byte lbl_1_data_1C0 = .data:0x000001C0; // type:object size:0x30 data:float diff --git a/config/GMPE01_00/rels/mgmodedll/symbols.txt b/config/GMPE01_00/rels/mgmodedll/symbols.txt index 57287710..98eaa055 100644 --- a/config/GMPE01_00/rels/mgmodedll/symbols.txt +++ b/config/GMPE01_00/rels/mgmodedll/symbols.txt @@ -139,341 +139,341 @@ fn_1_279FC = .text:0x000279FC; // type:function size:0x210 fn_1_27C0C = .text:0x00027C0C; // type:function size:0xE4 _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float -lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float -lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 data:double -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 data:double -lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 data:double -lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float -lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 data:double -lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float -lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float -lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float -lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double -lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float -lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float -lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double -lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double -lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float -lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double -lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float -lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float -lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float -lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 data:double -lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 data:double -lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float -lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double -lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float -lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float -lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float -lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0xC data:float -lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0xC data:float -lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0xC data:float -lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float -lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float -lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float -lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float -lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double -lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double -lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double -lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float -lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float -lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float -lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float -lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float -lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float -lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float -lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float -lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float -lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float -lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float -lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float -lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float -lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float -lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double -lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double -lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double -lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 data:double -lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float -lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 data:double -lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double -lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double -lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double -lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double -lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 data:double -lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double -lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double -lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float -lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float -lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float -lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float -lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double -lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double -lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double -lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double -lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double -lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double -lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double -lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 data:double -lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float -lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 data:double -lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float -lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float -lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float -lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float -lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float -lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float -lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float -lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float -lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double -lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 data:double -lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float -lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 data:float -lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 data:float -lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 data:float -lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float -lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float -lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float -lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 data:double -lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 data:double -lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float -lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float -lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float -lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 data:double -lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float -lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float -lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double -lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double -lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:double -lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float -lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double -lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float -lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double -lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 data:double -lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double -lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float -lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double -lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double -lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double -lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 data:double -lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float -lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float -lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 data:float -lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 data:double -lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 data:double -lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float -lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float -lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float -lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 data:double -lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 data:double -lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float -lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float -lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float -lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float -lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float -lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float -lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float -lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float -lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float -lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float -lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 data:float -lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 data:double -lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double -lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double -lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double -lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float -lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double -lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double -lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 data:double -lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 data:double -lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double -lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double -lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float -lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 data:double -lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 data:float -lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 data:double -lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 data:double -lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float -lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float -lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float -lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 data:double -lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 data:double -lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float -lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float -lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float -lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float -lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float -lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 data:double -lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 data:double -lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 data:float -lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 data:float -lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 data:double -lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double -lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double -lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float -lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float -lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float -lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float -lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 data:double -lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float -lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float -lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 data:double -lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 data:double -lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 data:double -lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float -lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float -lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float -lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float -lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float -lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float -lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float -lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float -lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 data:double -lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 data:double -lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 data:double -lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 data:double -lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x8 data:double -lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x8 data:double -lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float -lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float -lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 data:double -lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float -lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 data:double -lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float -lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 data:float -lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 data:float -lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 data:float -lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 data:float -lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 data:double -lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 data:double -lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 data:float -lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 data:float -lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 data:float -lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x8 data:double -lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 data:float -lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 data:float -lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 data:float -lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 data:float -lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 data:float -lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 data:float -lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 data:double -lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 data:float -lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 data:float -lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 data:float -lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float -lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float -lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 data:float -lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0xC data:4byte -lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float -lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float -lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 data:float -lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 data:float -lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 data:float -lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float -lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float -lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 data:float -lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 data:double -lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 data:float -lbl_1_rodata_5FC = .rodata:0x000005FC; // type:object size:0x4 data:float -lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x4 data:float -lbl_1_rodata_604 = .rodata:0x00000604; // type:object size:0x4 data:float -lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 data:float -lbl_1_rodata_60C = .rodata:0x0000060C; // type:object size:0x4 data:float -lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 data:float -lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 data:float -lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float -lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 data:float -lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 data:float -lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 data:float -lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 data:float -lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 data:float -lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float -lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float -lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 data:float -lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 data:float -lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float -lbl_1_rodata_644 = .rodata:0x00000644; // type:object size:0x4 data:float -lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x4 data:float -lbl_1_rodata_64C = .rodata:0x0000064C; // type:object size:0x4 data:float -lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 data:float -lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 data:float -lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 data:float -lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 data:float -lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 data:float -lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 data:float -lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x4 data:float -lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x8 data:double -lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x8 data:double -lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x4 data:float -lbl_1_rodata_684 = .rodata:0x00000684; // type:object size:0x4 data:float -lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x8 data:double -lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 data:double -lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 data:float -lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x8 data:double -lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 data:float -lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 data:float -lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x4 data:float -lbl_1_rodata_6B4 = .rodata:0x000006B4; // type:object size:0xC data:4byte -lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0xC data:4byte -lbl_1_rodata_6CC = .rodata:0x000006CC; // type:object size:0xC data:4byte -lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 data:float -lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 data:float -lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 data:float -lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 data:float -lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 data:float -lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 data:float -lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0x4 data:float -lbl_1_rodata_6F4 = .rodata:0x000006F4; // type:object size:0x4 data:float -lbl_1_rodata_6F8 = .rodata:0x000006F8; // type:object size:0x4 data:float -lbl_1_rodata_6FC = .rodata:0x000006FC; // type:object size:0x4 data:float -lbl_1_rodata_700 = .rodata:0x00000700; // type:object size:0x4 data:float -lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x8 data:double -lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x8 data:float +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float +lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float +lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x8 scope:local data:double +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double +lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double +lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double +lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float +lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x8 scope:local data:double +lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float +lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float +lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float +lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float +lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float +lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float +lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0xC scope:local data:float +lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0xC scope:local data:float +lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0xC scope:local data:float +lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float +lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float +lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float +lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double +lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double +lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double +lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float +lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float +lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float +lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float +lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float +lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float +lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float +lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float +lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float +lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double +lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float +lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float +lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double +lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double +lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double +lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double +lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double +lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double +lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double +lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x8 scope:local data:double +lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float +lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x8 scope:local data:double +lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float +lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float +lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float +lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float +lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float +lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float +lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double +lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x8 scope:local data:double +lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28C = .rodata:0x0000028C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x4 scope:local data:float +lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0x4 scope:local data:float +lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float +lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float +lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double +lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x8 scope:local data:double +lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double +lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float +lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double +lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double +lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double +lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x8 scope:local data:double +lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x4 scope:local data:float +lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x8 scope:local data:double +lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double +lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float +lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float +lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x8 scope:local data:double +lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double +lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float +lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float +lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float +lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double +lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double +lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float +lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double +lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:float +lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x8 scope:local data:double +lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x8 scope:local data:double +lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float +lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float +lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x8 scope:local data:double +lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x8 scope:local data:double +lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float +lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float +lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float +lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float +lbl_1_rodata_470 = .rodata:0x00000470; // type:object size:0x8 scope:local data:double +lbl_1_rodata_478 = .rodata:0x00000478; // type:object size:0x8 scope:local data:double +lbl_1_rodata_480 = .rodata:0x00000480; // type:object size:0x4 scope:local data:float +lbl_1_rodata_484 = .rodata:0x00000484; // type:object size:0x4 scope:local data:float +lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x8 scope:local data:double +lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double +lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double +lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x8 scope:local data:double +lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x8 scope:local data:double +lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x8 scope:local data:double +lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x8 scope:local data:double +lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x8 scope:local data:double +lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x8 scope:local data:double +lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float +lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x8 scope:local data:double +lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float +lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x8 scope:local data:double +lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float +lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_550 = .rodata:0x00000550; // type:object size:0x4 scope:local data:float +lbl_1_rodata_554 = .rodata:0x00000554; // type:object size:0x4 scope:local data:float +lbl_1_rodata_558 = .rodata:0x00000558; // type:object size:0x4 scope:local data:float +lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x8 scope:local data:double +lbl_1_rodata_568 = .rodata:0x00000568; // type:object size:0x8 scope:local data:double +lbl_1_rodata_570 = .rodata:0x00000570; // type:object size:0x4 scope:local data:float +lbl_1_rodata_574 = .rodata:0x00000574; // type:object size:0x4 scope:local data:float +lbl_1_rodata_578 = .rodata:0x00000578; // type:object size:0x4 scope:local data:float +lbl_1_rodata_580 = .rodata:0x00000580; // type:object size:0x8 scope:local data:double +lbl_1_rodata_588 = .rodata:0x00000588; // type:object size:0x4 scope:local data:float +lbl_1_rodata_58C = .rodata:0x0000058C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_590 = .rodata:0x00000590; // type:object size:0x4 scope:local data:float +lbl_1_rodata_594 = .rodata:0x00000594; // type:object size:0x4 scope:local data:float +lbl_1_rodata_598 = .rodata:0x00000598; // type:object size:0x4 scope:local data:float +lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5A0 = .rodata:0x000005A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_5A8 = .rodata:0x000005A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5AC = .rodata:0x000005AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5B0 = .rodata:0x000005B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0xC scope:local data:4byte +lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5D4 = .rodata:0x000005D4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5DC = .rodata:0x000005DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5FC = .rodata:0x000005FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x4 scope:local data:float +lbl_1_rodata_604 = .rodata:0x00000604; // type:object size:0x4 scope:local data:float +lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x4 scope:local data:float +lbl_1_rodata_60C = .rodata:0x0000060C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x4 scope:local data:float +lbl_1_rodata_614 = .rodata:0x00000614; // type:object size:0x4 scope:local data:float +lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float +lbl_1_rodata_61C = .rodata:0x0000061C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x4 scope:local data:float +lbl_1_rodata_624 = .rodata:0x00000624; // type:object size:0x4 scope:local data:float +lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x4 scope:local data:float +lbl_1_rodata_62C = .rodata:0x0000062C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float +lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float +lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x4 scope:local data:float +lbl_1_rodata_63C = .rodata:0x0000063C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float +lbl_1_rodata_644 = .rodata:0x00000644; // type:object size:0x4 scope:local data:float +lbl_1_rodata_648 = .rodata:0x00000648; // type:object size:0x4 scope:local data:float +lbl_1_rodata_64C = .rodata:0x0000064C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_650 = .rodata:0x00000650; // type:object size:0x4 scope:local data:float +lbl_1_rodata_654 = .rodata:0x00000654; // type:object size:0x4 scope:local data:float +lbl_1_rodata_658 = .rodata:0x00000658; // type:object size:0x4 scope:local data:float +lbl_1_rodata_65C = .rodata:0x0000065C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_660 = .rodata:0x00000660; // type:object size:0x4 scope:local data:float +lbl_1_rodata_664 = .rodata:0x00000664; // type:object size:0x4 scope:local data:float +lbl_1_rodata_668 = .rodata:0x00000668; // type:object size:0x4 scope:local data:float +lbl_1_rodata_670 = .rodata:0x00000670; // type:object size:0x8 scope:local data:double +lbl_1_rodata_678 = .rodata:0x00000678; // type:object size:0x8 scope:local data:double +lbl_1_rodata_680 = .rodata:0x00000680; // type:object size:0x4 scope:local data:float +lbl_1_rodata_684 = .rodata:0x00000684; // type:object size:0x4 scope:local data:float +lbl_1_rodata_688 = .rodata:0x00000688; // type:object size:0x8 scope:local data:double +lbl_1_rodata_690 = .rodata:0x00000690; // type:object size:0x8 scope:local data:double +lbl_1_rodata_698 = .rodata:0x00000698; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6A0 = .rodata:0x000006A0; // type:object size:0x8 scope:local data:double +lbl_1_rodata_6A8 = .rodata:0x000006A8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6AC = .rodata:0x000006AC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6B0 = .rodata:0x000006B0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6B4 = .rodata:0x000006B4; // type:object size:0xC scope:local data:4byte +lbl_1_rodata_6C0 = .rodata:0x000006C0; // type:object size:0xC scope:local data:4byte +lbl_1_rodata_6CC = .rodata:0x000006CC; // type:object size:0xC scope:local data:4byte +lbl_1_rodata_6D8 = .rodata:0x000006D8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6DC = .rodata:0x000006DC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6E0 = .rodata:0x000006E0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6E4 = .rodata:0x000006E4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6E8 = .rodata:0x000006E8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6EC = .rodata:0x000006EC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6F0 = .rodata:0x000006F0; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6F4 = .rodata:0x000006F4; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6F8 = .rodata:0x000006F8; // type:object size:0x4 scope:local data:float +lbl_1_rodata_6FC = .rodata:0x000006FC; // type:object size:0x4 scope:local data:float +lbl_1_rodata_700 = .rodata:0x00000700; // type:object size:0x4 scope:local data:float +lbl_1_rodata_708 = .rodata:0x00000708; // type:object size:0x8 scope:local data:double +lbl_1_rodata_710 = .rodata:0x00000710; // type:object size:0x8 scope:local data:float lbl_1_rodata_718 = .rodata:0x00000718; // type:object size:0x4 scope:local data:float lbl_1_rodata_720 = .rodata:0x00000720; // type:object size:0x8 scope:local data:double -lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 data:float -lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 data:float -lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 data:float -lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x4 data:float -lbl_1_rodata_738 = .rodata:0x00000738; // type:object size:0x4 data:float -lbl_1_rodata_740 = .rodata:0x00000740; // type:object size:0x8 data:double -lbl_1_rodata_748 = .rodata:0x00000748; // type:object size:0x8 data:double -lbl_1_rodata_750 = .rodata:0x00000750; // type:object size:0x4 data:float -lbl_1_rodata_758 = .rodata:0x00000758; // type:object size:0x8 data:double -lbl_1_rodata_760 = .rodata:0x00000760; // type:object size:0x4 data:float -lbl_1_rodata_768 = .rodata:0x00000768; // type:object size:0x8 data:double -lbl_1_rodata_770 = .rodata:0x00000770; // type:object size:0x8 data:double -lbl_1_rodata_778 = .rodata:0x00000778; // type:object size:0x4 data:float -lbl_1_rodata_780 = .rodata:0x00000780; // type:object size:0x8 data:double -lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0x4 data:float -lbl_1_rodata_78C = .rodata:0x0000078C; // type:object size:0x4 data:float +lbl_1_rodata_728 = .rodata:0x00000728; // type:object size:0x4 scope:local data:float +lbl_1_rodata_72C = .rodata:0x0000072C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_730 = .rodata:0x00000730; // type:object size:0x4 scope:local data:float +lbl_1_rodata_734 = .rodata:0x00000734; // type:object size:0x4 scope:local data:float +lbl_1_rodata_738 = .rodata:0x00000738; // type:object size:0x4 scope:local data:float +lbl_1_rodata_740 = .rodata:0x00000740; // type:object size:0x8 scope:local data:double +lbl_1_rodata_748 = .rodata:0x00000748; // type:object size:0x8 scope:local data:double +lbl_1_rodata_750 = .rodata:0x00000750; // type:object size:0x4 scope:local data:float +lbl_1_rodata_758 = .rodata:0x00000758; // type:object size:0x8 scope:local data:double +lbl_1_rodata_760 = .rodata:0x00000760; // type:object size:0x4 scope:local data:float +lbl_1_rodata_768 = .rodata:0x00000768; // type:object size:0x8 scope:local data:double +lbl_1_rodata_770 = .rodata:0x00000770; // type:object size:0x8 scope:local data:double +lbl_1_rodata_778 = .rodata:0x00000778; // type:object size:0x4 scope:local data:float +lbl_1_rodata_780 = .rodata:0x00000780; // type:object size:0x8 scope:local data:double +lbl_1_rodata_788 = .rodata:0x00000788; // type:object size:0x4 scope:local data:float +lbl_1_rodata_78C = .rodata:0x0000078C; // type:object size:0x4 scope:local data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x1C -lbl_1_data_1C = .data:0x0000001C; // type:object size:0x22 data:string +lbl_1_data_1C = .data:0x0000001C; // type:object size:0x22 scope:local data:string lbl_1_data_40 = .data:0x00000040; // type:object size:0x30 data:float -lbl_1_data_70 = .data:0x00000070; // type:object size:0x16 data:string -lbl_1_data_86 = .data:0x00000086; // type:object size:0x6 -lbl_1_data_8C = .data:0x0000008C; // type:object size:0x4 -lbl_1_data_90 = .data:0x00000090; // type:object size:0xA data:string -lbl_1_data_9A = .data:0x0000009A; // type:object size:0x6 -lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x2 data:2byte +lbl_1_data_70 = .data:0x00000070; // type:object size:0x16 scope:local data:string +lbl_1_data_86 = .data:0x00000086; // type:object size:0x6 scope:local +lbl_1_data_8C = .data:0x0000008C; // type:object size:0x4 scope:local +lbl_1_data_90 = .data:0x00000090; // type:object size:0xA scope:local data:string +lbl_1_data_9A = .data:0x0000009A; // type:object size:0x6 scope:local +lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x2 scope:local data:2byte lbl_1_data_A2 = .data:0x000000A2; // type:object size:0xE lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x10 diff --git a/src/REL/m406Dll/map.c b/src/REL/m406Dll/map.c index ede77b39..6f0fdb1e 100644 --- a/src/REL/m406Dll/map.c +++ b/src/REL/m406Dll/map.c @@ -1160,10 +1160,6 @@ void fn_1_4964(ModelData *arg0) GXColor *var_r19; var_r30 = arg0->unk_120; - (void)var_f31; - (void)var_f31; - (void)var_f31; - (void)var_f31; if (var_r30->unk_28) { if (!omPauseChk()) { @@ -1225,6 +1221,10 @@ void fn_1_4964(ModelData *arg0) if (var_r28->unk_01) { var_r25->z = var_r28->unk_10.z - (50.0f * (0.003921569f * (var_r28->unk_08 * var_f31))); } + (void)var_f31; + (void)var_f31; + (void)var_f31; + (void)var_f31; } var_r25++; var_r21++; @@ -1444,7 +1444,7 @@ void fn_1_6304(ModelData *arg0, Mtx arg1) void fn_1_64F8(UnkM406Struct2 *arg0) { - float var_f31; + float var_f31; // ! - uninitialized UnkM406Struct2 *var_r31; s32 var_r30; diff --git a/src/REL/m406Dll/player.c b/src/REL/m406Dll/player.c index a5644fac..ca3e6e13 100644 --- a/src/REL/m406Dll/player.c +++ b/src/REL/m406Dll/player.c @@ -2018,7 +2018,7 @@ float fn_1_143F4(Vec *arg0, UnkM406PlayerStruct2 *arg1) Vec sp1C; Vec sp10; HsfBuffer *spC; - float sp8; + float sp8; // ! - uninitialized float var_f31; float var_f30; diff --git a/src/REL/m409Dll/main.c b/src/REL/m409Dll/main.c index 6b73472e..4ecd2f94 100644 --- a/src/REL/m409Dll/main.c +++ b/src/REL/m409Dll/main.c @@ -511,10 +511,9 @@ static inline void unkInline(unkStruct4* var_r31, s16 var_r29, s16* var_r28, s16 } void fn_1_2484(omObjData* object) { - s16 var_r28; + s16 var_r28; // ! - uninitialized s16 var_r29; unkStruct4* var_r31; - s32 temp_r27; var_r31 = &lbl_1_bss_40[0]; object->stat |= 0x100; diff --git a/src/REL/m411Dll/main.c b/src/REL/m411Dll/main.c index 82e7e78b..2f2dc72a 100755 --- a/src/REL/m411Dll/main.c +++ b/src/REL/m411Dll/main.c @@ -1573,7 +1573,7 @@ void fn_1_5554(void) { float var_f26; float var_f31; float var_f30; - float var_f29; + float var_f29; // ! - uninitialized float sp8; float temp_f24; UnkBss138InnerStruct00 spC; diff --git a/src/REL/m416Dll/main.c b/src/REL/m416Dll/main.c index 71bf5a31..0020aa4f 100644 --- a/src/REL/m416Dll/main.c +++ b/src/REL/m416Dll/main.c @@ -1720,7 +1720,8 @@ void fn_1_6AE8(ModelData *model, ParticleData *particle, Mtx matrix) HsfanimStruct01 *temp_r31; s32 temp_r29; s16 temp_r28; - s32 temp_r27; + s32 temp_r27; // ! - uninitialized + if(!particle->unk_00) { particle->unk_00 = 1; temp_r31 = particle->unk_48; diff --git a/src/REL/m417Dll/main.c b/src/REL/m417Dll/main.c index 25f4024c..d6bdbcbd 100644 --- a/src/REL/m417Dll/main.c +++ b/src/REL/m417Dll/main.c @@ -232,7 +232,7 @@ void fn_1_13DC(omObjData *object) void fn_1_17C0(omObjData *object) { - s16 sp8; + s16 sp8; // ! - uninitialized UnkM417Struct *var_r30; diff --git a/src/REL/m442Dll/main.c b/src/REL/m442Dll/main.c index 6188471b..dd8dfc2d 100644 --- a/src/REL/m442Dll/main.c +++ b/src/REL/m442Dll/main.c @@ -1443,9 +1443,9 @@ void fn_1_485C(ModelData *model, Mtx mtx) Mtx spA0; ROMtx sp70; Mtx sp40; - Vec sp34; - Vec sp28; - Vec sp1C; + Vec sp34; // ! - uninitialized + Vec sp28; // ! - uninitialized + Vec sp1C; // ! - uninitialized Vec sp10; float var_f31; diff --git a/src/game/ClusterExec.c b/src/game/ClusterExec.c index 21032229..7a25f91d 100644 --- a/src/game/ClusterExec.c +++ b/src/game/ClusterExec.c @@ -143,7 +143,7 @@ void ClusterMotionExec(ModelData *arg0) { s16 var_r20; HsfCluster *temp_r26; HsfData *temp_r28; - HsfMotion *temp_r27; + HsfMotion *temp_r27; // ! - uninitialized HsfTrack *var_r31; HsfTrack *var_r30; MotionData *var_r23; diff --git a/src/game/board/player.c b/src/game/board/player.c index 5fb7a7b7..76863368 100644 --- a/src/game/board/player.c +++ b/src/game/board/player.c @@ -964,8 +964,7 @@ static void InitJunction(s32 arg0, s32 arg1, f32 arg8) { Vec sp5C; Vec sp50; Vec sp44; - f32 sp40; - f32 sp3C; + f32 sp3C[2]; s32 sp38; s16 sp20; s16 spE; @@ -998,10 +997,10 @@ static void InitJunction(s32 arg0, s32 arg1, f32 arg8) { temp_r29->field00_bit5 = 0; temp_r29->unk_01 = 0; var_r28->scale.x = var_r28->scale.y = var_r28->scale.z = 3.0f; - HuWinMesMaxSizeGet(1, &sp3C, 0x90003); + HuWinMesMaxSizeGet(1, sp3C, 0x90003); var_f27 = -10000.0f; var_f28 = 304.0f; - temp_r29->unk_04 = HuWinCreate(var_f27, var_f28, sp3C, sp40, 0); + temp_r29->unk_04 = HuWinCreate(var_f27, var_f28, sp3C[0], sp3C[1], 0); HuWinBGTPLvlSet(temp_r29->unk_04, 0.0f); HuWinMesSpeedSet(temp_r29->unk_04, 0); HuWinMesSet(temp_r29->unk_04, 0x90003); @@ -2847,6 +2846,7 @@ void BoardPlayerCopyEyeMat(s32 arg0, s32 arg1) { var_r29 = playerMatCopy[arg0]; if (arg1 != 0) { temp_r28 = &eyeMatTbl[GWPlayer[arg0].character][0]; + (void)temp_r28; for (var_r25 = 0; var_r25 < hsfData->materialCnt; var_r25++, material++, var_r29++) { var_r24 = 1; @@ -2870,7 +2870,6 @@ void BoardPlayerCopyEyeMat(s32 arg0, s32 arg1) { } } else { memcpy(hsfData->material, var_r29, hsfData->materialCnt * 0x3C); - (void)temp_r28; } DCStoreRange(hsfData->material, hsfData->materialCnt * 0x3C); } diff --git a/src/game/chrman.c b/src/game/chrman.c index 0a0db6d1..c3d6f78e 100755 --- a/src/game/chrman.c +++ b/src/game/chrman.c @@ -1824,7 +1824,7 @@ s32 CharModelEffectNpcInit(s16 arg0, s16 arg1, s16 arg2, s16 arg3) { } s32 CharModelEffectNpcInitSilent(s16 arg0, s16 arg1, s16 arg2) { - s32 sp10; + s32 sp10; // ! - uninitialized CharModelEffectNpcInit(arg0, arg1, arg2, -1); return sp10; From 7f1c5ba39a6deb2670098e4cb8410c8ced064259 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Thu, 1 Aug 2024 18:41:43 -0500 Subject: [PATCH 4/4] Decompile free play code --- config/GMPE01_00/rels/mgmodedll/symbols.txt | 12 +- configure.py | 2 +- include/REL/mgmodedll.h | 9 +- include/game/gamework.h | 4 +- src/REL/mgmodedll/free_play.c | 1249 +++++++++++++++++++ src/REL/mgmodedll/minigame.c | 2 +- src/game/gamework.c | 4 +- 7 files changed, 1269 insertions(+), 13 deletions(-) create mode 100644 src/REL/mgmodedll/free_play.c diff --git a/config/GMPE01_00/rels/mgmodedll/symbols.txt b/config/GMPE01_00/rels/mgmodedll/symbols.txt index 57287710..13ac0da0 100644 --- a/config/GMPE01_00/rels/mgmodedll/symbols.txt +++ b/config/GMPE01_00/rels/mgmodedll/symbols.txt @@ -475,13 +475,13 @@ lbl_1_data_90 = .data:0x00000090; // type:object size:0xA data:string lbl_1_data_9A = .data:0x0000009A; // type:object size:0x6 lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x2 data:2byte lbl_1_data_A2 = .data:0x000000A2; // type:object size:0xE -lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 +lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 data:float lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x10 -lbl_1_data_D0 = .data:0x000000D0; // type:object size:0x6 -lbl_1_data_D6 = .data:0x000000D6; // type:object size:0xA -lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x20 +messInsertBase$836 = .data:0x000000D0; // type:object size:0x6 scope:local +customMinNum$837 = .data:0x000000D6; // type:object size:0x8 scope:local +lbl_1_data_E0 = .data:0x000000E0; // type:object size:0x20 data:float lbl_1_data_100 = .data:0x00000100; // type:object size:0x10 -lbl_1_data_110 = .data:0x00000110; // type:object size:0x10 +lbl_1_data_110 = .data:0x00000110; // type:object size:0xC lbl_1_data_120 = .data:0x00000120; // type:object size:0x28 lbl_1_data_148 = .data:0x00000148; // type:object size:0x2 data:2byte lbl_1_data_14A = .data:0x0000014A; // type:object size:0x8 @@ -548,7 +548,7 @@ lbl_1_bss_318 = .bss:0x00000318; // type:object size:0x28 data:2byte lbl_1_bss_340 = .bss:0x00000340; // type:object size:0x8 lbl_1_bss_348 = .bss:0x00000348; // type:object size:0x2 data:2byte lbl_1_bss_34A = .bss:0x0000034A; // type:object size:0x8 data:2byte -lbl_1_bss_352 = .bss:0x00000352; // type:object size:0x1E +lbl_1_bss_352 = .bss:0x00000352; // type:object size:0x1C lbl_1_bss_370 = .bss:0x00000370; // type:object size:0xC lbl_1_bss_37C = .bss:0x0000037C; // type:object size:0xC lbl_1_bss_388 = .bss:0x00000388; // type:object size:0x2 data:2byte diff --git a/configure.py b/configure.py index 08d6561b..dfdee55b 100644 --- a/configure.py +++ b/configure.py @@ -1332,7 +1332,7 @@ config.libs = [ objects={ Object(Matching, "REL/executor.c"), Object(Matching, "REL/mgmodedll/mgmode.c"), - Object(NonMatching, "REL/mgmodedll/free_play.c"), + Object(Matching, "REL/mgmodedll/free_play.c"), Object(NonMatching, "REL/mgmodedll/record.c"), Object(NonMatching, "REL/mgmodedll/battle.c"), Object(NonMatching, "REL/mgmodedll/tictactoe.c"), diff --git a/include/REL/mgmodedll.h b/include/REL/mgmodedll.h index 31959a41..8c0f4a18 100644 --- a/include/REL/mgmodedll.h +++ b/include/REL/mgmodedll.h @@ -57,9 +57,15 @@ typedef struct struct_bss8 { extern s16 lbl_1_bss_2C80[13]; extern s16 lbl_1_bss_2C66[13]; extern s16 lbl_1_bss_2C2C[29]; +extern s16 lbl_1_bss_264C[10][70]; +extern s16 lbl_1_bss_2638[10]; extern s16 lbl_1_bss_20C0[10][70]; extern s16 lbl_1_bss_20AC[10]; +extern s16 lbl_1_bss_2A6; +extern s16 lbl_1_bss_2A4; + extern StructBss8 lbl_1_bss_8; +extern s16 lbl_1_bss_4; extern s16 lbl_1_data_A2[]; extern DataListModel lbl_1_data_490[]; @@ -80,12 +86,13 @@ s32 fn_1_2530C(s32 arg0, s32 arg1, s32 arg2); void fn_1_25838(s16 arg0, u32 arg1, s32 arg2, s32 arg3); s32 fn_1_2592C(u32 arg0, s32 arg1, s32 arg2); s32 fn_1_25CA8(u32 arg0); -void fn_1_25E74(s16 arg0); +void fn_1_25E74(s32 arg0); void fn_1_267E8(DataListModel *model_list); void fn_1_26A78(DataListSprite *sprite_list); void fn_1_26C28(void); +s32 fn_1_2783C(s16 evtno); void fn_1_279FC(s32 coinSkipF); #endif \ No newline at end of file diff --git a/include/game/gamework.h b/include/game/gamework.h index fe972f43..1f43963b 100644 --- a/include/game/gamework.h +++ b/include/game/gamework.h @@ -25,8 +25,8 @@ void GWBoardWinCountSet(s32 character, s32 board, s32 value); s32 GWMGAvailGet(s32 id); s32 GWMGAvailSet(s32 id); s32 GWMGCustomGet(s32 id); -s32 GWMGCustomSet(s32 id); -s32 GWMGCustomReset(s32 id); +void GWMGCustomSet(s32 id); +void GWMGCustomReset(s32 id); s16 GWCoinsGet(s32 player); void GWCoinsSet(s32 player, s16 value); void GWCoinsAdd(s32 player, s16 amount); diff --git a/src/REL/mgmodedll/free_play.c b/src/REL/mgmodedll/free_play.c new file mode 100644 index 00000000..7e4e5266 --- /dev/null +++ b/src/REL/mgmodedll/free_play.c @@ -0,0 +1,1249 @@ +#include "REL/mgmodedll.h" +#include "game/gamework.h" + +#include "game/gamework_data.h" +#include "game/esprite.h" +#include "game/audio.h" +#include "game/wipe.h" +#include "game/saveload.h" + +#include "ext_math.h" + +s16 lbl_1_bss_352[2][7]; +s16 lbl_1_bss_34A[4]; +s16 lbl_1_bss_348; +s16 lbl_1_bss_340[4]; +s16 lbl_1_bss_318[10][2]; +s16 lbl_1_bss_316; +s16 lbl_1_bss_30E[4]; +s16 lbl_1_bss_30C; +Vec lbl_1_bss_2F4[2]; +s16 lbl_1_bss_2F0; +s16 lbl_1_bss_2EE; +s16 lbl_1_bss_2EC; +float lbl_1_bss_2E8; +s16 lbl_1_bss_2E6; +s16 lbl_1_bss_2E4; +s16 lbl_1_bss_2E2; +static s16 pad_05_000002E0_bss; + +s16 lbl_1_data_A0 = -1; + +s16 lbl_1_data_A2[7] = { + 0, + 1, + 2, + 4, + 3, + 6, + 9 +}; + +float lbl_1_data_B0[4] = { + 370, 412, 488, 530 +}; + +s32 lbl_1_data_C0[4] = { + 0x00620037, + 0x0062003D, + 0x0062003A, + 0x00620040 +}; + +void fn_1_9E44(void); +void fn_1_9F64(s16 arg0, s16 arg1, s16 arg2); +void fn_1_A364(s16 arg0, float arg1, float arg2, s16 arg3); + +void fn_1_A624(void); +void fn_1_A6A8(void); +void fn_1_ACAC(s16 arg0, s16 arg1); +void fn_1_ADA0(s32 arg0); + +void fn_1_AE20(s16 arg0, s16 arg1, s16 arg2, s16 arg3); + +s16 fn_1_B5A8(s16 *arg0, s16 *arg1); +void fn_1_B770(void); +void fn_1_B9B8(void); +s32 fn_1_BB24(void); +void fn_1_BFA0(s16 arg0); +s32 fn_1_C0C8(s32 arg0); + +s32 fn_1_6D28(void) +{ + s16 temp_r31; + s16 temp_r30; + s16 temp_r29; + s16 temp_r28; + s16 temp_r27; + s32 temp_r26; + s32 temp_r25; + s32 temp_r24; + s16 temp_r23; + s16 spC[6]; + s16 spA; + s16 sp8; + float temp_f31; + temp_r25 = 1; + fn_1_279FC(0); + fn_1_A6A8(); + fn_1_9E44(); + spA = sp8 = 0; + mgInstExitEnableF = 1; + mgTypeCurr = 0; + _SetFlag(11); + fn_1_B770(); + if(lbl_1_bss_2A6 != 2) { + temp_r28 = lbl_1_bss_2C2C[1]; + } else { + temp_r28 = lbl_1_bss_2C2C[2]; + } + if(lbl_1_bss_4 == 1 || lbl_1_bss_4 == 2) { + mgTypeCurr = fn_1_B5A8(&spA, &sp8); + espAttrReset(lbl_1_bss_2C2C[3], HUSPR_ATTR_DISPOFF); + espTPLvlSet(lbl_1_bss_2C2C[3], 1.0f); + espAttrReset(temp_r28, HUSPR_ATTR_DISPOFF); + espPosSet(temp_r28, 288, 70); + espAttrReset(lbl_1_bss_2C2C[13], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[13], 450, 216); + if(lbl_1_bss_2A6 == 0) { + espAttrReset(lbl_1_bss_2C2C[4], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[4], 450, 404); + if(lbl_1_bss_4 == 1) { + fn_1_BFA0(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8]); + espAttrReset(lbl_1_bss_2C2C[14], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[14], 450, 348); + for(temp_r30=0; temp_r30<4; temp_r30++) { + HuSprAttrReset(lbl_1_bss_34A[temp_r30], 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(lbl_1_bss_34A[temp_r30], 1, HUSPR_ATTR_DISPOFF); + HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], (temp_r30*50)+375, 348); + } + } else { + espAttrReset(lbl_1_bss_2C2C[15], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[15], 450, 348); + espAttrReset(lbl_1_bss_2C2C[16], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[16], 450, 348); + for(temp_r30=0; temp_r30<4; temp_r30++) { + HuSprAttrReset(lbl_1_bss_34A[temp_r30], 0, HUSPR_ATTR_DISPOFF); + HuSprAttrReset(lbl_1_bss_34A[temp_r30], 1, HUSPR_ATTR_DISPOFF); + HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], lbl_1_data_B0[temp_r30], 348); + } + } + } else if(lbl_1_bss_2A6 == 1) { + espAttrReset(lbl_1_bss_2C2C[20], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[20], 450, 414); + } else if(lbl_1_bss_2A6 == 2) { + espAttrReset(lbl_1_bss_2C2C[21], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[21], 450, 400); + } + for(temp_r30=0; temp_r30= ((lbl_1_bss_316-temp_r30)-1)*10 && temp_r31 <= (((lbl_1_bss_316-temp_r30)-1)*10)+10) { + temp_f31 = (temp_r31-(((lbl_1_bss_316-temp_r30)-1)*10))/10.0; + if(0.0 == temp_f31) { + temp_r26++; + fn_1_9F64(temp_r26 & 0x1, lbl_1_bss_318[temp_r30][0], 0); + } + espAttrReset(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], 180, 800+(-530*sind(temp_f31*90.0f))); + espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[temp_r30][1]], (temp_r30*10)+10); + fn_1_A364(temp_r26 & 0x1, 180, 800+(-530*sind(temp_f31*90.0f)), (temp_r30*10)+8); + } + } + HuPrcVSleep(); + } + fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][0], 10, 450, 216); + } + espAttrReset(lbl_1_bss_2C2C[19], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[19], 204, (sp8*38)+154); + espPriSet(lbl_1_bss_2C2C[19], 7); + espTPLvlSet(lbl_1_bss_2C2C[19], 0.7); + espAttrSet(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[17], 204, 126); + espPriSet(lbl_1_bss_2C2C[17], 8); + espAttrSet(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[18], 204, 410); + espPriSet(lbl_1_bss_2C2C[18], 8); + espBankSet(lbl_1_bss_2C2C[18], 1); + fn_1_A364(0, 180, 270, 7); + fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); + fn_1_A364(1, 180, 270, 100); + fn_1_ACAC(lbl_1_bss_20AC[lbl_1_bss_318[mgTypeCurr][0]], lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]); + fn_1_ADA0(1); + HuPrcSleep(10); + while(WipeStatGet()) { + HuPrcVSleep(); + } + while(1) { + HuPrcVSleep(); + if(spA != 0) { + espAttrReset(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); + } else { + espAttrSet(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); + } + if(spA+7 < lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]) { + espAttrReset(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); + } else { + espAttrSet(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); + } + temp_r27 = temp_r29 = 0; + if(HuPadDStkRep[0] & PAD_BUTTON_UP) { + temp_r29 = -1; + } else if(HuPadDStkRep[0] & PAD_BUTTON_DOWN) { + temp_r29 = 1; + } else if((HuPadDStkRep[0] & PAD_BUTTON_LEFT) || (HuPadBtnRep[0] & PAD_BUTTON_TRIGGER_L)) { + temp_r27 = -1; + } else if((HuPadDStkRep[0] & PAD_BUTTON_RIGHT) || (HuPadBtnRep[0] & PAD_BUTTON_TRIGGER_R)) { + temp_r27 = 1; + } + if(temp_r29 != 0) { + if(sp8+temp_r29 < 0 && spA != 0) { + spA--; + fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8], 5, 450, 216); + for(temp_r31=0; temp_r31<=4; temp_r31++) { + espPosSet(lbl_1_bss_2C2C[17], 204, 126-(8.0*sind(temp_r31*45.0))); + if(temp_r31 == 2){ + HuAudFXPlay(772); + fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); + } + HuPrcVSleep(); + } + } else if(sp8+temp_r29 >= 7 && spA+7 < lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]) { + spA++; + fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8], 5, 450, 216); + for(temp_r31=0; temp_r31<=4; temp_r31++) { + espPosSet(lbl_1_bss_2C2C[18], 204, 410+(8.0*sind(temp_r31*45.0))); + if(temp_r31 == 2){ + HuAudFXPlay(772); + fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); + } + HuPrcVSleep(); + } + } else if(sp8+temp_r29 >= 0 && (spA+sp8+temp_r29) < lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]) { + fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8+temp_r29], 5, 450, 216); + for(temp_r31=0; temp_r31<=4; temp_r31++) { + espPosSet(lbl_1_bss_2C2C[19], 204, ((sp8*38)+154)+(temp_r29*(38.0*sind(22.5*temp_r31)))); + HuPrcVSleep(); + if(temp_r31 == 2){ + HuAudFXPlay(772); + } + + } + sp8 += temp_r29; + } + if(lbl_1_bss_2A4 == 0) { + fn_1_BFA0(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8]); + } + } + if(temp_r27 && lbl_1_bss_316 > 1) { + HuAudFXPlay(2172); + fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); + temp_r30 = mgTypeCurr; + if(mgTypeCurr+temp_r27 < 0) { + mgTypeCurr = lbl_1_bss_316-1; + } else { + if(mgTypeCurr+temp_r27 >= lbl_1_bss_316) { + mgTypeCurr = 0; + } else { + mgTypeCurr += temp_r27; + } + } + espAttrSet(lbl_1_bss_2C2C[19], HUSPR_ATTR_DISPOFF); + espAttrSet(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); + espAttrSet(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); + fn_1_ADA0(0); + for(temp_r31=0; temp_r31= 10) { + temp_r24 = 7; + } else { + temp_r24 = 20; + } + fn_1_A364(0, (300.0*sind(temp_r31*9.0))+180.0, 270, temp_r24); + HuPrcVSleep(); + } + fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], 0); + espPriSet(lbl_1_bss_2C2C[lbl_1_bss_318[mgTypeCurr][1]], 10); + fn_1_A364(0, 180.0, 270, 7); + espAttrReset(lbl_1_bss_2C2C[19], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[19], 204, 154); + fn_1_ACAC(lbl_1_bss_20AC[lbl_1_bss_318[mgTypeCurr][0]], lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]]); + if(lbl_1_bss_318[mgTypeCurr][0] != 9) { + fn_1_ADA0(1); + } + sp8 = spA = 0; + if(lbl_1_bss_2A4 == 0) { + fn_1_BFA0(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8]); + } + } + if((HuPadBtnDown[0] & PAD_BUTTON_A) && lbl_1_bss_2A6 == 2) { + temp_r31 = lbl_1_bss_318[mgTypeCurr][0]; + if(!GWMGAvailGet(lbl_1_bss_264C[temp_r31][spA+sp8]+401)) { + HuAudFXPlay(4); + continue; + } else { + if(lbl_1_bss_318[mgTypeCurr][0] != 9) { + HuAudFXPlay(2); + temp_r31 = lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8]+401; + if(!GWMGCustomGet(temp_r31)) { + GWMGCustomSet(temp_r31); + } else { + GWMGCustomReset(temp_r31); + } + fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); + fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8], 0, 450, 216); + fn_1_B9B8(); + } else { + if(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8] >= 0) { + HuAudFXPlay(2); + temp_r31 = lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8]+401; + GWMGCustomReset(temp_r31); + fn_1_B9B8(); + if(lbl_1_bss_2638[lbl_1_bss_318[mgTypeCurr][0]] <= spA+sp8) { + if(--sp8 < 0) { + sp8 = 0; + spA--; + } + espPosSet(lbl_1_bss_2C2C[19], 204, (sp8*38)+154); + } + fn_1_9F64(0, lbl_1_bss_318[mgTypeCurr][0], spA); + fn_1_AE20(lbl_1_bss_264C[lbl_1_bss_318[mgTypeCurr][0]][spA+sp8], 0, 450, 216); + } + } + } + } + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + HuAudFXPlay(3); + if(lbl_1_bss_2A6 == 2 && !fn_1_BB24()) { + continue; + } + temp_r25 = 0; + break; + } + if(!(HuPadBtnDown[0] & PAD_BUTTON_A)) { + continue; + } + if(lbl_1_bss_2A6) { + continue; + } + temp_r31 = lbl_1_bss_318[mgTypeCurr][0]; + if(!GWMGAvailGet(lbl_1_bss_264C[temp_r31][spA+sp8]+401)) { + HuAudFXPlay(4); + continue; + } + HuAudFXPlay(773); + GWSystem.mg_next = lbl_1_bss_264C[temp_r31][spA+sp8]; + if(lbl_1_bss_2A4 == 0) { + GWPlayerCfg[0].group = 0; + GWPlayerCfg[1].group = 1; + GWPlayerCfg[2].group = 2; + GWPlayerCfg[3].group = 3; + if((temp_r31 == 1 || temp_r31 == 2) && !fn_1_C0C8(0)) { + continue; + } + fn_1_2783C(1); + } else if(lbl_1_bss_2A4 == 1) { + fn_1_2783C(2); + } + while(1) { + HuPrcVSleep(); + } + } + espAttrSet(lbl_1_bss_2C2C[19], HUSPR_ATTR_DISPOFF); + espAttrSet(lbl_1_bss_2C2C[17], HUSPR_ATTR_DISPOFF); + espAttrSet(lbl_1_bss_2C2C[18], HUSPR_ATTR_DISPOFF); + if(lbl_1_bss_2A6 == 2) { + for(temp_r31=0; temp_r31<7; temp_r31++) { + HuSprAttrSet(lbl_1_bss_2E2, temp_r31, HUSPR_ATTR_DISPOFF); + } + } + + fn_1_ADA0(0); + fn_1_AE20(-1, 5, 450, 216); + + for(temp_r31=0; temp_r31<=20; temp_r31++) { + if(temp_r31 <= 20) { + temp_f31 = temp_r31/20.0; + espAttrReset(temp_r28, HUSPR_ATTR_DISPOFF); + espPosSet(temp_r28, 288, -100.0+(170*cosd(temp_f31*90.0f))); + } + if(temp_r31 <= 10) { + temp_f31 = temp_r31/10.0; + espAttrReset(lbl_1_bss_2C2C[13], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[13], (-350*cosd(temp_f31*90.0f))+800, 216); + if(lbl_1_bss_2A6 == 0) { + espPosSet(lbl_1_bss_2C2C[4], (-350*cosd(temp_f31*90.0f))+800, 404); + if(lbl_1_bss_2A4 != 1) { + espPosSet(lbl_1_bss_2C2C[14], (-350*cosd(temp_f31*90.0f))+800, 348); + for(temp_r30=0; temp_r30<4; temp_r30++) { + + HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], (temp_r30*50)+(((-350*cosd(temp_f31*90.0f))+800)-75), 348); + } + } else { + espPosSet(lbl_1_bss_2C2C[15], (-350*cosd(temp_f31*90.0f))+800, 348); + espPosSet(lbl_1_bss_2C2C[16], (-350*cosd(temp_f31*90.0f))+800, 348); + for(temp_r30=0; temp_r30<4; temp_r30++) { + HuSprGrpPosSet(lbl_1_bss_34A[temp_r30], (800*(1-cosd(temp_f31*90.0f)))+lbl_1_data_B0[temp_r30], 348); + } + } + } else { + if(lbl_1_bss_2A6 == 1) { + espAttrReset(lbl_1_bss_2C2C[20], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[20], (-350*cosd(temp_f31*90.0f))+800, 414); + } else if(lbl_1_bss_2A6 == 2) { + espAttrReset(lbl_1_bss_2C2C[21], HUSPR_ATTR_DISPOFF); + espPosSet(lbl_1_bss_2C2C[21], (-350*cosd(temp_f31*90.0f))+800, 400); + } + } + } + temp_f31 = temp_r31/20.0; + for(temp_r30=0; temp_r30spacing_x = 0; + HuWinBGTPLvlSet(window, 0); + HuWinMesSpeedSet(window, 0); + HuWinDispOff(window); + (void)i; + } + } +} + +void fn_1_9F64(s16 arg0, s16 arg1, s16 arg2) +{ + s16 i; + s16 no; + s16 window; + if(lbl_1_bss_2A6 == 2 && lbl_1_bss_30C == arg0) { + for(i=0; i<4; i++) { + HuSprAttrSet(lbl_1_bss_2E2, i+14, HUSPR_ATTR_DISPOFF); + } + } + if(arg1 == 9) { + for(i=0; i<7; i++) { + HuSprAttrSet(lbl_1_bss_2E2, i+(arg0*7), HUSPR_ATTR_DISPOFF); + window = lbl_1_bss_352[arg0][i]; + if(i+arg2 >= lbl_1_bss_2638[9]) { + HuWinDispOff(window); + } else { + no = lbl_1_bss_264C[9][i+arg2]; + if(no < 0) { + lbl_1_bss_30C = arg0; + no = -no-1; + lbl_1_bss_30E[no] = i; + HuSprAttrReset(lbl_1_bss_2E2, no+14, HUSPR_ATTR_DISPOFF); + HuSprPosSet(lbl_1_bss_2E2, no+14, 24+lbl_1_bss_2F4[arg0].x, (lbl_1_bss_2F4[arg0].y+(i*38))-116); + HuWinDispOff(window); + } else { + HuWinMesSet(window, mgInfoTbl[no].name_mess); + HuWinDispOn(window); + } + } + } + } else { + for(i=0; i<7; i++) { + window = lbl_1_bss_352[arg0][i]; + if(i+arg2 >= lbl_1_bss_2638[arg1]) { + HuWinDispOff(window); + if(lbl_1_bss_2A6 == 2) { + HuSprAttrSet(lbl_1_bss_2E2, i+(arg0*7), HUSPR_ATTR_DISPOFF); + } + } else { + no = lbl_1_bss_264C[arg1][i+arg2]; + if(GWMGAvailGet(no+401)) { + HuWinMesSet(window, mgInfoTbl[no].name_mess); + } else { + HuWinMesSet(window, 0x230000); + } + HuWinDispOn(window); + if(lbl_1_bss_2A6 == 2) { + if(GWMGCustomGet(no+401)) { + HuSprAttrReset(lbl_1_bss_2E2, i+(arg0*7), HUSPR_ATTR_DISPOFF); + } else { + HuSprAttrSet(lbl_1_bss_2E2, i+(arg0*7), HUSPR_ATTR_DISPOFF); + } + } + } + } + } +} + +void fn_1_A364(s16 arg0, float arg1, float arg2, s16 arg3) +{ + s16 i; + lbl_1_bss_2F4[arg0].x = arg1; + lbl_1_bss_2F4[arg0].y = arg2; + for(i=0; i<7; i++) { + s16 window = lbl_1_bss_352[arg0][i]; + HuWinPosSet(window, arg1-105, (arg2-136)+(i*38)); + HuWinPriSet(window, arg3); + if(lbl_1_bss_2A6 == 2) { + HuSprPosSet(lbl_1_bss_2E2, i+(arg0*7), arg1+24, arg2+(i*38)-116); + HuSprPriSet(lbl_1_bss_2E2, i+(arg0*7), arg3); + } + } + if(lbl_1_bss_2A6 == 2 && lbl_1_bss_30C == arg0) { + for(i=0; i<4; i++) { + HuSprPosSet(lbl_1_bss_2E2, i+14, arg1+24, arg2+(lbl_1_bss_30E[i]*38)-116); + HuSprPriSet(lbl_1_bss_2E2, i+14, arg3+1); + } + } + +} + +void fn_1_A624(void) +{ + s16 j; + s16 i; + + for(i=0; i<2; i++) { + for(j=0; j<7; j++) { + HuWinKill(lbl_1_bss_352[i][j]); + } + } +} + +void fn_1_A6A8(void) +{ + s16 spA[2]; + s16 i; + AnimData *anim; + s16 sprite; + s16 group; + s16 player; + s16 bank; + s16 iscom; + if(lbl_1_bss_2A4 == 1) { + spA[0] = 0; + spA[1] = 2; + for(i=0; i<4; i++) { + if(GWPlayerCfg[i].group >= 2) { + lbl_1_bss_340[i] = 0; + } else { + lbl_1_bss_340[spA[GWPlayerCfg[i].group]] = i; + spA[GWPlayerCfg[i].group]++; + } + } + } else { + for(i=0; i<4; i++) { + lbl_1_bss_340[i] = i; + } + } + for(i=0; i<4; i++) { + if(lbl_1_bss_34A[i]) { + HuSprGrpKill(lbl_1_bss_34A[i]); + } + player = lbl_1_bss_340[i]; + group = HuSprGrpCreate(2); + lbl_1_bss_34A[i] = group; + anim = HuSprAnimRead(HuDataReadNum(0x620010+GWPlayerCfg[player].character, MEMORY_DEFAULT_NUM)); + sprite = HuSprCreate(anim, 200, 0); + HuSprGrpMemberSet(group, 0, sprite); + if(iscom = GWPlayerCfg[player].iscom) { + anim = HuSprAnimRead(HuDataReadNum(0x620027, MEMORY_DEFAULT_NUM)); + bank = GWPlayerCfg[player].diff; + } else { + anim = HuSprAnimRead(HuDataReadNum(0x620026, MEMORY_DEFAULT_NUM)); + bank = lbl_1_bss_340[i]; + } + sprite = HuSprCreate(anim, 200, bank); + HuSprGrpMemberSet(group, 1, sprite); + HuSprPosSet(group, 1, 0, 20); + HuSprAttrSet(lbl_1_bss_34A[i], 0, HUSPR_ATTR_DISPOFF); + HuSprAttrSet(lbl_1_bss_34A[i], 1, HUSPR_ATTR_DISPOFF); + } + if(lbl_1_bss_2E6) { + HuSprGrpKill(lbl_1_bss_2E6); + } + group = HuSprGrpCreate(5); + lbl_1_bss_2E6 = group; + anim = HuSprAnimRead(HuDataReadNum(0x62002D, MEMORY_DEFAULT_NUM)); + for(i=0; i<5; i++) { + sprite = HuSprCreate(anim, 5, 0); + HuSprGrpMemberSet(group, i, sprite); + HuSprPosSet(group, i, (i*16)-32, 0); + } + HuSprBankSet(group, 2, 10); + HuSprGrpPosSet(group, 284, 410); + fn_1_ADA0(0); + if(lbl_1_bss_2A6 == 2 && lbl_1_bss_2E2 == 0) { + anim = HuSprAnimRead(HuDataReadNum(0x62002B, MEMORY_DEFAULT_NUM)); + lbl_1_bss_2E2 = HuSprGrpCreate(18); + for(i=0; i<14; i++) { + sprite = HuSprCreate(anim, 8, 0); + HuSprGrpMemberSet(lbl_1_bss_2E2, i, sprite); + HuSprColorSet(lbl_1_bss_2E2, i, 255, 0, 0); + HuSprAttrSet(lbl_1_bss_2E2, i, HUSPR_ATTR_ADDCOL|HUSPR_ATTR_DISPOFF); + HuSprTPLvlSet(lbl_1_bss_2E2, i, 0.8f); + } + for(i=0; i<4; i++) { + anim = HuSprAnimRead(HuDataReadNum(lbl_1_data_C0[i], MEMORY_DEFAULT_NUM)); + sprite = HuSprCreate(anim, 8, 0); + HuSprGrpMemberSet(lbl_1_bss_2E2, i+14, sprite); + HuSprAttrSet(lbl_1_bss_2E2, i+14, HUSPR_ATTR_DISPOFF); + } + HuSprGrpPosSet(lbl_1_bss_2E2, 0, 0); + } + lbl_1_data_A0 = -1; + (void)sprite; + +} + +void fn_1_ACAC(s16 arg0, s16 arg1) +{ + s16 digit; + digit = arg0/10; + HuSprBankSet(lbl_1_bss_2E6, 0, digit); + arg0 -= digit*10; + HuSprBankSet(lbl_1_bss_2E6, 1, arg0); + digit = arg1/10; + HuSprBankSet(lbl_1_bss_2E6, 3, digit); + arg1 -= digit*10; + HuSprBankSet(lbl_1_bss_2E6, 4, arg1); +} + +void fn_1_ADA0(s32 arg0) +{ + s16 i; + for(i=0; i<5; i++) { + if(arg0) { + HuSprAttrReset(lbl_1_bss_2E6, i, HUSPR_ATTR_DISPOFF); + } else { + HuSprAttrSet(lbl_1_bss_2E6, i, HUSPR_ATTR_DISPOFF); + } + } +} + +void fn_1_AED0(void); + +void fn_1_AE20(s16 arg0, s16 arg1, s16 arg2, s16 arg3) +{ + lbl_1_bss_2F0 = arg0; + lbl_1_bss_2E8 = arg1; + lbl_1_bss_2EE = arg2; + lbl_1_bss_2EC = arg3; + HuPrcChildCreate(fn_1_AED0, 100, 12288, 0, HuPrcCurrentGet()); +} + +void fn_1_AED0(void) +{ + s16 temp_r31; + s16 temp_r30; + AnimData *temp_r29; + s16 temp_r28; + s16 temp_r27; + s32 temp_r26; + temp_r27 = lbl_1_data_A0; + if(lbl_1_bss_2F0 < 0) { + for(temp_r30=1; temp_r30<=lbl_1_bss_2E8; temp_r30++) { + HuSprGrpTPLvlSet(temp_r27, 1.0-(temp_r30/lbl_1_bss_2E8)); + HuPrcVSleep(); + } + if(temp_r27 != -1) { + HuSprGrpKill(temp_r27); + } + lbl_1_data_A0 = -1; + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } + } + lbl_1_data_A0 = HuSprGrpCreate(4); + temp_r26 = mgInfoTbl[lbl_1_bss_2F0].mg_pic[0]; + if(GWMGAvailGet(lbl_1_bss_2F0+401)) { + temp_r29 = HuSprAnimRead(HuDataReadNumHeapShortForce(temp_r26, MEMORY_DEFAULT_NUM, HEAP_DATA)); + } else { + temp_r29 = HuSprAnimReadFile(0x62002C); + } + temp_r28 = HuSprCreate(temp_r29, 200, 0); + HuSprGrpMemberSet(lbl_1_data_A0, 0, temp_r28); + HuSprGrpPosSet(lbl_1_data_A0, lbl_1_bss_2EE, lbl_1_bss_2EC); + HuSprGrpScaleSet(lbl_1_data_A0, 0.6f, 0.6f); + temp_r31 = 0; + if(mgInfoTbl[lbl_1_bss_2F0].flag & 0x1) { + temp_r29 = HuSprAnimReadFile(0x620024); + temp_r28 = HuSprCreate(temp_r29, 190, 0); + HuSprGrpMemberSet(lbl_1_data_A0, temp_r31+1, temp_r28); + HuSprPosSet(lbl_1_data_A0, temp_r31+1, (355.0/3.0)-((temp_r31*50)*(100.0/60.0)), (355.0f/3.0f)); + HuSprScaleSet(lbl_1_data_A0, temp_r31+1, 100.0f/60.0f, 100.0f/60.0f); + temp_r31++; + } + if(mgInfoTbl[lbl_1_bss_2F0].flag & 0x2) { + temp_r29 = HuSprAnimReadFile(0x620023); + temp_r28 = HuSprCreate(temp_r29, 190, 0); + HuSprGrpMemberSet(lbl_1_data_A0, temp_r31+1, temp_r28); + HuSprPosSet(lbl_1_data_A0, temp_r31+1, (355.0/3.0)-((temp_r31*50)*(100.0/60.0)), (355.0f/3.0f)); + HuSprScaleSet(lbl_1_data_A0, temp_r31+1, 100.0f/60.0f, 100.0f/60.0f); + temp_r31++; + } + if(GWMGCustomGet(lbl_1_bss_2F0+401)) { + temp_r29 = HuSprAnimReadFile(0x620022); + temp_r28 = HuSprCreate(temp_r29, 190, 0); + HuSprGrpMemberSet(lbl_1_data_A0, temp_r31+1, temp_r28); + HuSprPosSet(lbl_1_data_A0, temp_r31+1, (355.0/3.0)-((temp_r31*50)*(100.0/60.0)), (355.0f/3.0f)); + HuSprScaleSet(lbl_1_data_A0, temp_r31+1, 100.0f/60.0f, 100.0f/60.0f); + temp_r31++; + } + for(temp_r30=1; temp_r30<=lbl_1_bss_2E8; temp_r30++) { + if(temp_r27 != -1) { + HuSprGrpTPLvlSet(temp_r27, 1.0-(temp_r30/lbl_1_bss_2E8)); + } + HuSprGrpTPLvlSet(lbl_1_data_A0, temp_r30/lbl_1_bss_2E8); + HuPrcVSleep(); + } + if(temp_r27 != -1) { + HuSprGrpKill(temp_r27); + } + lbl_1_bss_348 = lbl_1_bss_2F0; + HuPrcEnd(); + while(1) { + HuPrcVSleep(); + } +} + +s16 fn_1_B5A8(s16 *arg0, s16 *arg1) +{ + s16 mgNo = GWSystem.mg_next; + s16 mgType = mgInfoTbl[mgNo].type; + s16 ret; + s16 i; + for(i=ret=0; i= 7 && i+7 >= lbl_1_bss_2638[mgType]) { + i = lbl_1_bss_2638[mgType]-7; + } + *arg0 = i; + if(lbl_1_bss_2638[mgType] < 7) { + *arg0 = 0; + } + *arg1 = *arg1-*arg0; + return ret; +} + +void fn_1_B770(void) +{ + if(lbl_1_bss_2A6 == 2) { + lbl_1_bss_316 = 5; + lbl_1_bss_318[0][0] = 0; + lbl_1_bss_318[0][1] = 5; + lbl_1_bss_318[1][0] = 1; + lbl_1_bss_318[1][1] = 6; + lbl_1_bss_318[2][0] = 2; + lbl_1_bss_318[2][1] = 7; + lbl_1_bss_318[3][0] = 4; + lbl_1_bss_318[3][1] = 8; + lbl_1_bss_318[4][0] = 9; + lbl_1_bss_318[4][1] = 11; + fn_1_B9B8(); + } else if(lbl_1_bss_2A4 == 0 || lbl_1_bss_2A6 == 1) { + lbl_1_bss_316 = 7; + lbl_1_bss_318[0][0] = 0; + lbl_1_bss_318[0][1] = 5; + lbl_1_bss_318[1][0] = 1; + lbl_1_bss_318[1][1] = 6; + lbl_1_bss_318[2][0] = 2; + lbl_1_bss_318[2][1] = 7; + lbl_1_bss_318[3][0] = 4; + lbl_1_bss_318[3][1] = 8; + lbl_1_bss_318[4][0] = 3; + lbl_1_bss_318[4][1] = 9; + lbl_1_bss_318[5][0] = 6; + lbl_1_bss_318[5][1] = 10; + lbl_1_bss_318[6][0] = 8; + lbl_1_bss_318[6][1] = 12; + } else if(lbl_1_bss_2A4 == 1) { + lbl_1_bss_316 = 1; + lbl_1_bss_318[0][0] = 2; + lbl_1_bss_318[0][1] = 7; + } +} + +void fn_1_B9B8(void) +{ + s16 customNum; + s16 i; + for(i=customNum=0; i<4; i++) { + s16 j; + lbl_1_bss_264C[9][customNum++] = -i-1; + for(j=0; j= 4 && customNum[1] >= 3 && customNum[2] >= 3 && customNum[3] >= 2) { + HuWinMesMaxSizeGet(1, winSize, 0x280030); + window = HuWinExCreateStyled(-10000, -10000, winSize[0], winSize[1], -1, 1); + windowP = &winData[window]; + windowP->active_pad = 1; + HuWinMesPalSet(window, 7, 0, 0, 0); + HuWinPriSet(window, 3); + HuWinExAnimIn(window); + HuWinMesSet(window, 0x280030); + HuWinMesWait(window); + HuWinExAnimOut(window); + HuWinExCleanup(window); + return 1; + } else { + HuWinInsertMesSizeGet(MAKE_MESSID_PTR(messInsertBase), 0); + HuWinInsertMesSizeGet(MAKE_MESSID_PTR(messInsertBase), 1); + HuWinInsertMesSizeGet(MAKE_MESSID_PTR(messInsertBase), 2); + HuWinInsertMesSizeGet(MAKE_MESSID_PTR(messInsertBase), 3); + HuWinMesMaxSizeGet(3, winSize, 0x28002B, 0x28002C, 0x28002D); + window = HuWinExCreateStyled(-10000, -10000, winSize[0], winSize[1], -1, 1); + windowP = &winData[window]; + windowP->active_pad = 1; + HuWinMesPalSet(window, 7, 0, 0, 0); + HuWinPriSet(window, 3); + HuWinExAnimIn(window); + for(j=0; j<4; j++) { + strcpy(&messInsert[j][0], messInsertBase); + } + for(j=0; j<4; j++) { + if(customNum[j] >= customMinNum[j]) { + messInsert[j][1] = 5; + } else { + messInsert[j][2] = (customMinNum[j]+'0'-customNum[j]); + } + HuWinInsertMesSet(window, MAKE_MESSID_PTR(&messInsert[j][0]), (s16)j); + } + HuWinMesSet(window, 0x28002C); + HuWinMesWait(window); + HuWinMesSet(window, 0x28002B); + HuWinMesWait(window); + HuWinMesSet(window, 0x28002D); + HuWinMesWait(window); + choice = HuWinChoiceGet(window, 0); + HuWinExAnimOut(window); + HuWinExCleanup(window); + if(choice == 0) { + return 0; + } else { + return 1; + } + } +} + +void fn_1_BFA0(s16 arg0) +{ + s16 i; + for(i=0; i<4; i++) { + HuSprGrpTPLvlSet(lbl_1_bss_34A[i], 1.0f); + } + if(mgInfoTbl[arg0].ovl == OVL_M450) { + HuSprGrpTPLvlSet(lbl_1_bss_34A[1], 0.0f); + } + if(mgInfoTbl[arg0].type == 6 || mgInfoTbl[arg0].type == 8) { + HuSprGrpTPLvlSet(lbl_1_bss_34A[2], 0.0f); + HuSprGrpTPLvlSet(lbl_1_bss_34A[3], 0.0f); + return; + } +} + +float lbl_1_data_E0[2][4] = { + -132, -12, 60, 132, + -132, -60, 60, 132 +}; + +u8 lbl_1_data_100[16] = { + 0, 1, 2, 3, + 1, 0, 2, 3, + 2, 0, 1, 3, + 3, 0, 1, 2 +}; + +u8 lbl_1_data_110[12] = { + 0, 1, 2, 3, + 0, 2, 1, 3, + 0, 3, 1, 2, +}; + +s32 fn_1_C0C8(s32 arg0) +{ + s16 temp_r31; + s16 temp_r30; + float *temp_r29; + s16 temp_r28; + AnimData *temp_r27; + s16 temp_r26; + s16 temp_r25; + s16 temp_r24; + s16 temp_r23; + WindowData *temp_r22; + AnimData *temp_r21; + + float temp_f31; + float temp_f30; + float temp_f29; + if(mgTypeCurr == 1) { + temp_r29 = &lbl_1_data_E0[0][0]; + temp_f29 = 216; + } else { + temp_r29 = &lbl_1_data_E0[1][0]; + temp_f29 = 288; + } + temp_r28 = HuSprGrpCreate(16); + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r27 = HuSprAnimReadFile(lbl_1_bss_8.unk24[temp_r31].unk68+0x620067); + temp_r26 = HuSprCreate(temp_r27, 4, 0); + HuSprGrpMemberSet(temp_r28, 4*temp_r31, temp_r26); + HuSprPosSet(temp_r28, 4*temp_r31, temp_r29[temp_r31], 0); + if(mgTypeCurr == 1) { + if(temp_r31 == 0) { + temp_r27 = HuSprAnimReadFile(0x620075); + } else { + temp_r27 = HuSprAnimReadFile(0x620076); + } + } else { + if(temp_r31 < 2) { + temp_r27 = HuSprAnimReadFile(0x620075); + } else { + temp_r27 = HuSprAnimReadFile(0x620076); + } + } + temp_r26 = HuSprCreate(temp_r27, 3, 0); + HuSprGrpMemberSet(temp_r28, (4*temp_r31)+1, temp_r26); + HuSprPosSet(temp_r28, (4*temp_r31)+1, temp_r29[temp_r31], 0); + if(GWPlayerCfg[temp_r31].iscom) { + temp_r27 = HuSprAnimReadFile(0x620074); + } else { + temp_r27 = HuSprAnimReadFile(0x620070+GWPlayerCfg[temp_r31].pad_idx); + } + temp_r26 = HuSprCreate(temp_r27, 2, 1); + HuSprGrpMemberSet(temp_r28, (4*temp_r31)+2, temp_r26); + HuSprPosSet(temp_r28, (4*temp_r31)+2, temp_r29[temp_r31], 0); + temp_r27 = HuSprAnimReadFile(0x62007B); + temp_r26 = HuSprCreate(temp_r27, 2, GWPlayerCfg[temp_r31].diff); + HuSprGrpMemberSet(temp_r28, (4*temp_r31)+3, temp_r26); + HuSprPosSet(temp_r28, (4*temp_r31)+3, temp_r29[temp_r31], 38); + if(!GWPlayerCfg[temp_r31].iscom) { + HuSprAttrSet(temp_r28, (4*temp_r31)+3, HUSPR_ATTR_DISPOFF); + } + } + temp_r25 = HuSprGrpCreate(8); + temp_r27 = HuSprAnimRead(HuDataReadNum(0x620065, MEMORY_DEFAULT_NUM)); + temp_r21 = HuSprAnimRead(HuDataReadNum(0x620066, MEMORY_DEFAULT_NUM)); + for(temp_r31=0; temp_r31<4; temp_r31++) { + temp_r26 = HuSprCreate(temp_r27, 3, temp_r31); + HuSprGrpMemberSet(temp_r25, (temp_r31*2), temp_r26); + HuSprPosSet(temp_r25, (temp_r31*2), ((temp_r31%2)*380)-190, ((temp_r31/2)*156)-68); + temp_r26 = HuSprCreate(temp_r21, 4, temp_r31); + HuSprGrpMemberSet(temp_r25, (temp_r31*2)+1, temp_r26); + HuSprTPLvlSet(temp_r25, (temp_r31*2)+1, 0.5f); + HuSprPosSet(temp_r25, (temp_r31*2)+1, ((temp_r31%2)*380)-190, ((temp_r31/2)*156)-60); + } + espTPLvlSet(lbl_1_bss_2C2C[22], 0.9f); + espAttrReset(lbl_1_bss_2C2C[22], HUSPR_ATTR_DISPOFF); + espAttrReset(lbl_1_bss_2C2C[24], HUSPR_ATTR_DISPOFF); + espAttrReset(lbl_1_bss_2C2C[23], HUSPR_ATTR_DISPOFF); + espAttrReset(lbl_1_bss_2C2C[25], HUSPR_ATTR_DISPOFF); + espAttrReset(lbl_1_bss_2C2C[26], HUSPR_ATTR_DISPOFF); + espBankSet(lbl_1_bss_2C2C[25], 1); + espPosSet(lbl_1_bss_2C2C[22], 288, 240); + for(temp_r31=0; temp_r31<=30; temp_r31++) { + if(temp_r31 <= 20) { + temp_f30 = temp_r31/20.0; + temp_f31 = -300+(560*sind(temp_f30*90.0f)); + espPosSet(lbl_1_bss_2C2C[22], 288, temp_f31); + espPosSet(lbl_1_bss_2C2C[24], 288, temp_f31-50); + espPosSet(lbl_1_bss_2C2C[23], temp_f29, temp_f31+20); + espPosSet(lbl_1_bss_2C2C[26], 108, temp_f31+20); + espPosSet(lbl_1_bss_2C2C[25], 468, temp_f31+20); + HuSprGrpPosSet(temp_r28, 288, temp_f31+20); + HuSprGrpPosSet(temp_r25, 288, temp_f31); + } else { + temp_f30 = (temp_r31-20)/10.0; + temp_f31 = 240+(20*cosd(temp_f30*90.0f)); + espPosSet(lbl_1_bss_2C2C[22], 288, temp_f31); + espPosSet(lbl_1_bss_2C2C[24], 288, temp_f31-50); + espPosSet(lbl_1_bss_2C2C[23], temp_f29, temp_f31+20); + espPosSet(lbl_1_bss_2C2C[26], 108, temp_f31+20); + espPosSet(lbl_1_bss_2C2C[25], 468, temp_f31+20); + HuSprGrpPosSet(temp_r28, 288, temp_f31+20); + HuSprGrpPosSet(temp_r25, 288, temp_f31); + } + HuPrcVSleep(); + } + temp_r24 = fn_1_25CA8(0x1A0020); + temp_r22 = &winData[temp_r24]; + HuWinPriSet(temp_r24, 5); + HuWinPosSet(temp_r24, (576.0f-temp_r22->w)/2.0f, 310.0f); + temp_r30 = 0; + temp_r23 = 0; + while(1) { + s16 spC; + HuPrcVSleep(); + if(HuPadBtnDown[0] & PAD_BUTTON_B) { + HuAudFXPlay(3); + goto loop_end; + } + spC = 0; + if(HuPadDStkRep[0] & PAD_BUTTON_LEFT) { + HuAudFXPlay(772); + for(temp_r31=0; temp_r31<=5; temp_r31++) { + temp_f30 = temp_r31/5.0; + espPosSet(lbl_1_bss_2C2C[26], 108-(10*sind(temp_f30*90.0f)), 20+temp_f31); + HuPrcVSleep(); + } + temp_r30--; + if(mgTypeCurr == 1) { + if(temp_r30 < 0) { + temp_r30 = 3; + } + if(temp_r30 >= 4) { + temp_r30 = 0; + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + HuSprPosSet(temp_r28, lbl_1_data_100[(temp_r30*4)+temp_r31]*4, temp_r29[temp_r31], 0); + HuSprPosSet(temp_r28, (lbl_1_data_100[(temp_r30*4)+temp_r31]*4)+2, temp_r29[temp_r31], 0); + HuSprPosSet(temp_r28, (lbl_1_data_100[(temp_r30*4)+temp_r31]*4)+3, temp_r29[temp_r31], 38); + } + } else { + if(temp_r30 < 0) { + temp_r30 = 2; + } + if(temp_r30 >= 3) { + temp_r30 = 0; + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + HuSprPosSet(temp_r28, lbl_1_data_110[(temp_r30*4)+temp_r31]*4, temp_r29[temp_r31], 0); + HuSprPosSet(temp_r28, (lbl_1_data_110[(temp_r30*4)+temp_r31]*4)+2, temp_r29[temp_r31], 0); + HuSprPosSet(temp_r28, (lbl_1_data_110[(temp_r30*4)+temp_r31]*4)+3, temp_r29[temp_r31], 38); + } + } + for(temp_r31=0; temp_r31<=5; temp_r31++) { + temp_f30 = temp_r31/5.0; + espPosSet(lbl_1_bss_2C2C[26], 108-(10*cosd(temp_f30*90.0f)), 20+temp_f31); + HuPrcVSleep(); + } + } else if(HuPadDStkRep[0] & PAD_BUTTON_RIGHT) { + HuAudFXPlay(772); + for(temp_r31=0; temp_r31<=5; temp_r31++) { + temp_f30 = temp_r31/5.0; + espPosSet(lbl_1_bss_2C2C[25], 468+(10*sind(temp_f30*90.0f)), 20+temp_f31); + HuPrcVSleep(); + } + temp_r30++; + if(mgTypeCurr == 1) { + if(temp_r30 < 0) { + temp_r30 = 3; + } + if(temp_r30 >= 4) { + temp_r30 = 0; + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + HuSprPosSet(temp_r28, lbl_1_data_100[(temp_r30*4)+temp_r31]*4, temp_r29[temp_r31], 0); + HuSprPosSet(temp_r28, (lbl_1_data_100[(temp_r30*4)+temp_r31]*4)+2, temp_r29[temp_r31], 0); + HuSprPosSet(temp_r28, (lbl_1_data_100[(temp_r30*4)+temp_r31]*4)+3, temp_r29[temp_r31], 38); + } + } else { + if(temp_r30 < 0) { + temp_r30 = 2; + } + if(temp_r30 >= 3) { + temp_r30 = 0; + } + for(temp_r31=0; temp_r31<4; temp_r31++) { + HuSprPosSet(temp_r28, lbl_1_data_110[(temp_r30*4)+temp_r31]*4, temp_r29[temp_r31], 0); + HuSprPosSet(temp_r28, (lbl_1_data_110[(temp_r30*4)+temp_r31]*4)+2, temp_r29[temp_r31], 0); + HuSprPosSet(temp_r28, (lbl_1_data_110[(temp_r30*4)+temp_r31]*4)+3, temp_r29[temp_r31], 38); + } + } + for(temp_r31=0; temp_r31<=5; temp_r31++) { + temp_f30 = temp_r31/5.0; + espPosSet(lbl_1_bss_2C2C[25], 468+(10*cosd(temp_f30*90.0f)), 20+temp_f31); + HuPrcVSleep(); + } + } + if(HuPadBtnDown[0] & (PAD_BUTTON_A|PAD_BUTTON_START)) { + break; + } + } + HuAudFXPlay(773); + if(mgTypeCurr == 1) { + GWPlayerCfg[lbl_1_data_100[temp_r30*4]].group = 0; + for(temp_r31=1; temp_r31<4; temp_r31++) { + GWPlayerCfg[lbl_1_data_100[(temp_r30*4)+temp_r31]].group = 1; + } + } else { + for(temp_r31=0; temp_r31<2; temp_r31++) { + GWPlayerCfg[lbl_1_data_110[(temp_r30*4)+temp_r31]].group = 0; + } + for(temp_r31=2; temp_r31<4; temp_r31++) { + GWPlayerCfg[lbl_1_data_110[(temp_r30*4)+temp_r31]].group = 1; + } + } + if(arg0 != 0) { + temp_r23 = 1; + } else { + return 1; + } + loop_end: + fn_1_25E74(temp_r24); + for(temp_r31=0; temp_r31<=30; temp_r31++) { + if(temp_r31 <= 10) { + temp_f30 = temp_r31/10.0; + temp_f31 = 240+(20*sind(temp_f30*90.0f)); + espPosSet(lbl_1_bss_2C2C[22], 288, temp_f31); + espPosSet(lbl_1_bss_2C2C[24], 288, temp_f31-50); + espPosSet(lbl_1_bss_2C2C[23], temp_f29, temp_f31+20); + espPosSet(lbl_1_bss_2C2C[26], 108, temp_f31+20); + espPosSet(lbl_1_bss_2C2C[25], 468, temp_f31+20); + HuSprGrpPosSet(temp_r28, 288, temp_f31+20); + HuSprGrpPosSet(temp_r25, 288, temp_f31); + } else { + temp_f30 = (temp_r31-10)/20.0; + temp_f31 = -300+(560*cosd(temp_f30*90.0f)); + espPosSet(lbl_1_bss_2C2C[22], 288, temp_f31); + espPosSet(lbl_1_bss_2C2C[24], 288, temp_f31-50); + espPosSet(lbl_1_bss_2C2C[23], temp_f29, temp_f31+20); + espPosSet(lbl_1_bss_2C2C[26], 108, temp_f31+20); + espPosSet(lbl_1_bss_2C2C[25], 468, temp_f31+20); + HuSprGrpPosSet(temp_r28, 288, temp_f31+20); + HuSprGrpPosSet(temp_r25, 288, temp_f31); + } + HuPrcVSleep(); + } + HuSprGrpKill(temp_r28); + HuSprGrpKill(temp_r25); + return temp_r23; +} \ No newline at end of file diff --git a/src/REL/mgmodedll/minigame.c b/src/REL/mgmodedll/minigame.c index b11c24a8..fee4e1a9 100644 --- a/src/REL/mgmodedll/minigame.c +++ b/src/REL/mgmodedll/minigame.c @@ -201,7 +201,7 @@ void fn_1_27418(void) } } -void fn_1_2783C(s16 evtno) +s32 fn_1_2783C(s16 evtno) { s16 i; omOvlHisData *his; diff --git a/src/game/gamework.c b/src/game/gamework.c index 60ef959b..c7384f01 100644 --- a/src/game/gamework.c +++ b/src/game/gamework.c @@ -275,7 +275,7 @@ s32 GWMGCustomGet(s32 id) } } -s32 GWMGCustomSet(s32 id) +void GWMGCustomSet(s32 id) { s32 word; s32 bit; @@ -285,7 +285,7 @@ s32 GWMGCustomSet(s32 id) GWGameStat.mg_custom[word] |= (1 << bit); } -s32 GWMGCustomReset(s32 id) +void GWMGCustomReset(s32 id) { s32 word; s32 bit;