Kinoko
v0.6
A reimplementation of Mario Kart Wii's physics engine in C++
Toggle main menu visibility
Loading...
Searching...
No Matches
GameScene.hh
Go to the documentation of this file.
1
#pragma once
2
3
#include "
game/system/MultiDvdArchive.hh
"
4
5
#include <
egg/core/Allocator.hh
>
6
#include <
egg/core/ExpHeap.hh
>
7
#include <
egg/core/Scene.hh
>
8
9
#include <list>
10
12
namespace
Kinoko::Scene
{
13
15
class
GameScene
:
public
EGG::Scene
{
16
public
:
17
GameScene
();
18
~GameScene
()
override
;
19
20
void
calc
()
final
;
21
void
enter
()
final
;
22
void
exit
()
final
;
23
void
reinit
()
final
;
24
25
virtual
void
createEngines
() = 0;
26
virtual
void
initEngines
() = 0;
27
virtual
void
calcEngines
() = 0;
28
virtual
void
destroyEngines
() = 0;
29
virtual
void
configure
() = 0;
30
virtual
void
onReinit
() {}
31
32
static
void
initCamera
();
33
static
void
calcCamera
();
34
35
protected
:
36
void
appendResource
(
System::MultiDvdArchive
*archive,
s32
id
);
37
38
private
:
39
struct
Resource
{
40
Resource
(
System::MultiDvdArchive
*
archive
,
s32
id
);
41
42
System::MultiDvdArchive
*
archive
;
43
s32
id
;
44
};
45
46
void
initScene
();
47
void
deinitScene
();
48
void
unmountResources
();
49
50
#ifdef BUILD_DEBUG
51
void
checkMemory();
52
void
getMemoryLeakTags();
53
size_t
getMemoryLeakTagCount();
54
55
static
void
ViewTags(
void
*block,
Abstract::Memory::MEMiHeapHead
*
heap
, uintptr_t param);
56
static
void
IncreaseTagCount(
void
*block,
Abstract::Memory::MEMiHeapHead
*
heap
,
57
uintptr_t param);
58
#endif
// BUILD_DEBUG
59
60
EGG::ExpHeap::GroupSizeRecord
m_groupSizeRecord
;
61
std::list<Resource *, EGG::Allocator<Resource *>>
62
m_resources
;
63
int
m_nextSceneId
;
64
65
[[maybe_unused]]
size_t
m_totalMemoryUsed
;
66
};
67
68
}
// namespace Kinoko::Scene
Allocator.hh
MultiDvdArchive.hh
Scene.hh
Kinoko::Abstract::Memory::MEMiHeapHead
A low-level representation of a memory heap for managing dynamic memory allocation....
Definition
HeapCommon.hh:21
Kinoko::EGG::ExpHeap::GroupSizeRecord
Memory blocks have group IDs assigned to them (default 0). This class is a record of the total sum of...
Definition
egg/core/ExpHeap.hh:21
Kinoko::EGG::Scene
Base class for all scenes.
Definition
Scene.hh:16
Kinoko::EGG::Scene::heap
Heap * heap() const
Definition
Scene.hh:55
Kinoko::Scene::GameScene::deinitScene
void deinitScene()
Definition
GameScene.cc:110
Kinoko::Scene::GameScene::enter
void enter() final
Definition
GameScene.cc:58
Kinoko::Scene::GameScene::m_groupSizeRecord
EGG::ExpHeap::GroupSizeRecord m_groupSizeRecord
Definition
GameScene.hh:60
Kinoko::Scene::GameScene::reinit
void reinit() final
Definition
GameScene.cc:70
Kinoko::Scene::GameScene::initScene
void initScene()
Definition
GameScene.cc:100
Kinoko::Scene::GameScene::m_totalMemoryUsed
size_t m_totalMemoryUsed
Definition
GameScene.hh:65
Kinoko::Scene::GameScene::onReinit
virtual void onReinit()
Definition
GameScene.hh:30
Kinoko::Scene::GameScene::createEngines
virtual void createEngines()=0
Kinoko::Scene::GameScene::calc
void calc() final
Definition
GameScene.cc:51
Kinoko::Scene::GameScene::appendResource
void appendResource(System::MultiDvdArchive *archive, s32 id)
Definition
GameScene.cc:91
Kinoko::Scene::GameScene::initCamera
static void initCamera()
Definition
GameScene.cc:81
Kinoko::Scene::GameScene::destroyEngines
virtual void destroyEngines()=0
Kinoko::Scene::GameScene::calcCamera
static void calcCamera()
Definition
GameScene.cc:86
Kinoko::Scene::GameScene::calcEngines
virtual void calcEngines()=0
Kinoko::Scene::GameScene::m_resources
std::list< Resource *, EGG::Allocator< Resource * > > m_resources
List of all active resources in the scene.
Definition
GameScene.hh:62
Kinoko::Scene::GameScene::GameScene
GameScene()
Definition
GameScene.cc:13
Kinoko::Scene::GameScene::initEngines
virtual void initEngines()=0
Kinoko::Scene::GameScene::exit
void exit() final
Definition
GameScene.cc:64
Kinoko::Scene::GameScene::m_nextSceneId
int m_nextSceneId
Definition
GameScene.hh:63
Kinoko::Scene::GameScene::configure
virtual void configure()=0
Kinoko::Scene::GameScene::unmountResources
void unmountResources()
Definition
GameScene.cc:120
Kinoko::System::MultiDvdArchive
Definition
MultiDvdArchive.hh:9
ExpHeap.hh
Kinoko::Scene
Pertains to scene handling.
Definition
GameScene.cc:10
Kinoko::s32
int32_t s32
Definition
Memory.hh:13
Kinoko::Scene::GameScene::Resource::archive
System::MultiDvdArchive * archive
Definition
GameScene.hh:42
Kinoko::Scene::GameScene::Resource::Resource
Resource(System::MultiDvdArchive *archive, s32 id)
Definition
GameScene.cc:96
Kinoko::Scene::GameScene::Resource::id
s32 id
Definition
GameScene.hh:43
game
scene
GameScene.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.18.0