Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions config/RSBE01_02/rels/st_pictchat/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,24 @@ global_destructor_chain.c:
.dtors start:0x00000000 end:0x00000008
.bss start:0x00000000 end:0x00000004

mo_stage/st_pictchat/st_pictchat.cpp:
.text start:0x00000070 end:0x00002C5C
.ctors start:0x00000000 end:0x00000004
.rodata start:0x00000000 end:0x00000048
.data start:0x00000000 end:0x00000C08
.bss start:0x00000008 end:0x00000018

mo_stage/st_pictchat/gr_pictchat.cpp:
.text start:0x00002C5C end:0x000033FC
.rodata start:0x00000048 end:0x00000080
.data start:0x00000C08 end:0x000010B8

mo_stage/st_pictchat/gr_pictchat_pict.cpp:
.text start:0x000033FC end:0x0000D15C
.rodata start:0x00000080 end:0x00000110
.data start:0x000010B8 end:0x00003DB8
.bss start:0x00000018 end:0x00000128

mo_stage/mo_stage.cpp:
.text start:0x0000F378 end:0x0000F414
.data start:0x00005E48 end:0x00005E55
Expand Down
18 changes: 9 additions & 9 deletions config/RSBE01_02/rels/st_pictchat/symbols.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
__register_global_object = .text:0x00000000; // type:function size:0x1C scope:global data:4byte
__destroy_global_chain = .text:0x0000001C; // type:function size:0x54 scope:global
fn_73_70 = .text:0x00000070; // type:function size:0x34
fn_73_A4 = .text:0x000000A4; // type:function size:0x130
create__10stPictchatFv = .text:0x00000070; // type:function size:0x34
__ct__10stPictchatFv = .text:0x000000A4; // type:function size:0x130
fn_73_1D4 = .text:0x000001D4; // type:function size:0xEC
fn_73_2C0 = .text:0x000002C0; // type:function size:0x8
fn_73_2C8 = .text:0x000002C8; // type:function size:0x51C
fn_73_7E4 = .text:0x000007E4; // type:function size:0xF8
createObjBg__10stPictchatFi = .text:0x000007E4; // type:function size:0xF8
fn_73_8DC = .text:0x000008DC; // type:function size:0x8
fn_73_8E4 = .text:0x000008E4; // type:function size:0x8
fn_73_8EC = .text:0x000008EC; // type:function size:0x8
Expand Down Expand Up @@ -57,7 +57,7 @@ fn_73_1C94 = .text:0x00001C94; // type:function size:0x8
fn_73_1C9C = .text:0x00001C9C; // type:function size:0x10
fn_73_1CAC = .text:0x00001CAC; // type:function size:0x6C8
fn_73_2374 = .text:0x00002374; // type:function size:0x544
fn_73_28B8 = .text:0x000028B8; // type:function size:0x178
initPictIDList__10stPictchatFv = .text:0x000028B8; // type:function size:0x178 scope:global align:4
fn_73_2A30 = .text:0x00002A30; // type:function size:0x4
fn_73_2A34 = .text:0x00002A34; // type:function size:0x8
fn_73_2A3C = .text:0x00002A3C; // type:function size:0x8
Expand Down Expand Up @@ -89,16 +89,16 @@ fn_73_2B2C = .text:0x00002B2C; // type:function size:0x8
fn_73_2B34 = .text:0x00002B34; // type:function size:0x8
fn_73_2B3C = .text:0x00002B3C; // type:function size:0x8
fn_73_2B44 = .text:0x00002B44; // type:function size:0x8
fn_73_2B4C = .text:0x00002B4C; // type:function size:0x64
fn_73_2BB0 = .text:0x00002BB0; // type:function size:0x74
fn_73_2C24 = .text:0x00002C24; // type:function size:0x34
__sinit_\st_pictchat_cpp = .text:0x00002B4C; // type:function size:0x64
__dt__32stClassInfoImpl<36,10stPictchat>Fv = .text:0x00002BB0; // type:function size:0x74
create__32stClassInfoImpl<36,10stPictchat>Fv = .text:0x00002C24; // type:function size:0x34
fn_73_2C58 = .text:0x00002C58; // type:function size:0x4
fn_73_2C5C = .text:0x00002C5C; // type:function size:0x8
fn_73_2C64 = .text:0x00002C64; // type:function size:0x64
fn_73_2CC8 = .text:0x00002CC8; // type:function size:0x58
fn_73_2D20 = .text:0x00002D20; // type:function size:0xFC
create__12grPictchatBgFiPCcPCc = .text:0x00002D20; // type:function size:0xFC
fn_73_2E1C = .text:0x00002E1C; // type:function size:0xA0
fn_73_2EBC = .text:0x00002EBC; // type:function size:0x74
update__12grPictchatBgFf = .text:0x00002EBC; // type:function size:0x74
fn_73_2F30 = .text:0x00002F30; // type:function size:0xC0
fn_73_2FF0 = .text:0x00002FF0; // type:function size:0x388
fn_73_3378 = .text:0x00003378; // type:function size:0x8
Expand Down
6 changes: 5 additions & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1256,7 +1256,11 @@ def MatchingFor(*versions):
"mw_version": config.linker_version,
"cflags": cflags_rel,
"host": False,
"objects": [],
"objects": [
Object(NonMatching, "mo_stage/st_pictchat/st_pictchat.cpp"),
Object(NonMatching, "mo_stage/st_pictchat/gr_pictchat.cpp"),
Object(NonMatching, "mo_stage/st_pictchat/gr_pictchat_pict.cpp"),
],
},
{
"lib": "st_pirates",
Expand Down
40 changes: 40 additions & 0 deletions include/st_pictchat/gr_pictchat.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#pragma once

#include <StaticAssert.h>
#include <gr/gr_yakumono.h>
#include <types.h>
#include <ms/ms_message.h>

class grPictchat : public grYakumono {
protected:
u8 unk110;
float unk114;
public:
grPictchat(const char* taskName);
virtual ~grPictchat();
};

class grPictchatBg : public grYakumono {
protected:
u8 unk150;
float unk154;
void *unk15C;
void *msgData;
u32 pictIDWork;
grCollisionJoint *unk168;
public:
bool isMessageInit;
Message* message;
u32 selectedPlayerNo;

//static grPictchatBg();
grPictchatBg(const char* taskName);
static grPictchatBg* create(int mdlIndex, const char *tgtNodeName, const char *taskName);
virtual void setMsgData(void *param1);
virtual void setPictIDWork(char param1);
virtual void update(float param1);
virtual void updateJoint(float param1);
virtual void updateMessage(float param1);
virtual ~grPictchatBg();
};
//static_assert(sizeof(grPictchat) == 0x158, "Class is the wrong size!");
135 changes: 135 additions & 0 deletions include/st_pictchat/st_pictchat.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
#pragma once

#include <memory.h>
#include <types.h>
#include <gf/gf_archive.h>
#include <gm/gm_lib.h>
#include <gr/gr_madein.h>
#include <gr/gr_tengan_event.h>
#include <mt/mt_vector.h>
#include <snd/snd_id.h>
#include <st/se_util.h>
#include <st/stage.h>
#include <st/st_class_info.h>
#include <st/st_melee.h>

ST_CLASS_INFO

class stPictchat : public stMelee {


public:
int unk1d8;
float unk1dC;
// int unk1e1;
char unk1e0;
char unk1e1;
char unk1e2;
char unk1e3;
char unk1e4;
//int unk1e5;
//int unk1e6;
//int unk1e7;
//int unk1e8;
//int unk1e9;
//int unk1ea;
//int unk1eb;
//int unk1ec;
//int unk1ed;
//int unk1ee;
//int unk1ef;
//int unk1f0;
//int unk1f1;
//int unk1f2;
//int unk1f3;
//int unk1f4;
//int unk1f5;
//int unk1f6;
//int unk1f7;
//int unk1f8;
//int unk1f9;
//int unk1fa;
//int unk1fb;
//int unk1fc;
//int unk1fd;
//int unk1fe;
//int unk1ff;
char pictIDList[27];
char unk200;
char unk201;
char unk202;
char unk203;
char unk204;
char unk205;
char unk206;
stDataMultiContainer *unk208;
stDataMultiContainer *unk20C;
stDataMultiContainer *unk210;
stDataMultiContainer *unk214;
stDataMultiContainer *unk218;
stDataMultiContainer *unk21C;
stDataMultiContainer *unk220;
stDataMultiContainer *unk224;
stDataMultiContainer *unk228;
stDataMultiContainer *unk22C;
stDataMultiContainer *unk230;
stDataMultiContainer *unk234;
stDataMultiContainer *unk238;
stDataMultiContainer *unk23C;
stDataMultiContainer *unk240;
stDataMultiContainer *unk244;
stDataMultiContainer *unk248;
stDataMultiContainer *unk24C;
stDataMultiContainer *unk250;
stDataMultiContainer *unk254;
stDataMultiContainer *unk258;
stDataMultiContainer *unk25C;
stDataMultiContainer *unk260;
stDataMultiContainer *unk264;
stDataMultiContainer *unk268;
stDataMultiContainer *unk26C;
stDataMultiContainer *unk270;

char unk430;
stTrigger *windTrigger;
grGimmickWindData *windAreaData;
stPictchat();
//virtual ~stPictChat();
//virtual void createObj();
//virtual bool loading();
//virtual bool startAppear();
//virtual void setAppearKind(u8 kind);
//virtual void endAppear();
//virtual void forceStopAppear();
//virtual bool isAppear();
//virtual s32 isStartAppearTimming();
//virtual void update(float deltaFrame);
//virtual bool checkChangeScene();
//virtual void resetChangeScene();
//virtual void setChangeSceneNumber(s32 n);

//virtual int getFinalTechniqColor() { return 0x14000496; }
//virtual IfSmashAppearTask* getAppearTask() { return m_smash_taunt_task; }
//virtual bool isBamperVector() { return true; }
//virtual int getPokeTrainerDrawLayer() { return 1; }

static stPictchat* create();
virtual bool loading();
virtual void createObj();
virtual void createObjBg(int index);
virtual void createObjSideBar(int index);
virtual void createObjSideBarLamp(int index);
virtual void createObjPict(int index);
virtual void createObjAttack(int index);
virtual void createObjHashigo();
virtual void createObjHashigo(int index);
virtual void createObjSpring();
virtual void createObjWind();
virtual void createObjSpring(int index);
virtual void update();
virtual void updatePict();
virtual void initStageDataTbl();
virtual void initPictIDList();
virtual bool isBamperVector() { return true; }
static stClassInfoImpl<Stages::PictChat, stPictchat> bss_loc_14;
};
Loading