Compare commits

...

9 Commits

Author SHA1 Message Date
Rosalie Wanders 3547e9bf53 Package: v0.4.1 2023-06-19 17:26:53 +02:00
Rosalie Wanders 5dbf6cfb2e RMG: add *.st* and *.pj* files to on_Action_System_Load() 2023-06-19 17:23:05 +02:00
Rosalie Wanders fb12f6432b 3rdParty: update mupen64plus-core 2023-06-19 17:16:34 +02:00
Rosalie Wanders 5b61f811da 3rdParty: update SDL_GameControllerDB 2023-06-13 17:33:14 +02:00
Rosalie Wanders fe0fa0b527 3rdParty: downgrade mupen64plus-input-gca 2023-06-13 17:28:11 +02:00
Rosalie Wanders ba371f1349 RMG-Core: move Cheats-User directory to the user config directory 2023-06-11 19:37:14 +02:00
Rosalie Wanders 38ec62c238 RMG-Core: set error last in CoreStartEmulation() 2023-06-01 22:46:34 +02:00
Rosalie Wanders 942c2ee1b0 Package: update ArchLinux PKGBUILD 2023-06-01 22:39:11 +02:00
Rosalie Wanders 2a7d8aa4d2 RMG-Core: print callbacks even when callbacks haven't been setup 2023-05-06 00:49:29 +02:00
7 changed files with 51 additions and 20 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
# Maintainer: Rosalie Wanders <rosalie@mailbox.org>
pkgname=rmg
pkgver=0.3.9
pkgver=0.4.1
pkgrel=1
pkgdesc="Rosalie's Mupen GUI"
arch=('x86_64')
@@ -33,6 +33,20 @@
</screenshot>
</screenshots>
<releases>
<release version="v0.4.1" date="2023-06-19" type="stable">
<description>
<p>Changes:</p>
<ul>
<li>Fix debug callbacks not printing before GUI has been started</li>
<li>Fix emulation error being incorrect in some cases</li>
<li>Fix user cheat file location (new ones will be placed in the user config directory instead of the user data directory)</li>
<li>Fix mupen64plus-input-gca crashing in v0.4.0 due to updating to a broken commit</li>
<li>Fix Paper Mario crashing when using the hammer on a specific tree in-game by implementing RDRAM address range 0x0800000-0x03EFFFFF</li>
<li>Improve accuracy of the pure and cached interpreter</li>
<li>Add *.st* and *.pj* to the file filter when loading a save state from a file</li>
</ul>
</description>
</release>
<release version="v0.4.0" date="2023-05-04" type="stable">
<description>
<p>Changes:</p>
+8 -8
View File
@@ -38,8 +38,8 @@ else(USE_CCACHE)
endif(USE_CCACHE)
if(NOT NO_GIT_CLONE)
set(MUPEN64PLUSCORE_URL "https://github.com/mupen64plus/mupen64plus-core")
set(MUPEN64PLUSCORE_TAG "d4f3e12db0609158c7b4e0beef2bb950aad0ccb9")
set(MUPEN64PLUSCORE_URL "https://github.com/Rosalie241/mupen64plus-core")
set(MUPEN64PLUSCORE_TAG "a231cb5e9a741e1893b0d7669c363d57550295a8")
set(MUPEN64PLUS_RSP_CXD4_URL "https://github.com/mupen64plus/mupen64plus-rsp-cxd4")
set(MUPEN64PLUS_RSP_CXD4_TAG "39f79201baa15890c4cbae92f2215a634cc3ee6d")
@@ -54,7 +54,7 @@ if(NOT NO_GIT_CLONE)
set(MUPEN64PLUS_INPUT_RAPHNET_TAG "86112413e98a8648edb11d199673cc24d5799af8")
set(MUPEN64PLUS_INPUT_GCA_URL "https://github.com/amatho/mupen64plus-input-gca")
set(MUPEN64PLUS_INPUT_GCA_TAG "a6886b1ae022936a2e542af9bfbab40ea0af5af5")
set(MUPEN64PLUS_INPUT_GCA_TAG "21639fb13dfa797a7c0949ffd9bbda9a3456fc69")
set(MUPEN64PLUS_GFX_ANGRYLION_URL "https://github.com/Rosalie241/angrylion-rdp-plus")
set(MUPEN64PLUS_GFX_ANGRYLION_TAG "670abbc972bd430fa77291b0967dd73128314317")
@@ -72,7 +72,7 @@ if(NOT NO_GIT_CLONE)
set(IMGUI_TAG "d7c8516a4b848c0291e3d75b627c0843f515f591")
set(SDL_GAMECONTROLLERDB_URL "https://github.com/gabomdq/SDL_GameControllerDB")
set(SDL_GAMECONTROLLERDB_TAG "b7e5701da82fc97beeede64d3818ef0f4d015aba")
set(SDL_GAMECONTROLLERDB_TAG "5e25aeccb84fb166451443c4cd9fff349e8b0360")
endif(NOT NO_GIT_CLONE)
ExternalProject_Add(mupen64plus-core
@@ -84,11 +84,11 @@ ExternalProject_Add(mupen64plus-core
GIT_REPOSITORY ${MUPEN64PLUSCORE_URL}
GIT_TAG ${MUPEN64PLUSCORE_TAG}
BUILD_COMMAND make all OSD=0 NEW_DYNAREC=1 TARGET=${CORE_FILE} DEBUG=$<CONFIG:Debug> KEYBINDINGS=0 CC=${MAKE_CC_COMPILER} CXX=${MAKE_CXX_COMPILER}
BUILD_COMMAND make all OSD=0 NEW_DYNAREC=1 KEYBINDINGS=0 ACCURATE_FPU=1 TARGET=${CORE_FILE} DEBUG=$<CONFIG:Debug> CC=${MAKE_CC_COMPILER} CXX=${MAKE_CXX_COMPILER}
BUILD_IN_SOURCE False
BINARY_DIR ${M64P_CORE_DIR}/projects/unix
BUILD_BYPRODUCTS ${M64P_CORE_DIR}/projects/unix/${CORE_FILE}
)
@@ -107,7 +107,7 @@ ExternalProject_Add(mupen64plus-rsp-cxd4
BUILD_IN_SOURCE False
BINARY_DIR ${THIRDPARTY_DIR}/mupen64plus-rsp-cxd4/projects/unix
BUILD_BYPRODUCTS ${THIRDPARTY_DIR}/mupen64plus-rsp-cxd4/projects/unix/mupen64plus-rsp-cxd4.${SO_EXT}
DEPENDS mupen64plus-core
)
@@ -158,7 +158,7 @@ ExternalProject_Add(mupen64plus-input-raphnetraw
BUILD_IN_SOURCE False
BINARY_DIR ${THIRDPARTY_DIR}/mupen64plus-input-raphnetraw/projects/unix
BUILD_BYPRODUCTS ${THIRDPARTY_DIR}/mupen64plus-input-raphnetraw/projects/unix/mupen64plus-input-raphnetraw.${SO_EXT}
DEPENDS mupen64plus-core
)
+8 -8
View File
@@ -28,14 +28,19 @@ static bool l_PrintCallbacks = false;
void CoreDebugCallback(void* context, int level, const char* message)
{
std::string contextString((const char*)context);
std::string messageString(message);
if (l_PrintCallbacks)
{
std::cout << contextString << messageString << std::endl;
}
if (!l_SetupCallbacks)
{
return;
}
std::string contextString((const char*)context);
std::string messageString(message);
// convert string encoding accordingly
if (messageString.starts_with("IS64:"))
{
@@ -46,11 +51,6 @@ void CoreDebugCallback(void* context, int level, const char* message)
messageString = CoreConvertStringEncoding(message, CoreStringEncoding::Shift_JIS);
}
if (l_PrintCallbacks)
{
std::cout << contextString << messageString << std::endl;
}
l_DebugCallbackFunc((CoreDebugMessageType)level, contextString, messageString);
}
+14 -1
View File
@@ -118,9 +118,16 @@ static std::filesystem::path get_shared_cheat_file_path(CoreRomHeader romHeader,
static std::filesystem::path get_user_cheat_file_path(CoreRomHeader romHeader, CoreRomSettings romSettings)
{
std::filesystem::path oldCheatFilePath;
std::filesystem::path cheatFilePath;
cheatFilePath = CoreGetUserDataDirectory();
oldCheatFilePath = CoreGetUserDataDirectory();
oldCheatFilePath += OSAL_FILES_DIR_SEPERATOR_STR;
oldCheatFilePath += "Cheats-User";
oldCheatFilePath += OSAL_FILES_DIR_SEPERATOR_STR;
oldCheatFilePath += get_cheat_file_name(romHeader, romSettings);
cheatFilePath = CoreGetUserConfigDirectory();
cheatFilePath += OSAL_FILES_DIR_SEPERATOR_STR;
cheatFilePath += "Cheats-User";
cheatFilePath += OSAL_FILES_DIR_SEPERATOR_STR;
@@ -140,6 +147,12 @@ static std::filesystem::path get_user_cheat_file_path(CoreRomHeader romHeader, C
// we'll fail later...
}
// keep compatability with <v0.4.1
if (std::filesystem::is_regular_file(oldCheatFilePath))
{
return oldCheatFilePath;
}
return cheatFilePath;
}
+5 -1
View File
@@ -158,7 +158,6 @@ bool CoreStartEmulation(std::filesystem::path n64rom, std::filesystem::path n64d
{
error = "CoreStartEmulation m64p::Core.DoCommand(M64CMD_EXECUTE) Failed: ";
error += m64p::Core.ErrorMessage(ret);
CoreSetError(error);
}
CoreClearCheats();
@@ -175,6 +174,11 @@ bool CoreStartEmulation(std::filesystem::path n64rom, std::filesystem::path n64d
CoreDiscordRpcUpdate(false);
#endif // DISCORD_RPC
// we need to set the emulation error last,
// to prevent the other functions from
// overriding the emulation error
CoreSetError(error);
return ret == M64ERR_SUCCESS;
}
+1 -1
View File
@@ -1429,7 +1429,7 @@ void MainWindow::on_Action_System_Load(void)
}
QString fileName =
QFileDialog::getOpenFileName(this, tr("Open Save State"), "", tr("Save State (*.dat *.state);;All Files (*)"));
QFileDialog::getOpenFileName(this, tr("Open Save State"), "", tr("Save State (*.dat *.state *.st* *.pj*);;All Files (*)"));
if (!fileName.isEmpty())
{