Merge pull request #246 from gamemasterplc/main
Start more work on resultdll
This commit is contained in:
commit
fb9ab589bf
5 changed files with 526 additions and 443 deletions
|
|
@ -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_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_228 = .rodata:0x00000228; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float
|
||||
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_2A4 = .data:0x000002A4; // type:object size:0xDC data:4byte
|
||||
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_17C = .bss:0x0000017C; // type:object size:0x2 data:2byte
|
||||
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_194 = .bss:0x00000194; // type:object size:0x1680
|
||||
lbl_1_bss_1814 = .bss:0x00001814; // type:object size:0x14
|
||||
|
|
|
|||
|
|
@ -1055,7 +1055,7 @@ config.libs = [
|
|||
Object(Matching, "REL/executor.c"),
|
||||
Object(NonMatching, "REL/resultDll/main.c"),
|
||||
Object(NonMatching, "REL/resultDll/battle.c"),
|
||||
Object(NonMatching, "REL/resultDll/datalist.c"),
|
||||
Object(Matching, "REL/resultDll/datalist.c"),
|
||||
}
|
||||
),
|
||||
Rel('safDll',
|
||||
|
|
|
|||
41
include/REL/resultdll.h
Normal file
41
include/REL/resultdll.h
Normal 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
|
||||
86
src/REL/resultDll/datalist.c
Normal file
86
src/REL/resultDll/datalist.c
Normal 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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,311 +1,226 @@
|
|||
// include "REL/resultDll/main.h"
|
||||
#include "dolphin.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/audio.h"
|
||||
#include "game/saveload.h"
|
||||
#include "game/sprite.h"
|
||||
#include "game/data.h"
|
||||
#include "game/window.h"
|
||||
#include "game/flag.h"
|
||||
#include "game/wipe.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/process.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/wipe.h"
|
||||
#include "game/pad.h"
|
||||
// #include "game/frand.h"
|
||||
#include "game/saveload.h"
|
||||
#include "game/gamework.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
|
||||
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;
|
||||
#include "REL/resultdll.h"
|
||||
|
||||
// bss
|
||||
omObjData* lbl_1_bss_184[2];
|
||||
Process* lbl_1_bss_180;
|
||||
DataListModel lbl_1_data_0[] = {
|
||||
{ 0x6F0000, 1, 0, -1, -1, { 148, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } },
|
||||
{ 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;
|
||||
s32 lbl_1_bss_178;
|
||||
s32 lbl_1_bss_174;
|
||||
s16 lbl_1_bss_172;
|
||||
s16 lbl_1_bss_170;
|
||||
s16 lbl_1_bss_168[4];
|
||||
s16 lbl_1_bss_158[8];
|
||||
AnimData* lbl_1_bss_144[5];
|
||||
AnimData* lbl_1_bss_E4[8][3];
|
||||
AnimData* lbl_1_bss_E0;
|
||||
AnimData *lbl_1_bss_144[5];
|
||||
AnimData *lbl_1_bss_E4[8][3];
|
||||
AnimData *lbl_1_bss_E0;
|
||||
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_5C[8][4];
|
||||
// extern ? lbl_1_bss_54;
|
||||
s16 lbl_1_bss_52;
|
||||
s16 lbl_1_bss_4A[4];
|
||||
s16 lbl_1_bss_42[4];
|
||||
s16 lbl_1_bss_3A[4];
|
||||
unkStructBSS12 lbl_1_bss_12[4];
|
||||
// extern ? lbl_1_bss_A;
|
||||
// extern s16 lbl_1_bss_8;
|
||||
s16 lbl_1_bss_12[4][5];
|
||||
s32 lbl_1_bss_4;
|
||||
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_888(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");
|
||||
lbl_1_bss_180 = omInitObjMan(0x32, 0x2000);
|
||||
lbl_1_bss_17C = GWSystem.mg_next;
|
||||
if (mgInfoTbl[lbl_1_bss_17C].ovl == 0x26) {
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
GWPlayerCfg[var_r31].group = GWPlayerCfg[var_r31].group / 2;
|
||||
}
|
||||
}
|
||||
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;
|
||||
CRot.y = 0.0f;
|
||||
CRot.z = 0.0f;
|
||||
Center.x = 0.0f;
|
||||
Center.y = 0.0f;
|
||||
Center.z = 0.0f;
|
||||
CZoom = 500.0f;
|
||||
Hu3DCameraCreate(1);
|
||||
Hu3DCameraPerspectiveSet(1, 20.0f, 20.0f, 15000.0f, 1.2f);
|
||||
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
var_r30 = Hu3DGLightCreate(0.0f, 100.0f, 1000.0f, 0.0f, -0.5f, -1.0f, 0xFF, 0xFF, 0xFF);
|
||||
Hu3DGLightInfinitytSet(var_r30);
|
||||
lbl_1_bss_174 = 0;
|
||||
if (mgInfoTbl[GWSystem.mg_next].type != 4) {
|
||||
HuPrcChildCreate(fn_1_4D8, 0x64, 0x3000, 0, lbl_1_bss_180);
|
||||
} else {
|
||||
HuPrcChildCreate(fn_1_6490, 0x64, 0x3000, 0, lbl_1_bss_180);
|
||||
}
|
||||
lbl_1_bss_184[0] = omAddObjEx(lbl_1_bss_180, 0x7FDA, 0U, 0U, -1, omOutView);
|
||||
HuWinInit(1);
|
||||
lbl_1_bss_172 = frandmod(4);
|
||||
void ModuleProlog(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 light;
|
||||
OSReport("******* RESULT ObjectSetup *********\n");
|
||||
lbl_1_bss_180 = omInitObjMan(50, 8192);
|
||||
lbl_1_bss_17C = GWSystem.mg_next;
|
||||
|
||||
if(mgInfoTbl[lbl_1_bss_17C].ovl == OVL_M430) {
|
||||
for(i=0; i<4; i++) {
|
||||
GWPlayerCfg[i].group = GWPlayerCfg[i].group/2;
|
||||
}
|
||||
}
|
||||
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(0x10000)) {
|
||||
if(_CheckFlag(0x10000)) {
|
||||
HuAR_DVDtoARAM(DATADIR_BOARD);
|
||||
while(HuARDMACheck());
|
||||
}
|
||||
omOvlReturnEx(1, 1);
|
||||
return;
|
||||
}
|
||||
CRot.x = 0.0f;
|
||||
CRot.y = 0.0f;
|
||||
CRot.z = 0.0f;
|
||||
Center.x = 0.0f;
|
||||
Center.y = 0.0f;
|
||||
Center.z = 0.0f;
|
||||
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) {
|
||||
Process* sp8;
|
||||
s32 var_r27;
|
||||
s16 var_r28;
|
||||
s16 var_r29;
|
||||
s16 var_r30;
|
||||
s16 var_r31;
|
||||
|
||||
sp8 = HuPrcCurrentGet();
|
||||
HuAudSeqPlay(0x39);
|
||||
for (var_r30 = var_r31 = 0; var_r30 < 4; var_r30++) {
|
||||
if (GWPlayerCfg[var_r30].iscom != 0) {
|
||||
var_r31++;
|
||||
}
|
||||
}
|
||||
if (var_r31 == 4) {
|
||||
lbl_1_bss_4 = 1;
|
||||
} else {
|
||||
lbl_1_bss_4 = 0;
|
||||
}
|
||||
fn_1_B78();
|
||||
HuPrcChildCreate(fn_1_888, 0x64, 0x2000, 0, lbl_1_bss_180);
|
||||
WipeCreate(1, 0, 0x14);
|
||||
while (WipeStatGet() != 0) HuPrcVSleep();
|
||||
HuDataDirClose(0x6F0000);
|
||||
lbl_1_bss_178 = 0;
|
||||
HuPrcChildCreate(fn_1_3FD8, 0x64, 0x3000, 0, lbl_1_bss_180);
|
||||
HuPrcSleep(0xA);
|
||||
if (lbl_1_bss_174 == 0) {
|
||||
HuPrcSleep(0x14);
|
||||
}
|
||||
fn_1_1F4C();
|
||||
fn_1_40DC();
|
||||
fn_1_2ADC();
|
||||
var_r29 = HuWinCreate(-10000.0f, 400.0f, 0x140, 0x28, 0);
|
||||
HuWinMesSpeedSet(var_r29 , 0);
|
||||
HuWinBGTPLvlSet(var_r29 , 0.0f);
|
||||
HuWinPriSet(var_r29, 5);
|
||||
HuWinAttrSet(var_r29, 0x800);
|
||||
HuWinMesSet(var_r29, 0x240007);
|
||||
HuPrcSleep(4);
|
||||
|
||||
var_r30 = 0;
|
||||
loopHack:
|
||||
if (lbl_1_bss_4 == 0 || var_r30 <= 0x78) {
|
||||
for (var_r31 = var_r28 = 0; var_r31 < 4; var_r31++) {
|
||||
if (GWPlayerCfg[var_r31].iscom == 0) {
|
||||
var_r28 = var_r28 | HuPadBtnDown[GWPlayerCfg[var_r31].pad_idx];
|
||||
}
|
||||
}
|
||||
|
||||
if ((var_r28 & 0x100) != 0) {
|
||||
HuAudFXPlay(0x1C);
|
||||
} else {
|
||||
HuPrcVSleep();
|
||||
var_r30++;
|
||||
goto loopHack;
|
||||
}
|
||||
}
|
||||
|
||||
HuWinKill(var_r29);
|
||||
if ((s32) GWSystem.team != 0) {
|
||||
fn_1_47FC();
|
||||
}
|
||||
while (lbl_1_bss_178 == 0) HuPrcVSleep();
|
||||
HuAudSeqAllFadeOut(0x3E8);
|
||||
WipeColorSet(0xFF, 0xFF, 0xFF);
|
||||
if (GWSystem.save_mode == 3) {
|
||||
GWSystem.save_mode = 1;
|
||||
}
|
||||
var_r27 = GWSystem.save_mode;
|
||||
|
||||
if (var_r27 != 1 && SLSaveFlagGet() != 0) {
|
||||
WipeCreate(2, 0, 0x1E);
|
||||
while (WipeStatGet() != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
fn_1_461C();
|
||||
} else {
|
||||
WipeCreate(2, 0, 0x3C);
|
||||
while (WipeStatGet() != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
omSysPauseEnable(1);
|
||||
omOvlReturnEx(1, 1);
|
||||
HuPrcEnd();
|
||||
while (1) HuPrcVSleep();
|
||||
void fn_1_4D8(void)
|
||||
{
|
||||
s16 player;
|
||||
s16 i;
|
||||
s16 window;
|
||||
s16 button;
|
||||
Process *process_curr = HuPrcCurrentGet();
|
||||
HuAudSeqPlay(57);
|
||||
for(i=player=0; i<4; i++) {
|
||||
if(GWPlayerCfg[i].iscom) {
|
||||
player++;
|
||||
}
|
||||
}
|
||||
if(player == 4) {
|
||||
lbl_1_bss_4 = 1;
|
||||
} else {
|
||||
lbl_1_bss_4 = 0;
|
||||
}
|
||||
fn_1_B78();
|
||||
HuPrcChildCreate(fn_1_888, 100, 8192, 0, lbl_1_bss_180);
|
||||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20);
|
||||
while(WipeStatGet()) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
HuDataDirClose(DATADIR_RESULT);
|
||||
lbl_1_bss_178 = 0;
|
||||
HuPrcChildCreate(fn_1_3FD8, 100, 12288, 0, lbl_1_bss_180);
|
||||
HuPrcSleep(10);
|
||||
if(!lbl_1_bss_174) {
|
||||
HuPrcSleep(20);
|
||||
}
|
||||
fn_1_1F4C();
|
||||
fn_1_40DC();
|
||||
fn_1_2ADC();
|
||||
window = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0);
|
||||
HuWinMesSpeedSet(window, 0);
|
||||
HuWinBGTPLvlSet(window, 0);
|
||||
HuWinPriSet(window, 5);
|
||||
HuWinAttrSet(window, 0x800);
|
||||
HuWinMesSet(window, 0x240007);
|
||||
HuPrcSleep(4);
|
||||
i=0;
|
||||
while(1) {
|
||||
if(!lbl_1_bss_4 || i <= 120) {
|
||||
for(player=button=0; player<4; player++) {
|
||||
if(!GWPlayerCfg[player].iscom) {
|
||||
button |= HuPadBtnDown[GWPlayerCfg[player].pad_idx];
|
||||
}
|
||||
}
|
||||
if(button & PAD_BUTTON_A) {
|
||||
HuAudFXPlay(28);
|
||||
break;
|
||||
}
|
||||
HuPrcVSleep();
|
||||
i++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
HuWinKill(window);
|
||||
if(GWTeamGet()) {
|
||||
fn_1_47FC();
|
||||
}
|
||||
while(!lbl_1_bss_178) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
HuAudSeqAllFadeOut(1000);
|
||||
WipeColorSet(255, 255, 255);
|
||||
if(GWSaveModeGet() != 1 && SLSaveFlagGet()) {
|
||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
|
||||
while(WipeStatGet()) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
fn_1_461C();
|
||||
} else {
|
||||
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
|
||||
while(WipeStatGet()) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
omSysPauseEnable(1);
|
||||
omOvlReturnEx(1, 1);
|
||||
HuPrcEnd();
|
||||
while(1) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_888(void) {
|
||||
f32 var_f29;
|
||||
void fn_1_888(void)
|
||||
{
|
||||
f32 var_f29;
|
||||
f32 var_f31;
|
||||
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_3C0[6] = { 0x6F001F, 0x6F001E, 0x6F001D, 0x6F0021, 0x6F0020, 0x6F001F };
|
||||
s16 lbl_1_data_3D8[16] = { 0x140, 0x84, 0x1F4, 0x84, 0x0140, 0xD9, 0x1F4, 0xD9, 0x140, 0x12E, 0x1F4, 0x12E, 0x140, 0x183, 0x1F4, 0x183 };
|
||||
s16 lbl_1_data_3F8[8] = { 0x4A, 0x84, 0x4A, 0xD9, 0x4A, 0x12E, 0x4A, 0x183 };
|
||||
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 } };
|
||||
s16 lbl_1_data_438[8] = { 0xA4, 0x94, 0xA4, 0xE9, 0xA4, 0x13E, 0xA4, 0x193 };
|
||||
// extern s8 lbl_1_data_448;
|
||||
// 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;
|
||||
s32 lbl_1_data_3A8[] = {
|
||||
0x006F0010,
|
||||
0x006F0011,
|
||||
0x006F0012,
|
||||
0x006F0013,
|
||||
0x006F0014,
|
||||
0x006F0015
|
||||
};
|
||||
|
||||
void fn_1_B78(void) {
|
||||
Vec sp14;
|
||||
s16 sp8[5];
|
||||
AnimData* temp_r22;
|
||||
AnimData* temp_r23;
|
||||
AnimData* temp_r24;
|
||||
s16 temp_r25;
|
||||
s16 var_r26;
|
||||
s16 temp_r27;
|
||||
AnimData* temp_r28;
|
||||
s16 temp_r29;
|
||||
s16 temp_r3;
|
||||
s16 var_r30;
|
||||
s16 var_r31;
|
||||
s32 lbl_1_data_3C0[] = {
|
||||
0x006F001F,
|
||||
0x006F001E,
|
||||
0x006F001D,
|
||||
0x006F0021,
|
||||
0x006F0020,
|
||||
0x006F001F
|
||||
};
|
||||
|
||||
fn_1_8FF8(&lbl_1_data_0[0]);
|
||||
lbl_1_data_2A4[0].unk0 = lbl_1_data_3A8[mgInfoTbl[lbl_1_bss_17C].type];
|
||||
lbl_1_data_2A4[1].unk0 = lbl_1_data_3C0[mgInfoTbl[lbl_1_bss_17C].type];
|
||||
fn_1_927C(&lbl_1_data_2A4[0]);
|
||||
espDrawNoSet(lbl_1_bss_1A1A[0], 0x7F);
|
||||
temp_r28 = HuSprAnimReadFile(0x6F001B);
|
||||
for (var_r31 = 0; var_r31 < 8; var_r31++) {
|
||||
lbl_1_bss_CE[var_r31] = HuSprGrpCreate(3);
|
||||
lbl_1_bss_9E[var_r31].x = HuSprCreate(temp_r28, 0, 0);
|
||||
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);
|
||||
HuSprGrpMemberSet(lbl_1_bss_CE[var_r31], 1, lbl_1_bss_9E[var_r31].y);
|
||||
HuSprPosSet(lbl_1_bss_CE[var_r31], 1, 0.0f, 0.0f);
|
||||
|
||||
lbl_1_bss_9E[var_r31].z = HuSprCreate(temp_r28, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_CE[var_r31], 2, lbl_1_bss_9E[var_r31].z);
|
||||
HuSprPosSet(lbl_1_bss_CE[var_r31], 2, 28.0f, 0.0f);
|
||||
HuSprGrpPosSet(lbl_1_bss_CE[var_r31], lbl_1_data_3D8[var_r31 * 2], lbl_1_data_3D8[var_r31 * 2 + 1]);
|
||||
|
||||
fn_1_3B50(lbl_1_bss_CE[var_r31], 0x3E7);
|
||||
}
|
||||
fn_1_3E08();
|
||||
fn_1_423C((s16 (*)[]) &sp8[0]);
|
||||
temp_r28 = HuSprAnimReadFile(0x6F003A);
|
||||
temp_r23 = HuSprAnimReadFile(0x6F003B);
|
||||
temp_r24 = HuSprAnimReadFile(0x6F003C);
|
||||
temp_r22 = HuSprAnimReadFile(0x6F003E);
|
||||
s16 lbl_1_data_3D8[] = {
|
||||
320, 132,
|
||||
500, 132,
|
||||
320, 217,
|
||||
500, 217,
|
||||
320, 302,
|
||||
500, 302,
|
||||
320, 387,
|
||||
500, 387,
|
||||
};
|
||||
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
lbl_1_bss_3A[var_r31] = HuSprGrpCreate(5);
|
||||
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);
|
||||
HuSprGrpMemberSet(lbl_1_bss_3A[var_r31], 2, lbl_1_bss_12[var_r31].unk4);
|
||||
HuSprPosSet(lbl_1_bss_3A[var_r31], 2, 28.0f, -25.0f);
|
||||
|
||||
lbl_1_bss_12[var_r31].unk6 = HuSprCreate(temp_r24, 0, 0);
|
||||
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);
|
||||
|
||||
lbl_1_bss_12[var_r31].unk6 = HuSprCreate(temp_r24, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_3A[var_r31], 3, lbl_1_bss_12[var_r31].unk6);
|
||||
HuSprPosSet(lbl_1_bss_3A[var_r31], 3, 60.0f, -25.0f);
|
||||
s16 lbl_1_data_3F8[] = {
|
||||
74, 132,
|
||||
74, 217,
|
||||
74, 302,
|
||||
74, 387
|
||||
};
|
||||
|
||||
HuSprGrpPosSet(lbl_1_bss_3A[var_r31], lbl_1_data_438[var_r31 * 2], lbl_1_data_438[var_r31 * 2 + 1]);
|
||||
fn_1_3CAC(lbl_1_bss_3A[var_r31], 9);
|
||||
HuSprGrpScaleSet(lbl_1_bss_3A[var_r31], 0.0f, 0.0f);
|
||||
}
|
||||
Vec lbl_1_data_408[4] = {
|
||||
{ 148, 132, 500 },
|
||||
{ 148, 217, 500 },
|
||||
{ 148, 302, 500 },
|
||||
{ 148, 387, 500 }
|
||||
};
|
||||
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
temp_r29 = GWPlayerCfg[var_r31].character;
|
||||
lbl_1_bss_E4[temp_r29][0] = HuSprAnimReadFile(temp_r29 * 3 + 0x6F0022);
|
||||
lbl_1_bss_E4[temp_r29][1] = HuSprAnimReadFile(temp_r29 * 3 + 0x6F0023);
|
||||
lbl_1_bss_E4[temp_r29][2] = HuSprAnimReadFile(temp_r29 * 3 + 0x6F0024);
|
||||
for (var_r30 = 0; var_r30 < 4; var_r30++) {
|
||||
lbl_1_bss_5C[temp_r29][var_r30] = Hu3DModelCreateFile(var_r30 + 0x6F0000);
|
||||
Hu3DModelScaleSet(lbl_1_bss_5C[temp_r29][var_r30], 1.1f, 1.1f, 1.1f);
|
||||
Hu3DAnimCreate(lbl_1_bss_E4[temp_r29], lbl_1_bss_5C[temp_r29][var_r30], "ys22");
|
||||
Hu3DModelAttrSet(lbl_1_bss_5C[temp_r29][var_r30], 1);
|
||||
}
|
||||
}
|
||||
s16 lbl_1_data_438[] = {
|
||||
164, 148,
|
||||
164, 233,
|
||||
164, 318,
|
||||
164, 403
|
||||
};
|
||||
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
lbl_1_bss_144[var_r31] = HuSprAnimReadFile(var_r31 + 0x6F0016);
|
||||
}
|
||||
void fn_1_3B50(s16 group, s16 value);
|
||||
void fn_1_3CAC(s16 group, s16 value);
|
||||
|
||||
lbl_1_bss_52 = HuSprGrpCreate(4);
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
HuSprGrpMemberSet(lbl_1_bss_52, var_r31, HuSprCreate(lbl_1_bss_144[lbl_1_bss_42[var_r31]], var_r31, 0));
|
||||
HuSprPosSet(lbl_1_bss_52, var_r31, lbl_1_data_3F8[var_r31 * 2], lbl_1_data_3F8[var_r31 * 2 + 1]);
|
||||
fn_1_3B50(lbl_1_bss_CE[var_r31 * 2], GWStarsGet(lbl_1_bss_4A[var_r31]));
|
||||
fn_1_3B50(lbl_1_bss_CE[var_r31 * 2 + 1], BoardPlayerCoinsGet(lbl_1_bss_4A[var_r31]));
|
||||
temp_r29 = GWPlayerCfg[lbl_1_bss_4A[var_r31]].character;
|
||||
Hu3D2Dto3D(&lbl_1_data_408[var_r31], 1, &sp14);
|
||||
Hu3DModelPosSetV(lbl_1_bss_5C[temp_r29][lbl_1_bss_42[var_r31]], &sp14);
|
||||
Hu3DModelAttrReset(lbl_1_bss_5C[temp_r29][lbl_1_bss_42[var_r31]], 1);
|
||||
}
|
||||
void fn_1_3E08(void);
|
||||
void fn_1_423C(s16 *data);
|
||||
|
||||
for (var_r31 = 4; var_r31 <= 11; var_r31++) {
|
||||
Hu3D2Dto3D(&lbl_1_data_0[var_r31].unk10, 1, &sp14);
|
||||
Hu3DModelPosSetV(lbl_1_bss_1A9C[var_r31], &sp14);
|
||||
Hu3D3Dto2D(&sp14, 1, &sp14);
|
||||
}
|
||||
|
||||
temp_r25 = Hu3DModelCreateFile(0x6F0004);
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
temp_r3 = Hu3DModelLink(temp_r25);
|
||||
lbl_1_bss_168[var_r31] = temp_r3;
|
||||
sp14 = lbl_1_data_408[var_r31];
|
||||
sp14.x += 5.0f;
|
||||
sp14.y += 3.0f;
|
||||
sp14.z += 200.0f;
|
||||
Hu3D2Dto3D(&sp14, 1, &sp14);
|
||||
Hu3DModelPosSetV(temp_r3, &sp14);
|
||||
Hu3DModelScaleSet(temp_r3, 1.5f, 1.5f, 1.5f);
|
||||
}
|
||||
|
||||
Hu3DModelAttrSet(temp_r25, 1);
|
||||
temp_r25 = Hu3DModelCreateFile(0x6F0007);
|
||||
for (var_r31 = 0; var_r31 < 8; var_r31++) {
|
||||
temp_r3 = Hu3DModelLink(temp_r25);
|
||||
lbl_1_bss_158[var_r31] = temp_r3;
|
||||
sp14 = lbl_1_data_0[var_r31 + 4].unk10;
|
||||
sp14.x += 5.0f;
|
||||
sp14.y += 3.0f;
|
||||
sp14.z += 200.0f;
|
||||
Hu3D2Dto3D(&sp14, 1, &sp14);
|
||||
Hu3DModelPosSetV(temp_r3, &sp14);
|
||||
Hu3DModelScaleSet(temp_r3, 1.5f, 1.5f, 1.5f);
|
||||
}
|
||||
|
||||
Hu3DModelAttrSet(temp_r25, 1);
|
||||
lbl_1_bss_E0 = HuSprAnimReadFile(0x6F001C);
|
||||
lbl_1_bss_9C = HuSprGrpCreate(4);
|
||||
for (var_r31 = 0; var_r31 < 4; var_r31++) {
|
||||
HuSprGrpMemberSet(lbl_1_bss_9C, var_r31, HuSprCreate(lbl_1_bss_E0, var_r31, 0));
|
||||
HuSprScaleSet(lbl_1_bss_9C, var_r31, 0.0f, 0.0f);
|
||||
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);
|
||||
HuSprAttrSet(lbl_1_bss_9C, var_r31, 4);
|
||||
}
|
||||
lbl_1_bss_170 = var_r26 = HuSprGrpCreate(4);
|
||||
HuSprGrpMemberSet(var_r26, 0, HuSprCreate(HuSprAnimReadFile(0x6F003F), 0x64, 0));
|
||||
HuSprAttrSet(var_r26, 0, 4);
|
||||
HuSprDrawNoSet(var_r26, 0, 0x7F);
|
||||
HuSprGrpMemberSet(var_r26, 1, HuSprCreate(HuSprAnimReadFile(0x6F0040), 0x5A, 0));
|
||||
HuSprAttrSet(var_r26, 1, 4);
|
||||
HuSprGrpMemberSet(var_r26, 2, HuSprCreate(HuSprAnimReadFile(0x6F0041), 0x50, 0));
|
||||
HuSprAttrSet(var_r26, 2, 4);
|
||||
HuSprDrawNoSet(var_r26, 2, 0x7F);
|
||||
HuSprGrpMemberSet(var_r26, 3, HuSprCreate(HuSprAnimReadFile(0x6F0042), 0x50, 0));
|
||||
HuSprAttrSet(var_r26, 3, 4);
|
||||
HuSprDrawNoSet(var_r26, 3, 0x7F);
|
||||
}
|
||||
void fn_1_B78(void)
|
||||
{
|
||||
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;
|
||||
|
||||
fn_1_8FF8(lbl_1_data_0);
|
||||
lbl_1_data_2A4[0].datanum = lbl_1_data_3A8[mgInfoTbl[lbl_1_bss_17C].type];
|
||||
lbl_1_data_2A4[1].datanum = lbl_1_data_3C0[mgInfoTbl[lbl_1_bss_17C].type];
|
||||
fn_1_927C(lbl_1_data_2A4);
|
||||
espDrawNoSet(lbl_1_bss_1A1A[0], 127);
|
||||
anim = HuSprAnimReadFile(0x6F001B);
|
||||
for(i=0; i<8; i++) {
|
||||
lbl_1_bss_CE[i] = HuSprGrpCreate(3);
|
||||
lbl_1_bss_9E[i][0] = HuSprCreate(anim, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_CE[i], 0, lbl_1_bss_9E[i][0]);
|
||||
HuSprPosSet(lbl_1_bss_CE[i], 0, -28.0f, 0.0f);
|
||||
lbl_1_bss_9E[i][1] = HuSprCreate(anim, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_CE[i], 1, lbl_1_bss_9E[i][1]);
|
||||
HuSprPosSet(lbl_1_bss_CE[i], 1, 0.0f, 0.0f);
|
||||
lbl_1_bss_9E[i][2] = HuSprCreate(anim, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_CE[i], 2, lbl_1_bss_9E[i][2]);
|
||||
HuSprPosSet(lbl_1_bss_CE[i], 2, 28.0f, 0.0f);
|
||||
HuSprGrpPosSet(lbl_1_bss_CE[i], lbl_1_data_3D8[(i*2)], lbl_1_data_3D8[(i*2)+1]);
|
||||
fn_1_3B50(lbl_1_bss_CE[i], 999);
|
||||
}
|
||||
fn_1_3E08();
|
||||
fn_1_423C(sp8);
|
||||
anim = HuSprAnimReadFile(0x6F003A);
|
||||
anim3 = HuSprAnimReadFile(0x6F003B);
|
||||
anim2 = HuSprAnimReadFile(0x6F003C);
|
||||
anim4 = HuSprAnimReadFile(0x6F003E);
|
||||
for(i=0; i<4; i++) {
|
||||
lbl_1_bss_3A[i] = HuSprGrpCreate(5);
|
||||
if(sp8[lbl_1_bss_4A[i]] < 100) {
|
||||
lbl_1_bss_12[i][0] = HuSprCreate(anim, 10, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_3A[i], 0, lbl_1_bss_12[i][0]);
|
||||
HuSprPosSet(lbl_1_bss_3A[i], 0, 30.0f, -25.0f);
|
||||
} else {
|
||||
lbl_1_bss_12[i][0] = HuSprCreate(anim4, 10, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_3A[i], 0, lbl_1_bss_12[i][0]);
|
||||
HuSprPosSet(lbl_1_bss_3A[i], 0, 40.0f, -21.0f);
|
||||
}
|
||||
lbl_1_bss_12[i][1] = HuSprCreate(anim3, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_3A[i], 1, lbl_1_bss_12[i][1]);
|
||||
HuSprPosSet(lbl_1_bss_3A[i], 1, 12.0f, -25.0f);
|
||||
lbl_1_bss_12[i][2] = HuSprCreate(anim2, 0, 0);
|
||||
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);
|
||||
HuSprGrpMemberSet(lbl_1_bss_3A[i], 3, lbl_1_bss_12[i][3]);
|
||||
HuSprPosSet(lbl_1_bss_3A[i], 3, 44.0f, -25.0f);
|
||||
lbl_1_bss_12[i][4] = HuSprCreate(anim2, 0, 0);
|
||||
HuSprGrpMemberSet(lbl_1_bss_3A[i], 4, lbl_1_bss_12[i][4]);
|
||||
HuSprPosSet(lbl_1_bss_3A[i], 4, 60.0f, -25.0f);
|
||||
HuSprGrpPosSet(lbl_1_bss_3A[i], lbl_1_data_3D8[(i*2)], lbl_1_data_3D8[(i*2)+1]);
|
||||
fn_1_3CAC(lbl_1_bss_3A[i], 9);
|
||||
HuSprGrpScaleSet(lbl_1_bss_3A[i], 0.0f, 0.0f);
|
||||
}
|
||||
for(i=0; i<4; i++) {
|
||||
character = GWPlayerCfg[i].character;
|
||||
lbl_1_bss_E4[character][0] = HuSprAnimReadFile(0x6F0022+(character*3));
|
||||
lbl_1_bss_E4[character][1] = HuSprAnimReadFile(0x6F0023+(character*3));
|
||||
lbl_1_bss_E4[character][2] = HuSprAnimReadFile(0x6F0024+(character*3));
|
||||
for(j=0; j<4; j++) {
|
||||
lbl_1_bss_5C[character][j] = Hu3DModelCreateFile(0x6F0000+j);
|
||||
Hu3DModelScaleSet(lbl_1_bss_5C[character][j], 1.1f, 1.1f, 1.1f);
|
||||
Hu3DAnimCreate(lbl_1_bss_E4[character][0], lbl_1_bss_5C[character][j], "ys22");
|
||||
Hu3DModelAttrSet(lbl_1_bss_5C[character][j], 1);
|
||||
}
|
||||
}
|
||||
for(i=0; i<4; i++) {
|
||||
lbl_1_bss_144[i] = HuSprAnimReadFile(0x6F0016+i);
|
||||
}
|
||||
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);
|
||||
HuSprGrpMemberSet(lbl_1_bss_52, i, sprite);
|
||||
HuSprPosSet(lbl_1_bss_52, i, lbl_1_data_3F8[(i*2)], lbl_1_data_3F8[(i*2)+1]);
|
||||
fn_1_3B50(lbl_1_bss_CE[(i*2)], GWStarsGet(lbl_1_bss_4A[i]));
|
||||
fn_1_3B50(lbl_1_bss_CE[(i*2)+1], BoardPlayerCoinsGet(lbl_1_bss_4A[i]));
|
||||
character = GWPlayerCfg[lbl_1_bss_4A[i]].character;
|
||||
Hu3D2Dto3D(&lbl_1_data_408[i], 1, &pos);
|
||||
Hu3DModelPosSetV(lbl_1_bss_5C[character][lbl_1_bss_42[i]], &pos);
|
||||
Hu3DModelAttrReset(lbl_1_bss_5C[character][lbl_1_bss_42[i]], 1);
|
||||
}
|
||||
for(i=4; i<=11; i++) {
|
||||
Hu3D2Dto3D(&lbl_1_data_0[i].pos, 1, &pos);
|
||||
Hu3DModelPosSetV(lbl_1_bss_1A9C[i], &pos);
|
||||
Hu3D3Dto2D(&pos, 1, &pos);
|
||||
}
|
||||
model = Hu3DModelCreateFile(0x6F0004);
|
||||
for(i=0; i<4; i++) {
|
||||
j = Hu3DModelLink(model);
|
||||
lbl_1_bss_168[i] = j;
|
||||
pos = lbl_1_data_408[i];
|
||||
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);
|
||||
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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue