Files
PokeMe64/include/scenes/InitTransferPakScene.h

46 lines
1.3 KiB
C++
Executable File

#ifndef _INITTRANSFERPAKSCENE_H
#define _INITTRANSFERPAKSCENE_H
#include "scenes/SceneWithDialogWidget.h"
#include "widget/TransferPakDetectionWidget.h"
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 loadGameType();
void loadSaveMetadata();
const char* getGameTypeString();
char pokeMe64String_[48];
sprite_t* menu9SliceSprite_;
TransferPakDetectionWidget tpakDetectWidget_;
WidgetFocusChainSegment tpakDetectWidgetSegment_;
DialogData diagData_;
TextRenderSettings pokeMe64TextSettings_;
const char* gameTypeString_;
// build up a random seed for srand(). I'm doing this in an attempt to truly randomize IVs and shininess.
unsigned int randomSeed_;
};
#endif