mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
Scene: Add some headers and complete factory
This commit is contained in:
parent
2e9976f0d2
commit
a17cc55420
|
|
@ -137100,22 +137100,22 @@ Scene/ProjectSceneFactory.o:
|
|||
- offset: 0x4c1b18
|
||||
size: 48
|
||||
label: _ZN15alSceneFunction15createSceneFuncI20DemoChangeWorldSceneEEPN2al5SceneEv
|
||||
status: NotDecompiled
|
||||
status: Matching
|
||||
lazy: true
|
||||
- offset: 0x4c1b48
|
||||
size: 48
|
||||
label: _ZN15alSceneFunction15createSceneFuncI9DemoSceneEEPN2al5SceneEv
|
||||
status: NotDecompiled
|
||||
status: Matching
|
||||
lazy: true
|
||||
- offset: 0x4c1b78
|
||||
size: 48
|
||||
label: _ZN15alSceneFunction15createSceneFuncI26DemoSceneWithCinemaCaptionEEPN2al5SceneEv
|
||||
status: NotDecompiled
|
||||
status: Matching
|
||||
lazy: true
|
||||
- offset: 0x4c1ba8
|
||||
size: 48
|
||||
label: _ZN15alSceneFunction15createSceneFuncI11EndingSceneEEPN2al5SceneEv
|
||||
status: NotDecompiled
|
||||
status: Matching
|
||||
lazy: true
|
||||
- offset: 0x4c1bd8
|
||||
size: 44
|
||||
|
|
@ -137125,12 +137125,12 @@ Scene/ProjectSceneFactory.o:
|
|||
- offset: 0x4c1c04
|
||||
size: 44
|
||||
label: _ZN15alSceneFunction15createSceneFuncI10StageSceneEEPN2al5SceneEv
|
||||
status: NotDecompiled
|
||||
status: Matching
|
||||
lazy: true
|
||||
- offset: 0x4c1c30
|
||||
size: 48
|
||||
label: _ZN15alSceneFunction15createSceneFuncI14StaffRollSceneEEPN2al5SceneEv
|
||||
status: NotDecompiled
|
||||
status: Matching
|
||||
lazy: true
|
||||
- offset: 0x4c1c60
|
||||
size: 44
|
||||
|
|
@ -137140,7 +137140,7 @@ Scene/ProjectSceneFactory.o:
|
|||
- offset: 0x4c1c8c
|
||||
size: 48
|
||||
label: _ZN15alSceneFunction15createSceneFuncI18WorldWarpHoleSceneEEPN2al5SceneEv
|
||||
status: NotDecompiled
|
||||
status: Matching
|
||||
lazy: true
|
||||
Scene/QuestInfo.o:
|
||||
'.text':
|
||||
|
|
|
|||
41
src/Scene/DemoChangeWorldScene.h
Normal file
41
src/Scene/DemoChangeWorldScene.h
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
#pragma once
|
||||
|
||||
#include "Library/Scene/Scene.h"
|
||||
|
||||
namespace al {
|
||||
class WipeHolder;
|
||||
class GamePadSystem;
|
||||
class StageInfo;
|
||||
} // namespace al
|
||||
|
||||
class DemoChangeWorldGraphicsDataHolder;
|
||||
|
||||
class DemoChangeWorldScene : public al::Scene {
|
||||
public:
|
||||
DemoChangeWorldScene(al::WipeHolder* wipeHolder = nullptr);
|
||||
~DemoChangeWorldScene() override;
|
||||
|
||||
void setGraphicsDataHolder(const DemoChangeWorldGraphicsDataHolder*);
|
||||
void init(const al::SceneInitInfo& info) override;
|
||||
void initPlacement(const al::GamePadSystem*, const al::ActorInitInfo&);
|
||||
u32 decideScenario(s32, s32, s32, s32);
|
||||
void appear() override;
|
||||
void kill() override;
|
||||
void control() override;
|
||||
void drawMain() const override;
|
||||
|
||||
void exeFirstDemo();
|
||||
void exeDemoBegin();
|
||||
bool isTypeOnlyDemoBegin() const;
|
||||
void endDemoBegin();
|
||||
void exeTalk();
|
||||
void exeDemoEnd();
|
||||
void requestScreenCoverNerveDemoEnd();
|
||||
void exeSkipDemo();
|
||||
|
||||
void initPlacementSky(const al::StageInfo*, const al::ActorInitInfo&);
|
||||
void initPlacementObject(const al::StageInfo*, const al::ActorInitInfo&, const char*);
|
||||
|
||||
private:
|
||||
s8 filler_d8[0x358 - sizeof(al::Scene)];
|
||||
};
|
||||
32
src/Scene/DemoScene.h
Normal file
32
src/Scene/DemoScene.h
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#pragma once
|
||||
|
||||
#include "Library/Scene/Scene.h"
|
||||
|
||||
namespace al {
|
||||
class WipeHolder;
|
||||
class StageInfo;
|
||||
} // namespace al
|
||||
|
||||
class DemoScene : public al::Scene {
|
||||
public:
|
||||
DemoScene(al::WipeHolder* wipeHolder = nullptr);
|
||||
~DemoScene() override;
|
||||
|
||||
void init(const al::SceneInitInfo& info) override;
|
||||
void initPlacement(const al::ActorInitInfo&);
|
||||
void appear() override;
|
||||
void control() override;
|
||||
void kill() override;
|
||||
void drawMain() const override;
|
||||
virtual void exePlay();
|
||||
bool isLoadEnd() const;
|
||||
void exeSkipProc();
|
||||
virtual void initLayout(const al::LayoutInitInfo&);
|
||||
|
||||
void initPlacementSky(const al::StageInfo*, const al::ActorInitInfo&);
|
||||
void initPlacementDemo(const al::StageInfo*, const al::ActorInitInfo&);
|
||||
void initPlacementObject(const al::StageInfo*, const al::ActorInitInfo&, const char*);
|
||||
|
||||
private:
|
||||
s8 filler_d8[0x198 - sizeof(al::Scene)];
|
||||
};
|
||||
16
src/Scene/DemoSceneWithCinemaCaption.h
Normal file
16
src/Scene/DemoSceneWithCinemaCaption.h
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#pragma once
|
||||
|
||||
#include "Scene/DemoScene.h"
|
||||
|
||||
class DemoSceneWithCinemaCaption : public DemoScene {
|
||||
public:
|
||||
DemoSceneWithCinemaCaption(al::WipeHolder* wipeHolder = nullptr);
|
||||
~DemoSceneWithCinemaCaption() override;
|
||||
|
||||
void init(const al::SceneInitInfo& info) override;
|
||||
void exePlay() override;
|
||||
void initLayout(const al::LayoutInitInfo&) override;
|
||||
|
||||
private:
|
||||
s8 filler_198[0x1A8 - sizeof(DemoScene)];
|
||||
};
|
||||
32
src/Scene/EndingScene.h
Normal file
32
src/Scene/EndingScene.h
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#pragma once
|
||||
|
||||
#include "Library/Scene/Scene.h"
|
||||
|
||||
namespace al {
|
||||
class StageInfo;
|
||||
class WipeHolder;
|
||||
} // namespace al
|
||||
|
||||
class EndingScene : public al::Scene {
|
||||
public:
|
||||
EndingScene(al::WipeHolder* wipeHolder = nullptr);
|
||||
~EndingScene() override;
|
||||
|
||||
void init(const al::SceneInitInfo& info) override;
|
||||
void initPlacement(const al::ActorInitInfo&);
|
||||
void appear() override;
|
||||
void control() override;
|
||||
void kill() override;
|
||||
void drawMain() const override;
|
||||
virtual void exePlay();
|
||||
bool isLoadEnd() const;
|
||||
void exeSkipProc();
|
||||
virtual void initLayout(const al::LayoutInitInfo&);
|
||||
|
||||
void initPlacementSky(const al::StageInfo*, const al::ActorInitInfo&);
|
||||
void initPlacementDemo(const al::StageInfo*, const al::ActorInitInfo&);
|
||||
void initPlacementObject(const al::StageInfo*, const al::ActorInitInfo&, const char*);
|
||||
|
||||
private:
|
||||
s8 filler_d8[0x190 - sizeof(al::Scene)];
|
||||
};
|
||||
|
|
@ -2,19 +2,26 @@
|
|||
|
||||
#include "Library/Scene/CreateSceneFunc.h"
|
||||
|
||||
#include "Scene/DemoChangeWorldScene.h"
|
||||
#include "Scene/DemoScene.h"
|
||||
#include "Scene/DemoSceneWithCinemaCaption.h"
|
||||
#include "Scene/EndingScene.h"
|
||||
#include "Scene/FirstSequenceScene.h"
|
||||
#include "Scene/StaffRollScene.h"
|
||||
#include "Scene/StageScene.h"
|
||||
#include "Scene/TitleMenuScene.h"
|
||||
#include "Scene/WorldWarpHoleScene.h"
|
||||
|
||||
const al::NameToCreator<alSceneFunction::SceneCreatorFunction> sProjectSceneFactoryEntries[] = {
|
||||
{"DemoChangeWorldScene", nullptr},
|
||||
{"DemoScene", nullptr},
|
||||
{"DemoSceneWithCinemaCaption", nullptr},
|
||||
{"EndingScene", nullptr},
|
||||
{"DemoChangeWorldScene", alSceneFunction::createSceneFunc<DemoChangeWorldScene>},
|
||||
{"DemoScene", alSceneFunction::createSceneFunc<DemoScene>},
|
||||
{"DemoSceneWithCinemaCaption", alSceneFunction::createSceneFunc<DemoSceneWithCinemaCaption>},
|
||||
{"EndingScene", alSceneFunction::createSceneFunc<EndingScene>},
|
||||
{"FirstSequenceScene", alSceneFunction::createSceneFunc<FirstSequenceScene>},
|
||||
{"StageScene", nullptr},
|
||||
{"StaffRollScene", nullptr},
|
||||
{"StageScene", alSceneFunction::createSceneFunc<StageScene>},
|
||||
{"StaffRollScene", alSceneFunction::createSceneFunc<StaffRollScene>},
|
||||
{"TitleMenuScene", alSceneFunction::createSceneFunc<TitleMenuScene>},
|
||||
{"WorldWarpHoleScene", nullptr}};
|
||||
{"WorldWarpHoleScene", alSceneFunction::createSceneFunc<WorldWarpHoleScene>}};
|
||||
|
||||
ProjectSceneFactory::ProjectSceneFactory() : SceneFactory("シーン生成") {
|
||||
initFactory(sProjectSceneFactoryEntries);
|
||||
|
|
|
|||
52
src/Scene/StaffRollScene.h
Normal file
52
src/Scene/StaffRollScene.h
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
#pragma once
|
||||
|
||||
#include "Library/Message/IUseMessageSystem.h"
|
||||
#include "Library/Scene/Scene.h"
|
||||
|
||||
namespace al {
|
||||
class WipeHolder;
|
||||
class StageInfo;
|
||||
} // namespace al
|
||||
|
||||
class StaffRollScene : public al::Scene, public al::IUseMessageSystem {
|
||||
public:
|
||||
StaffRollScene(al::WipeHolder* wipeHolder = nullptr);
|
||||
~StaffRollScene() override;
|
||||
|
||||
void init(const al::SceneInitInfo& info) override;
|
||||
void initRollLineData();
|
||||
void appear() override;
|
||||
void control() override;
|
||||
void kill() override;
|
||||
void drawMain() const override;
|
||||
|
||||
void exeTitleLogo();
|
||||
void exeRollLine();
|
||||
void initCurrentRollLines();
|
||||
void initSlideShowFrame();
|
||||
void updateRollLine();
|
||||
void updateSlideShow();
|
||||
bool tryChangeToSkipConfirm(const al::Nerve*);
|
||||
void exeThank();
|
||||
void dropAllRollLine();
|
||||
void exeShowPicture();
|
||||
void exeRight();
|
||||
void exeConfirm();
|
||||
void exeSkipProc();
|
||||
void exeSkipWipe();
|
||||
void killRollLine();
|
||||
u32 getMyNerveStep() const;
|
||||
virtual void initLayout(const al::LayoutInitInfo&);
|
||||
f32 calcNameRollTimeRate(f32);
|
||||
void dropCurrentToStock();
|
||||
void initPlacement(const al::ActorInitInfo&);
|
||||
void initPlacementSky(const al::StageInfo*, const al::ActorInitInfo&);
|
||||
void initPlacementObject(const al::StageInfo*, const al::ActorInitInfo&, const char*);
|
||||
void initPlacementDemo(const al::StageInfo*, const al::ActorInitInfo&);
|
||||
bool isCanSkip();
|
||||
|
||||
const al::MessageSystem* getMessageSystem() const override;
|
||||
|
||||
private:
|
||||
s8 filler_e0[0x6250 - sizeof(al::Scene) - sizeof(al::IUseMessageSystem)];
|
||||
};
|
||||
34
src/Scene/WorldWarpHoleScene.h
Normal file
34
src/Scene/WorldWarpHoleScene.h
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#pragma once
|
||||
|
||||
#include "Library/Scene/Scene.h"
|
||||
|
||||
namespace al {
|
||||
class StageInfo;
|
||||
class WipeHolder;
|
||||
} // namespace al
|
||||
|
||||
class WorldWarpHoleScene : public al::Scene {
|
||||
public:
|
||||
WorldWarpHoleScene(al::WipeHolder* wipeHolder = nullptr);
|
||||
~WorldWarpHoleScene() override;
|
||||
|
||||
void init(const al::SceneInitInfo& info) override;
|
||||
void initPlacement(const al::ActorInitInfo&);
|
||||
void appear() override;
|
||||
void control() override;
|
||||
void drawMain() const override;
|
||||
bool tryEnd();
|
||||
bool isEnableEndLoop() const;
|
||||
|
||||
void exeStart();
|
||||
void exeLoop();
|
||||
void exeEnd();
|
||||
void exeSkipProc();
|
||||
|
||||
void initPlacementSky(const al::StageInfo*, const al::ActorInitInfo&);
|
||||
void initPlacementObject(const al::StageInfo*, const al::ActorInitInfo&, const char*);
|
||||
void initPlacementDemo(const al::StageInfo*, const al::ActorInitInfo&);
|
||||
|
||||
private:
|
||||
s8 filler_d8[0x1D0 - sizeof(al::Scene)];
|
||||
};
|
||||
Loading…
Reference in a new issue