summaryrefslogtreecommitdiff
path: root/src/overlays/gamestates/ovl_second_game/second_game.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/overlays/gamestates/ovl_second_game/second_game.c')
-rw-r--r--src/overlays/gamestates/ovl_second_game/second_game.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/overlays/gamestates/ovl_second_game/second_game.c b/src/overlays/gamestates/ovl_second_game/second_game.c
new file mode 100644
index 0000000..3fe3dcd
--- /dev/null
+++ b/src/overlays/gamestates/ovl_second_game/second_game.c
@@ -0,0 +1,44 @@
+#include "second_game.h"
+#include "overlays/gamestates/ovl_trademark/m_trademark.h"
+#include "overlays/gamestates/ovl_cpedit/m_cpedit.h"
+#include "69CB30.h"
+#include "m_common_data.h"
+#include "padmgr.h"
+#include "sys_math.h"
+#include "attributes.h"
+
+void second_game_main(Game* game) {
+ PakInfo* info = mCPk_get_pkinfo();
+ s32 mempak;
+ Game_SecondGame* secondGame = (Game_SecondGame*)game;
+
+ if (mCPk_PakOpen(info, 0) == 0) {
+ if (info->unk_70 == 1 || info->unk_70 == 11) {
+ mempak = 0;
+ } else {
+ mempak = 1;
+ }
+ } else {
+ mempak = 1;
+ }
+
+ if ((chkButton(START_BUTTON) != 0) && (mempak != 0)) {
+ STOP_GAMESTATE(&secondGame->state);
+ SET_NEXT_GAMESTATE(&secondGame->state, cpedit_init, sizeof(Game_CPEdit));
+ } else {
+ STOP_GAMESTATE(&secondGame->state);
+ SET_NEXT_GAMESTATE(&secondGame->state, trademark_init, sizeof(Game_Trademark));
+ }
+
+ secondGame->state.unk9E = 1;
+}
+
+void second_game_cleanup(UNUSED Game* game) {
+}
+
+void second_game_init(Game* game) {
+ game->main = second_game_main;
+ game->destroy = second_game_cleanup;
+ init_rnd();
+ common_data.unk_10AB0 = padmgr_isConnectedAnyPak(0) != 0;
+}