commit
0d275878cc
7 changed files with 707 additions and 109 deletions
|
|
@ -213,38 +213,38 @@ lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:
|
|||
lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float
|
||||
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double
|
||||
lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x118
|
||||
lbl_1_data_118 = .data:0x00000118; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_11A = .data:0x0000011A; // type:object size:0x2 data:2byte
|
||||
|
|
@ -294,21 +294,21 @@ lbl_1_data_343 = .data:0x00000343; // type:object size:0xD scope:local data:stri
|
|||
lbl_1_data_350 = .data:0x00000350; // type:object size:0x38
|
||||
lbl_1_data_388 = .data:0x00000388; // type:object size:0xB8
|
||||
lbl_1_data_440 = .data:0x00000440; // type:object size:0xC
|
||||
lbl_1_data_450 = .data:0x00000450; // type:object size:0x6 data:string
|
||||
lbl_1_data_456 = .data:0x00000456; // type:object size:0x7 data:string
|
||||
lbl_1_data_45D = .data:0x0000045D; // type:object size:0x7 data:string
|
||||
lbl_1_data_450 = .data:0x00000450; // type:object size:0x6 scope:local data:string
|
||||
lbl_1_data_456 = .data:0x00000456; // type:object size:0x7 scope:local data:string
|
||||
lbl_1_data_45D = .data:0x0000045D; // type:object size:0x7 scope:local data:string
|
||||
lbl_1_data_464 = .data:0x00000464; // type:object size:0xC
|
||||
lbl_1_data_470 = .data:0x00000470; // type:object size:0xC
|
||||
lbl_1_data_47C = .data:0x0000047C; // type:object size:0xC
|
||||
lbl_1_data_488 = .data:0x00000488; // type:object size:0x3 data:string
|
||||
lbl_1_data_48B = .data:0x0000048B; // type:object size:0x4 data:string
|
||||
lbl_1_data_48F = .data:0x0000048F; // type:object size:0x5
|
||||
lbl_1_data_488 = .data:0x00000488; // type:object size:0x3 scope:local data:string
|
||||
lbl_1_data_48B = .data:0x0000048B; // type:object size:0x4 scope:local data:string
|
||||
lbl_1_data_48F = .data:0x0000048F; // type:object size:0x5 scope:local data:string
|
||||
lbl_1_data_494 = .data:0x00000494; // type:object size:0xC
|
||||
lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0xD data:string
|
||||
lbl_1_data_4AD = .data:0x000004AD; // type:object size:0x5 data:string
|
||||
lbl_1_data_4A0 = .data:0x000004A0; // type:object size:0xD scope:local data:string
|
||||
lbl_1_data_4AD = .data:0x000004AD; // type:object size:0x5 scope:local data:string
|
||||
lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x6
|
||||
lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0xC
|
||||
lbl_1_data_4C4 = .data:0x000004C4; // type:object size:0x3 data:string
|
||||
lbl_1_data_4C4 = .data:0x000004C4; // type:object size:0x3 scope:local data:string
|
||||
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
|
||||
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte
|
||||
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x8 data:2byte
|
||||
|
|
|
|||
|
|
@ -1415,7 +1415,7 @@ config.libs = [
|
|||
Object(Matching, "REL/w05Dll/monkey.c"),
|
||||
Object(Matching, "REL/w05Dll/dolphin.c"),
|
||||
Object(Matching, "REL/w05Dll/mg_item.c"),
|
||||
Object(NonMatching, "REL/w05Dll/mg_coin.c"),
|
||||
Object(Matching, "REL/w05Dll/mg_coin.c"),
|
||||
}
|
||||
),
|
||||
Rel('w06Dll',
|
||||
|
|
|
|||
|
|
@ -2,6 +2,36 @@
|
|||
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/map_object.h"
|
||||
#include "game/board/player.h"
|
||||
|
||||
// structs
|
||||
typedef struct bitcopy {
|
||||
u32 unk_00;
|
||||
s8 unk_04;
|
||||
} bitcopy;
|
||||
|
||||
typedef struct _dataCopy {
|
||||
s16 unk_00;
|
||||
s16 unk_02;
|
||||
s16 unk_04;
|
||||
s16 unk_06;
|
||||
s16 unk_08;
|
||||
s16 unk_0A[3];
|
||||
s16 unk_10;
|
||||
s16 unk_12;
|
||||
} dataCopy;
|
||||
|
||||
typedef struct _dataCopy2 {
|
||||
s16 unk_00;
|
||||
s16 unk_02;
|
||||
s16 unk_04;
|
||||
s16 unk_06;
|
||||
s16 unk_08;
|
||||
s16 unk_0A;
|
||||
Vec unk_0C[3];
|
||||
s16 unk_30;
|
||||
s16 unk_32;
|
||||
} dataCopy2;
|
||||
|
||||
// functions
|
||||
void BoardCreate(void);
|
||||
|
|
@ -50,19 +80,51 @@ void fn_1_6670(void);
|
|||
omObjData* fn_1_66C0(u32, Vec*);
|
||||
void fn_1_6914(omObjData*);
|
||||
|
||||
// unknown
|
||||
void fn_1_62AC(s32, Vec*);
|
||||
void fn_1_64BC();
|
||||
void fn_1_65E8();
|
||||
void fn_1_6670();
|
||||
omObjData* fn_1_66C0(u32, Vec*);
|
||||
void fn_1_6914(omObjData*);
|
||||
void fn_1_6B28(void);
|
||||
void fn_1_6B7C(void);
|
||||
void fn_1_7284(omObjData*);
|
||||
void fn_1_72E4(void);
|
||||
void fn_1_7314(void);
|
||||
void fn_1_73C0(void);
|
||||
void fn_1_74D0(s16[3]);
|
||||
void fn_1_77B0(void);
|
||||
void fn_1_78A0(omObjData*);
|
||||
void fn_1_7928(omObjData*);
|
||||
void fn_1_799C(void);
|
||||
void fn_1_7E4C(omObjData*);
|
||||
void fn_1_7E94(dataCopy*);
|
||||
void fn_1_7F04(omObjData*);
|
||||
void fn_1_80D8(omObjData*);
|
||||
void fn_1_8410(omObjData*);
|
||||
void fn_1_850C(omObjData*);
|
||||
void fn_1_8668(omObjData*);
|
||||
void fn_1_8798(dataCopy*, s32*, s32*, s32*);
|
||||
void* fn_1_8884(void);
|
||||
void fn_1_88B8(void);
|
||||
void fn_1_896C(void);
|
||||
void fn_1_91DC(void);
|
||||
void fn_1_9268(ModelData*, ParticleData*, f32[3][4]);
|
||||
|
||||
// structs
|
||||
typedef struct bitcopy {
|
||||
u32 unk_00;
|
||||
s8 unk_04;
|
||||
} bitcopy;
|
||||
void fn_1_9680(void);
|
||||
void fn_1_96B4(void);
|
||||
void fn_1_9760(void);
|
||||
void fn_1_97AC(void);
|
||||
void fn_1_9A68(omObjData*);
|
||||
void fn_1_9AC0(void);
|
||||
void fn_1_9AF0(void);
|
||||
void fn_1_9B74(void);
|
||||
void fn_1_9C24(omObjData*);
|
||||
void fn_1_9C98(dataCopy2*);
|
||||
void fn_1_9D0C(omObjData*);
|
||||
void fn_1_9F24(omObjData*);
|
||||
void fn_1_A224(omObjData*);
|
||||
void fn_1_A4F8(omObjData*);
|
||||
void fn_1_A5B0(omObjData*);
|
||||
void fn_1_A990(omObjData*);
|
||||
void fn_1_AB24(void);
|
||||
void fn_1_B214(omObjData*);
|
||||
void fn_1_B2B0(omObjData*, u16*, s16*);
|
||||
void fn_1_B3C4(omObjData*);
|
||||
|
||||
// data
|
||||
extern BoardMapObject lbl_1_data_0[7];
|
||||
|
|
@ -94,7 +156,51 @@ extern Vec lbl_1_data_2A4[6];
|
|||
extern s32 lbl_1_data_2EC[2];
|
||||
extern s32 lbl_1_data_2F4[6];
|
||||
|
||||
extern s32 lbl_1_data_310[2];
|
||||
extern char *lbl_1_data_330[3];
|
||||
extern s32 lbl_1_data_350[14];
|
||||
extern s32 lbl_1_data_350[14];
|
||||
extern s16 lbl_1_data_388[92];
|
||||
extern f32 lbl_1_data_440[3];
|
||||
|
||||
extern char *lbl_1_data_464[3];
|
||||
extern s32 lbl_1_data_470[3];
|
||||
extern s32 lbl_1_data_47C[3];
|
||||
extern char *lbl_1_data_494[3];
|
||||
extern s16 lbl_1_data_4B2[3];
|
||||
extern s32 lbl_1_data_4B8[3];
|
||||
|
||||
// bss
|
||||
extern s16 lbl_1_bss_102[3];
|
||||
extern s16 lbl_1_bss_100;
|
||||
extern s16 lbl_1_bss_FE;
|
||||
extern s16 lbl_1_bss_D6[20];
|
||||
extern s16 lbl_1_bss_D4;
|
||||
extern omObjData* lbl_1_bss_D0;
|
||||
extern omObjData* lbl_1_bss_CC;
|
||||
extern omObjData* lbl_1_bss_C8;
|
||||
extern s16 lbl_1_bss_C6;
|
||||
extern s16 lbl_1_bss_C4;
|
||||
extern s16 lbl_1_bss_C2;
|
||||
extern s16 lbl_1_bss_C0;
|
||||
extern u32 lbl_1_bss_BC;
|
||||
extern s32 lbl_1_bss_B8;
|
||||
|
||||
extern s16 lbl_1_bss_B6;
|
||||
extern s16 lbl_1_bss_B0[3];
|
||||
extern s16 lbl_1_bss_AA[3];
|
||||
extern s16 lbl_1_bss_A4[3];
|
||||
extern s16 lbl_1_bss_A2;
|
||||
extern s16 lbl_1_bss_9E[2];
|
||||
extern s16 lbl_1_bss_9C;
|
||||
extern Process* lbl_1_bss_98;
|
||||
extern omObjData* lbl_1_bss_94;
|
||||
extern omObjData* lbl_1_bss_90;
|
||||
extern omObjData* lbl_1_bss_8C;
|
||||
extern s32 lbl_1_bss_88;
|
||||
extern s32 lbl_1_bss_7C[3];
|
||||
extern AnimData* lbl_1_bss_78;
|
||||
|
||||
extern s16 lbl_1_bss_72[2];
|
||||
extern s16 lbl_1_bss_6C[3];
|
||||
extern s32 lbl_1_bss_68;
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ s32 BoardModelAttrReset(s16 model, u32 attr);
|
|||
s32 BoardModelMotionTimeSet(s16 model, float time);
|
||||
float BoardModelMotionTimeGet(s16 model);
|
||||
float BoardModelMotionMaxTimeGet(s16 model);
|
||||
float BoardModelMotionSpeedGet(s16 model);
|
||||
s32 BoardModelMotionSpeedSet(s16 model, float speed);
|
||||
s32 BoardModelMotionEndCheck(s16 model);
|
||||
s32 BoardModelAlphaSet(s16 model, u8 alpha);
|
||||
|
|
|
|||
|
|
@ -15,19 +15,6 @@
|
|||
#include "game/board/star.h"
|
||||
#include "game/board/window.h"
|
||||
|
||||
// #include "REL/w05Dll/mg_item.h"
|
||||
extern void fn_1_6B28(void);
|
||||
extern void fn_1_6B7C(void);
|
||||
extern void fn_1_7314(void);
|
||||
extern void fn_1_77B0(void);
|
||||
extern void fn_1_88B8(void);
|
||||
// #include "REL/w05Dll/mg_coin.h"
|
||||
extern u32 fn_1_8884(void);
|
||||
extern void fn_1_9680(void);
|
||||
extern void fn_1_96B4(void);
|
||||
extern void fn_1_9760(void);
|
||||
extern void fn_1_97AC(void);
|
||||
|
||||
// data
|
||||
BoardMapObject lbl_1_data_0[7] = {
|
||||
{ { 3300.0f, 100.0f, -900.0f },
|
||||
|
|
@ -254,7 +241,7 @@ void fn_1_954(void) {
|
|||
lbl_1_bss_8[0] = 0;
|
||||
|
||||
for (var_r31 = 1; var_r31 < 3;) {
|
||||
lbl_1_bss_8[var_r31] = frandmod(0xE);
|
||||
lbl_1_bss_8[var_r31] = (u32)frandmod(0xE);
|
||||
if ((lbl_1_bss_8[var_r31] == 0xA) || (lbl_1_bss_8[var_r31] == 0xD)) {
|
||||
continue;
|
||||
}
|
||||
|
|
@ -268,7 +255,7 @@ void fn_1_954(void) {
|
|||
}
|
||||
var_r31++;
|
||||
}
|
||||
fn_1_74D0(&lbl_1_bss_8);
|
||||
fn_1_74D0(lbl_1_bss_8);
|
||||
BoardWinCreateChoice(2, 0x27000A, 7, 0);
|
||||
if (GWPlayer[temp_r30].com != 0) {
|
||||
if (BoardComPreferItemCheck(temp_r30, lbl_1_bss_8[0], lbl_1_bss_8[1], lbl_1_bss_8[2]) != -1) {
|
||||
|
|
@ -281,7 +268,7 @@ void fn_1_954(void) {
|
|||
BoardWinKill();
|
||||
var_r28 = BoardWinChoiceGet();
|
||||
if (var_r28 == 1 || var_r28 == -1) {
|
||||
while ((fn_1_8884() & 0x10) == 0) {
|
||||
while (((u32)fn_1_8884() & 0x10) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardWinCreate(2, 0x27000B, 7);
|
||||
|
|
@ -304,7 +291,7 @@ void fn_1_954(void) {
|
|||
sp8.z = 0.0f;
|
||||
BoardCameraMotionStartEx(lbl_1_bss_14[0], &sp14, &sp8, 1250.0f, 25.0f, 0x15);
|
||||
|
||||
while ((fn_1_8884() & 0x10) == 0) {
|
||||
while (((u32)fn_1_8884() & 0x10) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
temp_r27 = GWPlayer[temp_r30].space_curr;
|
||||
|
|
|
|||
534
src/REL/w05Dll/mg_coin.c
Normal file
534
src/REL/w05Dll/mg_coin.c
Normal file
|
|
@ -0,0 +1,534 @@
|
|||
#include "REL/w05Dll.h"
|
||||
|
||||
#include "game/hsfdraw.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/objsub.h"
|
||||
#include "game/frand.h"
|
||||
#include "game/chrman.h"
|
||||
#include "game/pad.h"
|
||||
#include "game/minigame_seq.h"
|
||||
|
||||
#include "game/board/model.h"
|
||||
#include "game/board/window.h"
|
||||
#include "game/board/audio.h"
|
||||
|
||||
s16 lbl_1_bss_102[3];
|
||||
s16 lbl_1_bss_100;
|
||||
s16 lbl_1_bss_FE;
|
||||
s16 lbl_1_bss_D6[20];
|
||||
s16 lbl_1_bss_D4;
|
||||
omObjData* lbl_1_bss_D0;
|
||||
omObjData* lbl_1_bss_CC;
|
||||
omObjData* lbl_1_bss_C8;
|
||||
s16 lbl_1_bss_C6;
|
||||
s16 lbl_1_bss_C4;
|
||||
s16 lbl_1_bss_C2;
|
||||
s16 lbl_1_bss_C0;
|
||||
u32 lbl_1_bss_BC;
|
||||
s32 lbl_1_bss_B8;
|
||||
|
||||
char *lbl_1_data_464[3] = { "gyoei", "gyoei1", "gyoei2" };
|
||||
s32 lbl_1_data_470[3] = { 0x7B, 0x7C, 0x7D };
|
||||
s32 lbl_1_data_47C[3] = { 0x00790016, 0x00790017, 0x00790018 };
|
||||
char *lbl_1_data_494[3] = { "uo", "uo1", "uo2" };
|
||||
|
||||
void fn_1_9680(void) {
|
||||
BoardModelAttrSet(lbl_1_bss_14[1], 0x40000002U);
|
||||
}
|
||||
|
||||
void fn_1_96B4(void) {
|
||||
BoardModelAttrReset(lbl_1_bss_14[1], 0x40000002);
|
||||
BoardModelMotionTimeSet(lbl_1_bss_14[1], 0.0f);
|
||||
|
||||
while (BoardModelMotionTimeGet(lbl_1_bss_14[1]) < 60.0f) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardModelAttrSet(lbl_1_bss_14[1], 0x40000001);
|
||||
BoardModelMotionStartEndSet(lbl_1_bss_14[1], 0x3C, 0x64);
|
||||
}
|
||||
|
||||
void fn_1_9760(void) {
|
||||
BoardModelAttrReset(lbl_1_bss_14[1], 0x40000001);
|
||||
BoardModelMotionStartEndSet(lbl_1_bss_14[1], 0, 0xA0);
|
||||
}
|
||||
|
||||
void fn_1_97AC(void) {
|
||||
Vec sp8;
|
||||
s32 var_r31;
|
||||
|
||||
lbl_1_bss_C0 = GWSystem.player_curr;
|
||||
|
||||
for (var_r31 = 0; var_r31 < 3; var_r31++) {
|
||||
lbl_1_bss_102[var_r31] = BoardPlayerMotionCreate(lbl_1_bss_C0, lbl_1_data_470[var_r31] | lbl_1_data_124[GWPlayer[lbl_1_bss_C0].character]);
|
||||
}
|
||||
sp8.x = sp8.y = sp8.z = 1.0f;
|
||||
lbl_1_bss_100 = BoardModelCreate(0x790015, NULL, 0);
|
||||
BoardModelScaleSetV(lbl_1_bss_100, &sp8);
|
||||
BoardModelVisibilitySet(lbl_1_bss_100, 0);
|
||||
lbl_1_bss_D4 = BoardModelCreate(0x79002C, NULL, 0);
|
||||
BoardModelVisibilitySet(lbl_1_bss_D4, 0);
|
||||
lbl_1_bss_C2 = frandmod(3U);
|
||||
lbl_1_bss_FE = BoardModelCreate(lbl_1_data_47C[lbl_1_bss_C2], NULL, 0);
|
||||
BoardModelVisibilitySet(lbl_1_bss_FE, 0);
|
||||
|
||||
for (var_r31 = 0; var_r31 < 0x14; var_r31++) {
|
||||
lbl_1_bss_D6[var_r31] = BoardModelCreate(0x7000A, NULL, 1);
|
||||
BoardModelVisibilitySet(lbl_1_bss_D6[var_r31], 0);
|
||||
}
|
||||
BoardPlayerPostTurnHookSet(lbl_1_bss_C0, (s32 (*)())fn_1_9B74);
|
||||
lbl_1_bss_CC = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_9A68);
|
||||
lbl_1_bss_D0 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_9C24);
|
||||
lbl_1_bss_C6 = 0;
|
||||
lbl_1_bss_C4 = 0;
|
||||
}
|
||||
|
||||
void fn_1_9A68(omObjData* arg0) {
|
||||
if ((lbl_1_bss_C4 != 0) && (BoardMGDoneFlagGet() == 1)) {
|
||||
fn_1_9AF0();
|
||||
omDelObjEx(boardObjMan, arg0);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_9AC0(void) {
|
||||
lbl_1_bss_C4 = 1;
|
||||
BoardMGExit();
|
||||
}
|
||||
|
||||
void fn_1_9AF0(void) {
|
||||
s32 var_r31;
|
||||
|
||||
omDelObjEx(boardObjMan, lbl_1_bss_D0);
|
||||
|
||||
for (var_r31 = 0; var_r31 < 0x14; var_r31++) {
|
||||
BoardModelKill(lbl_1_bss_D6[var_r31]);
|
||||
}
|
||||
BoardModelKill(lbl_1_bss_D4);
|
||||
BoardMGDoneFlagSet(0);
|
||||
}
|
||||
|
||||
void fn_1_9B74(void) {
|
||||
HsfObject *var_r31;
|
||||
omDelObjEx(boardObjMan, lbl_1_bss_C8);
|
||||
BoardModelKill(lbl_1_bss_FE);
|
||||
var_r31 = Hu3DModelObjPtrGet(BoardModelIDGet(lbl_1_bss_14[1]), lbl_1_data_464[lbl_1_bss_B8]);
|
||||
var_r31->type = lbl_1_bss_BC;
|
||||
BoardModelAttrReset(lbl_1_bss_14[1], 0x40000004);
|
||||
}
|
||||
|
||||
void fn_1_9C24(omObjData* arg0) {
|
||||
if (arg0->work[0] == 0) {
|
||||
arg0->work[0] = MGSeqCreate(3, 0);
|
||||
return;
|
||||
}
|
||||
if (MGSeqStatGet(arg0->work[0]) == 0) {
|
||||
arg0->func = fn_1_9D0C;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_9C98(dataCopy2* arg0) {
|
||||
Vec sp8;
|
||||
Vec temp_r4;
|
||||
|
||||
sp8 = arg0->unk_0C[arg0->unk_08];
|
||||
sp8.y += 50.0f;
|
||||
BoardModelPosSetV(arg0->unk_0A, &sp8);
|
||||
}
|
||||
|
||||
void fn_1_9D0C(omObjData* arg0) {
|
||||
Vec sp1C;
|
||||
Vec sp10;
|
||||
f32 spC;
|
||||
f32 sp8;
|
||||
s32 var_r30;
|
||||
dataCopy2* temp_r31;
|
||||
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x34, 0x10000000);
|
||||
temp_r31 = arg0->data;
|
||||
temp_r31->unk_02 = 5;
|
||||
temp_r31->unk_04 = 0x3C;
|
||||
temp_r31->unk_00 = MGSeqCreate(1, temp_r31->unk_02, 0x120, 0x40);
|
||||
HuWinMesMaxSizeGet(1, &sp8, 0x27000E);
|
||||
temp_r31->unk_06 = HuWinCreate(-10000.0f, 368.0f, sp8, spC, 0);
|
||||
HuWinMesSet(temp_r31->unk_06, 0x27000E);
|
||||
HuWinBGTPLvlSet(temp_r31->unk_06, 0.0f);
|
||||
HuWinMesSpeedSet(temp_r31->unk_06, 0);
|
||||
temp_r31->unk_08 = 1;
|
||||
temp_r31->unk_30 = frandmod(0x1EU) + 15;
|
||||
temp_r31->unk_32 = 0;
|
||||
|
||||
for (var_r30 = 0; var_r30 < 3; var_r30++) {
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[1]), lbl_1_data_494[var_r30], &temp_r31->unk_0C[var_r30]);
|
||||
}
|
||||
temp_r31->unk_0A = BoardModelCreate(0x790019, NULL, 0);
|
||||
BoardModelAttrSet(temp_r31->unk_0A, 0x40000001);
|
||||
sp1C.x = sp1C.y = sp1C.z = 1.5f;
|
||||
BoardModelScaleSetV(temp_r31->unk_0A, &sp1C);
|
||||
sp10 = temp_r31->unk_0C[temp_r31->unk_08];
|
||||
sp10.y += 50.0f;
|
||||
BoardModelPosSetV(temp_r31->unk_0A, &sp10);
|
||||
arg0->func = fn_1_9F24;
|
||||
}
|
||||
|
||||
void fn_1_9F24(omObjData* arg0) {
|
||||
Vec sp24;
|
||||
Vec sp18;
|
||||
Vec spC;
|
||||
u16 spA;
|
||||
s16 sp8;
|
||||
f32 var_f31;
|
||||
u16 temp_r29;
|
||||
dataCopy2* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
if (--temp_r31->unk_04 == 0) {
|
||||
temp_r31->unk_04 = 0x3C;
|
||||
if (--temp_r31->unk_02 >= 0) {
|
||||
MGSeqParamSet(temp_r31->unk_00, 1, temp_r31->unk_02);
|
||||
}
|
||||
}
|
||||
BoardPlayerPosGet(lbl_1_bss_C0, &sp24);
|
||||
temp_r29 = GWPlayer[lbl_1_bss_C0].port;
|
||||
if (GWPlayer[lbl_1_bss_C0].com != 0) {
|
||||
fn_1_B2B0(arg0, &spA, &sp8);
|
||||
} else {
|
||||
sp8 = HuPadDStkRep[temp_r29];
|
||||
spA = HuPadBtnDown[temp_r29];
|
||||
}
|
||||
if (((spA & 0x100) != 0) || (temp_r31->unk_02 < 0)) {
|
||||
HuAudFXPlay(2);
|
||||
MGSeqParamSet(temp_r31->unk_00, 2, -1);
|
||||
HuWinKill(temp_r31->unk_06);
|
||||
BoardModelKill(temp_r31->unk_0A);
|
||||
BoardPlayerMotionStart(lbl_1_bss_C0, lbl_1_bss_102[0], 0);
|
||||
BoardPlayerMotionSpeedSet(lbl_1_bss_C0, 0.5f);
|
||||
arg0->func = fn_1_A224;
|
||||
} else if ((temp_r31->unk_08 != 0) && ((sp8 & 1) != 0)) {
|
||||
HuAudFXPlay(0);
|
||||
temp_r31->unk_08--;
|
||||
} else if ((temp_r31->unk_08 != 2) && ((sp8 & 2) != 0)) {
|
||||
HuAudFXPlay(0);
|
||||
temp_r31->unk_08++;
|
||||
}
|
||||
sp18 = temp_r31->unk_0C[temp_r31->unk_08];
|
||||
var_f31 = (180.0 * (atan2((sp18.x - sp24.x), (sp18.z - sp24.z)) / M_PI));
|
||||
BoardPlayerRotYSet(lbl_1_bss_C0, var_f31);
|
||||
spC = temp_r31->unk_0C[temp_r31->unk_08];
|
||||
spC.y += 50.0f;
|
||||
BoardModelPosSetV(temp_r31->unk_0A, &spC);
|
||||
}
|
||||
|
||||
void fn_1_A224(omObjData* arg0) {
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
f32 temp_f31;
|
||||
|
||||
temp_f31 = BoardPlayerMotionMaxTimeGet(lbl_1_bss_C0);
|
||||
if (BoardPlayerMotionTimeGet(lbl_1_bss_C0) >= temp_f31) {
|
||||
HuAudFXPlay(0x350);
|
||||
BoardPlayerPosGet(lbl_1_bss_C0, &sp14);
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(BoardPlayerModelGet(lbl_1_bss_C0)), "a-itemhook-r", &sp8);
|
||||
sp8.x -= 20.0f;
|
||||
sp8.y += 25.0f;
|
||||
sp8.z += 80.0f;
|
||||
CharModelLayerSetAll(7);
|
||||
CharModelEffectCreate(-1, &sp8);
|
||||
BoardModelVisibilitySet(lbl_1_bss_100, 1);
|
||||
BoardModelMotionTimeSet(lbl_1_bss_100, 0.0f);
|
||||
BoardModelAttrSet(lbl_1_bss_100, 0x40000002);
|
||||
BoardModelHookSet(BoardPlayerModelGet(lbl_1_bss_C0), "a-itemhook-r", lbl_1_bss_100);
|
||||
BoardModelMotionSpeedSet(lbl_1_bss_100, 1.5f);
|
||||
BoardPlayerMotionStart(lbl_1_bss_C0, lbl_1_bss_102[1], 0);
|
||||
BoardPlayerMotionSpeedSet(lbl_1_bss_C0, 0.5f);
|
||||
switch (lbl_1_bss_C2) {
|
||||
case 0:
|
||||
omVibrate(lbl_1_bss_C0, 0x7FFF, 0xC, 0);
|
||||
break;
|
||||
case 1:
|
||||
omVibrate(lbl_1_bss_C0, 0x7FFF, 4, 2);
|
||||
break;
|
||||
case 2:
|
||||
omVibrate(lbl_1_bss_C0, 0x7FFF, 6, 6);
|
||||
break;
|
||||
}
|
||||
arg0->func = fn_1_A4F8;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_A4F8(omObjData* arg0) {
|
||||
f32 temp_f31;
|
||||
|
||||
temp_f31 = BoardPlayerMotionMaxTimeGet(lbl_1_bss_C0);
|
||||
if ((6.0f + BoardPlayerMotionTimeGet(lbl_1_bss_C0)) >= temp_f31) {
|
||||
BoardModelMotionTimeSet(lbl_1_bss_100, 0.0f);
|
||||
BoardModelAttrReset(lbl_1_bss_100, 0x40000002);
|
||||
arg0->func = fn_1_A5B0;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_A5B0(omObjData* arg0) {
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
HsfObject* temp_r28;
|
||||
dataCopy2* temp_r30;
|
||||
omObjData* temp_r29;
|
||||
Vec* temp_r31;
|
||||
f32 temp_f30;
|
||||
f32 var_f31;
|
||||
|
||||
temp_r30 = arg0->data;
|
||||
temp_f30 = BoardModelMotionMaxTimeGet(lbl_1_bss_100);
|
||||
if (BoardModelMotionTimeGet(lbl_1_bss_100) >= temp_f30) {
|
||||
BoardAudSeqFadeOut(1, 0x64);
|
||||
HuAudFXPlay(0x485);
|
||||
temp_r28 = Hu3DModelObjPtrGet(BoardModelIDGet(lbl_1_bss_14[1]), lbl_1_data_464[temp_r30->unk_08]);
|
||||
lbl_1_bss_BC = temp_r28->type;
|
||||
lbl_1_bss_B8 = temp_r30->unk_08;
|
||||
temp_r28->type = -1;
|
||||
BoardModelAttrSet(lbl_1_bss_100, 0x40000004);
|
||||
HuPadRumbleStop(GWPlayer[lbl_1_bss_C0].port);
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[1]), lbl_1_data_494[temp_r30->unk_08], &sp14);
|
||||
BoardModelPosSetV(lbl_1_bss_FE, &sp14);
|
||||
BoardModelAttrSet(lbl_1_bss_FE, 0x40000001);
|
||||
BoardModelVisibilitySet(lbl_1_bss_FE, 1);
|
||||
sp8.x = sp8.y = sp8.z = 0.8f;
|
||||
BoardModelScaleSetV(lbl_1_bss_D4, &sp8);
|
||||
BoardModelPosSetV(lbl_1_bss_D4, &sp14);
|
||||
BoardModelVisibilitySet(lbl_1_bss_D4, 1);
|
||||
BoardModelMotionTimeSet(lbl_1_bss_D4, 110.0f);
|
||||
lbl_1_bss_C8 = temp_r29 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_B3C4);
|
||||
temp_r29->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, 0x10000000);
|
||||
temp_r31 = temp_r29->data;
|
||||
lbl_1_bss_C8->work[1] = 1;
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[1]), "fish", &sp14);
|
||||
BoardModelPosGet(lbl_1_bss_FE, &sp8);
|
||||
sp14.y = sp8.y;
|
||||
PSVECSubtract(&sp14, &sp8, temp_r31);
|
||||
var_f31 = PSVECMag(temp_r31);
|
||||
PSVECNormalize(temp_r31, temp_r31);
|
||||
var_f31 /= 38.0f;
|
||||
PSVECScale(temp_r31, temp_r31, var_f31);
|
||||
temp_r31->y = 25.0f;
|
||||
temp_r29->trans.x = var_f31;
|
||||
BoardPlayerMotionStart(lbl_1_bss_C0, lbl_1_bss_102[2], 0);
|
||||
BoardPlayerMotionSpeedSet(lbl_1_bss_C0, 0.5f);
|
||||
BoardModelAttrReset(lbl_1_bss_14[1], 0x40000001);
|
||||
BoardModelMotionStartEndSet(lbl_1_bss_14[1], 0, 0xA0);
|
||||
arg0->func = fn_1_A990;
|
||||
return;
|
||||
}
|
||||
var_f31 = BoardModelMotionSpeedGet(lbl_1_bss_100);
|
||||
var_f31 -= 0.1f;
|
||||
if (var_f31 < 1.0f) {
|
||||
var_f31 = 1.0f;
|
||||
}
|
||||
BoardModelMotionSpeedSet(lbl_1_bss_100, var_f31);
|
||||
}
|
||||
|
||||
void fn_1_A990(omObjData* arg0) {
|
||||
Vec sp8;
|
||||
Process *var_r31;
|
||||
|
||||
if (BoardModelMotionTimeGet(lbl_1_bss_100) <= 0.0f) {
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(BoardPlayerModelGet(lbl_1_bss_C0)), "a-itemhook-r", &sp8);
|
||||
sp8.x += 20.0f;
|
||||
sp8.y += 25.0f;
|
||||
sp8.z += 80.0f;
|
||||
CharModelLayerSetAll(7);
|
||||
HuAudFXPlay(0x351);
|
||||
CharModelEffectCreate(-1, &sp8);
|
||||
BoardModelHookReset(BoardPlayerModelGet(lbl_1_bss_C0));
|
||||
BoardModelKill(lbl_1_bss_100);
|
||||
var_r31 = HuPrcCreate(fn_1_AB24, 0x2004, 0x1800, 0);
|
||||
var_r31->user_data = arg0;
|
||||
arg0->func = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
s16 lbl_1_data_4B2[3] = { 20, 10, 5 };
|
||||
s32 lbl_1_data_4B8[3] = { 0x00270013, 0x00270014, 0x00270015 };
|
||||
|
||||
void fn_1_AB24(void) {
|
||||
Vec sp124[20];
|
||||
Vec sp34[20];
|
||||
Vec sp28;
|
||||
Vec sp1C;
|
||||
Vec sp10;
|
||||
void *spC;
|
||||
char sp8;
|
||||
f32 var_f31;
|
||||
omObjData *temp_r30;
|
||||
s32 var_r29;
|
||||
s32 var_r31;
|
||||
f32 var_f30;
|
||||
Vec* temp_r4;
|
||||
|
||||
temp_r30 = HuPrcCurrentGet()->user_data;
|
||||
spC = temp_r30->data;
|
||||
BoardPlayerPosGet(lbl_1_bss_C0, &sp28);
|
||||
BoardModelPosGet(lbl_1_bss_14[5], &sp1C);
|
||||
var_f30 = (180.0 * (atan2((sp1C.z - sp28.z), (sp1C.x - sp28.x)) / M_PI));
|
||||
BoardPlayerMotBlendSet(lbl_1_bss_C0, var_f30, 0xF);
|
||||
|
||||
while (BoardPlayerMotBlendCheck(lbl_1_bss_C0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
HuPrcSleep(0x1E);
|
||||
lbl_1_bss_C6 = lbl_1_data_4B2[lbl_1_bss_C2];
|
||||
BoardAudSeqPause(0, 0, 0x3E8);
|
||||
sprintf(&sp8, "%d", lbl_1_bss_C6);
|
||||
BoardWinCreate(2, 0x270011, 7);
|
||||
BoardWinInsertMesSet((u32)&sp8, 0);
|
||||
BoardWinInsertMesSet(lbl_1_data_4B8[lbl_1_bss_C2], 1);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
BoardPlayerMotBlendSet(lbl_1_bss_C0, 0, 0xF);
|
||||
|
||||
while (BoardPlayerMotBlendCheck(lbl_1_bss_C0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardPlayerPosGet(lbl_1_bss_C0, &sp28);
|
||||
|
||||
for (var_r31 = 0; var_r31 < lbl_1_bss_C6; var_r31++) {
|
||||
BoardModelVisibilitySet(lbl_1_bss_D6[var_r31], 1);
|
||||
sp124[var_r31] = sp28;
|
||||
sp124[var_r31].y += (800.0f + (var_r31 * 0x78));
|
||||
sp124[var_r31].x += (-25.0f + (0.003921569f * (50.0f * (s32)(u8)frand())));
|
||||
sp124[var_r31].z += (-25.0f + (0.003921569f * (50.0f * (s32)(u8)frand())));
|
||||
sp34[var_r31].x = sp34[var_r31].z = 0.0f;
|
||||
sp34[var_r31].y = 0.003921569f * (360.0f * (s32)(u8)frand());
|
||||
BoardModelPosSetV(lbl_1_bss_D6[var_r31], &sp124[var_r31]);
|
||||
BoardModelRotSetV(lbl_1_bss_D6[var_r31], &sp34[var_r31]);
|
||||
}
|
||||
var_f31 = -1.0f;
|
||||
var_r29 = 0;
|
||||
|
||||
loop_10:
|
||||
for (var_r31 = 0; var_r31 < lbl_1_bss_C6; var_r31++) {
|
||||
if (var_r31 >= var_r29) {
|
||||
sp124[var_r31].y += var_f31;
|
||||
BoardModelPosSetV(lbl_1_bss_D6[var_r31], &sp124[var_r31]);
|
||||
sp34[var_r31].y += 45.0f;
|
||||
if (sp34[var_r31].y >= 360.0f) {
|
||||
sp34[var_r31].y -= 360.0f;
|
||||
}
|
||||
BoardModelRotSetV(lbl_1_bss_D6[var_r31], &sp34[var_r31]);
|
||||
if (sp124[var_r31].y <= (80.0f + sp28.y)) {
|
||||
sp10 = sp124[var_r31];
|
||||
CharModelCoinEffectCreate(1, &sp10);
|
||||
BoardModelVisibilitySet(lbl_1_bss_D6[var_r31], 0);
|
||||
var_r29++;
|
||||
BoardPlayerCoinsAdd(lbl_1_bss_C0, 1);
|
||||
HuAudFXPlay(7);
|
||||
omVibrate(lbl_1_bss_C0, 0xC, 6, 6);
|
||||
}
|
||||
}
|
||||
}
|
||||
var_f31 *= 1.05f;
|
||||
if (var_f31 < -20.0f) {
|
||||
var_f31 = -20.0f;
|
||||
}
|
||||
if (var_r29 == lbl_1_bss_C6) {
|
||||
BoardPlayerMotionShiftSet(lbl_1_bss_C0, 7, 0.0f, 10.0f, 0);
|
||||
} else {
|
||||
HuPrcVSleep();
|
||||
goto loop_10;
|
||||
}
|
||||
|
||||
while (BoardPlayerMotionEndCheck(lbl_1_bss_C0) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
BoardWinCreate(2, 0x270012, 7);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
temp_r30->func = fn_1_B214;
|
||||
HuPrcEnd();
|
||||
}
|
||||
|
||||
void fn_1_B214(omObjData* arg0) {
|
||||
s32 var_r31;
|
||||
|
||||
for (var_r31 = 0; var_r31 < 3; var_r31++) {
|
||||
BoardPlayerMotionKill(lbl_1_bss_C0, lbl_1_bss_102[var_r31]);
|
||||
}
|
||||
lbl_1_bss_C4 = 1;
|
||||
BoardMGExit();
|
||||
lbl_1_bss_C8->work[1] = 0;
|
||||
omDelObjEx(boardObjMan, arg0);
|
||||
}
|
||||
|
||||
void fn_1_B2B0(omObjData* arg0, u16* arg1, s16* arg2) {
|
||||
dataCopy2* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
*arg1 = 0;
|
||||
*arg2 = 0;
|
||||
if (temp_r31->unk_30 != 0) {
|
||||
temp_r31->unk_30 -= 1;
|
||||
return;
|
||||
}
|
||||
temp_r31->unk_30 = (frandmod(0x32U) + 15);
|
||||
if (temp_r31->unk_32 == 4) {
|
||||
*arg1 = 0x100;
|
||||
return;
|
||||
}
|
||||
if ((s32)frandmod(0xAU) < 2) {
|
||||
*arg1 = 0x100;
|
||||
return;
|
||||
}
|
||||
if (temp_r31->unk_08 == 0) {
|
||||
*arg2 = 2;
|
||||
return;
|
||||
}
|
||||
if (temp_r31->unk_08 == 2) {
|
||||
*arg2 = 1;
|
||||
return;
|
||||
}
|
||||
if (frandBool() != 0) {
|
||||
*arg2 = 1;
|
||||
return;
|
||||
}
|
||||
*arg2 = 2;
|
||||
}
|
||||
|
||||
void fn_1_B3C4(omObjData* arg0) {
|
||||
Vec sp2C;
|
||||
Vec sp20;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
f32 temp_f30;
|
||||
f32 temp_f29;
|
||||
f32 temp_f31;
|
||||
|
||||
if (BoardIsKill() == 0) {
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[1]), "fish", &sp14);
|
||||
sp2C = *(Vec *)arg0->data;
|
||||
temp_f31 = arg0->work[0];
|
||||
temp_f30 = sp2C.y;
|
||||
sp2C.y = temp_f30 - (0.11666667f * (0.25f * (temp_f31 * temp_f31)));
|
||||
BoardModelPosGet(lbl_1_bss_FE, &sp20);
|
||||
sp8.x = 0.0f;
|
||||
sp8.y = 180.0f;
|
||||
sp8.z = 0.0f;
|
||||
BoardModelRotSetV(lbl_1_bss_FE, &sp8);
|
||||
PSVECAdd(&sp20, &sp2C, &sp20);
|
||||
sp14.y = sp20.y;
|
||||
PSVECSubtract(&sp14, &sp20, &sp14);
|
||||
temp_f29 = PSVECMag(&sp14);
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[1]), "fish", &sp14);
|
||||
if (temp_f29 <= arg0->trans.x) {
|
||||
sp20.x = sp14.x;
|
||||
sp20.z = sp14.z;
|
||||
sp2C.x = sp2C.z = 0.0f;
|
||||
*(Vec *)arg0->data = sp2C;
|
||||
}
|
||||
if ((sp20.y <= sp14.y) && (sp2C.y < 0.0f)) {
|
||||
sp20.y = sp14.y;
|
||||
if ((0.0f == BoardModelMotionTimeGet(lbl_1_bss_FE)) && (arg0->work[1] != 0)) {
|
||||
HuAudFXPlay(0x484);
|
||||
}
|
||||
} else {
|
||||
arg0->work[0] += 1;
|
||||
}
|
||||
BoardModelPosSetV(lbl_1_bss_FE, &sp20);
|
||||
}
|
||||
}
|
||||
|
|
@ -9,21 +9,9 @@
|
|||
#include "game/minigame_seq.h"
|
||||
|
||||
#include "game/board/model.h"
|
||||
#include "game/board/player.h"
|
||||
#include "game/board/window.h"
|
||||
#include "game/board/audio.h"
|
||||
|
||||
typedef struct UnkStruct {
|
||||
s16 unk_00;
|
||||
s16 unk_02;
|
||||
s16 unk_04;
|
||||
s16 unk_06;
|
||||
s16 unk_08;
|
||||
s16 unk_0A[3];
|
||||
s16 unk_10;
|
||||
s16 unk_12;
|
||||
} unkStruct;
|
||||
|
||||
// data
|
||||
s32 lbl_1_data_310[2] = { 0x79, 0x7A };
|
||||
char *lbl_1_data_330[3] = { "suika1", "suika2", "suika3" };
|
||||
|
|
@ -44,24 +32,6 @@ s32 lbl_1_bss_88;
|
|||
s32 lbl_1_bss_7C[3];
|
||||
AnimData* lbl_1_bss_78;
|
||||
|
||||
// prototypes
|
||||
void fn_1_7284(omObjData*);
|
||||
void fn_1_7314(void);
|
||||
void fn_1_73C0(void);
|
||||
void fn_1_77B0(void);
|
||||
void fn_1_78A0(omObjData*);
|
||||
void fn_1_799C(void);
|
||||
void fn_1_7E4C(omObjData*);
|
||||
void fn_1_7F04(omObjData*);
|
||||
void fn_1_80D8(omObjData*);
|
||||
void fn_1_8410(omObjData*);
|
||||
void fn_1_850C(omObjData*);
|
||||
void fn_1_8668(omObjData*);
|
||||
void fn_1_8798(unkStruct*, s32*, s32*, s32*);
|
||||
void fn_1_88B8(void);
|
||||
void fn_1_896C(void);
|
||||
void fn_1_91DC(void);
|
||||
void fn_1_9268(ModelData*, ParticleData*, f32[3][4]);
|
||||
|
||||
void fn_1_6B28(void) {
|
||||
BoardModelAttrSet(*lbl_1_bss_14, 0x40000002U);
|
||||
|
|
@ -392,7 +362,7 @@ void fn_1_7E4C(omObjData* arg0) {
|
|||
omDelObjEx(boardObjMan, arg0);
|
||||
}
|
||||
|
||||
void fn_1_7E94(unkStruct* arg0) {
|
||||
void fn_1_7E94(dataCopy* arg0) {
|
||||
if (--arg0->unk_02 == 0) {
|
||||
arg0->unk_02 = 0x3C;
|
||||
if (--arg0->unk_00 >= 0) {
|
||||
|
|
@ -406,7 +376,7 @@ void fn_1_7F04(omObjData* arg0) {
|
|||
f32 sp8;
|
||||
s32 var_r30;
|
||||
s32 var_r28;
|
||||
unkStruct* temp_r31;
|
||||
dataCopy* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
temp_r31->unk_00 = 5;
|
||||
|
|
@ -447,7 +417,7 @@ void fn_1_80D8(omObjData* arg0) {
|
|||
f32 var_f31;
|
||||
s32 temp_r30;
|
||||
s32 var_r29;
|
||||
unkStruct* temp_r31;
|
||||
dataCopy* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
fn_1_7E94(temp_r31);
|
||||
|
|
@ -490,7 +460,7 @@ void fn_1_80D8(omObjData* arg0) {
|
|||
|
||||
void fn_1_8410(omObjData* arg0) {
|
||||
s32 temp_r30;
|
||||
unkStruct* temp_r31;
|
||||
dataCopy* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
if (BoardPlayerMotionTimeGet(lbl_1_bss_B6) >= 30.0f) {
|
||||
|
|
@ -544,7 +514,7 @@ void fn_1_8668(omObjData* arg0) {
|
|||
arg0->work[0] -= 1;
|
||||
}
|
||||
|
||||
void fn_1_8798(unkStruct* arg0, s32* arg1, s32* arg2, s32* arg3) {
|
||||
void fn_1_8798(dataCopy* arg0, s32* arg1, s32* arg2, s32* arg3) {
|
||||
*arg1 = *arg2 = *arg3 = 0;
|
||||
if (arg0->unk_10 != 0) {
|
||||
arg0->unk_10 -= 1;
|
||||
|
|
@ -556,11 +526,11 @@ void fn_1_8798(unkStruct* arg0, s32* arg1, s32* arg2, s32* arg3) {
|
|||
return;
|
||||
}
|
||||
arg0->unk_12 -= 1;
|
||||
if (((s32)frand() & 1) != 0) {
|
||||
*arg1 = ((frand() & 1) * 0x8C) - 0x46;
|
||||
if (frandBool() != 0) {
|
||||
*arg1 = (frandBool() * 0x8C) - 0x46;
|
||||
return;
|
||||
}
|
||||
*arg2 = ((frand() & 1) * 0x8C) - 0x46;
|
||||
*arg2 = (frandBool() * 0x8C) - 0x46;
|
||||
}
|
||||
|
||||
void* fn_1_8884(void) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue