mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
Implement & link first_game.c, sys_romcheck.c
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern void mVibctl_ct();
|
||||
extern void mVibctl_reset();
|
||||
extern void mVibctl_init0();
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user