Label rules board code
Will label unkw10Dll later
This commit is contained in:
parent
0e92b2ba09
commit
31ab3ea3cf
7 changed files with 535 additions and 538 deletions
|
|
@ -14,12 +14,13 @@ REL/w10Dll/main.c:
|
|||
.text start:0x000000E0 end:0x00000AEC
|
||||
.rodata start:0x00000010 end:0x00000038
|
||||
.data start:0x00000000 end:0x00000078
|
||||
.bss start:0x00000000 end:0x00000038
|
||||
.bss start:0x00000000 end:0x00000018
|
||||
|
||||
REL/w10Dll/host.c:
|
||||
.text start:0x00000AEC end:0x00000D2C
|
||||
.rodata start:0x00000038 end:0x00000048
|
||||
.data start:0x00000078 end:0x00000098
|
||||
.bss start:0x00000018 end:0x00000020
|
||||
|
||||
REL/w10Dll/scene.c:
|
||||
.text start:0x00000D2C end:0x00001984
|
||||
|
|
@ -29,3 +30,4 @@ REL/w10Dll/tutorial.c:
|
|||
.text start:0x00001984 end:0x0000206C
|
||||
.rodata start:0x00000058 end:0x00000070
|
||||
.data start:0x00000098 end:0x000002D4
|
||||
.bss start:0x00000020 end:0x00000038
|
||||
|
|
|
|||
|
|
@ -3,66 +3,66 @@ _prolog = .text:0x00000030; // type:function size:0x64 scope:global
|
|||
_epilog = .text:0x00000094; // type:function size:0x4C scope:global
|
||||
BoardCreate = .text:0x000000E0; // type:function size:0x5F8
|
||||
BoardDestroy = .text:0x000006D8; // type:function size:0x1E8
|
||||
fn_1_8C0 = .text:0x000008C0; // type:function size:0x44
|
||||
fn_1_904 = .text:0x00000904; // type:function size:0x4
|
||||
fn_1_908 = .text:0x00000908; // type:function size:0x4
|
||||
fn_1_90C = .text:0x0000090C; // type:function size:0x8
|
||||
LightSetHook = .text:0x000008C0; // type:function size:0x44 scope:local
|
||||
LightResetHook = .text:0x00000904; // type:function size:0x4 scope:local
|
||||
LandEvent = .text:0x00000908; // type:function size:0x4 scope:local
|
||||
WalkEvent = .text:0x0000090C; // type:function size:0x8 scope:local
|
||||
fn_1_914 = .text:0x00000914; // type:function size:0x4
|
||||
fn_1_918 = .text:0x00000918; // type:function size:0x4
|
||||
fn_1_91C = .text:0x0000091C; // type:function size:0x4
|
||||
WalkMiniEvent = .text:0x0000091C; // type:function size:0x4 scope:local
|
||||
fn_1_920 = .text:0x00000920; // type:function size:0x1CC
|
||||
fn_1_AEC = .text:0x00000AEC; // type:function size:0xB4
|
||||
fn_1_BA0 = .text:0x00000BA0; // type:function size:0x70
|
||||
fn_1_C10 = .text:0x00000C10; // type:function size:0x10
|
||||
fn_1_C20 = .text:0x00000C20; // type:function size:0x10C
|
||||
fn_1_D2C = .text:0x00000D2C; // type:function size:0x28
|
||||
fn_1_D54 = .text:0x00000D54; // type:function size:0x28
|
||||
fn_1_D7C = .text:0x00000D7C; // type:function size:0x28
|
||||
fn_1_DA4 = .text:0x00000DA4; // type:function size:0x28
|
||||
fn_1_DCC = .text:0x00000DCC; // type:function size:0x28
|
||||
fn_1_DF4 = .text:0x00000DF4; // type:function size:0x28
|
||||
fn_1_E1C = .text:0x00000E1C; // type:function size:0x28
|
||||
fn_1_E44 = .text:0x00000E44; // type:function size:0x50
|
||||
fn_1_E94 = .text:0x00000E94; // type:function size:0x28
|
||||
fn_1_EBC = .text:0x00000EBC; // type:function size:0x28
|
||||
fn_1_EE4 = .text:0x00000EE4; // type:function size:0x4
|
||||
fn_1_EE8 = .text:0x00000EE8; // type:function size:0x48
|
||||
fn_1_F30 = .text:0x00000F30; // type:function size:0x3C
|
||||
fn_1_F6C = .text:0x00000F6C; // type:function size:0x4C
|
||||
fn_1_FB8 = .text:0x00000FB8; // type:function size:0x58
|
||||
fn_1_1010 = .text:0x00001010; // type:function size:0x4C
|
||||
fn_1_105C = .text:0x0000105C; // type:function size:0x3C
|
||||
fn_1_1098 = .text:0x00001098; // type:function size:0x28
|
||||
fn_1_10C0 = .text:0x000010C0; // type:function size:0x38
|
||||
fn_1_10F8 = .text:0x000010F8; // type:function size:0x3C
|
||||
fn_1_1134 = .text:0x00001134; // type:function size:0x44
|
||||
fn_1_1178 = .text:0x00001178; // type:function size:0x28
|
||||
fn_1_11A0 = .text:0x000011A0; // type:function size:0x4C
|
||||
fn_1_11EC = .text:0x000011EC; // type:function size:0x54
|
||||
fn_1_1240 = .text:0x00001240; // type:function size:0x38
|
||||
fn_1_1278 = .text:0x00001278; // type:function size:0x28
|
||||
fn_1_12A0 = .text:0x000012A0; // type:function size:0x3C
|
||||
fn_1_12DC = .text:0x000012DC; // type:function size:0x28
|
||||
fn_1_1304 = .text:0x00001304; // type:function size:0x28
|
||||
fn_1_132C = .text:0x0000132C; // type:function size:0x28
|
||||
fn_1_1354 = .text:0x00001354; // type:function size:0x28
|
||||
fn_1_137C = .text:0x0000137C; // type:function size:0x28
|
||||
fn_1_13A4 = .text:0x000013A4; // type:function size:0x3C8
|
||||
fn_1_176C = .text:0x0000176C; // type:function size:0x30
|
||||
fn_1_179C = .text:0x0000179C; // type:function size:0x58
|
||||
fn_1_17F4 = .text:0x000017F4; // type:function size:0x40
|
||||
fn_1_1834 = .text:0x00001834; // type:function size:0x88
|
||||
fn_1_18BC = .text:0x000018BC; // type:function size:0x4C
|
||||
fn_1_1908 = .text:0x00001908; // type:function size:0x28
|
||||
fn_1_1930 = .text:0x00001930; // type:function size:0x28
|
||||
fn_1_1958 = .text:0x00001958; // type:function size:0x28
|
||||
fn_1_1980 = .text:0x00001980; // type:function size:0x4
|
||||
fn_1_1984 = .text:0x00001984; // type:function size:0x128
|
||||
fn_1_1AAC = .text:0x00001AAC; // type:function size:0x2BC
|
||||
fn_1_1D68 = .text:0x00001D68; // type:function size:0x84
|
||||
fn_1_1DEC = .text:0x00001DEC; // type:function size:0x50
|
||||
fn_1_1E3C = .text:0x00001E3C; // type:function size:0x174
|
||||
fn_1_1FB0 = .text:0x00001FB0; // type:function size:0xBC
|
||||
HostCreate = .text:0x00000AEC; // type:function size:0xB4
|
||||
HostWinExec = .text:0x00000BA0; // type:function size:0x70
|
||||
HostPosSet = .text:0x00000C10; // type:function size:0x10
|
||||
UpdateHost = .text:0x00000C20; // type:function size:0x10C scope:local
|
||||
TutorialStartExec = .text:0x00000D2C; // type:function size:0x28
|
||||
TutorialPreRollExec = .text:0x00000D54; // type:function size:0x28
|
||||
TutorialOrderExec = .text:0x00000D7C; // type:function size:0x28
|
||||
TutorialP1StartExec = .text:0x00000DA4; // type:function size:0x28
|
||||
TutorialP2StartExec = .text:0x00000DCC; // type:function size:0x28
|
||||
TutorialP3StartExec = .text:0x00000DF4; // type:function size:0x28
|
||||
TutorialP4StartExec = .text:0x00000E1C; // type:function size:0x28
|
||||
TutorialGameStartExec = .text:0x00000E44; // type:function size:0x50
|
||||
TutorialRollExec = .text:0x00000E94; // type:function size:0x28
|
||||
TutorialMoveExec = .text:0x00000EBC; // type:function size:0x28
|
||||
TutorialLandExec = .text:0x00000EE4; // type:function size:0x4
|
||||
TutorialLandBlueExec = .text:0x00000EE8; // type:function size:0x48
|
||||
TutorialLandRedExec = .text:0x00000F30; // type:function size:0x3C
|
||||
TutorialLandHappenExec = .text:0x00000F6C; // type:function size:0x4C
|
||||
TutorialLandFortuneExec = .text:0x00000FB8; // type:function size:0x58
|
||||
TutorialLandBowserExec = .text:0x00001010; // type:function size:0x4C
|
||||
TutorialLandMushroomExec = .text:0x0000105C; // type:function size:0x3C
|
||||
TutorialMushroomMegaExec = .text:0x00001098; // type:function size:0x28
|
||||
TutorialMushroomMiniExec = .text:0x000010C0; // type:function size:0x38
|
||||
TutorialLandBattleExec = .text:0x000010F8; // type:function size:0x3C
|
||||
TutorialLandWarpExec = .text:0x00001134; // type:function size:0x44
|
||||
TutorialWarpDecideExec = .text:0x00001178; // type:function size:0x28
|
||||
TutorialBlockStarExec = .text:0x000011A0; // type:function size:0x4C
|
||||
TutorialBlockCoinExec = .text:0x000011EC; // type:function size:0x54
|
||||
TutorialMiniMegaExec = .text:0x00001240; // type:function size:0x38
|
||||
TutorialMiniUseExec = .text:0x00001278; // type:function size:0x28
|
||||
TutorialMiniStopExec = .text:0x000012A0; // type:function size:0x3C
|
||||
TutorialMegaUseExec = .text:0x000012DC; // type:function size:0x28
|
||||
TutorialMegaDiceExec = .text:0x00001304; // type:function size:0x28
|
||||
TutorialMegaStompExec = .text:0x0000132C; // type:function size:0x28
|
||||
TutorialMegaEventExec = .text:0x00001354; // type:function size:0x28
|
||||
TutorialMegaStopExec = .text:0x0000137C; // type:function size:0x28
|
||||
TutorialEndExec = .text:0x000013A4; // type:function size:0x3C8
|
||||
TutorialMGStatusExec = .text:0x0000176C; // type:function size:0x30
|
||||
TutorialMG4PExec = .text:0x0000179C; // type:function size:0x58
|
||||
TutorialMG2Vs2Exec = .text:0x000017F4; // type:function size:0x40
|
||||
TutorialMG1Vs3Exec = .text:0x00001834; // type:function size:0x88
|
||||
TutorialMG1Vs3AltExec = .text:0x000018BC; // type:function size:0x4C
|
||||
TutorialShopExec = .text:0x00001908; // type:function size:0x28
|
||||
TutorialLotteryExec = .text:0x00001930; // type:function size:0x28
|
||||
TutorialBooHouseExec = .text:0x00001958; // type:function size:0x28
|
||||
TutorialNullExec = .text:0x00001980; // type:function size:0x4
|
||||
CloseTutorial = .text:0x00001984; // type:function size:0x128 scope:local
|
||||
TutorialExec = .text:0x00001AAC; // type:function size:0x2BC
|
||||
TutorialSprCreate = .text:0x00001D68; // type:function size:0x84
|
||||
TutorialSprKill = .text:0x00001DEC; // type:function size:0x50
|
||||
TutorialSpaceShow = .text:0x00001E3C; // type:function size:0x174
|
||||
TutorialSpaceHide = .text:0x00001FB0; // type:function size:0xBC
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
|
||||
|
|
@ -85,31 +85,32 @@ lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:f
|
|||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x28 data:float
|
||||
lbl_1_data_28 = .data:0x00000028; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_2A = .data:0x0000002A; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_2C = .data:0x0000002C; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_2E = .data:0x0000002E; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_30 = .data:0x00000030; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_32 = .data:0x00000032; // type:object size:0x22 data:2byte
|
||||
lbl_1_data_54 = .data:0x00000054; // type:object size:0x8
|
||||
lbl_1_data_5C = .data:0x0000005C; // type:object size:0x8
|
||||
lbl_1_data_64 = .data:0x00000064; // type:object size:0x8
|
||||
lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC
|
||||
lbl_1_data_78 = .data:0x00000078; // type:object size:0x8
|
||||
lbl_1_data_80 = .data:0x00000080; // type:object size:0x18 data:float
|
||||
lbl_1_data_98 = .data:0x00000098; // type:object size:0x2E data:string
|
||||
lbl_1_data_C6 = .data:0x000000C6; // type:object size:0x42
|
||||
lbl_1_data_108 = .data:0x00000108; // type:object size:0x150
|
||||
lbl_1_data_258 = .data:0x00000258; // type:object size:0x50 data:string
|
||||
lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x2C
|
||||
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
|
||||
bgMdl = .data:0x00000028; // type:object size:0x2 scope:local data:2byte
|
||||
fgMdl = .data:0x0000002A; // type:object size:0x2 scope:local data:2byte
|
||||
boardStarHostMdl = .data:0x0000002C; // type:object size:0x2 data:2byte
|
||||
boardShopHostMdl = .data:0x0000002E; // type:object size:0x2 data:2byte
|
||||
boardLotteryHostMdl = .data:0x00000030; // type:object size:0x2 data:2byte
|
||||
boardBooHouseHostMdl = .data:0x00000032; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_34 = .data:0x00000034; // type:object size:0x20 data:4byte
|
||||
starHostMot = .data:0x00000054; // type:object size:0x8 scope:local
|
||||
shopHostMot = .data:0x0000005C; // type:object size:0x8 scope:local
|
||||
lotteryHostMot = .data:0x00000064; // type:object size:0x8 scope:local
|
||||
booHouseHostMot = .data:0x0000006C; // type:object size:0x8 scope:local
|
||||
hostMot = .data:0x00000078; // type:object size:0x8 scope:local
|
||||
hostPosTbl = .data:0x00000080; // type:object size:0x18 scope:local data:float
|
||||
lbl_1_data_98 = .data:0x00000098; // type:object size:0x2E scope:local data:string
|
||||
rollDataTbl = .data:0x000000C6; // type:object size:0x42 scope:local
|
||||
sceneTbl = .data:0x00000108; // type:object size:0x150 scope:local
|
||||
lbl_1_data_258 = .data:0x00000258; // type:object size:0x50 scope:local data:string
|
||||
tutorialSprTbl = .data:0x000002A8; // type:object size:0x2C scope:local
|
||||
boardWork = .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:0x4 data:4byte
|
||||
lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte
|
||||
lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x2 data:2byte
|
||||
tutorialDoneF = .bss:0x0000000C; // type:object size:0x2 data:2byte
|
||||
w10ExitWin = .bss:0x0000000E; // type:object size:0x2 data:2byte
|
||||
lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x8 data:2byte
|
||||
lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte
|
||||
lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x2 data:2byte
|
||||
lbl_1_bss_1E = .bss:0x0000001E; // type:object size:0x2 data:2byte
|
||||
lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x2 data:2byte
|
||||
lbl_1_bss_22 = .bss:0x00000022; // type:object size:0x16
|
||||
hostProc = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte
|
||||
hostPos = .bss:0x0000001C; // type:object size:0x2 scope:local data:2byte
|
||||
hostMdl = .bss:0x0000001E; // type:object size:0x2 scope:local data:2byte
|
||||
sprCurr = .bss:0x00000020; // type:object size:0x2 scope:local data:2byte
|
||||
sprList = .bss:0x00000022; // type:object size:0x16 scope:local
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@
|
|||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
typedef struct w10_state {
|
||||
/* 0x00 */ s32 unk0;
|
||||
/* 0x04 */ u16 unk4;
|
||||
/* 0x06 */ u16 unk6;
|
||||
/* 0x08 */ s16 unk8;
|
||||
} W10State;
|
||||
typedef struct w10_board_work {
|
||||
/* 0x00 */ s32 scene;
|
||||
/* 0x04 */ u16 dice;
|
||||
/* 0x06 */ u16 msg;
|
||||
/* 0x08 */ s16 focus_mdl;
|
||||
} W10BoardWork;
|
||||
|
||||
typedef struct unkw10Dll {
|
||||
Vec unk0;
|
||||
|
|
@ -22,104 +22,76 @@ typedef struct unkw10Dll {
|
|||
s32 unk24;
|
||||
} unkw10Dll; //sizeof 0x28
|
||||
|
||||
typedef struct w10DllUnk01 {
|
||||
u8 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
} w10DllUnk01; //sizeof ?
|
||||
typedef void (*TutorialSceneFunc)(void);
|
||||
|
||||
typedef struct w10DllUnk04 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
void (*unk4)();
|
||||
} w10DllUnk04;
|
||||
typedef struct tutorial_scene {
|
||||
s16 cue;
|
||||
TutorialSceneFunc func;
|
||||
} TutorialScene;
|
||||
|
||||
extern s16 lbl_1_bss_20;
|
||||
extern s16 lbl_1_bss_22[];
|
||||
extern s16 lbl_1_bss_20;
|
||||
extern s32 boardTutorialData[4];
|
||||
|
||||
void fn_1_C10(s16);
|
||||
void HostPosSet(s16);
|
||||
void fn_1_1FB0(void);
|
||||
void fn_1_1E3C(s16, s16, s16);
|
||||
void fn_1_BA0(s32);
|
||||
void fn_1_C20(void);
|
||||
void HostWinExec(s32);
|
||||
void fn_1_6D8(void);
|
||||
void fn_1_E0(void);
|
||||
void fn_1_1D68(void);
|
||||
void fn_1_1DEC(void);
|
||||
void fn_1_AEC(void);
|
||||
int fn_1_1AAC(s16, s32);
|
||||
void fn_1_8C0(void);
|
||||
void fn_1_904(void);
|
||||
void fn_1_908(void);
|
||||
s32 fn_1_90C(void);
|
||||
void fn_1_91C(void);
|
||||
void fn_1_13A4(void);
|
||||
void fn_1_176C(void);
|
||||
void fn_1_179C(void);
|
||||
void fn_1_17F4(void);
|
||||
void fn_1_1834(void);
|
||||
void fn_1_18BC(void);
|
||||
void fn_1_1908(void);
|
||||
void fn_1_1930(void);
|
||||
void fn_1_1958(void);
|
||||
void fn_1_D2C(void);
|
||||
void fn_1_D54(void);
|
||||
void fn_1_D7C(void);
|
||||
void fn_1_DA4(void);
|
||||
void fn_1_DCC(void);
|
||||
void fn_1_DF4(void);
|
||||
void fn_1_E1C(void);
|
||||
void fn_1_E44(void);
|
||||
void fn_1_E94(void);
|
||||
void fn_1_EBC(void);
|
||||
void fn_1_EE4(void);
|
||||
void fn_1_EE8(void);
|
||||
void fn_1_F30(void);
|
||||
void fn_1_F6C(void);
|
||||
void fn_1_FB8(void);
|
||||
void fn_1_1010(void);
|
||||
void fn_1_105C(void);
|
||||
void fn_1_1098(void);
|
||||
void fn_1_10C0(void);
|
||||
void fn_1_10F8(void);
|
||||
void fn_1_1134(void);
|
||||
void fn_1_1178(void);
|
||||
void fn_1_11A0(void);
|
||||
void fn_1_11EC(void);
|
||||
void fn_1_1240(void);
|
||||
void fn_1_1278(void);
|
||||
void fn_1_12A0(void);
|
||||
void fn_1_12DC(void);
|
||||
void fn_1_1304(void);
|
||||
void fn_1_132C(void);
|
||||
void fn_1_1354(void);
|
||||
void fn_1_137C(void);
|
||||
void TutorialSprCreate(void);
|
||||
void TutorialSprKill(void);
|
||||
void HostCreate(void);
|
||||
int TutorialExec(s16, s32);
|
||||
|
||||
extern w10DllUnk04 lbl_1_data_108[42];
|
||||
extern Vec lbl_1_data_80[];
|
||||
extern Process* lbl_1_bss_18;
|
||||
extern s16 lbl_1_bss_1C;
|
||||
extern s16 lbl_1_bss_1E;
|
||||
extern s32 lbl_1_data_78[2];
|
||||
extern W10State* lbl_1_bss_0;
|
||||
extern s16 lbl_1_bss_10[4]; //could be incorrect size
|
||||
void TutorialStartExec(void);
|
||||
void TutorialPreRollExec(void);
|
||||
void TutorialOrderExec(void);
|
||||
void TutorialP1StartExec(void);
|
||||
void TutorialP2StartExec(void);
|
||||
void TutorialP3StartExec(void);
|
||||
void TutorialP4StartExec(void);
|
||||
void TutorialGameStartExec(void);
|
||||
void TutorialRollExec(void);
|
||||
void TutorialMoveExec(void);
|
||||
void TutorialLandExec(void);
|
||||
void TutorialLandBlueExec(void);
|
||||
void TutorialLandRedExec(void);
|
||||
void TutorialLandHappenExec(void);
|
||||
void TutorialLandFortuneExec(void);
|
||||
void TutorialLandBowserExec(void);
|
||||
void TutorialLandMushroomExec(void);
|
||||
void TutorialMushroomMegaExec(void);
|
||||
void TutorialMushroomMiniExec(void);
|
||||
void TutorialLandBattleExec(void);
|
||||
void TutorialLandWarpExec(void);
|
||||
void TutorialWarpDecideExec(void);
|
||||
void TutorialBlockStarExec(void);
|
||||
void TutorialBlockCoinExec(void);
|
||||
void TutorialMiniMegaExec(void);
|
||||
void TutorialMiniUseExec(void);
|
||||
void TutorialMiniStopExec(void);
|
||||
void TutorialMegaUseExec(void);
|
||||
void TutorialMegaDiceExec(void);
|
||||
void TutorialMegaStompExec(void);
|
||||
void TutorialMegaEventExec(void);
|
||||
void TutorialMegaStopExec(void);
|
||||
void TutorialEndExec(void);
|
||||
void TutorialMGStatusExec(void);
|
||||
void TutorialMG4PExec(void);
|
||||
void TutorialMG2Vs2Exec(void);
|
||||
void TutorialMG1Vs3Exec(void);
|
||||
void TutorialMG1Vs3AltExec(void);
|
||||
void TutorialShopExec(void);
|
||||
void TutorialLotteryExec(void);
|
||||
void TutorialBooHouseExec(void);
|
||||
|
||||
extern W10BoardWork *boardWork;
|
||||
extern s16 lbl_1_bss_10[1];
|
||||
extern void* lbl_1_bss_8; //unknown type
|
||||
extern s16 lbl_1_bss_C;
|
||||
extern s16 lbl_1_bss_E;
|
||||
extern s16 tutorialDoneF;
|
||||
extern s16 w10ExitWin;
|
||||
extern unkw10Dll lbl_1_data_0[1];
|
||||
extern s16 lbl_1_bss_22[11];
|
||||
extern s32 lbl_1_data_2A8[11];
|
||||
extern s16 lbl_1_data_28;
|
||||
extern s16 lbl_1_data_2A;
|
||||
extern s16 lbl_1_data_2C;
|
||||
extern s16 lbl_1_data_2E;
|
||||
extern s16 lbl_1_data_30;
|
||||
extern s16 lbl_1_data_32;
|
||||
extern s32 lbl_1_data_54[2];
|
||||
extern s32 lbl_1_data_5C[2];
|
||||
extern s32 lbl_1_data_64[2];
|
||||
extern s32 lbl_1_data_6C[2];
|
||||
|
||||
extern s16 boardStarHostMdl;
|
||||
extern s16 boardShopHostMdl;
|
||||
extern s16 boardLotteryHostMdl;
|
||||
extern s16 boardBooHouseHostMdl;
|
||||
|
|
@ -4,63 +4,70 @@
|
|||
#include "game/board/tutorial.h"
|
||||
#include "game/board/window.h"
|
||||
|
||||
s32 lbl_1_data_78[2] = {
|
||||
static s16 hostMdl;
|
||||
static s16 hostPos;
|
||||
static Process *hostProc;
|
||||
|
||||
static s32 hostMot[2] = {
|
||||
DATA_MAKE_NUM(DATADIR_W10, 16),
|
||||
-1
|
||||
};
|
||||
|
||||
Vec lbl_1_data_80[2] = {
|
||||
static Vec hostPosTbl[2] = {
|
||||
{70.0f, 355.0f, 200.f},
|
||||
{70.0f, 175.0f, 200.f},
|
||||
};
|
||||
|
||||
void fn_1_AEC(void) {
|
||||
lbl_1_bss_1C = 0;
|
||||
lbl_1_bss_1E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W10, 15), lbl_1_data_78, 0);
|
||||
BoardModelMotionStart(lbl_1_bss_1E, 1, 0x40000001);
|
||||
BoardTutorialHostSet(lbl_1_bss_1E);
|
||||
BoardModelLayerSet(lbl_1_bss_1E, 6);
|
||||
lbl_1_bss_18 = HuPrcCreate(fn_1_C20, 0x1FFF, 0x1800, 0);
|
||||
static void UpdateHost(void);
|
||||
|
||||
|
||||
void HostCreate(void) {
|
||||
hostPos = 0;
|
||||
hostMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W10, 15), hostMot, 0);
|
||||
BoardModelMotionStart(hostMdl, 1, 0x40000001);
|
||||
BoardTutorialHostSet(hostMdl);
|
||||
BoardModelLayerSet(hostMdl, 6);
|
||||
hostProc = HuPrcCreate(UpdateHost, 0x1FFF, 0x1800, 0);
|
||||
}
|
||||
|
||||
void fn_1_BA0(s32 arg0) {
|
||||
s16 var_r31;
|
||||
void HostWinExec(s32 arg0) {
|
||||
s16 pos;
|
||||
|
||||
switch (lbl_1_bss_1C) {
|
||||
switch (hostPos) {
|
||||
case 0:
|
||||
var_r31 = 5;
|
||||
pos = 5;
|
||||
break;
|
||||
case 1:
|
||||
var_r31 = 6;
|
||||
pos = 6;
|
||||
break;
|
||||
}
|
||||
BoardWinCreate(var_r31, arg0, -1);
|
||||
BoardWinCreate(pos, arg0, -1);
|
||||
BoardWinWait();
|
||||
BoardWinKill();
|
||||
}
|
||||
|
||||
void fn_1_C10(s16 arg0) {
|
||||
lbl_1_bss_1C = arg0;
|
||||
void HostPosSet(s16 arg0) {
|
||||
hostPos = arg0;
|
||||
}
|
||||
|
||||
void fn_1_C20(void) {
|
||||
Mtx sp20;
|
||||
void UpdateHost(void) {
|
||||
Mtx rot;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
|
||||
while (1) {
|
||||
if (BoardIsKill() != 0) {
|
||||
BoardModelKill(lbl_1_bss_1E);
|
||||
BoardModelKill(hostMdl);
|
||||
BoardTutorialHostSet(-1);
|
||||
HuPrcEnd();
|
||||
}
|
||||
Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14);
|
||||
BoardModelPosSetV(lbl_1_bss_1E, &sp14);
|
||||
Hu3D2Dto3D(&hostPosTbl[hostPos], 1, &sp14);
|
||||
BoardModelPosSetV(hostMdl, &sp14);
|
||||
BoardCameraRotGet(&sp8);
|
||||
PSMTXRotRad(sp20, 'y', 0.2617994f);
|
||||
BoardModelMtxSet(lbl_1_bss_1E, &sp20);
|
||||
BoardModelRotSet(lbl_1_bss_1E, sp8.x, 0.0f, 0.0f);
|
||||
BoardModelScaleSet(lbl_1_bss_1E, 0.2f, 0.2f, 0.2f);
|
||||
PSMTXRotRad(rot, 'y', 0.2617994f);
|
||||
BoardModelMtxSet(hostMdl, &rot);
|
||||
BoardModelRotSet(hostMdl, sp8.x, 0.0f, 0.0f);
|
||||
BoardModelScaleSet(hostMdl, 0.2f, 0.2f, 0.2f);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
|
@ -12,17 +12,12 @@
|
|||
#include "math.h"
|
||||
|
||||
//BSS
|
||||
s16 lbl_1_bss_22[11];
|
||||
s16 lbl_1_bss_20;
|
||||
s16 lbl_1_bss_1E;
|
||||
s16 lbl_1_bss_1C;
|
||||
Process* lbl_1_bss_18;
|
||||
s16 lbl_1_bss_10[4];
|
||||
s16 lbl_1_bss_E;
|
||||
s16 lbl_1_bss_C;
|
||||
s16 lbl_1_bss_10[1];
|
||||
s16 w10ExitWin;
|
||||
s16 tutorialDoneF;
|
||||
void* lbl_1_bss_8;
|
||||
s32 lbl_1_bss_4_pad;
|
||||
W10State* lbl_1_bss_0;
|
||||
s32 lbl_1_bss_4;
|
||||
W10BoardWork *boardWork;
|
||||
|
||||
//DATA
|
||||
unkw10Dll lbl_1_data_0[1] = {
|
||||
|
|
@ -33,82 +28,88 @@ unkw10Dll lbl_1_data_0[1] = {
|
|||
};
|
||||
|
||||
|
||||
s16 lbl_1_data_28 = -1;
|
||||
s16 lbl_1_data_2A = -1;
|
||||
s16 lbl_1_data_2C = -1;
|
||||
s16 lbl_1_data_2E = -1;
|
||||
s16 lbl_1_data_30 = -1;
|
||||
s16 lbl_1_data_32 = -1;
|
||||
static s16 bgMdl = -1;
|
||||
static s16 fgMdl = -1;
|
||||
s16 boardStarHostMdl = -1;
|
||||
s16 boardShopHostMdl = -1;
|
||||
s16 boardLotteryHostMdl = -1;
|
||||
s16 boardBooHouseHostMdl = -1;
|
||||
|
||||
//unused?
|
||||
s32 lbl_1_data_34[] = {
|
||||
0x005F0000, 0x001A0000,
|
||||
0x006D0000, 0x008A0000,
|
||||
0x00850000, 0x00110000,
|
||||
0x000D0000, 0x00810000,
|
||||
DATADIR_MARIOMOT, DATADIR_LUIGIMOT,
|
||||
DATADIR_PEACHMOT, DATADIR_YOSHIMOT,
|
||||
DATADIR_WARIOMOT, DATADIR_DONKEYMOT,
|
||||
DATADIR_DAISYMOT, DATADIR_WALUIGIMOT,
|
||||
};
|
||||
|
||||
s32 lbl_1_data_54[2] = {
|
||||
static s32 starHostMot[2] = {
|
||||
DATA_MAKE_NUM(DATADIR_W10, 18),
|
||||
DATA_NUM_LISTEND
|
||||
};
|
||||
|
||||
s32 lbl_1_data_5C[2] = {
|
||||
static s32 shopHostMot[2] = {
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 9),
|
||||
DATA_NUM_LISTEND
|
||||
};
|
||||
|
||||
s32 lbl_1_data_64[2] = {
|
||||
static s32 lotteryHostMot[2] = {
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 24),
|
||||
DATA_NUM_LISTEND
|
||||
};
|
||||
|
||||
s32 lbl_1_data_6C[2] = {
|
||||
static s32 booHouseHostMot[2] = {
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 14),
|
||||
DATA_NUM_LISTEND
|
||||
};
|
||||
|
||||
void BoardCreate(void) {
|
||||
f32 sp10;
|
||||
f32 spC[2];
|
||||
s32 sp8;
|
||||
static void LightSetHook(void);
|
||||
static void LightResetHook(void);
|
||||
static s32 WalkEvent(void);
|
||||
static s32 WalkMiniEvent(void);
|
||||
static s32 LandEvent(void);
|
||||
|
||||
|
||||
void BoardCreate(void)
|
||||
{
|
||||
float size[2];
|
||||
|
||||
s32 i;
|
||||
unkw10Dll* temp_r30;
|
||||
s32 temp;
|
||||
s32 space;
|
||||
s32 board;
|
||||
|
||||
board = GWBoardGet();
|
||||
lbl_1_bss_0 = (W10State *)&GWSystem.board_data;
|
||||
lbl_1_bss_0->unk0 = 0;
|
||||
lbl_1_bss_0->unk4 = 0;
|
||||
lbl_1_bss_0->unk6 = 0;
|
||||
BoardTutorialHookSet(&fn_1_1AAC);
|
||||
fn_1_AEC();
|
||||
fn_1_1D68();
|
||||
lbl_1_bss_C = 0;
|
||||
boardWork = (W10BoardWork *)&GWSystem.board_data[0];
|
||||
boardWork->scene = 0;
|
||||
boardWork->dice = 0;
|
||||
boardWork->msg = 0;
|
||||
BoardTutorialHookSet(&TutorialExec);
|
||||
HostCreate();
|
||||
TutorialSprCreate();
|
||||
tutorialDoneF = 0;
|
||||
BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W10, 0));
|
||||
temp = BoardSpaceFlagSearch(0, 1);
|
||||
BoardTutorialBlockSetPos(temp, 1);
|
||||
lbl_1_data_28 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W10, 1), NULL, 0);
|
||||
fn_8006DDE8(lbl_1_data_28, -1.0f);
|
||||
BoardModelPosSet(lbl_1_data_28, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(lbl_1_data_28, 0, 0x40000001);
|
||||
BoardModelMotionSpeedSet(lbl_1_data_28, 1.0f);
|
||||
lbl_1_data_2A = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W10, 2), NULL, 0);
|
||||
fn_8006DDE8(lbl_1_data_2A, -1.0f);
|
||||
BoardModelPosSet(lbl_1_data_2A, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(lbl_1_data_2A, 0, 0x40000001);
|
||||
lbl_1_data_2C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W10, 17), lbl_1_data_54, 0);
|
||||
BoardModelPosSet(lbl_1_data_2C, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(lbl_1_data_2C, 1, 0x40000001);
|
||||
lbl_1_data_2E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 5), lbl_1_data_5C, 0);
|
||||
BoardModelMotionStart(lbl_1_data_2E, 1, 0x40000001);
|
||||
lbl_1_data_32 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 18), lbl_1_data_64, 0);
|
||||
BoardModelMotionStart(lbl_1_data_32, 1, 0x40000001);
|
||||
lbl_1_data_30 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 13), lbl_1_data_6C, 0);
|
||||
BoardModelMotionStart(lbl_1_data_30, 1, 0x40000001);
|
||||
BoardLightHookSet(&fn_1_8C0, &fn_1_904);
|
||||
space = BoardSpaceFlagSearch(0, 1);
|
||||
BoardTutorialBlockSetPos(space, 1);
|
||||
bgMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W10, 1), NULL, 0);
|
||||
fn_8006DDE8(bgMdl, -1.0f);
|
||||
BoardModelPosSet(bgMdl, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(bgMdl, 0, 0x40000001);
|
||||
BoardModelMotionSpeedSet(bgMdl, 1.0f);
|
||||
fgMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W10, 2), NULL, 0);
|
||||
fn_8006DDE8(fgMdl, -1.0f);
|
||||
BoardModelPosSet(fgMdl, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(fgMdl, 0, 0x40000001);
|
||||
boardStarHostMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W10, 17), starHostMot, 0);
|
||||
BoardModelPosSet(boardStarHostMdl, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(boardStarHostMdl, 1, 0x40000001);
|
||||
boardShopHostMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 5), shopHostMot, 0);
|
||||
BoardModelMotionStart(boardShopHostMdl, 1, 0x40000001);
|
||||
boardBooHouseHostMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 18), lotteryHostMot, 0);
|
||||
BoardModelMotionStart(boardBooHouseHostMdl, 1, 0x40000001);
|
||||
boardLotteryHostMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 13), booHouseHostMot, 0);
|
||||
BoardModelMotionStart(boardLotteryHostMdl, 1, 0x40000001);
|
||||
BoardLightHookSet(LightSetHook, LightResetHook);
|
||||
for (i = 0; i < ARRAY_COUNT(lbl_1_data_0); i++) {
|
||||
temp_r30 = &lbl_1_data_0[i];
|
||||
if (temp_r30->unk24 != -1) {
|
||||
|
|
@ -124,24 +125,25 @@ void BoardCreate(void) {
|
|||
}
|
||||
}
|
||||
BoardModelVisibilitySet(lbl_1_bss_10[0], 0);
|
||||
lbl_1_bss_0->unk8 = BoardModelCreate(0x7000A, NULL, 0);
|
||||
BoardModelVisibilitySet(lbl_1_bss_0->unk8, 0);
|
||||
BoardSpaceWalkEventFuncSet((void*)&fn_1_90C);
|
||||
BoardSpaceWalkMiniEventFuncSet((void*)&fn_1_91C);
|
||||
BoardSpaceLandEventFuncSet((void*)&fn_1_908);
|
||||
BoardStarHostSet(lbl_1_data_2C);
|
||||
BoardBooHouseHostSet(lbl_1_data_32);
|
||||
BoardShopHostSet(lbl_1_data_2E);
|
||||
BoardLotteryHostSet(lbl_1_data_30);
|
||||
HuWinMesMaxSizeGet(1, spC, 0x2E003A);
|
||||
lbl_1_bss_E = HuWinCreate(-10000.0f, 390.0f, spC[0], spC[1], 1);
|
||||
HuWinMesSet(lbl_1_bss_E, 0x2E003A);
|
||||
HuWinMesSpeedSet(lbl_1_bss_E, 0);
|
||||
HuWinPriSet(lbl_1_bss_E, 1);
|
||||
HuWinMesPalSet(lbl_1_bss_E, 7, 0, 0, 0);
|
||||
boardWork->focus_mdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), NULL, 0);
|
||||
BoardModelVisibilitySet(boardWork->focus_mdl, 0);
|
||||
BoardSpaceWalkEventFuncSet(WalkEvent);
|
||||
BoardSpaceWalkMiniEventFuncSet(WalkMiniEvent);
|
||||
BoardSpaceLandEventFuncSet(LandEvent);
|
||||
BoardStarHostSet(boardStarHostMdl);
|
||||
BoardBooHouseHostSet(boardBooHouseHostMdl);
|
||||
BoardShopHostSet(boardShopHostMdl);
|
||||
BoardLotteryHostSet(boardLotteryHostMdl);
|
||||
HuWinMesMaxSizeGet(1, size, 0x2E003A);
|
||||
w10ExitWin = HuWinCreate(-10000.0f, 390.0f, size[0], size[1], 1);
|
||||
HuWinMesSet(w10ExitWin, 0x2E003A);
|
||||
HuWinMesSpeedSet(w10ExitWin, 0);
|
||||
HuWinPriSet(w10ExitWin, 1);
|
||||
HuWinMesPalSet(w10ExitWin, 7, 0, 0, 0);
|
||||
}
|
||||
|
||||
void BoardDestroy(void) {
|
||||
void BoardDestroy(void)
|
||||
{
|
||||
s32 i;
|
||||
for (i = 0; i < 1; i++) {
|
||||
if (lbl_1_bss_10[i] != 0) {
|
||||
|
|
@ -149,58 +151,70 @@ void BoardDestroy(void) {
|
|||
lbl_1_bss_10[i] = 0;
|
||||
}
|
||||
}
|
||||
if (lbl_1_data_32 != -1) {
|
||||
BoardModelKill(lbl_1_data_32);
|
||||
lbl_1_data_32 = -1;
|
||||
if (boardBooHouseHostMdl != -1) {
|
||||
BoardModelKill(boardBooHouseHostMdl);
|
||||
boardBooHouseHostMdl = -1;
|
||||
}
|
||||
if (lbl_1_data_2E != -1) {
|
||||
BoardModelKill(lbl_1_data_2E);
|
||||
lbl_1_data_2E = -1;
|
||||
if (boardShopHostMdl != -1) {
|
||||
BoardModelKill(boardShopHostMdl);
|
||||
boardShopHostMdl = -1;
|
||||
}
|
||||
if (lbl_1_data_30 != -1) {
|
||||
BoardModelKill(lbl_1_data_30);
|
||||
lbl_1_data_30 = -1;
|
||||
if (boardLotteryHostMdl != -1) {
|
||||
BoardModelKill(boardLotteryHostMdl);
|
||||
boardLotteryHostMdl = -1;
|
||||
}
|
||||
if (lbl_1_data_2C != -1) {
|
||||
BoardModelKill(lbl_1_data_2C);
|
||||
lbl_1_data_2C = -1;
|
||||
if (boardStarHostMdl != -1) {
|
||||
BoardModelKill(boardStarHostMdl);
|
||||
boardStarHostMdl = -1;
|
||||
}
|
||||
if (lbl_1_data_28 != -1) {
|
||||
BoardModelKill(lbl_1_data_28);
|
||||
lbl_1_data_28 = -1;
|
||||
if (bgMdl != -1) {
|
||||
BoardModelKill(bgMdl);
|
||||
bgMdl = -1;
|
||||
}
|
||||
if (lbl_1_data_2A != -1) {
|
||||
BoardModelKill(lbl_1_data_2A);
|
||||
lbl_1_data_2A = -1;
|
||||
if (fgMdl != -1) {
|
||||
BoardModelKill(fgMdl);
|
||||
fgMdl = -1;
|
||||
}
|
||||
BoardModelKill(lbl_1_bss_0->unk8);
|
||||
fn_1_1DEC();
|
||||
HuWinKill(lbl_1_bss_E);
|
||||
BoardModelKill(boardWork->focus_mdl);
|
||||
TutorialSprKill();
|
||||
HuWinKill(w10ExitWin);
|
||||
BoardSpaceDestroy();
|
||||
}
|
||||
|
||||
void fn_1_8C0(void) {
|
||||
s16 temp = BoardModelIDGet(lbl_1_data_28);
|
||||
Hu3DModelLightInfoSet(temp, 1);
|
||||
static void LightSetHook(void)
|
||||
{
|
||||
s16 id = BoardModelIDGet(bgMdl);
|
||||
Hu3DModelLightInfoSet(id, 1);
|
||||
}
|
||||
|
||||
void fn_1_904(void) {
|
||||
static void LightResetHook(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void fn_1_908(void) {
|
||||
static s32 LandEvent(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
s32 fn_1_90C(void) {
|
||||
static s32 WalkEvent(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fn_1_914(void) {
|
||||
void fn_1_914(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void fn_1_918(void) {
|
||||
void fn_1_918(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void fn_1_91C(void) {
|
||||
static s32 WalkMiniEvent(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
s32 fn_1_920(s16 arg0, f32 arg8, f32 arg9) {
|
||||
|
|
|
|||
|
|
@ -9,233 +9,233 @@
|
|||
#include "game/board/tutorial.h"
|
||||
#include "game/board/ui.h"
|
||||
|
||||
void fn_1_D2C(void) {
|
||||
fn_1_BA0(0x2E0001);
|
||||
void TutorialStartExec(void) {
|
||||
HostWinExec(0x2E0001);
|
||||
}
|
||||
|
||||
void fn_1_D54(void) {
|
||||
fn_1_BA0(0x2E0002);
|
||||
void TutorialPreRollExec(void) {
|
||||
HostWinExec(0x2E0002);
|
||||
}
|
||||
|
||||
void fn_1_D7C(void) {
|
||||
fn_1_BA0(0x2E0003);
|
||||
void TutorialOrderExec(void) {
|
||||
HostWinExec(0x2E0003);
|
||||
}
|
||||
|
||||
void fn_1_DA4(void) {
|
||||
fn_1_BA0(0x2E0004);
|
||||
void TutorialP1StartExec(void) {
|
||||
HostWinExec(0x2E0004);
|
||||
}
|
||||
|
||||
void fn_1_DCC(void) {
|
||||
fn_1_BA0(0x2E0005);
|
||||
void TutorialP2StartExec(void) {
|
||||
HostWinExec(0x2E0005);
|
||||
}
|
||||
|
||||
void fn_1_DF4(void) {
|
||||
fn_1_BA0(0x2E0006);
|
||||
void TutorialP3StartExec(void) {
|
||||
HostWinExec(0x2E0006);
|
||||
}
|
||||
|
||||
void fn_1_E1C(void) {
|
||||
fn_1_BA0(0x2E0007);
|
||||
void TutorialP4StartExec(void) {
|
||||
HostWinExec(0x2E0007);
|
||||
}
|
||||
|
||||
void fn_1_E44(void) {
|
||||
fn_1_BA0(0x2E0008);
|
||||
fn_1_BA0(0x2E0009);
|
||||
void TutorialGameStartExec(void) {
|
||||
HostWinExec(0x2E0008);
|
||||
HostWinExec(0x2E0009);
|
||||
BoardSpaceStarSetIndex(0);
|
||||
BoardModelVisibilitySet(lbl_1_data_2C, 1);
|
||||
BoardModelVisibilitySet(boardStarHostMdl, 1);
|
||||
}
|
||||
|
||||
void fn_1_E94(void) {
|
||||
fn_1_BA0(0x2E000A);
|
||||
void TutorialRollExec(void) {
|
||||
HostWinExec(0x2E000A);
|
||||
}
|
||||
|
||||
void fn_1_EBC(void) {
|
||||
fn_1_BA0(0x2E000B);
|
||||
void TutorialMoveExec(void) {
|
||||
HostWinExec(0x2E000B);
|
||||
}
|
||||
|
||||
void fn_1_EE4(void) {
|
||||
void TutorialLandExec(void) {
|
||||
|
||||
}
|
||||
|
||||
void fn_1_EE8(void) {
|
||||
fn_1_1E3C(0, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E000C);
|
||||
fn_1_BA0(0x2E000D);
|
||||
fn_1_1FB0();
|
||||
void TutorialLandBlueExec(void) {
|
||||
TutorialSpaceShow(0, 0x122, 0x8C);
|
||||
HostWinExec(0x2E000C);
|
||||
HostWinExec(0x2E000D);
|
||||
TutorialSpaceHide();
|
||||
}
|
||||
|
||||
void fn_1_F30(void) {
|
||||
fn_1_1E3C(1, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E000E);
|
||||
fn_1_1FB0();
|
||||
void TutorialLandRedExec(void) {
|
||||
TutorialSpaceShow(1, 0x122, 0x8C);
|
||||
HostWinExec(0x2E000E);
|
||||
TutorialSpaceHide();
|
||||
}
|
||||
|
||||
void fn_1_F6C(void) {
|
||||
fn_1_1E3C(2, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E000F);
|
||||
fn_1_1FB0();
|
||||
void TutorialLandHappenExec(void) {
|
||||
TutorialSpaceShow(2, 0x122, 0x8C);
|
||||
HostWinExec(0x2E000F);
|
||||
TutorialSpaceHide();
|
||||
BoardTutorialDirInputSet(0, 0x50, 1);
|
||||
}
|
||||
|
||||
void fn_1_FB8(void) {
|
||||
fn_1_1E3C(3, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E0010);
|
||||
fn_1_1FB0();
|
||||
fn_1_BA0(0x2E0011);
|
||||
void TutorialLandFortuneExec(void) {
|
||||
TutorialSpaceShow(3, 0x122, 0x8C);
|
||||
HostWinExec(0x2E0010);
|
||||
TutorialSpaceHide();
|
||||
HostWinExec(0x2E0011);
|
||||
BoardTutorialDirInputSet(-0x50, 0, 1);
|
||||
}
|
||||
|
||||
void fn_1_1010(void) {
|
||||
fn_1_1E3C(4, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E0012);
|
||||
fn_1_1FB0();
|
||||
void TutorialLandBowserExec(void) {
|
||||
TutorialSpaceShow(4, 0x122, 0x8C);
|
||||
HostWinExec(0x2E0012);
|
||||
TutorialSpaceHide();
|
||||
BoardTutorialDirInputSet(0, 0x50, 1);
|
||||
}
|
||||
|
||||
void fn_1_105C(void) {
|
||||
fn_1_1E3C(5, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E0013);
|
||||
fn_1_1FB0();
|
||||
void TutorialLandMushroomExec(void) {
|
||||
TutorialSpaceShow(5, 0x122, 0x8C);
|
||||
HostWinExec(0x2E0013);
|
||||
TutorialSpaceHide();
|
||||
}
|
||||
|
||||
void fn_1_1098(void) {
|
||||
fn_1_BA0(0x2E0014);
|
||||
void TutorialMushroomMegaExec(void) {
|
||||
HostWinExec(0x2E0014);
|
||||
}
|
||||
|
||||
void fn_1_10C0(void) {
|
||||
fn_1_BA0(0x2E0015);
|
||||
void TutorialMushroomMiniExec(void) {
|
||||
HostWinExec(0x2E0015);
|
||||
BoardTutorialDirInputSet(-0x50, 0, 1);
|
||||
}
|
||||
|
||||
void fn_1_10F8(void) {
|
||||
fn_1_1E3C(6, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E0016);
|
||||
fn_1_1FB0();
|
||||
void TutorialLandBattleExec(void) {
|
||||
TutorialSpaceShow(6, 0x122, 0x8C);
|
||||
HostWinExec(0x2E0016);
|
||||
TutorialSpaceHide();
|
||||
}
|
||||
|
||||
void fn_1_1134(void) {
|
||||
fn_1_1E3C(7, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E0017);
|
||||
fn_1_1FB0();
|
||||
void TutorialLandWarpExec(void) {
|
||||
TutorialSpaceShow(7, 0x122, 0x8C);
|
||||
HostWinExec(0x2E0017);
|
||||
TutorialSpaceHide();
|
||||
BoardCharWheelTargetSet(1);
|
||||
}
|
||||
|
||||
void fn_1_1178(void) {
|
||||
fn_1_BA0(0x2E0018);
|
||||
void TutorialWarpDecideExec(void) {
|
||||
HostWinExec(0x2E0018);
|
||||
}
|
||||
|
||||
void fn_1_11A0(void) {
|
||||
s32 temp;
|
||||
void TutorialBlockStarExec(void) {
|
||||
s32 space;
|
||||
|
||||
fn_1_BA0(0x2E0019);
|
||||
temp = BoardSpaceFlagSearch(0, 1);
|
||||
BoardTutorialBlockSetPos(temp, 0);
|
||||
HostWinExec(0x2E0019);
|
||||
space = BoardSpaceFlagSearch(0, 1);
|
||||
BoardTutorialBlockSetPos(space, 0);
|
||||
}
|
||||
|
||||
void fn_1_11EC(void) {
|
||||
s32 temp;
|
||||
void TutorialBlockCoinExec(void) {
|
||||
s32 space;
|
||||
|
||||
fn_1_BA0(0x2E001A);
|
||||
temp = BoardSpaceFlagSearch(0, 1);
|
||||
BoardTutorialBlockSetPos(temp, 0);
|
||||
HostWinExec(0x2E001A);
|
||||
space = BoardSpaceFlagSearch(0, 1);
|
||||
BoardTutorialBlockSetPos(space, 0);
|
||||
BoardTutorialItemSet(0);
|
||||
}
|
||||
|
||||
void fn_1_1240(void) {
|
||||
fn_1_BA0(0x2E001B);
|
||||
void TutorialMiniMegaExec(void) {
|
||||
HostWinExec(0x2E001B);
|
||||
BoardTutorialDirInputSet(0x50, 0, 1);
|
||||
}
|
||||
|
||||
void fn_1_1278(void) {
|
||||
fn_1_BA0(0x2E001C);
|
||||
void TutorialMiniUseExec(void) {
|
||||
HostWinExec(0x2E001C);
|
||||
}
|
||||
|
||||
void fn_1_12A0(void) {
|
||||
fn_1_BA0(0x2E001D);
|
||||
void TutorialMiniStopExec(void) {
|
||||
HostWinExec(0x2E001D);
|
||||
BoardPlayerItemAdd(2, 1);
|
||||
BoardTutorialItemSet(1);
|
||||
}
|
||||
|
||||
void fn_1_12DC(void) {
|
||||
fn_1_BA0(0x2E001E);
|
||||
void TutorialMegaUseExec(void) {
|
||||
HostWinExec(0x2E001E);
|
||||
}
|
||||
|
||||
void fn_1_1304(void) {
|
||||
fn_1_BA0(0x2E001F);
|
||||
void TutorialMegaDiceExec(void) {
|
||||
HostWinExec(0x2E001F);
|
||||
}
|
||||
|
||||
void fn_1_132C(void) {
|
||||
fn_1_BA0(0x2E0020);
|
||||
void TutorialMegaStompExec(void) {
|
||||
HostWinExec(0x2E0020);
|
||||
}
|
||||
|
||||
void fn_1_1354(void) {
|
||||
fn_1_BA0(0x2E0021);
|
||||
void TutorialMegaEventExec(void) {
|
||||
HostWinExec(0x2E0021);
|
||||
}
|
||||
|
||||
void fn_1_137C(void) {
|
||||
fn_1_BA0(0x2E0022);
|
||||
void TutorialMegaStopExec(void) {
|
||||
HostWinExec(0x2E0022);
|
||||
}
|
||||
|
||||
void fn_1_13A4(void) {
|
||||
void TutorialEndExec(void) {
|
||||
s32 i;
|
||||
Vec sp14;
|
||||
Vec sp8;
|
||||
s32 temp_r3_2;
|
||||
Vec pos;
|
||||
Vec offset;
|
||||
s32 space;
|
||||
|
||||
fn_1_BA0(0x2E0023);
|
||||
HostWinExec(0x2E0023);
|
||||
for (i = 0; i < 4; i++) {
|
||||
GWPlayer[i].color = 1;
|
||||
}
|
||||
BoardMGSetupTutorialExec();
|
||||
BoardStatusShowSetAll(0);
|
||||
fn_1_C10(0);
|
||||
fn_1_BA0(0x2E002B);
|
||||
sp8.x = -33.0f;
|
||||
sp8.y = sp8.z = 0.0f;
|
||||
temp_r3_2 = BoardSpaceFlagSearch(0, 0x80000);
|
||||
BoardSpacePosGet(0, temp_r3_2, &sp14);
|
||||
BoardModelPosSetV(lbl_1_bss_0->unk8, &sp14);
|
||||
BoardCameraMotionStartEx(lbl_1_bss_0->unk8, &sp8, NULL, 3200.0f, -1.0f, 30);
|
||||
HostPosSet(0);
|
||||
HostWinExec(0x2E002B);
|
||||
offset.x = -33.0f;
|
||||
offset.y = offset.z = 0.0f;
|
||||
space = BoardSpaceFlagSearch(0, 0x80000);
|
||||
BoardSpacePosGet(0, space, &pos);
|
||||
BoardModelPosSetV(boardWork->focus_mdl, &pos);
|
||||
BoardCameraMotionStartEx(boardWork->focus_mdl, &offset, NULL, 3200.0f, -1.0f, 30);
|
||||
BoardCameraMotionWait();
|
||||
fn_1_BA0(0x2E002C);
|
||||
BoardShopTutorialExec(temp_r3_2);
|
||||
BoardCameraMotionStartEx(lbl_1_bss_0->unk8, &sp8, NULL, 3200.0f, -1.0f, 30);
|
||||
HostWinExec(0x2E002C);
|
||||
BoardShopTutorialExec(space);
|
||||
BoardCameraMotionStartEx(boardWork->focus_mdl, &offset, NULL, 3200.0f, -1.0f, 30);
|
||||
BoardCameraMotionWait();
|
||||
temp_r3_2 = BoardSpaceFlagSearch(0, 0x10000000);
|
||||
BoardSpacePosGet(0, temp_r3_2, &sp14);
|
||||
BoardModelPosSetV(lbl_1_bss_0->unk8, &sp14);
|
||||
BoardCameraMotionStartEx(lbl_1_bss_0->unk8, &sp8, NULL, 3200.0f, -1.0f, 30);
|
||||
space = BoardSpaceFlagSearch(0, 0x10000000);
|
||||
BoardSpacePosGet(0, space, &pos);
|
||||
BoardModelPosSetV(boardWork->focus_mdl, &pos);
|
||||
BoardCameraMotionStartEx(boardWork->focus_mdl, &offset, NULL, 3200.0f, -1.0f, 30);
|
||||
BoardCameraMotionWait();
|
||||
fn_1_BA0(0x2E002E);
|
||||
HostWinExec(0x2E002E);
|
||||
BoardLotteryTutorialExec();
|
||||
BoardCameraMotionStartEx(lbl_1_bss_0->unk8, &sp8, NULL, 3200.0f, -1.0f, 30);
|
||||
BoardCameraMotionStartEx(boardWork->focus_mdl, &offset, NULL, 3200.0f, -1.0f, 30);
|
||||
BoardCameraMotionWait();
|
||||
temp_r3_2 = BoardSpaceFlagSearch(0, 0x08000000);
|
||||
BoardSpacePosGet(0, temp_r3_2, &sp14);
|
||||
BoardModelPosSetV(lbl_1_bss_0->unk8, &sp14);
|
||||
BoardCameraMotionStartEx(lbl_1_bss_0->unk8, &sp8, NULL, 3200.0f, -1.0f, 30);
|
||||
space = BoardSpaceFlagSearch(0, 0x08000000);
|
||||
BoardSpacePosGet(0, space, &pos);
|
||||
BoardModelPosSetV(boardWork->focus_mdl, &pos);
|
||||
BoardCameraMotionStartEx(boardWork->focus_mdl, &offset, NULL, 3200.0f, -1.0f, 30);
|
||||
BoardCameraMotionWait();
|
||||
fn_1_BA0(0x2E0030);
|
||||
HostWinExec(0x2E0030);
|
||||
BoardBooHouseTutorialExec();
|
||||
BoardCameraMotionStartEx(lbl_1_bss_0->unk8, &sp8, NULL, 3200.0f, -1.0f, 30);
|
||||
BoardCameraMotionStartEx(boardWork->focus_mdl, &offset, NULL, 3200.0f, -1.0f, 30);
|
||||
BoardCameraMotionWait();
|
||||
fn_1_BA0(0x2E0032);
|
||||
HostWinExec(0x2E0032);
|
||||
BoardCameraTargetModelSet(BoardStarHostMdlGet());
|
||||
BoardCameraMotionWait();
|
||||
fn_1_BA0(0x2E0033);
|
||||
fn_1_BA0(0x2E0034);
|
||||
fn_1_1E3C(8, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E0035);
|
||||
fn_1_1FB0();
|
||||
fn_1_1E3C(9, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E0036);
|
||||
fn_1_1FB0();
|
||||
fn_1_1E3C(0xA, 0x122, 0x8C);
|
||||
fn_1_BA0(0x2E0037);
|
||||
fn_1_1FB0();
|
||||
fn_1_BA0(0x2E0038);
|
||||
fn_1_BA0(0x2E0039);
|
||||
if (lbl_1_bss_C == 0) {
|
||||
lbl_1_bss_C = 1;
|
||||
HostWinExec(0x2E0033);
|
||||
HostWinExec(0x2E0034);
|
||||
TutorialSpaceShow(8, 0x122, 0x8C);
|
||||
HostWinExec(0x2E0035);
|
||||
TutorialSpaceHide();
|
||||
TutorialSpaceShow(9, 0x122, 0x8C);
|
||||
HostWinExec(0x2E0036);
|
||||
TutorialSpaceHide();
|
||||
TutorialSpaceShow(0xA, 0x122, 0x8C);
|
||||
HostWinExec(0x2E0037);
|
||||
TutorialSpaceHide();
|
||||
HostWinExec(0x2E0038);
|
||||
HostWinExec(0x2E0039);
|
||||
if (tutorialDoneF == 0) {
|
||||
tutorialDoneF = 1;
|
||||
BoardAudSeqFadeOut(0, 0x1F3);
|
||||
BoardKill();
|
||||
}
|
||||
|
|
@ -245,49 +245,49 @@ void fn_1_13A4(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_176C(void) {
|
||||
fn_1_C10(1);
|
||||
fn_1_BA0(0x2E0024);
|
||||
void TutorialMGStatusExec(void) {
|
||||
HostPosSet(1);
|
||||
HostWinExec(0x2E0024);
|
||||
}
|
||||
|
||||
void fn_1_179C(void) {
|
||||
fn_1_BA0(0x2E0025);
|
||||
void TutorialMG4PExec(void) {
|
||||
HostWinExec(0x2E0025);
|
||||
GWPlayer[1].color = 2;
|
||||
GWPlayer[3].color = 2;
|
||||
}
|
||||
|
||||
void fn_1_17F4(void) {
|
||||
fn_1_BA0(0x2E0026);
|
||||
void TutorialMG2Vs2Exec(void) {
|
||||
HostWinExec(0x2E0026);
|
||||
GWPlayer[0].color = 2;
|
||||
}
|
||||
|
||||
void fn_1_1834(void) {
|
||||
fn_1_BA0(0x2E0027);
|
||||
void TutorialMG1Vs3Exec(void) {
|
||||
HostWinExec(0x2E0027);
|
||||
GWPlayer[0].color = 1;
|
||||
GWPlayer[1].color = 1;
|
||||
GWPlayer[2].color = 1;
|
||||
GWPlayer[3].color = 2;
|
||||
}
|
||||
|
||||
void fn_1_18BC(void) {
|
||||
fn_1_BA0(0x2E0028);
|
||||
fn_1_BA0(0x2E0029);
|
||||
void TutorialMG1Vs3AltExec(void) {
|
||||
HostWinExec(0x2E0028);
|
||||
HostWinExec(0x2E0029);
|
||||
boardTutorialData[0] = 0;
|
||||
BoardStatusItemSet(0);
|
||||
}
|
||||
|
||||
void fn_1_1908(void) {
|
||||
fn_1_BA0(0x2E002D);
|
||||
void TutorialShopExec(void) {
|
||||
HostWinExec(0x2E002D);
|
||||
}
|
||||
|
||||
void fn_1_1930(void) {
|
||||
fn_1_BA0(0x2E002F);
|
||||
void TutorialLotteryExec(void) {
|
||||
HostWinExec(0x2E002F);
|
||||
}
|
||||
|
||||
void fn_1_1958(void) {
|
||||
fn_1_BA0(0x2E0031);
|
||||
void TutorialBooHouseExec(void) {
|
||||
HostWinExec(0x2E0031);
|
||||
}
|
||||
|
||||
void fn_1_1980(void) {
|
||||
void TutorialNullExec(void) {
|
||||
|
||||
}
|
||||
|
|
@ -5,20 +5,23 @@
|
|||
#include "game/wipe.h"
|
||||
#include "game/board/ui.h"
|
||||
|
||||
void fn_1_1984(void) {
|
||||
static s16 sprList[11];
|
||||
static s16 sprCurr;
|
||||
|
||||
void CloseTutorial(void) {
|
||||
s32 port;
|
||||
s32 i;
|
||||
|
||||
if (lbl_1_bss_C == 0) {
|
||||
if (tutorialDoneF == 0) {
|
||||
if (WipeStatGet() != 0) {
|
||||
HuWinDispOff(lbl_1_bss_E);
|
||||
HuWinDispOff(w10ExitWin);
|
||||
return;
|
||||
}
|
||||
HuWinDispOn(lbl_1_bss_E);
|
||||
HuWinDispOn(w10ExitWin);
|
||||
if (BoardIsKill() != 0) {
|
||||
return;
|
||||
}
|
||||
for (i = 0; i < ARRAY_COUNT(GWPlayer); i++) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
port = GWPlayer[i].port;
|
||||
if (port == -1) {
|
||||
continue;
|
||||
|
|
@ -28,7 +31,7 @@ void fn_1_1984(void) {
|
|||
}
|
||||
}
|
||||
if (i != 4) {
|
||||
lbl_1_bss_C = 1;
|
||||
tutorialDoneF = 1;
|
||||
OSReport("@@@@@@@@@@@@@@ Tutorial Exit @@@@@@@@@@@@@@\n");
|
||||
BoardAudSeqFadeOut(0, 0x1F3);
|
||||
BoardKill();
|
||||
|
|
@ -37,7 +40,7 @@ void fn_1_1984(void) {
|
|||
}
|
||||
}
|
||||
|
||||
s16 lbl_1_data_C6[11][3] = {
|
||||
static s16 rollDataTbl[11][3] = {
|
||||
1, -1, -1,
|
||||
2, -1, -1,
|
||||
4, -1, -1,
|
||||
|
|
@ -51,74 +54,74 @@ s16 lbl_1_data_C6[11][3] = {
|
|||
5, 6, -1,
|
||||
};
|
||||
|
||||
w10DllUnk04 lbl_1_data_108[42] = {
|
||||
{0x0000, 0000, fn_1_D2C},
|
||||
{0x0001, 0000, fn_1_D54},
|
||||
{0x0002, 0000, fn_1_D7C},
|
||||
{0x0003, 0000, fn_1_DA4},
|
||||
{0x0003, 0000, fn_1_DCC},
|
||||
{0x0003, 0000, fn_1_DF4},
|
||||
{0x0003, 0000, fn_1_E1C},
|
||||
{0x0004, 0000, fn_1_E44},
|
||||
{0x0005, 0000, fn_1_E94},
|
||||
{0x0006, 0000, fn_1_EBC},
|
||||
{0x0007, 0000, fn_1_EE4},
|
||||
{0x000A, 0000, fn_1_EE8},
|
||||
{0x000B, 0000, fn_1_F30},
|
||||
{0x0010, 0000, fn_1_F6C},
|
||||
{0x0011, 0000, fn_1_FB8},
|
||||
{0x000C, 0000, fn_1_1010},
|
||||
{0x000D, 0000, fn_1_105C},
|
||||
{0x000E, 0000, fn_1_1098},
|
||||
{0x000E, 0000, fn_1_10C0},
|
||||
{0x000F, 0000, fn_1_10F8},
|
||||
{0x0012, 0000, fn_1_1134},
|
||||
{0x0014, 0000, fn_1_1178},
|
||||
{0x0015, 0000, fn_1_11A0},
|
||||
{0x0016, 0000, fn_1_11EC},
|
||||
{0x0005, 0000, fn_1_1240},
|
||||
{0x0017, 0000, fn_1_1278},
|
||||
{0x0007, 0000, fn_1_12A0},
|
||||
{0x0005, 0000, fn_1_12DC},
|
||||
{0x0017, 0000, fn_1_1304},
|
||||
{0x0018, 0000, fn_1_132C},
|
||||
{0x0019, 0000, fn_1_1354},
|
||||
{0x0008, 0000, fn_1_137C},
|
||||
{0x0009, 0000, fn_1_13A4},
|
||||
{0x001A, 0000, fn_1_176C},
|
||||
{0x001B, 0000, fn_1_179C},
|
||||
{0x001B, 0000, fn_1_17F4},
|
||||
{0x001B, 0000, fn_1_1834},
|
||||
{0x001B, 0000, fn_1_18BC},
|
||||
{0x001C, 0000, fn_1_1908},
|
||||
{0x001C, 0000, fn_1_1930},
|
||||
{0x001C, 0000, fn_1_1958},
|
||||
{-1, 0, 0},
|
||||
static TutorialScene sceneTbl[42] = {
|
||||
{0, TutorialStartExec},
|
||||
{1, TutorialPreRollExec},
|
||||
{2, TutorialOrderExec},
|
||||
{3, TutorialP1StartExec},
|
||||
{3, TutorialP2StartExec},
|
||||
{3, TutorialP3StartExec},
|
||||
{3, TutorialP4StartExec},
|
||||
{4, TutorialGameStartExec},
|
||||
{5, TutorialRollExec},
|
||||
{6, TutorialMoveExec},
|
||||
{7, TutorialLandExec},
|
||||
{10, TutorialLandBlueExec},
|
||||
{11, TutorialLandRedExec},
|
||||
{16, TutorialLandHappenExec},
|
||||
{17, TutorialLandFortuneExec},
|
||||
{12, TutorialLandBowserExec},
|
||||
{13, TutorialLandMushroomExec},
|
||||
{14, TutorialMushroomMegaExec},
|
||||
{14, TutorialMushroomMiniExec},
|
||||
{15, TutorialLandBattleExec},
|
||||
{18, TutorialLandWarpExec},
|
||||
{20, TutorialWarpDecideExec},
|
||||
{21, TutorialBlockStarExec},
|
||||
{22, TutorialBlockCoinExec},
|
||||
{5, TutorialMiniMegaExec},
|
||||
{23, TutorialMiniUseExec},
|
||||
{7, TutorialMiniStopExec},
|
||||
{5, TutorialMegaUseExec},
|
||||
{23, TutorialMegaDiceExec},
|
||||
{24, TutorialMegaStompExec},
|
||||
{25, TutorialMegaEventExec},
|
||||
{8, TutorialMegaStopExec},
|
||||
{9, TutorialEndExec},
|
||||
{26, TutorialMGStatusExec},
|
||||
{27, TutorialMG4PExec},
|
||||
{27, TutorialMG2Vs2Exec},
|
||||
{27, TutorialMG1Vs3Exec},
|
||||
{27, TutorialMG1Vs3AltExec},
|
||||
{28, TutorialShopExec},
|
||||
{28, TutorialLotteryExec},
|
||||
{28, TutorialBooHouseExec},
|
||||
{-1, NULL },
|
||||
};
|
||||
|
||||
int fn_1_1AAC(s16 arg0, s32 arg1) {
|
||||
if (arg0 == 0x1E) {
|
||||
fn_1_1984();
|
||||
int TutorialExec(s16 arg0, s32 arg1) {
|
||||
if (arg0 == 30) {
|
||||
CloseTutorial();
|
||||
return;
|
||||
}
|
||||
if (arg0 != 0x1D) {
|
||||
if (arg0 != 29) {
|
||||
OSReport("Tutorial Hook P0:%d P1:%d P2:%d P3:%d SCEN:%d CUE:%d PRM:%d DICE:%d MSG:%d\n",
|
||||
GWPlayer[0].com, GWPlayer[1].com,
|
||||
GWPlayer[2].com, GWPlayer[3].com,
|
||||
lbl_1_bss_0->unk0, arg0, arg1, lbl_1_bss_0->unk4, lbl_1_bss_0->unk6);
|
||||
if (lbl_1_data_108[lbl_1_bss_0->unk0].unk0 != -1) {
|
||||
boardWork->scene, arg0, arg1, boardWork->dice, boardWork->msg);
|
||||
if (sceneTbl[boardWork->scene].cue != -1) {
|
||||
if (arg0 == 5) {
|
||||
BoardRollTutorialSet(&lbl_1_data_C6[lbl_1_bss_0->unk4++][0]);
|
||||
BoardRollTutorialSet(&rollDataTbl[boardWork->dice++][0]);
|
||||
}
|
||||
if (arg0 == lbl_1_data_108[lbl_1_bss_0->unk0].unk0) {
|
||||
void (*temp_r3_3)() = lbl_1_data_108[lbl_1_bss_0->unk0++].unk4;
|
||||
temp_r3_3();
|
||||
if (arg0 == sceneTbl[boardWork->scene].cue) {
|
||||
TutorialSceneFunc func = sceneTbl[boardWork->scene++].func;
|
||||
func();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 lbl_1_data_2A8[11] = {
|
||||
static s32 tutorialSprTbl[11] = {
|
||||
DATA_MAKE_NUM(DATADIR_W10, 4),
|
||||
DATA_MAKE_NUM(DATADIR_W10, 5),
|
||||
DATA_MAKE_NUM(DATADIR_W10, 6),
|
||||
|
|
@ -132,45 +135,43 @@ s32 lbl_1_data_2A8[11] = {
|
|||
DATA_MAKE_NUM(DATADIR_W10, 14)
|
||||
};
|
||||
|
||||
void fn_1_1D68(void) {
|
||||
s32 temp_r4;
|
||||
s32 temp_r5;
|
||||
void TutorialSprCreate(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 11; i++) {
|
||||
lbl_1_bss_22[i] = espEntry(lbl_1_data_2A8[i], 0, 0);
|
||||
espDispOff(lbl_1_bss_22[i]);
|
||||
sprList[i] = espEntry(tutorialSprTbl[i], 0, 0);
|
||||
espDispOff(sprList[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_1DEC(void) {
|
||||
void TutorialSprKill(void) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 11; i++) {
|
||||
espKill(lbl_1_bss_22[i]);
|
||||
espKill(sprList[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_1E3C(s16 arg0, s16 arg1, s16 arg2) {
|
||||
void TutorialSpaceShow(s16 arg0, s16 arg1, s16 arg2) {
|
||||
f32 var_f31;
|
||||
f32 var_f30;
|
||||
u32 i;
|
||||
|
||||
lbl_1_bss_20 = lbl_1_bss_22[arg0];
|
||||
espPosSet(lbl_1_bss_20, arg1, arg2);
|
||||
sprCurr = sprList[arg0];
|
||||
espPosSet(sprCurr, arg1, arg2);
|
||||
var_f31 = 0.0f;
|
||||
var_f30 = 0.0f;
|
||||
espDispOn(lbl_1_bss_20);
|
||||
espDispOn(sprCurr);
|
||||
for (i = 0; i < 15; i++) {
|
||||
var_f31 += 0.06666667f;
|
||||
var_f30 += 0.06666667f;
|
||||
espScaleSet(lbl_1_bss_20, var_f31, var_f30);
|
||||
espScaleSet(sprCurr, var_f31, var_f30);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
espScaleSet(lbl_1_bss_20, 1.0f, 1.0f);
|
||||
espScaleSet(sprCurr, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
void fn_1_1FB0(void) {
|
||||
void TutorialSpaceHide(void) {
|
||||
f32 var_f31;
|
||||
f32 var_f30;
|
||||
u32 i;
|
||||
|
|
@ -180,8 +181,8 @@ void fn_1_1FB0(void) {
|
|||
for (i = 0; i < 15; i++) {
|
||||
var_f31 -= 0.06666667f;
|
||||
var_f30 -= 0.06666667f;
|
||||
espScaleSet(lbl_1_bss_20, var_f31, var_f30);
|
||||
espScaleSet(sprCurr, var_f31, var_f30);
|
||||
HuPrcVSleep();
|
||||
}
|
||||
espDispOff(lbl_1_bss_20);
|
||||
espDispOff(sprCurr);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue