PokeMe64/include/scenes/InitTransferPakScene.h
Philippe Symons e51726eef9 Initial import of the first (extremely early) functional version.
It doesn't look like much, but it's functional ;-)

It can inject distribution pokémon into gen 1 and gen 2 original
cartridges and inject the GS ball in Pokémon Crystal.

That's it. But that was the minimal feature set I had in mind for the
project. In the Readme.md you can find the ideas I have for expanding
the project.

But the first priority is the UI, because it really looks bad right now.
(as I was mostly focused on building blocks and transfer pak
functionality. Not on making it looks good)
2024-07-19 21:46:11 +02:00

44 lines
1.2 KiB
C++
Executable File

#ifndef _INITTRANSFERPAKSCENE_H
#define _INITTRANSFERPAKSCENE_H
#include "scenes/SceneWithDialogWidget.h"
#include "widget/TransferPakDetectionWidget.h"
#define PLAYER_NAME_SIZE 15
class TransferPakManager;
/**
* @brief In this scene implementation, we do the detection of the N64 transfer pak and whether a supported Pokémon game was
* detected.
*/
class InitTransferPakScene : public SceneWithDialogWidget
{
public:
InitTransferPakScene(SceneDependencies& deps, void* context);
virtual ~InitTransferPakScene();
void init() override;
void destroy() override;
void render(RDPQGraphics& gfx, const Rectangle& sceneBounds) override;
void onDialogDone();
void onTransferPakWidgetStateChanged(TransferPakWidgetState newState);
protected:
private:
void setupTPakDetectWidget();
void setupDialog(DialogWidgetStyle& style) override;
void loadGameMetadata();
const char* getGameTypeString();
sprite_t* menu9SliceSprite_;
TransferPakDetectionWidget tpakDetectWidget_;
WidgetFocusChainSegment tpakDetectWidgetSegment_;
DialogData diagData_;
char playerName_[PLAYER_NAME_SIZE];
const char* gameTypeString_;
};
#endif