REMOVED old Qt files from trunk. See branches/qt for Qt front-end.
|
@ -39,7 +39,7 @@ They are built with the static C runtime (this is what the releases use).
|
|||
# Visual C++ 2008 project files #
|
||||
#################################
|
||||
|
||||
Using Microsoft Visual C++ 2008, you can build the Win32/MFC and the Win32/Qt build.
|
||||
Using Microsoft Visual C++ 2008, you can build the Windows/MFC version.
|
||||
Refer to the instructions below for further assistance:
|
||||
|
||||
===Win32/MFC===
|
||||
|
@ -57,26 +57,3 @@ If you want to enable OpenAL sound output, install the OpenAL SDK. If you do not
|
|||
Some pixel filters come with assembler code, which compatible to the NASM syntax.
|
||||
Extract NASM somewhere and add it to your compiler's executable file paths.
|
||||
All .asm files will be handled with the "nasm.rules" build rules file which comes with this project file.
|
||||
|
||||
===Win32/Qt===
|
||||
The MS Visual C++ 2008 Express-compatible project file can be found in trunk/project/vc2008_qt.
|
||||
It uses the qmake file in trunk/project/qmake, so you always have to add files to the VC++ project file AND the qmake file!
|
||||
IMPORTANT: The Qt-sources have to be compiled with the Microsoft compiler first, in order to use it,
|
||||
because the default binary distribution was compiled with mingw and will not work with the MS Compiler.
|
||||
Continue by reading "How to compile Qt from source with Visual C++ 2008".
|
||||
The release build will automatically be compressed with UPX, make sure to download it and point MSVC++ to it.
|
||||
|
||||
|
||||
|
||||
######################################################
|
||||
# How to compile Qt from source with Visual C++ 2008 #
|
||||
######################################################
|
||||
- Download the latest Qt source code archive from http://trolltech.com/developer/downloads/qt/windows
|
||||
- You want "qt-win-opensource-src-x.x.x.zip", not "qt-win-opensource-x.x.x-mingw.exe"
|
||||
- This how-to was witten when Qt 4.4.1 was the current version.
|
||||
- Extract the archive somewhere.
|
||||
- Start a Visual Studio build command promt and cd to the extracted files.
|
||||
- You can find it in the start menu in "Microsoft Visual Studio 2008\Visual Studio Tools\Visual Studio 2008 Command Prompt".
|
||||
- Type & run "configure -release -fast -no-qt3support -platform win32-msvc2008"
|
||||
- When configure finished, simply run "nmake" and get yourself a coffee or ten.
|
||||
- When nmake finished and you've become a coffee addict, add the created lib files to your Visual Studio paths, do the same for the include paths.
|
||||
|
|
463
lang/german.ts
|
@ -1,463 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS><TS version="1.1" language="de_DE">
|
||||
<context>
|
||||
<name>@default</name>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="96"/>
|
||||
<source>About VBA-M</source>
|
||||
<translation type="obsolete">Über VBA-M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="97"/>
|
||||
<source>This program is licensed under terms of the GNU General Public License.</source>
|
||||
<translation type="obsolete">Dieses Programm ist unter den Bedingungen der GNU General Public License lizenziert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="111"/>
|
||||
<source>OpenGL version 2.1 is present.</source>
|
||||
<translation type="obsolete">OpenGL Version 2.1 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="114"/>
|
||||
<source>OpenGL version 2.0 is present.</source>
|
||||
<translation type="obsolete">OpenGL Version 2.0 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="117"/>
|
||||
<source>OpenGL version 1.5 is present.</source>
|
||||
<translation type="obsolete">OpenGL Version 1.5 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="120"/>
|
||||
<source>OpenGL version 1.4 is present.</source>
|
||||
<translation type="obsolete">OpenGL Version 1.4 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="123"/>
|
||||
<source>OpenGL version 1.3 is present.</source>
|
||||
<translation type="obsolete">OpenGL Version 1.3 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="126"/>
|
||||
<source>OpenGL version 1.2 is present.</source>
|
||||
<translation type="obsolete">OpenGL Version 1.2 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="129"/>
|
||||
<source>OpenGL version 1.1 is present.</source>
|
||||
<translation type="obsolete">OpenGL Version 1.1 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="135"/>
|
||||
<source>OpenGL is NOT available!</source>
|
||||
<translation type="obsolete">OpenGL ist NICHT verfügbar!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="138"/>
|
||||
<source>About OpenGL</source>
|
||||
<translation type="obsolete">Über OpenGL</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ConfigDialog</name>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="26"/>
|
||||
<source>Close</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="62"/>
|
||||
<source>Options</source>
|
||||
<translation>Optionen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="70"/>
|
||||
<source>Video</source>
|
||||
<translation>Grafik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="76"/>
|
||||
<source>Sound</source>
|
||||
<translation>Sound</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="82"/>
|
||||
<source>Input</source>
|
||||
<translation>Eingabe</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InputOptionsPage</name>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="49"/>
|
||||
<source>Input Keys</source>
|
||||
<translation>Tastenzuweisung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="51"/>
|
||||
<source>Start:</source>
|
||||
<translation>Start:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="54"/>
|
||||
<source>Select:</source>
|
||||
<translation>Select:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="57"/>
|
||||
<source>Up:</source>
|
||||
<translation>Hoch:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="60"/>
|
||||
<source>Down:</source>
|
||||
<translation>Runter:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="63"/>
|
||||
<source>Left:</source>
|
||||
<translation>Links:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="66"/>
|
||||
<source>Right:</source>
|
||||
<translation>Rechts:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="69"/>
|
||||
<source>A:</source>
|
||||
<translation>A:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="72"/>
|
||||
<source>B:</source>
|
||||
<translation>B:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="75"/>
|
||||
<source>L:</source>
|
||||
<translation>L:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="78"/>
|
||||
<source>R:</source>
|
||||
<translation>R:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="81"/>
|
||||
<source>Gameshark:</source>
|
||||
<translation>Gameshark:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="84"/>
|
||||
<source>Speed Up:</source>
|
||||
<translation>Beschleunigen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="87"/>
|
||||
<source>Screenshot:</source>
|
||||
<translation>Screenshot:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="90"/>
|
||||
<source>Multiple key assignments</source>
|
||||
<translation>Mehrfachzuweisungen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWnd</name>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="98"/>
|
||||
<source>&File</source>
|
||||
<translation type="obsolete">&Datei</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="103"/>
|
||||
<source>&Settings</source>
|
||||
<translation type="obsolete">&Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="109"/>
|
||||
<source>&Tools</source>
|
||||
<translation type="obsolete">&Werkzeuge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="116"/>
|
||||
<source>&Help</source>
|
||||
<translation type="obsolete">&Hilfe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="119"/>
|
||||
<source>About &OpenGL...</source>
|
||||
<translation type="obsolete">Über &OpenGL...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="118"/>
|
||||
<source>About &VBA-M...</source>
|
||||
<translation type="obsolete">Über &VBA-M...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="120"/>
|
||||
<source>About &Qt...</source>
|
||||
<translation type="obsolete">Über &Qt...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="314"/>
|
||||
<source>This program is licensed under terms of the GNU General Public License.</source>
|
||||
<translation>Dieses Programm ist unter den Bedingungen der GNU General Public License lizenziert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="353"/>
|
||||
<source>OpenGL version 2.1 is present.</source>
|
||||
<translation>OpenGL Version 2.1 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="356"/>
|
||||
<source>OpenGL version 2.0 is present.</source>
|
||||
<translation>OpenGL Version 2.0 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="359"/>
|
||||
<source>OpenGL version 1.5 is present.</source>
|
||||
<translation>OpenGL Version 1.5 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="362"/>
|
||||
<source>OpenGL version 1.4 is present.</source>
|
||||
<translation>OpenGL Version 1.4 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="365"/>
|
||||
<source>OpenGL version 1.3 is present.</source>
|
||||
<translation>OpenGL Version 1.3 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="368"/>
|
||||
<source>OpenGL version 1.2 is present.</source>
|
||||
<translation>OpenGL Version 1.2 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="371"/>
|
||||
<source>OpenGL version 1.1 is present.</source>
|
||||
<translation>OpenGL Version 1.1 ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="377"/>
|
||||
<source>OpenGL is NOT available!</source>
|
||||
<translation>OpenGL ist NICHT verfügbar!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="316"/>
|
||||
<source>About VBA-M</source>
|
||||
<translation>Über VBA-M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="380"/>
|
||||
<source>About OpenGL</source>
|
||||
<translation>Über OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="72"/>
|
||||
<source>Select translation...</source>
|
||||
<translation type="obsolete">Übersetzung auswählen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="102"/>
|
||||
<source>Select translation</source>
|
||||
<translation type="obsolete">Übersetzung auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="104"/>
|
||||
<source>Translation files (*.qm)</source>
|
||||
<translation type="obsolete">Übersetzungsdateien (*.qm)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="256"/>
|
||||
<source>.qm</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="158"/>
|
||||
<source>Exit</source>
|
||||
<translation>Beenden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="164"/>
|
||||
<source>Select language...</source>
|
||||
<translation>Sprache auswählen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="235"/>
|
||||
<source>Select language</source>
|
||||
<translation>Sprache auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="237"/>
|
||||
<source>Language files (*.qm)</source>
|
||||
<translation>Sprachdateien (*.qm)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="332"/>
|
||||
<source>Error!</source>
|
||||
<translation>Fehler!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="247"/>
|
||||
<source>Language file can not be loaded!</source>
|
||||
<translation>Sprachdatei kann nicht geladen werden!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="124"/>
|
||||
<source>Enable translation</source>
|
||||
<translation>Übersetzung aktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="280"/>
|
||||
<source>
|
||||
No language file loaded.</source>
|
||||
<translation type="obsolete">
|
||||
Deutsche Übersetzung von spacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="192"/>
|
||||
<source>Cheats</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="171"/>
|
||||
<source>Show cheats sidebar</source>
|
||||
<translation>Cheats-Seitenleiste anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="156"/>
|
||||
<source>File</source>
|
||||
<translation>Datei</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="157"/>
|
||||
<source>Open ROM</source>
|
||||
<translation>ROM laden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="162"/>
|
||||
<source>Settings</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="163"/>
|
||||
<source>Main options...</source>
|
||||
<translation>Optionen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="169"/>
|
||||
<source>Tools</source>
|
||||
<translation>Werkzeuge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="176"/>
|
||||
<source>Help</source>
|
||||
<translation>Hilfe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="178"/>
|
||||
<source>About VBA-M...</source>
|
||||
<translation>Über VBA-M...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="179"/>
|
||||
<source>About OpenGL...</source>
|
||||
<translation>Über OpenGL...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="180"/>
|
||||
<source>About Qt...</source>
|
||||
<translation>Über Qt...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="294"/>
|
||||
<source>Enter ROM loader code here.</source>
|
||||
<translation type="obsolete">Funktionalität noch nicht vorhanden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="307"/>
|
||||
<source>Version</source>
|
||||
<translation>Version</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="309"/>
|
||||
<source>Compile date:</source>
|
||||
<translation>Bau-Datum:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="312"/>
|
||||
<source>No language file loaded.</source>
|
||||
<translation>Deutsche Übersetzung von spacy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="324"/>
|
||||
<source>Select ROM</source>
|
||||
<translation>Bitte ROM auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="319"/>
|
||||
<source>Game Boy Advance ROMs (*.gba);;All Files (*.*)</source>
|
||||
<translation type="obsolete">Game Boy Advance ROMs (*.gba);;Alle Dateien (*.*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="332"/>
|
||||
<source>Can not load ROM!</source>
|
||||
<translation>ROM kann nicht geladen werden!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="326"/>
|
||||
<source>All ROMs (*.dmg *.sgb *.cgb *.agb *.gb *.gbc *.gba *.bin *.zip *.gz *.rar *.7z *.jma);;Game Boy ROMs (*.dmg *.gb);;Super Game Boy ROMs (*.sgb);;Game Boy Color ROMs (*.cgb *.gbc);;Game Boy Advance ROMs (*.agb *.gba);;Compressed ROMs (*.zip *.gz *.rar *.7z *.jma);;All Files (*.* *)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>VideoOptionsPage</name>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="24"/>
|
||||
<source>Renderer Selection</source>
|
||||
<translation>Auswahl der Schnittstelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="25"/>
|
||||
<source>Renderer:</source>
|
||||
<translation>Schnittstelle:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="27"/>
|
||||
<source>OGL</source>
|
||||
<translation type="obsolete">OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="28"/>
|
||||
<source>D3D</source>
|
||||
<translation type="obsolete">Direct3D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="29"/>
|
||||
<source>QPainter</source>
|
||||
<translation type="obsolete">QPainter (Qt)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>sidewidget_cheats</name>
|
||||
<message>
|
||||
<location filename="../src/qt/sidewidget_cheats.ui" line="27"/>
|
||||
<source>Enable</source>
|
||||
<translation>Aktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/sidewidget_cheats.ui" line="34"/>
|
||||
<source>Search...</source>
|
||||
<translation>Suchen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/sidewidget_cheats.ui" line="19"/>
|
||||
<source>Cheats</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -1,27 +0,0 @@
|
|||
How to create a new translation for the Qt build:
|
||||
|
||||
For Windows:
|
||||
|
||||
- Add "TRANSLATIONS += path/to/language.ts" to vba-m.pro
|
||||
|
||||
- Execute the "update.cmd" script to create .ts files
|
||||
|
||||
- Edit & translate the .ts file with the "Qt Linguist" tool
|
||||
|
||||
- Execute the "release.cmd" script to compile it to a .qm file
|
||||
|
||||
- The .qm file can now be loaded & used by the application
|
||||
|
||||
|
||||
|
||||
For Linux:
|
||||
|
||||
- Add "TRANSLATIONS += path/to/language.ts" to vba-m.pro
|
||||
|
||||
- Type lrelease vba-m.pro
|
||||
|
||||
- Edit & translate the .ts file with the "Qt Linguist" tool
|
||||
|
||||
- In Qt Linguist, go to File -> release as. This will compile it into a .qm file
|
||||
|
||||
- The .qm file can now be loaded & used by the application
|
|
@ -1,2 +0,0 @@
|
|||
cd ..\project\qmake
|
||||
lrelease vba-m.pro
|
378
lang/spanish.ts
|
@ -1,378 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS><TS version="1.1" language="es">
|
||||
<context>
|
||||
<name>ConfigDialog</name>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="26"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="62"/>
|
||||
<source>Options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="70"/>
|
||||
<source>Video</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="76"/>
|
||||
<source>Sound</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/configdialog.cpp" line="82"/>
|
||||
<source>Input</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>InputOptionsPage</name>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="49"/>
|
||||
<source>Input Keys</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="51"/>
|
||||
<source>Start:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="54"/>
|
||||
<source>Select:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="57"/>
|
||||
<source>Up:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="60"/>
|
||||
<source>Down:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="63"/>
|
||||
<source>Left:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="66"/>
|
||||
<source>Right:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="69"/>
|
||||
<source>A:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="72"/>
|
||||
<source>B:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="75"/>
|
||||
<source>L:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="78"/>
|
||||
<source>R:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="81"/>
|
||||
<source>Gameshark:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="84"/>
|
||||
<source>Speed Up:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="87"/>
|
||||
<source>Screenshot:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="90"/>
|
||||
<source>Multiple key assignments</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWnd</name>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="38"/>
|
||||
<source>VBA-M</source>
|
||||
<translation type="obsolete">VBA-M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="93"/>
|
||||
<source>&File</source>
|
||||
<translation type="obsolete">&Archivo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="158"/>
|
||||
<source>Exit</source>
|
||||
<translation>Salir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="98"/>
|
||||
<source>&Settings</source>
|
||||
<translation type="obsolete">&Ajustes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="72"/>
|
||||
<source>Select translation...</source>
|
||||
<translation type="obsolete">Seleccione traducción...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="104"/>
|
||||
<source>&Tools</source>
|
||||
<translation type="obsolete">&Herramientas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="108"/>
|
||||
<source>&Help</source>
|
||||
<translation type="obsolete">&Ayuda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="110"/>
|
||||
<source>About &VBA-M...</source>
|
||||
<translation type="obsolete">Sobre &VBA-M...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="111"/>
|
||||
<source>About &OpenGL...</source>
|
||||
<translation type="obsolete">Sobre &OpenGL...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="112"/>
|
||||
<source>About &Qt...</source>
|
||||
<translation type="obsolete">Sobre &Qt...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="102"/>
|
||||
<source>Select translation</source>
|
||||
<translation type="obsolete">Seleccione traducción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="104"/>
|
||||
<source>Translation files (*.qm)</source>
|
||||
<translation type="obsolete">Archivos de traducción (*.qm)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="256"/>
|
||||
<source>.qm</source>
|
||||
<translation>.qm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="316"/>
|
||||
<source>About VBA-M</source>
|
||||
<translation>Sobre VBA-M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="314"/>
|
||||
<source>This program is licensed under terms of the GNU General Public License.</source>
|
||||
<translation>Este programa se licencia bajo los términos de la Licencia Pública General GNU.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="353"/>
|
||||
<source>OpenGL version 2.1 is present.</source>
|
||||
<translation>OpenGL versión 2.1 está presente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="356"/>
|
||||
<source>OpenGL version 2.0 is present.</source>
|
||||
<translation>OpenGL versión 2.0 está presente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="359"/>
|
||||
<source>OpenGL version 1.5 is present.</source>
|
||||
<translation>OpenGL versión 1.5 está presente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="362"/>
|
||||
<source>OpenGL version 1.4 is present.</source>
|
||||
<translation>OpenGL versión 1.4 está presente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="365"/>
|
||||
<source>OpenGL version 1.3 is present.</source>
|
||||
<translation>OpenGL versión 1.3 está presente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="368"/>
|
||||
<source>OpenGL version 1.2 is present.</source>
|
||||
<translation>OpenGL versión 1.2 está presente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="371"/>
|
||||
<source>OpenGL version 1.1 is present.</source>
|
||||
<translation>OpenGL versión 1.1 está presente.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="377"/>
|
||||
<source>OpenGL is NOT available!</source>
|
||||
<translation>¡OpenGL no está disponible!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="380"/>
|
||||
<source>About OpenGL</source>
|
||||
<translation>Sobre OpenGL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="164"/>
|
||||
<source>Select language...</source>
|
||||
<translation>Seleccione traducción...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="235"/>
|
||||
<source>Select language</source>
|
||||
<translation>Seleccione traducción</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="237"/>
|
||||
<source>Language files (*.qm)</source>
|
||||
<translation>Archivos de traducción (*.qm)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="332"/>
|
||||
<source>Error!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="247"/>
|
||||
<source>Language file can not be loaded!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="124"/>
|
||||
<source>Enable translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="192"/>
|
||||
<source>Cheats</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="156"/>
|
||||
<source>File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="157"/>
|
||||
<source>Open ROM</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="162"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="163"/>
|
||||
<source>Main options...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="169"/>
|
||||
<source>Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="171"/>
|
||||
<source>Show cheats sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="176"/>
|
||||
<source>Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="178"/>
|
||||
<source>About VBA-M...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="179"/>
|
||||
<source>About OpenGL...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="180"/>
|
||||
<source>About Qt...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="307"/>
|
||||
<source>Version</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="309"/>
|
||||
<source>Compile date:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="312"/>
|
||||
<source>No language file loaded.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="324"/>
|
||||
<source>Select ROM</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="326"/>
|
||||
<source>All ROMs (*.dmg *.sgb *.cgb *.agb *.gb *.gbc *.gba *.bin *.zip *.gz *.rar *.7z *.jma);;Game Boy ROMs (*.dmg *.gb);;Super Game Boy ROMs (*.sgb);;Game Boy Color ROMs (*.cgb *.gbc);;Game Boy Advance ROMs (*.agb *.gba);;Compressed ROMs (*.zip *.gz *.rar *.7z *.jma);;All Files (*.* *)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainWnd.cpp" line="332"/>
|
||||
<source>Can not load ROM!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>VideoOptionsPage</name>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="24"/>
|
||||
<source>Renderer Selection</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/MainOptions.cpp" line="25"/>
|
||||
<source>Renderer:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>sidewidget_cheats</name>
|
||||
<message>
|
||||
<location filename="../src/qt/sidewidget_cheats.ui" line="27"/>
|
||||
<source>Enable</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/sidewidget_cheats.ui" line="34"/>
|
||||
<source>Search...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/qt/sidewidget_cheats.ui" line="19"/>
|
||||
<source>Cheats</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -1,2 +0,0 @@
|
|||
cd ..\project\qmake
|
||||
lupdate vba-m.pro
|
|
@ -1,176 +0,0 @@
|
|||
TEMPLATE = app
|
||||
CONFIG += qt release
|
||||
QT += opengl
|
||||
TARGET = VisualBoyAdvance
|
||||
DEFINES += BKPT_SUPPORT NO_PNG
|
||||
|
||||
# Directory Locations
|
||||
M_DIR_QT = ../../src/qt/
|
||||
M_DIR_LANG = ../../lang/
|
||||
M_DIR_SHARED = ../../src/
|
||||
M_DIR_GBAPU = ../../src/dmg/gb_apu/
|
||||
M_DIR_AGB = ../../src/agb/
|
||||
M_DIR_DMG = ../../src/dmg/
|
||||
M_DIR_DEP = ../../../dependencies/msvc/
|
||||
|
||||
|
||||
# OSs
|
||||
!win32 {
|
||||
DEFINES += C_CORE
|
||||
}
|
||||
|
||||
|
||||
# Tweaks
|
||||
win32-msvc2008 {
|
||||
DEFINES += _CRT_SECURE_NO_WARNINGS
|
||||
DEFINES += NO_PNG
|
||||
INCLUDEPATH += $${M_DIR_DEP}
|
||||
}
|
||||
|
||||
|
||||
# Resource Files
|
||||
RESOURCES += $${M_DIR_QT}vba-m.qrc
|
||||
|
||||
win32 {
|
||||
RC_FILE = $${M_DIR_QT}vba-m.rc
|
||||
}
|
||||
|
||||
|
||||
# Language Files
|
||||
TRANSLATIONS += $${M_DIR_LANG}german.ts
|
||||
TRANSLATIONS += $${M_DIR_LANG}spanish.ts
|
||||
|
||||
|
||||
# Qt GUI Files
|
||||
PRECOMPILED_HEADER = $${M_DIR_QT}precompile.h
|
||||
|
||||
HEADERS += $${M_DIR_QT}version.h
|
||||
|
||||
HEADERS += $${M_DIR_QT}main.h
|
||||
SOURCES += $${M_DIR_QT}main.cpp
|
||||
|
||||
HEADERS += $${M_DIR_QT}MainWnd.h
|
||||
SOURCES += $${M_DIR_QT}MainWnd.cpp
|
||||
|
||||
FORMS += $${M_DIR_QT}sidewidget_cheats.ui
|
||||
HEADERS += $${M_DIR_QT}sidewidget_cheats.h
|
||||
SOURCES += $${M_DIR_QT}sidewidget_cheats.cpp
|
||||
|
||||
HEADERS += $${M_DIR_QT}MainOptions.h
|
||||
SOURCES += $${M_DIR_QT}MainOptions.cpp
|
||||
|
||||
HEADERS += $${M_DIR_QT}configdialog.h
|
||||
SOURCES += $${M_DIR_QT}configdialog.cpp
|
||||
|
||||
HEADERS += $${M_DIR_QT}emu.h
|
||||
SOURCES += $${M_DIR_QT}emu.cpp
|
||||
|
||||
HEADERS += $${M_DIR_QT}EmuManager.h
|
||||
SOURCES += $${M_DIR_QT}EmuManager.cpp
|
||||
|
||||
HEADERS += $${M_DIR_QT}GraphicsOutput.h
|
||||
SOURCES += $${M_DIR_QT}GraphicsOutput.cpp
|
||||
|
||||
|
||||
# Shared Core Files
|
||||
HEADERS += $${M_DIR_SHARED}System.h
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}Globals.h
|
||||
SOURCES += $${M_DIR_SHARED}Globals.cpp
|
||||
|
||||
#HEADERS += $${M_DIR_SHARED}armdis.h
|
||||
#SOURCES += $${M_DIR_SHARED}armdis.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}bios.h
|
||||
SOURCES += $${M_DIR_SHARED}bios.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}Cheats.h
|
||||
SOURCES += $${M_DIR_SHARED}Cheats.cpp
|
||||
|
||||
#HEADERS += $${M_DIR_SHARED}CheatSearch.h
|
||||
#SOURCES += $${M_DIR_SHARED}CheatSearch.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}EEprom.h
|
||||
SOURCES += $${M_DIR_SHARED}EEprom.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}Flash.h
|
||||
SOURCES += $${M_DIR_SHARED}Flash.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}Sram.h
|
||||
SOURCES += $${M_DIR_SHARED}Sram.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}elf.h
|
||||
SOURCES += $${M_DIR_SHARED}elf.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}RTC.h
|
||||
SOURCES += $${M_DIR_SHARED}RTC.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}Sound.h
|
||||
SOURCES += $${M_DIR_SHARED}Sound.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}memgzio.h
|
||||
SOURCES += $${M_DIR_SHARED}memgzio.c
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}fex.h
|
||||
SOURCES += $${M_DIR_SHARED}fex_mini.cpp
|
||||
|
||||
HEADERS += $${M_DIR_SHARED}Util.h
|
||||
SOURCES += $${M_DIR_SHARED}Util.cpp
|
||||
|
||||
SOURCES += $${M_DIR_SHARED}Mode0.cpp
|
||||
SOURCES += $${M_DIR_SHARED}Mode1.cpp
|
||||
SOURCES += $${M_DIR_SHARED}Mode2.cpp
|
||||
SOURCES += $${M_DIR_SHARED}Mode3.cpp
|
||||
SOURCES += $${M_DIR_SHARED}Mode4.cpp
|
||||
SOURCES += $${M_DIR_SHARED}Mode5.cpp
|
||||
|
||||
#HEADERS += $${M_DIR_SHARED}NLS.h
|
||||
|
||||
#HEADERS += $${M_DIR_SHARED}Port.h
|
||||
|
||||
#SOURCES += $${M_DIR_SHARED}remote.cpp
|
||||
|
||||
|
||||
# GB APU
|
||||
HEADERS += $${M_DIR_GBAPU}blargg_common.h
|
||||
HEADERS += $${M_DIR_GBAPU}blargg_config.h
|
||||
HEADERS += $${M_DIR_GBAPU}blargg_source.h
|
||||
|
||||
HEADERS += $${M_DIR_GBAPU}Blip_Buffer.h
|
||||
SOURCES += $${M_DIR_GBAPU}Blip_Buffer.cpp
|
||||
|
||||
HEADERS += $${M_DIR_GBAPU}Effects_Buffer.h
|
||||
SOURCES += $${M_DIR_GBAPU}Effects_Buffer.cpp
|
||||
|
||||
HEADERS += $${M_DIR_GBAPU}Gb_Apu.h
|
||||
SOURCES += $${M_DIR_GBAPU}Gb_Apu.cpp
|
||||
SOURCES += $${M_DIR_GBAPU}Gb_Apu_State.cpp
|
||||
|
||||
HEADERS += $${M_DIR_GBAPU}Gb_Oscs.h
|
||||
SOURCES += $${M_DIR_GBAPU}Gb_Oscs.cpp
|
||||
|
||||
HEADERS += $${M_DIR_GBAPU}Multi_Buffer.h
|
||||
SOURCES += $${M_DIR_GBAPU}Multi_Buffer.cpp
|
||||
|
||||
|
||||
# GBA Core Files
|
||||
HEADERS += $${M_DIR_AGB}agbprint.h
|
||||
SOURCES += $${M_DIR_AGB}agbprint.cpp
|
||||
|
||||
HEADERS += $${M_DIR_AGB}GBA.h
|
||||
SOURCES += $${M_DIR_AGB}GBA.cpp
|
||||
|
||||
#HEADERS += $${M_DIR_AGB}gbafilter.h
|
||||
#SOURCES += $${M_DIR_AGB}gbafilter.cpp
|
||||
|
||||
HEADERS += $${M_DIR_AGB}GBAGfx.h
|
||||
SOURCES += $${M_DIR_AGB}GBAGfx.cpp
|
||||
|
||||
#HEADERS += $${M_DIR_AGB}GBALink.h
|
||||
#SOURCES += $${M_DIR_AGB}GBALink.cpp
|
||||
|
||||
SOURCES += $${M_DIR_AGB}GBA-arm.cpp
|
||||
SOURCES += $${M_DIR_AGB}GBA-thumb.cpp
|
||||
|
||||
HEADERS += $${M_DIR_AGB}GBAcpu.h
|
||||
HEADERS += $${M_DIR_AGB}GBAinline.h
|
|
@ -1,20 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual C++ Express 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vba-m", "vba-m.vcproj", "{714B3EF3-5D43-421F-A97E-447540E7C137}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
debug|Win32 = debug|Win32
|
||||
release|Win32 = release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{714B3EF3-5D43-421F-A97E-447540E7C137}.debug|Win32.ActiveCfg = debug|Win32
|
||||
{714B3EF3-5D43-421F-A97E-447540E7C137}.debug|Win32.Build.0 = debug|Win32
|
||||
{714B3EF3-5D43-421F-A97E-447540E7C137}.release|Win32.ActiveCfg = release|Win32
|
||||
{714B3EF3-5D43-421F-A97E-447540E7C137}.release|Win32.Build.0 = release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,437 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="vba-m"
|
||||
ProjectGUID="{714B3EF3-5D43-421F-A97E-447540E7C137}"
|
||||
RootNamespace="vba-m"
|
||||
Keyword="MakeFileProj"
|
||||
TargetFrameworkVersion="196613"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="debug|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCNMakeTool"
|
||||
BuildCommandLine="qmake -makefile -win32 "CONFIG+=debug" ..\qmake\vba-m.pro
nmake debug"
|
||||
ReBuildCommandLine=""
|
||||
CleanCommandLine="nmake distclean
rmdir /S /Q debug
rmdir /S /Q release"
|
||||
Output="$(OutDir)\VisualBoyAdvance.exe"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG"
|
||||
IncludeSearchPath=""$(ProjectDir)""
|
||||
ForcedIncludes=""
|
||||
AssemblySearchPath=""
|
||||
ForcedUsingAssemblies=""
|
||||
CompileAsManaged=""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="release|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCNMakeTool"
|
||||
BuildCommandLine="qmake -makefile -win32 ..\qmake\vba-m.pro
nmake release
upx --best "$(TargetPath)""
|
||||
ReBuildCommandLine=""
|
||||
CleanCommandLine="nmake distclean
rmdir /S /Q debug
rmdir /S /Q release"
|
||||
Output="$(OutDir)\VisualBoyAdvance.exe"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG"
|
||||
IncludeSearchPath=""$(ProjectDir)""
|
||||
ForcedIncludes=""
|
||||
AssemblySearchPath=""
|
||||
ForcedUsingAssemblies=""
|
||||
CompileAsManaged=""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="GUI"
|
||||
Filter="cpp;h"
|
||||
>
|
||||
<Filter
|
||||
Name="main"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\main.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\main.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="MainWnd"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\MainWnd.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\MainWnd.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="side widgets"
|
||||
>
|
||||
<Filter
|
||||
Name="cheats"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\sidewidget_cheats.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\sidewidget_cheats.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\sidewidget_cheats.ui"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Config Dialog"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\configdialog.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\configdialog.h"
|
||||
>
|
||||
</File>
|
||||
<Filter
|
||||
Name="Pages"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\MainOptions.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\MainOptions.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="IO"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\GraphicsOutput.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\GraphicsOutput.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Build"
|
||||
Filter="pro"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\qmake\vba-m.pro"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\vba-m.qrc"
|
||||
FileType="13"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\vba-m.rc"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Other"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\precompile.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\version.h"
|
||||
>
|
||||
</File>
|
||||
<Filter
|
||||
Name="EmuManager"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\emu.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\emu.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\EmuManager.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\qt\EmuManager.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Core"
|
||||
>
|
||||
<Filter
|
||||
Name="Shared"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\bios.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\bios.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Cheats.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Cheats.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\EEprom.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\EEprom.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\elf.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\elf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\fex.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\fex_mini.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Flash.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Flash.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Globals.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Globals.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\memgzio.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\memgzio.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Mode0.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Mode1.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Mode2.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Mode3.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Mode4.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Mode5.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\RTC.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\RTC.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Sound.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Sound.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Sram.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Sram.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\System.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Util.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\Util.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="GBA"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\agbprint.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\agbprint.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\GBA-arm.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\GBA-thumb.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\GBA.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\GBA.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\GBAcpu.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\GBAGfx.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\GBAGfx.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\agb\GBAinline.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="APU"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\blargg_common.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\blargg_config.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\blargg_source.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Blip_Buffer.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Blip_Buffer.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Effects_Buffer.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Effects_Buffer.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Gb_Apu.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Gb_Apu.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Gb_Apu_State.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Gb_Oscs.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Gb_Oscs.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Multi_Buffer.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\dmg\gb_apu\Multi_Buffer.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -1,85 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#include "EmuManager.h"
|
||||
|
||||
|
||||
EmuManager::EmuManager()
|
||||
: romBuffer( 0 )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
EmuManager::~EmuManager()
|
||||
{
|
||||
if( romBuffer != 0 ) {
|
||||
free( romBuffer );
|
||||
romBuffer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void EmuManager::setROM( QString &file )
|
||||
{
|
||||
romPath = file;
|
||||
}
|
||||
|
||||
|
||||
QString &EmuManager::getROM()
|
||||
{
|
||||
return romPath;
|
||||
}
|
||||
|
||||
|
||||
bool EmuManager::loadROM()
|
||||
{
|
||||
// validate ROM
|
||||
if( romPath.isEmpty() ) return false;
|
||||
|
||||
QFile file( romPath );
|
||||
|
||||
if( !file.exists() ) return false;
|
||||
|
||||
qint64 size = file.size();
|
||||
if( ( size == 0 ) || ( size > 0x2000000 /* 32MB */ ) ) return false;
|
||||
|
||||
// TODO: add further validation
|
||||
|
||||
// read ROM into memory
|
||||
if( !file.open( QIODevice::ReadOnly ) ) return false;
|
||||
|
||||
if( romBuffer != 0 ) {
|
||||
// resize the buffer
|
||||
unsigned char *temp;
|
||||
temp = (unsigned char *)realloc( romBuffer, size );
|
||||
if( temp == 0 ) {
|
||||
free( romBuffer );
|
||||
return false;
|
||||
} else {
|
||||
romBuffer = temp;
|
||||
}
|
||||
} else {
|
||||
// create the buffer
|
||||
romBuffer = (unsigned char *)malloc( size );
|
||||
if( romBuffer == 0 ) return false;
|
||||
}
|
||||
|
||||
if( -1 == file.read( (char *)romBuffer, size ) ) return false;
|
||||
|
||||
return true;
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#ifndef EMUMANAGER_H
|
||||
#define EMUMANAGER_H
|
||||
|
||||
|
||||
#include "precompile.h"
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
|
||||
// class to abstract emulation control
|
||||
class EmuManager
|
||||
{
|
||||
public:
|
||||
EmuManager();
|
||||
~EmuManager();
|
||||
|
||||
void setROM( QString &file );
|
||||
QString &getROM();
|
||||
|
||||
bool loadROM();
|
||||
|
||||
private:
|
||||
QString romPath;
|
||||
unsigned char *romBuffer;
|
||||
};
|
||||
|
||||
|
||||
#endif // #ifndef EMUMANAGER_H
|
|
@ -1,94 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#include "GraphicsOutput.h"
|
||||
|
||||
|
||||
GraphicsOutput::GraphicsOutput( QWidget *parent)
|
||||
: QGLWidget( parent ),
|
||||
m_api( NONE )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
GraphicsOutput::~GraphicsOutput()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
bool GraphicsOutput::setAPI( GraphicsOutput::DISPLAY_API api )
|
||||
{
|
||||
if( ( api == OPENGL ) && ( !QGLFormat::hasOpenGL() ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
m_api = api;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
GraphicsOutput::DISPLAY_API GraphicsOutput::getAPI()
|
||||
{
|
||||
return m_api;
|
||||
}
|
||||
|
||||
|
||||
void GraphicsOutput::render()
|
||||
{
|
||||
repaint(); // immediately calls paintEvent()
|
||||
}
|
||||
|
||||
|
||||
void GraphicsOutput::paintEvent( QPaintEvent * )
|
||||
{
|
||||
if( m_api == NONE ) return;
|
||||
|
||||
QPainter painter;
|
||||
|
||||
painter.begin( this );
|
||||
|
||||
painter.setRenderHint( QPainter::Antialiasing ); // enable AA if supported by OpenGL device
|
||||
|
||||
painter.setRenderHint( QPainter::TextAntialiasing );
|
||||
|
||||
painter.setRenderHint( QPainter::HighQualityAntialiasing );
|
||||
|
||||
painter.fillRect( rect(), QBrush( QColor( 0xFF, 0x00, 0x00 ), Qt::SolidPattern ) );
|
||||
|
||||
painter.setPen( QColor( 0x00, 0x00, 0xFF ) );
|
||||
painter.drawEllipse( rect() );
|
||||
|
||||
static unsigned int counter = 0;
|
||||
static QTime firstTime = QTime::currentTime();
|
||||
|
||||
int tDiff = firstTime.secsTo( QTime::currentTime() );
|
||||
|
||||
int fps = 0;
|
||||
|
||||
if( tDiff != 0 ) {
|
||||
fps = counter / tDiff;
|
||||
}
|
||||
|
||||
painter.setPen( QColor( 0x00, 0xFF, 0x00 ) );
|
||||
painter.setFont( QFont( "Arial", 14, QFont::Bold ) );
|
||||
painter.drawText( rect(), Qt::AlignCenter, "Frame Number " + QString::number( counter++ ) +
|
||||
"\nFPS: " + QString::number( fps ) );
|
||||
|
||||
painter.end();
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#ifndef GRAPHICSOUTPUT_H
|
||||
#define GRAPHICSOUTPUT_H
|
||||
|
||||
#include "precompile.h"
|
||||
|
||||
// this class uses a QGLWidget with QPainter, which uses OpenGL acceleration if supported
|
||||
class GraphicsOutput : public QGLWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
GraphicsOutput( QWidget *parent );
|
||||
~GraphicsOutput();
|
||||
|
||||
enum DISPLAY_API
|
||||
{
|
||||
NONE,
|
||||
QPAINTER,
|
||||
OPENGL
|
||||
};
|
||||
|
||||
bool setAPI( DISPLAY_API api );
|
||||
DISPLAY_API getAPI();
|
||||
|
||||
public slots:
|
||||
void render();
|
||||
|
||||
protected:
|
||||
void paintEvent( QPaintEvent *event );
|
||||
|
||||
private:
|
||||
DISPLAY_API m_api;
|
||||
};
|
||||
|
||||
#endif // #ifndef GRAPHICSOUTPUT_H
|
|
@ -1,312 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#include "MainOptions.h"
|
||||
|
||||
VideoOptionsPage::VideoOptionsPage(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
QGroupBox *RenderGroup = new QGroupBox(tr("Renderer Options"));
|
||||
QLabel *RenderLabel = new QLabel(tr("Renderer:"));
|
||||
QComboBox *RenderCombo = new QComboBox;
|
||||
RenderCombo->addItem("OpenGL");
|
||||
RenderCombo->addItem("QPainter");
|
||||
|
||||
|
||||
QLabel *ResLabel = new QLabel(tr("Resolution:"));
|
||||
QComboBox *ResCombo = new QComboBox;
|
||||
ResCombo->addItem("320x200");
|
||||
ResCombo->addItem("320x240");
|
||||
ResCombo->addItem("400x300");
|
||||
ResCombo->addItem("512x384");
|
||||
ResCombo->addItem("640x480");
|
||||
ResCombo->addItem("800x600");
|
||||
ResCombo->addItem("1024x768");
|
||||
ResCombo->addItem("1280x1024");
|
||||
|
||||
QLabel *SWFilterLabel = new QLabel(tr("Software Filter:"));
|
||||
QComboBox *SWFilterCombo = new QComboBox;
|
||||
SWFilterCombo->addItem("2xSai");
|
||||
SWFilterCombo->addItem("HQ2X");
|
||||
SWFilterCombo->addItem("HQ3X");
|
||||
SWFilterCombo->addItem("HQ4X");
|
||||
SWFilterCombo->addItem("Super Eagle");
|
||||
SWFilterCombo->addItem("SuperScale");
|
||||
SWFilterCombo->addItem("Bilinear Plus");
|
||||
|
||||
QLabel *HWFilterLabel = new QLabel(tr("Hardware Filter:"));
|
||||
QComboBox *HWFilterCombo = new QComboBox;
|
||||
HWFilterCombo->addItem("Nearest");
|
||||
HWFilterCombo->addItem("Bilinear");
|
||||
|
||||
QHBoxLayout *RenderLayout = new QHBoxLayout;
|
||||
RenderLayout->addWidget(RenderLabel);
|
||||
RenderLayout->addWidget(RenderCombo);
|
||||
|
||||
QHBoxLayout *ResLayout = new QHBoxLayout;
|
||||
ResLayout->addWidget(ResLabel);
|
||||
ResLayout->addWidget(ResCombo);
|
||||
|
||||
QHBoxLayout *SWFilterLayout = new QHBoxLayout;
|
||||
SWFilterLayout->addWidget(SWFilterLabel);
|
||||
SWFilterLayout->addWidget(SWFilterCombo);
|
||||
|
||||
QHBoxLayout *HWFilterLayout = new QHBoxLayout;
|
||||
HWFilterLayout->addWidget(HWFilterLabel);
|
||||
HWFilterLayout->addWidget(HWFilterCombo);
|
||||
|
||||
QCheckBox *TripleBufCheckBox = new QCheckBox(tr("Triple Buffering"));
|
||||
QCheckBox *VerticalSyncCheckBox = new QCheckBox(tr("Vertical Sync"));
|
||||
QCheckBox *DisableStatCheckBox = new QCheckBox(tr("Disable status messages"));
|
||||
|
||||
|
||||
QGridLayout *CheckLayout = new QGridLayout;
|
||||
CheckLayout->addWidget(TripleBufCheckBox, 3, 2);
|
||||
CheckLayout->addWidget(VerticalSyncCheckBox, 4, 2);
|
||||
CheckLayout->addWidget(DisableStatCheckBox, 5, 2);
|
||||
|
||||
QVBoxLayout *configLayout = new QVBoxLayout;
|
||||
configLayout->addLayout(RenderLayout);
|
||||
configLayout->addLayout(ResLayout);
|
||||
configLayout->addLayout(HWFilterLayout);
|
||||
configLayout->addLayout(SWFilterLayout);
|
||||
configLayout->addLayout(CheckLayout);
|
||||
RenderGroup->setLayout(configLayout);
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
mainLayout->addWidget(RenderGroup);
|
||||
mainLayout->addStretch(1);
|
||||
setLayout(mainLayout);
|
||||
}
|
||||
|
||||
|
||||
InputOptionsPage::InputOptionsPage(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
QGroupBox *InputGroup = new QGroupBox(tr("Input Keys"));
|
||||
|
||||
QLabel *StartLabel = new QLabel(tr("Start:"));
|
||||
QLineEdit *StartEdit = new QLineEdit;
|
||||
|
||||
QLabel *SelectLabel = new QLabel(tr("Select:"));
|
||||
QLineEdit *SelectEdit = new QLineEdit;
|
||||
|
||||
QLabel *UpLabel = new QLabel(tr("Up:"));
|
||||
QLineEdit *UpEdit = new QLineEdit;
|
||||
|
||||
QLabel *DownLabel = new QLabel(tr("Down:"));
|
||||
QLineEdit *DownEdit = new QLineEdit;
|
||||
|
||||
QLabel *LeftLabel = new QLabel(tr("Left:"));
|
||||
QLineEdit *LeftEdit = new QLineEdit;
|
||||
|
||||
QLabel *RightLabel = new QLabel(tr("Right:"));
|
||||
QLineEdit *RightEdit = new QLineEdit;
|
||||
|
||||
QLabel *ALabel = new QLabel(tr("A:"));
|
||||
QLineEdit *AEdit = new QLineEdit;
|
||||
|
||||
QLabel *BLabel = new QLabel(tr("B:"));
|
||||
QLineEdit *BEdit = new QLineEdit;
|
||||
|
||||
QLabel *LLabel = new QLabel(tr("L:"));
|
||||
QLineEdit *LEdit = new QLineEdit;
|
||||
|
||||
QLabel *RLabel = new QLabel(tr("R:"));
|
||||
QLineEdit *REdit = new QLineEdit;
|
||||
|
||||
QLabel *GSLabel = new QLabel(tr("Gameshark:"));
|
||||
QLineEdit *GSEdit = new QLineEdit;
|
||||
|
||||
QLabel *SpeedUpLabel = new QLabel(tr("Speed Up:"));
|
||||
QLineEdit *SpeedUpEdit = new QLineEdit;
|
||||
|
||||
QLabel *ScreenshotLabel = new QLabel(tr("Screenshot:"));
|
||||
QLineEdit *ScreenshotEdit = new QLineEdit;
|
||||
|
||||
QCheckBox *MultipleAssignCheckBox = new QCheckBox(tr("Multiple key assignments"));
|
||||
|
||||
|
||||
|
||||
QGridLayout *InputLayout = new QGridLayout;
|
||||
InputLayout->addWidget(StartLabel, 0, 0);
|
||||
InputLayout->addWidget(StartEdit, 0, 1);
|
||||
InputLayout->addWidget(SelectLabel, 1, 0);
|
||||
InputLayout->addWidget(SelectEdit, 1, 1);
|
||||
InputLayout->addWidget(UpLabel, 2, 0);
|
||||
InputLayout->addWidget(UpEdit, 2, 1);
|
||||
InputLayout->addWidget(DownLabel, 3, 0);
|
||||
InputLayout->addWidget(DownEdit, 3, 1);
|
||||
InputLayout->addWidget(LeftLabel, 4, 0);
|
||||
InputLayout->addWidget(LeftEdit, 4, 1);
|
||||
InputLayout->addWidget(RightLabel, 5, 0);
|
||||
InputLayout->addWidget(RightEdit, 5, 1);
|
||||
InputLayout->addWidget(ALabel, 6, 0);
|
||||
InputLayout->addWidget(AEdit, 6, 1);
|
||||
InputLayout->addWidget(BLabel, 7, 0);
|
||||
InputLayout->addWidget(BEdit, 7, 1);
|
||||
InputLayout->addWidget(LLabel, 8, 0);
|
||||
InputLayout->addWidget(LEdit, 8, 1);
|
||||
InputLayout->addWidget(RLabel, 9, 0);
|
||||
InputLayout->addWidget(REdit, 9, 1);
|
||||
InputLayout->addWidget(GSLabel, 0, 2);
|
||||
InputLayout->addWidget(GSEdit, 0, 3);
|
||||
InputLayout->addWidget(SpeedUpLabel, 1, 2);
|
||||
InputLayout->addWidget(SpeedUpEdit, 1, 3);
|
||||
InputLayout->addWidget(ScreenshotLabel, 2, 2);
|
||||
InputLayout->addWidget(ScreenshotEdit, 2, 3);
|
||||
InputLayout->addWidget(MultipleAssignCheckBox, 3, 2);
|
||||
|
||||
|
||||
InputGroup->setLayout(InputLayout);
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
mainLayout->addWidget(InputGroup);
|
||||
mainLayout->addSpacing(12);
|
||||
mainLayout->addStretch(1);
|
||||
setLayout(mainLayout);
|
||||
|
||||
}
|
||||
|
||||
|
||||
SoundOptionsPage::SoundOptionsPage(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
QGroupBox *SoundGroup = new QGroupBox(tr("Sound Options"));
|
||||
|
||||
QLabel *APILabel = new QLabel(tr("Sound API:"));
|
||||
QComboBox *APICombo = new QComboBox;
|
||||
APICombo->addItem("DirectSound");
|
||||
APICombo->addItem("OpenAL");
|
||||
APICombo->addItem("XAudio2");
|
||||
APICombo->addItem("OSS");
|
||||
|
||||
QLabel *SRLabel = new QLabel(tr("Sample Rate:"));
|
||||
QComboBox *SRCombo = new QComboBox;
|
||||
SRCombo->addItem("11025 Hz");
|
||||
SRCombo->addItem("22050 Hz");
|
||||
SRCombo->addItem("44100 Hz");
|
||||
SRCombo->addItem("48000 Hz");
|
||||
|
||||
QHBoxLayout *APILayout = new QHBoxLayout;
|
||||
APILayout->addWidget(APILabel);
|
||||
APILayout->addWidget(APICombo);
|
||||
|
||||
QHBoxLayout *SRLayout = new QHBoxLayout;
|
||||
SRLayout->addWidget(SRLabel);
|
||||
SRLayout->addWidget(SRCombo);
|
||||
|
||||
QCheckBox *SoundSyncCheckBox = new QCheckBox(tr("Sync game to audio"));
|
||||
QCheckBox *MuteAudioCheckBox = new QCheckBox(tr("Mute audio"));
|
||||
QCheckBox *InterpolateCheckBox = new QCheckBox(tr("Interpolate audio"));
|
||||
QCheckBox *EchoCheckBox = new QCheckBox(tr("GB audio echo"));
|
||||
|
||||
QGridLayout *CheckLayout = new QGridLayout;
|
||||
CheckLayout->addWidget(SoundSyncCheckBox, 3, 2);
|
||||
CheckLayout->addWidget(MuteAudioCheckBox, 4, 2);
|
||||
CheckLayout->addWidget(InterpolateCheckBox, 5, 2);
|
||||
CheckLayout->addWidget(EchoCheckBox, 6, 2);
|
||||
|
||||
QVBoxLayout *configLayout = new QVBoxLayout;
|
||||
configLayout->addLayout(APILayout);
|
||||
configLayout->addLayout(SRLayout);
|
||||
configLayout->addLayout(CheckLayout);
|
||||
SoundGroup->setLayout(configLayout);
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
mainLayout->addWidget(SoundGroup);
|
||||
mainLayout->addStretch(1);
|
||||
setLayout(mainLayout);
|
||||
}
|
||||
|
||||
DirecOptionsPage::DirecOptionsPage(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
QGroupBox *DirectoryGroup = new QGroupBox(tr("Directory Options"));
|
||||
|
||||
|
||||
QLabel *GBAROMLabel = new QLabel(tr("GBA ROMs:"));
|
||||
QLineEdit *GBAROMEdit = new QLineEdit;
|
||||
QPushButton *GBAROMButton = new QPushButton(tr("&..."));
|
||||
|
||||
QLabel *GBCROMLabel = new QLabel(tr("GBC ROMs:"));
|
||||
QLineEdit *GBCROMEdit = new QLineEdit;
|
||||
QPushButton *GBCROMButton = new QPushButton(tr("&..."));
|
||||
|
||||
QLabel *GBROMLabel = new QLabel(tr("GB ROMs:"));
|
||||
QLineEdit *GBROMEdit = new QLineEdit;
|
||||
QPushButton *GBROMButton = new QPushButton(tr("&..."));
|
||||
|
||||
QLabel *NativeSaveLabel = new QLabel(tr("Native Saves:"));
|
||||
QLineEdit *NativeSaveEdit = new QLineEdit;
|
||||
QPushButton *NativeSaveButton = new QPushButton(tr("&..."));
|
||||
|
||||
QLabel *SaveStateLabel = new QLabel(tr("Savestates:"));
|
||||
QLineEdit *SaveStateEdit = new QLineEdit;
|
||||
QPushButton *SaveStateButton = new QPushButton(tr("&..."));
|
||||
|
||||
QLabel *ScreenshotLabel = new QLabel(tr("Screenshots:"));
|
||||
QLineEdit *ScreenshotEdit = new QLineEdit;
|
||||
QPushButton *ScreenshotButton = new QPushButton(tr("&..."));
|
||||
|
||||
QLabel *GBMonoBIOSLabel = new QLabel(tr("GB Mono BIOS:"));
|
||||
QLineEdit *GBMonoBIOSEdit = new QLineEdit;
|
||||
QPushButton *GBMonoBIOSButton = new QPushButton(tr("&..."));
|
||||
|
||||
QLabel *GBABIOSLabel = new QLabel(tr("GBA BIOS:"));
|
||||
QLineEdit *GBABIOSEdit = new QLineEdit;
|
||||
QPushButton *GBABIOSButton = new QPushButton(tr("&..."));
|
||||
|
||||
|
||||
QGridLayout *DirectoryLayout = new QGridLayout;
|
||||
DirectoryLayout->addWidget(GBAROMLabel, 0, 0);
|
||||
DirectoryLayout->addWidget(GBAROMEdit, 0, 1);
|
||||
DirectoryLayout->addWidget(GBAROMButton, 0, 2);
|
||||
DirectoryLayout->addWidget(GBCROMLabel, 1, 0);
|
||||
DirectoryLayout->addWidget(GBCROMEdit, 1, 1);
|
||||
DirectoryLayout->addWidget(GBCROMButton, 1, 2);
|
||||
DirectoryLayout->addWidget(GBROMLabel, 2, 0);
|
||||
DirectoryLayout->addWidget(GBROMEdit, 2, 1);
|
||||
DirectoryLayout->addWidget(GBROMButton, 2, 2);
|
||||
DirectoryLayout->addWidget(NativeSaveLabel, 3, 0);
|
||||
DirectoryLayout->addWidget(NativeSaveEdit, 3, 1);
|
||||
DirectoryLayout->addWidget(NativeSaveButton, 3, 2);
|
||||
DirectoryLayout->addWidget(SaveStateLabel, 4, 0);
|
||||
DirectoryLayout->addWidget(SaveStateEdit, 4, 1);
|
||||
DirectoryLayout->addWidget(SaveStateButton, 4, 2);
|
||||
DirectoryLayout->addWidget(ScreenshotLabel, 5, 0);
|
||||
DirectoryLayout->addWidget(ScreenshotEdit, 5, 1);
|
||||
DirectoryLayout->addWidget(ScreenshotButton, 5, 2);
|
||||
DirectoryLayout->addWidget(GBMonoBIOSLabel, 6, 0);
|
||||
DirectoryLayout->addWidget(GBMonoBIOSEdit, 6, 1);
|
||||
DirectoryLayout->addWidget(GBMonoBIOSButton, 6, 2);
|
||||
DirectoryLayout->addWidget(GBABIOSLabel, 7, 0);
|
||||
DirectoryLayout->addWidget(GBABIOSEdit, 7, 1);
|
||||
DirectoryLayout->addWidget(GBABIOSButton, 7, 2);
|
||||
|
||||
|
||||
|
||||
DirectoryGroup->setLayout(DirectoryLayout);
|
||||
|
||||
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
mainLayout->addWidget(DirectoryGroup);
|
||||
mainLayout->addStretch(1);
|
||||
setLayout(mainLayout);
|
||||
}
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#ifndef MAINOPTIONS_H
|
||||
#define MAINOPTIONS_H
|
||||
|
||||
#include "precompile.h"
|
||||
|
||||
class VideoOptionsPage : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
VideoOptionsPage(QWidget *parent = 0);
|
||||
};
|
||||
|
||||
class InputOptionsPage : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
InputOptionsPage(QWidget *parent = 0);
|
||||
};
|
||||
|
||||
class SoundOptionsPage : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SoundOptionsPage(QWidget *parent = 0);
|
||||
};
|
||||
|
||||
class DirecOptionsPage : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DirecOptionsPage(QWidget *parent = 0);
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,383 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#include "MainWnd.h"
|
||||
|
||||
#include "version.h"
|
||||
#include "configdialog.h"
|
||||
#include "sidewidget_cheats.h"
|
||||
|
||||
|
||||
MainWnd::MainWnd( QTranslator **trans, QSettings *settings, QWidget *parent )
|
||||
: QMainWindow( parent ),
|
||||
translator( trans ),
|
||||
settings( settings ),
|
||||
fileMenu( 0 ),
|
||||
settingsMenu( 0 ),
|
||||
enableTranslationAct( 0 ),
|
||||
toolsMenu( 0 ),
|
||||
helpMenu( 0 ),
|
||||
dockWidget_cheats( 0 ),
|
||||
emuManager( 0 ),
|
||||
graphicsOutput( 0 )
|
||||
{
|
||||
createDisplay();
|
||||
setMinimumSize( 320, 240 );
|
||||
setWindowTitle( "VBA-M" );
|
||||
|
||||
createDockWidgets();
|
||||
createActions();
|
||||
createMenus();
|
||||
|
||||
loadSettings();
|
||||
|
||||
emuManager = new EmuManager();
|
||||
}
|
||||
|
||||
|
||||
MainWnd::~MainWnd()
|
||||
{
|
||||
if( emuManager != 0 ) {
|
||||
delete emuManager;
|
||||
emuManager = 0;
|
||||
}
|
||||
|
||||
if( graphicsOutput != 0 ) {
|
||||
delete graphicsOutput;
|
||||
graphicsOutput = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::loadSettings()
|
||||
{
|
||||
QVariant v;
|
||||
|
||||
v = settings->value( "MainWnd/geometry");
|
||||
if( v.isValid() ) {
|
||||
restoreGeometry( v.toByteArray() );
|
||||
}
|
||||
|
||||
v = settings->value( "MainWnd/state" );
|
||||
if( v.isValid() ) {
|
||||
restoreState( v.toByteArray() );
|
||||
}
|
||||
|
||||
v = settings->value( "App/language_file" );
|
||||
if( v.isValid() ) {
|
||||
languageFile = v.toString();
|
||||
if( loadTranslation() ) {
|
||||
// only enable language if it loaded correctly
|
||||
v = settings->value( "App/language_enable" );
|
||||
enableTranslation( v.toBool() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::saveSettings()
|
||||
{
|
||||
QVariant v;
|
||||
|
||||
v = saveGeometry();
|
||||
settings->setValue( "MainWnd/geometry", v );
|
||||
|
||||
// state of toolbars and dock widgets
|
||||
// all memorizable widgets need an objectName!
|
||||
v = saveState();
|
||||
settings->setValue( "MainWnd/state", v );
|
||||
|
||||
v = enableTranslationAct->isChecked();
|
||||
settings->setValue( "App/language_enable", v );
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::createActions()
|
||||
{
|
||||
bool enabled, checked;
|
||||
|
||||
|
||||
if( enableTranslationAct != 0 ) {
|
||||
enabled = enableTranslationAct->isEnabled(); // memorize state
|
||||
checked = enableTranslationAct->isChecked();
|
||||
delete enableTranslationAct;
|
||||
enableTranslationAct = 0;
|
||||
} else {
|
||||
enabled = false;
|
||||
checked = false;
|
||||
}
|
||||
enableTranslationAct = new QAction( tr( "Enable translation" ), this );
|
||||
enableTranslationAct->setEnabled( enabled );
|
||||
enableTranslationAct->setCheckable( true );
|
||||
enableTranslationAct->setChecked( checked );
|
||||
connect( enableTranslationAct, SIGNAL( toggled( bool ) ), this, SLOT( enableTranslation( bool ) ) );
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::createMenus()
|
||||
{
|
||||
if( fileMenu ) {
|
||||
delete fileMenu;
|
||||
fileMenu = 0;
|
||||
}
|
||||
|
||||
if( settingsMenu ) {
|
||||
delete settingsMenu;
|
||||
settingsMenu = 0;
|
||||
}
|
||||
|
||||
if( toolsMenu ) {
|
||||
delete toolsMenu;
|
||||
toolsMenu = 0;
|
||||
}
|
||||
|
||||
if( helpMenu ) {
|
||||
delete helpMenu;
|
||||
helpMenu = 0;
|
||||
}
|
||||
|
||||
|
||||
// File menu
|
||||
fileMenu = menuBar()->addMenu( tr( "File" ) );
|
||||
fileMenu->addAction( QIcon( ":/resources/open.png" ), tr( "Open ROM" ), this, SLOT( showOpenROM() ) );
|
||||
fileMenu->addAction( QIcon( ":/resources/exit.png" ), tr( "Exit" ), this, SLOT( close() ) );
|
||||
|
||||
|
||||
// Settings menu
|
||||
settingsMenu = menuBar()->addMenu( tr( "Settings" ) );
|
||||
settingsMenu->addAction( QIcon( ":/resources/settings.png" ), tr( "Main options..." ), this, SLOT( showMainOptions() ) );
|
||||
settingsMenu->addAction( QIcon( ":/resources/locale.png" ), tr( "Select language..." ), this, SLOT( selectLanguage() ) );
|
||||
settingsMenu->addAction( enableTranslationAct );
|
||||
|
||||
|
||||
// Tools menu
|
||||
toolsMenu = menuBar()->addMenu( tr( "Tools" ) );
|
||||
QAction *toggleCheats = dockWidget_cheats->toggleViewAction();
|
||||
toggleCheats->setText( tr( "Show cheats sidebar" ) );
|
||||
toolsMenu->addAction( toggleCheats ) ;
|
||||
|
||||
|
||||
// Help menu
|
||||
helpMenu = menuBar()->addMenu( tr( "Help" ) );
|
||||
|
||||
helpMenu->addAction( QIcon( ":/resources/vba-m.png" ), tr( "About VBA-M..." ), this, SLOT( showAbout() ) );
|
||||
helpMenu->addAction( QIcon( ":/resources/gl.png" ), tr( "About OpenGL..." ), this, SLOT( showAboutOpenGL() ) );
|
||||
helpMenu->addAction( QIcon( ":/resources/qt_logo.png" ), tr( "About Qt..." ), qApp, SLOT( aboutQt() ) );
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::createDockWidgets()
|
||||
{
|
||||
if( dockWidget_cheats != 0 ) {
|
||||
delete dockWidget_cheats;
|
||||
dockWidget_cheats = 0;
|
||||
}
|
||||
|
||||
// Cheat Widget
|
||||
dockWidget_cheats = new QDockWidget( tr( "Cheats" ), this );
|
||||
dockWidget_cheats->setObjectName( "dockWidget_cheats" ); // necessary for MainWnd::saveState
|
||||
SideWidget_Cheats *sw_cheats = new SideWidget_Cheats( dockWidget_cheats );
|
||||
dockWidget_cheats->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
|
||||
dockWidget_cheats->setWidget( sw_cheats );
|
||||
addDockWidget( Qt::LeftDockWidgetArea, dockWidget_cheats );
|
||||
dockWidget_cheats->hide();
|
||||
}
|
||||
|
||||
|
||||
bool MainWnd::createDisplay()
|
||||
{
|
||||
if( graphicsOutput != 0 ) {
|
||||
delete graphicsOutput;
|
||||
graphicsOutput = 0;
|
||||
}
|
||||
|
||||
graphicsOutput = new GraphicsOutput( this );
|
||||
|
||||
if( !graphicsOutput->setAPI( GraphicsOutput::QPAINTER ) ) return false;
|
||||
|
||||
setCentralWidget( graphicsOutput );
|
||||
|
||||
QTimer *timer = new QTimer( this );
|
||||
connect( timer, SIGNAL( timeout() ), graphicsOutput, SLOT( render() ) );
|
||||
timer->start( 15 ); // set to 0 for idle time processing
|
||||
// 1000 / 60 = 60 fps, but only results to 40 fps in reality.
|
||||
// possible workaround: call timer more often and return or wait if too early
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::closeEvent( QCloseEvent * )
|
||||
{
|
||||
saveSettings();
|
||||
}
|
||||
|
||||
|
||||
bool MainWnd::selectLanguage()
|
||||
{
|
||||
QString file = QFileDialog::getOpenFileName(
|
||||
this,
|
||||
tr( "Select language" ),
|
||||
"lang",
|
||||
tr( "Language files (*.qm)" ) );
|
||||
|
||||
if( file.isNull() ) return false;
|
||||
|
||||
languageFile = file;
|
||||
|
||||
bool ret = loadTranslation();
|
||||
ret &= enableTranslation( true );
|
||||
|
||||
if( ret == false ) {
|
||||
QMessageBox::critical( this, tr( "Error!" ), tr( "Language file can not be loaded!" ) );
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
bool MainWnd::loadTranslation()
|
||||
{
|
||||
settings->setValue( "App/language_file", languageFile );
|
||||
if( !languageFile.endsWith( tr( ".qm" ), Qt::CaseInsensitive ) ) return false;
|
||||
QString file = languageFile;
|
||||
|
||||
// remove current translation
|
||||
enableTranslation( false );
|
||||
if( *translator != 0 ) {
|
||||
delete *translator;
|
||||
*translator = 0;
|
||||
}
|
||||
|
||||
file.chop( 3 ); // remove file extension ".qm"
|
||||
|
||||
// load new translation
|
||||
*translator = new QTranslator();
|
||||
bool ret = (*translator)->load( file );
|
||||
enableTranslationAct->setEnabled( ret );
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
bool MainWnd::enableTranslation( bool enable )
|
||||
{
|
||||
if( enable ) {
|
||||
if( *translator != 0 ) {
|
||||
qApp->installTranslator( *translator );
|
||||
enableTranslationAct->setChecked( true );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if( *translator != 0 ) {
|
||||
qApp->removeTranslator( *translator );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// apply translation
|
||||
// the user might have to restart the application to apply changes completely
|
||||
QByteArray windowState = saveState();
|
||||
createDockWidgets();
|
||||
createActions();
|
||||
createMenus();
|
||||
restoreState( windowState );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::showAbout()
|
||||
{
|
||||
QString info( "VisualBoyAdvance-M\n" );
|
||||
info += tr( "Version" ) + " " + VERSION_STR + "\n";
|
||||
|
||||
info += tr( "Compile date:" ) + " " + __DATE__ + "\n";
|
||||
|
||||
// translators may use this string to give informations about the language file
|
||||
info += "\n" + tr ( "No language file loaded." ) + "\n";
|
||||
|
||||
info += "\n" + tr ( "This program is licensed under terms of the GNU General Public License." );
|
||||
|
||||
QMessageBox::about( this, tr( "About VBA-M" ), info );
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::showOpenROM()
|
||||
{
|
||||
QString file = QFileDialog::getOpenFileName(
|
||||
this,
|
||||
tr( "Select ROM" ),
|
||||
"",
|
||||
tr( "All ROMs (*.dmg *.sgb *.cgb *.agb *.gb *.gbc *.gba *.bin *.zip *.gz *.7z *.jma);;Game Boy ROMs (*.dmg *.gb);;Super Game Boy ROMs (*.sgb);;Game Boy Color ROMs (*.cgb *.gbc);;Game Boy Advance ROMs (*.agb *.gba);;Compressed ROMs (*.zip *.gz *.7z *.jma);;All Files (*.* *)" ) );
|
||||
|
||||
if( file.isNull() ) return;
|
||||
|
||||
emuManager->setROM( file );
|
||||
if( !emuManager->loadROM() ) {
|
||||
QMessageBox::critical( this, tr( "Error!" ), tr( "Can not load ROM!" ) );
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: start emulation
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::showMainOptions()
|
||||
{
|
||||
ConfigDialog dialog;
|
||||
dialog.exec();
|
||||
}
|
||||
|
||||
|
||||
void MainWnd::showAboutOpenGL()
|
||||
{
|
||||
QString info;
|
||||
if( QGLFormat::hasOpenGL() ) {
|
||||
QGLFormat::OpenGLVersionFlags flags = QGLFormat::openGLVersionFlags();
|
||||
if( flags & QGLFormat::OpenGL_Version_2_1 ) {
|
||||
info = tr( "OpenGL version 2.1 is present." );
|
||||
} else
|
||||
if( flags & QGLFormat::OpenGL_Version_2_0 ) {
|
||||
info = tr( "OpenGL version 2.0 is present." );
|
||||
} else
|
||||
if( flags & QGLFormat::OpenGL_Version_1_5 ) {
|
||||
info = tr( "OpenGL version 1.5 is present." );
|
||||
} else
|
||||
if( flags & QGLFormat::OpenGL_Version_1_4 ) {
|
||||
info = tr( "OpenGL version 1.4 is present." );
|
||||
} else
|
||||
if( flags & QGLFormat::OpenGL_Version_1_3 ) {
|
||||
info = tr( "OpenGL version 1.3 is present." );
|
||||
} else
|
||||
if( flags & QGLFormat::OpenGL_Version_1_2 ) {
|
||||
info = tr( "OpenGL version 1.2 is present." );
|
||||
} else
|
||||
if( flags & QGLFormat::OpenGL_Version_1_1 ) {
|
||||
info = tr( "OpenGL version 1.1 is present." );
|
||||
} else
|
||||
if( flags & QGLFormat::OpenGL_Version_None ) {
|
||||
info = tr( "OpenGL is NOT available!" );
|
||||
}
|
||||
} else {
|
||||
info = tr( "OpenGL is NOT available!" );
|
||||
}
|
||||
|
||||
QMessageBox *test = new QMessageBox( QMessageBox::NoIcon, tr( "About OpenGL" ), info, QMessageBox::NoButton, this );
|
||||
test->setWindowIcon( QIcon( ":/resources/gl.png" ) );
|
||||
test->show();
|
||||
}
|
|
@ -1,68 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#ifndef MAINWND_H
|
||||
#define MAINWND_H
|
||||
|
||||
#include "precompile.h"
|
||||
|
||||
#include "EmuManager.h"
|
||||
#include "GraphicsOutput.h"
|
||||
|
||||
class MainWnd : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
MainWnd( QTranslator **trans, QSettings *settings, QWidget *parent = 0 );
|
||||
~MainWnd();
|
||||
|
||||
public slots:
|
||||
void closeEvent( QCloseEvent * );
|
||||
|
||||
private:
|
||||
void loadSettings();
|
||||
void saveSettings();
|
||||
bool loadTranslation();
|
||||
void createActions();
|
||||
void createMenus();
|
||||
void createDockWidgets();
|
||||
bool createDisplay();
|
||||
|
||||
QTranslator **translator;
|
||||
QString languageFile;
|
||||
QSettings *settings;
|
||||
QMenu *fileMenu;
|
||||
QMenu *settingsMenu;
|
||||
QAction *enableTranslationAct;
|
||||
QMenu *toolsMenu;
|
||||
QMenu *helpMenu;
|
||||
QDockWidget *dockWidget_cheats;
|
||||
EmuManager *emuManager;
|
||||
GraphicsOutput *graphicsOutput;
|
||||
|
||||
private slots:
|
||||
bool selectLanguage();
|
||||
bool enableTranslation( bool enable );
|
||||
void showAbout();
|
||||
void showAboutOpenGL();
|
||||
void showOpenROM();
|
||||
void showMainOptions();
|
||||
};
|
||||
|
||||
#endif // #ifndef MAINWND_H
|
|
@ -1,102 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#include "configdialog.h"
|
||||
|
||||
#include "MainOptions.h"
|
||||
|
||||
ConfigDialog::ConfigDialog()
|
||||
{
|
||||
// close button
|
||||
QPushButton *closeButton = new QPushButton( tr( "Close" ) );
|
||||
closeButton->setMaximumSize( closeButton->sizeHint() );
|
||||
connect( closeButton, SIGNAL( clicked() ), this, SLOT( close() ) );
|
||||
|
||||
// settings
|
||||
pagesWidget = new QStackedWidget;
|
||||
pagesWidget->addWidget( new VideoOptionsPage( pagesWidget ) );
|
||||
pagesWidget->addWidget( new SoundOptionsPage( pagesWidget ) );
|
||||
pagesWidget->addWidget( new InputOptionsPage( pagesWidget ) );
|
||||
pagesWidget->addWidget( new DirecOptionsPage( pagesWidget ) );
|
||||
|
||||
// item box
|
||||
contentsWidget = new QListWidget;
|
||||
contentsWidget->setViewMode( QListView::IconMode );
|
||||
contentsWidget->setIconSize( QSize( 64, 64 ) );
|
||||
contentsWidget->setUniformItemSizes( true ); // enable optimizations
|
||||
contentsWidget->setMovement( QListView::Static );
|
||||
contentsWidget->setResizeMode( QListView::Adjust );
|
||||
contentsWidget->setFlow( QListView::TopToBottom );
|
||||
contentsWidget->setSpacing( 8 );
|
||||
createIcons();
|
||||
contentsWidget->setCurrentRow( 0 );
|
||||
// set optimal width
|
||||
int width = contentsWidget->sizeHintForColumn( 0 ) + 16; // not 100% accurate yet!
|
||||
contentsWidget->setMinimumWidth( width );
|
||||
contentsWidget->setMaximumWidth( width );
|
||||
|
||||
// set up layout
|
||||
QVBoxLayout *verticalLayout = new QVBoxLayout;
|
||||
verticalLayout->addWidget( pagesWidget );
|
||||
verticalLayout->addWidget( closeButton, 0, Qt::AlignRight );
|
||||
|
||||
QHBoxLayout *horizontalLayout = new QHBoxLayout( this );
|
||||
horizontalLayout->addWidget( contentsWidget );
|
||||
horizontalLayout->addLayout( verticalLayout );
|
||||
|
||||
setWindowTitle(tr("Options"));
|
||||
setWindowIcon( QIcon( ":/resources/settings.png" ) );
|
||||
}
|
||||
|
||||
void ConfigDialog::createIcons()
|
||||
{
|
||||
QListWidgetItem *VideoButton = new QListWidgetItem(contentsWidget); // automatically inserts item into parent
|
||||
VideoButton->setIcon(QIcon(":/resources/video.png"));
|
||||
VideoButton->setText(tr("Video"));
|
||||
VideoButton->setTextAlignment(Qt::AlignHCenter);
|
||||
VideoButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QListWidgetItem *SoundButton = new QListWidgetItem(contentsWidget);
|
||||
SoundButton->setIcon(QIcon(":/resources/sound.png"));
|
||||
SoundButton->setText(tr("Sound"));
|
||||
SoundButton->setTextAlignment(Qt::AlignHCenter);
|
||||
SoundButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QListWidgetItem *InputButton = new QListWidgetItem(contentsWidget);
|
||||
InputButton->setIcon(QIcon(":/resources/input.png"));
|
||||
InputButton->setText(tr("Input"));
|
||||
InputButton->setTextAlignment(Qt::AlignHCenter);
|
||||
InputButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QListWidgetItem *DirecButton = new QListWidgetItem(contentsWidget);
|
||||
DirecButton->setIcon(QIcon(":/resources/folder-orange.png"));
|
||||
DirecButton->setText(tr("Directory"));
|
||||
DirecButton->setTextAlignment(Qt::AlignHCenter);
|
||||
DirecButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
connect(contentsWidget,
|
||||
SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
|
||||
this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
|
||||
}
|
||||
|
||||
void ConfigDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous)
|
||||
{
|
||||
if (!current)
|
||||
current = previous;
|
||||
pagesWidget->setCurrentIndex(contentsWidget->row(current));
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#ifndef CONFIGDIALOG_H
|
||||
#define CONFIGDIALOG_H
|
||||
|
||||
#include "precompile.h"
|
||||
|
||||
class ConfigDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ConfigDialog();
|
||||
|
||||
public slots:
|
||||
void changePage( QListWidgetItem *current, QListWidgetItem *previous );
|
||||
|
||||
private:
|
||||
void createIcons();
|
||||
|
||||
QListWidget *contentsWidget;
|
||||
QStackedWidget *pagesWidget;
|
||||
};
|
||||
|
||||
#endif
|
175
src/qt/emu.cpp
|
@ -1,175 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
// This file adds all the code required by System.h
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
|
||||
int emulating = 0;
|
||||
int systemFrameSkip = 0;
|
||||
int systemSaveUpdateCounter = SYSTEM_SAVE_NOT_UPDATED;
|
||||
u32 systemColorMap32[0x10000];
|
||||
u16 systemColorMap16[0x10000];
|
||||
int systemRedShift = 0;
|
||||
int systemBlueShift = 0;
|
||||
int systemGreenShift = 0;
|
||||
int systemColorDepth = 32;
|
||||
int systemDebug = 0;
|
||||
int systemVerbose = 0;
|
||||
|
||||
void (*dbgSignal)( int sig, int number ) = debuggerSignal;
|
||||
void (*dbgOutput)( const char *s, u32 addr ) = debuggerOutput;
|
||||
|
||||
|
||||
bool systemReadJoypads()
|
||||
{
|
||||
// TODO: implement
|
||||
return false;
|
||||
}
|
||||
|
||||
u32 systemReadJoypad( int which )
|
||||
{
|
||||
// TODO: implement
|
||||
return 0;
|
||||
}
|
||||
|
||||
void systemUpdateMotionSensor()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
int systemGetSensorX()
|
||||
{
|
||||
// TODO: implement
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int systemGetSensorY()
|
||||
{
|
||||
// TODO: implement
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
u32 systemGetClock()
|
||||
{
|
||||
// TODO: implement
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void systemMessage( int number, const char *defaultMsg, ... )
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
void systemScreenCapture( int captureNumber )
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
void systemDrawScreen()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
void systemShowSpeed( int speed )
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
void system10Frames( int rate )
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
void systemFrame()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
bool systemPauseOnFrame()
|
||||
{
|
||||
// TODO: implement
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void debuggerOutput( const char *s, u32 addr )
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
void debuggerSignal( int sig,int number )
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
void winlog( const char *msg, ... )
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
void systemWriteDataToSoundBuffer()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
void systemSoundShutdown()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
void systemSoundPause()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
void systemSoundResume()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
void systemSoundReset()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
bool systemSoundInit()
|
||||
{
|
||||
// TODO: implement
|
||||
return false;
|
||||
}
|
||||
|
||||
bool systemCanChangeSoundQuality()
|
||||
{
|
||||
// TODO: implement
|
||||
return false;
|
||||
}
|
70
src/qt/emu.h
|
@ -1,70 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#ifndef EMU_H
|
||||
#define EMU_H
|
||||
|
||||
|
||||
#include "../System.h"
|
||||
|
||||
|
||||
// Global Variables
|
||||
extern int emulating;
|
||||
extern int systemFrameSkip;
|
||||
extern int systemSaveUpdateCounter;
|
||||
extern u32 systemColorMap32[0x10000];
|
||||
extern u16 systemColorMap16[0x10000];
|
||||
extern int systemRedShift;
|
||||
extern int systemBlueShift;
|
||||
extern int systemGreenShift;
|
||||
extern int systemColorDepth;
|
||||
extern int systemDebug;
|
||||
extern int systemVerbose;
|
||||
|
||||
|
||||
// Global Functions
|
||||
bool systemReadJoypads();
|
||||
u32 systemReadJoypad( int which );
|
||||
void systemUpdateMotionSensor();
|
||||
int systemGetSensorX();
|
||||
int systemGetSensorY();
|
||||
u32 systemGetClock();
|
||||
|
||||
void systemMessage( int number, const char *defaultMsg, ... );
|
||||
void winlog( const char *msg, ... );
|
||||
|
||||
void debuggerSignal( int sig,int number );
|
||||
void debuggerOutput( const char *s, u32 addr );
|
||||
|
||||
bool systemPauseOnFrame();
|
||||
void systemScreenCapture( int captureNumber );
|
||||
void systemDrawScreen();
|
||||
void systemShowSpeed( int speed );
|
||||
void system10Frames( int rate );
|
||||
void systemFrame();
|
||||
|
||||
void systemWriteDataToSoundBuffer();
|
||||
void systemSoundShutdown();
|
||||
void systemSoundPause();
|
||||
void systemSoundResume();
|
||||
void systemSoundReset();
|
||||
bool systemSoundInit();
|
||||
bool systemCanChangeSoundQuality();
|
||||
|
||||
|
||||
#endif // #ifndef EMU_H
|
|
@ -1,34 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#include "MainWnd.h"
|
||||
|
||||
int main( int argc, char *argv[] )
|
||||
{
|
||||
QApplication theApp( argc, argv );
|
||||
// create/open ini file for settings
|
||||
QSettings settings( "vba-m.ini", QSettings::IniFormat, &theApp );
|
||||
QTranslator *translator = 0;
|
||||
|
||||
MainWnd *mainWnd = new MainWnd( &translator, &settings, 0 );
|
||||
mainWnd->show();
|
||||
|
||||
return theApp.exec();
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#ifndef MAIN_H
|
||||
#define MAIN_H
|
||||
|
||||
#include "precompile.h"
|
||||
|
||||
#endif // #ifndef MAIN_H
|
|
@ -1,29 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
#ifndef PRECOMPILE_H
|
||||
#define PRECOMPILE_H
|
||||
|
||||
#if defined __cplusplus
|
||||
// Add C++ includes here
|
||||
#include <QtGui/QtGui>
|
||||
#include <QtOpenGL/QtOpenGL>
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
|
||||
#endif // #ifndef PRECOMPILE_H
|
Before Width: | Height: | Size: 842 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 599 B |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 750 B |
Before Width: | Height: | Size: 419 B |
Before Width: | Height: | Size: 451 B |
Before Width: | Height: | Size: 874 B |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 604 B |
Before Width: | Height: | Size: 2.8 KiB |
|
@ -1,24 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "sidewidget_cheats.h"
|
||||
|
||||
SideWidget_Cheats::SideWidget_Cheats( QWidget *parent )
|
||||
: QWidget( parent )
|
||||
{
|
||||
ui.setupUi( this );
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef SIDEWIDGET_CHEAT_H
|
||||
#define SIDEWIDGET_CHEAT_H
|
||||
|
||||
#include "precompile.h"
|
||||
|
||||
#include "ui_sidewidget_cheats.h"
|
||||
|
||||
class SideWidget_Cheats : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SideWidget_Cheats( QWidget *parent = 0 );
|
||||
|
||||
private:
|
||||
Ui::sidewidget_cheats ui;
|
||||
};
|
||||
|
||||
#endif // #ifndef SIDEWIDGET_CHEAT_H
|
|
@ -1,47 +0,0 @@
|
|||
<ui version="4.0" >
|
||||
<class>sidewidget_cheats</class>
|
||||
<widget class="QWidget" name="sidewidget_cheats" >
|
||||
<property name="geometry" >
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>160</width>
|
||||
<height>320</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize" >
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle" >
|
||||
<string>Cheats</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" >
|
||||
<item>
|
||||
<layout class="QHBoxLayout" >
|
||||
<item>
|
||||
<widget class="QCheckBox" name="enableCheatsCheckbox" >
|
||||
<property name="text" >
|
||||
<string>Enable</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="searchForCheatsButton" >
|
||||
<property name="text" >
|
||||
<string>Search...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QListWidget" name="cheatListWidget" />
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -1,15 +0,0 @@
|
|||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<file>resources/video.png</file>
|
||||
<file>resources/input.png</file>
|
||||
<file>resources/sound.png</file>
|
||||
<file>resources/folder-orange.png</file>
|
||||
<file>resources/exit.png</file>
|
||||
<file>resources/locale.png</file>
|
||||
<file>resources/settings.png</file>
|
||||
<file>resources/open.png</file>
|
||||
<file>resources/qt_logo.png</file>
|
||||
<file>resources/gl.png</file>
|
||||
<file>resources/vba-m.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -1,32 +0,0 @@
|
|||
#include "version.h"
|
||||
|
||||
IDI_ICON1 ICON DISCARDABLE "../../src/win32/res/VBA.ico"
|
||||
|
||||
|
||||
#include <WinVer.h>
|
||||
|
||||
1 VERSIONINFO /* Must have 1 as ID */
|
||||
FILEVERSION VERSION
|
||||
PRODUCTVERSION VERSION
|
||||
FILEFLAGSMASK 0x0L /* None set */
|
||||
FILEFLAGS 0x0L
|
||||
FILEOS VOS_NT
|
||||
FILETYPE VFT_APP
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904B0" /* U.S. English & Unicode */
|
||||
BEGIN
|
||||
VALUE "Comments", "Qt build"
|
||||
VALUE "CompanyName", "VBA-M development team"
|
||||
VALUE "FileDescription", "A Nintendo Handheld Console Emulator"
|
||||
VALUE "FileVersion", VERSION_STR
|
||||
VALUE "InternalName", "vba-m"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2008 VBA-M development team"
|
||||
VALUE "OriginalFilename", "VisualBoyAdvance.exe"
|
||||
VALUE "ProductName", "VisualBoyAdvance-M"
|
||||
VALUE "ProductVersion", VERSION_STR
|
||||
END
|
||||
END
|
||||
END
|
|
@ -1,26 +0,0 @@
|
|||
// VBA-M, A Nintendo Handheld Console Emulator
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VERSION_H
|
||||
#define VERSION_H
|
||||
|
||||
// Windows VERSIONINFO compatible
|
||||
#define VERSION 0,0,0,0
|
||||
|
||||
#define VERSION_STR "SVN"
|
||||
|
||||
#endif
|