mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-12 13:04:41 -04:00
Implement & link famicom.cpp
This commit is contained in:
+6
-6
@@ -38,12 +38,12 @@ static void my_alloc_cleanup() {
|
||||
zelda_CleanupArena();
|
||||
}
|
||||
|
||||
static void my_zelda_getmemblocksize(void* ptr) {
|
||||
zelda_GetMemBlockSize(ptr);
|
||||
static int my_zelda_getmemblocksize(void* ptr) {
|
||||
return zelda_GetMemBlockSize(ptr);
|
||||
}
|
||||
|
||||
static void my_zelda_gettotalfreesize() {
|
||||
zelda_GetTotalFreeSize();
|
||||
static int my_zelda_gettotalfreesize() {
|
||||
return zelda_GetTotalFreeSize();
|
||||
}
|
||||
|
||||
static void* my_zelda_malloc_align(size_t size, u32 align) {
|
||||
@@ -59,7 +59,7 @@ static void my_zelda_free(void* ptr) {
|
||||
zelda_free(ptr);
|
||||
}
|
||||
|
||||
void* my_malloc_func[] = {
|
||||
Famicom_MallocInfo my_malloc_func = {
|
||||
my_zelda_malloc_align,
|
||||
my_zelda_free,
|
||||
my_zelda_getmemblocksize,
|
||||
@@ -151,7 +151,7 @@ extern void famicom_emu_init(GAME* game) {
|
||||
|
||||
my_alloc_init(game, freeXfbBase, freeXfbSize);
|
||||
|
||||
if (famicom_init(rom_id, my_malloc_func, player) != 0) {
|
||||
if (famicom_init(rom_id, &my_malloc_func, player) != 0) {
|
||||
Common_Set(famicom_2DBAC, Common_Get(famicom_2DBAC) | 1);
|
||||
return_emu_game(game);
|
||||
}
|
||||
|
||||
+2
-2
@@ -414,7 +414,7 @@ void play_cleanup(GAME* game){
|
||||
mCD_toNextLand();
|
||||
mEA_CleanCardDLProgram();
|
||||
|
||||
if(my_malloc_current == my_malloc_func){
|
||||
if(my_malloc_current == &my_malloc_func){
|
||||
my_malloc_current = NULL;
|
||||
}
|
||||
|
||||
@@ -507,7 +507,7 @@ void play_init(GAME* game){
|
||||
zelda_InitArena((void*)aligned, freebytes - size);
|
||||
|
||||
if(my_malloc_current == NULL){
|
||||
my_malloc_current = my_malloc_func;
|
||||
my_malloc_current = &my_malloc_func;
|
||||
}
|
||||
|
||||
mFM_FieldInit(play);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -30,8 +30,8 @@ static u32 nesinfo_rom_size = 0;
|
||||
static u8* nesinfo_rom_start = nullptr;
|
||||
static u8* nesinfo_rom_end = nullptr;
|
||||
static u32 nesinfo_expand_rom_size = 0;
|
||||
static bool tcs_bad = false;
|
||||
static bool ics_bad = false;
|
||||
u8 tcs_bad = false;
|
||||
u8 ics_bad = false;
|
||||
|
||||
// clang-format off
|
||||
|
||||
@@ -839,7 +839,7 @@ extern void nesinfo_tag_process1(u8* save_data, int mode, u32* max_ofs_p) {
|
||||
|
||||
OSReport("ロムデータ参照: %d\n", rom_id); // Referencing ROM data: %d\n
|
||||
if (nesrom_filename_ptrs != nullptr && rom_p != nullptr) {
|
||||
nesinfo_data_size = JKRFileLoader::readGlbResource(rom_p, 0x100000, nesrom_filename_ptrs[rom_id],
|
||||
nesinfo_data_size = JKRFileLoader::readGlbResource(rom_p, 0x100000, (char*)nesrom_filename_ptrs[rom_id],
|
||||
EXPAND_SWITCH_DECOMPRESS);
|
||||
nesinfo_data_start = rom_p;
|
||||
nesinfo_data_end = rom_p + nesinfo_data_size;
|
||||
|
||||
@@ -27,7 +27,7 @@ bool JKRArcFinder::findNextFile()
|
||||
mBase.mFileIndex = mNextIndex;
|
||||
mBase.mFileID = dirEntry.mID;
|
||||
mBase.mFileTypeFlags = dirEntry.mFlags;
|
||||
mIsFileOrDir = FLAG_OFF(mBase.mFileTypeFlags, 2);
|
||||
mIsDir = FLAG_OFF(mBase.mFileTypeFlags, 2);
|
||||
mNextIndex++;
|
||||
}
|
||||
}
|
||||
@@ -51,12 +51,12 @@ bool JKRDvdFinder::findNextFile()
|
||||
mIsAvailable = DVDReadDir(&mDir, &entry);
|
||||
if (mIsAvailable)
|
||||
{
|
||||
mIsFileOrDir = (bool)entry.isDir;
|
||||
mIsDir = (bool)entry.isDir;
|
||||
mBase.mFileName = entry.name;
|
||||
mBase.mFileIndex = entry.entryNum;
|
||||
mBase.mFileID = 0;
|
||||
|
||||
mBase.mFileTypeFlags = mIsFileOrDir ? 2 : 1;
|
||||
mBase.mFileTypeFlags = mIsDir ? 2 : 1;
|
||||
}
|
||||
}
|
||||
return mIsAvailable;
|
||||
|
||||
@@ -323,23 +323,23 @@ extern void JW_getPadStatus(PADStatus* padStatus) {
|
||||
}
|
||||
|
||||
extern int JW_JUTGamepad_getErrorStatus() {
|
||||
return (s8)gamePad[0].mErrorStatus;
|
||||
return (s8)((JUTGamePad*)gamePad)[0].mErrorStatus;
|
||||
}
|
||||
|
||||
extern u32 JW_JUTGamepad_getButton() {
|
||||
return gamePad[0].mButtons.mButton;
|
||||
return ((JUTGamePad*)gamePad)[0].mButtons.mButton;
|
||||
}
|
||||
|
||||
extern u32 JW_JUTGamepad_getTrigger() {
|
||||
return gamePad[0].mButtons.mTrigger;
|
||||
return ((JUTGamePad*)gamePad)[0].mButtons.mTrigger;
|
||||
}
|
||||
|
||||
extern f32 JW_JUTGamepad_getSubStickValue() {
|
||||
return gamePad[0].mSubStick.mValue;
|
||||
return ((JUTGamePad*)gamePad)[0].mSubStick.mValue;
|
||||
}
|
||||
|
||||
extern int JW_JUTGamepad_getSubStickAngle() {
|
||||
return gamePad[0].mSubStick.mAngle;
|
||||
return ((JUTGamePad*)gamePad)[0].mSubStick.mAngle;
|
||||
}
|
||||
|
||||
static bool FrameDrawing = false;
|
||||
|
||||
@@ -8,8 +8,8 @@ static void* proutPrintf(void* dst, const char* fmt, int size) {
|
||||
return (void*)((u8*)memcpy(dst, fmt, size) + size);
|
||||
}
|
||||
|
||||
s32 sprintf(char* dst, const char* fmt, ...) {
|
||||
s32 ret;
|
||||
int sprintf(char* dst, const char* fmt, ...) {
|
||||
int ret;
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user