Implement & link first_game.c, sys_romcheck.c

This commit is contained in:
Cuyler36
2023-05-29 23:05:11 -04:00
parent 068d951791
commit bf9e2a3be4
10 changed files with 84 additions and 2 deletions
+4
View File
@@ -127,6 +127,10 @@ m_random_field/mRF_MakePerfectBit.c:
.text: [0x8050B1AC, 0x8050B1D4]
m_random_field/mRF_GetRandomStepMode.c:
.text: [0x8050B284, 0x8050B2C0]
first_game.c:
.text: [0x80629CA8, 0x80629D4C]
sys_romcheck.c:
.text: [0x80629D4C, 0x80629D8C]
second_game.c:
.text: [0x8062B630, 0x8062B848]
.bss: [0x8148DA60, 0x8148DA68]
+18
View File
@@ -0,0 +1,18 @@
#ifndef FAMICOM_H
#define FAMICOM_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef u8 (*FAMICOM_GETSAVECHAN_PROC)(int* player_no, int* slot_card_result);
extern void famicom_setCallback_getSaveChan(FAMICOM_GETSAVECHAN_PROC getSaveChan_proc);
#ifdef __cplusplus
}
#endif
#endif
+2 -2
View File
@@ -13,8 +13,8 @@ typedef struct game_first_s {
/* 0x00 */ GAME game;
} GAME_FIRST;
extern void first_game_cleanup(GAME_FIRST* first_game);
extern void first_game_init(GAME_FIRST* first_game);
extern void first_game_cleanup(GAME* game);
extern void first_game_init(GAME* game);
#ifdef __cplusplus
}
+1
View File
@@ -7,6 +7,7 @@
extern "C" {
#endif
extern void mBGM_ct();
extern void mBGM_reset();
extern void mBGMPsComp_make_ps_lost_fanfare(u8 bgm_no, u16 unk);
extern void mBGMPsComp_scene_mode(int scene_mode);
+3
View File
@@ -8,6 +8,9 @@
extern "C" {
#endif
extern u8 mCD_GetThisLandSlotNo_code(int* player_no, int* slot_card_results);
extern void mCD_save_data_aram_malloc();
extern void mCD_PrintErrInfo(gfxprint_t* gfxprint);
extern void mCD_InitAll();
+1
View File
@@ -216,6 +216,7 @@ extern common_data_t common_data;
#define Save_GetPointer(name) (Common_GetPointer(save.save.name))
#define Save_Set(name, value) (Common_Set(save.save.name, value))
extern void common_data_init();
extern void common_data_reinit();
#ifdef __cplusplus
+1
View File
@@ -7,6 +7,7 @@
extern "C" {
#endif
extern void mVibctl_ct();
extern void mVibctl_reset();
extern void mVibctl_init0();
+18
View File
@@ -0,0 +1,18 @@
#ifndef SYS_ROMCHECK_H
#define SYS_ROMCHECK_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SYS_ROMCHECK_DEBUG_ROM_VERSION 0x90
extern void sys_romcheck();
#ifdef __cplusplus
}
#endif
#endif
+26
View File
@@ -0,0 +1,26 @@
#include "first_game.h"
#include "sys_romcheck.h"
#include "m_vibctl.h"
#include "m_bgm.h"
#include "m_card.h"
#include "m_common_data.h"
#include "second_game.h"
#include "Famicom/famicom.h"
static void exit_game(GAME* game) {
famicom_setCallback_getSaveChan(&mCD_GetThisLandSlotNo_code);
mBGM_ct();
mVibctl_ct();
common_data_init();
GAME_GOTO_NEXT(game, second_game, SECOND);
}
extern void first_game_cleanup(GAME* game) { }
extern void first_game_init(GAME* game) {
game->cleanup = &first_game_cleanup;
sys_romcheck();
mCD_save_data_aram_malloc();
exit_game(game);
}
+10
View File
@@ -0,0 +1,10 @@
#include "sys_romcheck.h"
#include "dolphin/dvd.h"
#include "m_nmibuf.h"
extern void sys_romcheck() {
if (DVDGetCurrentDiskID()->gameVersion >= SYS_ROMCHECK_DEBUG_ROM_VERSION) {
APPNMI_ZURUMODE2_SET();
}
}