Decompile w21 board
This commit is contained in:
parent
c2ca3b4346
commit
b664e01d0b
3 changed files with 97 additions and 12 deletions
|
|
@ -3,16 +3,16 @@ _prolog = .text:0x00000030; // type:function size:0x64 scope:global
|
|||
_epilog = .text:0x00000094; // type:function size:0x4C scope:global
|
||||
BoardCreate = .text:0x000000E0; // type:function size:0x1D4
|
||||
BoardDestroy = .text:0x000002B4; // type:function size:0xB8
|
||||
fn_1_36C = .text:0x0000036C; // type:function size:0x44
|
||||
fn_1_3B0 = .text:0x000003B0; // type:function size:0x20
|
||||
fn_1_3D0 = .text:0x000003D0; // type:function size:0x8
|
||||
fn_1_3D8 = .text:0x000003D8; // type:function size:0x4
|
||||
fn_1_3DC = .text:0x000003DC; // type:function size:0x4
|
||||
LightSetHook = .text:0x0000036C; // type:function size:0x44 scope:local
|
||||
LightResetHook = .text:0x000003B0; // type:function size:0x20 scope:local
|
||||
WalkEvent = .text:0x000003D0; // type:function size:0x8 scope:local
|
||||
WalkMiniEvent = .text:0x000003D8; // type:function size:0x4 scope:local
|
||||
LandEvent = .text:0x000003DC; // type:function size:0x4 scope:local
|
||||
_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 data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float
|
||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_2 = .data:0x00000002; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_4 = .data:0x00000004; // type:object size:0x2 data:2byte
|
||||
lbl_1_data_8 = .data:0x00000008; // type:object size:0x8
|
||||
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
|
||||
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
|
||||
bgMdl = .data:0x00000000; // type:object size:0x2 scope:local data:2byte
|
||||
fgMdl = .data:0x00000002; // type:object size:0x2 scope:local data:2byte
|
||||
hostMdl = .data:0x00000004; // type:object size:0x2 scope:local data:2byte
|
||||
hostMotTbl = .data:0x00000008; // type:object size:0x8 scope:local
|
||||
|
|
|
|||
|
|
@ -1104,7 +1104,7 @@ config.libs = [
|
|||
Rel('w21Dll',
|
||||
objects = {
|
||||
Object(Matching, "REL/board_executor.c"),
|
||||
Object(NonMatching, "REL/w21Dll/main.c"),
|
||||
Object(Matching, "REL/w21Dll/main.c"),
|
||||
}
|
||||
),
|
||||
Rel('ztardll',
|
||||
|
|
|
|||
85
src/REL/w21Dll/main.c
Normal file
85
src/REL/w21Dll/main.c
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
#include "game/board/space.h"
|
||||
#include "game/board/model.h"
|
||||
#include "game/board/main.h"
|
||||
#include "game/board/star.h"
|
||||
#include "game/board/shop.h"
|
||||
|
||||
#include "game/data.h"
|
||||
|
||||
static s16 bgMdl = -1;
|
||||
static s16 fgMdl = -1;
|
||||
static s16 hostMdl = -1;
|
||||
|
||||
static s32 hostMotTbl[] = {
|
||||
DATA_MAKE_NUM(DATADIR_BGUEST, 42),
|
||||
-1
|
||||
};
|
||||
|
||||
static void LightSetHook(void);
|
||||
static void LightResetHook(void);
|
||||
static s32 WalkEvent(void);
|
||||
static s32 WalkMiniEvent(void);
|
||||
static s32 LandEvent(void);
|
||||
|
||||
void BoardCreate(void)
|
||||
{
|
||||
BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W21, 0));
|
||||
bgMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W21, 1), NULL, 0);
|
||||
fn_8006DDE8(bgMdl, -1.0f);
|
||||
BoardModelMotionStart(bgMdl, 0, 0x40000001);
|
||||
fgMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W21, 2), NULL, 0);
|
||||
fn_8006DDE8(fgMdl, -1.0f);
|
||||
BoardModelPosSet(fgMdl, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(fgMdl, 0, 0x40000001);
|
||||
hostMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BGUEST, 41), hostMotTbl, 0);
|
||||
BoardModelPosSet(hostMdl, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(hostMdl, 1, 0x40000001);
|
||||
BoardLightHookSet(LightSetHook, LightResetHook);
|
||||
BoardSpaceWalkEventFuncSet(WalkEvent);
|
||||
BoardSpaceWalkMiniEventFuncSet(WalkMiniEvent);
|
||||
BoardSpaceLandEventFuncSet(LandEvent);
|
||||
BoardStarHostSet(hostMdl);
|
||||
BoardShopHostSet(hostMdl);
|
||||
}
|
||||
|
||||
void BoardDestroy(void)
|
||||
{
|
||||
if(hostMdl != -1) {
|
||||
BoardModelKill(hostMdl);
|
||||
hostMdl = -1;
|
||||
}
|
||||
if(bgMdl != -1) {
|
||||
BoardModelKill(bgMdl);
|
||||
bgMdl = -1;
|
||||
}
|
||||
if(fgMdl != -1) {
|
||||
BoardModelKill(fgMdl);
|
||||
fgMdl = -1;
|
||||
}
|
||||
}
|
||||
|
||||
static void LightSetHook(void)
|
||||
{
|
||||
s16 id = BoardModelIDGet(bgMdl);
|
||||
Hu3DModelLightInfoSet(id, 1);
|
||||
}
|
||||
|
||||
static void LightResetHook(void)
|
||||
{
|
||||
Hu3DFogClear();
|
||||
}
|
||||
|
||||
static s32 WalkEvent(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static s32 WalkMiniEvent(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static s32 LandEvent(void)
|
||||
{
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue