GTK: Add vba-over.ini support

git-svn-id: https://svn.code.sf.net/p/vbam/code/trunk@999 a31d4220-a93d-0410-bf67-fe4944624d44
This commit is contained in:
bgk 2011-02-24 19:34:56 +00:00
parent 3d7ed45c58
commit 6bb7f0a8b2
4 changed files with 549 additions and 2 deletions

View File

@ -372,6 +372,7 @@ IF( ENABLE_GTK )
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/gtk/gvbam.desktop DESTINATION share/applications)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/gtk/icons/ DESTINATION share/icons/hicolor PATTERN ".svn" EXCLUDE)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/gtk/ui DESTINATION ${DATA_INSTALL_DIR} PATTERN ".svn" EXCLUDE)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/vba-over.ini DESTINATION ${DATA_INSTALL_DIR})
# Native Language Support
if( ENABLE_NLS )

View File

@ -21,6 +21,7 @@
#include <gtkmm/stock.h>
#include <gtkmm/alignment.h>
#include <gtkmm/messagedialog.h>
#include <glibmm/keyfile.h>
#include <sys/stat.h>
@ -898,6 +899,51 @@ void Window::vApplyConfigShowSpeed()
vSetDefaultTitle();
}
void Window::vApplyPerGameConfig()
{
std::string sRDBFile = PKGDATADIR "/vba-over.ini";
if (!Glib::file_test(sRDBFile, Glib::FILE_TEST_EXISTS))
return;
char csGameID[5];
csGameID[0] = rom[0xac];
csGameID[1] = rom[0xad];
csGameID[2] = rom[0xae];
csGameID[3] = rom[0xaf];
csGameID[4] = '\0';
Glib::KeyFile oKeyFile;
oKeyFile.load_from_file(sRDBFile);
if (!oKeyFile.has_group(csGameID))
return;
if (oKeyFile.has_key(csGameID, "rtcEnabled"))
{
bool bRTCEnabled = oKeyFile.get_boolean(csGameID, "rtcEnabled");
rtcEnable(bRTCEnabled);
}
if (oKeyFile.has_key(csGameID, "flashSize"))
{
int iFlashSize = oKeyFile.get_integer(csGameID, "flashSize");
if (iFlashSize == 0x10000 || iFlashSize == 0x20000)
flashSetSize(iFlashSize);
}
if (oKeyFile.has_key(csGameID, "saveType"))
{
int iSaveType = oKeyFile.get_integer(csGameID, "saveType");
if(iSaveType >= 0 && iSaveType <= 5)
cpuSaveType = iSaveType;
}
if (oKeyFile.has_key(csGameID, "mirroringEnabled"))
{
mirroringEnable = oKeyFile.get_boolean(csGameID, "mirroringEnabled");
}
}
void Window::vSaveJoypadsToConfig()
{
for (int i = m_iJoypadMin; i <= m_iJoypadMax; i++)
@ -1011,6 +1057,8 @@ bool Window::bLoadROM(const std::string & _rsFile)
m_eCartridge = CartridgeGBA;
m_stEmulator = GBASystem;
vApplyPerGameConfig();
useBios = m_poCoreConfig->oGetKey<bool>("use_bios_file");
CPUInit(m_poCoreConfig->sGetKey("bios_file").c_str(), useBios);
CPUReset();
@ -1020,8 +1068,6 @@ bool Window::bLoadROM(const std::string & _rsFile)
{
m_poCoreConfig->vSetKey("bios_file", "");
}
rtcEnable(m_poCoreConfig->oGetKey<bool>("enable_rtc"));
}
}

View File

@ -109,6 +109,7 @@ public:
void vApplyConfigGBARTC();
void vApplyConfigFrameskip();
void vApplyConfigShowSpeed();
void vApplyPerGameConfig();
void vUpdateScreen();
inline ECartridge eGetCartridge() const { return m_eCartridge; }

499
src/vba-over.ini Normal file
View File

@ -0,0 +1,499 @@
# http://ngemu.com/
# July 2008
# -------------------
# (Int) International / MultiLingual
# -------------------
# Dragon Ball Z - The Legacy of Goku II (Europe)(En,Fr,De,Es,It)
[ALFP]
saveType=1
# Dragon Ball Z - The Legacy of Goku (Europe)(En,Fr,De,Es,It)
[ALGP]
saveType=1
# Rocky (Europe)(En,Fr,De,Es,It)
[AROP]
saveType=1
# Rocky (USA)(En,Fr,De,Es,It)
[AR8e]
saveType=1
# Pokemon - Ruby Version (USA, Europe)
[AXVE]
rtcEnabled=1
flashSize=131072
# Pokemon - Sapphire Version (USA, Europe)
[AXPE]
rtcEnabled=1
flashSize=131072
# Super Mario Advance 4 - Super Mario Bros. 3 (Europe)(En,Fr,De,Es,It)
[AX4P]
flashSize=131072
# Top Gun - Combat Zones (USA)(En,Fr,De,Es,It)
[A2YE]
saveType=5
# Dragon Ball Z - Taiketsu (Europe)(En,Fr,De,Es,It)
[BDBP]
saveType=1
# Mario vs. Donkey Kong (Europe)
[BM5P]
saveType=3
# Pokemon - Emerald Version (USA, Europe)
[BPEE]
rtcEnabled=1
# Yu-Gi-Oh! - Ultimate Masters - World Championship Tournament 2006 (Europe)(En,Jp,Fr,De,Es,It)
[BY6P]
saveType=2
# Pokemon Mystery Dungeon - Red Rescue Team (USA, Australia)
[B24E]
flashSize=131072
# Classic NES Series - Castlevania (USA, Europe)
[FADE]
saveType=1
mirroringEnabled=1
# Classic NES Series - Bomberman (USA, Europe)
[FBME]
saveType=1
mirroringEnabled=1
# Classic NES Series - Donkey Kong (USA, Europe)
[FDKE]
saveType=1
mirroringEnabled=1
# Classic NES Series - Dr. Mario (USA, Europe)
[FDME]
saveType=1
mirroringEnabled=1
# Classic NES Series - Excitebike (USA, Europe)
[FEBE]
saveType=1
mirroringEnabled=1
# Classic NES Series - Ice Climber (USA, Europe)
[FICE]
saveType=1
mirroringEnabled=1
# Classic NES Series - Zelda II - The Adventure of Link (USA, Europe)
[FLBE]
saveType=1
mirroringEnabled=1
# Classic NES Series - Metroid (USA, Europe)
[FMRE]
saveType=1
mirroringEnabled=1
# Classic NES Series - Pac-Man (USA, Europe)
[FP7E]
saveType=1
mirroringEnabled=1
# Classic NES Series - Super Mario Bros. (USA, Europe)
[FSME]
saveType=1
mirroringEnabled=1
# Classic NES Series - Xevious (USA, Europe)
[FXVE]
saveType=1
mirroringEnabled=1
# Classic NES Series - Legend of Zelda (USA, Europe)
[FZLE]
saveType=1
mirroringEnabled=1
# Yoshi's Universal Gravitation (Europe)(En,Fr,De,Es,It)
[KYGP]
saveType=4
# Boktai - The Sun Is in Your Hand (Europe)(En,Fr,De,Es,It)
[U3IP]
rtcEnabled=1
# Boktai 2 - Solar Boy Django (Europe)(En,Fr,De,Es,It)
[U32P]
rtcEnabled=1
# --------------------
# (U) USA
# --------------------
# Golden Sun - The Lost Age (USA)
[AGFE]
rtcEnabled=1
flashSize=0x10000
# Golden Sun (USA)
[AGSE]
rtcEnabled=1
flashSize=0x10000
# Dragon Ball Z - The Legacy of Goku II (USA)
[ALFE]
saveType=1
# Dragon Ball Z - The Legacy of Goku (USA)
[ALGE]
saveType=1
flashSize=131072
# Super Mario Advance 4 - Super Mario Bros 3 - Super Mario Advance 4 v1.1 (USA)
[AX4E]
flashSize=131072
# Dragon Ball Z - Taiketsu (USA)
[BDBE]
saveType=1
# Dragon Ball Z - Buu's Fury (USA)
[BG3E]
saveType=1
# 2 Games in 1 - Dragon Ball Z - The Legacy of Goku I & II (USA)
[BLFE]
saveType=1
# Pokemon - Fire Red Version (USA, Europe)
[BPRE]
flashSize=131072
# Pokemon - Leaf Green Version (USA, Europe)
[BPGE]
flashSize=131072
# Dragon Ball GT - Transformation (USA)
[BT4E]
saveType=1
# 2 Games in 1 - Dragon Ball Z - Buu's Fury + Dragon Ball GT - Transformation (USA)
[BUFE]
saveType=1
# Yu-Gi-Oh! GX - Duel Academy (USA)
[BYGE]
saveType=2
useBios=1
# Yoshi - Topsy-Turvy (USA)
[KYGE]
saveType=1
# e-Reader (USA)
[PSAE]
flashSize=131072
# Boktai - The Sun Is in Your Hand (USA)
[U3IE]
rtcEnabled=1
# Boktai 2 - Solar Boy Django (USA)
[U32E]
rtcEnabled=1
# --------------------
# (J) Japan
# --------------------
# Dragon Ball Z - The Legacy of Goku II International (Japan)
[ALFJ]
saveType=1
# Pocket Monsters - Sapphire (Japan)
[AXPJ]
rtcEnabled=1
flashSize=131072
# Pocket Monsters - Ruby (Japan)
[AXVJ]
rtcEnabled=1
flashSize=131072
# Super Mario Advance 4 (Japan)
[AX4J]
flashSize=131072
# F-Zero - Climax (Japan)
[BFTJ]
flashSize=131072
# Game Boy Wars Advance 1+2 (Japan)
[BGWJ]
flashSize=131072
# Sennen Kazoku (Japan)
[BKAJ]
rtcEnabled=1
flashSize=131072
# Pocket Monsters - Emerald (Japan)
[BPEJ]
rtcEnabled=1
flashSize=131072
# Pocket Monsters - Leaf Green (Japan)
[BPGJ]
flashSize=131072
# Pocket Monsters - Fire Red (Japan)
[BPRJ]
flashSize=131072
# Digi Communication 2 - Datou! Black Gemagema Dan (Japan)
[BDKJ]
saveType=1
# Rockman EXE 4.5 - Real Operation (Japan)
[BR4J]
rtcEnabled=1
# Famicom Mini Vol. 01 - Super Mario Bros. (Japan)
[FMBJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 12 - Clu Clu Land (Japan)
[FCLJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 13 - Balloon Fight (Japan)
[FBFJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 14 - Wrecking Crew (Japan)
[FWCJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 15 - Dr. Mario (Japan)
[FDMJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 16 - Dig Dug (Japan)
[FDDJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 17 - Takahashi Meijin no Boukenjima (Japan)
[FTBJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 18 - Makaimura (Japan)
[FMKJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 19 - Twin Bee (Japan)
[FTWJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 20 - Ganbare Goemon! Karakuri Douchuu (Japan)
[FGGJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 21 - Super Mario Bros. 2 (Japan)
[FM2J]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 22 - Nazo no Murasame Jou (Japan)
[FNMJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 23 - Metroid (Japan)
[FMRJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 24 - Hikari Shinwa - Palthena no Kagami (Japan)
[FPTJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 25 - The Legend of Zelda 2 - Link no Bouken (Japan)
[FLBJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 26 - Famicom Mukashi Banashi - Shin Onigashima - Zen Kou Hen (Japan)
[FFMJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 27 - Famicom Tantei Club - Kieta Koukeisha - Zen Kou Hen (Japan)
[FTKJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 28 - Famicom Tantei Club Part II - Ushiro ni Tatsu Shoujo - Zen Kou Hen (Japan)
[FTUJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 29 - Akumajou Dracula (Japan)
[FADJ]
saveType=1
mirroringEnabled=1
# Famicom Mini Vol. 30 - SD Gundam World - Gachapon Senshi Scramble Wars (Japan)
[FSDJ]
saveType=1
mirroringEnabled=1
# Koro Koro Puzzle - Happy Panechu! (Japan)
[KHPJ]
saveType=4
# Yoshi no Banyuuinryoku (Japan)
[KYGJ]
saveType=4
# Card e-Reader+ (Japan)
[PSAJ]
flashSize=131072
# Bokura no Taiyou - Taiyou Action RPG (Japan)
[U3IJ]
rtcEnabled=1
# Zoku Bokura no Taiyou - Taiyou Shounen Django (Japan)
[U32J]
rtcEnabled=1
# Shin Bokura no Taiyou - Gyakushuu no Sabata (Japan)
[U33J]
rtcEnabled=1
# --------------------
# (F) France
# --------------------
# Pokemon - Version Saphir (France)
[AXPF]
rtcEnabled=1
flashSize=131072
# Pokemon - Version Rubis (France)
[AXVF]
rtcEnabled=1
flashSize=131072
# Pokemon - Version Emeraude (France)
[BPEF]
rtcEnabled=1
flashSize=131072
# Pokemon - Version Vert Feuille (France)
[BPGF]
flashSize=131072
# Pokemon - Version Rouge Feu (France)
[BPRF]
flashSize=131072
# --------------------
# (I) Italy
# --------------------
# Pokemon - Versione Zaffiro (Italy)
[AXPI]
rtcEnabled=1
flashSize=131072
# Pokemon - Versione Rubino (Italy)
[AXVI]
rtcEnabled=1
flashSize=131072
# Pokemon - Versione Smeraldo (Italy)
[BPEI]
rtcEnabled=1
flashSize=131072
# Pokemon - Versione Verde Foglia (Italy)
[BPGI]
flashSize=131072
# Pokemon - Versione Rosso Fuoco (Italy)
[BPRI]
flashSize=131072
# --------------------
# (G) Germany
# --------------------
# Pokemon - Saphir-Edition (Germany)
[AXPD]
rtcEnabled=1
flashSize=131072
# Pokemon - Rubin-Edition (Germany)
[AXVD]
rtcEnabled=1
flashSize=131072
# Pokemon - Smaragd-Edition (Germany)
[BPED]
rtcEnabled=1
flashSize=131072
# Pokemon - Blattgruene Edition (Germany)
[BPGD]
flashSize=131072
# Pokemon - Feuerrote Edition (Germany)
[BPRD]
flashSize=131072
# --------------------
# (S) Spain
# --------------------
# Pokemon - Edicion Zafiro (Spain)
[AXPS]
rtcEnabled=1
flashSize=131072
# Pokemon - Edicion Rubi (Spain)
[AXVS]
rtcEnabled=1
flashSize=131072
# Pokemon - Edicion Esmeralda (Spain)
[BPES]
rtcEnabled=1
flashSize=131072
# Pokemon - Edicion Verde Hoja (Spain)
[BPGS]
flashSize=131072
# Pokemon - Edicion Rojo Fuego (Spain)
[BPRS]
flashSize=131072
saveType=1