commit
70540b84bd
4 changed files with 309 additions and 326 deletions
|
|
@ -161,67 +161,67 @@ lbl_1_rodata_C2 = .rodata:0x000000C2; // type:object size:0x6 scope:local data:b
|
|||
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:0x8 scope:local 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_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double
|
||||
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_124 = .rodata:0x00000124; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x20 data:4byte
|
||||
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:4byte
|
||||
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: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:0x10 data:4byte
|
||||
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: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:0x8 data:double
|
||||
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_200 = .rodata:0x00000200; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 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_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double
|
||||
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_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x20 scope:local data:4byte
|
||||
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:4byte
|
||||
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: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:0x10 scope:local data:4byte
|
||||
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: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:0x8 scope:local data:double
|
||||
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_200 = .rodata:0x00000200; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 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
|
||||
|
|
@ -355,11 +355,11 @@ lbl_1_data_312 = .data:0x00000312; // type:object size:0x2 data:2byte
|
|||
lbl_1_data_314 = .data:0x00000314; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_316 = .data:0x00000316; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_318 = .data:0x00000318; // type:object size:0x18
|
||||
lbl_1_data_330 = .data:0x00000330; // type:object size:0xD data:string
|
||||
lbl_1_data_33D = .data:0x0000033D; // type:object size:0x6 data:string
|
||||
lbl_1_data_343 = .data:0x00000343; // type:object size:0x9
|
||||
lbl_1_data_330 = .data:0x00000330; // type:object size:0xD scope:local data:string
|
||||
lbl_1_data_33D = .data:0x0000033D; // type:object size:0x6 scope:local data:string
|
||||
lbl_1_data_343 = .data:0x00000343; // type:object size:0x9 scope:local
|
||||
lbl_1_data_34C = .data:0x0000034C; // type:object size:0x8
|
||||
lbl_1_data_354 = .data:0x00000354; // type:object size:0x8
|
||||
lbl_1_data_354 = .data:0x00000354; // type:object size:0x8 scope:local
|
||||
lbl_1_data_35C = .data:0x0000035C; // type:object size:0xC
|
||||
lbl_1_data_368 = .data:0x00000368; // type:object size:0x20
|
||||
lbl_1_data_388 = .data:0x00000388; // type:object size:0x2 data:2byte
|
||||
|
|
|
|||
|
|
@ -1106,7 +1106,7 @@ config.libs = [
|
|||
Object(Matching, "REL/board_executor.c"),
|
||||
Object(Matching, "REL/w03Dll/main.c"),
|
||||
Object(Matching, "REL/w03Dll/statue.c"),
|
||||
Object(NonMatching, "REL/w03Dll/condor.c"),
|
||||
Object(Matching, "REL/w03Dll/condor.c"),
|
||||
Object(Matching, "REL/w03Dll/river.c"),
|
||||
Object(Matching, "REL/w03Dll/smoke.c"),
|
||||
Object(Matching, "REL/w03Dll/mg_coin.c"),
|
||||
|
|
|
|||
|
|
@ -26,4 +26,7 @@ typedef struct w03State {
|
|||
u16 unk4;
|
||||
u16 unk6;
|
||||
s16 unk8;
|
||||
} w03State;
|
||||
} w03State;
|
||||
|
||||
extern w03State* lbl_1_bss_0;
|
||||
extern s16 lbl_1_bss_C[14];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,16 @@
|
|||
#include "REL/w03Dll.h"
|
||||
#include "game/data.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/space.h"
|
||||
#include "game/board/player.h"
|
||||
#include "game/board/model.h"
|
||||
#include "game/board/window.h"
|
||||
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfdraw.h"
|
||||
|
||||
#include "game/pad.h"
|
||||
#include "game/wipe.h"
|
||||
|
||||
//file is full of old names and old signatures...needs updating
|
||||
//is also missing half the functions in this TU
|
||||
|
|
@ -8,83 +18,57 @@
|
|||
void fn_1_313C(void);
|
||||
void fn_1_3218(void);
|
||||
void fn_1_3304(void);
|
||||
extern Process* lbl_1_bss_70;
|
||||
extern s8 lbl_1_bss_7C;
|
||||
extern s16 lbl_1_data_310;
|
||||
extern char* lbl_1_data_34C[];
|
||||
|
||||
float lbl_1_bss_80[20][2];
|
||||
s8 lbl_1_bss_7D;
|
||||
s8 lbl_1_bss_7C;
|
||||
omObjData *lbl_1_bss_78;
|
||||
omObjData *lbl_1_bss_74;
|
||||
Process* lbl_1_bss_70;
|
||||
|
||||
|
||||
// #define MAKE_DATA_NUM(dir, file) (((dir) << 16)+(file))
|
||||
// #define MAKE_DIR_NUM(dir) ((dir) << 16)
|
||||
|
||||
// #define DATA_NUM_LISTEND -1
|
||||
|
||||
s16 lbl_1_data_310 = -1;
|
||||
s16 lbl_1_data_312 = -1;
|
||||
s16 lbl_1_data_314 = -1;
|
||||
s16 lbl_1_data_316 = -1;
|
||||
s32 lbl_1_data_318[] = {
|
||||
DATA_MAKE_NUM(0x0077, 0x0016),
|
||||
DATA_MAKE_NUM(0x0077, 0x0017),
|
||||
DATA_MAKE_NUM(0x0077, 0x0018),
|
||||
DATA_MAKE_NUM(0x0077, 0x0019),
|
||||
DATA_MAKE_NUM(0x0077, 0x001A),
|
||||
DATA_MAKE_NUM(DATADIR_W03, 0x0016),
|
||||
DATA_MAKE_NUM(DATADIR_W03, 0x0017),
|
||||
DATA_MAKE_NUM(DATADIR_W03, 0x0018),
|
||||
DATA_MAKE_NUM(DATADIR_W03, 0x0019),
|
||||
DATA_MAKE_NUM(DATADIR_W03, 0x001A),
|
||||
DATA_NUM_LISTEND
|
||||
};
|
||||
|
||||
void fn_1_3058(void) {
|
||||
lbl_1_data_310 = fn_8006D9A4(0x770015, &lbl_1_data_318, 0);
|
||||
lbl_1_data_310 = BoardModelCreate(0x770015, lbl_1_data_318, 0);
|
||||
fn_1_3304();
|
||||
}
|
||||
|
||||
s32 fn_1_309C(void) {
|
||||
fn_800688E8(0);
|
||||
lbl_1_bss_70 = HuPrcChildCreate(fn_1_313C, 0x2003U, 0x2000U, 0, lbl_801D3ED0);
|
||||
BoardDiceDigit2DShowSet(0);
|
||||
lbl_1_bss_70 = HuPrcChildCreate(fn_1_313C, 0x2003U, 0x2000U, 0, boardMainProc);
|
||||
HuPrcDestructorSet2(lbl_1_bss_70, fn_1_3218);
|
||||
|
||||
while (lbl_1_bss_70) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
fn_800688E8(1);
|
||||
BoardDiceDigit2DShowSet(1);
|
||||
return lbl_1_bss_7C;
|
||||
}
|
||||
|
||||
s32 fn_800747C4(s32, s32, s32); /* extern */
|
||||
extern s16 lbl_1_data_310;
|
||||
extern f64 lbl_1_rodata_100;
|
||||
extern f32 lbl_1_rodata_108;
|
||||
extern f32 lbl_1_rodata_E8;
|
||||
extern f64 lbl_1_rodata_F0;
|
||||
extern f64 lbl_1_rodata_F8;
|
||||
|
||||
void fn_1_3304(void) {
|
||||
Point3d sp8;
|
||||
f32 temp_f31;
|
||||
s32 var_r31;
|
||||
|
||||
|
||||
if (lbl_1_bss_0->unk1 != 0) {
|
||||
var_r31 = fn_800745F0(0, 0x4000);
|
||||
} else {
|
||||
var_r31 = fn_800745F0(0, 0x8000);
|
||||
}
|
||||
var_r31 = fn_800747C4(0, var_r31, 0x02000000);
|
||||
fn_80074210(0, var_r31, &sp8);
|
||||
temp_f31 = lbl_1_rodata_E8;
|
||||
sp8.x = sp8.x + (lbl_1_rodata_F0 * sin((lbl_1_rodata_F8 * temp_f31) / lbl_1_rodata_100));
|
||||
sp8.z = sp8.z + (lbl_1_rodata_F0 * cos((lbl_1_rodata_F8 * temp_f31) / lbl_1_rodata_100));
|
||||
sp8.y = 45.0f + sp8.y;
|
||||
fn_8006F158(lbl_1_data_310, &sp8);
|
||||
fn_8006E2B8(lbl_1_data_310, 2, 0x40000001);
|
||||
}
|
||||
|
||||
s32 fn_1_3478(s32);
|
||||
void fn_1_3814(s32);
|
||||
void fn_1_3968(s32);
|
||||
void fn_1_3E88(s32);
|
||||
void fn_1_3F5C(s32);
|
||||
void fn_8005DAC4(f32, f32);
|
||||
extern s8 lbl_1_bss_7C;
|
||||
extern f32 lbl_1_rodata_D8;
|
||||
extern f32 lbl_1_rodata_DC;
|
||||
extern f32 lbl_1_rodata_E0;
|
||||
extern f32 lbl_1_rodata_E4;
|
||||
|
||||
void fn_1_313C(void) {
|
||||
s32 temp_r31;
|
||||
|
|
@ -93,22 +77,18 @@ void fn_1_313C(void) {
|
|||
lbl_1_bss_7C = 0;
|
||||
lbl_1_bss_0->unk3 = 1;
|
||||
if (fn_1_3478(temp_r31) != 0) {
|
||||
fn_8005DAC4(lbl_1_rodata_D8, lbl_1_rodata_DC);
|
||||
fn_800884F4(0);
|
||||
BoardCameraNearFarSet(500.0f, 20000.0f);
|
||||
BoardStatusShowSetAll(0);
|
||||
fn_1_3968(temp_r31);
|
||||
fn_1_3E88(temp_r31);
|
||||
fn_1_3F5C(temp_r31);
|
||||
lbl_1_bss_7C = 1;
|
||||
}
|
||||
fn_8005DAC4(lbl_1_rodata_E0, lbl_1_rodata_E4);
|
||||
BoardCameraNearFarSet(100.0f, 13000.0f);
|
||||
fn_1_3814(temp_r31);
|
||||
HuPrcEnd();
|
||||
}
|
||||
|
||||
extern s32 lbl_1_bss_70;
|
||||
extern s16 lbl_1_data_312;
|
||||
extern s16 lbl_1_data_314;
|
||||
extern s16 lbl_1_data_316;
|
||||
|
||||
void fn_1_3218(void) {
|
||||
if (lbl_1_data_316 != -1) {
|
||||
|
|
@ -116,48 +96,52 @@ void fn_1_3218(void) {
|
|||
lbl_1_data_316 = -1;
|
||||
}
|
||||
if (lbl_1_data_314 != -1) {
|
||||
fn_8006DB90(lbl_1_data_314);
|
||||
BoardModelKill(lbl_1_data_314);
|
||||
lbl_1_data_314 = -1;
|
||||
}
|
||||
if (lbl_1_data_312 != -1) {
|
||||
fn_800637CC(GWSystem.player_curr, lbl_1_data_312);
|
||||
BoardPlayerMotionKill(GWSystem.player_curr, lbl_1_data_312);
|
||||
lbl_1_data_312 = -1;
|
||||
}
|
||||
lbl_1_bss_0->unk3 = 0;
|
||||
lbl_1_bss_70 = 0;
|
||||
}
|
||||
|
||||
s32 BoardWinChoiceGet(void);
|
||||
|
||||
void fn_1_3304(void) {
|
||||
Vec sp8;
|
||||
f32 temp_f31;
|
||||
s32 var_r31;
|
||||
|
||||
|
||||
if (lbl_1_bss_0->unk1 != 0) {
|
||||
var_r31 = BoardSpaceFlagSearch(0, 0x4000);
|
||||
} else {
|
||||
var_r31 = BoardSpaceFlagSearch(0, 0x8000);
|
||||
}
|
||||
var_r31 = BoardSpaceLinkFlagSearch(0, var_r31, 0x02000000);
|
||||
BoardSpacePosGet(0, var_r31, &sp8);
|
||||
temp_f31 = 0.0f;
|
||||
sp8.x = sp8.x + (-300.0 * sin((M_PI * temp_f31) / 180.0));
|
||||
sp8.z = sp8.z + (-300.0 * cos((M_PI * temp_f31) / 180.0));
|
||||
sp8.y = 45.0f + sp8.y;
|
||||
BoardModelPosSetV(lbl_1_data_310, &sp8);
|
||||
BoardModelMotionStart(lbl_1_data_310, 2, 0x40000001);
|
||||
}
|
||||
|
||||
void fn_1_4354(s32);
|
||||
s32 fn_80061FDC(s32);
|
||||
s32 fn_80063EC0(s32);
|
||||
void fn_80063EEC(s32, s32);
|
||||
void fn_8006E47C(s16, s32, f32, f32, s32);
|
||||
s32 fn_8006E91C(s16);
|
||||
void fn_80070390(s32, s32, s32, s32);
|
||||
void fn_80070770(s32);
|
||||
void fn_80072DA8(s32);
|
||||
s32 fn_800747C4(s32, s16, s32);
|
||||
extern s16 lbl_1_data_310;
|
||||
extern f64 lbl_1_rodata_100;
|
||||
extern f32 lbl_1_rodata_10C;
|
||||
extern f32 lbl_1_rodata_110;
|
||||
extern f32 lbl_1_rodata_114;
|
||||
extern f32 lbl_1_rodata_118;
|
||||
extern f32 lbl_1_rodata_11C;
|
||||
extern f32 lbl_1_rodata_E8;
|
||||
extern f64 lbl_1_rodata_F8;
|
||||
|
||||
|
||||
s32 fn_1_3478(s32 arg0) {
|
||||
Point3d sp38;
|
||||
Point3d sp2C;
|
||||
Point3d sp20;
|
||||
Vec sp38;
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
f32 sp1C;
|
||||
f32 sp18;
|
||||
Point3d sp14;
|
||||
Point3d sp8;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
|
||||
s16 temp_r28;
|
||||
s32 temp_r28;
|
||||
s32 temp_r3;
|
||||
s32 var_r29;
|
||||
s32 var_r30;
|
||||
|
|
@ -174,34 +158,34 @@ s32 fn_1_3478(s32 arg0) {
|
|||
sp8.y = 0.0f;
|
||||
sp8.z = 0.0f;
|
||||
|
||||
fn_8005DB6C(lbl_1_data_310, &sp8, &sp14, lbl_1_rodata_114, lbl_1_rodata_118, 0x15);
|
||||
BoardCameraMotionStartEx(lbl_1_data_310, &sp8, &sp14, 1900.0f, -1.0f, 0x15);
|
||||
temp_r28 = GWPlayer[arg0].space_curr;
|
||||
fn_8006310C(arg0, &sp2C);
|
||||
temp = fn_800747C4(0, temp_r28, 0x02000000);
|
||||
fn_80074210(0, temp, &sp38);
|
||||
BoardPlayerPosGet(arg0, &sp2C);
|
||||
temp = BoardSpaceLinkFlagSearch(0, temp_r28, 0x02000000);
|
||||
BoardSpacePosGet(0, temp, &sp38);
|
||||
PSVECSubtract(&sp38, &sp2C, &sp20);
|
||||
float_temp = atan2(sp20.x, sp20.z) / 3.141592653589793f * 180.0f;
|
||||
fn_80067C90(arg0, (float_temp), 0xF);
|
||||
float_temp = atan2(sp20.x, sp20.z) / M_PI * 180.0f;
|
||||
BoardPlayerMotBlendSet(arg0, (float_temp), 0xF);
|
||||
|
||||
while (fn_8006874C(arg0) == 0) {
|
||||
while (BoardPlayerMotBlendCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
fn_80067B98(arg0);
|
||||
BoardPlayerIdleSet(arg0);
|
||||
HuAudFXPlay(0x447);
|
||||
fn_8006E47C(lbl_1_data_310, 4, 0.0f, 5.0f, 0);
|
||||
BoardModelMotionShiftSet(lbl_1_data_310, 4, 0.0f, 5.0f, 0);
|
||||
HuPrcSleep(6);
|
||||
|
||||
while (fn_8006E91C(lbl_1_data_310) == 0) {
|
||||
while (BoardModelMotionEndCheck(lbl_1_data_310) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
fn_8006E47C(lbl_1_data_310, 1, 0.0f, 5.0f, 0x40000001);
|
||||
temp_r26 = fn_80061FDC(arg0);
|
||||
BoardModelMotionShiftSet(lbl_1_data_310, 1, 0.0f, 5.0f, 0x40000001);
|
||||
temp_r26 = BoardPlayerGetCharMess(arg0);
|
||||
BoardWinCreate(2, 0x160010, 8);
|
||||
fn_800706D0(temp_r26, 3);
|
||||
BoardWinInsertMesSet(temp_r26, 3);
|
||||
BoardWinWait();
|
||||
if (fn_80063EC0(arg0) < 5) {
|
||||
if (BoardPlayerCoinsGet(arg0) < 5) {
|
||||
BoardWinCreate(2, 0x160013, 8);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
|
|
@ -210,8 +194,8 @@ s32 fn_1_3478(s32 arg0) {
|
|||
var_r29 = 0;
|
||||
goto test;
|
||||
while (1) {
|
||||
fn_80070390(2, 0x160011, 8, 0);
|
||||
fn_80070770(0x10);
|
||||
BoardWinCreateChoice(2, 0x160011, 8, 0);
|
||||
BoardWinAttrSet(0x10);
|
||||
|
||||
if (GWPlayer[arg0].com != 0) {
|
||||
fn_1_4354(arg0);
|
||||
|
|
@ -224,7 +208,7 @@ s32 fn_1_3478(s32 arg0) {
|
|||
var_r29 = 1;
|
||||
break;
|
||||
case 2:
|
||||
fn_80072DA8(arg0);
|
||||
BoardViewMapExec(arg0);
|
||||
break;
|
||||
default:
|
||||
case 1:
|
||||
|
|
@ -235,9 +219,9 @@ s32 fn_1_3478(s32 arg0) {
|
|||
}
|
||||
test:
|
||||
if (var_r29 != 0) {
|
||||
fn_80071034(0, 1, 1000);
|
||||
BoardAudSeqPause(0, 1, 1000);
|
||||
for (j = 0; j < 5; j++) {
|
||||
fn_80063EEC(arg0, -1);
|
||||
BoardPlayerCoinsAdd(arg0, -1);
|
||||
HuAudFXPlay(14);
|
||||
HuPrcSleep(6);
|
||||
}
|
||||
|
|
@ -249,44 +233,42 @@ s32 fn_1_3478(s32 arg0) {
|
|||
}
|
||||
|
||||
extern s8 lbl_1_bss_7C;
|
||||
extern f32 lbl_1_rodata_120;
|
||||
extern f32 lbl_1_rodata_124;
|
||||
|
||||
void fn_1_3814(s32 arg0) {
|
||||
Point3d sp14;
|
||||
Point3d sp8;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
f32 temp;
|
||||
|
||||
fn_8006E47C(lbl_1_data_310, 2, 0.0f, 10.0f, 0x40000001);
|
||||
temp = (180.0f + fn_80063448(arg0));
|
||||
fn_80067C90(arg0, temp, 0xF);
|
||||
BoardModelMotionShiftSet(lbl_1_data_310, 2, 0.0f, 10.0f, 0x40000001);
|
||||
temp = (180.0f + BoardPlayerRotYGet(arg0));
|
||||
BoardPlayerMotBlendSet(arg0, temp, 0xF);
|
||||
|
||||
while (fn_8006874C(arg0) == 0) {
|
||||
while (BoardPlayerMotBlendCheck(arg0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
fn_8005D284(1);
|
||||
fn_8005D834(arg0);
|
||||
BoardCameraViewSet(1);
|
||||
BoardCameraTargetPlayerSet(arg0);
|
||||
if (lbl_1_bss_7C != 0) {
|
||||
fn_80074210(0, GWPlayer[arg0].space_curr, &sp14);
|
||||
fn_8006310C(arg0, &sp8);
|
||||
fn_80066F44(arg0, &sp8, &sp14, 0x14);
|
||||
BoardSpacePosGet(0, GWPlayer[arg0].space_curr, &sp14);
|
||||
BoardPlayerPosGet(arg0, &sp8);
|
||||
BoardPlayerPosLerpStart(arg0, &sp8, &sp14, 0x14);
|
||||
while (GWPlayer[arg0].moving) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
fn_80067B98(arg0);
|
||||
fn_8005E0C0();
|
||||
BoardPlayerIdleSet(arg0);
|
||||
BoardCameraMotionWait();
|
||||
}
|
||||
|
||||
void fn_1_3968(s32 arg0) {
|
||||
s32 var_r29 = 0;
|
||||
s32 var_r28 = 0;
|
||||
s32 sp48[] = {0x005F0065, 0x001A0065, 0x006D0065, 0x008A0065, 0x00850065, 0x00110065, 0x000D0065, 0x00810065};
|
||||
Point3d sp3C;
|
||||
Point3d sp30;
|
||||
Point3d sp24;
|
||||
Point3d sp18;
|
||||
Vec sp3C;
|
||||
Vec sp30;
|
||||
Vec sp24;
|
||||
Vec sp18;
|
||||
s32 sp10[2] = {0x00770013, 0x00770014};
|
||||
f32 spC;
|
||||
s16 sp8;
|
||||
|
|
@ -298,20 +280,20 @@ void fn_1_3968(s32 arg0) {
|
|||
|
||||
s16 character;
|
||||
|
||||
lbl_1_data_314 = fn_8006D9A4(sp10[lbl_1_bss_0->unk1], NULL, 0);
|
||||
lbl_1_data_314 = BoardModelCreate(sp10[lbl_1_bss_0->unk1], NULL, 0);
|
||||
character = GWPlayer[arg0].character;
|
||||
lbl_1_data_312 = fn_8006374C(arg0, sp48[character]);
|
||||
lbl_1_data_312 = BoardPlayerMotionCreate(arg0, sp48[character]);
|
||||
|
||||
Hu3DModelObjPosGet(fn_8006DBD4(lbl_1_data_310), "itemhook_oya", &sp3C);
|
||||
fn_8006310C(arg0, &sp30);
|
||||
temp_f30 = fn_8005FBE8(&sp3C, &sp30);
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_310), "itemhook_oya", &sp3C);
|
||||
BoardPlayerPosGet(arg0, &sp30);
|
||||
temp_f30 = BoardVecDistXZCalc(&sp3C, &sp30);
|
||||
PSVECSubtract(&sp3C, &sp30, &sp24);
|
||||
PSVECNormalize(&sp24, &sp24);
|
||||
PSVECScale(&sp24, &sp24, temp_f30 / lbl_1_rodata_108);
|
||||
fn_80063A1C(arg0, 4, 0.0f, lbl_1_rodata_11C, 0);
|
||||
PSVECScale(&sp24, &sp24, temp_f30 / 45.0f);
|
||||
BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 5.0f, 0);
|
||||
HuPrcSleep(5);
|
||||
|
||||
spC = fn_80063448(arg0);
|
||||
spC = BoardPlayerRotYGet(arg0);
|
||||
temp_f27 = 180.0f + spC;
|
||||
var_r29 = 0;
|
||||
sp8 = 0;
|
||||
|
|
@ -321,8 +303,8 @@ void fn_1_3968(s32 arg0) {
|
|||
temp_f31 = __OSs16tof32(&sp8);
|
||||
sp24.y = temp_f28 + (-0.08166667f * (0.75f * (temp_f31 * temp_f31)));
|
||||
PSVECAdd(&sp30, &sp24, &sp30);
|
||||
temp_f30 = fn_8005FBE8(&sp3C, &sp30);
|
||||
if (temp_f30 < lbl_1_rodata_11C) {
|
||||
temp_f30 = BoardVecDistXZCalc(&sp3C, &sp30);
|
||||
if (temp_f30 < 5.0f) {
|
||||
sp24.x = sp24.z = 0.0f;
|
||||
sp30.x = sp3C.x;
|
||||
sp30.z = sp3C.z;
|
||||
|
|
@ -333,33 +315,33 @@ void fn_1_3968(s32 arg0) {
|
|||
var_r29 = 1;
|
||||
}
|
||||
} else {
|
||||
fn_8005FF28(&spC, temp_f27, 5.142857f);
|
||||
fn_80063374(arg0, spC);
|
||||
BoardDAngleCalcRange(&spC, temp_f27, 5.142857f);
|
||||
BoardPlayerRotYSet(arg0, spC);
|
||||
}
|
||||
|
||||
if (sp30.y <= sp3C.y && var_r29 != 0) {
|
||||
sp30.y = sp3C.y;
|
||||
break;
|
||||
}
|
||||
fn_80062FA4(arg0, &sp30);
|
||||
BoardPlayerPosSetV(arg0, &sp30);
|
||||
HuPrcVSleep();
|
||||
sp8 += 1;
|
||||
}
|
||||
|
||||
fn_80070DEC(1, 0x18, 0x7F, 0);
|
||||
fn_80063040(arg0, 0.0f, 0.0f, 0.0f);
|
||||
BoardMusStart(1, 0x18, 0x7F, 0);
|
||||
BoardPlayerPosSet(arg0, 0.0f, 0.0f, 0.0f);
|
||||
|
||||
|
||||
fn_8006F73C(lbl_1_data_310, "itemhook_oya", GetCurrentPlayerIndex(GetCurrentPlayer(arg0)));
|
||||
fn_8006394C(arg0, lbl_1_data_312, 0x40000001);
|
||||
BoardModelHookSet(lbl_1_data_310, "itemhook_oya", BoardPlayerModelGet(arg0));
|
||||
BoardPlayerMotionStart(arg0, lbl_1_data_312, 0x40000001);
|
||||
HuAudFXPlay(0x44F);
|
||||
fn_8006E47C(lbl_1_data_310, 5, 0.0f, lbl_1_rodata_11C, 0);
|
||||
BoardModelMotionShiftSet(lbl_1_data_310, 5, 0.0f, 5.0f, 0);
|
||||
|
||||
sp18.x = -15.0f;
|
||||
sp18.y = 180.0f;
|
||||
sp18.z = 0.0f;
|
||||
|
||||
fn_8005DB6C(lbl_1_data_310, &sp18, 0, 4000.0f, lbl_1_rodata_118, 0x150);
|
||||
BoardCameraMotionStartEx(lbl_1_data_310, &sp18, 0, 4000.0f, -1.0f, 0x150);
|
||||
|
||||
for (var_r28 = 0, sp8 = 0; ; sp8++) {
|
||||
if (var_r28 == 0) {
|
||||
|
|
@ -375,30 +357,18 @@ void fn_1_3968(s32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void fn_8005D7B4(s32); /* extern */
|
||||
void fn_80062FA4(s32, Point3d*); /* extern */
|
||||
void fn_8006F800(s16); /* extern */
|
||||
extern f32 lbl_1_rodata_108;
|
||||
extern f32 lbl_1_rodata_124;
|
||||
extern f64 lbl_1_rodata_F0;
|
||||
|
||||
void fn_1_48EC(s32); /* extern */
|
||||
void fn_1_4A9C(void); /* extern */
|
||||
void fn_1_5838(s32); /* extern */
|
||||
s32 fn_1_62D0(void); /* extern */
|
||||
void fn_80088638(s32); /* extern */
|
||||
void fn_80088790(s32, s32); /* extern */
|
||||
extern s8 lbl_1_bss_7D;
|
||||
|
||||
|
||||
void fn_1_3E88(s32 arg0) {
|
||||
lbl_1_bss_7D = 0;
|
||||
fn_1_48EC(arg0);
|
||||
fn_1_5838(arg0);
|
||||
lbl_1_bss_7D = 1;
|
||||
fn_80088638(arg0);
|
||||
fn_80088790(arg0, 1);
|
||||
BoardStatusShowSetForce(arg0);
|
||||
BoardStatusShowSet(arg0, 1);
|
||||
WipeCreate(1, 0, 0x15);
|
||||
while (WipeStatGet() != 0) {
|
||||
HuPrcVSleep();
|
||||
|
|
@ -410,15 +380,15 @@ void fn_1_3E88(s32 arg0) {
|
|||
HuPrcVSleep();
|
||||
}
|
||||
fn_1_4A9C();
|
||||
fn_80071034(0, 0, 0x3E8);
|
||||
BoardAudSeqPause(0, 0, 0x3E8);
|
||||
}
|
||||
|
||||
void fn_1_3F5C(s32 arg0) {
|
||||
Mtx sp38;
|
||||
Point3d sp2C;
|
||||
Point3d sp20;
|
||||
Point3d sp14;
|
||||
Point3d sp8;
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
f32 temp_f31;
|
||||
s16 temp_r28;
|
||||
s32 var_r31;
|
||||
|
|
@ -426,50 +396,50 @@ void fn_1_3F5C(s32 arg0) {
|
|||
|
||||
if (lbl_1_bss_0->unk1 != 0) {
|
||||
lbl_1_bss_0->unk1 = 0;
|
||||
var_r30 = fn_800745F0(0, 0x8000);
|
||||
var_r30 = BoardSpaceFlagSearch(0, 0x8000);
|
||||
} else {
|
||||
lbl_1_bss_0->unk1 = 1;
|
||||
var_r30 = fn_800745F0(0, 0x4000);
|
||||
var_r30 = BoardSpaceFlagSearch(0, 0x4000);
|
||||
}
|
||||
temp_r28 = fn_800747C4(0, var_r30, 0x02000000);
|
||||
fn_8005D7B4(0);
|
||||
fn_8006F800(lbl_1_data_310);
|
||||
temp_r28 = BoardSpaceLinkFlagSearch(0, var_r30, 0x02000000);
|
||||
BoardCameraMoveSet(0);
|
||||
BoardModelHookReset(lbl_1_data_310);
|
||||
if (lbl_1_bss_0->unk1 != 0) {
|
||||
var_r31 = fn_800745F0(0, 0x4000);
|
||||
var_r31 = BoardSpaceFlagSearch(0, 0x4000);
|
||||
} else {
|
||||
var_r31 = fn_800745F0(0, 0x8000);
|
||||
var_r31 = BoardSpaceFlagSearch(0, 0x8000);
|
||||
}
|
||||
var_r31 = fn_800747C4(0, var_r31, 0x02000000);
|
||||
fn_80074210(0, var_r31, &sp8);
|
||||
var_r31 = BoardSpaceLinkFlagSearch(0, var_r31, 0x02000000);
|
||||
BoardSpacePosGet(0, var_r31, &sp8);
|
||||
temp_f31 = 0.0f;
|
||||
sp8.x = (sp8.x + (lbl_1_rodata_F0 * sin((lbl_1_rodata_F8 * temp_f31) / 180.0f)));
|
||||
sp8.z = (sp8.z + (lbl_1_rodata_F0 * cos((lbl_1_rodata_F8 * temp_f31) / 180.0f)));
|
||||
sp8.x = (sp8.x + (-300.0 * sin((M_PI * temp_f31) / 180.0f)));
|
||||
sp8.z = (sp8.z + (-300.0 * cos((M_PI * temp_f31) / 180.0f)));
|
||||
sp8.y = 45.0f + sp8.y;
|
||||
fn_8006F158(lbl_1_data_310, &sp8);
|
||||
fn_8006E2B8(lbl_1_data_310, 2, 0x40000001);
|
||||
fn_8006E2B8(lbl_1_data_310, 1, 0x40000001);
|
||||
fn_8006F0D4(lbl_1_data_310, 0.0f);
|
||||
BoardModelPosSetV(lbl_1_data_310, &sp8);
|
||||
BoardModelMotionStart(lbl_1_data_310, 2, 0x40000001);
|
||||
BoardModelMotionStart(lbl_1_data_310, 1, 0x40000001);
|
||||
BoardModelRotYSet(lbl_1_data_310, 0.0f);
|
||||
PSMTXIdentity(sp38);
|
||||
fn_8006EFBC(lbl_1_data_310, sp38);
|
||||
BoardModelMtxSet(lbl_1_data_310, &sp38);
|
||||
sp20.x = 0.0f;
|
||||
sp20.y = 150.0f;
|
||||
sp20.z = 0.0f;
|
||||
sp14.x = -15.0f;
|
||||
sp14.y = 0.0f;
|
||||
sp14.z = 0.0f;
|
||||
fn_8005DB6C(lbl_1_data_310, &sp14, &sp20, lbl_1_rodata_114, lbl_1_rodata_118, 1);
|
||||
fn_80074210(0, temp_r28, &sp2C);
|
||||
fn_80062FA4(arg0, &sp2C);
|
||||
BoardCameraMotionStartEx(lbl_1_data_310, &sp14, &sp20, 1900.0f, -1.0f, 1);
|
||||
BoardSpacePosGet(0, temp_r28, &sp2C);
|
||||
BoardPlayerPosSetV(arg0, &sp2C);
|
||||
GWPlayer[arg0].space_curr = var_r30;
|
||||
fn_80063374(arg0, lbl_1_rodata_124);
|
||||
fn_80067B98(arg0);
|
||||
BoardPlayerRotYSet(arg0, 180.0f);
|
||||
BoardPlayerIdleSet(arg0);
|
||||
HuPrcSleep(2);
|
||||
fn_8005D7B4(1);
|
||||
fn_8006E2B8(lbl_1_bss_C[2], 0, 0x40000001);
|
||||
fn_8006E0B0(lbl_1_bss_C[2], 1, 0x64);
|
||||
fn_8008853C(0);
|
||||
BoardCameraMoveSet(1);
|
||||
BoardModelMotionStart(lbl_1_bss_C[2], 0, 0x40000001);
|
||||
BoardModelMotionStartEndSet(lbl_1_bss_C[2], 1, 0x64);
|
||||
BoardStatusItemSet(0);
|
||||
HuPrcSleep(2);
|
||||
fn_8008853C(1);
|
||||
BoardStatusItemSet(1);
|
||||
WipeCreate(1, 0, 0x15);
|
||||
while (WipeStatGet() != 0) {
|
||||
HuPrcVSleep();
|
||||
|
|
@ -479,9 +449,6 @@ void fn_1_3F5C(s32 arg0) {
|
|||
BoardWinKill();
|
||||
}
|
||||
|
||||
void fn_800712C8(void); /* extern */
|
||||
void fn_80071328(void); /* extern */
|
||||
|
||||
void fn_1_4354(s32 arg0) {
|
||||
s32 sp8;
|
||||
s32 starPos;
|
||||
|
|
@ -497,18 +464,16 @@ void fn_1_4354(s32 arg0) {
|
|||
} else if ((starPos == 0) || (starPos == 5) || (starPos == 6) || (starPos == 7)) {
|
||||
var_r30 = 1;
|
||||
}
|
||||
if (fn_80063EC0(arg0) < 0x14) {
|
||||
if (BoardPlayerCoinsGet(arg0) < 0x14) {
|
||||
var_r30 = 1;
|
||||
}
|
||||
if (var_r30 != 0) {
|
||||
fn_800712C8();
|
||||
BoardComKeySetLeft();
|
||||
return;
|
||||
}
|
||||
fn_80071328();
|
||||
BoardComKeySetRight();
|
||||
}
|
||||
|
||||
f32 lbl_1_bss_80[20][2];
|
||||
|
||||
typedef struct w03StructUnk3 {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x02 */ s16 model;
|
||||
|
|
@ -532,16 +497,21 @@ typedef struct w03StructUnk2 {
|
|||
w03StructUnk3* unk_08;
|
||||
} w03StructUnk2;
|
||||
|
||||
char *lbl_1_data_34C[] = {
|
||||
"jyanA",
|
||||
"jyanB"
|
||||
};
|
||||
|
||||
void fn_1_4424(w03StructUnk2* arg0) {
|
||||
Mtx sp108;
|
||||
Mtx spD8;
|
||||
Mtx spA8;
|
||||
Mtx sp78;
|
||||
Point3d sp6C;
|
||||
Point3d sp60;
|
||||
Vec sp6C;
|
||||
Vec sp60;
|
||||
Vec sp54;
|
||||
Vec sp48;
|
||||
Point3d sp3C;
|
||||
Vec sp3C;
|
||||
Vec sp30;
|
||||
Vec sp24;
|
||||
Vec sp18;
|
||||
|
|
@ -593,7 +563,7 @@ void fn_1_4424(w03StructUnk2* arg0) {
|
|||
if (var_r25 % 4 == 0 && ((s16) var_r25 != 0)) {
|
||||
temp_r27 = &arg0->unk_08[i];
|
||||
temp_r27->unk_00 = 1;
|
||||
temp_f30 = (0.5f - BoardRandFloat()) * 10;
|
||||
temp_f30 = (0.5f - BoardRandFloat()) * 90;
|
||||
OSf32tos16(&temp_f30, &sp8);
|
||||
sp8 = (sp8 / 10) * 10;
|
||||
OSs16tof32(&sp8, &temp_f30);
|
||||
|
|
@ -603,7 +573,7 @@ void fn_1_4424(w03StructUnk2* arg0) {
|
|||
sp18 = sp54;
|
||||
BoardMTXCalcLookAt(spA8, &sp18, &sp24, &sp30);
|
||||
PSMTXTranspose(spA8, spA8);
|
||||
PSMTXRotRad(spD8, 0x7A, 0.017453292f * temp_f30);
|
||||
MTXRotDeg(spD8, 'z', temp_f30);
|
||||
PSMTXTrans(sp108, 0.0f, -350.0f, 0.0f);
|
||||
PSMTXConcat(spD8, sp108, sp108);
|
||||
PSMTXConcat(spA8, sp108, sp108);
|
||||
|
|
@ -620,8 +590,10 @@ void fn_1_4424(w03StructUnk2* arg0) {
|
|||
arg0->unk_03 = i;
|
||||
}
|
||||
|
||||
void fn_1_50D4(omObjData* arg0);
|
||||
|
||||
void fn_1_48EC(s32 arg0) {
|
||||
Point3d spC;
|
||||
Vec spC;
|
||||
omObjData* obj;
|
||||
s32 i;
|
||||
w03StructUnk2* temp_r31;
|
||||
|
|
@ -654,8 +626,6 @@ void fn_1_48EC(s32 arg0) {
|
|||
fn_1_4424(temp_r31);
|
||||
}
|
||||
|
||||
extern omObjData* lbl_1_bss_74;
|
||||
|
||||
typedef struct w03UnkStruct4 {
|
||||
/* 0x00 */ struct {
|
||||
u8 unk00_bit0 : 1;
|
||||
|
|
@ -667,7 +637,7 @@ void fn_1_4A9C(void) {
|
|||
}
|
||||
|
||||
void fn_1_4ABC(w03StructUnk2* arg0) {
|
||||
Point3d sp8;
|
||||
Vec sp8;
|
||||
f32 temp_f31;
|
||||
w03StructUnk3* temp_r31;
|
||||
s32 i;
|
||||
|
|
@ -677,17 +647,17 @@ void fn_1_4ABC(w03StructUnk2* arg0) {
|
|||
(void)i;
|
||||
|
||||
BoardModelPosGet(lbl_1_data_310, &sp8);
|
||||
sp8.y += lbl_1_rodata_180;
|
||||
sp8.y += 250.0f;
|
||||
|
||||
for (i = 0; i < arg0->unk_03; i++) {
|
||||
temp_r31 = &arg0->unk_08[i];
|
||||
if (temp_r31->unk_00 == 1) {
|
||||
if (BoardVecMinDistCheck(&sp8, &temp_r31->unk_08, lbl_1_rodata_184) != 0) {
|
||||
if (BoardVecMinDistCheck(&sp8, &temp_r31->unk_08, 200.0f) != 0) {
|
||||
temp_r31->unk_00 = -1;
|
||||
BoardModelVisibilitySet(temp_r31->model, 0);
|
||||
CharModelLayerSetAll(2);
|
||||
CharModelCoinEffectCreate(1, &temp_r31->unk_08);
|
||||
BoardPlayerCoinsAdd((arg0->unk_00 >> 5) & 3, 1);
|
||||
BoardPlayerCoinsAdd(arg0->unkbit_01, 1);
|
||||
HuAudFXPlay(7);
|
||||
}
|
||||
BoardModelPosSetV(temp_r31->model, &temp_r31->unk_08);
|
||||
|
|
@ -699,17 +669,17 @@ void fn_1_4ABC(w03StructUnk2* arg0) {
|
|||
for (i = arg0->unk_03; i < 0x50; i++) {
|
||||
temp_r31 = &arg0->unk_08[i];
|
||||
if (temp_r31->unk_00 == 1) {
|
||||
temp_r31->unk_04 += lbl_1_rodata_168;
|
||||
temp_f31 = lbl_1_rodata_188 * (temp_r31->unk_04 * temp_r31->unk_04);
|
||||
temp_r31->unk_04 += 1.0f;
|
||||
temp_f31 = 0.8f * (temp_r31->unk_04 * temp_r31->unk_04);
|
||||
PSVECAdd(&temp_r31->unk_14, &temp_r31->unk_08, &temp_r31->unk_08);
|
||||
temp_r31->unk_08.y += lbl_1_rodata_18C * temp_f31;
|
||||
if (temp_r31->unk_08.y < lbl_1_rodata_190) {
|
||||
temp_r31->unk_08.y += -0.0375f * temp_f31;
|
||||
if (temp_r31->unk_08.y < -300.0f) {
|
||||
temp_r31->unk_00 = -1;
|
||||
BoardModelVisibilitySet(temp_r31->model, 0);
|
||||
} else if (BoardVecMinDistCheck(&sp8, &temp_r31->unk_08, lbl_1_rodata_184) != 0) {
|
||||
} else if (BoardVecMinDistCheck(&sp8, &temp_r31->unk_08, 200.0f) != 0) {
|
||||
temp_r31->unk_00 = -1;
|
||||
BoardModelVisibilitySet(temp_r31->model, 0);
|
||||
BoardPlayerCoinsAdd((arg0->unk_00 >> 5) & 3, 1);
|
||||
BoardPlayerCoinsAdd(arg0->unkbit_01, 1);
|
||||
CharModelLayerSetAll(2);
|
||||
CharModelCoinEffectCreate(1, &temp_r31->unk_08);
|
||||
HuAudFXPlay(7);
|
||||
|
|
@ -736,7 +706,7 @@ s32 fn_1_4D0C(w03StructUnk3** arg0, s16* arg1) {
|
|||
}
|
||||
|
||||
void fn_1_4D60(w03StructUnk2* arg0) {
|
||||
Point3d sp8;
|
||||
Vec sp8;
|
||||
f32 temp_f31;
|
||||
f32 temp_f30;
|
||||
s32 i;
|
||||
|
|
@ -795,15 +765,15 @@ void fn_1_4F24(w03StructUnk2* arg0) {
|
|||
arg0->unk_02 = 0;
|
||||
}
|
||||
if (arg0->unk_02 != 0) {
|
||||
BoardModelMotionShiftSet(lbl_1_bss_C[2], 0, 0, 101.0f, 0);
|
||||
BoardModelMotionShiftSet(lbl_1_bss_C[2], 0, 101.0f, 10.0f, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_50D4(omObjData* arg0) {
|
||||
Point3d sp50;
|
||||
Point3d sp44;
|
||||
Point3d sp38;
|
||||
Vec sp50;
|
||||
Vec sp44;
|
||||
Vec sp38;
|
||||
PlayerState* sp18;
|
||||
PlayerState* sp14;
|
||||
s16 sp10[2];
|
||||
|
|
@ -860,7 +830,7 @@ void fn_1_50D4(omObjData* arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
if (BoardModelMotionTimeGet(lbl_1_bss_C[2]) >= lbl_1_rodata_1BC) {
|
||||
if (BoardModelMotionTimeGet(lbl_1_bss_C[2]) >= 170.0f) {
|
||||
if (temp_r31->unkbit_04 == 0) {
|
||||
if (temp_r31->unkbit_03 == 0) {
|
||||
HuAudFXPlay(0x43C);
|
||||
|
|
@ -887,7 +857,7 @@ void fn_1_50D4(omObjData* arg0) {
|
|||
BoardPlayerPosGet(i, &sp50);
|
||||
BoardModelPosGet(lbl_1_data_310, &sp44);
|
||||
PSVECSubtract(&sp50, &sp44, &sp38);
|
||||
if (PSVECMag(&sp38) >= lbl_1_rodata_1C0) {
|
||||
if (PSVECMag(&sp38) >= 2000.0f) {
|
||||
BoardModelVisibilitySet(BoardPlayerModelGet(i), 0);
|
||||
} else {
|
||||
BoardModelVisibilitySet(BoardPlayerModelGet(i), 1);
|
||||
|
|
@ -909,11 +879,16 @@ typedef struct w03UnkStruct5 {
|
|||
/* 0x08 */ f32 unk_08;
|
||||
} w03UnkStruct5;
|
||||
|
||||
extern omObjData* lbl_1_bss_78;
|
||||
void fn_1_5AC8(omObjData* arg0);
|
||||
void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1);
|
||||
void fn_1_602C(omObjData* arg0, w03UnkStruct5* arg1);
|
||||
f32 fn_1_61A4(omObjData* arg0, w03UnkStruct5* arg1);
|
||||
void fn_1_629C(s8 arg0);
|
||||
void fn_1_62FC(void);
|
||||
|
||||
void fn_1_5838(s32 arg0) {
|
||||
Point3d sp18;
|
||||
Point3d spC;
|
||||
Vec sp18;
|
||||
Vec spC;
|
||||
omObjData* obj;
|
||||
w03UnkStruct5* temp_r31;
|
||||
|
||||
|
|
@ -926,29 +901,29 @@ void fn_1_5838(s32 arg0) {
|
|||
temp_r31->unk00_bit3 = 0;
|
||||
switch (GWPlayer[temp_r31->unk00_bit1].diff) {
|
||||
case 0:
|
||||
temp_r31->unk_08 = (lbl_1_rodata_110 + (lbl_1_rodata_1C4 * BoardRandFloat()));
|
||||
temp_r31->unk_08 = (-15.0f + (-30.0f * BoardRandFloat()));
|
||||
break;
|
||||
case 1:
|
||||
temp_r31->unk_08 = (lbl_1_rodata_1C8 + (lbl_1_rodata_1CC * BoardRandFloat()));
|
||||
temp_r31->unk_08 = (-5.0f + (-10.0f * BoardRandFloat()));
|
||||
break;
|
||||
case 2:
|
||||
temp_r31->unk_08 = (lbl_1_rodata_1D0 + (lbl_1_rodata_1C8 * BoardRandFloat()));
|
||||
temp_r31->unk_08 = (-2.0f + (-5.0f * BoardRandFloat()));
|
||||
break;
|
||||
case 3:
|
||||
temp_r31->unk_08 = lbl_1_rodata_E8;
|
||||
temp_r31->unk_08 = 0.0f;
|
||||
break;
|
||||
}
|
||||
BoardCameraMoveSet(0);
|
||||
sp18.x = lbl_1_rodata_E8;
|
||||
sp18.y = lbl_1_rodata_17C;
|
||||
sp18.z = lbl_1_rodata_E8;
|
||||
spC.x = lbl_1_rodata_1D4;
|
||||
spC.y = lbl_1_rodata_E8;
|
||||
spC.z = lbl_1_rodata_E8;
|
||||
BoardCameraMotionStartEx(lbl_1_data_310, &spC, &sp18, 1, 3000.0f, 1);
|
||||
sp18.x = 0.0f;
|
||||
sp18.y = -350.0f;
|
||||
sp18.z = 0.0f;
|
||||
spC.x = -20.0f;
|
||||
spC.y = 0.0f;
|
||||
spC.z = 0.0f;
|
||||
BoardCameraMotionStartEx(lbl_1_data_310, &spC, &sp18, 3000.0f, -1.0f, 1);
|
||||
BoardModelMotionStart(lbl_1_data_310, 3, 0x40000001U);
|
||||
BoardModelMotionStart(lbl_1_data_314, 0, 0U);
|
||||
BoardModelMotionSpeedSet(lbl_1_data_314, lbl_1_rodata_1DC);
|
||||
BoardModelMotionSpeedSet(lbl_1_data_314, 0.7f);
|
||||
fn_1_5C5C(obj, temp_r31);
|
||||
BoardCameraMotionWait();
|
||||
BoardCameraTargetModelSet(-1);
|
||||
|
|
@ -968,7 +943,7 @@ void fn_1_5AC8(omObjData* arg0) {
|
|||
}
|
||||
return;
|
||||
}
|
||||
if ((lbl_1_rodata_120 == BoardModelMotionTimeGet(lbl_1_data_310)) || (lbl_1_rodata_198 == BoardModelMotionTimeGet(lbl_1_data_310))) {
|
||||
if ((10.0f == BoardModelMotionTimeGet(lbl_1_data_310)) || (50.0f == BoardModelMotionTimeGet(lbl_1_data_310))) {
|
||||
HuAudFXPlay(0x43B);
|
||||
}
|
||||
switch (temp_r31->unk00_bit4) {
|
||||
|
|
@ -992,27 +967,32 @@ void fn_1_5AC8(omObjData* arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
char *lbl_1_data_35C[] = {
|
||||
"jyanA",
|
||||
"jyanB"
|
||||
};
|
||||
|
||||
void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1) {
|
||||
Mtx sp110;
|
||||
Mtx spE0;
|
||||
Mtx spB0;
|
||||
Mtx sp80;
|
||||
Mtx sp50;
|
||||
Point3d sp44;
|
||||
Point3d sp38;
|
||||
Point3d sp2C;
|
||||
Point3d sp20;
|
||||
Point3d sp14;
|
||||
Point3d sp8;
|
||||
Vec sp44;
|
||||
Vec sp38;
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
s16 temp_r3;
|
||||
char* temp_r27;
|
||||
ModelDataTemp* temp_r30;
|
||||
ModelData* temp_r30;
|
||||
|
||||
if (((WipeStatGet() == 0) && (arg1->unk00_bit3) || (BoardModelMotionEndCheck(lbl_1_data_314) != 0))) {
|
||||
fn_1_629C(3);
|
||||
return;
|
||||
}
|
||||
if ((BoardModelMotionTimeGet(lbl_1_data_314) >= lbl_1_rodata_1E0) && (arg1->unk00_bit3) == 0) {
|
||||
if ((BoardModelMotionTimeGet(lbl_1_data_314) >= 410.0f) && (arg1->unk00_bit3) == 0) {
|
||||
WipeColorSet(0, 0, 0);
|
||||
WipeCreate(2, 0, -1);
|
||||
arg1->unk00_bit3 = 1;
|
||||
|
|
@ -1026,10 +1006,10 @@ void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1) {
|
|||
temp_r27 = lbl_1_data_35C[lbl_1_bss_0->unk1];
|
||||
Hu3DMotionExec(temp_r3, temp_r30->unk_08, temp_r30->unk_64, 0);
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_314), temp_r27, &sp44);
|
||||
if (lbl_1_rodata_E8 != temp_r30->unk_64) {
|
||||
if (0.0f != temp_r30->unk_64) {
|
||||
PSVECSubtract(&sp38, &sp44, &sp2C);
|
||||
} else {
|
||||
sp2C.x = sp2C.y = sp2C.z = lbl_1_rodata_E8;
|
||||
sp2C.x = sp2C.y = sp2C.z = 0.0f;
|
||||
}
|
||||
arg0->rot.x = sp44.x;
|
||||
arg0->rot.y = sp44.y;
|
||||
|
|
@ -1037,25 +1017,25 @@ void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1) {
|
|||
fn_1_602C(arg0, arg1);
|
||||
sp8 = sp38;
|
||||
sp14 = sp44;
|
||||
sp20.x = sp20.z = lbl_1_rodata_E8;
|
||||
sp20.y = lbl_1_rodata_168;
|
||||
sp20.x = sp20.z = 0.0f;
|
||||
sp20.y = 1.0f;
|
||||
BoardMTXCalcLookAt(sp110, &sp14, &sp20, &sp8);
|
||||
PSMTXTranspose(sp110, sp110);
|
||||
PSMTXRotRad(spE0, 0x7A, lbl_1_rodata_178 * -arg1->unk_04);
|
||||
PSMTXTrans(sp50, lbl_1_rodata_E8, lbl_1_rodata_1E4, lbl_1_rodata_E8);
|
||||
MTXRotDeg(spE0, 'z', -arg1->unk_04);
|
||||
PSMTXTrans(sp50, 0.0f, -600.0f, 0.0f);
|
||||
PSMTXConcat(spE0, sp50, sp50);
|
||||
PSMTXConcat(sp110, sp50, sp50);
|
||||
PSMTXTrans(sp80, sp44.x, sp44.y, sp44.z);
|
||||
PSMTXConcat(sp80, sp50, sp80);
|
||||
Hu3DMtxTransGet(sp80, &sp44);
|
||||
PSMTXRotRad(spB0, 0x79, (lbl_1_rodata_1E8 * (lbl_1_rodata_100 * (atan2(-sp2C.x, -sp2C.z) / lbl_1_rodata_F8))));
|
||||
MTXRotDeg(spB0, 'y', (180.0 * (atan2(-sp2C.x, -sp2C.z) / M_PI)));
|
||||
PSMTXConcat(spB0, spE0, sp110);
|
||||
BoardModelMtxSet(lbl_1_data_310, &sp110);
|
||||
BoardModelPosSetV(lbl_1_data_310, &sp44);
|
||||
BoardCameraRotSet(lbl_1_rodata_1D4, (lbl_1_rodata_100 * (atan2(sp2C.x, sp2C.z) / lbl_1_rodata_F8)));
|
||||
BoardCameraRotSet(-20.0f, (180.0 * (atan2(sp2C.x, sp2C.z) / M_PI)));
|
||||
}
|
||||
|
||||
void fn_1_602C(s32 arg0, w03UnkStruct5* arg1) {
|
||||
void fn_1_602C(omObjData* arg0, w03UnkStruct5* arg1) {
|
||||
f32 temp_f31 = 0.0f;
|
||||
f32 var_f30;
|
||||
f32 var_f29;
|
||||
|
|
@ -1065,20 +1045,20 @@ void fn_1_602C(s32 arg0, w03UnkStruct5* arg1) {
|
|||
} else {
|
||||
var_f30 = fn_1_61A4(arg0, arg1);
|
||||
}
|
||||
temp_f31 = lbl_1_rodata_1F0 * var_f30;
|
||||
if (temp_f31 < lbl_1_rodata_E8) {
|
||||
temp_f31 = 0.625f * var_f30;
|
||||
if (temp_f31 < 0.0f) {
|
||||
var_f29 = -temp_f31;
|
||||
} else {
|
||||
var_f29 = temp_f31;
|
||||
}
|
||||
if (var_f29 < lbl_1_rodata_1F4) {
|
||||
arg1->unk_04 *= lbl_1_rodata_1F8;
|
||||
if (var_f29 < 2.0f) {
|
||||
arg1->unk_04 *= 0.97f;
|
||||
return;
|
||||
}
|
||||
BoardDAngleCalcRange(&arg1->unk_04, temp_f31, lbl_1_rodata_168);
|
||||
BoardDAngleCalcRange(&arg1->unk_04, temp_f31, 1.0f);
|
||||
}
|
||||
|
||||
f32 fn_1_61A4(s32 arg0, w03UnkStruct5* arg1) {
|
||||
f32 fn_1_61A4(omObjData* arg0, w03UnkStruct5* arg1) {
|
||||
w03StructUnk3* sp8;
|
||||
f32 temp_f31;
|
||||
s16 i;
|
||||
|
|
@ -1098,7 +1078,7 @@ f32 fn_1_61A4(s32 arg0, w03UnkStruct5* arg1) {
|
|||
for (i = 0; i < var_r28; i++) {
|
||||
temp_r31 = lbl_1_bss_80[i];
|
||||
if ((temp_r31[1] < temp_f31) && (temp_r31[3] > temp_f31)) {
|
||||
return lbl_1_rodata_208 * temp_r31[2];
|
||||
return -1.5f * temp_r31[2];
|
||||
}
|
||||
}
|
||||
return 0.0f;
|
||||
|
|
@ -1121,10 +1101,10 @@ void fn_1_62FC(void) {
|
|||
f32 temp1;
|
||||
|
||||
HuWinMesMaxSizeGet(1, sp8, messageID);
|
||||
temp0 = lbl_1_rodata_20C;
|
||||
temp1 = lbl_1_rodata_210;
|
||||
temp0 = -10000.0f;
|
||||
temp1 = 392.0f;
|
||||
lbl_1_data_316 = HuWinCreate(temp0, temp1, sp8[0], sp8[1], 0);
|
||||
HuWinBGTPLvlSet(lbl_1_data_316, lbl_1_rodata_E8);
|
||||
HuWinBGTPLvlSet(lbl_1_data_316, 0.0f);
|
||||
HuWinMesSpeedSet(lbl_1_data_316, 0);
|
||||
HuWinMesSet(lbl_1_data_316, messageID);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue