Merge pull request #286 from dbalatoni13/main

Finish w20Dll and delete accidentally committed files
This commit is contained in:
Liam Coleman 2024-04-30 20:48:46 -05:00 committed by GitHub
commit 10ae057c81
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 181 additions and 8944 deletions

View file

@ -1,4 +0,0 @@
BasedOnStyle: WebKit
IndentWidth: 4
ColumnLimit: 120
PointerAlignment: Right

View file

@ -13,17 +13,21 @@ fn_1_4A8 = .text:0x000004A8; // type:function size:0x4
fn_1_4AC = .text:0x000004AC; // type:function size:0x1CC
_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_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float
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
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:float
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local 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_6 = .data:0x00000006; // type:object size:0x2 data:2byte
lbl_1_data_8 = .data:0x00000008; // type:object size:0x2 data:2byte
lbl_1_data_A = .data:0x0000000A; // type:object size:0x22 data:2byte
lbl_1_data_2C = .data:0x0000002C; // type:object size:0x8
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x8
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x6
lbl_1_data_A = .data:0x0000000A; // type:object size:0x2 data:2byte
lbl_1_data_C = .data:0x0000000C; // type:object size:0x20 data:4byte
unkMotTbl = .data:0x0000002C; // type:object size:0x8
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4
lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2

View file

@ -1441,7 +1441,7 @@ config.libs = [
Rel('w20Dll',
objects = {
Object(Matching, "REL/board_executor.c"),
Object(NonMatching, "REL/w20Dll/main.c"),
Object(Matching, "REL/w20Dll/main.c"),
}
),
Rel('w21Dll',

6525
ctx_asd.c

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

12
include/REL/w20Dll.h Normal file
View file

@ -0,0 +1,12 @@
#ifndef REL_W20_H
#define REL_W20_H
#include "dolphin/types.h"
typedef struct UnkW20BoardData {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s16 unk_04;
/* 0x06 */ s16 unk_06;
} UnkW20BoardData;
#endif

154
src/REL/w20Dll/main.c Normal file
View file

@ -0,0 +1,154 @@
#include "game/board/model.h"
#include "game/data.h"
#include "game/gamework_data.h"
#include "math.h"
#include "REL/w20Dll.h"
s16 lbl_1_bss_C;
s32 lbl_1_bss_8;
s32 lbl_1_bss_4;
UnkW20BoardData *lbl_1_bss_0;
s16 lbl_1_data_0 = 0xFFFF;
s16 lbl_1_data_2 = 0xFFFF;
s16 lbl_1_data_4 = 0xFFFF;
s16 lbl_1_data_6 = 0xFFFF;
s16 lbl_1_data_8 = 0xFFFF;
s16 lbl_1_data_A = 0xFFFF;
s32 lbl_1_data_C[] = {
0x005F0000,
0x001A0000,
0x006D0000,
0x008A0000,
0x00850000,
0x00110000,
0x000D0000,
0x00810000,
};
s32 unkMotTbl[] = { DATA_MAKE_NUM(DATADIR_BGUEST, 42), -1 };
void fn_1_44C(void);
void fn_1_490(void);
void fn_1_494(void);
s32 fn_1_498(void);
void fn_1_4A0(void);
void fn_1_4A4(void);
void fn_1_4A8(void);
s32 fn_1_4AC(s16 arg0, float arg8, float arg9);
void BoardCreate(void)
{
s32 sp8;
s32 var_r31;
var_r31 = GWSystem.board;
sp8 = var_r31;
lbl_1_bss_0 = (UnkW20BoardData *)GWSystem.board_data;
lbl_1_bss_0->unk_00 = 0;
lbl_1_bss_0->unk_04 = 0;
lbl_1_bss_0->unk_06 = 0;
BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W20, 0));
lbl_1_data_0 = BoardModelCreate(0x7C0001, NULL, 0);
fn_8006DDE8(lbl_1_data_0, -1.0f);
BoardModelPosSet(lbl_1_data_0, 0.0f, 0.0f, 0.0f);
BoardModelMotionStart(lbl_1_data_0, 0, 0x40000001);
BoardModelMotionSpeedSet(lbl_1_data_0, 1.0f);
lbl_1_data_2 = BoardModelCreate(0x7C0002, NULL, 0);
fn_8006DDE8(lbl_1_data_2, -1.0f);
BoardModelPosSet(lbl_1_data_2, 0.0f, 0.0f, 0.0f);
BoardModelMotionStart(lbl_1_data_2, 0, 0x40000001);
lbl_1_data_6 = BoardModelCreate(0x20029, unkMotTbl, 0);
BoardModelMotionStart(lbl_1_data_6, 1, 0x40000001);
lbl_1_data_8 = BoardModelCreate(0x20029, unkMotTbl, 0);
BoardModelMotionStart(lbl_1_data_8, 1, 0x40000001);
BoardLightHookSet(fn_1_44C, fn_1_490);
BoardSpaceWalkEventFuncSet(fn_1_498);
BoardSpaceWalkMiniEventFuncSet(fn_1_4A8);
BoardSpaceLandEventFuncSet(fn_1_494);
BoardShopHostSet(lbl_1_data_6);
BoardLotteryHostSet(lbl_1_data_8);
BoardStarHostSet(lbl_1_data_6);
}
void BoardDestroy(void)
{
if (lbl_1_data_6 != -1) {
BoardModelKill(lbl_1_data_6);
lbl_1_data_6 = -1;
}
if (lbl_1_data_0 != -1) {
BoardModelKill(lbl_1_data_0);
lbl_1_data_0 = -1;
}
if (lbl_1_data_2 != -1) {
BoardModelKill(lbl_1_data_2);
lbl_1_data_2 = -1;
}
BoardSpaceDestroy();
}
void fn_1_44C(void)
{
s16 var_r31;
var_r31 = BoardModelIDGet(lbl_1_data_0);
Hu3DModelLightInfoSet(var_r31, 1);
}
void fn_1_490(void) { }
void fn_1_494(void) { }
s32 fn_1_498(void) { return 0; }
void fn_1_4A0(void) { }
void fn_1_4A4(void) { }
void fn_1_4A8(void) { }
s32 fn_1_4AC(s16 arg0, float arg8, float arg9)
{
float var_f29;
float var_f31;
s32 var_r31;
var_r31 = 0;
var_f31 = BoardModelRotYGet(arg0);
arg8 = fmod(arg8, 360.0f);
if (var_f31 < 0.0f) {
var_f31 += 360.0f;
}
if (arg8 < 0.0f) {
arg8 += 360.0f;
}
if (var_f31 != arg8) {
var_f29 = arg8 - var_f31;
if (var_f29 < 0.0f) {
var_f29 += 360.0f;
}
if (var_f29 < 180.0f) {
if (var_f29 > arg9) {
var_f31 += arg9;
} else {
var_f31 = arg8;
}
} else if ((360.0f - var_f29) > arg9) {
var_f31 -= arg9;
} else {
var_f31 = arg8;
}
if (var_f31 < 0.0f) {
var_f31 += 360.0f;
}
if (var_f31 >= 360.0f) {
var_f31 -= 360.0f;
}
BoardModelRotYSet(arg0, var_f31);
} else {
var_r31 = 1;
}
return var_r31;
}

View file

@ -1,2 +0,0 @@
build_system = "ninja"
compiler_type = "mwcc"