ogScene WIP

This commit is contained in:
Jonathon Brady 2022-07-16 21:33:00 -04:00
parent 11e0386373
commit 72bddcfa69
14 changed files with 212 additions and 898 deletions

View File

@ -72,6 +72,7 @@ struct SceneBase {
enum StateID { Unknown0 = 0, Unknown1, Unknown2, Unknown3, Unknown4 };
SceneBase();
~SceneBase();
virtual SceneType getSceneType() = 0; // _00
virtual ScreenOwnerID getOwnerID() = 0; // _04

View File

@ -67,21 +67,56 @@ enum ScreenOwnerID { OWNER_KH = 'KH', OWNER_OGA = 'OGA', OWNER_MRMR = 'MRMR' };
enum ScreenMemberID {
// MEMBER_FLOOR = (u64)0xFFFFFFFFFFFFFFFE,
// MEMBER_DUMMY = 0xFFFFFFFFFFFFFFFF
MEMBER_FLOOR = 'FLOOR',
MEMBER_CAVE = 'CAVE',
MEMBER_DUMMY = 'DUMMY',
MEMBER_VS_SELECT = 'VSSELECT',
MEMBER_CHALLENGE_SELECT = 'CHSELECT',
MEMBER_DAY_END_COUNT = 'DAYENDCD',
MEMBER_ZUKAN_ENEMY = 'DENEMY',
MEMBER_ZUKAN_ITEM = 'DITEM',
MEMBER_GROUND = 'GROUND',
MEMBER_HURRY_UP = 'HURRYUP',
MEMBER_START_MENU_ALL = 'SM_ALL',
MEMBER_START_MENU_PAUSE_VS = 'SM_PS_VS',
MEMBER_WORLD_MAP_INFO_WINDOW_0 = 'WMapWin0',
MEMBER_WORLD_MAP_INFO_WINDOW_1 = 'WMapWin1',
_MEMBER_FORCE_ULONGLONG = 0xFFFFFFFFFFFFFFF
_MEMBER_EMPTY_STRING = 0x0,
MEMBER_VS = 'VS',
MEMBER_CAVE = 'CAVE',
MEMBER_HIGH_SCORE = 'HISC',
MEMBER_SAVE = 'SAVE',
MEMBER_ZUKAN_ITEM = 'DITEM',
MEMBER_DUMMY = 'DUMMY',
MEMBER_FLOOR = 'FLOOR',
MEMBER_CHALLENGE_1P = 'CHAL1P',
MEMBER_CHALLENGE_2P = 'CHAL2P',
MEMBER_COURSE_NAME = 'COURSE',
MEMBER_CAVE_RESULT = 'CRSLT',
MEMBER_ZUKAN_ENEMY = 'DENEMY',
MEMBER_FINAL_RESULT = 'F_RSLT',
MEMBER_GROUND = 'GROUND',
MEMBER_KANTEI = 'KANTEI',
MEMBER_START_MENU_ALL = 'SM_ALL',
MEMBER_START_MENU_MAP = 'SM_MAP',
MEMBER_WIN_LOSE_REASON = 'WL_RSN',
MEMBER_CONTENA = 'CONTENA',
MEMBER_DAY_END_RESULT = 'DE_RSLT',
MEMBER_FINAL_FLOOR = 'FIN_FLR',
MEMBER_GAME_OVER = 'GOVER2D',
MEMBER_HURRY_UP = 'HURRYUP',
MEMBER_KANKETU_MENU = 'KANKETU',
MEMBER_START_MENU_PAUSE_DOUKUTU = 'PAUSE_D',
MEMBER_START_MENU_CONTROLS = 'SM_CONT',
MEMBER_START_MENU_ITEM = 'SM_ITEM',
MEMBER_SPECIAL_ITEM = 'SP_ITEM',
MEMBER_UFO_MENU = 'UFOMENU',
MEMBER_UFO_GROUP = 'UFO_GRP',
MEMBER_ANA_DEMO = 'ANA_DEMO',
MEMBER_CAVE_MORE = 'CAVEMORE',
MEMBER_CHALLENGE_RESULT = 'CHRESULT',
MEMBER_CHALLENGE_SELECT = 'CHSELECT',
MEMBER_DAY_END_COUNT = 'DAYENDCD',
MEMBER_DAY_END_RESULT_INC_P = 'DER_INCP',
MEMBER_DAY_END_RESULT_ITEM = 'DER_ITEM',
MEMBER_DAY_END_RESULT_MAIL = 'DER_MAIL',
MEMBER_DAY_END_RESULT_TITLE = 'DER_TITL',
MEMBER_FINAL_MSG = 'FINALMSG',
MEMBER_PAY_DEBT = 'PAY_DEPT',
MEMBER_READY_GO = 'READY_GO',
MEMBER_START_MENU_PAUSE = 'SM_PAUSE',
MEMBER_START_MENU_PAUSE_VS = 'SM_PS_VS',
MEMBER_VS_SELECT = 'VSSELECT',
MEMBER_WIN_LOSE = 'WIN_LOSE',
MEMBER_WORLD_MAP_INFO_WINDOW_0 = 'WMapWin0',
MEMBER_WORLD_MAP_INFO_WINDOW_1 = 'WMapWin1',
_MEMBER_FORCE_ULONGLONG = 0xFFFFFFFFFFFFFFF
};
#pragma longlong_enums reset
#pragma enumsalwaysint reset

View File

@ -0,0 +1,26 @@
#ifndef _OG_NEWSCREEN_CAVE_H
#define _OG_NEWSCREEN_CAVE_H
#include "Screen/Bases.h"
namespace og {
namespace newScreen {
struct Cave : public ::Screen::SceneBase {
Cave();
virtual SceneType getSceneType(); // _00
virtual ScreenOwnerID getOwnerID(); // _04
virtual ScreenMemberID getMemberID(); // _08
virtual bool isDrawInDemo() const; // _10
virtual const char* getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
};
struct ObjCave : public ::Screen::ObjBase {
ObjCave(const char*);
};
} // namespace newScreen
} // namespace og
#endif

View File

@ -0,0 +1,29 @@
#ifndef _OG_NEWSCREEN_KANTEIDEMO_H
#define _OG_NEWSCREEN_KANTEIDEMO_H
#include "Screen/Bases.h"
namespace og {
namespace newScreen {
struct KanteiDemo : public ::Screen::SceneBase {
KanteiDemo();
virtual SceneType getSceneType(); // _00
virtual ScreenOwnerID getOwnerID(); // _04
virtual ScreenMemberID getMemberID(); // _08
virtual bool isUseBackupSceneInfo(); // _0C
virtual const char* getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
// _00 VTBL
::Screen::ObjBase* m_objBase;
};
struct ObjKantei : ::Screen::ObjBase {
ObjKantei(const char*);
};
} // namespace newScreen
} // namespace og
#endif

View File

@ -0,0 +1,29 @@
#ifndef _OG_NEWSCREEN_SPECIALITEM_H
#define _OG_NEWSCREEN_SPECIALITEM_H
#include "Screen/Bases.h"
namespace og {
namespace newScreen {
struct SpecialItem : public ::Screen::SceneBase {
SpecialItem();
virtual SceneType getSceneType(); // _00
virtual ScreenOwnerID getOwnerID(); // _04
virtual ScreenMemberID getMemberID(); // _08
virtual bool isUseBackupSceneInfo(); // _0C
virtual const char* getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
virtual bool doConfirmSetScene(::Screen::SetSceneArg&); // _28
// _00 VTBL
};
struct ObjSpecialItem : public ::Screen::ObjBase {
ObjSpecialItem(const char*);
};
} // namespace newScreen
} // namespace og
#endif

28
include/og/newScreen/Vs.h Normal file
View File

@ -0,0 +1,28 @@
#ifndef _OG_NEWSCREEN_VS_H
#define _OG_NEWSCREEN_VS_H
#include "Screen/Bases.h"
namespace og {
namespace newScreen {
struct Vs : public ::Screen::SceneBase {
Vs();
virtual SceneType getSceneType(); // _00
virtual ScreenOwnerID getOwnerID(); // _04
virtual ScreenMemberID getMemberID(); // _08
virtual bool isDrawInDemo() const; // _10
virtual const char* getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
// _00 VTBL
};
struct ObjVs : public ::Screen::ObjBase {
ObjVs(const char*);
};
} // namespace newScreen
} // namespace og
#endif

View File

@ -1,98 +1,15 @@
#include "types.h"
/*
Generated from dpostproc
.section .rodata # 0x804732E0 - 0x8049E220
.global lbl_8048EDB8
lbl_8048EDB8:
.4byte 0x63617665
.4byte 0x20736372
.4byte 0x65656E00
.global lbl_8048EDC4
lbl_8048EDC4:
.4byte 0x7265735F
.4byte 0x63617665
.4byte 0x2E737A73
.4byte 0x00000000
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.global __vt__Q32og9newScreen4Cave
__vt__Q32og9newScreen4Cave:
.4byte 0
.4byte 0
.4byte getSceneType__Q32og9newScreen4CaveFv
.4byte getOwnerID__Q32og9newScreen4CaveFv
.4byte getMemberID__Q32og9newScreen4CaveFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q32og9newScreen4CaveCFv
.4byte getResName__Q32og9newScreen4CaveCFv
.4byte doCreateObj__Q32og9newScreen4CaveFP10JKRArchive
.4byte doUserCallBackFunc__Q32og9newScreen4CaveFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte
doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg .4byte
doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg .4byte
setDefaultDispMember__Q26Screen9SceneBaseFv .4byte
doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg .4byte
doGetFinishState__Q26Screen9SceneBaseFv
*/
#include "Screen/Bases.h"
#include "og/newScreen/Cave.h"
namespace og {
namespace newScreen {
struct Cave : public Screen::DispMemberBase {
Cave();
virtual SceneType getSceneType(); // _00
virtual ScreenOwnerID getOwnerID(); // _04
virtual ScreenMemberID getMemberID(); // _08
virtual bool isDrawInDemo() const; // _10
virtual char* getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
};
namespace newScreen {
/*
* --INFO--
* Address: 8031CC90
* Size: 00003C
*/
Cave::Cave(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r3
bl __ct__Q26Screen9SceneBaseFv
lis r4, __vt__Q32og9newScreen4Cave@ha
mr r3, r31
addi r0, r4, __vt__Q32og9newScreen4Cave@l
stw r0, 0(r31)
lwz r31, 0xc(r1)
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
* --INFO--
* Address: ........
* Size: 000074
*/
Cave::~Cave(void)
{
// UNUSED FUNCTION
}
Cave::Cave() { }
/*
* --INFO--
@ -106,42 +23,11 @@ void Cave::doUserCallBackFunc(Resource::MgrCommand*) { }
* Address: 8031CCD0
* Size: 000078
*/
void Cave::doCreateObj(JKRArchive*)
void Cave::doCreateObj(JKRArchive* archive)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
mr r30, r3
li r3, 0x7c
bl __nw__FUl
or. r4, r3, r3
beq lbl_8031CD0C
lis r4, lbl_8048EDB8@ha
addi r4, r4, lbl_8048EDB8@l
bl __ct__Q32og9newScreen7ObjCaveFPCc
mr r4, r3
lbl_8031CD0C:
mr r3, r30
mr r5, r31
bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
mr r3, r30
li r4, 0
li r5, 0
li r6, 0
li r7, 0
bl setColorBG__Q26Screen9SceneBaseFUcUcUcUc
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
::Screen::ObjBase* obj = new ObjCave("cave screen");
registObj(obj, archive);
setColorBG(0, 0, 0, 0);
}
/*
@ -149,35 +35,28 @@ lbl_8031CD0C:
* Address: 8031CD48
* Size: 00000C
*/
char* Cave::getResName() const
{
/*
lis r3, lbl_8048EDC4@ha
addi r3, r3, lbl_8048EDC4@l
blr
*/
}
const char* Cave::getResName() const { return "res_cave.szs"; }
/*
* --INFO--
* Address: 8031CD54
* Size: 000008
*/
SceneType Cave::getSceneType(void) { return SceneType::SCENE_CAVE; }
SceneType Cave::getSceneType(void) { return SCENE_CAVE; }
/*
* --INFO--
* Address: 8031CD5C
* Size: 00000C
*/
ScreenOwnerID Cave::getOwnerID(void) { return ScreenOwnerID::OWNER_OGA; }
ScreenOwnerID Cave::getOwnerID(void) { return OWNER_OGA; }
/*
* --INFO--
* Address: 8031CD68
* Size: 000010
*/
ScreenMemberID Cave::getMemberID(void) { return ScreenMemberID::MEMBER_CAVE; }
ScreenMemberID Cave::getMemberID(void) { return MEMBER_CAVE; }
/*
* --INFO--

View File

@ -1,48 +1,4 @@
#include "types.h"
/*
Generated from dpostproc
.section .rodata # 0x804732E0 - 0x8049E220
.global lbl_8048EAB8
lbl_8048EAB8:
.4byte 0x6B616E74
.4byte 0x65692073
.4byte 0x63726565
.4byte 0x6E000000
.global lbl_8048EAC8
lbl_8048EAC8:
.4byte 0x7265735F
.4byte 0x6B616E74
.4byte 0x65692E73
.4byte 0x7A730000
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.global __vt__Q32og9newScreen10KanteiDemo
__vt__Q32og9newScreen10KanteiDemo:
.4byte 0
.4byte 0
.4byte getSceneType__Q32og9newScreen10KanteiDemoFv
.4byte getOwnerID__Q32og9newScreen10KanteiDemoFv
.4byte getMemberID__Q32og9newScreen10KanteiDemoFv
.4byte isUseBackupSceneInfo__Q32og9newScreen10KanteiDemoFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32og9newScreen10KanteiDemoCFv
.4byte doCreateObj__Q32og9newScreen10KanteiDemoFP10JKRArchive
.4byte
doUserCallBackFunc__Q32og9newScreen10KanteiDemoFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte
doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg .4byte
doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg .4byte
setDefaultDispMember__Q26Screen9SceneBaseFv .4byte
doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg .4byte
doGetFinishState__Q26Screen9SceneBaseFv
*/
#include "og/newScreen/KanteiDemo.h"
namespace og {
@ -53,38 +9,7 @@ namespace newScreen {
* Address: 80319BDC
* Size: 000044
*/
KanteiDemo::KanteiDemo(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r3
bl __ct__Q26Screen9SceneBaseFv
lis r3, __vt__Q32og9newScreen10KanteiDemo@ha
li r0, 0
addi r4, r3, __vt__Q32og9newScreen10KanteiDemo@l
mr r3, r31
stw r4, 0(r31)
stw r0, 0x220(r31)
lwz r31, 0xc(r1)
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
* --INFO--
* Address: ........
* Size: 000074
*/
KanteiDemo::~KanteiDemo(void)
{
// UNUSED FUNCTION
}
KanteiDemo::KanteiDemo() { m_objBase = 0; }
/*
* --INFO--
@ -98,38 +23,11 @@ void KanteiDemo::doUserCallBackFunc(Resource::MgrCommand*) { }
* Address: 80319C24
* Size: 000068
*/
void KanteiDemo::doCreateObj(JKRArchive*)
void KanteiDemo::doCreateObj(JKRArchive* archive)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
mr r30, r3
li r3, 0xf8
bl __nw__FUl
or. r0, r3, r3
beq lbl_80319C60
lis r4, lbl_8048EAB8@ha
addi r4, r4, lbl_8048EAB8@l
bl __ct__Q32og9newScreen9ObjKanteiFPCc
mr r0, r3
lbl_80319C60:
stw r0, 0x220(r30)
mr r3, r30
mr r5, r31
lwz r4, 0x220(r30)
bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
::Screen::ObjBase* obj = new ObjKantei("kantei screen");
m_objBase = obj;
registObj(m_objBase, archive);
}
/*
@ -137,56 +35,34 @@ lbl_80319C60:
* Address: 80319C8C
* Size: 00000C
*/
void KanteiDemo::getResName() const
{
/*
lis r3, lbl_8048EAC8@ha
addi r3, r3, lbl_8048EAC8@l
blr
*/
}
const char* KanteiDemo::getResName() const { return "res_kantei.szs"; }
/*
* --INFO--
* Address: 80319C98
* Size: 000008
*/
u32 KanteiDemo::getSceneType(void) { return 0x2722; }
SceneType KanteiDemo::getSceneType() { return SCENE_KANTEI_DEMO; }
/*
* --INFO--
* Address: 80319CA0
* Size: 00000C
*/
void KanteiDemo::getOwnerID(void)
{
/*
lis r3, 0x004F4741@ha
addi r3, r3, 0x004F4741@l
blr
*/
}
ScreenOwnerID KanteiDemo::getOwnerID() { return OWNER_OGA; }
/*
* --INFO--
* Address: 80319CAC
* Size: 000010
*/
void KanteiDemo::getMemberID(void)
{
/*
lis r4, 0x4E544549@ha
li r3, 0x4b41
addi r4, r4, 0x4E544549@l
blr
*/
}
ScreenMemberID KanteiDemo::getMemberID() { return MEMBER_KANTEI; }
/*
* --INFO--
* Address: 80319CBC
* Size: 000008
*/
u32 KanteiDemo::isUseBackupSceneInfo(void) { return 0x1; }
bool KanteiDemo::isUseBackupSceneInfo() { return true; }
} // namespace newScreen
} // namespace og

View File

@ -1,52 +1,4 @@
#include "types.h"
/*
Generated from dpostproc
.section .rodata # 0x804732E0 - 0x8049E220
.global lbl_8048EB78
lbl_8048EB78:
.4byte 0x73706563
.4byte 0x69616C20
.4byte 0x6974656D
.4byte 0x20736372
.4byte 0x65656E00
.global lbl_8048EB8C
lbl_8048EB8C:
.4byte 0x7265735F
.4byte 0x73706563
.4byte 0x69616C5F
.4byte 0x6974656D
.4byte 0x2E737A73
.4byte 0x00000000
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.global __vt__Q32og9newScreen11SpecialItem
__vt__Q32og9newScreen11SpecialItem:
.4byte 0
.4byte 0
.4byte getSceneType__Q32og9newScreen11SpecialItemFv
.4byte getOwnerID__Q32og9newScreen11SpecialItemFv
.4byte getMemberID__Q32og9newScreen11SpecialItemFv
.4byte isUseBackupSceneInfo__Q32og9newScreen11SpecialItemFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32og9newScreen11SpecialItemCFv
.4byte doCreateObj__Q32og9newScreen11SpecialItemFP10JKRArchive
.4byte
doUserCallBackFunc__Q32og9newScreen11SpecialItemFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte
doConfirmSetScene__Q32og9newScreen11SpecialItemFRQ26Screen11SetSceneArg
.4byte
doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg .4byte
doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg .4byte
setDefaultDispMember__Q26Screen9SceneBaseFv .4byte
doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg .4byte
doGetFinishState__Q26Screen9SceneBaseFv
*/
#include "og/newScreen/SpecialItem.h"
namespace og {
@ -57,36 +9,7 @@ namespace newScreen {
* Address: 8031A2A0
* Size: 00003C
*/
SpecialItem::SpecialItem(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r3
bl __ct__Q26Screen9SceneBaseFv
lis r4, __vt__Q32og9newScreen11SpecialItem@ha
mr r3, r31
addi r0, r4, __vt__Q32og9newScreen11SpecialItem@l
stw r0, 0(r31)
lwz r31, 0xc(r1)
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
* --INFO--
* Address: ........
* Size: 000074
*/
SpecialItem::~SpecialItem(void)
{
// UNUSED FUNCTION
}
SpecialItem::SpecialItem() { }
/*
* --INFO--
@ -100,36 +23,10 @@ void SpecialItem::doUserCallBackFunc(Resource::MgrCommand*) { }
* Address: 8031A2E0
* Size: 000060
*/
void SpecialItem::doCreateObj(JKRArchive*)
void SpecialItem::doCreateObj(JKRArchive* archive)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
mr r30, r3
li r3, 0x60
bl __nw__FUl
or. r4, r3, r3
beq lbl_8031A31C
lis r4, lbl_8048EB78@ha
addi r4, r4, lbl_8048EB78@l
bl __ct__Q32og9newScreen14ObjSpecialItemFPCc
mr r4, r3
lbl_8031A31C:
mr r3, r30
mr r5, r31
bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
::Screen::ObjBase* obj = new ObjSpecialItem("special item screen");
registObj(obj, archive);
}
/*
@ -137,31 +34,13 @@ lbl_8031A31C:
* Address: 8031A340
* Size: 00004C
*/
void SpecialItem::doConfirmSetScene(Screen::SetSceneArg&)
bool SpecialItem::doConfirmSetScene(::Screen::SetSceneArg& arg)
{
/*
stwu r1, -0x10(r1)
mflr r0
mr r3, r4
stw r0, 0x14(r1)
stw r31, 0xc(r1)
li r31, 0
lwz r12, 0(r4)
lwz r12, 8(r12)
mtctr r12
bctrl
cmpwi r3, 0x2723
beq lbl_8031A374
li r31, 1
lbl_8031A374:
lwz r0, 0x14(r1)
mr r3, r31
lwz r31, 0xc(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
bool b = false;
if (arg.getSceneType() != SCENE_SPECIAL_ITEM) {
b = true;
}
return b;
}
/*
@ -169,57 +48,34 @@ lbl_8031A374:
* Address: 8031A38C
* Size: 00000C
*/
void SpecialItem::getResName() const
{
/*
lis r3, lbl_8048EB8C@ha
addi r3, r3, lbl_8048EB8C@l
blr
*/
}
const char* SpecialItem::getResName() const { return "res_special_item.szs"; }
/*
* --INFO--
* Address: 8031A398
* Size: 000008
*/
u32 SpecialItem::getSceneType(void) { return 0x2723; }
SceneType SpecialItem::getSceneType() { return SCENE_SPECIAL_ITEM; }
/*
* --INFO--
* Address: 8031A3A0
* Size: 00000C
*/
void SpecialItem::getOwnerID(void)
{
/*
lis r3, 0x004F4741@ha
addi r3, r3, 0x004F4741@l
blr
*/
}
ScreenOwnerID SpecialItem::getOwnerID() { return OWNER_OGA; }
/*
* --INFO--
* Address: 8031A3AC
* Size: 000014
*/
void SpecialItem::getMemberID(void)
{
/*
lis r4, 0x4954454D@ha
lis r3, 0x0053505F@ha
addi r4, r4, 0x4954454D@l
addi r3, r3, 0x0053505F@l
blr
*/
}
ScreenMemberID SpecialItem::getMemberID() { return MEMBER_SPECIAL_ITEM; }
/*
* --INFO--
* Address: 8031A3C0
* Size: 000008
*/
u32 SpecialItem::isUseBackupSceneInfo(void) { return 0x1; }
bool SpecialItem::isUseBackupSceneInfo() { return true; }
} // namespace newScreen
} // namespace og

View File

@ -1,45 +1,4 @@
#include "types.h"
/*
Generated from dpostproc
.section .rodata # 0x804732E0 - 0x8049E220
.global lbl_8048F410
lbl_8048F410:
.4byte 0x56732073
.4byte 0x63726565
.4byte 0x6E000000
.global lbl_8048F41C
lbl_8048F41C:
.4byte 0x7265735F
.4byte 0x76732E73
.4byte 0x7A730000
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.global __vt__Q32og9newScreen2Vs
__vt__Q32og9newScreen2Vs:
.4byte 0
.4byte 0
.4byte getSceneType__Q32og9newScreen2VsFv
.4byte getOwnerID__Q32og9newScreen2VsFv
.4byte getMemberID__Q32og9newScreen2VsFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q32og9newScreen2VsCFv
.4byte getResName__Q32og9newScreen2VsCFv
.4byte doCreateObj__Q32og9newScreen2VsFP10JKRArchive
.4byte doUserCallBackFunc__Q32og9newScreen2VsFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte
doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg .4byte
doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg .4byte
doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg .4byte
setDefaultDispMember__Q26Screen9SceneBaseFv .4byte
doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg .4byte
doGetFinishState__Q26Screen9SceneBaseFv
*/
#include "og/newScreen/Vs.h"
namespace og {
@ -50,36 +9,7 @@ namespace newScreen {
* Address: 80327C5C
* Size: 00003C
*/
Vs::Vs(void)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r3
bl __ct__Q26Screen9SceneBaseFv
lis r4, __vt__Q32og9newScreen2Vs@ha
mr r3, r31
addi r0, r4, __vt__Q32og9newScreen2Vs@l
stw r0, 0(r31)
lwz r31, 0xc(r1)
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
}
/*
* --INFO--
* Address: ........
* Size: 000074
*/
Vs::~Vs(void)
{
// UNUSED FUNCTION
}
Vs::Vs() { }
/*
* --INFO--
@ -93,42 +23,11 @@ void Vs::doUserCallBackFunc(Resource::MgrCommand*) { }
* Address: 80327C9C
* Size: 000078
*/
void Vs::doCreateObj(JKRArchive*)
void Vs::doCreateObj(JKRArchive* archive)
{
/*
stwu r1, -0x10(r1)
mflr r0
stw r0, 0x14(r1)
stw r31, 0xc(r1)
mr r31, r4
stw r30, 8(r1)
mr r30, r3
li r3, 0x12c
bl __nw__FUl
or. r4, r3, r3
beq lbl_80327CD8
lis r4, lbl_8048F410@ha
addi r4, r4, lbl_8048F410@l
bl __ct__Q32og9newScreen5ObjVsFPCc
mr r4, r3
lbl_80327CD8:
mr r3, r30
mr r5, r31
bl registObj__Q26Screen9SceneBaseFPQ26Screen7ObjBaseP10JKRArchive
mr r3, r30
li r4, 0
li r5, 0
li r6, 0
li r7, 0
bl setColorBG__Q26Screen9SceneBaseFUcUcUcUc
lwz r0, 0x14(r1)
lwz r31, 0xc(r1)
lwz r30, 8(r1)
mtlr r0
addi r1, r1, 0x10
blr
*/
::Screen::ObjBase* obj = new ObjVs("Vs screen");
registObj(obj, archive);
setColorBG(0, 0, 0, 0);
}
/*
@ -136,55 +35,34 @@ lbl_80327CD8:
* Address: 80327D14
* Size: 00000C
*/
void Vs::getResName() const
{
/*
lis r3, lbl_8048F41C@ha
addi r3, r3, lbl_8048F41C@l
blr
*/
}
const char* Vs::getResName() const { return "res_vs.szs"; }
/*
* --INFO--
* Address: 80327D20
* Size: 000008
*/
u32 Vs::getSceneType(void) { return 0x2712; }
SceneType Vs::getSceneType() { return SCENE_VS; }
/*
* --INFO--
* Address: 80327D28
* Size: 00000C
*/
void Vs::getOwnerID(void)
{
/*
lis r3, 0x004F4741@ha
addi r3, r3, 0x004F4741@l
blr
*/
}
ScreenOwnerID Vs::getOwnerID() { return OWNER_OGA; }
/*
* --INFO--
* Address: 80327D34
* Size: 00000C
*/
void Vs::getMemberID(void)
{
/*
li r4, 0x5653
li r3, 0
blr
*/
}
ScreenMemberID Vs::getMemberID() {return MEMBER_VS; }
/*
* --INFO--
* Address: 80327D40
* Size: 000008
*/
u32 Vs::isDrawInDemo() const { return 0x0; }
bool Vs::isDrawInDemo() const { return false; }
} // namespace newScreen
} // namespace og

View File

@ -1,80 +0,0 @@
#ifndef _OG_NEWSCREEN_CAVE_H
#define _OG_NEWSCREEN_CAVE_H
/*
__vt__Q32og9newScreen4Cave:
.4byte 0
.4byte 0
.4byte getSceneType__Q32og9newScreen4CaveFv
.4byte getOwnerID__Q32og9newScreen4CaveFv
.4byte getMemberID__Q32og9newScreen4CaveFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q32og9newScreen4CaveCFv
.4byte getResName__Q32og9newScreen4CaveCFv
.4byte doCreateObj__Q32og9newScreen4CaveFP10JKRArchive
.4byte doUserCallBackFunc__Q32og9newScreen4CaveFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg
.4byte doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
.4byte setDefaultDispMember__Q26Screen9SceneBaseFv
.4byte doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doGetFinishState__Q26Screen9SceneBaseFv
*/
namespace Screen {
struct SceneBase {
virtual void getSceneType(); // _00
virtual void getOwnerID(); // _04
virtual void getMemberID(); // _08
virtual void isUseBackupSceneInfo(); // _0C
virtual void isDrawInDemo() const; // _10
virtual void getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
virtual void setPort(Graphics&); // _20
virtual void doUpdateActive(); // _24
virtual void doConfirmSetScene(SetSceneArg&); // _28
virtual void doConfirmStartScene(StartSceneArg*); // _2C
virtual void doConfirmEndScene(EndSceneArg*&); // _30
virtual void doStart(StartSceneArg*); // _34
virtual void doEnd(EndSceneArg*); // _38
virtual void setDefaultDispMember(); // _3C
virtual void doSetBackupScene(SetSceneArg&); // _40
virtual void doGetFinishState(); // _44
// _00 VTBL
};
} // namespace Screen
namespace og {
namespace newScreen {
struct Cave : public SceneBase {
virtual void getSceneType(); // _00
virtual void getOwnerID(); // _04
virtual void getMemberID(); // _08
virtual void isUseBackupSceneInfo(); // _0C
virtual void isDrawInDemo() const; // _10
virtual void getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
virtual void setPort(Graphics&); // _20
virtual void doUpdateActive(); // _24
virtual void doConfirmSetScene(SetSceneArg&); // _28
virtual void doConfirmStartScene(StartSceneArg*); // _2C
virtual void doConfirmEndScene(EndSceneArg*&); // _30
virtual void doStart(StartSceneArg*); // _34
virtual void doEnd(EndSceneArg*); // _38
virtual void setDefaultDispMember(); // _3C
virtual void doSetBackupScene(SetSceneArg&); // _40
virtual void doGetFinishState(); // _44
// _00 VTBL
};
} // namespace newScreen
} // namespace og
#endif

View File

@ -1,81 +0,0 @@
#ifndef _OG_NEWSCREEN_KANTEIDEMO_H
#define _OG_NEWSCREEN_KANTEIDEMO_H
/*
__vt__Q32og9newScreen10KanteiDemo:
.4byte 0
.4byte 0
.4byte getSceneType__Q32og9newScreen10KanteiDemoFv
.4byte getOwnerID__Q32og9newScreen10KanteiDemoFv
.4byte getMemberID__Q32og9newScreen10KanteiDemoFv
.4byte isUseBackupSceneInfo__Q32og9newScreen10KanteiDemoFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32og9newScreen10KanteiDemoCFv
.4byte doCreateObj__Q32og9newScreen10KanteiDemoFP10JKRArchive
.4byte
doUserCallBackFunc__Q32og9newScreen10KanteiDemoFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg
.4byte doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
.4byte setDefaultDispMember__Q26Screen9SceneBaseFv
.4byte doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doGetFinishState__Q26Screen9SceneBaseFv
*/
namespace Screen {
struct SceneBase {
virtual void getSceneType(); // _00
virtual void getOwnerID(); // _04
virtual void getMemberID(); // _08
virtual void isUseBackupSceneInfo(); // _0C
virtual void isDrawInDemo() const; // _10
virtual void getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
virtual void setPort(Graphics&); // _20
virtual void doUpdateActive(); // _24
virtual void doConfirmSetScene(SetSceneArg&); // _28
virtual void doConfirmStartScene(StartSceneArg*); // _2C
virtual void doConfirmEndScene(EndSceneArg*&); // _30
virtual void doStart(StartSceneArg*); // _34
virtual void doEnd(EndSceneArg*); // _38
virtual void setDefaultDispMember(); // _3C
virtual void doSetBackupScene(SetSceneArg&); // _40
virtual void doGetFinishState(); // _44
// _00 VTBL
};
} // namespace Screen
namespace og {
namespace newScreen {
struct KanteiDemo : public SceneBase {
virtual void getSceneType(); // _00
virtual void getOwnerID(); // _04
virtual void getMemberID(); // _08
virtual void isUseBackupSceneInfo(); // _0C
virtual void isDrawInDemo() const; // _10
virtual void getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
virtual void setPort(Graphics&); // _20
virtual void doUpdateActive(); // _24
virtual void doConfirmSetScene(SetSceneArg&); // _28
virtual void doConfirmStartScene(StartSceneArg*); // _2C
virtual void doConfirmEndScene(EndSceneArg*&); // _30
virtual void doStart(StartSceneArg*); // _34
virtual void doEnd(EndSceneArg*); // _38
virtual void setDefaultDispMember(); // _3C
virtual void doSetBackupScene(SetSceneArg&); // _40
virtual void doGetFinishState(); // _44
// _00 VTBL
};
} // namespace newScreen
} // namespace og
#endif

View File

@ -1,82 +0,0 @@
#ifndef _OG_NEWSCREEN_SPECIALITEM_H
#define _OG_NEWSCREEN_SPECIALITEM_H
/*
__vt__Q32og9newScreen11SpecialItem:
.4byte 0
.4byte 0
.4byte getSceneType__Q32og9newScreen11SpecialItemFv
.4byte getOwnerID__Q32og9newScreen11SpecialItemFv
.4byte getMemberID__Q32og9newScreen11SpecialItemFv
.4byte isUseBackupSceneInfo__Q32og9newScreen11SpecialItemFv
.4byte isDrawInDemo__Q26Screen9SceneBaseCFv
.4byte getResName__Q32og9newScreen11SpecialItemCFv
.4byte doCreateObj__Q32og9newScreen11SpecialItemFP10JKRArchive
.4byte
doUserCallBackFunc__Q32og9newScreen11SpecialItemFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte
doConfirmSetScene__Q32og9newScreen11SpecialItemFRQ26Screen11SetSceneArg
.4byte doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg
.4byte doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
.4byte setDefaultDispMember__Q26Screen9SceneBaseFv
.4byte doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doGetFinishState__Q26Screen9SceneBaseFv
*/
namespace Screen {
struct SceneBase {
virtual void getSceneType(); // _00
virtual void getOwnerID(); // _04
virtual void getMemberID(); // _08
virtual void isUseBackupSceneInfo(); // _0C
virtual void isDrawInDemo() const; // _10
virtual void getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
virtual void setPort(Graphics&); // _20
virtual void doUpdateActive(); // _24
virtual void doConfirmSetScene(Screen::SetSceneArg&); // _28
virtual void doConfirmStartScene(StartSceneArg*); // _2C
virtual void doConfirmEndScene(EndSceneArg*&); // _30
virtual void doStart(StartSceneArg*); // _34
virtual void doEnd(EndSceneArg*); // _38
virtual void setDefaultDispMember(); // _3C
virtual void doSetBackupScene(SetSceneArg&); // _40
virtual void doGetFinishState(); // _44
// _00 VTBL
};
} // namespace Screen
namespace og {
namespace newScreen {
struct SpecialItem : public SceneBase {
virtual void getSceneType(); // _00
virtual void getOwnerID(); // _04
virtual void getMemberID(); // _08
virtual void isUseBackupSceneInfo(); // _0C
virtual void isDrawInDemo() const; // _10
virtual void getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
virtual void setPort(Graphics&); // _20
virtual void doUpdateActive(); // _24
virtual void doConfirmSetScene(Screen::SetSceneArg&); // _28
virtual void doConfirmStartScene(StartSceneArg*); // _2C
virtual void doConfirmEndScene(EndSceneArg*&); // _30
virtual void doStart(StartSceneArg*); // _34
virtual void doEnd(EndSceneArg*); // _38
virtual void setDefaultDispMember(); // _3C
virtual void doSetBackupScene(SetSceneArg&); // _40
virtual void doGetFinishState(); // _44
// _00 VTBL
};
} // namespace newScreen
} // namespace og
#endif

View File

@ -1,80 +0,0 @@
#ifndef _OG_NEWSCREEN_VS_H
#define _OG_NEWSCREEN_VS_H
/*
__vt__Q32og9newScreen2Vs:
.4byte 0
.4byte 0
.4byte getSceneType__Q32og9newScreen2VsFv
.4byte getOwnerID__Q32og9newScreen2VsFv
.4byte getMemberID__Q32og9newScreen2VsFv
.4byte isUseBackupSceneInfo__Q26Screen9SceneBaseFv
.4byte isDrawInDemo__Q32og9newScreen2VsCFv
.4byte getResName__Q32og9newScreen2VsCFv
.4byte doCreateObj__Q32og9newScreen2VsFP10JKRArchive
.4byte doUserCallBackFunc__Q32og9newScreen2VsFPQ28Resource10MgrCommand
.4byte setPort__Q26Screen9SceneBaseFR8Graphics
.4byte doUpdateActive__Q26Screen9SceneBaseFv
.4byte doConfirmSetScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doConfirmStartScene__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doConfirmEndScene__Q26Screen9SceneBaseFRPQ26Screen11EndSceneArg
.4byte doStart__Q26Screen9SceneBaseFPQ26Screen13StartSceneArg
.4byte doEnd__Q26Screen9SceneBaseFPQ26Screen11EndSceneArg
.4byte setDefaultDispMember__Q26Screen9SceneBaseFv
.4byte doSetBackupScene__Q26Screen9SceneBaseFRQ26Screen11SetSceneArg
.4byte doGetFinishState__Q26Screen9SceneBaseFv
*/
namespace Screen {
struct SceneBase {
virtual void getSceneType(); // _00
virtual void getOwnerID(); // _04
virtual void getMemberID(); // _08
virtual void isUseBackupSceneInfo(); // _0C
virtual void isDrawInDemo() const; // _10
virtual void getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
virtual void setPort(Graphics&); // _20
virtual void doUpdateActive(); // _24
virtual void doConfirmSetScene(SetSceneArg&); // _28
virtual void doConfirmStartScene(StartSceneArg*); // _2C
virtual void doConfirmEndScene(EndSceneArg*&); // _30
virtual void doStart(StartSceneArg*); // _34
virtual void doEnd(EndSceneArg*); // _38
virtual void setDefaultDispMember(); // _3C
virtual void doSetBackupScene(SetSceneArg&); // _40
virtual void doGetFinishState(); // _44
// _00 VTBL
};
} // namespace Screen
namespace og {
namespace newScreen {
struct Vs : public SceneBase {
virtual void getSceneType(); // _00
virtual void getOwnerID(); // _04
virtual void getMemberID(); // _08
virtual void isUseBackupSceneInfo(); // _0C
virtual void isDrawInDemo() const; // _10
virtual void getResName() const; // _14
virtual void doCreateObj(JKRArchive*); // _18
virtual void doUserCallBackFunc(Resource::MgrCommand*); // _1C
virtual void setPort(Graphics&); // _20
virtual void doUpdateActive(); // _24
virtual void doConfirmSetScene(SetSceneArg&); // _28
virtual void doConfirmStartScene(StartSceneArg*); // _2C
virtual void doConfirmEndScene(EndSceneArg*&); // _30
virtual void doStart(StartSceneArg*); // _34
virtual void doEnd(EndSceneArg*); // _38
virtual void setDefaultDispMember(); // _3C
virtual void doSetBackupScene(SetSceneArg&); // _40
virtual void doGetFinishState(); // _44
// _00 VTBL
};
} // namespace newScreen
} // namespace og
#endif