Start more work on resultdll

Solve fn_1_B78 and fully decompile datalist.c
This commit is contained in:
gamemasterplc 2024-04-04 22:26:51 -05:00
parent f8abed907f
commit ca2b9cd67b
5 changed files with 526 additions and 443 deletions

View file

@ -132,8 +132,8 @@ lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float
lbl_1_rodata_210 = .rodata:0x00000210; // 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: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_21C = .rodata:0x0000021C; // type:object size:0x4 data:float
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 data:float lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 data:double lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double
lbl_1_data_0 = .data:0x00000000; // type:object size:0x2A4 lbl_1_data_0 = .data:0x00000000; // type:object size:0x2A4
lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0xDC data:4byte lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0xDC data:4byte
lbl_1_data_380 = .data:0x00000380; // type:object size:0x2 data:2byte lbl_1_data_380 = .data:0x00000380; // type:object size:0x2 data:2byte
@ -188,7 +188,8 @@ lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x4 data:4byte
lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x4 data:4byte lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x4 data:4byte
lbl_1_bss_17C = .bss:0x0000017C; // type:object size:0x2 data:2byte lbl_1_bss_17C = .bss:0x0000017C; // type:object size:0x2 data:2byte
lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x4 data:4byte lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x4 data:4byte
lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x8 data:4byte lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x4 data:4byte
lbl_1_bss_188 = .bss:0x00000188; // type:object size:0x4 data:4byte
lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:4byte lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:4byte
lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x1680 lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x1680
lbl_1_bss_1814 = .bss:0x00001814; // type:object size:0x14 lbl_1_bss_1814 = .bss:0x00001814; // type:object size:0x14

View file

@ -1055,7 +1055,7 @@ config.libs = [
Object(Matching, "REL/executor.c"), Object(Matching, "REL/executor.c"),
Object(NonMatching, "REL/resultDll/main.c"), Object(NonMatching, "REL/resultDll/main.c"),
Object(NonMatching, "REL/resultDll/battle.c"), Object(NonMatching, "REL/resultDll/battle.c"),
Object(NonMatching, "REL/resultDll/datalist.c"), Object(Matching, "REL/resultDll/datalist.c"),
} }
), ),
Rel('safDll', Rel('safDll',

41
include/REL/resultdll.h Normal file
View file

@ -0,0 +1,41 @@
#ifndef RESULTDLL_H
#define RESULTDLL_H
#include "game/data.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/sprite.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;
void fn_1_6490(void);
void fn_1_8FF8(DataListModel *model_list);
void fn_1_927C(DataListSprite *sprite_list);
void fn_1_93B4(void);
extern s16 lbl_1_bss_1A9C[32];
extern s16 lbl_1_bss_1A5C[32];
extern s16 lbl_1_bss_1A1A[33];
extern s16 lbl_1_bss_1A18;
#endif

View file

@ -0,0 +1,86 @@
#include "REL/resultdll.h"
s16 lbl_1_bss_1A9C[32];
s16 lbl_1_bss_1A5C[32];
s16 lbl_1_bss_1A1A[33];
s16 lbl_1_bss_1A18;
void fn_1_8FF8(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<32; clear_i++) {
lbl_1_bss_1A9C[clear_i] = lbl_1_bss_1A5C[clear_i] = -1;
}
for(i=0; list->datanum != 0xFFFFFFFF; list++, i++) {
if(list->type == 0) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
model = Hu3DModelCreate(data);
lbl_1_bss_1A9C[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_1A5C[i] = model_ptr->unk_08;
}
} else if(list->type == 1) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
lbl_1_bss_1A5C[i] = Hu3DJointMotion(lbl_1_bss_1A9C[list->mot_link], data);
}
(void)i;
}
list = model_list;
for(i=0; list->datanum != 0xFFFFFFFF; list++, i++) {
if(list->type == 2) {
model = Hu3DModelLink(lbl_1_bss_1A9C[list->link]);
lbl_1_bss_1A9C[i] = model;
Hu3DModelAttrSet(model, list->attr);
Hu3DModelPosSetV(model, &list->pos);
Hu3DModelRotSetV(model, &list->rot);
Hu3DModelScaleSetV(model, &list->scale);
}
if(list->mot_link != -1) {
Hu3DMotionSet(lbl_1_bss_1A9C[i], lbl_1_bss_1A5C[list->mot_link]);
}
(void)i;
}
}
void fn_1_927C(DataListSprite *sprite_list)
{
DataListSprite *list;
s16 sprite;
s16 clear_i;
s16 i;
list = sprite_list;
for(clear_i=0; clear_i<32; clear_i++) {
lbl_1_bss_1A1A[clear_i] = -1;
}
for(i=0; list->datanum; i++, list++) {
sprite = espEntry(list->datanum, 100, 0);
lbl_1_bss_1A1A[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_93B4(void)
{
s16 i;
for(i=0; i<32; i++) {
if(lbl_1_bss_1A1A[i] != -1) {
espKill(lbl_1_bss_1A1A[i]);
}
}
}

View file

@ -1,311 +1,226 @@
// include "REL/resultDll/main.h" // include "REL/resultDll/main.h"
#include "dolphin.h" #include "dolphin.h"
#include "rel_sqrt_consts.h" #include "rel_sqrt_consts.h"
#include "game/gamework_data.h"
#include "game/gamework.h"
#include "game/hsfex.h"
#include "game/memory.h"
#include "game/armem.h"
#include "game/animdata.h"
#include "game/hsfman.h"
#include "game/object.h" #include "game/object.h"
#include "game/audio.h" #include "game/data.h"
#include "game/saveload.h"
#include "game/sprite.h"
#include "game/window.h" #include "game/window.h"
#include "game/flag.h" #include "game/hsfman.h"
#include "game/wipe.h" #include "game/process.h"
#include "game/objsub.h" #include "game/objsub.h"
#include "game/audio.h"
#include "game/wipe.h"
#include "game/pad.h" #include "game/pad.h"
// #include "game/frand.h" #include "game/saveload.h"
#include "game/gamework.h"
#include "game/board/player.h" #include "game/board/player.h"
// #include "REL/resultDll/battle.h"
extern s16 lbl_1_bss_1A1A[0x21];
extern s16 lbl_1_bss_1A9C[0x20];
// structs #include "REL/resultdll.h"
typedef struct unkStructData0 {
u32 unk0;
u32 unk4;
s16 unk8;
s16 unkA;
s16 unkC;
s16 unkE;
Vec unk10;
Vec unk1C;
Vec unk28;
} unkStructData0;
typedef struct unkStructData2A4 {
u32 unk0;
u32 unk4;
f32 unk8;
f32 unkC;
s32 unk10;
} unkStructData2A4;
typedef struct unkStructBSS12 {
s16 unk0;
s16 unk2;
s16 unk4;
s16 unk6;
s16 unk8;
} unkStructBSS12;
// bss DataListModel lbl_1_data_0[] = {
omObjData* lbl_1_bss_184[2]; { 0x6F0000, 1, 0, -1, -1, { 148, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
Process* lbl_1_bss_180; { 0x6F0001, 1, 0, -1, -1, { 148, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0002, 1, 0, -1, -1, { 148, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0003, 1, 0, -1, -1, { 148, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0006, 0, 0, -1, -1, { 230, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0006, 0, 2, 4, -1, { 230, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0006, 0, 2, 4, -1, { 230, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0006, 0, 2, 4, -1, { 230, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0005, 0, 0, -1, -1, { 410, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0006, 0, 2, 8, -1, { 410, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0006, 0, 2, 8, -1, { 410, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ 0x6F0006, 0, 2, 8, -1, { 410, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
{ -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } }
};
DataListSprite lbl_1_data_2A4[] = {
{ 0x6F0043, 0, 10, 288, 240, { 255, 255, 255, 255 } },
{ 0x6F001D, 0, 10, 288, 60, { 255, 255, 255, 255 } },
{ 0x6F001A, 0, 10, 270, 132, { 255, 255, 255, 255 } },
{ 0x6F001A, 0, 10, 450, 132, { 255, 255, 255, 255 } },
{ 0x6F001A, 0, 10, 270, 217, { 255, 255, 255, 255 } },
{ 0x6F001A, 0, 10, 450, 217, { 255, 255, 255, 255 } },
{ 0x6F001A, 0, 10, 270, 302, { 255, 255, 255, 255 } },
{ 0x6F001A, 0, 10, 450, 302, { 255, 255, 255, 255 } },
{ 0x6F001A, 0, 10, 270, 387, { 255, 255, 255, 255 } },
{ 0x6F001A, 0, 10, 450, 387, { 255, 255, 255, 255 } },
{ 0, 0, 0, 0, 0, { 0, 0, 0, 0 } },
};
s16 lbl_1_data_380 = -1;
omObjData *lbl_1_bss_188;
omObjData *lbl_1_bss_184;
Process *lbl_1_bss_180;
s16 lbl_1_bss_17C; s16 lbl_1_bss_17C;
s32 lbl_1_bss_178; s32 lbl_1_bss_178;
s32 lbl_1_bss_174; s32 lbl_1_bss_174;
s16 lbl_1_bss_172; s16 lbl_1_bss_172;
s16 lbl_1_bss_170; s16 lbl_1_bss_170;
s16 lbl_1_bss_168[4]; s16 lbl_1_bss_168[4];
s16 lbl_1_bss_158[8]; AnimData *lbl_1_bss_144[5];
AnimData* lbl_1_bss_144[5]; AnimData *lbl_1_bss_E4[8][3];
AnimData* lbl_1_bss_E4[8][3]; AnimData *lbl_1_bss_E0;
AnimData* lbl_1_bss_E0;
s16 lbl_1_bss_CE[9]; s16 lbl_1_bss_CE[9];
S16Vec lbl_1_bss_9E[8]; s16 lbl_1_bss_9E[8][3];
s16 lbl_1_bss_9C; s16 lbl_1_bss_9C;
s16 lbl_1_bss_5C[8][4]; s16 lbl_1_bss_5C[8][4];
// extern ? lbl_1_bss_54;
s16 lbl_1_bss_52; s16 lbl_1_bss_52;
s16 lbl_1_bss_4A[4]; s16 lbl_1_bss_4A[4];
s16 lbl_1_bss_42[4]; s16 lbl_1_bss_42[4];
s16 lbl_1_bss_3A[4]; s16 lbl_1_bss_3A[4];
unkStructBSS12 lbl_1_bss_12[4]; s16 lbl_1_bss_12[4][5];
// extern ? lbl_1_bss_A;
// extern s16 lbl_1_bss_8;
s32 lbl_1_bss_4; s32 lbl_1_bss_4;
s32 lbl_1_bss_0; s32 lbl_1_bss_0;
// data
unkStructData0 lbl_1_data_0[13] = {
{ 0x6F0000, 1, 0, -1, -1, 0,
{ 148.0f, 132.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0001, 1, 0, -1, -1, 0,
{ 148.0f, 217.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0002, 1, 0, -1, -1, 0,
{ 148.0f, 302.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0003, 1, 0, -1, -1, 0,
{ 148.0f, 387.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0006, 0, 0, -1, -1, 0,
{ 230.0f, 132.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0006, 0, 2, 4, -1, 0,
{ 230.0f, 217.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0006, 0, 2, 4, -1, 0,
{ 230.0f, 302.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0006, 0, 2, 4, -1, 0,
{ 230.0f, 387.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0005, 0, 0, -1, -1, 0,
{ 410.0f, 132.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0006, 0, 2, 8, -1, 0,
{ 410.0f, 217.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0006, 0, 2, 8, -1, 0,
{ 410.0f, 302.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ 0x6F0006, 0, 2, 8, -1, 0,
{ 410.0f, 387.0f, 500.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
{ -1, 0, 0, -1, -1, 0,
{ 0.0f, 0.0f, 0.0f },
{ 0.0f, 0.0f, 0.0f },
{ 1.0f, 1.0f, 1.0f } },
};
unkStructData2A4 lbl_1_data_2A4[11] = {
{ 0x6F0043, 10, 288.0f, 240.0f, -1 },
{ 0x6F001D, 10, 288.0f, 60.0f, -1 },
{ 0x6F001A, 10, 270.0f, 132.0f, -1 },
{ 0x6F001A, 10, 450.0f, 132.0f, -1 },
{ 0x6F001A, 10, 270.0f, 217.0f, -1 },
{ 0x6F001A, 10, 450.0f, 217.0f, -1 },
{ 0x6F001A, 10, 270.0f, 302.0f, -1 },
{ 0x6F001A, 10, 450.0f, 302.0f, -1 },
{ 0x6F001A, 10, 270.0f, 387.0f, -1 },
{ 0x6F001A, 10, 450.0f, 387.0f, -1 },
{ 0, 0, 0.0f, 0.0f, 0 },
};
s16 lbl_1_data_380 = -1;
// rodata
// extern s32 saveExecF;
// functions
void fn_1_6490(void);
void fn_1_8FF8(unkStructData0*);
void fn_1_927C(unkStructData2A4*);
void fn_1_1F4C(void);
void fn_1_2ADC(void);
void fn_1_3B50(s16 arg0, s16 arg1);
void fn_1_3CAC(s16 arg0, s16 arg1);
void fn_1_3E08(void);
void fn_1_3FD8(void);
void fn_1_40DC(void);
void fn_1_423C(s16 (*arg0)[]);
void fn_1_461C(void);
void fn_1_47FC(void);
void fn_1_4D8(void); void fn_1_4D8(void);
void fn_1_888(void); void fn_1_888(void);
void fn_1_B78(void); void fn_1_B78(void);
void fn_1_1F4C(void);
void fn_1_2ADC(void);
void fn_1_3FD8(void);
void fn_1_40DC(void);
void fn_1_461C(void);
void fn_1_47FC(void);
void ModuleProlog(void) {
s32 var_r31;
s32 var_r30;
OSReport("******* RESULT ObjectSetup *********\n"); void ModuleProlog(void)
lbl_1_bss_180 = omInitObjMan(0x32, 0x2000); {
lbl_1_bss_17C = GWSystem.mg_next; s32 i;
if (mgInfoTbl[lbl_1_bss_17C].ovl == 0x26) { s32 light;
for (var_r31 = 0; var_r31 < 4; var_r31++) { OSReport("******* RESULT ObjectSetup *********\n");
GWPlayerCfg[var_r31].group = GWPlayerCfg[var_r31].group / 2; lbl_1_bss_180 = omInitObjMan(50, 8192);
} lbl_1_bss_17C = GWSystem.mg_next;
}
HuDataDirClose(mgInfoTbl[lbl_1_bss_17C].data_dir);
if (mgInfoTbl[lbl_1_bss_17C].type == 3 || mgInfoTbl[lbl_1_bss_17C].type == 5 || mgInfoTbl[lbl_1_bss_17C].type == 6 || _CheckFlag(0x10000U) == 0) {
if (_CheckFlag(0x10000) != 0) {
HuAR_DVDtoARAM(0x70000);
while (HuARDMACheck() != 0) {}
}
omOvlReturnEx(1, 1);
return;
}
CRot.x = 0.0f; if(mgInfoTbl[lbl_1_bss_17C].ovl == OVL_M430) {
CRot.y = 0.0f; for(i=0; i<4; i++) {
CRot.z = 0.0f; GWPlayerCfg[i].group = GWPlayerCfg[i].group/2;
Center.x = 0.0f; }
Center.y = 0.0f; }
Center.z = 0.0f; HuDataDirClose(mgInfoTbl[lbl_1_bss_17C].data_dir);
CZoom = 500.0f; if(mgInfoTbl[lbl_1_bss_17C].type == 3 || mgInfoTbl[lbl_1_bss_17C].type == 5 || mgInfoTbl[lbl_1_bss_17C].type == 6 || !_CheckFlag(0x10000)) {
Hu3DCameraCreate(1); if(_CheckFlag(0x10000)) {
Hu3DCameraPerspectiveSet(1, 20.0f, 20.0f, 15000.0f, 1.2f); HuAR_DVDtoARAM(DATADIR_BOARD);
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); while(HuARDMACheck());
var_r30 = Hu3DGLightCreate(0.0f, 100.0f, 1000.0f, 0.0f, -0.5f, -1.0f, 0xFF, 0xFF, 0xFF); }
Hu3DGLightInfinitytSet(var_r30); omOvlReturnEx(1, 1);
lbl_1_bss_174 = 0; return;
if (mgInfoTbl[GWSystem.mg_next].type != 4) { }
HuPrcChildCreate(fn_1_4D8, 0x64, 0x3000, 0, lbl_1_bss_180); CRot.x = 0.0f;
} else { CRot.y = 0.0f;
HuPrcChildCreate(fn_1_6490, 0x64, 0x3000, 0, lbl_1_bss_180); CRot.z = 0.0f;
} Center.x = 0.0f;
lbl_1_bss_184[0] = omAddObjEx(lbl_1_bss_180, 0x7FDA, 0U, 0U, -1, omOutView); Center.y = 0.0f;
HuWinInit(1); Center.z = 0.0f;
lbl_1_bss_172 = frandmod(4); CZoom = 500.0f;
Hu3DCameraCreate(1);
Hu3DCameraPerspectiveSet(1, 20.0f, 20.0f, 15000.0f, 1.2f);
Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1);
light = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255);
Hu3DGLightInfinitytSet(light);
lbl_1_bss_174 = 0;
if(mgInfoTbl[GWSystem.mg_next].type != 4) {
HuPrcChildCreate(fn_1_4D8, 100, 12288, 0, lbl_1_bss_180);
} else {
HuPrcChildCreate(fn_1_6490, 100, 12288, 0, lbl_1_bss_180);
}
lbl_1_bss_184 = omAddObjEx(lbl_1_bss_180, 32730, 0, 0, -1, omOutView);
HuWinInit(1);
lbl_1_bss_172 = frandmod(4);
} }
void fn_1_4D8(void) { void fn_1_4D8(void)
Process* sp8; {
s32 var_r27; s16 player;
s16 var_r28; s16 i;
s16 var_r29; s16 window;
s16 var_r30; s16 button;
s16 var_r31; Process *process_curr = HuPrcCurrentGet();
HuAudSeqPlay(57);
sp8 = HuPrcCurrentGet(); for(i=player=0; i<4; i++) {
HuAudSeqPlay(0x39); if(GWPlayerCfg[i].iscom) {
for (var_r30 = var_r31 = 0; var_r30 < 4; var_r30++) { player++;
if (GWPlayerCfg[var_r30].iscom != 0) { }
var_r31++; }
} if(player == 4) {
} lbl_1_bss_4 = 1;
if (var_r31 == 4) { } else {
lbl_1_bss_4 = 1; lbl_1_bss_4 = 0;
} else { }
lbl_1_bss_4 = 0; fn_1_B78();
} HuPrcChildCreate(fn_1_888, 100, 8192, 0, lbl_1_bss_180);
fn_1_B78(); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20);
HuPrcChildCreate(fn_1_888, 0x64, 0x2000, 0, lbl_1_bss_180); while(WipeStatGet()) {
WipeCreate(1, 0, 0x14); HuPrcVSleep();
while (WipeStatGet() != 0) HuPrcVSleep(); }
HuDataDirClose(0x6F0000); HuDataDirClose(DATADIR_RESULT);
lbl_1_bss_178 = 0; lbl_1_bss_178 = 0;
HuPrcChildCreate(fn_1_3FD8, 0x64, 0x3000, 0, lbl_1_bss_180); HuPrcChildCreate(fn_1_3FD8, 100, 12288, 0, lbl_1_bss_180);
HuPrcSleep(0xA); HuPrcSleep(10);
if (lbl_1_bss_174 == 0) { if(!lbl_1_bss_174) {
HuPrcSleep(0x14); HuPrcSleep(20);
} }
fn_1_1F4C(); fn_1_1F4C();
fn_1_40DC(); fn_1_40DC();
fn_1_2ADC(); fn_1_2ADC();
var_r29 = HuWinCreate(-10000.0f, 400.0f, 0x140, 0x28, 0); window = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0);
HuWinMesSpeedSet(var_r29 , 0); HuWinMesSpeedSet(window, 0);
HuWinBGTPLvlSet(var_r29 , 0.0f); HuWinBGTPLvlSet(window, 0);
HuWinPriSet(var_r29, 5); HuWinPriSet(window, 5);
HuWinAttrSet(var_r29, 0x800); HuWinAttrSet(window, 0x800);
HuWinMesSet(var_r29, 0x240007); HuWinMesSet(window, 0x240007);
HuPrcSleep(4); HuPrcSleep(4);
i=0;
var_r30 = 0; while(1) {
loopHack: if(!lbl_1_bss_4 || i <= 120) {
if (lbl_1_bss_4 == 0 || var_r30 <= 0x78) { for(player=button=0; player<4; player++) {
for (var_r31 = var_r28 = 0; var_r31 < 4; var_r31++) { if(!GWPlayerCfg[player].iscom) {
if (GWPlayerCfg[var_r31].iscom == 0) { button |= HuPadBtnDown[GWPlayerCfg[player].pad_idx];
var_r28 = var_r28 | HuPadBtnDown[GWPlayerCfg[var_r31].pad_idx]; }
} }
} if(button & PAD_BUTTON_A) {
HuAudFXPlay(28);
if ((var_r28 & 0x100) != 0) { break;
HuAudFXPlay(0x1C); }
} else { HuPrcVSleep();
HuPrcVSleep(); i++;
var_r30++; } else {
goto loopHack; break;
} }
} }
HuWinKill(window);
HuWinKill(var_r29); if(GWTeamGet()) {
if ((s32) GWSystem.team != 0) { fn_1_47FC();
fn_1_47FC(); }
} while(!lbl_1_bss_178) {
while (lbl_1_bss_178 == 0) HuPrcVSleep(); HuPrcVSleep();
HuAudSeqAllFadeOut(0x3E8); }
WipeColorSet(0xFF, 0xFF, 0xFF); HuAudSeqAllFadeOut(1000);
if (GWSystem.save_mode == 3) { WipeColorSet(255, 255, 255);
GWSystem.save_mode = 1; if(GWSaveModeGet() != 1 && SLSaveFlagGet()) {
} WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
var_r27 = GWSystem.save_mode; while(WipeStatGet()) {
HuPrcVSleep();
if (var_r27 != 1 && SLSaveFlagGet() != 0) { }
WipeCreate(2, 0, 0x1E); fn_1_461C();
while (WipeStatGet() != 0) { } else {
HuPrcVSleep(); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
} while(WipeStatGet()) {
fn_1_461C(); HuPrcVSleep();
} else { }
WipeCreate(2, 0, 0x3C); }
while (WipeStatGet() != 0) { omSysPauseEnable(1);
HuPrcVSleep(); omOvlReturnEx(1, 1);
} HuPrcEnd();
} while(1) {
omSysPauseEnable(1); HuPrcVSleep();
omOvlReturnEx(1, 1); }
HuPrcEnd();
while (1) HuPrcVSleep();
} }
void fn_1_888(void) { void fn_1_888(void)
f32 var_f29; {
f32 var_f29;
f32 var_f31; f32 var_f31;
f32 var_f30; f32 var_f30;
@ -346,177 +261,217 @@ void fn_1_888(void) {
} }
} }
s32 lbl_1_data_3A8[6] = { 0x6F0010, 0x6F0011, 0x6F0012, 0x6F0013, 0x6F0014, 0x6F0015 }; s32 lbl_1_data_3A8[] = {
s32 lbl_1_data_3C0[6] = { 0x6F001F, 0x6F001E, 0x6F001D, 0x6F0021, 0x6F0020, 0x6F001F }; 0x006F0010,
s16 lbl_1_data_3D8[16] = { 0x140, 0x84, 0x1F4, 0x84, 0x0140, 0xD9, 0x1F4, 0xD9, 0x140, 0x12E, 0x1F4, 0x12E, 0x140, 0x183, 0x1F4, 0x183 }; 0x006F0011,
s16 lbl_1_data_3F8[8] = { 0x4A, 0x84, 0x4A, 0xD9, 0x4A, 0x12E, 0x4A, 0x183 }; 0x006F0012,
Vec lbl_1_data_408[4] = { { 148.0f, 132.0f, 500.0f }, { 148.0f, 217.0f, 500.0f }, { 148.0f, 302.0f, 500.0f }, { 148.0f, 387.0f, 500.0f } }; 0x006F0013,
s16 lbl_1_data_438[8] = { 0xA4, 0x94, 0xA4, 0xE9, 0xA4, 0x13E, 0xA4, 0x193 }; 0x006F0014,
// extern s8 lbl_1_data_448; 0x006F0015
// extern ? lbl_1_data_450; };
// extern ? lbl_1_data_488;
// extern s8 lbl_1_data_4B8;
// extern s8 lbl_1_data_4C9;
// extern s8 lbl_1_data_4DA;
void fn_1_B78(void) { s32 lbl_1_data_3C0[] = {
Vec sp14; 0x006F001F,
s16 sp8[5]; 0x006F001E,
AnimData* temp_r22; 0x006F001D,
AnimData* temp_r23; 0x006F0021,
AnimData* temp_r24; 0x006F0020,
s16 temp_r25; 0x006F001F
s16 var_r26; };
s16 temp_r27;
AnimData* temp_r28;
s16 temp_r29;
s16 temp_r3;
s16 var_r30;
s16 var_r31;
fn_1_8FF8(&lbl_1_data_0[0]); s16 lbl_1_data_3D8[] = {
lbl_1_data_2A4[0].unk0 = lbl_1_data_3A8[mgInfoTbl[lbl_1_bss_17C].type]; 320, 132,
lbl_1_data_2A4[1].unk0 = lbl_1_data_3C0[mgInfoTbl[lbl_1_bss_17C].type]; 500, 132,
fn_1_927C(&lbl_1_data_2A4[0]); 320, 217,
espDrawNoSet(lbl_1_bss_1A1A[0], 0x7F); 500, 217,
temp_r28 = HuSprAnimReadFile(0x6F001B); 320, 302,
for (var_r31 = 0; var_r31 < 8; var_r31++) { 500, 302,
lbl_1_bss_CE[var_r31] = HuSprGrpCreate(3); 320, 387,
lbl_1_bss_9E[var_r31].x = HuSprCreate(temp_r28, 0, 0); 500, 387,
HuSprGrpMemberSet(lbl_1_bss_CE[var_r31], 0, lbl_1_bss_9E[var_r31].x); };
HuSprPosSet(lbl_1_bss_CE[var_r31], 0, -28.0f, 0.0f);
lbl_1_bss_9E[var_r31].y = HuSprCreate(temp_r28, 0, 0); s16 lbl_1_data_3F8[] = {
HuSprGrpMemberSet(lbl_1_bss_CE[var_r31], 1, lbl_1_bss_9E[var_r31].y); 74, 132,
HuSprPosSet(lbl_1_bss_CE[var_r31], 1, 0.0f, 0.0f); 74, 217,
74, 302,
74, 387
};
lbl_1_bss_9E[var_r31].z = HuSprCreate(temp_r28, 0, 0); Vec lbl_1_data_408[4] = {
HuSprGrpMemberSet(lbl_1_bss_CE[var_r31], 2, lbl_1_bss_9E[var_r31].z); { 148, 132, 500 },
HuSprPosSet(lbl_1_bss_CE[var_r31], 2, 28.0f, 0.0f); { 148, 217, 500 },
HuSprGrpPosSet(lbl_1_bss_CE[var_r31], lbl_1_data_3D8[var_r31 * 2], lbl_1_data_3D8[var_r31 * 2 + 1]); { 148, 302, 500 },
{ 148, 387, 500 }
};
fn_1_3B50(lbl_1_bss_CE[var_r31], 0x3E7); s16 lbl_1_data_438[] = {
} 164, 148,
fn_1_3E08(); 164, 233,
fn_1_423C((s16 (*)[]) &sp8[0]); 164, 318,
temp_r28 = HuSprAnimReadFile(0x6F003A); 164, 403
temp_r23 = HuSprAnimReadFile(0x6F003B); };
temp_r24 = HuSprAnimReadFile(0x6F003C);
temp_r22 = HuSprAnimReadFile(0x6F003E);
for (var_r31 = 0; var_r31 < 4; var_r31++) { void fn_1_3B50(s16 group, s16 value);
lbl_1_bss_3A[var_r31] = HuSprGrpCreate(5); void fn_1_3CAC(s16 group, s16 value);
if (sp8[lbl_1_bss_4A[var_r31]] < 0x64) {
lbl_1_bss_12[var_r31].unk0 = HuSprCreate(temp_r28, 10, 0);
HuSprGrpMemberSet(lbl_1_bss_3A[var_r31], 0, lbl_1_bss_12[var_r31].unk0);
HuSprPosSet(lbl_1_bss_3A[var_r31], 0, 30.0f, -25.0f);
} else {
lbl_1_bss_12[var_r31].unk0 = HuSprCreate(temp_r22, 10, 0);
HuSprGrpMemberSet(lbl_1_bss_3A[var_r31], 0, lbl_1_bss_12[var_r31].unk0);
HuSprPosSet(lbl_1_bss_3A[var_r31], 0, 30.0f, -25.0f);
}
lbl_1_bss_12[var_r31].unk2 = HuSprCreate(temp_r23, 0, 0);
HuSprGrpMemberSet(lbl_1_bss_3A[var_r31], 1, lbl_1_bss_12[var_r31].unk2);
HuSprPosSet(lbl_1_bss_3A[var_r31], 1, 12.0f, -25.0f);
lbl_1_bss_12[var_r31].unk4 = HuSprCreate(temp_r24, 0, 0); void fn_1_3E08(void);
HuSprGrpMemberSet(lbl_1_bss_3A[var_r31], 2, lbl_1_bss_12[var_r31].unk4); void fn_1_423C(s16 *data);
HuSprPosSet(lbl_1_bss_3A[var_r31], 2, 28.0f, -25.0f);
lbl_1_bss_12[var_r31].unk6 = HuSprCreate(temp_r24, 0, 0); void fn_1_B78(void)
HuSprGrpMemberSet(lbl_1_bss_3A[var_r31], 3, lbl_1_bss_12[var_r31].unk6); {
HuSprPosSet(lbl_1_bss_3A[var_r31], 3, 44.0f, -25.0f); Vec pos;
s16 sp8[5];
s16 i;
s16 j;
s16 character;
AnimData *anim;
s16 sprite;
s16 group;
s16 model;
AnimData *anim2;
AnimData *anim3;
AnimData *anim4;
lbl_1_bss_12[var_r31].unk6 = HuSprCreate(temp_r24, 0, 0); fn_1_8FF8(lbl_1_data_0);
HuSprGrpMemberSet(lbl_1_bss_3A[var_r31], 3, lbl_1_bss_12[var_r31].unk6); lbl_1_data_2A4[0].datanum = lbl_1_data_3A8[mgInfoTbl[lbl_1_bss_17C].type];
HuSprPosSet(lbl_1_bss_3A[var_r31], 3, 60.0f, -25.0f); lbl_1_data_2A4[1].datanum = lbl_1_data_3C0[mgInfoTbl[lbl_1_bss_17C].type];
fn_1_927C(lbl_1_data_2A4);
HuSprGrpPosSet(lbl_1_bss_3A[var_r31], lbl_1_data_438[var_r31 * 2], lbl_1_data_438[var_r31 * 2 + 1]); espDrawNoSet(lbl_1_bss_1A1A[0], 127);
fn_1_3CAC(lbl_1_bss_3A[var_r31], 9); anim = HuSprAnimReadFile(0x6F001B);
HuSprGrpScaleSet(lbl_1_bss_3A[var_r31], 0.0f, 0.0f); for(i=0; i<8; i++) {
} lbl_1_bss_CE[i] = HuSprGrpCreate(3);
lbl_1_bss_9E[i][0] = HuSprCreate(anim, 0, 0);
for (var_r31 = 0; var_r31 < 4; var_r31++) { HuSprGrpMemberSet(lbl_1_bss_CE[i], 0, lbl_1_bss_9E[i][0]);
temp_r29 = GWPlayerCfg[var_r31].character; HuSprPosSet(lbl_1_bss_CE[i], 0, -28.0f, 0.0f);
lbl_1_bss_E4[temp_r29][0] = HuSprAnimReadFile(temp_r29 * 3 + 0x6F0022); lbl_1_bss_9E[i][1] = HuSprCreate(anim, 0, 0);
lbl_1_bss_E4[temp_r29][1] = HuSprAnimReadFile(temp_r29 * 3 + 0x6F0023); HuSprGrpMemberSet(lbl_1_bss_CE[i], 1, lbl_1_bss_9E[i][1]);
lbl_1_bss_E4[temp_r29][2] = HuSprAnimReadFile(temp_r29 * 3 + 0x6F0024); HuSprPosSet(lbl_1_bss_CE[i], 1, 0.0f, 0.0f);
for (var_r30 = 0; var_r30 < 4; var_r30++) { lbl_1_bss_9E[i][2] = HuSprCreate(anim, 0, 0);
lbl_1_bss_5C[temp_r29][var_r30] = Hu3DModelCreateFile(var_r30 + 0x6F0000); HuSprGrpMemberSet(lbl_1_bss_CE[i], 2, lbl_1_bss_9E[i][2]);
Hu3DModelScaleSet(lbl_1_bss_5C[temp_r29][var_r30], 1.1f, 1.1f, 1.1f); HuSprPosSet(lbl_1_bss_CE[i], 2, 28.0f, 0.0f);
Hu3DAnimCreate(lbl_1_bss_E4[temp_r29], lbl_1_bss_5C[temp_r29][var_r30], "ys22"); HuSprGrpPosSet(lbl_1_bss_CE[i], lbl_1_data_3D8[(i*2)], lbl_1_data_3D8[(i*2)+1]);
Hu3DModelAttrSet(lbl_1_bss_5C[temp_r29][var_r30], 1); fn_1_3B50(lbl_1_bss_CE[i], 999);
} }
} fn_1_3E08();
fn_1_423C(sp8);
for (var_r31 = 0; var_r31 < 4; var_r31++) { anim = HuSprAnimReadFile(0x6F003A);
lbl_1_bss_144[var_r31] = HuSprAnimReadFile(var_r31 + 0x6F0016); anim3 = HuSprAnimReadFile(0x6F003B);
} anim2 = HuSprAnimReadFile(0x6F003C);
anim4 = HuSprAnimReadFile(0x6F003E);
lbl_1_bss_52 = HuSprGrpCreate(4); for(i=0; i<4; i++) {
for (var_r31 = 0; var_r31 < 4; var_r31++) { lbl_1_bss_3A[i] = HuSprGrpCreate(5);
HuSprGrpMemberSet(lbl_1_bss_52, var_r31, HuSprCreate(lbl_1_bss_144[lbl_1_bss_42[var_r31]], var_r31, 0)); if(sp8[lbl_1_bss_4A[i]] < 100) {
HuSprPosSet(lbl_1_bss_52, var_r31, lbl_1_data_3F8[var_r31 * 2], lbl_1_data_3F8[var_r31 * 2 + 1]); lbl_1_bss_12[i][0] = HuSprCreate(anim, 10, 0);
fn_1_3B50(lbl_1_bss_CE[var_r31 * 2], GWStarsGet(lbl_1_bss_4A[var_r31])); HuSprGrpMemberSet(lbl_1_bss_3A[i], 0, lbl_1_bss_12[i][0]);
fn_1_3B50(lbl_1_bss_CE[var_r31 * 2 + 1], BoardPlayerCoinsGet(lbl_1_bss_4A[var_r31])); HuSprPosSet(lbl_1_bss_3A[i], 0, 30.0f, -25.0f);
temp_r29 = GWPlayerCfg[lbl_1_bss_4A[var_r31]].character; } else {
Hu3D2Dto3D(&lbl_1_data_408[var_r31], 1, &sp14); lbl_1_bss_12[i][0] = HuSprCreate(anim4, 10, 0);
Hu3DModelPosSetV(lbl_1_bss_5C[temp_r29][lbl_1_bss_42[var_r31]], &sp14); HuSprGrpMemberSet(lbl_1_bss_3A[i], 0, lbl_1_bss_12[i][0]);
Hu3DModelAttrReset(lbl_1_bss_5C[temp_r29][lbl_1_bss_42[var_r31]], 1); HuSprPosSet(lbl_1_bss_3A[i], 0, 40.0f, -21.0f);
} }
lbl_1_bss_12[i][1] = HuSprCreate(anim3, 0, 0);
for (var_r31 = 4; var_r31 <= 11; var_r31++) { HuSprGrpMemberSet(lbl_1_bss_3A[i], 1, lbl_1_bss_12[i][1]);
Hu3D2Dto3D(&lbl_1_data_0[var_r31].unk10, 1, &sp14); HuSprPosSet(lbl_1_bss_3A[i], 1, 12.0f, -25.0f);
Hu3DModelPosSetV(lbl_1_bss_1A9C[var_r31], &sp14); lbl_1_bss_12[i][2] = HuSprCreate(anim2, 0, 0);
Hu3D3Dto2D(&sp14, 1, &sp14); HuSprGrpMemberSet(lbl_1_bss_3A[i], 2, lbl_1_bss_12[i][2]);
} HuSprPosSet(lbl_1_bss_3A[i], 2, 28.0f, -25.0f);
lbl_1_bss_12[i][3] = HuSprCreate(anim2, 0, 0);
temp_r25 = Hu3DModelCreateFile(0x6F0004); HuSprGrpMemberSet(lbl_1_bss_3A[i], 3, lbl_1_bss_12[i][3]);
for (var_r31 = 0; var_r31 < 4; var_r31++) { HuSprPosSet(lbl_1_bss_3A[i], 3, 44.0f, -25.0f);
temp_r3 = Hu3DModelLink(temp_r25); lbl_1_bss_12[i][4] = HuSprCreate(anim2, 0, 0);
lbl_1_bss_168[var_r31] = temp_r3; HuSprGrpMemberSet(lbl_1_bss_3A[i], 4, lbl_1_bss_12[i][4]);
sp14 = lbl_1_data_408[var_r31]; HuSprPosSet(lbl_1_bss_3A[i], 4, 60.0f, -25.0f);
sp14.x += 5.0f; HuSprGrpPosSet(lbl_1_bss_3A[i], lbl_1_data_3D8[(i*2)], lbl_1_data_3D8[(i*2)+1]);
sp14.y += 3.0f; fn_1_3CAC(lbl_1_bss_3A[i], 9);
sp14.z += 200.0f; HuSprGrpScaleSet(lbl_1_bss_3A[i], 0.0f, 0.0f);
Hu3D2Dto3D(&sp14, 1, &sp14); }
Hu3DModelPosSetV(temp_r3, &sp14); for(i=0; i<4; i++) {
Hu3DModelScaleSet(temp_r3, 1.5f, 1.5f, 1.5f); character = GWPlayerCfg[i].character;
} lbl_1_bss_E4[character][0] = HuSprAnimReadFile(0x6F0022+(character*3));
lbl_1_bss_E4[character][1] = HuSprAnimReadFile(0x6F0023+(character*3));
Hu3DModelAttrSet(temp_r25, 1); lbl_1_bss_E4[character][2] = HuSprAnimReadFile(0x6F0024+(character*3));
temp_r25 = Hu3DModelCreateFile(0x6F0007); for(j=0; j<4; j++) {
for (var_r31 = 0; var_r31 < 8; var_r31++) { lbl_1_bss_5C[character][j] = Hu3DModelCreateFile(0x6F0000+j);
temp_r3 = Hu3DModelLink(temp_r25); Hu3DModelScaleSet(lbl_1_bss_5C[character][j], 1.1f, 1.1f, 1.1f);
lbl_1_bss_158[var_r31] = temp_r3; Hu3DAnimCreate(lbl_1_bss_E4[character][0], lbl_1_bss_5C[character][j], "ys22");
sp14 = lbl_1_data_0[var_r31 + 4].unk10; Hu3DModelAttrSet(lbl_1_bss_5C[character][j], 1);
sp14.x += 5.0f; }
sp14.y += 3.0f; }
sp14.z += 200.0f; for(i=0; i<4; i++) {
Hu3D2Dto3D(&sp14, 1, &sp14); lbl_1_bss_144[i] = HuSprAnimReadFile(0x6F0016+i);
Hu3DModelPosSetV(temp_r3, &sp14); }
Hu3DModelScaleSet(temp_r3, 1.5f, 1.5f, 1.5f); lbl_1_bss_52 = HuSprGrpCreate(4);
} for(i=0; i<4; i++) {
sprite = HuSprCreate(lbl_1_bss_144[lbl_1_bss_42[i]], i, 0);
Hu3DModelAttrSet(temp_r25, 1); HuSprGrpMemberSet(lbl_1_bss_52, i, sprite);
lbl_1_bss_E0 = HuSprAnimReadFile(0x6F001C); HuSprPosSet(lbl_1_bss_52, i, lbl_1_data_3F8[(i*2)], lbl_1_data_3F8[(i*2)+1]);
lbl_1_bss_9C = HuSprGrpCreate(4); fn_1_3B50(lbl_1_bss_CE[(i*2)], GWStarsGet(lbl_1_bss_4A[i]));
for (var_r31 = 0; var_r31 < 4; var_r31++) { fn_1_3B50(lbl_1_bss_CE[(i*2)+1], BoardPlayerCoinsGet(lbl_1_bss_4A[i]));
HuSprGrpMemberSet(lbl_1_bss_9C, var_r31, HuSprCreate(lbl_1_bss_E0, var_r31, 0)); character = GWPlayerCfg[lbl_1_bss_4A[i]].character;
HuSprScaleSet(lbl_1_bss_9C, var_r31, 0.0f, 0.0f); Hu3D2Dto3D(&lbl_1_data_408[i], 1, &pos);
HuSprPosSet(lbl_1_bss_9C, var_r31, lbl_1_data_408[var_r31].x - 4.0f, lbl_1_data_408[var_r31].y - 35.0f); Hu3DModelPosSetV(lbl_1_bss_5C[character][lbl_1_bss_42[i]], &pos);
HuSprAttrSet(lbl_1_bss_9C, var_r31, 4); Hu3DModelAttrReset(lbl_1_bss_5C[character][lbl_1_bss_42[i]], 1);
} }
lbl_1_bss_170 = var_r26 = HuSprGrpCreate(4); for(i=4; i<=11; i++) {
HuSprGrpMemberSet(var_r26, 0, HuSprCreate(HuSprAnimReadFile(0x6F003F), 0x64, 0)); Hu3D2Dto3D(&lbl_1_data_0[i].pos, 1, &pos);
HuSprAttrSet(var_r26, 0, 4); Hu3DModelPosSetV(lbl_1_bss_1A9C[i], &pos);
HuSprDrawNoSet(var_r26, 0, 0x7F); Hu3D3Dto2D(&pos, 1, &pos);
HuSprGrpMemberSet(var_r26, 1, HuSprCreate(HuSprAnimReadFile(0x6F0040), 0x5A, 0)); }
HuSprAttrSet(var_r26, 1, 4); model = Hu3DModelCreateFile(0x6F0004);
HuSprGrpMemberSet(var_r26, 2, HuSprCreate(HuSprAnimReadFile(0x6F0041), 0x50, 0)); for(i=0; i<4; i++) {
HuSprAttrSet(var_r26, 2, 4); j = Hu3DModelLink(model);
HuSprDrawNoSet(var_r26, 2, 0x7F); lbl_1_bss_168[i] = j;
HuSprGrpMemberSet(var_r26, 3, HuSprCreate(HuSprAnimReadFile(0x6F0042), 0x50, 0)); pos = lbl_1_data_408[i];
HuSprAttrSet(var_r26, 3, 4); pos.x += 5.0f;
HuSprDrawNoSet(var_r26, 3, 0x7F); pos.y += 3.0f;
pos.z += 200.0f;
Hu3D2Dto3D(&pos, 1, &pos);
Hu3DModelPosSetV(j, &pos);
Hu3DModelScaleSet(j, 1.5f, 1.5f, 1.5f);
}
Hu3DModelAttrSet(model, 1);
model = Hu3DModelCreateFile(0x6F0007);
for(i=0; i<8; i++) {
j = Hu3DModelLink(model);
lbl_1_bss_168[i] = j;
pos = lbl_1_data_0[i+4].pos;
pos.x += 5.0f;
pos.y += 3.0f;
pos.z += 200.0f;
Hu3D2Dto3D(&pos, 1, &pos);
Hu3DModelPosSetV(j, &pos);
Hu3DModelScaleSet(j, 1.5f, 1.5f, 1.5f);
}
Hu3DModelAttrSet(model, 1);
lbl_1_bss_E0 = HuSprAnimReadFile(0x6F001C);
lbl_1_bss_9C = HuSprGrpCreate(4);
for(i=0; i<4; i++) {
sprite = HuSprCreate(lbl_1_bss_E0, i, 0);
HuSprGrpMemberSet(lbl_1_bss_9C, i, sprite);
HuSprScaleSet(lbl_1_bss_9C, i, 0.0f, 0.0f);
HuSprPosSet(lbl_1_bss_9C, i, lbl_1_data_408[i].x-4.0f, lbl_1_data_408[i].y-35.0f);
HuSprAttrSet(lbl_1_bss_9C, i, 4);
}
group = HuSprGrpCreate(4);
lbl_1_bss_170 = group;
anim = HuSprAnimReadFile(0x6F003F);
sprite = HuSprCreate(anim, 100, 0);
HuSprGrpMemberSet(group, 0, sprite);
HuSprAttrSet(group, 0, 4);
HuSprDrawNoSet(group, 0, 127);
anim = HuSprAnimReadFile(0x6F0040);
sprite = HuSprCreate(anim, 90, 0);
HuSprGrpMemberSet(group, 1, sprite);
HuSprAttrSet(group, 1, 4);
anim = HuSprAnimReadFile(0x6F0041);
sprite = HuSprCreate(anim, 80, 0);
HuSprGrpMemberSet(group, 2, sprite);
HuSprAttrSet(group, 2, 4);
HuSprDrawNoSet(group, 2, 127);
anim = HuSprAnimReadFile(0x6F0042);
sprite = HuSprCreate(anim, 80, 0);
HuSprGrpMemberSet(group, 3, sprite);
HuSprAttrSet(group, 3, 4);
HuSprDrawNoSet(group, 3, 127);
(void)sprite;
} }