Matched game/board/shop

This commit is contained in:
mrshigure 2024-03-11 23:30:29 -07:00
parent bf6d3e163f
commit c2adb3827a
14 changed files with 1320 additions and 131 deletions

View file

@ -5207,11 +5207,11 @@ spaceImgIdx = .data:0x80139CC8; // type:object size:0xC scope:local
spaceHiliteImgIdx = .data:0x80139CD4; // type:object size:0xC scope:local
jumptable_80139CE0 = .data:0x80139CE0; // type:object size:0x28 scope:local
hostMessTbl = .data:0x80139D08; // type:object size:0x24 scope:local
itemPriceTbl = .data:0x80139D2C; // type:object size:0x10 scope:local
itemPriceTbl = .data:0x80139D2C; // type:object size:0x10 scope:local data:byte
shopMotTbl = .data:0x80139D3C; // type:object size:0x6C scope:local
lbl_80139DA8 = .data:0x80139DA8; // type:object size:0xA data:string
itemPrioTbl = .data:0x80139DB2; // type:object size:0x8C scope:local
rankItemGroupTbl = .data:0x80139E3E; // type:object size:0x18 scope:local
itemPrioTbl = .data:0x80139DB2; // type:object size:0x8C scope:local data:byte
rankItemGroupTbl = .data:0x80139E3E; // type:object size:0x18 scope:local data:byte
cursorPosTbl = .data:0x80139E58; // type:object size:0x30 scope:local data:float
comInputDraw1 = .data:0x80139E88; // type:object size:0xEE scope:local data:2byte
comInputDraw2 = .data:0x80139F76; // type:object size:0xBA scope:local data:2byte
@ -5897,7 +5897,7 @@ shopMdlParam = .sdata:0x801D370C; // type:object size:0x8 scope:local
hostMdl = .sdata:0x801D3714; // type:object size:0x2 scope:local data:2byte
shopMot = .sdata:0x801D3716; // type:object size:0x6 scope:local data:2byte
itemCurChoice = .sdata:0x801D371C; // type:object size:0x1 scope:local data:byte
defaultItemTbl = .sdata:0x801D371D; // type:object size:0x5 scope:local
defaultItemTbl = .sdata:0x801D371D; // type:object size:0x5 scope:local data:byte
hostMdl = .sdata:0x801D3728; // type:object size:0x2 scope:local data:2byte
lotteryMot = .sdata:0x801D372A; // type:object size:0x8 scope:local data:2byte
lotterySpr = .sdata:0x801D3732; // type:object size:0x2 scope:local data:2byte

View file

@ -375,7 +375,7 @@ config.libs = [
Object(Matching, "game/board/com.c"),
Object(Matching, "game/board/view.c"),
Object(Matching, "game/board/space.c"),
Object(NonMatching, "game/board/shop.c"),
Object(Matching, "game/board/shop.c"),
Object(Matching, "game/board/lottery.c"),
Object(Matching, "game/board/basic_space.c"),
Object(Matching, "game/board/warp.c"),

View file

@ -7,12 +7,10 @@
typedef void (*BoardLightHook)(void);
#endif
void BoardShopTutorialExec(s32);
void BoardMGSetupTutorialExec(void);
void BoardBooHouseTutorialExec(void);
void BoardLightHookSet(BoardLightHook set, BoardLightHook reset);
s32 fn_8006DDE8(s16, f32);
void BoardShopHostSet(s16);
void BoardBooHouseHostSet(s16);
s32 BoardCameraRotGet(Vec*);
s32 BoardIsKill(void);

View file

@ -12,7 +12,7 @@ typedef struct board_model_param {
u8 link : 1;
u8 start_mot : 1;
u8 pause : 1;
};
} unk4;
s16 unk6;
} BoardModelParam;

13
include/game/board/shop.h Executable file
View file

@ -0,0 +1,13 @@
#ifndef _BOARD_SHOP_H
#define _BOARD_SHOP_H
#include "dolphin/types.h"
void BoardShopHostSet(s16 arg0);
s16 BoardShopHostGet(void);
void BoardShopInit(void);
void BoardShopKill(void);
void BoardShopExec(s32 player, s32 space);
void BoardShopTutorialExec(s32 arg0);
#endif

View file

@ -17,13 +17,13 @@
s32 lbl_1_data_0[8] = {
0x005F001B,
0x005F0015,
0x005F0016,
0x005F0006,
0x005F0000,
0x005F0000,
0x005F0000,
0x005F0004,
0x005F0015,
0x005F0016,
0x005F0006,
0x005F0000,
0x005F0000,
0x005F0000,
0x005F0004,
};
const f64 unk_rodata_0 = 0.5;
@ -83,83 +83,83 @@ char * lbl_1_data_D8[16] = {
HsfanimStruct00 lbl_1_data_118 = {
/* unk00 */ 40,
/* unk02 */ {0, 0},
/* unk04 */ 50.0f,
/* unk08 */ 0.0f,
/* unk0C */ 90.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ -0.05000000074505806f, /* z */ 0.0f},
/* unk1C */ 50.0f,
/* unk20 */ 0.800000011920929f,
/* unk24 */ 20.0f,
/* unk28 */ 0.9900000095367432f,
/* unk2C */ 4,
/* unk2E */ {{ /* r */ 255, /* g */ 255, /* b */ 32, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 0, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 128, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255}},
/* unk3E */ {{ /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}},
/* unk00 */ 40,
/* unk02 */ {0, 0},
/* unk04 */ 50.0f,
/* unk08 */ 0.0f,
/* unk0C */ 90.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ -0.05000000074505806f, /* z */ 0.0f},
/* unk1C */ 50.0f,
/* unk20 */ 0.800000011920929f,
/* unk24 */ 20.0f,
/* unk28 */ 0.9900000095367432f,
/* unk2C */ 4,
/* unk2E */ {{ /* r */ 255, /* g */ 255, /* b */ 32, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 0, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 128, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255}},
/* unk3E */ {{ /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 0}},
};
HsfanimStruct00 lbl_1_data_168[2] = {
{
/* unk00 */ 50,
/* unk02 */ {0, 0},
/* unk04 */ 5.0f,
/* unk08 */ 10.0f,
/* unk0C */ 10.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f},
/* unk1C */ 2.0f,
/* unk20 */ 1.0099999904632568f,
/* unk24 */ 30.0f,
/* unk28 */ 0.9900000095367432f,
/* unk2C */ 2,
/* unk2E */ {{ /* r */ 48, /* g */ 48, /* b */ 8, /* a */ 255}, { /* r */ 64, /* g */ 48, /* b */ 8, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk3E */ {{ /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk00 */ 50,
/* unk02 */ {0, 0},
/* unk04 */ 5.0f,
/* unk08 */ 10.0f,
/* unk0C */ 10.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f},
/* unk1C */ 2.0f,
/* unk20 */ 1.0099999904632568f,
/* unk24 */ 30.0f,
/* unk28 */ 0.9900000095367432f,
/* unk2C */ 2,
/* unk2E */ {{ /* r */ 48, /* g */ 48, /* b */ 8, /* a */ 255}, { /* r */ 64, /* g */ 48, /* b */ 8, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk3E */ {{ /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
},
{
/* unk00 */ 30,
/* unk02 */ {0, 0},
/* unk04 */ 3.299999952316284f,
/* unk08 */ 10.0f,
/* unk0C */ 0.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ -0.05000000074505806f, /* z */ 0.0f},
/* unk1C */ 2.0f,
/* unk20 */ 1.0f,
/* unk24 */ 20.0f,
/* unk28 */ 0.9800000190734863f,
/* unk2C */ 2,
/* unk2E */ {{ /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 64, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk3E */ {{ /* r */ 255, /* g */ 128, /* b */ 128, /* a */ 0}, { /* r */ 255, /* g */ 64, /* b */ 32, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk00 */ 30,
/* unk02 */ {0, 0},
/* unk04 */ 3.299999952316284f,
/* unk08 */ 10.0f,
/* unk0C */ 0.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ -0.05000000074505806f, /* z */ 0.0f},
/* unk1C */ 2.0f,
/* unk20 */ 1.0f,
/* unk24 */ 20.0f,
/* unk28 */ 0.9800000190734863f,
/* unk2C */ 2,
/* unk2E */ {{ /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 64, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk3E */ {{ /* r */ 255, /* g */ 128, /* b */ 128, /* a */ 0}, { /* r */ 255, /* g */ 64, /* b */ 32, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
}};
HsfanimStruct00 lbl_1_data_208 = {
/* unk00 */ 40,
/* unk02 */ {0, 0},
/* unk04 */ 50.0f,
/* unk08 */ 0.0f,
/* unk0C */ 180.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f},
/* unk1C */ 30.0f,
/* unk20 */ 0.8999999761581421f,
/* unk24 */ 20.0f,
/* unk28 */ 0.9900000095367432f,
/* unk2C */ 4,
/* unk2E */ {{ /* r */ 255, /* g */ 255, /* b */ 32, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 0, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 128, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255}},
/* unk3E */ {{ /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk00 */ 40,
/* unk02 */ {0, 0},
/* unk04 */ 50.0f,
/* unk08 */ 0.0f,
/* unk0C */ 180.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f},
/* unk1C */ 30.0f,
/* unk20 */ 0.8999999761581421f,
/* unk24 */ 20.0f,
/* unk28 */ 0.9900000095367432f,
/* unk2C */ 4,
/* unk2E */ {{ /* r */ 255, /* g */ 255, /* b */ 32, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 0, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 128, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 255, /* a */ 255}},
/* unk3E */ {{ /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
};
HsfanimStruct00 lbl_1_data_258 = {
/* unk00 */ 30,
/* unk02 */ {0, 0},
/* unk04 */ 50.0f,
/* unk08 */ 0.0f,
/* unk0C */ 90.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f},
/* unk1C */ 30.0f,
/* unk20 */ 0.949999988079071f,
/* unk24 */ 20.0f,
/* unk28 */ 0.9900000095367432f,
/* unk2C */ 2,
/* unk2E */ {{ /* r */ 255, /* g */ 16, /* b */ 16, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 16, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk3E */ {{ /* r */ 255, /* g */ 16, /* b */ 16, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 16, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk00 */ 30,
/* unk02 */ {0, 0},
/* unk04 */ 50.0f,
/* unk08 */ 0.0f,
/* unk0C */ 90.0f,
/* unk10 */ { /* x */ 0.0f, /* y */ 0.0f, /* z */ 0.0f},
/* unk1C */ 30.0f,
/* unk20 */ 0.949999988079071f,
/* unk24 */ 20.0f,
/* unk28 */ 0.9900000095367432f,
/* unk2C */ 2,
/* unk2E */ {{ /* r */ 255, /* g */ 16, /* b */ 16, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 16, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
/* unk3E */ {{ /* r */ 255, /* g */ 16, /* b */ 16, /* a */ 255}, { /* r */ 255, /* g */ 255, /* b */ 16, /* a */ 255}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0}},
};
const Point3d lbl_1_rodata_38 = {0.0f, 0.0f, 0.0f};

View file

@ -7,7 +7,9 @@
#include "game/wipe.h"
#include "REL/w03Dll.h"
#include "game/board/lottery.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/shop.h"
#include "game/board/space.h"
#include "game/board/star.h"
#include "game/object.h"
@ -30,7 +32,6 @@ void fn_1_10B0(void);
s32 fn_1_12C8(void);
s32 fn_8006DDE8(s16, f32);
void fn_1_10E4(omObjData* arg0);
extern Process *boardObjMan;
typedef void (*VoidFunc)(void);
extern const VoidFunc _ctors[];
extern const VoidFunc _dtors[];

View file

@ -3,6 +3,7 @@
#include "game/hsfman.h"
#include "game/board/lottery.h"
#include "game/board/model.h"
#include "game/board/shop.h"
#include "game/board/space.h"
#include "game/board/star.h"
#include "game/board/tutorial.h"

View file

@ -3,6 +3,7 @@
#include "game/board/lottery.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/shop.h"
#include "game/board/space.h"
#include "game/board/star.h"
#include "game/board/tutorial.h"

View file

@ -51,8 +51,6 @@ typedef struct {
s16 unk08;
} LotteryTicketPickWork;
extern s32 BoardShopHostGet(void);
static void CreateModel(void);
static void KillModel(void);
static void DestroyLottery(void);

View file

@ -14,6 +14,7 @@
#include "game/board/model.h"
#include "game/board/pause.h"
#include "game/board/player.h"
#include "game/board/shop.h"
#include "game/board/space.h"
#include "game/board/tutorial.h"
#include "game/board/ui.h"

View file

@ -249,16 +249,16 @@ s16 BoardModelCreateCharacter(s32 character, s32 data_num, s32 *mot_list, s32 li
s16 BoardModelCreateParam(BoardModelParam *param, Vec *pos, Vec *rot)
{
float unk_param;
s16 model = BoardModelCreate(param->data_num, NULL, param->link);
s16 model = BoardModelCreate(param->data_num, NULL, param->unk4.link);
if(model == -1) {
return -1;
}
BoardModelMotionStart(model, 0, (param->pause) ? 0x40000001 : 0);
if(!param->start_mot) {
BoardModelMotionStart(model, 0, (param->unk4.pause) ? 0x40000001 : 0);
if(!param->unk4.start_mot) {
BoardModelMotionSpeedSet(model, 0.0f);
}
BoardModelExistDupe(model, param->field04_bit0);
BoardModelVisibilitySet(model, param->visible);
BoardModelExistDupe(model, param->unk4.field04_bit0);
BoardModelVisibilitySet(model, param->unk4.visible);
if(pos) {
BoardModelPosSetV(model, pos);
}

1175
src/game/board/shop.c Executable file

File diff suppressed because it is too large Load diff

View file

@ -5,6 +5,7 @@
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/shop.h"
#include "game/board/space.h"
#include "game/board/star.h"
#include "game/board/tutorial.h"