Skip to content
Merged
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
2 changes: 1 addition & 1 deletion config/RSBE01_02/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ modules:
hash: d19a1281ccc2b68b0e7f5c1df7c79c13aa50c4c6
splits: config/RSBE01_02/rels/st_dxshrine/splits.txt
symbols: config/RSBE01_02/rels/st_dxshrine/symbols.txt
force_active: [HomeBtnIcon]
force_active: [create__10stDxShrineFv, HomeBtnIcon]
- object: files/module/st_dxyorster.rel
hash: 8cfb4ca5c1c7a0eb83237eb0edb893cbd3b83532
splits: config/RSBE01_02/rels/st_dxyorster/splits.txt
Expand Down
11 changes: 11 additions & 0 deletions config/RSBE01_02/rels/st_dxshrine/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,17 @@ global_destructor_chain.c:
.dtors start:0x00000000 end:0x00000008
.bss start:0x00000000 end:0x00000004

mo_stage/st_dxshrine/st_dxshrine.cpp:
.text start:0x00000070 end:0x00000578
.ctors start:0x00000000 end:0x00000004
.rodata start:0x00000000 end:0x00000008
.data start:0x00000000 end:0x00000388
.bss start:0x00000008 end:0x00000018

mo_stage/st_dxshrine/gr_dxshrine.cpp:
.text start:0x00000578 end:0x00000728
.data start:0x00000388 end:0x00000600

mo_stage/mo_stage.cpp:
.text start:0x00000728 end:0x000007C4
.data start:0x00000600 end:0x0000060D
Expand Down
201 changes: 102 additions & 99 deletions config/RSBE01_02/rels/st_dxshrine/symbols.txt
Original file line number Diff line number Diff line change
@@ -1,110 +1,113 @@
__register_global_object = .text:0x00000000; // type:function size:0x1C scope:global
__destroy_global_chain = .text:0x0000001C; // type:function size:0x54 scope:global
fn_75_70 = .text:0x00000070; // type:function size:0x70
fn_75_E0 = .text:0x000000E0; // type:function size:0x6C
fn_75_14C = .text:0x0000014C; // type:function size:0x8
fn_75_154 = .text:0x00000154; // type:function size:0x1A0
fn_75_2F4 = .text:0x000002F4; // type:function size:0x8
fn_75_2FC = .text:0x000002FC; // type:function size:0x4
fn_75_300 = .text:0x00000300; // type:function size:0x10
fn_75_310 = .text:0x00000310; // type:function size:0x4
fn_75_314 = .text:0x00000314; // type:function size:0x8
fn_75_31C = .text:0x0000031C; // type:function size:0x8
fn_75_324 = .text:0x00000324; // type:function size:0x8
fn_75_32C = .text:0x0000032C; // type:function size:0x8
fn_75_334 = .text:0x00000334; // type:function size:0x8
fn_75_33C = .text:0x0000033C; // type:function size:0x4
fn_75_340 = .text:0x00000340; // type:function size:0x8
fn_75_348 = .text:0x00000348; // type:function size:0x8
fn_75_350 = .text:0x00000350; // type:function size:0x8
fn_75_358 = .text:0x00000358; // type:function size:0xC
fn_75_364 = .text:0x00000364; // type:function size:0xC
fn_75_370 = .text:0x00000370; // type:function size:0x10
fn_75_380 = .text:0x00000380; // type:function size:0x14
fn_75_394 = .text:0x00000394; // type:function size:0x8
fn_75_39C = .text:0x0000039C; // type:function size:0x8
fn_75_3A4 = .text:0x000003A4; // type:function size:0x8
fn_75_3AC = .text:0x000003AC; // type:function size:0x8
fn_75_3B4 = .text:0x000003B4; // type:function size:0x8
fn_75_3BC = .text:0x000003BC; // type:function size:0x4
fn_75_3C0 = .text:0x000003C0; // type:function size:0x1C
fn_75_3DC = .text:0x000003DC; // type:function size:0x8
fn_75_3E4 = .text:0x000003E4; // type:function size:0x8
fn_75_3EC = .text:0x000003EC; // type:function size:0x8
fn_75_3F4 = .text:0x000003F4; // type:function size:0x8
fn_75_3FC = .text:0x000003FC; // type:function size:0xC
fn_75_408 = .text:0x00000408; // type:function size:0x4
fn_75_40C = .text:0x0000040C; // type:function size:0x8
fn_75_414 = .text:0x00000414; // type:function size:0x8
fn_75_41C = .text:0x0000041C; // type:function size:0x8
fn_75_424 = .text:0x00000424; // type:function size:0x8
fn_75_42C = .text:0x0000042C; // type:function size:0x64
fn_75_490 = .text:0x00000490; // type:function size:0x74
fn_75_504 = .text:0x00000504; // type:function size:0x70
fn_75_574 = .text:0x00000574; // type:function size:0x4
fn_75_578 = .text:0x00000578; // type:function size:0xC4
fn_75_63C = .text:0x0000063C; // type:function size:0x8
fn_75_644 = .text:0x00000644; // type:function size:0x58
fn_75_69C = .text:0x0000069C; // type:function size:0x8
fn_75_6A4 = .text:0x000006A4; // type:function size:0x8
fn_75_6AC = .text:0x000006AC; // type:function size:0x4
fn_75_6B0 = .text:0x000006B0; // type:function size:0x4
fn_75_6B4 = .text:0x000006B4; // type:function size:0x10
fn_75_6C4 = .text:0x000006C4; // type:function size:0x10
fn_75_6D4 = .text:0x000006D4; // type:function size:0xC
fn_75_6E0 = .text:0x000006E0; // type:function size:0x8
fn_75_6E8 = .text:0x000006E8; // type:function size:0x4
fn_75_6EC = .text:0x000006EC; // type:function size:0x8
fn_75_6F4 = .text:0x000006F4; // type:function size:0x1C
fn_75_710 = .text:0x00000710; // type:function size:0x8
fn_75_718 = .text:0x00000718; // type:function size:0x8
fn_75_720 = .text:0x00000720; // type:function size:0x8
create__10stDxShrineFv = .text:0x00000070; // type:function size:0x70 scope:global
__dt__10stDxShrineFv = .text:0x000000E0; // type:function size:0x6C scope:global
loading__10stDxShrineFv = .text:0x0000014C; // type:function size:0x8 scope:global
createObj__10stDxShrineFv = .text:0x00000154; // type:function size:0x1A0 scope:global
setStageData__6GroundFPv = .text:0x000002F4; // type:function size:0x8 scope:weak
update__10stDxShrineFf = .text:0x000002FC; // type:function size:0x4 scope:global
initStageData__10stDxShrineFv = .text:0x00000300; // type:function size:0x10 scope:global
startFighterEvent__5StageFv = .text:0x00000310; // type:function size:0x4 scope:weak
initializeFighterAttackRatio__5StageFv = .text:0x00000314; // type:function size:0x8 scope:weak
helperStarWarp__5StageFv = .text:0x0000031C; // type:function size:0x8 scope:weak
isSimpleBossBattleMode__5StageFv = .text:0x00000324; // type:function size:0x8 scope:weak
isBossBattleMode__5StageFv = .text:0x0000032C; // type:function size:0x8 scope:weak
isCameraLocked__5StageFv = .text:0x00000334; // type:function size:0x8 scope:weak
notifyTimmingGameStart__5StageFv = .text:0x0000033C; // type:function size:0x4 scope:weak
getFrameRuleTime__5StageFv = .text:0x00000340; // type:function size:0x8 scope:weak
setFrameRuleTime__5StageFf = .text:0x00000348; // type:function size:0x8 scope:weak
isNextStepBgmEqualNowStepBgmFromFlag__5StageFv = .text:0x00000350; // type:function size:0x8 scope:weak
getBgmPlayOffsetFrame__5StageFv = .text:0x00000358; // type:function size:0xC scope:weak
getBgmVolume__5StageFv = .text:0x00000364; // type:function size:0xC scope:weak
setBgmChange__5StageFfbUl = .text:0x00000370; // type:function size:0x10 scope:weak
getBgmChangeID__5StageFPUlPf = .text:0x00000380; // type:function size:0x14 scope:weak
isBgmChange__5StageFv = .text:0x00000394; // type:function size:0x8 scope:weak
getBgmOptionID__5StageFv = .text:0x0000039C; // type:function size:0x8 scope:weak
getNowStepBgmID__5StageFv = .text:0x000003A4; // type:function size:0x8 scope:weak
getBgmID__5StageFv = .text:0x000003AC; // type:function size:0x8 scope:weak
getBgmID__5StageCFv = .text:0x000003B4; // type:function size:0x8 scope:weak
appearanceFighterLocal__5StageFv = .text:0x000003BC; // type:function size:0x4 scope:weak
getScrollDir__5StageFP5Vec3f = .text:0x000003C0; // type:function size:0x1C scope:weak
getDefaultLightSetIndex__5StageFv = .text:0x000003DC; // type:function size:0x8 scope:weak
getAIRange__5StageFv = .text:0x000003E4; // type:function size:0x8 scope:weak
isAdventureStage__5StageFv = .text:0x000003EC; // type:function size:0x8 scope:weak
getPokeTrainerDrawLayer__5StageFv = .text:0x000003F4; // type:function size:0x8 scope:weak
getPokeTrainerPositionZ__5StageFv = .text:0x000003FC; // type:function size:0xC scope:weak
getPokeTrainerPointData__5StageFPii = .text:0x00000408; // type:function size:0x4 scope:weak
getPokeTrainerPointNum__5StageFv = .text:0x0000040C; // type:function size:0x8 scope:weak
isReStartSamePoint__7stMeleeFv = .text:0x00000414; // type:function size:0x8 scope:weak
getWind2ndOnlyData__7stMeleeFv = .text:0x0000041C; // type:function size:0x8 scope:weak
isBamperVector__10stDxShrineFv = .text:0x00000424; // type:function size:0x8 scope:weak
__sinit_\st_dxshrine_cpp = .text:0x0000042C; // type:function size:0x64 scope:local
__dt__32stClassInfoImpl<41,10stDxShrine>Fv = .text:0x00000490; // type:function size:0x74 scope:weak
create__32stClassInfoImpl<41,10stDxShrine>Fv = .text:0x00000504; // type:function size:0x70 scope:weak
preload__32stClassInfoImpl<41,10stDxShrine>Fv = .text:0x00000574; // type:function size:0x4 scope:weak
create__10grDxShrineFiPCcPCc = .text:0x00000578; // type:function size:0xC4 scope:global
setMdlIndex__6GroundFi = .text:0x0000063C; // type:function size:0x8 scope:weak
__dt__10grDxShrineFv = .text:0x00000644; // type:function size:0x58 scope:global
adventureEventGetItem__6GroundFiP13stTriggerData = .text:0x0000069C; // type:function size:0x8 scope:weak
getInitializeInfo__6GroundFi = .text:0x000006A4; // type:function size:0x8 scope:weak
setInitializeInfo__6GroundFi = .text:0x000006AC; // type:function size:0x4 scope:weak
setInitializeFlag__6GroundFv = .text:0x000006B0; // type:function size:0x4 scope:weak
disableCalcCollision__6GroundFv = .text:0x000006B4; // type:function size:0x10 scope:weak
enableCalcCollision__6GroundFv = .text:0x000006C4; // type:function size:0x10 scope:weak
isEnableCalcCollision__6GroundFv = .text:0x000006D4; // type:function size:0xC scope:weak
getMdlIndex__6GroundFv = .text:0x000006E0; // type:function size:0x8 scope:weak
initStageData__6GroundFv = .text:0x000006E8; // type:function size:0x4 scope:weak
getStageData__6GroundFv = .text:0x000006EC; // type:function size:0x8 scope:weak
getModelCount__6GroundFv = .text:0x000006F4; // type:function size:0x1C scope:weak
getTransparencyFlag__9grGimmickFv = .text:0x00000710; // type:function size:0x8 scope:weak
getGimmickData__9grGimmickFv = .text:0x00000718; // type:function size:0x8 scope:weak
setGimmickData__9grGimmickFPv = .text:0x00000720; // type:function size:0x8 scope:weak
_prolog = .text:0x00000728; // type:function size:0x48 scope:global
_epilog = .text:0x00000770; // type:function size:0x48 scope:global
_unresolved = .text:0x000007B8; // type:function size:0xC scope:global
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
__destroy_global_chain_reference = .dtors:0x00000000; // type:object size:0x4 scope:global
__destroy_global_chain_reference = .dtors:0x00000004; // type:object size:0x4 scope:global
lbl_75_rodata_0 = .rodata:0x00000000; // type:object size:0x4 data:float
lbl_75_rodata_4 = .rodata:0x00000004; // type:object size:0x4 align:4 data:float
lbl_75_data_0 = .data:0x00000000; // type:object size:0x38
lbl_75_data_38 = .data:0x00000038; // type:object size:0x220
lbl_75_data_258 = .data:0x00000258; // type:object size:0xC
lbl_75_data_264 = .data:0x00000264; // type:object size:0x24
lbl_75_data_288 = .data:0x00000288; // type:object size:0x8
lbl_75_data_290 = .data:0x00000290; // type:object size:0x8 data:string
lbl_75_data_298 = .data:0x00000298; // type:object size:0x20
lbl_75_data_2B8 = .data:0x000002B8; // type:object size:0x8
lbl_75_data_2C0 = .data:0x000002C0; // type:object size:0x10 data:string
lbl_75_data_2D0 = .data:0x000002D0; // type:object size:0x18
lbl_75_data_2E8 = .data:0x000002E8; // type:object size:0x8
lbl_75_data_2F0 = .data:0x000002F0; // type:object size:0x8
lbl_75_data_2F8 = .data:0x000002F8; // type:object size:0x10
lbl_75_data_308 = .data:0x00000308; // type:object size:0x8
lbl_75_data_310 = .data:0x00000310; // type:object size:0x8
lbl_75_data_318 = .data:0x00000318; // type:object size:0x8
lbl_75_data_320 = .data:0x00000320; // type:object size:0x18
lbl_75_data_338 = .data:0x00000338; // type:object size:0x20 data:string
lbl_75_data_358 = .data:0x00000358; // type:object size:0x10
lbl_75_data_368 = .data:0x00000368; // type:object size:0x8
lbl_75_data_370 = .data:0x00000370; // type:object size:0x10
lbl_75_data_380 = .data:0x00000380; // type:object size:0x8
lbl_75_data_388 = .data:0x00000388; // type:object size:0x1C8
lbl_75_data_550 = .data:0x00000550; // type:object size:0xC
lbl_75_data_55C = .data:0x0000055C; // type:object size:0x24
lbl_75_data_580 = .data:0x00000580; // type:object size:0x8
lbl_75_data_588 = .data:0x00000588; // type:object size:0xC
lbl_75_data_594 = .data:0x00000594; // type:object size:0x1C
lbl_75_data_5B0 = .data:0x000005B0; // type:object size:0x8
lbl_75_data_5B8 = .data:0x000005B8; // type:object size:0xC
lbl_75_data_5C4 = .data:0x000005C4; // type:object size:0x14
lbl_75_data_5D8 = .data:0x000005D8; // type:object size:0x8
lbl_75_data_5E0 = .data:0x000005E0; // type:object size:0x8
lbl_75_data_5E8 = .data:0x000005E8; // type:object size:0x10
lbl_75_data_5F8 = .data:0x000005F8; // type:object size:0x8
lbl_75_data_600 = .data:0x00000600; // type:object size:0xD scope:local align:4 data:string
@8112 = .rodata:0x00000000; // type:object size:0x4 scope:local data:float
@8114 = .rodata:0x00000004; // type:object size:0x4 scope:local align:4 data:float
@8069 = .data:0x00000000; // type:object size:0xB scope:local data:string
@8089 = .data:0x0000000C; // type:object size:0x1 scope:local
@8090 = .data:0x00000010; // type:object size:0x11 scope:local data:string
@8091 = .data:0x00000024; // type:object size:0xE scope:local data:string
__vt__10stDxShrine = .data:0x00000038; // type:object size:0x220
@7907 = .data:0x00000258; // type:object size:0xB scope:local data:string
@7908 = .data:0x00000264; // type:object size:0x24 scope:local
__RTTI__10stDxShrine = .data:0x00000288; // type:object size:0x8 scope:weak
@7909 = .data:0x00000290; // type:object size:0x8 scope:local data:string
@7910 = .data:0x00000298; // type:object size:0x1C scope:local
__RTTI__7stMelee = .data:0x000002B8; // type:object size:0x8 scope:weak
@7911 = .data:0x000002C0; // type:object size:0x10 scope:local data:string
@7912 = .data:0x000002D0; // type:object size:0x14 scope:local
__RTTI__15stCommonGimmick = .data:0x000002E8; // type:object size:0x8 scope:weak
@7913 = .data:0x000002F0; // type:object size:0x6 scope:local data:string
@7914 = .data:0x000002F8; // type:object size:0xC scope:local
__RTTI__5Stage = .data:0x00000308; // type:object size:0x8 scope:weak
@7949 = .data:0x00000310; // type:object size:0x7 scope:local data:string
__RTTI__6gfTask = .data:0x00000318; // type:object size:0x8 scope:weak
__vt__32stClassInfoImpl<41,10stDxShrine> = .data:0x00000320; // type:object size:0x14 scope:weak
@8028 = .data:0x00000338; // type:object size:0x20 scope:local data:string
@8029 = .data:0x00000358; // type:object size:0xC scope:local
__RTTI__32stClassInfoImpl<41,10stDxShrine> = .data:0x00000368; // type:object size:0x8 scope:weak
@8030 = .data:0x00000370; // type:object size:0xC scope:local data:string
__RTTI__11stClassInfo = .data:0x00000380; // type:object size:0x8 scope:weak
grDxShrine::__vtable = .data:0x00000388; // type:object size:0x1C8 scope:global
@7011 = .data:0x00000550; // type:object size:0xB scope:local data:string
@7012 = .data:0x0000055C; // type:object size:0x24 scope:local
__RTTI__10grDxShrine = .data:0x00000580; // type:object size:0x8 scope:weak
@7013 = .data:0x00000588; // type:object size:0xB scope:local data:string
@7014 = .data:0x00000594; // type:object size:0x1C scope:local
__RTTI__10grYakumono = .data:0x000005B0; // type:object size:0x8 scope:weak
@7015 = .data:0x000005B8; // type:object size:0xA scope:local data:string
@7016 = .data:0x000005C4; // type:object size:0x14 scope:local
__RTTI__9grGimmick = .data:0x000005D8; // type:object size:0x8 scope:weak
@7017 = .data:0x000005E0; // type:object size:0x7 scope:local data:string
@7018 = .data:0x000005E8; // type:object size:0xC scope:local
__RTTI__6Ground = .data:0x000005F8; // type:object size:0x8 scope:weak
@50 = .data:0x00000600; // type:object size:0xD scope:local align:4 data:string
HomeBtnIcon = .data:0x00000620; // type:object size:0x18C0 scope:global align:32
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
lbl_75_bss_8 = .bss:0x00000008; // type:object size:0xC
lbl_75_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte
@7862 = .bss:0x00000008; // type:object size:0xC
stDxShrine::bss_loc_14 = .bss:0x00000014; // type:object size:0x4 data:4byte
5 changes: 4 additions & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1076,7 +1076,10 @@ def MatchingFor(*versions):
"mw_version": config.linker_version,
"cflags": cflags_rel,
"host": False,
"objects": [],
"objects": [
Object(Matching, "mo_stage/st_dxshrine/st_dxshrine.cpp"),
Object(Matching, "mo_stage/st_dxshrine/gr_dxshrine.cpp"),
],
},
{
"lib": "st_dxyorster",
Expand Down
11 changes: 11 additions & 0 deletions include/st_dxshrine/gr_dxshrine.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#pragma once

#include <gr/gr_yakumono.h>
#include <types.h>

class grDxShrine : public grYakumono {
public:
grDxShrine(const char* taskName);
static grDxShrine* create(int mdlIndex, const char *tgtNodeName, const char *taskName);
virtual ~grDxShrine();
};
44 changes: 44 additions & 0 deletions include/st_dxshrine/st_dxshrine.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#pragma once

#include <gm/gm_lib.h>
#include <gr/gr_tengan_event.h>
#include <memory.h>
#include <st/st_class_info.h>
#include <st/st_melee.h>
#include <types.h>

template<typename T>
class stClassInfoImpl<Stages::DxShrine, T> : public stClassInfo {
public:
stClassInfoImpl() : stClassInfo() {
setClassInfo(Stages::DxShrine, this);
};

virtual ~stClassInfoImpl() {
setClassInfo(Stages::DxShrine, 0);
}

virtual T* create() {
return T::create();
}

virtual void preload() { }
};

class stDxShrine : public stMelee {
void* m_shrineStageData;
// TODO: float array?

public:
stDxShrine();
virtual ~stDxShrine();
virtual void createObj();
virtual bool loading();
virtual void update(float deltaFrame);
virtual void initStageData();
virtual bool isBamperVector() { return true; }

static stDxShrine* create();
static stClassInfoImpl<Stages::DxShrine, stDxShrine> bss_loc_14;
};
//static_assert(sizeof(stCrayon) == 0x200, "Class is wrong size!");
26 changes: 26 additions & 0 deletions src/mo_stage/st_dxshrine/gr_dxshrine.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@

#include <gr/gr_yakumono.h>
#include <gr/gr_gimmick.h>
#include <st_dxshrine/gr_dxshrine.h>

inline grDxShrine::grDxShrine(const char* taskName): grYakumono(taskName) {
setupMelee();
}


grDxShrine* grDxShrine::create(int mdlIndex, const char *tgtNodeName, const char *taskName) {//: grPictchat(taskname) {
grDxShrine *bg = new (Heaps::StageInstance) grDxShrine(taskName);
if (bg != 0) {

//bg->setupMelee();
bg->setMdlIndex(mdlIndex);
//bg->m_heapType = Heaps::StageInstance;
//bg->makeCalcuCallback(1, Heaps::StageInstance);
//bg->setCalcuCallbackRoot(7);
bg->setTgtNode(tgtNodeName);
}
return bg;
}


grDxShrine::~grDxShrine() { }
Loading