Merge pull request #83 from gamemasterplc/main

Split first 3 boards
This commit is contained in:
gamemasterplc 2023-12-31 10:52:02 -06:00 committed by GitHub
commit 1b5779bfa3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 199 additions and 34 deletions

View file

@ -5,3 +5,24 @@ Sections:
.rodata type:rodata align:8
.data type:data align:8
.bss type:bss align:8
REL/board_executor.c:
.text start:0x00000000 end:0x000000E0
REL/w01Dll/main.c:
.text start:0x000000E0 end:0x00009D00
.rodata start:0x00000000 end:0x00000198
.data start:0x00000000 end:0x00000658
.bss start:0x00000000 end:0x00000708
REL/w01Dll/mg_coin.c:
.text start:0x00009D00 end:0x0000D740
.rodata start:0x00000198 end:0x000002C8
.data start:0x00000658 end:0x00000F08
.bss start:0x00000708 end:0x000007A0
REL/w01Dll/mg_item.c:
.text start:0x0000D740 end:0x000119F0
.rodata start:0x000002C8 end:0x000003C4
.data start:0x00000F08 end:0x00000FAC
.bss start:0x000007A0 end:0x0000081C

View file

@ -1,8 +1,8 @@
fn_1_0 = .text:0x00000000; // type:function size:0x30
InitBoard = .text:0x00000000; // type:function size:0x30 scope:local
_prolog = .text:0x00000030; // type:function size:0x64 scope:global
_epilog = .text:0x00000094; // type:function size:0x4C scope:global
fn_1_E0 = .text:0x000000E0; // type:function size:0x4BC
fn_1_59C = .text:0x0000059C; // type:function size:0x194
BoardInit = .text:0x000000E0; // type:function size:0x4BC
BoardDestroy = .text:0x0000059C; // type:function size:0x194
fn_1_730 = .text:0x00000730; // type:function size:0x44
fn_1_774 = .text:0x00000774; // type:function size:0x4
fn_1_778 = .text:0x00000778; // type:function size:0x9C

View file

@ -5,3 +5,47 @@ Sections:
.rodata type:rodata align:8
.data type:data align:8
.bss type:bss align:8
REL/board_executor.c:
.text start:0x00000000 end:0x000000E0
REL/w02Dll/main.c:
.text start:0x000000E0 end:0x00001254
.rodata start:0x00000000 end:0x00000038
.data start:0x00000000 end:0x000002A8
.bss start:0x00000000 end:0x00000050
REL/w02Dll/dice.c:
.text start:0x00001254 end:0x00002D04
.rodata start:0x00000038 end:0x00000108
.data start:0x000002A8 end:0x00000360
REL/w02Dll/gamble.c:
.text start:0x00002D04 end:0x000039F4
.rodata start:0x00000108 end:0x00000178
.data start:0x00000360 end:0x00000378
.bss start:0x00000050 end:0x00000058
REL/w02Dll/mg_coin.c:
.text start:0x000039F4 end:0x00005CF8
.rodata start:0x00000178 end:0x00000218
.data start:0x00000378 end:0x00000428
.bss start:0x00000058 end:0x000000C8
REL/w02Dll/mg_item.c:
.text start:0x00005CF8 end:0x00009250
.rodata start:0x00000218 end:0x000002F0
.data start:0x00000428 end:0x00000490
.bss start:0x000000C8 end:0x000001A0
REL/w02Dll/shuffleboard.c:
.text start:0x00009250 end:0x0000BC1C
.rodata start:0x000002F0 end:0x00000408
.data start:0x00000490 end:0x000004D0
.bss start:0x000001A0 end:0x00000380
REL/w02Dll/roulette.c:
.text start:0x0000BC1C end:0x0000E4D4
.rodata start:0x00000408 end:0x00000530
.data start:0x000004D0 end:0x00000524
.bss start:0x00000380 end:0x00000390

View file

@ -1,8 +1,8 @@
fn_1_0 = .text:0x00000000; // type:function size:0x30
InitBoard = .text:0x00000000; // type:function size:0x30 scope:local
_prolog = .text:0x00000030; // type:function size:0x64 scope:global
_epilog = .text:0x00000094; // type:function size:0x4C scope:global
fn_1_E0 = .text:0x000000E0; // type:function size:0x4F4
fn_1_5D4 = .text:0x000005D4; // type:function size:0x158
BoardInit = .text:0x000000E0; // type:function size:0x4F4
BoardDestroy = .text:0x000005D4; // type:function size:0x158
fn_1_72C = .text:0x0000072C; // type:function size:0x44
fn_1_770 = .text:0x00000770; // type:function size:0x4
fn_1_774 = .text:0x00000774; // type:function size:0x8C

View file

@ -5,3 +5,47 @@ Sections:
.rodata type:rodata align:8
.data type:data align:8
.bss type:bss align:8
REL/board_executor.c:
.text start:0x00000000 end:0x000000E0
REL/w03Dll/main.c:
.text start:0x000000E0 end:0x000010E4
.rodata start:0x00000000 end:0x00000030
.data start:0x00000000 end:0x00000280
.bss start:0x00000000 end:0x00000028
REL/w03Dll/statue.c:
.text start:0x000010E4 end:0x00003058
.rodata start:0x00000030 end:0x000000D8
.data start:0x00000280 end:0x00000310
.bss start:0x00000028 end:0x00000070
REL/w03Dll/condor.c:
.text start:0x00003058 end:0x000063F4
.rodata start:0x000000D8 end:0x00000218
.data start:0x00000310 end:0x00000368
.bss start:0x00000070 end:0x00000120
REL/w03Dll/river.c:
.text start:0x000063F4 end:0x0000785C
.rodata start:0x00000218 end:0x000002A8
.data start:0x00000368 end:0x00000410
.bss start:0x00000120 end:0x00000140
REL/w03Dll/smoke.c:
.text start:0x0000785C end:0x00007ABC
.rodata start:0x000002A8 end:0x000002B0
.data start:0x00000410 end:0x00000450
REL/w03Dll/mg_coin.c:
.text start:0x00007ABC end:0x00009A7C
.rodata start:0x000002B0 end:0x00000360
.data start:0x00000450 end:0x000004D8
.bss start:0x00000140 end:0x00000180
REL/w03Dll/mg_item.c:
.text start:0x00009A7C end:0x0000C248
.rodata start:0x00000360 end:0x00000418
.data start:0x000004D8 end:0x0000054C
.bss start:0x00000180 end:0x00000197

View file

@ -1,8 +1,8 @@
fn_1_0 = .text:0x00000000; // type:function size:0x30
InitBoard = .text:0x00000000; // type:function size:0x30 scope:local
_prolog = .text:0x00000030; // type:function size:0x64 scope:global
_epilog = .text:0x00000094; // type:function size:0x4C scope:global
fn_1_E0 = .text:0x000000E0; // type:function size:0x660
fn_1_740 = .text:0x00000740; // type:function size:0x144
BoardInit = .text:0x000000E0; // type:function size:0x660
BoardDestroy = .text:0x00000740; // type:function size:0x144
fn_1_884 = .text:0x00000884; // type:function size:0x6C
fn_1_8F0 = .text:0x000008F0; // type:function size:0x20
fn_1_910 = .text:0x00000910; // type:function size:0x164

View file

@ -6,25 +6,25 @@ Sections:
.data type:data align:8
.bss type:bss align:8
REL/w10Dll/w10Dll_init.c:
REL/board_executor.c:
.text start:0x00000000 end:0x000000E0
REL/w10Dll/w10Dll.c:
REL/w10Dll/main.c:
.text start:0x000000E0 end:0x00000AEC
.rodata start:0x00000000 end:0x00000038
.data start:0x00000000 end:0x00000078
.bss start:0x00000000 end:0x00000038
REL/w10Dll/w10Dll2.c:
REL/w10Dll/host.c:
.text start:0x00000AEC end:0x00000D2C
.rodata start:0x00000038 end:0x00000048
.data start:0x00000078 end:0x00000098
REL/w10Dll/w10Dll3.c:
REL/w10Dll/scene.c:
.text start:0x00000D2C end:0x0000176C
.rodata start:0x00000048 end:0x00000050
REL/w10Dll/w10Dll4.c:
REL/w10Dll/tutorial.c:
.text start:0x0000176C end:0x0000206C
.rodata start:0x00000050 end:0x00000070
.data start:0x00000098 end:0x000002D4

View file

@ -1,8 +1,8 @@
fn_1_0 = .text:0x00000000; // type:function size:0x30
InitBoard = .text:0x00000000; // type:function size:0x30 scope:local
_prolog = .text:0x00000030; // type:function size:0x64 scope:global
_epilog = .text:0x00000094; // type:function size:0x4C scope:global
fn_1_E0 = .text:0x000000E0; // type:function size:0x5F8
fn_1_6D8 = .text:0x000006D8; // type:function size:0x1E8
BoardInit = .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

View file

@ -999,7 +999,7 @@ HuRestartSystem = .text:0x8005AE34; // type:function size:0xDC
HuSoftResetCheck = .text:0x8005AF10; // type:function size:0xFC scope:local
HuSoftResetCountCheck = .text:0x8005B00C; // type:function size:0xCC scope:local
HuSoftResetPostProc = .text:0x8005B0D8; // type:function size:0x78 scope:local
BoardInit = .text:0x8005B150; // type:function size:0x2E0
BoardCommonInit = .text:0x8005B150; // type:function size:0x2E0
InitBoardFunc = .text:0x8005B430; // type:function size:0x64 scope:local
ExecBoardFunc = .text:0x8005B494; // type:function size:0x9C scope:local
KillBoardFunc = .text:0x8005B530; // type:function size:0xCC scope:local
@ -1063,9 +1063,9 @@ BoardMGExit = .text:0x8005EF8C; // type:function size:0x170
BoardMGKill = .text:0x8005F0FC; // type:function size:0x60
BoardMGExec = .text:0x8005F15C; // type:function size:0xC4
BoardMGCreate = .text:0x8005F220; // type:function size:0x74
BoardMGStartFlagSet = .text:0x8005F294; // type:function size:0x28
BoardMGStartFlagReset = .text:0x8005F2BC; // type:function size:0x28
BoardMGStartFlagGet = .text:0x8005F2E4; // type:function size:0x48
BoardEventFlagSet = .text:0x8005F294; // type:function size:0x28
BoardEventFlagReset = .text:0x8005F2BC; // type:function size:0x28
BoardEventFlagGet = .text:0x8005F2E4; // type:function size:0x48
BoardMTXCalcLookAt = .text:0x8005F32C; // type:function size:0x10C
BoardArcSin = .text:0x8005F438; // type:function size:0x330
BoardArcCos = .text:0x8005F768; // type:function size:0x390

View file

@ -861,13 +861,45 @@ config.libs = [
Object(NonMatching, "REL/subchrselDll/subchrselDll.c"),
}
),
Rel('subchrselDll',
Rel('w01Dll',
objects = {
Object(Matching, "REL/w10Dll/w10Dll_init.c"),
Object(Matching, "REL/w10Dll/w10Dll.c"),
Object(Matching, "REL/w10Dll/w10Dll2.c"),
Object(Matching, "REL/w10Dll/w10Dll3.c"),
Object(Matching, "REL/w10Dll/w10Dll4.c"),
Object(Matching, "REL/board_executor.c"),
Object(NonMatching, "REL/w01Dll/main.c"),
Object(NonMatching, "REL/w01Dll/mg_coin.c"),
Object(NonMatching, "REL/w01Dll/mg_item.c"),
}
),
Rel('w02Dll',
objects = {
Object(Matching, "REL/board_executor.c"),
Object(NonMatching, "REL/w02Dll/main.c"),
Object(NonMatching, "REL/w02Dll/dice.c"),
Object(NonMatching, "REL/w02Dll/gamble.c"),
Object(NonMatching, "REL/w02Dll/mg_coin.c"),
Object(NonMatching, "REL/w02Dll/mg_item.c"),
Object(NonMatching, "REL/w02Dll/shuffleboard.c"),
Object(NonMatching, "REL/w02Dll/roulette.c"),
}
),
Rel('w03Dll',
objects = {
Object(Matching, "REL/board_executor.c"),
Object(NonMatching, "REL/w03Dll/main.c"),
Object(NonMatching, "REL/w03Dll/statue.c"),
Object(NonMatching, "REL/w03Dll/condor.c"),
Object(NonMatching, "REL/w03Dll/river.c"),
Object(NonMatching, "REL/w03Dll/smoke.c"),
Object(NonMatching, "REL/w03Dll/mg_coin.c"),
Object(NonMatching, "REL/w03Dll/mg_item.c"),
}
),
Rel('w10Dll',
objects = {
Object(Matching, "REL/board_executor.c"),
Object(Matching, "REL/w10Dll/main.c"),
Object(Matching, "REL/w10Dll/host.c"),
Object(Matching, "REL/w10Dll/scene.c"),
Object(Matching, "REL/w10Dll/tutorial.c"),
}
),
]

View file

@ -0,0 +1,24 @@
#ifndef REL_BOARD_EXECUTOR_H
#define REL_BOARD_EXECUTOR_H
#ifdef __cplusplus
extern "C" {
#endif
extern int _prolog();
extern void _epilog();
typedef void (*VoidFunc)(void);
extern const VoidFunc _ctors[];
extern const VoidFunc _dtors[];
extern void BoardCommonInit(VoidFunc init, VoidFunc destroy);
extern void BoardInit(void);
extern void BoardDestroy(void);
#ifdef __cplusplus
}
#endif
#endif /* REL_BOARD_EXECUTOR_H */

View file

@ -69,7 +69,7 @@ f32 BoardModelRotYGet(s32);
void BoardModelLayerSet(s16, s32);
void BoardTutorialHostSet(s16);
s32 BoardModelIDGet(s16);
void BoardInit(void*, void*);
void BoardCommonInit(void*, void*);
void BoardModelScaleSetV(s32, Vec*);
void BoardLightHookSet(void*, void*);
s16 BoardModelCreate(s32, void*, s32);

View file

@ -1,7 +1,7 @@
#include "include/REL/w10Dll.h"
#include "REL/board_executor.h"
void fn_1_0(void) {
BoardInit(&fn_1_E0, &fn_1_6D8);
static void InitBoard(void) {
BoardCommonInit(BoardInit, BoardDestroy);
}
int _prolog(void) {
@ -10,7 +10,7 @@ int _prolog(void) {
(**ctors)();
ctors++;
}
fn_1_0();
InitBoard();
return 0;
}

View file

@ -65,7 +65,7 @@ inline s32 get_current_board(void) {
return GWSystem.board;
}
void fn_1_E0(void) {
void BoardInit(void) {
f32 sp10;
f32 spC[2];
s32 sp8;
@ -138,7 +138,7 @@ void fn_1_E0(void) {
HuWinMesPalSet(lbl_1_bss_E, 7, 0, 0, 0);
}
void fn_1_6D8(void) {
void BoardDestroy(void) {
s32 i;
for (i = 0; i < 1; i++) {
if (lbl_1_bss_10[i] != 0) {