You can subscribe to this list here.
2004 |
Jan
(17) |
Feb
(38) |
Mar
(24) |
Apr
(18) |
May
(75) |
Jun
(2) |
Jul
|
Aug
|
Sep
(21) |
Oct
(3) |
Nov
(19) |
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(15) |
Jul
(2) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2006 |
Jan
(8) |
Feb
|
Mar
|
Apr
(6) |
May
(73) |
Jun
(57) |
Jul
(12) |
Aug
(68) |
Sep
(6) |
Oct
|
Nov
|
Dec
|
From: S?bastien G. <kx...@us...> - 2004-05-01 14:04:11
|
Update of /cvsroot/vba/VisualBoyAdvance/src/sdl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13445/src/sdl Modified Files: Makefile.in Log Message: Added gtkmm 2.4 support. Index: Makefile.in =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/sdl/Makefile.in,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.in 29 Mar 2004 22:08:40 -0000 1.1 --- Makefile.in 1 May 2004 14:04:03 -0000 1.2 *************** *** 64,67 **** --- 64,68 ---- GMSGFMT = @GMSGFMT@ GTKMM_CFLAGS = @GTKMM_CFLAGS@ + GTKMM_CPPFLAGS = @GTKMM_CPPFLAGS@ GTKMM_LIBS = @GTKMM_LIBS@ INSTALL_DATA = @INSTALL_DATA@ |
From: S?bastien G. <kx...@us...> - 2004-05-01 14:04:10
|
Update of /cvsroot/vba/VisualBoyAdvance/src/i386 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13445/src/i386 Modified Files: Makefile.in Log Message: Added gtkmm 2.4 support. Index: Makefile.in =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/i386/Makefile.in,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile.in 29 Mar 2004 22:08:40 -0000 1.7 --- Makefile.in 1 May 2004 14:04:02 -0000 1.8 *************** *** 64,67 **** --- 64,68 ---- GMSGFMT = @GMSGFMT@ GTKMM_CFLAGS = @GTKMM_CFLAGS@ + GTKMM_CPPFLAGS = @GTKMM_CPPFLAGS@ GTKMM_LIBS = @GTKMM_LIBS@ INSTALL_DATA = @INSTALL_DATA@ |
From: S?bastien G. <kx...@us...> - 2004-04-29 01:44:47
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7130 Modified Files: Makefile.am Makefile.in vba.glade window.cpp window.h Added Files: windowcallbacks.cpp Log Message: Added load/save game slots support. Index: Makefile.am =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.am 2 Apr 2004 01:22:17 -0000 1.2 --- Makefile.am 29 Apr 2004 01:44:35 -0000 1.3 *************** *** 17,20 **** --- 17,21 ---- tools.cpp \ tools.h \ + windowcallbacks.cpp \ window.cpp \ window.h Index: window.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** window.h 27 Apr 2004 23:16:32 -0000 1.10 --- window.h 29 Apr 2004 01:44:36 -0000 1.11 *************** *** 21,28 **** --- 21,31 ---- #define __VBA_WINDOW_H__ + #include <sys/types.h> + #include <libglademm.h> #include <gtkmm.h> #include <string> + #include <list> #include "../System.h" *************** *** 121,124 **** --- 124,132 ---- virtual void vOnFileOpen(); + virtual void vOnLoadGameMostRecent(); + virtual void vOnLoadGameAutoToggled(Gtk::CheckMenuItem * _poCMI); + virtual void vOnLoadGame(int _iSlot); + virtual void vOnSaveGameOldest(); + virtual void vOnSaveGame(int _iSlot); virtual void vOnFilePauseToggled(Gtk::CheckMenuItem * _poCMI); virtual void vOnFileReset(); *************** *** 206,209 **** --- 214,230 ---- Gtk::CheckMenuItem * m_poSoundOffItem; + struct SGameSlot + { + bool m_bEmpty; + std::string m_sFile; + time_t m_uiTime; + }; + + Gtk::MenuItem * m_apoLoadGameItem[10]; + Gtk::MenuItem * m_apoSaveGameItem[10]; + SGameSlot m_astGameSlot[10]; + + std::list<Gtk::Widget *> m_listSensitiveWhenPlaying; + SigC::Connection m_oEmuSig; *************** *** 238,247 **** void vLoadBattery(); void vSaveBattery(); - void vLoadState(int _iNum); - void vSaveState(int _iNum); void vStartEmu(); void vStopEmu(); void vSetThrottle(int _iPercent); void vSelectBestThrottleItem(); }; --- 259,267 ---- void vLoadBattery(); void vSaveBattery(); void vStartEmu(); void vStopEmu(); void vSetThrottle(int _iPercent); void vSelectBestThrottleItem(); + void vUpdateGameSlots(); }; Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** window.cpp 27 Apr 2004 23:16:32 -0000 1.10 --- window.cpp 29 Apr 2004 01:44:36 -0000 1.11 *************** *** 19,25 **** #include "window.h" - #include <sys/types.h> #include <sys/stat.h> #include <SDL.h> --- 19,27 ---- #include "window.h" [...991 lines suppressed...] ! char csDateTime[30]; ! strftime(csDateTime, sizeof(csDateTime), csDateFormat, ! localtime(&stStat.st_mtime)); ! sDateTime = csDateTime; ! m_astGameSlot[i].m_bEmpty = false; ! m_astGameSlot[i].m_uiTime = stStat.st_mtime; } ! Gtk::Label * poLabel; ! poLabel = dynamic_cast<Gtk::Label *>(m_apoLoadGameItem[i]->get_child()); ! poLabel->set_text(csPrefix + sDateTime); ! m_apoLoadGameItem[i]->set_sensitive(! m_astGameSlot[i].m_bEmpty); ! poLabel = dynamic_cast<Gtk::Label *>(m_apoSaveGameItem[i]->get_child()); ! poLabel->set_text(csPrefix + sDateTime); ! m_apoSaveGameItem[i]->set_sensitive(); } } } Index: Makefile.in =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/Makefile.in,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.in 2 Apr 2004 01:22:17 -0000 1.2 --- Makefile.in 29 Apr 2004 01:44:36 -0000 1.3 *************** *** 169,172 **** --- 169,173 ---- tools.cpp \ tools.h \ + windowcallbacks.cpp \ window.cpp \ window.h *************** *** 287,291 **** gvba-input.$(OBJEXT) gvba-main.$(OBJEXT) \ gvba-screenarea.$(OBJEXT) gvba-system.$(OBJEXT) \ ! gvba-tools.$(OBJEXT) gvba-window.$(OBJEXT) gvba_OBJECTS = $(am_gvba_OBJECTS) gvba_DEPENDENCIES = libgba.a --- 288,293 ---- gvba-input.$(OBJEXT) gvba-main.$(OBJEXT) \ gvba-screenarea.$(OBJEXT) gvba-system.$(OBJEXT) \ ! gvba-tools.$(OBJEXT) gvba-windowcallbacks.$(OBJEXT) \ ! gvba-window.$(OBJEXT) gvba_OBJECTS = $(am_gvba_OBJECTS) gvba_DEPENDENCIES = libgba.a *************** *** 302,305 **** --- 304,308 ---- @AMDEP_TRUE@ ./$(DEPDIR)/gvba-tools.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/gvba-window.Po \ + @AMDEP_TRUE@ ./$(DEPDIR)/gvba-windowcallbacks.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/libgba_a-2xSaI.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/libgba_a-Cheats.Po \ *************** *** 412,415 **** --- 415,419 ---- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-tools.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-window.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-windowcallbacks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgba_a-2xSaI.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgba_a-Cheats.Po@am__quote@ *************** *** 1416,1419 **** --- 1420,1445 ---- @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-tools.obj `if test -f 'tools.cpp'; then $(CYGPATH_W) 'tools.cpp'; else $(CYGPATH_W) '$(srcdir)/tools.cpp'; fi` + gvba-windowcallbacks.o: windowcallbacks.cpp + @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-windowcallbacks.o -MD -MP -MF "$(DEPDIR)/gvba-windowcallbacks.Tpo" \ + @am__fastdepCXX_TRUE@ -c -o gvba-windowcallbacks.o `test -f 'windowcallbacks.cpp' || echo '$(srcdir)/'`windowcallbacks.cpp; \ + @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-windowcallbacks.Tpo" "$(DEPDIR)/gvba-windowcallbacks.Po"; \ + @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-windowcallbacks.Tpo"; exit 1; \ + @am__fastdepCXX_TRUE@ fi + @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='windowcallbacks.cpp' object='gvba-windowcallbacks.o' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-windowcallbacks.Po' tmpdepfile='$(DEPDIR)/gvba-windowcallbacks.TPo' @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-windowcallbacks.o `test -f 'windowcallbacks.cpp' || echo '$(srcdir)/'`windowcallbacks.cpp + + gvba-windowcallbacks.obj: windowcallbacks.cpp + @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-windowcallbacks.obj -MD -MP -MF "$(DEPDIR)/gvba-windowcallbacks.Tpo" \ + @am__fastdepCXX_TRUE@ -c -o gvba-windowcallbacks.obj `if test -f 'windowcallbacks.cpp'; then $(CYGPATH_W) 'windowcallbacks.cpp'; else $(CYGPATH_W) '$(srcdir)/windowcallbacks.cpp'; fi`; \ + @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-windowcallbacks.Tpo" "$(DEPDIR)/gvba-windowcallbacks.Po"; \ + @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-windowcallbacks.Tpo"; exit 1; \ + @am__fastdepCXX_TRUE@ fi + @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='windowcallbacks.cpp' object='gvba-windowcallbacks.obj' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-windowcallbacks.Po' tmpdepfile='$(DEPDIR)/gvba-windowcallbacks.TPo' @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-windowcallbacks.obj `if test -f 'windowcallbacks.cpp'; then $(CYGPATH_W) 'windowcallbacks.cpp'; else $(CYGPATH_W) '$(srcdir)/windowcallbacks.cpp'; fi` + gvba-window.o: window.cpp @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-window.o -MD -MP -MF "$(DEPDIR)/gvba-window.Tpo" \ Index: vba.glade =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/vba.glade,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** vba.glade 27 Apr 2004 23:16:31 -0000 1.7 --- vba.glade 29 Apr 2004 01:44:36 -0000 1.8 *************** *** 51,55 **** <child internal-child="image"> ! <widget class="GtkImage" id="image90"> <property name="visible">True</property> <property name="stock">gtk-open</property> --- 51,55 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image106"> <property name="visible">True</property> <property name="stock">gtk-open</property> *************** *** 93,96 **** --- 93,214 ---- <property name="label" translatable="yes">Loa_d game</property> <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="LoadGameMenu_menu"> + + <child> + <widget class="GtkMenuItem" id="LoadGameMostRecent"> + <property name="visible">True</property> + <property name="label" translatable="yes">Most recent</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkCheckMenuItem" id="LoadGameAuto"> + <property name="visible">True</property> + <property name="label" translatable="yes">Auto load most recent</property> + <property name="use_underline">True</property> + <property name="active">False</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator28"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot1"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot1</property> + <property name="use_underline">True</property> + <accelerator key="F1" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot2"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot2</property> + <property name="use_underline">True</property> + <accelerator key="F2" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot3"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot3</property> + <property name="use_underline">True</property> + <accelerator key="F3" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot4"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot4</property> + <property name="use_underline">True</property> + <accelerator key="F4" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot5"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot5</property> + <property name="use_underline">True</property> + <accelerator key="F5" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot6"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot6</property> + <property name="use_underline">True</property> + <accelerator key="F6" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot7"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot7</property> + <property name="use_underline">True</property> + <accelerator key="F7" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot8"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot8</property> + <property name="use_underline">True</property> + <accelerator key="F8" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot9"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot9</property> + <property name="use_underline">True</property> + <accelerator key="F9" modifiers="0" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="LoadGameSlot10"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot10</property> + <property name="use_underline">True</property> + <accelerator key="F10" modifiers="0" signal="activate"/> + </widget> + </child> + </widget> + </child> </widget> </child> *************** *** 101,104 **** --- 219,331 ---- <property name="label" translatable="yes">S_ave game</property> <property name="use_underline">True</property> + + <child> + <widget class="GtkMenu" id="SaveGameMenu_menu"> + + <child> + <widget class="GtkMenuItem" id="SaveGameOldest"> + <property name="visible">True</property> + <property name="label" translatable="yes">Oldest slot</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkSeparatorMenuItem" id="separator27"> + <property name="visible">True</property> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot1"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot1</property> + <property name="use_underline">True</property> + <accelerator key="F1" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot2"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot2</property> + <property name="use_underline">True</property> + <accelerator key="F2" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot3"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot3</property> + <property name="use_underline">True</property> + <accelerator key="F3" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot4"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot4</property> + <property name="use_underline">True</property> + <accelerator key="F4" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot5"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot5</property> + <property name="use_underline">True</property> + <accelerator key="F5" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot6"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot6</property> + <property name="use_underline">True</property> + <accelerator key="F6" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot7"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot7</property> + <property name="use_underline">True</property> + <accelerator key="F7" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot8"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot8</property> + <property name="use_underline">True</property> + <accelerator key="F8" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot9"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot9</property> + <property name="use_underline">True</property> + <accelerator key="F9" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + + <child> + <widget class="GtkMenuItem" id="SaveGameSlot10"> + <property name="visible">True</property> + <property name="label" translatable="yes">Slot10</property> + <property name="use_underline">True</property> + <accelerator key="F10" modifiers="GDK_SHIFT_MASK" signal="activate"/> + </widget> + </child> + </widget> + </child> </widget> </child> *************** *** 200,204 **** <child internal-child="image"> ! <widget class="GtkImage" id="image91"> <property name="visible">True</property> <property name="stock">gtk-close</property> --- 427,431 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image107"> <property name="visible">True</property> <property name="stock">gtk-close</property> *************** *** 221,225 **** <child internal-child="image"> ! <widget class="GtkImage" id="image92"> <property name="visible">True</property> <property name="stock">gtk-quit</property> --- 448,452 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image108"> <property name="visible">True</property> <property name="stock">gtk-quit</property> --- NEW FILE: windowcallbacks.cpp --- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten // Copyright (C) 2004 Forgotten and the VBA 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 "window.h" #include <sys/stat.h> #include <stdio.h> #include <time.h> #include <SDL.h> #include "../GBA.h" #include "../gb/GB.h" #include "../gb/gbGlobals.h" #include "../gb/gbPrinter.h" #include "../Sound.h" #include "../Util.h" #include "tools.h" #include "intl.h" extern int systemRenderedFrames; extern int systemFPS; extern bool debugger; extern int RGB_LOW_BITS_MASK; #ifdef MMX extern "C" bool cpu_mmx; #endif // MMX namespace VBA { using Gnome::Glade::Xml; void Window::vOnFileOpen() { if (m_poFileOpenDialog == NULL) { m_poFileOpenDialog = new Gtk::FileSelection(_("Open")); m_poFileOpenDialog->set_transient_for(*this); std::string sDir = m_poDirConfig->sGetKey("gba_roms"); if (sDir != "") { m_poFileOpenDialog->set_filename(sDir + "/"); } } while (m_poFileOpenDialog->run() == Gtk::RESPONSE_OK) { if (bLoadROM(m_poFileOpenDialog->get_filename())) { break; } } m_poFileOpenDialog->hide(); } void Window::vOnLoadGameMostRecent() { int iMostRecent = -1; time_t uiTimeMax; for (int i = 0; i < 10; i++) { if (! m_astGameSlot[i].m_bEmpty && (iMostRecent < 0 || m_astGameSlot[i].m_uiTime > uiTimeMax)) { iMostRecent = i; uiTimeMax = m_astGameSlot[i].m_uiTime; } } if (iMostRecent >= 0) { vOnLoadGame(iMostRecent + 1); } } void Window::vOnLoadGameAutoToggled(Gtk::CheckMenuItem * _poCMI) { m_poCoreConfig->vSetKey("load_game_auto", _poCMI->get_active()); } void Window::vOnLoadGame(int _iSlot) { int i = _iSlot - 1; if (! m_astGameSlot[i].m_bEmpty) { m_stEmulator.emuReadState(m_astGameSlot[i].m_sFile.c_str()); m_poFilePauseItem->set_active(false); } } void Window::vOnSaveGameOldest() { int iOldest = -1; time_t uiTimeMin; for (int i = 0; i < 10; i++) { if (! m_astGameSlot[i].m_bEmpty && (iOldest < 0 || m_astGameSlot[i].m_uiTime < uiTimeMin)) { iOldest = i; uiTimeMin = m_astGameSlot[i].m_uiTime; } } if (iOldest >= 0) { vOnSaveGame(iOldest + 1); } else { vOnSaveGame(1); } } void Window::vOnSaveGame(int _iSlot) { int i = _iSlot - 1; m_stEmulator.emuWriteState(m_astGameSlot[i].m_sFile.c_str()); vUpdateGameSlots(); } void Window::vOnFilePauseToggled(Gtk::CheckMenuItem * _poCMI) { m_bPaused = _poCMI->get_active(); if (emulating) { if (m_bPaused) { vStopEmu(); soundPause(); } else { vStartEmu(); soundResume(); } } } void Window::vOnFileReset() { if (emulating) { m_stEmulator.emuReset(); m_poFilePauseItem->set_active(false); } } void Window::vOnFileClose() { if (emulating) { soundPause(); vStopEmu(); vSetDefaultTitle(); vDrawDefaultScreen(); vSaveBattery(); m_stEmulator.emuCleanUp(); m_eCartridge = CartridgeNone; emulating = 0; vUpdateGameSlots(); for (std::list<Gtk::Widget *>::iterator it = m_listSensitiveWhenPlaying.begin(); it != m_listSensitiveWhenPlaying.end(); it++) { (*it)->set_sensitive(false); } m_poFilePauseItem->set_active(false); } } void Window::vOnFileExit() { hide(); } void Window::vOnFrameskipToggled(Gtk::CheckMenuItem * _poCMI, int _iValue) { if (! _poCMI->get_active()) { return; } if (_iValue >= 0 && _iValue <= 9) { m_poCoreConfig->vSetKey("frameskip", _iValue); gbFrameSkip = _iValue; systemFrameSkip = _iValue; m_bAutoFrameskip = false; } else { m_poCoreConfig->vSetKey("frameskip", "auto"); gbFrameSkip = 0; systemFrameSkip = 0; m_bAutoFrameskip = true; } } void Window::vOnThrottleToggled(Gtk::CheckMenuItem * _poCMI, int _iPercent) { if (! _poCMI->get_active()) { return; } vSetThrottle(_iPercent); // Initialize the frameskip adjustment each time throttle is changed if (m_bAutoFrameskip) { systemFrameSkip = 0; } } void Window::vOnThrottleOther(Gtk::CheckMenuItem * _poCMI) { if (! _poCMI->get_active()) { return; } Glib::RefPtr<Xml> poXml; poXml = Xml::create(PKGDATADIR "/vba.glade", "ThrottleDialog"); Gtk::Dialog * poDialog = dynamic_cast<Gtk::Dialog *>(poXml->get_widget("ThrottleDialog")); Gtk::SpinButton * poSpin = dynamic_cast<Gtk::SpinButton *>(poXml->get_widget("ThrottleSpin")); poDialog->set_transient_for(*this); if (m_iThrottle != 0) { poSpin->set_value(m_iThrottle); } else { poSpin->set_value(100); } if (poDialog->run() == Gtk::RESPONSE_OK) { vSetThrottle(poSpin->get_value_as_int()); } delete poDialog; vSelectBestThrottleItem(); } void Window::vOnVideoScaleToggled(Gtk::CheckMenuItem * _poCMI, int _iScale) { if (! _poCMI->get_active()) { return; } m_poDisplayConfig->vSetKey("scale", _iScale); vUpdateScreen(); } void Window::vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer) { int iMask = (0x0100 << _iLayer); if (_poCMI->get_active()) { layerSettings |= iMask; } else { layerSettings &= ~iMask; } layerEnable = DISPCNT & layerSettings; const char * acsLayers[] = { "layer_bg0", "layer_bg1", "layer_bg2", "layer_bg3", "layer_obj", "layer_win0", "layer_win1", "layer_objwin" }; m_poCoreConfig->vSetKey(acsLayers[_iLayer], _poCMI->get_active()); } void Window::vOnDirectories() { Glib::RefPtr<Xml> poXml; poXml = Xml::create(PKGDATADIR "/vba.glade", "DirectoriesDialog"); struct { const char * m_csKey; const char * m_csEntry; const char * m_csResetButton; const char * m_csSelectButton; } astRow[] = { { "gba_roms", "GBARomsDirEntry", "GBARomsDirResetButton", "GBARomsDirSelectButton" }, { "gb_roms", "GBRomsDirEntry", "GBRomsDirResetButton", "GBRomsDirSelectButton" }, { "batteries", "BatteriesDirEntry", "BatteriesDirResetButton", "BatteriesDirSelectButton" }, { "saves", "SavesDirEntry", "SavesDirResetButton", "SavesDirSelectButton" }, { "captures", "CapturesDirEntry", "CapturesDirResetButton", "CapturesDirSelectButton" } }; for (guint i = 0; i < sizeof(astRow) / sizeof(astRow[0]); i++) { Gtk::Entry * poEntry = dynamic_cast<Gtk::Entry *>(poXml->get_widget(astRow[i].m_csEntry)); Gtk::Button * poReset = dynamic_cast<Gtk::Button *>(poXml->get_widget(astRow[i].m_csResetButton)); Gtk::Button * poSelect = dynamic_cast<Gtk::Button *>(poXml->get_widget(astRow[i].m_csSelectButton)); poEntry->set_text(m_poDirConfig->sGetKey(astRow[i].m_csKey)); poReset->signal_clicked().connect(SigC::bind<Gtk::Entry *>( SigC::slot(*this, &Window::vOnDirectoryReset), poEntry)); poSelect->signal_clicked().connect(SigC::bind<Gtk::Entry *>( SigC::slot(*this, &Window::vOnDirectorySelect), poEntry)); } Gtk::Dialog * poDialog = dynamic_cast<Gtk::Dialog *>(poXml->get_widget("DirectoriesDialog")); poDialog->set_transient_for(*this); if (poDialog->run() == Gtk::RESPONSE_OK) { for (guint i = 0; i < sizeof(astRow) / sizeof(astRow[0]); i++) { Gtk::Entry * poEntry = dynamic_cast<Gtk::Entry *>(poXml->get_widget(astRow[i].m_csEntry)); Glib::ustring sDir = poEntry->get_text(); if (! Glib::file_test(sDir, Glib::FILE_TEST_IS_DIR)) { sDir = ""; } m_poDirConfig->vSetKey(astRow[i].m_csKey, sDir); } // Needed if saves dir changed vUpdateGameSlots(); } delete poDialog; } void Window::vOnDirectoryReset(Gtk::Entry * _poEntry) { _poEntry->set_text(""); } void Window::vOnDirectorySelect(Gtk::Entry * _poEntry) { Gtk::FileSelection * poDialog = new Gtk::FileSelection(_("Select directory")); poDialog->set_transient_for(*this); if (_poEntry->get_text() != "") { poDialog->set_filename(_poEntry->get_text() + "/"); } if (poDialog->run() == Gtk::RESPONSE_OK) { std::string sFile = poDialog->get_filename(); if (! Glib::file_test(sFile, Glib::FILE_TEST_IS_DIR)) { sFile = Glib::path_get_dirname(sFile); } _poEntry->set_text(sFile); } delete poDialog; } void Window::vOnPauseWhenInactiveToggled(Gtk::CheckMenuItem * _poCMI) { m_poDisplayConfig->vSetKey("pause_when_inactive", _poCMI->get_active()); } void Window::vOnSelectBios() { Gtk::FileSelection * poDialog = new Gtk::FileSelection(_("Select BIOS file")); poDialog->set_transient_for(*this); if (m_poCoreConfig->sGetKey("bios_file") != "") { poDialog->set_filename(m_poCoreConfig->sGetKey("bios_file")); } while (poDialog->run() == Gtk::RESPONSE_OK) { if (Glib::file_test(poDialog->get_filename(), Glib::FILE_TEST_IS_REGULAR)) { m_poCoreConfig->vSetKey("bios_file", poDialog->get_filename()); m_poUseBiosItem->set_sensitive(); break; } } delete poDialog; } void Window::vOnUseBiosToggled(Gtk::CheckMenuItem * _poCMI) { m_poCoreConfig->vSetKey("use_bios_file", _poCMI->get_active()); } void Window::vOnShowSpeedToggled(Gtk::CheckMenuItem * _poCMI, int _iShowSpeed) { if (! _poCMI->get_active()) { return; } m_eShowSpeed = (EShowSpeed)_iShowSpeed; if (m_eShowSpeed == ShowNone) { vSetDefaultTitle(); } m_poDisplayConfig->vSetKey("show_speed", _iShowSpeed); } void Window::vOnSaveTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iSaveType) { if (! _poCMI->get_active()) { return; } cpuSaveType = _iSaveType; m_poCoreConfig->vSetKey("save_type", _iSaveType); } void Window::vOnFlashSizeToggled(Gtk::CheckMenuItem * _poCMI, int _iFlashSize) { if (! _poCMI->get_active()) { return; } if (_iFlashSize == 64) { flashSetSize(0x10000); } else { flashSetSize(0x20000); } m_poCoreConfig->vSetKey("flash_size", _iFlashSize); } void Window::vOnSoundStatusToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundStatus) { if (! _poCMI->get_active()) { return; } std::string sSoundStatus; switch (_iSoundStatus) { case SoundOff: soundOffFlag = true; if (systemSoundOn) { soundShutdown(); } sSoundStatus = "off"; break; case SoundMute: soundDisable(0x30f); sSoundStatus = "mute"; break; case SoundOn: if (soundOffFlag) { soundOffFlag = false; if (! soundInit()) { m_poSoundOffItem->set_active(); return; } } soundEnable(0x30f); sSoundStatus = "on"; break; } m_poSoundConfig->vSetKey("status", sSoundStatus); } void Window::vOnSoundEchoToggled(Gtk::CheckMenuItem * _poCMI) { soundEcho = _poCMI->get_active(); m_poSoundConfig->vSetKey("echo", soundEcho); } void Window::vOnSoundLowPassToggled(Gtk::CheckMenuItem * _poCMI) { soundLowPass = _poCMI->get_active(); m_poSoundConfig->vSetKey("low_pass", soundLowPass); } void Window::vOnSoundReverseToggled(Gtk::CheckMenuItem * _poCMI) { soundReverse = _poCMI->get_active(); m_poSoundConfig->vSetKey("reverse_stereo", soundReverse); } void Window::vOnSoundChannelToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundChannel) { int iShift = _iSoundChannel; if (_iSoundChannel > 3) { iShift += 4; } int iFlag = 1 << iShift; int iActive = soundGetEnable() & 0x30f; if (_poCMI->get_active()) { iActive |= iFlag; } else { iActive &= ~iFlag; } soundEnable(iActive); soundDisable(~iActive & 0x30f); const char * acsChannels[] = { "channel_1", "channel_2", "channel_3", "channel_4", "channel_A", "channel_B" }; m_poSoundConfig->vSetKey(acsChannels[_iSoundChannel], _poCMI->get_active()); } void Window::vOnSoundQualityToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundQuality) { if (! _poCMI->get_active()) { return; } m_eSoundQuality = (ESoundQuality)_iSoundQuality; if (m_eCartridge == CartridgeGBA) { soundSetQuality(_iSoundQuality); } else if (m_eCartridge == CartridgeGB) { gbSoundSetQuality(_iSoundQuality); } m_poSoundConfig->vSetKey("quality", _iSoundQuality); } void Window::vOnSoundVolumeToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundVolume) { if (! _poCMI->get_active()) { return; } soundVolume = _iSoundVolume; m_poSoundConfig->vSetKey("volume", _iSoundVolume); } void Window::vOnGBBorderToggled(Gtk::CheckMenuItem * _poCMI) { gbBorderOn = _poCMI->get_active(); if (emulating && m_eCartridge == CartridgeGB && _poCMI->get_active()) { gbSgbRenderBorder(); } vUpdateScreen(); m_poCoreConfig->vSetKey("gb_border", _poCMI->get_active()); } void Window::vOnGBPrinterToggled(Gtk::CheckMenuItem * _poCMI) { if (_poCMI->get_active()) { gbSerialFunction = gbPrinterSend; } else { gbSerialFunction = NULL; } m_poCoreConfig->vSetKey("gb_printer", _poCMI->get_active()); } void Window::vOnEmulatorTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iEmulatorType) { gbEmulatorType = _iEmulatorType; m_poCoreConfig->vSetKey("emulator_type", _iEmulatorType); } void Window::vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x) { if (! _poCMI->get_active()) { return; } m_poScreenArea->vSetFilter2x((EFilter2x)_iFilter2x); if (emulating) { vDrawScreen(); } m_poDisplayConfig->vSetKey("filter2x", _iFilter2x); } void Window::vOnFilterIBToggled(Gtk::CheckMenuItem * _poCMI, int _iFilterIB) { if (! _poCMI->get_active()) { return; } m_poScreenArea->vSetFilterIB((EFilterIB)_iFilterIB); if (emulating) { vDrawScreen(); } m_poDisplayConfig->vSetKey("filterIB", _iFilterIB); } #ifdef MMX void Window::vOnDisableMMXToggled(Gtk::CheckMenuItem * _poCMI) { cpu_mmx = ! _poCMI->get_active(); m_poDisplayConfig->vSetKey("filter_disable_mmx", _poCMI->get_active()); } #endif // MMX void Window::vOnHelpAbout() { Glib::RefPtr<Xml> poXml; poXml = Xml::create(PKGDATADIR "/vba.glade", "AboutDialog"); Gtk::Dialog * poDialog = dynamic_cast<Gtk::Dialog *>(poXml->get_widget("AboutDialog")); Gtk::Label * poLabel = dynamic_cast<Gtk::Label *>(poXml->get_widget("VersionLabel")); poDialog->set_transient_for(*this); poLabel->set_markup("<b><big>" PACKAGE " " VERSION "</big></b>"); poDialog->run(); delete poDialog; } bool Window::bOnEmuIdle() { if (m_uiThrottleDelay != 0) { u32 uiTime = SDL_GetTicks(); if (uiTime - m_uiThrottleLastTime >= m_uiThrottleDelay) { m_uiThrottleDelay = 0; m_uiThrottleLastTime = uiTime; } else { return true; } } m_stEmulator.emuMain(m_stEmulator.emuCount); return true; } bool Window::on_focus_in_event(GdkEventFocus * _pstEvent) { if (emulating && ! m_bPaused && m_poDisplayConfig->oGetKey<bool>("pause_when_inactive")) { vStartEmu(); soundResume(); } return false; } bool Window::on_focus_out_event(GdkEventFocus * _pstEvent) { if (emulating && ! m_bPaused && m_poDisplayConfig->oGetKey<bool>("pause_when_inactive")) { vStopEmu(); soundPause(); } return false; } bool Window::on_key_press_event(GdkEventKey * _pstEvent) { EKey eKey; if ((_pstEvent->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)) || (eKey = m_oKeymap.eGetKey(_pstEvent->keyval)) == KeyNone) { return Gtk::Window::on_key_press_event(_pstEvent); } switch (eKey) { case KeyA: m_uiJoypadState |= KeyFlagA; break; case KeyB: m_uiJoypadState |= KeyFlagB; break; case KeySelect: m_uiJoypadState |= KeyFlagSelect; break; case KeyStart: m_uiJoypadState |= KeyFlagStart; break; case KeyRight: m_uiJoypadState |= KeyFlagRight; m_uiJoypadState &= ~KeyFlagLeft; break; case KeyLeft: m_uiJoypadState |= KeyFlagLeft; m_uiJoypadState &= ~KeyFlagRight; break; case KeyUp: m_uiJoypadState |= KeyFlagUp; m_uiJoypadState &= ~KeyFlagDown; break; case KeyDown: m_uiJoypadState |= KeyFlagDown; m_uiJoypadState &= ~KeyFlagUp; break; case KeyR: m_uiJoypadState |= KeyFlagR; break; case KeyL: m_uiJoypadState |= KeyFlagL; break; case KeySpeed: m_uiJoypadState |= KeyFlagSpeed; break; case KeyCapture: m_uiJoypadState |= KeyFlagCapture; break; case KeyNone: break; } return true; } bool Window::on_key_release_event(GdkEventKey * _pstEvent) { EKey eKey; if ((_pstEvent->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)) || (eKey = m_oKeymap.eGetKey(_pstEvent->keyval)) == KeyNone) { return Gtk::Window::on_key_release_event(_pstEvent); } switch (eKey) { case KeyA: m_uiJoypadState &= ~KeyFlagA; break; case KeyB: m_uiJoypadState &= ~KeyFlagB; break; case KeySelect: m_uiJoypadState &= ~KeyFlagSelect; break; case KeyStart: m_uiJoypadState &= ~KeyFlagStart; break; case KeyRight: m_uiJoypadState &= ~KeyFlagRight; break; case KeyLeft: m_uiJoypadState &= ~KeyFlagLeft; break; case KeyUp: m_uiJoypadState &= ~KeyFlagUp; break; case KeyDown: m_uiJoypadState &= ~KeyFlagDown; break; case KeyR: m_uiJoypadState &= ~KeyFlagR; break; case KeyL: m_uiJoypadState &= ~KeyFlagL; break; case KeySpeed: m_uiJoypadState &= ~KeyFlagSpeed; break; case KeyCapture: m_uiJoypadState &= ~KeyFlagCapture; break; case KeyNone: break; } return true; } } // namespace VBA |
From: S?bastien G. <kx...@us...> - 2004-04-27 23:16:42
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1856 Modified Files: vba.glade window.cpp window.h Log Message: Added directories support with a few other things. Index: vba.glade =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/vba.glade,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** vba.glade 26 Apr 2004 23:42:27 -0000 1.6 --- vba.glade 27 Apr 2004 23:16:31 -0000 1.7 *************** *** 31,35 **** <child> ! <widget class="GtkMenuBar" id="menubar1"> <property name="visible">True</property> --- 31,35 ---- <child> ! <widget class="GtkMenuBar" id="MenuBar"> <property name="visible">True</property> *************** *** 51,55 **** <child internal-child="image"> ! <widget class="GtkImage" id="image80"> <property name="visible">True</property> <property name="stock">gtk-open</property> --- 51,55 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image90"> <property name="visible">True</property> <property name="stock">gtk-open</property> *************** *** 200,204 **** <child internal-child="image"> ! <widget class="GtkImage" id="image81"> <property name="visible">True</property> <property name="stock">gtk-close</property> --- 200,204 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image91"> <property name="visible">True</property> <property name="stock">gtk-close</property> *************** *** 221,225 **** <child internal-child="image"> ! <widget class="GtkImage" id="image82"> <property name="visible">True</property> <property name="stock">gtk-quit</property> --- 221,225 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image92"> <property name="visible">True</property> <property name="stock">gtk-quit</property> *************** *** 638,641 **** --- 638,658 ---- <child> + <widget class="GtkMenuItem" id="EmulatorDirectories"> + <property name="visible">True</property> + <property name="label" translatable="yes">Directories...</property> + <property name="use_underline">True</property> + </widget> + </child> + + <child> + <widget class="GtkCheckMenuItem" id="EmulatorPauseWhenInactive"> + <property name="visible">True</property> + <property name="label" translatable="yes">Pause when inactive window</property> + <property name="use_underline">True</property> + <property name="active">False</property> + </widget> + </child> + + <child> <widget class="GtkMenuItem" id="ShowSpeedMenu"> <property name="visible">True</property> *************** *** 777,793 **** <child> ! <widget class="GtkCheckMenuItem" id="EmulatorUseBios"> <property name="visible">True</property> ! <property name="label" translatable="yes">_Use BIOS file</property> <property name="use_underline">True</property> - <property name="active">False</property> </widget> </child> <child> ! <widget class="GtkMenuItem" id="EmulatorSelectBios"> <property name="visible">True</property> ! <property name="label" translatable="yes">_Select BIOS file...</property> <property name="use_underline">True</property> </widget> </child> --- 794,810 ---- <child> ! <widget class="GtkMenuItem" id="EmulatorSelectBios"> <property name="visible">True</property> ! <property name="label" translatable="yes">_Select BIOS file...</property> <property name="use_underline">True</property> </widget> </child> <child> ! <widget class="GtkCheckMenuItem" id="EmulatorUseBios"> <property name="visible">True</property> ! <property name="label" translatable="yes">_Use BIOS file</property> <property name="use_underline">True</property> + <property name="active">False</property> </widget> </child> *************** *** 1909,1911 **** --- 1926,2522 ---- </widget> + <widget class="GtkDialog" id="DirectoriesDialog"> + <property name="visible">True</property> + <property name="title" translatable="yes">Directories</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> + <property name="modal">False</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">True</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="has_separator">True</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox3"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area3"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="cancelbutton2"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-6</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="okbutton2"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-ok</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-5</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkTable" id="table1"> + <property name="visible">True</property> + <property name="n_rows">5</property> + <property name="n_columns">4</property> + <property name="homogeneous">False</property> + <property name="row_spacing">0</property> + <property name="column_spacing">0</property> + + <child> + <widget class="GtkLabel" id="label6"> + <property name="visible">True</property> + <property name="label" translatable="yes">GBA roms : </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">1</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="GBARomsDirEntry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="GBARomsDirResetButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image83"> + <property name="visible">True</property> + <property name="stock">gtk-cancel</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="GBARomsDirSelectButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image84"> + <property name="visible">True</property> + <property name="stock">gtk-open</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">3</property> + <property name="right_attach">4</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label7"> + <property name="visible">True</property> + <property name="label" translatable="yes">GB roms : </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">1</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="GBRomsDirSelectButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image94"> + <property name="visible">True</property> + <property name="stock">gtk-open</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">3</property> + <property name="right_attach">4</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label8"> + <property name="visible">True</property> + <property name="label" translatable="yes">Batteries : </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">1</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="BatteriesDirEntry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="BatteriesDirSelectButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image98"> + <property name="visible">True</property> + <property name="stock">gtk-open</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">3</property> + <property name="right_attach">4</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="BatteriesDirResetButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image95"> + <property name="visible">True</property> + <property name="stock">gtk-cancel</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label9"> + <property name="visible">True</property> + <property name="label" translatable="yes">Saves : </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">1</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="SavesDirEntry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="SavesDirResetButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image96"> + <property name="visible">True</property> + <property name="stock">gtk-cancel</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="SavesDirSelectButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image99"> + <property name="visible">True</property> + <property name="stock">gtk-open</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">3</property> + <property name="right_attach">4</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label10"> + <property name="visible">True</property> + <property name="label" translatable="yes">Captures : </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">1</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="CapturesDirEntry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="CapturesDirResetButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image97"> + <property name="visible">True</property> + <property name="stock">gtk-cancel</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="CapturesDirSelectButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image100"> + <property name="visible">True</property> + <property name="stock">gtk-open</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">3</property> + <property name="right_attach">4</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="GBRomsDirEntry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char" translatable="yes">*</property> + <property name="activates_default">False</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="y_options">expand</property> + </packing> + </child> + + <child> + <widget class="GtkButton" id="GBRomsDirResetButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NONE</property> + <property name="focus_on_click">True</property> + + <child> + <widget class="GtkImage" id="image101"> + <property name="visible">True</property> + <property name="stock">gtk-cancel</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + </child> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options">expand</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + </child> + </widget> + </glade-interface> Index: window.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** window.h 26 Apr 2004 23:42:28 -0000 1.9 --- window.h 27 Apr 2004 23:16:32 -0000 1.10 *************** *** 130,135 **** virtual void vOnVideoScaleToggled(Gtk::CheckMenuItem * _poCMI, int _iScale); virtual void vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer); ! virtual void vOnUseBiosToggled(Gtk::CheckMenuItem * _poCMI); virtual void vOnSelectBios(); virtual void vOnShowSpeedToggled(Gtk::CheckMenuItem * _poCMI, int _iShowSpeed); virtual void vOnSaveTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iSaveType); --- 130,139 ---- virtual void vOnVideoScaleToggled(Gtk::CheckMenuItem * _poCMI, int _iScale); virtual void vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer); ! virtual void vOnDirectories(); ! virtual void vOnDirectoryReset(Gtk::Entry * _poEntry); ! virtual void vOnDirectorySelect(Gtk::Entry * _poEntry); ! virtual void vOnPauseWhenInactiveToggled(Gtk::CheckMenuItem * _poCMI); virtual void vOnSelectBios(); + virtual void vOnUseBiosToggled(Gtk::CheckMenuItem * _poCMI); virtual void vOnShowSpeedToggled(Gtk::CheckMenuItem * _poCMI, int _iShowSpeed); virtual void vOnSaveTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iSaveType); *************** *** 153,156 **** --- 157,162 ---- virtual bool bOnEmuIdle(); + virtual bool on_focus_in_event(GdkEventFocus * _pstEvent); + virtual bool on_focus_out_event(GdkEventFocus * _pstEvent); virtual bool on_key_press_event(GdkEventKey * _pstEvent); virtual bool on_key_release_event(GdkEventKey * _pstEvent); *************** *** 189,192 **** --- 195,199 ---- std::string m_sConfigFile; Config::File m_oConfig; + Config::Section * m_poDirConfig; Config::Section * m_poCoreConfig; Config::Section * m_poDisplayConfig; *************** *** 209,212 **** --- 216,220 ---- Keymap m_oKeymap; u32 m_uiJoypadState; + bool m_bPaused; bool m_bWasEmulating; bool m_bAutoFrameskip; Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** window.cpp 26 Apr 2004 23:42:27 -0000 1.9 --- window.cpp 27 Apr 2004 23:16:32 -0000 1.10 *************** *** 135,138 **** --- 135,140 ---- m_poFilePauseItem = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilePause")); m_poFilePauseItem->set_active(false); + m_poFilePauseItem->set_sensitive(false); + vOnFilePauseToggled(m_poFilePauseItem); m_poFilePauseItem->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( SigC::slot(*this, &Window::vOnFilePauseToggled), *************** *** 279,282 **** --- 281,294 ---- // Emulator menu // + poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("EmulatorDirectories")); + poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnDirectories)); + + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("EmulatorPauseWhenInactive")); + poCMI->set_active(m_poDisplayConfig->oGetKey<bool>("pause_when_inactive")); + vOnPauseWhenInactiveToggled(poCMI); + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( + SigC::slot(*this, &Window::vOnPauseWhenInactiveToggled), + poCMI)); + m_poUseBiosItem = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("EmulatorUseBios")); m_poUseBiosItem->set_active(m_poCoreConfig->oGetKey<bool>("use_bios_file")); *************** *** 738,741 **** --- 750,762 ---- m_oConfig.vClear(); + // Directories section + // + m_poDirConfig = m_oConfig.poAddSection("Directories"); + m_poDirConfig->vSetKey("gb_roms", "" ); + m_poDirConfig->vSetKey("gba_roms", "" ); + m_poDirConfig->vSetKey("batteries", "" ); + m_poDirConfig->vSetKey("saves", "" ); + m_poDirConfig->vSetKey("captures", "" ); + // Core section // *************** *** 762,771 **** // m_poDisplayConfig = m_oConfig.poAddSection("Display"); ! m_poDisplayConfig->vSetKey("scale", 1 ); ! m_poDisplayConfig->vSetKey("show_speed", ShowPercentage ); ! m_poDisplayConfig->vSetKey("filter2x", FilterNone ); ! m_poDisplayConfig->vSetKey("filterIB", FilterIBNone ); #ifdef MMX ! m_poDisplayConfig->vSetKey("filter_disable_mmx", false ); #endif // MMX --- 783,793 ---- // m_poDisplayConfig = m_oConfig.poAddSection("Display"); ! m_poDisplayConfig->vSetKey("scale", 1 ); ! m_poDisplayConfig->vSetKey("show_speed", ShowPercentage ); ! m_poDisplayConfig->vSetKey("pause_when_inactive", true ); ! m_poDisplayConfig->vSetKey("filter2x", FilterNone ); ! m_poDisplayConfig->vSetKey("filterIB", FilterIBNone ); #ifdef MMX ! m_poDisplayConfig->vSetKey("filter_disable_mmx", false ); #endif // MMX *************** *** 793,796 **** --- 815,846 ---- std::string sValue; + // Directories section + // + sValue = m_poDirConfig->sGetKey("gb_roms"); + if (sValue != "" && ! Glib::file_test(sValue, Glib::FILE_TEST_IS_DIR)) + { + m_poDirConfig->vSetKey("gb_roms", ""); + } + sValue = m_poDirConfig->sGetKey("gba_roms"); + if (sValue != "" && ! Glib::file_test(sValue, Glib::FILE_TEST_IS_DIR)) + { + m_poDirConfig->vSetKey("gba_roms", ""); + } + sValue = m_poDirConfig->sGetKey("batteries"); + if (sValue != "" && ! Glib::file_test(sValue, Glib::FILE_TEST_IS_DIR)) + { + m_poDirConfig->vSetKey("batteries", ""); + } + sValue = m_poDirConfig->sGetKey("saves"); + if (sValue != "" && ! Glib::file_test(sValue, Glib::FILE_TEST_IS_DIR)) + { + m_poDirConfig->vSetKey("saves", ""); + } + sValue = m_poDirConfig->sGetKey("captures"); + if (sValue != "" && ! Glib::file_test(sValue, Glib::FILE_TEST_IS_DIR)) + { + m_poDirConfig->vSetKey("captures", ""); + } + // Core section // *************** *** 1199,1210 **** } ! if (m_poFilePauseItem->get_active()) ! { ! m_poFilePauseItem->set_active(false); ! } ! else ! { ! vStartEmu(); ! } return true; --- 1249,1255 ---- } ! m_poFilePauseItem->set_sensitive(); ! ! vStartEmu(); return true; *************** *** 1213,1219 **** void Window::vLoadBattery() { ! // TODO : from battery dir - std::string sBattery = sCutSuffix(m_sRomFile) + ".sav"; if (m_stEmulator.emuReadBattery(sBattery.c_str())) { --- 1258,1272 ---- void Window::vLoadBattery() { ! std::string sBattery; ! std::string sDir = m_poDirConfig->sGetKey("batteries"); ! if (sDir == "") ! { ! sBattery = sCutSuffix(m_sRomFile) + ".sav"; ! } ! else ! { ! sBattery = sDir + "/" + sCutSuffix(Glib::path_get_basename(m_sRomFile)) + ".sav"; ! } if (m_stEmulator.emuReadBattery(sBattery.c_str())) { *************** *** 1224,1230 **** void Window::vSaveBattery() { ! // TODO : from battery dir - std::string sBattery = sCutSuffix(m_sRomFile) + ".sav"; if (m_stEmulator.emuWriteBattery(sBattery.c_str())) { --- 1277,1291 ---- void Window::vSaveBattery() { ! std::string sBattery; ! std::string sDir = m_poDirConfig->sGetKey("batteries"); ! if (sDir == "") ! { ! sBattery = sCutSuffix(m_sRomFile) + ".sav"; ! } ! else ! { ! sBattery = sDir + "/" + sCutSuffix(Glib::path_get_basename(m_sRomFile)) + ".sav"; ! } if (m_stEmulator.emuWriteBattery(sBattery.c_str())) { *************** *** 1299,1302 **** --- 1360,1369 ---- m_poFileOpenDialog = new Gtk::FileSelection(_("Open")); m_poFileOpenDialog->set_transient_for(*this); + + std::string sDir = m_poDirConfig->sGetKey("gba_roms"); + if (sDir != "") + { + m_poFileOpenDialog->set_filename(sDir + "/"); + } } *************** *** 1313,1325 **** void Window::vOnFilePauseToggled(Gtk::CheckMenuItem * _poCMI) { if (emulating) { ! if (_poCMI->get_active()) { vStopEmu(); } else { vStartEmu(); } } --- 1380,1395 ---- void Window::vOnFilePauseToggled(Gtk::CheckMenuItem * _poCMI) { + m_bPaused = _poCMI->get_active(); if (emulating) { ! if (m_bPaused) { vStopEmu(); + soundPause(); } else { vStartEmu(); + soundResume(); } } *************** *** 1338,1341 **** --- 1408,1412 ---- if (emulating) { + soundPause(); vStopEmu(); vSetDefaultTitle(); *************** *** 1345,1348 **** --- 1416,1421 ---- m_eCartridge = CartridgeNone; emulating = 0; + + m_poFilePauseItem->set_sensitive(false); } } *************** *** 1463,1469 **** } ! void Window::vOnUseBiosToggled(Gtk::CheckMenuItem * _poCMI) { ! m_poCoreConfig->vSetKey("use_bios_file", _poCMI->get_active()); } --- 1536,1627 ---- } ! void Window::vOnDirectories() { ! Glib::RefPtr<Xml> poXml; ! poXml = Xml::create(PKGDATADIR "/vba.glade", "DirectoriesDialog"); ! ! struct ! { ! const char * m_csKey; ! const char * m_csEntry; ! const char * m_csResetButton; ! const char * m_csSelectButton; ! } ! astRow[] = ! { ! { "gba_roms", "GBARomsDirEntry", "GBARomsDirResetButton", "GBARomsDirSelectButton" }, ! { "gb_roms", "GBRomsDirEntry", "GBRomsDirResetButton", "GBRomsDirSelectButton" }, ! { "batteries", "BatteriesDirEntry", "BatteriesDirResetButton", "BatteriesDirSelectButton" }, ! { "saves", "SavesDirEntry", "SavesDirResetButton", "SavesDirSelectButton" }, ! { "captures", "CapturesDirEntry", "CapturesDirResetButton", "CapturesDirSelectButton" } ! }; ! ! for (guint i = 0; i < sizeof(astRow) / sizeof(astRow[0]); i++) ! { ! Gtk::Entry * poEntry = dynamic_cast<Gtk::Entry *>(poXml->get_widget(astRow[i].m_csEntry)); ! Gtk::Button * poReset = dynamic_cast<Gtk::Button *>(poXml->get_widget(astRow[i].m_csResetButton)); ! Gtk::Button * poSelect = dynamic_cast<Gtk::Button *>(poXml->get_widget(astRow[i].m_csSelectButton)); ! ! poEntry->set_text(m_poDirConfig->sGetKey(astRow[i].m_csKey)); ! ! poReset->signal_clicked().connect(SigC::bind<Gtk::Entry *>( ! SigC::slot(*this, &Window::vOnDirectoryReset), ! poEntry)); ! poSelect->signal_clicked().connect(SigC::bind<Gtk::Entry *>( ! SigC::slot(*this, &Window::vOnDirectorySelect), ! poEntry)); ! } ! ! Gtk::Dialog * poDialog = dynamic_cast<Gtk::Dialog *>(poXml->get_widget("DirectoriesDialog")); ! poDialog->set_transient_for(*this); ! ! if (poDialog->run() == Gtk::RESPONSE_OK) ! { ! for (guint i = 0; i < sizeof(astRow) / sizeof(astRow[0]); i++) ! { ! Gtk::Entry * poEntry = dynamic_cast<Gtk::Entry *>(poXml->get_widget(astRow[i].m_csEntry)); ! Glib::ustring sDir = poEntry->get_text(); ! if (! Glib::file_test(sDir, Glib::FILE_TEST_IS_DIR)) ! { ! sDir = ""; ! } ! m_poDirConfig->vSetKey(astRow[i].m_csKey, sDir); ! } ! } ! ! delete poDialog; ! } ! ! void Window::vOnDirectoryReset(Gtk::Entry * _poEntry) ! { ! _poEntry->set_text(""); ! } ! ! void Window::vOnDirectorySelect(Gtk::Entry * _poEntry) ! { ! Gtk::FileSelection * poDialog = new Gtk::FileSelection(_("Select directory")); ! poDialog->set_transient_for(*this); ! ! if (_poEntry->get_text() != "") ! { ! poDialog->set_filename(_poEntry->get_text() + "/"); ! } ! ! if (poDialog->run() == Gtk::RESPONSE_OK) ! { ! std::string sFile = poDialog->get_filename(); ! if (! Glib::file_test(sFile, Glib::FILE_TEST_IS_DIR)) ! { ! sFile = Glib::path_get_dirname(sFile); ! } ! _poEntry->set_text(sFile); ! } ! ! delete poDialog; ! } ! ! void Window::vOnPauseWhenInactiveToggled(Gtk::CheckMenuItem * _poCMI) ! { ! m_poDisplayConfig->vSetKey("pause_when_inactive", _poCMI->get_active()); } *************** *** 1491,1494 **** --- 1649,1657 ---- } + void Window::vOnUseBiosToggled(Gtk::CheckMenuItem * _poCMI) + { + m_poCoreConfig->vSetKey("use_bios_file", _poCMI->get_active()); + } + void Window::vOnShowSpeedToggled(Gtk::CheckMenuItem * _poCMI, int _iShowSpeed) { *************** *** 1756,1759 **** --- 1919,1946 ---- } + bool Window::on_focus_in_event(GdkEventFocus * _pstEvent) + { + if (emulating + && ! m_bPaused + && m_poDisplayConfig->oGetKey<bool>("pause_when_inactive")) + { + vStartEmu(); + soundResume(); + } + return false; + } + + bool Window::on_focus_out_event(GdkEventFocus * _pstEvent) + { + if (emulating + && ! m_bPaused + && m_poDisplayConfig->oGetKey<bool>("pause_when_inactive")) + { + vStopEmu(); + soundPause(); + } + return false; + } + bool Window::on_key_press_event(GdkEventKey * _pstEvent) { |
From: S?bastien G. <kx...@us...> - 2004-04-26 23:42:38
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16698 Modified Files: input.h vba.glade window.cpp window.h Log Message: Added Gameboy menu support. Index: input.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/input.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** input.h 29 Mar 2004 22:08:40 -0000 1.1 --- input.h 26 Apr 2004 23:42:27 -0000 1.2 *************** *** 28,46 **** enum EKey { ! KEY_NONE, // GBA keys ! KEY_A, ! KEY_B, ! KEY_SELECT, ! KEY_START, ! KEY_RIGHT, ! KEY_LEFT, ! KEY_UP, ! KEY_DOWN, ! KEY_R, ! KEY_L, // VBA extension ! KEY_SPEED, ! KEY_CAPTURE }; --- 28,46 ---- enum EKey { ! KeyNone, // GBA keys ! KeyA, ! KeyB, ! KeySelect, ! KeyStart, ! KeyRight, ! KeyLeft, ! KeyUp, ! KeyDown, ! KeyR, ! KeyL, // VBA extension ! KeySpeed, ! KeyCapture }; *************** *** 48,64 **** { // GBA keys ! KEYFLAG_A = 1 << 0, ! KEYFLAG_B = 1 << 1, ! KEYFLAG_SELECT = 1 << 2, ! KEYFLAG_START = 1 << 3, ! KEYFLAG_RIGHT = 1 << 4, ! KEYFLAG_LEFT = 1 << 5, ! KEYFLAG_UP = 1 << 6, ! KEYFLAG_DOWN = 1 << 7, ! KEYFLAG_R = 1 << 8, ! KEYFLAG_L = 1 << 9, // VBA extension ! KEYFLAG_SPEED = 1 << 10, ! KEYFLAG_CAPTURE = 1 << 11, }; --- 48,64 ---- { // GBA keys ! KeyFlagA = 1 << 0, ! KeyFlagB = 1 << 1, ! KeyFlagSelect = 1 << 2, ! KeyFlagStart = 1 << 3, ! KeyFlagRight = 1 << 4, ! KeyFlagLeft = 1 << 5, ! KeyFlagUp = 1 << 6, ! KeyFlagDown = 1 << 7, ! KeyFlagR = 1 << 8, ! KeyFlagL = 1 << 9, // VBA extension ! KeyFlagSpeed = 1 << 10, ! KeyFlagCapture = 1 << 11, }; Index: vba.glade =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/vba.glade,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** vba.glade 22 Apr 2004 20:42:40 -0000 1.5 --- vba.glade 26 Apr 2004 23:42:27 -0000 1.6 *************** *** 1088,1092 **** <child> ! <widget class="GtkRadioMenuItem" id="GameBoyGba"> <property name="visible">True</property> <property name="label" translatable="yes">_GBA</property> --- 1088,1092 ---- <child> ! <widget class="GtkRadioMenuItem" id="GameboyGba"> <property name="visible">True</property> <property name="label" translatable="yes">_GBA</property> Index: window.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** window.h 26 Apr 2004 00:13:50 -0000 1.8 --- window.h 26 Apr 2004 23:42:28 -0000 1.9 *************** *** 110,113 **** --- 110,123 ---- }; + enum EEmulatorType + { + EmulatorAuto, + EmulatorCGB, + EmulatorSGB, + EmulatorGB, + EmulatorGBA, + EmulatorSGB2 + }; + virtual void vOnFileOpen(); virtual void vOnFilePauseToggled(Gtk::CheckMenuItem * _poCMI); *************** *** 132,135 **** --- 142,148 ---- virtual void vOnSoundQualityToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundQuality); virtual void vOnSoundVolumeToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundVolume); + virtual void vOnGBBorderToggled(Gtk::CheckMenuItem * _poCMI); + virtual void vOnGBPrinterToggled(Gtk::CheckMenuItem * _poCMI); + virtual void vOnEmulatorTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iEmulatorType); virtual void vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x); virtual void vOnFilterIBToggled(Gtk::CheckMenuItem * _poCMI, int _iFilterIB); *************** *** 162,165 **** --- 175,180 ---- const int m_iSoundVolumeMin; const int m_iSoundVolumeMax; + const int m_iEmulatorTypeMin; + const int m_iEmulatorTypeMax; const int m_iFilter2xMin; const int m_iFilter2xMax; Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** window.cpp 26 Apr 2004 00:13:50 -0000 1.8 --- window.cpp 26 Apr 2004 23:42:27 -0000 1.9 *************** *** 27,30 **** --- 27,31 ---- #include "../gb/GB.h" #include "../gb/gbGlobals.h" + #include "../gb/gbPrinter.h" #include "../Sound.h" #include "../Util.h" *************** *** 71,74 **** --- 72,77 ---- m_iSoundVolumeMin (Sound100), m_iSoundVolumeMax (Sound50), + m_iEmulatorTypeMin(EmulatorAuto), + m_iEmulatorTypeMax(EmulatorSGB2), m_iFilter2xMin (FirstFilter), m_iFilter2xMax (LastFilter), *************** *** 508,511 **** --- 511,558 ---- } + // Gameboy menu + // + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("GameboyBorder")); + poCMI->set_active(m_poCoreConfig->oGetKey<bool>("gb_border")); + vOnGBBorderToggled(poCMI); + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( + SigC::slot(*this, &Window::vOnGBBorderToggled), + poCMI)); + + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("GameboyPrinter")); + poCMI->set_active(m_poCoreConfig->oGetKey<bool>("gb_printer")); + vOnGBPrinterToggled(poCMI); + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( + SigC::slot(*this, &Window::vOnGBPrinterToggled), + poCMI)); + + struct + { + const char * m_csName; + const EEmulatorType m_eEmulatorType; + } + astEmulatorType[] = + { + { "GameboyAutomatic", EmulatorAuto }, + { "GameboyGba", EmulatorGBA }, + { "GameboyCgb", EmulatorCGB }, + { "GameboySgb", EmulatorSGB }, + { "GameboySgb2", EmulatorSGB2 }, + { "GameboyGb", EmulatorGB } + }; + EEmulatorType eDefaultEmulatorType = (EEmulatorType)m_poCoreConfig->oGetKey<int>("emulator_type"); + for (guint i = 0; i < sizeof(astEmulatorType) / sizeof(astEmulatorType[0]); i++) + { + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astEmulatorType[i].m_csName)); + if (astEmulatorType[i].m_eEmulatorType == eDefaultEmulatorType) + { + poCMI->set_active(); + vOnEmulatorTypeToggled(poCMI, eDefaultEmulatorType); + } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnEmulatorTypeToggled), + poCMI, astEmulatorType[i].m_eEmulatorType)); + } + // Filter menu // *************** *** 659,663 **** gbFrameSkip = 0; ! // TODO : GB init and 16-bit color map (?) } --- 706,717 ---- gbFrameSkip = 0; ! ! for (int i = 0; i < 24; ) ! { ! systemGbPalette[i++] = (0x1f) | (0x1f << 5) | (0x1f << 10); ! systemGbPalette[i++] = (0x15) | (0x15 << 5) | (0x15 << 10); ! systemGbPalette[i++] = (0x0c) | (0x0c << 5) | (0x0c << 10); ! systemGbPalette[i++] = 0; ! } } *************** *** 687,714 **** // m_poCoreConfig = m_oConfig.poAddSection("Core"); ! m_poCoreConfig->vSetKey ("frameskip", "auto" ); ! m_poCoreConfig->vSetKey ("throttle", 0 ); ! m_poCoreConfig->vSetKey ("layer_bg0", true ); ! m_poCoreConfig->vSetKey ("layer_bg1", true ); ! m_poCoreConfig->vSetKey ("layer_bg2", true ); ! m_poCoreConfig->vSetKey ("layer_bg3", true ); ! m_poCoreConfig->vSetKey ("layer_obj", true ); ! m_poCoreConfig->vSetKey ("layer_win0", true ); ! m_poCoreConfig->vSetKey ("layer_win1", true ); ! m_poCoreConfig->vSetKey ("layer_objwin", true ); ! m_poCoreConfig->vSetKey ("use_bios_file", false ); ! m_poCoreConfig->vSetKey ("bios_file", "" ); ! m_poCoreConfig->vSetKey<int>("save_type", SaveAuto ); ! m_poCoreConfig->vSetKey<int>("flash_size", 64 ); // Display section // m_poDisplayConfig = m_oConfig.poAddSection("Display"); ! m_poDisplayConfig->vSetKey ("scale", 1 ); ! m_poDisplayConfig->vSetKey<int>("show_speed", ShowPercentage ); ! m_poDisplayConfig->vSetKey<int>("filter2x", FilterNone ); ! m_poDisplayConfig->vSetKey<int>("filterIB", FilterIBNone ); #ifdef MMX ! m_poDisplayConfig->vSetKey ("filter_disable_mmx", false ); #endif // MMX --- 741,771 ---- // m_poCoreConfig = m_oConfig.poAddSection("Core"); ! m_poCoreConfig->vSetKey("frameskip", "auto" ); ! m_poCoreConfig->vSetKey("throttle", 0 ); ! m_poCoreConfig->vSetKey("layer_bg0", true ); ! m_poCoreConfig->vSetKey("layer_bg1", true ); ! m_poCoreConfig->vSetKey("layer_bg2", true ); ! m_poCoreConfig->vSetKey("layer_bg3", true ); ! m_poCoreConfig->vSetKey("layer_obj", true ); ! m_poCoreConfig->vSetKey("layer_win0", true ); ! m_poCoreConfig->vSetKey("layer_win1", true ); ! m_poCoreConfig->vSetKey("layer_objwin", true ); ! m_poCoreConfig->vSetKey("use_bios_file", false ); ! m_poCoreConfig->vSetKey("bios_file", "" ); ! m_poCoreConfig->vSetKey("save_type", SaveAuto ); ! m_poCoreConfig->vSetKey("flash_size", 64 ); ! m_poCoreConfig->vSetKey("gb_border", true ); ! m_poCoreConfig->vSetKey("gb_printer", false ); ! m_poCoreConfig->vSetKey("emulator_type", EmulatorAuto ); // Display section // m_poDisplayConfig = m_oConfig.poAddSection("Display"); ! m_poDisplayConfig->vSetKey("scale", 1 ); ! m_poDisplayConfig->vSetKey("show_speed", ShowPercentage ); ! m_poDisplayConfig->vSetKey("filter2x", FilterNone ); ! m_poDisplayConfig->vSetKey("filterIB", FilterIBNone ); #ifdef MMX ! m_poDisplayConfig->vSetKey("filter_disable_mmx", false ); #endif // MMX *************** *** 784,787 **** --- 841,851 ---- } + iValue = m_poCoreConfig->oGetKey<int>("emulator_type"); + iAdjusted = CLAMP(iValue, m_iEmulatorTypeMin, m_iEmulatorTypeMax); + if (iValue != iAdjusted) + { + m_poCoreConfig->vSetKey("emulator_type", iAdjusted); + } + // Display section // *************** *** 873,896 **** // TODO : load from prefs ! m_oKeymap.vRegister(GDK_z, KEY_A); ! m_oKeymap.vRegister(GDK_Z, KEY_A); ! m_oKeymap.vRegister(GDK_x, KEY_B); ! m_oKeymap.vRegister(GDK_X, KEY_B); ! m_oKeymap.vRegister(GDK_BackSpace, KEY_SELECT); ! m_oKeymap.vRegister(GDK_Return, KEY_START); ! m_oKeymap.vRegister(GDK_Right, KEY_RIGHT); ! m_oKeymap.vRegister(GDK_Left, KEY_LEFT); ! m_oKeymap.vRegister(GDK_Up, KEY_UP); ! m_oKeymap.vRegister(GDK_Down, KEY_DOWN); ! m_oKeymap.vRegister(GDK_s, KEY_R); ! m_oKeymap.vRegister(GDK_S, KEY_R); ! m_oKeymap.vRegister(GDK_a, KEY_L); ! m_oKeymap.vRegister(GDK_A, KEY_L); ! m_oKeymap.vRegister(GDK_space, KEY_SPEED); ! m_oKeymap.vRegister(GDK_F12, KEY_CAPTURE); } void Window::vUpdateScreen() { g_return_if_fail(m_iScreenWidth >= 1 && m_iScreenHeight >= 1); --- 937,985 ---- // TODO : load from prefs ! m_oKeymap.vRegister(GDK_z, KeyA); ! m_oKeymap.vRegister(GDK_Z, KeyA); ! m_oKeymap.vRegister(GDK_x, KeyB); ! m_oKeymap.vRegister(GDK_X, KeyB); ! m_oKeymap.vRegister(GDK_BackSpace, KeySelect); ! m_oKeymap.vRegister(GDK_Return, KeyStart); ! m_oKeymap.vRegister(GDK_Right, KeyRight); ! m_oKeymap.vRegister(GDK_Left, KeyLeft); ! m_oKeymap.vRegister(GDK_Up, KeyUp); ! m_oKeymap.vRegister(GDK_Down, KeyDown); ! m_oKeymap.vRegister(GDK_s, KeyR); ! m_oKeymap.vRegister(GDK_S, KeyR); ! m_oKeymap.vRegister(GDK_a, KeyL); ! m_oKeymap.vRegister(GDK_A, KeyL); ! m_oKeymap.vRegister(GDK_space, KeySpeed); ! m_oKeymap.vRegister(GDK_F12, KeyCapture); } void Window::vUpdateScreen() { + if (m_eCartridge == CartridgeGB) + { + if (gbBorderOn) + { + m_iScreenWidth = m_iSGBScreenWidth; + m_iScreenHeight = m_iSGBScreenHeight; + gbBorderLineSkip = m_iSGBScreenWidth; + gbBorderColumnSkip = (m_iSGBScreenWidth - m_iGBScreenWidth) / 2; + gbBorderRowSkip = (m_iSGBScreenHeight - m_iGBScreenHeight) / 2; + } + else + { + m_iScreenWidth = m_iGBScreenWidth; + m_iScreenHeight = m_iGBScreenHeight; + gbBorderLineSkip = m_iGBScreenWidth; + gbBorderColumnSkip = 0; + gbBorderRowSkip = 0; + } + } + else if (m_eCartridge == CartridgeGBA) + { + m_iScreenWidth = m_iGBAScreenWidth; + m_iScreenHeight = m_iGBAScreenHeight; + } + g_return_if_fail(m_iScreenWidth >= 1 && m_iScreenHeight >= 1); *************** *** 1053,1073 **** // } //} - - if (gbBorderOn) - { - m_iScreenWidth = m_iSGBScreenWidth; - m_iScreenHeight = m_iSGBScreenHeight; - gbBorderLineSkip = m_iSGBScreenWidth; - gbBorderColumnSkip = (m_iSGBScreenWidth - m_iGBScreenWidth) / 2; - gbBorderRowSkip = (m_iSGBScreenHeight - m_iGBScreenHeight) / 2; - } - else - { - m_iScreenWidth = m_iGBScreenWidth; - m_iScreenHeight = m_iGBScreenHeight; - gbBorderLineSkip = m_iGBScreenWidth; - gbBorderColumnSkip = 0; - gbBorderRowSkip = 0; - } } } --- 1142,1145 ---- *************** *** 1102,1108 **** // } //} - - m_iScreenWidth = m_iGBAScreenWidth; - m_iScreenHeight = m_iGBAScreenHeight; } } --- 1174,1177 ---- *************** *** 1301,1304 **** --- 1370,1374 ---- { m_poCoreConfig->vSetKey("frameskip", "auto"); + gbFrameSkip = 0; systemFrameSkip = 0; m_bAutoFrameskip = true; *************** *** 1584,1587 **** --- 1654,1687 ---- } + void Window::vOnGBBorderToggled(Gtk::CheckMenuItem * _poCMI) + { + gbBorderOn = _poCMI->get_active(); + if (emulating && m_eCartridge == CartridgeGB && _poCMI->get_active()) + { + gbSgbRenderBorder(); + } + vUpdateScreen(); + m_poCoreConfig->vSetKey("gb_border", _poCMI->get_active()); + } + + void Window::vOnGBPrinterToggled(Gtk::CheckMenuItem * _poCMI) + { + if (_poCMI->get_active()) + { + gbSerialFunction = gbPrinterSend; + } + else + { + gbSerialFunction = NULL; + } + m_poCoreConfig->vSetKey("gb_printer", _poCMI->get_active()); + } + + void Window::vOnEmulatorTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iEmulatorType) + { + gbEmulatorType = _iEmulatorType; + m_poCoreConfig->vSetKey("emulator_type", _iEmulatorType); + } + void Window::vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x) { *************** *** 1661,1665 **** if ((_pstEvent->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)) ! || (eKey = m_oKeymap.eGetKey(_pstEvent->keyval)) == KEY_NONE) { return Gtk::Window::on_key_press_event(_pstEvent); --- 1761,1765 ---- if ((_pstEvent->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)) ! || (eKey = m_oKeymap.eGetKey(_pstEvent->keyval)) == KeyNone) { return Gtk::Window::on_key_press_event(_pstEvent); *************** *** 1668,1712 **** switch (eKey) { ! case KEY_A: ! m_uiJoypadState |= KEYFLAG_A; break; ! case KEY_B: ! m_uiJoypadState |= KEYFLAG_B; break; ! case KEY_SELECT: ! m_uiJoypadState |= KEYFLAG_SELECT; break; ! case KEY_START: ! m_uiJoypadState |= KEYFLAG_START; break; ! case KEY_RIGHT: ! m_uiJoypadState |= KEYFLAG_RIGHT; ! m_uiJoypadState &= ~KEYFLAG_LEFT; break; ! case KEY_LEFT: ! m_uiJoypadState |= KEYFLAG_LEFT; ! m_uiJoypadState &= ~KEYFLAG_RIGHT; break; ! case KEY_UP: ! m_uiJoypadState |= KEYFLAG_UP; ! m_uiJoypadState &= ~KEYFLAG_DOWN; break; ! case KEY_DOWN: ! m_uiJoypadState |= KEYFLAG_DOWN; ! m_uiJoypadState &= ~KEYFLAG_UP; break; ! case KEY_R: ! m_uiJoypadState |= KEYFLAG_R; break; ! case KEY_L: ! m_uiJoypadState |= KEYFLAG_L; break; ! case KEY_SPEED: ! m_uiJoypadState |= KEYFLAG_SPEED; break; ! case KEY_CAPTURE: ! m_uiJoypadState |= KEYFLAG_CAPTURE; break; ! case KEY_NONE: break; } --- 1768,1812 ---- switch (eKey) { ! case KeyA: ! m_uiJoypadState |= KeyFlagA; break; ! case KeyB: ! m_uiJoypadState |= KeyFlagB; break; ! case KeySelect: ! m_uiJoypadState |= KeyFlagSelect; break; ! case KeyStart: ! m_uiJoypadState |= KeyFlagStart; break; ! case KeyRight: ! m_uiJoypadState |= KeyFlagRight; ! m_uiJoypadState &= ~KeyFlagLeft; break; ! case KeyLeft: ! m_uiJoypadState |= KeyFlagLeft; ! m_uiJoypadState &= ~KeyFlagRight; break; ! case KeyUp: ! m_uiJoypadState |= KeyFlagUp; ! m_uiJoypadState &= ~KeyFlagDown; break; ! case KeyDown: ! m_uiJoypadState |= KeyFlagDown; ! m_uiJoypadState &= ~KeyFlagUp; break; ! case KeyR: ! m_uiJoypadState |= KeyFlagR; break; ! case KeyL: ! m_uiJoypadState |= KeyFlagL; break; ! case KeySpeed: ! m_uiJoypadState |= KeyFlagSpeed; break; ! case KeyCapture: ! m_uiJoypadState |= KeyFlagCapture; break; ! case KeyNone: break; } *************** *** 1719,1723 **** if ((_pstEvent->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)) ! || (eKey = m_oKeymap.eGetKey(_pstEvent->keyval)) == KEY_NONE) { return Gtk::Window::on_key_release_event(_pstEvent); --- 1819,1823 ---- if ((_pstEvent->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)) ! || (eKey = m_oKeymap.eGetKey(_pstEvent->keyval)) == KeyNone) { return Gtk::Window::on_key_release_event(_pstEvent); *************** *** 1726,1766 **** switch (eKey) { ! case KEY_A: ! m_uiJoypadState &= ~KEYFLAG_A; break; ! case KEY_B: ! m_uiJoypadState &= ~KEYFLAG_B; break; ! case KEY_SELECT: ! m_uiJoypadState &= ~KEYFLAG_SELECT; break; ! case KEY_START: ! m_uiJoypadState &= ~KEYFLAG_START; break; ! case KEY_RIGHT: ! m_uiJoypadState &= ~KEYFLAG_RIGHT; break; ! case KEY_LEFT: ! m_uiJoypadState &= ~KEYFLAG_LEFT; break; ! case KEY_UP: ! m_uiJoypadState &= ~KEYFLAG_UP; break; ! case KEY_DOWN: ! m_uiJoypadState &= ~KEYFLAG_DOWN; break; ! case KEY_R: ! m_uiJoypadState &= ~KEYFLAG_R; break; ! case KEY_L: ! m_uiJoypadState &= ~KEYFLAG_L; break; ! case KEY_SPEED: ! m_uiJoypadState &= ~KEYFLAG_SPEED; break; ! case KEY_CAPTURE: ! m_uiJoypadState &= ~KEYFLAG_CAPTURE; break; ! case KEY_NONE: break; } --- 1826,1866 ---- switch (eKey) { ! case KeyA: ! m_uiJoypadState &= ~KeyFlagA; break; ! case KeyB: ! m_uiJoypadState &= ~KeyFlagB; break; ! case KeySelect: ! m_uiJoypadState &= ~KeyFlagSelect; break; ! case KeyStart: ! m_uiJoypadState &= ~KeyFlagStart; break; ! case KeyRight: ! m_uiJoypadState &= ~KeyFlagRight; break; ! case KeyLeft: ! m_uiJoypadState &= ~KeyFlagLeft; break; ! case KeyUp: ! m_uiJoypadState &= ~KeyFlagUp; break; ! case KeyDown: ! m_uiJoypadState &= ~KeyFlagDown; break; ! case KeyR: ! m_uiJoypadState &= ~KeyFlagR; break; ! case KeyL: ! m_uiJoypadState &= ~KeyFlagL; break; ! case KeySpeed: ! m_uiJoypadState &= ~KeyFlagSpeed; break; ! case KeyCapture: ! m_uiJoypadState &= ~KeyFlagCapture; break; ! case KeyNone: break; } |
From: S?bastien G. <kx...@us...> - 2004-04-26 00:13:58
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32139 Modified Files: window.cpp window.h Log Message: Fixed another sound related bug. Index: window.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** window.h 22 Apr 2004 20:42:40 -0000 1.7 --- window.h 26 Apr 2004 00:13:50 -0000 1.8 *************** *** 200,203 **** --- 200,204 ---- u32 m_uiThrottleDelay; EShowSpeed m_eShowSpeed; + ESoundQuality m_eSoundQuality; void vInitSystem(); Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** window.cpp 22 Apr 2004 20:42:40 -0000 1.7 --- window.cpp 26 Apr 2004 00:13:50 -0000 1.8 *************** *** 1121,1124 **** --- 1121,1133 ---- m_uiThrottleDelay = 0; + if (m_eCartridge == CartridgeGBA) + { + soundSetQuality(m_eSoundQuality); + } + else + { + gbSoundSetQuality(m_eSoundQuality); + } + if (m_poFilePauseItem->get_active()) { *************** *** 1552,1555 **** --- 1561,1565 ---- } + m_eSoundQuality = (ESoundQuality)_iSoundQuality; if (m_eCartridge == CartridgeGBA) { *************** *** 1560,1567 **** gbSoundSetQuality(_iSoundQuality); } - else - { - soundQuality = _iSoundQuality; - } m_poSoundConfig->vSetKey("quality", _iSoundQuality); } --- 1570,1573 ---- |
From: S?bastien G. <kx...@us...> - 2004-04-25 21:57:12
|
Update of /cvsroot/vba/VisualBoyAdvance/src/win32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2762 Modified Files: MainWndFile.cpp skinButton.cpp Log Message: Patch from Forgotten: fixed skin bugs. Index: MainWndFile.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MainWndFile.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MainWndFile.cpp 11 Mar 2004 11:18:02 -0000 1.5 --- MainWndFile.cpp 25 Apr 2004 21:57:04 -0000 1.6 *************** *** 145,148 **** --- 145,149 ---- winSaveCheatListDefault(); writeBatteryFile(); + soundPause(); theApp.emulator.emuCleanUp(); remoteCleanUp(); Index: skinButton.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/skinButton.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** skinButton.cpp 17 Feb 2004 11:27:36 -0000 1.5 --- skinButton.cpp 25 Apr 2004 21:57:04 -0000 1.6 *************** *** 127,130 **** --- 127,131 ---- inside &= PtInRegion(region, pt.x, pt.y); if(inside) { + HWND hWnd = m_hWnd; if(idCommand != 0) GetParent()->SendMessage(WM_COMMAND, idCommand, 0); *************** *** 140,144 **** } ! return Default(); } return GetParent()->SendMessage(WM_LBUTTONUP, wParam, lParam); --- 141,145 ---- } ! return ::DefWindowProc(hWnd, WM_LBUTTONUP, wParam, lParam); } return GetParent()->SendMessage(WM_LBUTTONUP, wParam, lParam); |
From: S?bastien G. <kx...@us...> - 2004-04-25 19:08:36
|
Update of /cvsroot/vba/VisualBoyAdvance In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27960 Modified Files: configure configure.in Log Message: Fixed the frontend selection. Index: configure =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/configure,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** configure 29 Mar 2004 22:08:37 -0000 1.21 --- configure 25 Apr 2004 19:05:59 -0000 1.22 *************** *** 8186,8191 **** fi ! if test "x$enable_sdl" = xyes || test "x$enable_gtk" = xyes; then ! SDL_VERSION=1.2.2 # Check whether --with-sdl-prefix or --without-sdl-prefix was given. --- 8186,8190 ---- fi ! SDL_VERSION=1.2.2 # Check whether --with-sdl-prefix or --without-sdl-prefix was given. *************** *** 8473,8477 **** SDL_LIBS="" ! { { echo "$as_me:$LINENO: error: *** Couldn't find SDL library (version >= $SDL_VERSION)." >&5 echo "$as_me: error: *** Couldn't find SDL library (version >= $SDL_VERSION)." >&2;} { (exit 1); exit 1; }; } --- 8472,8476 ---- SDL_LIBS="" ! { { echo "$as_me:$LINENO: error: *** Couldn't find SDL library (version >= $SDL_VERSION)." >&5 echo "$as_me: error: *** Couldn't find SDL library (version >= $SDL_VERSION)." >&2;} { (exit 1); exit 1; }; } *************** *** 8482,8485 **** --- 8481,8486 ---- rm -f conf.sdltest + + if test "x$enable_sdl" = xyes; then VBA_EXTRA="$VBA_EXTRA sdl" fi Index: configure.in =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/configure.in,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** configure.in 29 Mar 2004 22:08:37 -0000 1.20 --- configure.in 25 Apr 2004 19:06:16 -0000 1.21 *************** *** 119,128 **** fi ! if test "x$enable_sdl" = xyes || test "x$enable_gtk" = xyes; then ! SDL_VERSION=1.2.2 ! AM_PATH_SDL($SDL_VERSION,[ ! ],[ ! AC_MSG_ERROR([*** Couldn't find SDL library (version >= $SDL_VERSION).]) ! ]) VBA_EXTRA="$VBA_EXTRA sdl" fi --- 119,129 ---- fi ! SDL_VERSION=1.2.2 ! AM_PATH_SDL($SDL_VERSION,[ ! ],[ ! AC_MSG_ERROR([*** Couldn't find SDL library (version >= $SDL_VERSION).]) ! ]) ! ! if test "x$enable_sdl" = xyes; then VBA_EXTRA="$VBA_EXTRA sdl" fi |
From: S?bastien G. <kx...@us...> - 2004-04-25 19:05:47
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27620 Modified Files: system.cpp Log Message: Fixed a bug with sound. Index: system.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/system.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** system.cpp 22 Apr 2004 20:42:39 -0000 1.4 --- system.cpp 25 Apr 2004 19:02:44 -0000 1.5 *************** *** 58,65 **** // Sound stuff // ! static SDL_cond * pstSoundCond = NULL; ! static SDL_mutex * pstSoundMutex = NULL; ! static u8 auiSoundBuffer[4096]; ! static int iSoundLen = 0; inline VBA::Window * GUI() --- 58,67 ---- // Sound stuff // ! const int iSoundSamples = 2048; ! const int iSoundTotalLen = iSoundSamples * 4; ! static u8 auiSoundBuffer[iSoundTotalLen]; ! static int iSoundLen; ! static SDL_cond * pstSoundCond; ! static SDL_mutex * pstSoundMutex; inline VBA::Window * GUI() *************** *** 78,83 **** Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK); - oDialog.show(); // TEST - oDialog.grab_focus(); // TEST oDialog.run(); free(csMsg); --- 80,83 ---- *************** *** 137,141 **** { SDL_mutexP(pstSoundMutex); ! if (iSoundLen < 2048 * 2) { bWait = false; --- 137,141 ---- { SDL_mutexP(pstSoundMutex); ! if (iSoundLen < iSoundTotalLen) { bWait = false; *************** *** 146,155 **** int iLen = soundBufferLen; int iCopied = 0; ! if (iSoundLen + iLen >= 2048 * 2) { ! iCopied = 2048 * 2 - iSoundLen; memcpy(&auiSoundBuffer[iSoundLen], soundFinalWave, iCopied); ! iSoundLen = 2048 * 2; SDL_CondSignal(pstSoundCond); --- 146,155 ---- int iLen = soundBufferLen; int iCopied = 0; ! if (iSoundLen + iLen >= iSoundTotalLen) { ! iCopied = iSoundTotalLen - iSoundLen; memcpy(&auiSoundBuffer[iSoundLen], soundFinalWave, iCopied); ! iSoundLen = iSoundTotalLen; SDL_CondSignal(pstSoundCond); *************** *** 160,164 **** { SDL_mutexP(pstSoundMutex); ! if (iSoundLen < 2048 * 2) { bWait = false; --- 160,164 ---- { SDL_mutexP(pstSoundMutex); ! if (iSoundLen < iSoundTotalLen) { bWait = false; *************** *** 195,199 **** if (! speedup && GUI()->iGetThrottle() == 0) { ! while (iSoundLen < 2048 * 2 && emulating) { SDL_CondWait(pstSoundCond, pstSoundMutex); --- 195,199 ---- if (! speedup && GUI()->iGetThrottle() == 0) { ! while (iSoundLen < iSoundTotalLen && emulating) { SDL_CondWait(pstSoundCond, pstSoundMutex); *************** *** 230,234 **** stAudio.format = AUDIO_S16SYS; stAudio.channels = 2; ! stAudio.samples = 1024; stAudio.callback = vSoundCallback; stAudio.userdata = NULL; --- 230,234 ---- stAudio.format = AUDIO_S16SYS; stAudio.channels = 2; ! stAudio.samples = iSoundSamples; stAudio.callback = vSoundCallback; stAudio.userdata = NULL; |
From: S?bastien G. <kx...@us...> - 2004-04-22 20:42:49
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23207 Modified Files: system.cpp vba.glade window.cpp window.h Log Message: Added sound support. Index: system.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/system.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** system.cpp 16 Apr 2004 01:12:01 -0000 1.3 --- system.cpp 22 Apr 2004 20:42:39 -0000 1.4 *************** *** 19,24 **** --- 19,26 ---- #include <stdio.h> #include <stdarg.h> + #include <string.h> #include <SDL.h> + #include <SDL_thread.h> #include "../GBA.h" *************** *** 26,53 **** #include "../gb/gbGlobals.h" #include "../Util.h" #include "window.h" ! int systemRedShift; ! int systemGreenShift; ! int systemBlueShift; ! int systemColorDepth; ! int systemDebug; ! int systemVerbose; ! int systemSaveUpdateCounter; ! int systemFrameSkip; ! u32 systemColorMap32[0x10000]; ! u16 systemColorMap16[0x10000]; ! u16 systemGbPalette[24]; bool systemSoundOn; int systemRenderedFrames; int systemFPS; ! int emulating; ! bool debugger; ! int RGB_LOW_BITS_MASK; ! inline VBA::Window * gui() { return VBA::Window::poGetInstance(); --- 28,67 ---- #include "../gb/gbGlobals.h" #include "../Util.h" + #include "../Sound.h" #include "window.h" ! // Required vars, used by the emulator core ! // ! int systemRedShift; ! int systemGreenShift; ! int systemBlueShift; ! int systemColorDepth; ! int systemDebug; ! int systemVerbose; ! int systemSaveUpdateCounter; ! int systemFrameSkip; ! u32 systemColorMap32[0x10000]; ! u16 systemColorMap16[0x10000]; ! u16 systemGbPalette[24]; bool systemSoundOn; + int emulating; + bool debugger; + int RGB_LOW_BITS_MASK; + + // Extra vars, only used for the GUI + // int systemRenderedFrames; int systemFPS; ! // Sound stuff ! // ! static SDL_cond * pstSoundCond = NULL; ! static SDL_mutex * pstSoundMutex = NULL; ! static u8 auiSoundBuffer[4096]; ! static int iSoundLen = 0; ! inline VBA::Window * GUI() { return VBA::Window::poGetInstance(); *************** *** 61,67 **** va_end(args); ! Gtk::MessageDialog oDialog(*gui(), csMsg, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK); oDialog.run(); free(csMsg); --- 75,83 ---- va_end(args); ! Gtk::MessageDialog oDialog(*GUI(), csMsg, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK); + oDialog.show(); // TEST + oDialog.grab_focus(); // TEST oDialog.run(); free(csMsg); *************** *** 70,74 **** void systemDrawScreen() { ! gui()->vDrawScreen(); systemRenderedFrames++; } --- 86,90 ---- void systemDrawScreen() { ! GUI()->vDrawScreen(); systemRenderedFrames++; } *************** *** 81,85 **** u32 systemReadJoypad(int) { ! return gui()->uiReadJoypad(); } --- 97,101 ---- u32 systemReadJoypad(int) { ! return GUI()->uiReadJoypad(); } *************** *** 89,98 **** systemRenderedFrames = 0; ! gui()->vShowSpeed(_iSpeed); } void system10Frames(int _iRate) { ! gui()->vComputeFrameskip(_iRate); } --- 105,114 ---- systemRenderedFrames = 0; ! GUI()->vShowSpeed(_iSpeed); } void system10Frames(int _iRate) { ! GUI()->vComputeFrameskip(_iRate); } *************** *** 103,107 **** void systemSetTitle(const char * _csTitle) { ! gui()->set_title(_csTitle); } --- 119,123 ---- void systemSetTitle(const char * _csTitle) { ! GUI()->set_title(_csTitle); } *************** *** 112,119 **** --- 128,250 ---- void systemWriteDataToSoundBuffer() { + if (SDL_GetAudioStatus() != SDL_AUDIO_PLAYING) + { + SDL_PauseAudio(0); + } + + bool bWait = true; + while (bWait && ! speedup && GUI()->iGetThrottle() == 0) + { + SDL_mutexP(pstSoundMutex); + if (iSoundLen < 2048 * 2) + { + bWait = false; + } + SDL_mutexV(pstSoundMutex); + } + + int iLen = soundBufferLen; + int iCopied = 0; + if (iSoundLen + iLen >= 2048 * 2) + { + iCopied = 2048 * 2 - iSoundLen; + memcpy(&auiSoundBuffer[iSoundLen], soundFinalWave, iCopied); + + iSoundLen = 2048 * 2; + SDL_CondSignal(pstSoundCond); + + bWait = true; + if (! speedup && GUI()->iGetThrottle() == 0) + { + while(bWait) + { + SDL_mutexP(pstSoundMutex); + if (iSoundLen < 2048 * 2) + { + bWait = false; + } + SDL_mutexV(pstSoundMutex); + } + + memcpy(auiSoundBuffer, ((u8 *)soundFinalWave) + iCopied, + soundBufferLen - iCopied); + + iSoundLen = soundBufferLen - iCopied; + } + else + { + memcpy(auiSoundBuffer, ((u8 *)soundFinalWave) + iCopied, + soundBufferLen); + } + } + else + { + memcpy(&auiSoundBuffer[iSoundLen], soundFinalWave, soundBufferLen); + iSoundLen += soundBufferLen; + } + } + + static void vSoundCallback(void * _pvUserData, u8 * _puiStream, int _iLen) + { + if (! emulating) + { + return; + } + + SDL_mutexP(pstSoundMutex); + if (! speedup && GUI()->iGetThrottle() == 0) + { + while (iSoundLen < 2048 * 2 && emulating) + { + SDL_CondWait(pstSoundCond, pstSoundMutex); + } + } + if (emulating) + { + memcpy(_puiStream, auiSoundBuffer, _iLen); + } + iSoundLen = 0; + SDL_mutexV(pstSoundMutex); } bool systemSoundInit() { + SDL_AudioSpec stAudio; + + switch (soundQuality) + { + case 1: + stAudio.freq = 44100; + soundBufferLen = 1470 * 2; + break; + case 2: + stAudio.freq = 22050; + soundBufferLen = 736 * 2; + break; + case 4: + stAudio.freq = 11025; + soundBufferLen = 368 * 2; + break; + } + + stAudio.format = AUDIO_S16SYS; + stAudio.channels = 2; + stAudio.samples = 1024; + stAudio.callback = vSoundCallback; + stAudio.userdata = NULL; + + if (SDL_OpenAudio(&stAudio, NULL) < 0) + { + fprintf(stderr, "Failed to open audio: %s\n", SDL_GetError()); + return false; + } + + pstSoundCond = SDL_CreateCond(); + pstSoundMutex = SDL_CreateMutex(); + + soundBufferTotalLen = soundBufferLen * 10; + iSoundLen = 0; + systemSoundOn = true; + return true; } *************** *** 121,132 **** --- 252,281 ---- void systemSoundShutdown() { + SDL_mutexP(pstSoundMutex); + int iSave = emulating; + emulating = 0; + SDL_CondSignal(pstSoundCond); + SDL_mutexV(pstSoundMutex); + + SDL_DestroyCond(pstSoundCond); + pstSoundCond = NULL; + + SDL_DestroyMutex(pstSoundMutex); + pstSoundMutex = NULL; + + SDL_CloseAudio(); + + emulating = iSave; + systemSoundOn = false; } void systemSoundPause() { + SDL_PauseAudio(1); } void systemSoundResume() { + SDL_PauseAudio(0); } *************** *** 168,172 **** bool systemCanChangeSoundQuality() { ! return false; } --- 317,321 ---- bool systemCanChangeSoundQuality() { ! return true; } Index: window.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** window.h 16 Apr 2004 06:33:18 -0000 1.6 --- window.h 22 Apr 2004 20:42:40 -0000 1.7 *************** *** 26,29 **** --- 26,31 ---- #include <string> + #include "../System.h" + #include "configfile.h" #include "screenarea.h" *************** *** 61,83 **** void vComputeFrameskip(int _iRate); void vShowSpeed(int _iSpeed); ! inline u32 uiReadJoypad() { return m_uiJoypadState; } ! inline ECartridge eGetCartridge() { return m_eCartridge; } protected: enum EShowSpeed { ! ShowSpeedNone, ! ShowSpeedPercentage, ! ShowSpeedDetailed }; enum ESaveType { ! SaveTypeAuto, ! SaveTypeEEPROM, ! SaveTypeSRAM, ! SaveTypeFlash, ! SaveTypeEEPROMSensor, ! SaveTypeNone }; --- 63,111 ---- void vComputeFrameskip(int _iRate); void vShowSpeed(int _iSpeed); ! ! inline u32 uiReadJoypad() const { return m_uiJoypadState; } ! inline ECartridge eGetCartridge() const { return m_eCartridge; } ! inline int iGetThrottle() const { return m_iThrottle; } protected: enum EShowSpeed { ! ShowNone, ! ShowPercentage, ! ShowDetailed }; enum ESaveType { ! SaveAuto, ! SaveEEPROM, ! SaveSRAM, ! SaveFlash, ! SaveEEPROMSensor, ! SaveNone ! }; ! ! enum ESoundStatus ! { ! SoundOff, ! SoundMute, ! SoundOn ! }; ! ! enum ESoundQuality ! { ! Sound44K = 1, ! Sound22K = 2, ! Sound11K = 4 ! }; ! ! enum ESoundVolume ! { ! Sound100, ! Sound200, ! Sound300, ! Sound400, ! Sound25, ! Sound50 }; *************** *** 97,100 **** --- 125,135 ---- virtual void vOnSaveTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iSaveType); virtual void vOnFlashSizeToggled(Gtk::CheckMenuItem * _poCMI, int _iFlashSize); + virtual void vOnSoundStatusToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundStatus); + virtual void vOnSoundEchoToggled(Gtk::CheckMenuItem * _poCMI); + virtual void vOnSoundLowPassToggled(Gtk::CheckMenuItem * _poCMI); + virtual void vOnSoundReverseToggled(Gtk::CheckMenuItem * _poCMI); + virtual void vOnSoundChannelToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundChannel); + virtual void vOnSoundQualityToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundQuality); + virtual void vOnSoundVolumeToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundVolume); virtual void vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x); virtual void vOnFilterIBToggled(Gtk::CheckMenuItem * _poCMI, int _iFilterIB); *************** *** 123,126 **** --- 158,165 ---- const int m_iSaveTypeMin; const int m_iSaveTypeMax; + const int m_iSoundQualityMin; + const int m_iSoundQualityMax; + const int m_iSoundVolumeMin; + const int m_iSoundVolumeMax; const int m_iFilter2xMin; const int m_iFilter2xMax; *************** *** 137,140 **** --- 176,180 ---- Config::Section * m_poCoreConfig; Config::Section * m_poDisplayConfig; + Config::Section * m_poSoundConfig; Gtk::FileSelection * m_poFileOpenDialog; *************** *** 142,145 **** --- 182,186 ---- Gtk::CheckMenuItem * m_poFilePauseItem; Gtk::CheckMenuItem * m_poUseBiosItem; + Gtk::CheckMenuItem * m_poSoundOffItem; SigC::Connection m_oEmuSig; Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** window.cpp 16 Apr 2004 06:33:18 -0000 1.6 --- window.cpp 22 Apr 2004 20:42:40 -0000 1.7 *************** *** 27,30 **** --- 27,31 ---- #include "../gb/GB.h" #include "../gb/gbGlobals.h" + #include "../Sound.h" #include "../Util.h" *************** *** 62,69 **** m_iScaleMin (1), m_iScaleMax (6), ! m_iShowSpeedMin (ShowSpeedNone), ! m_iShowSpeedMax (ShowSpeedDetailed), ! m_iSaveTypeMin (SaveTypeAuto), ! m_iSaveTypeMax (SaveTypeNone), m_iFilter2xMin (FirstFilter), m_iFilter2xMax (LastFilter), --- 63,74 ---- m_iScaleMin (1), m_iScaleMax (6), ! m_iShowSpeedMin (ShowNone), ! m_iShowSpeedMax (ShowDetailed), ! m_iSaveTypeMin (SaveAuto), ! m_iSaveTypeMax (SaveNone), ! m_iSoundQualityMin(Sound44K), ! m_iSoundQualityMax(Sound11K), ! m_iSoundVolumeMin (Sound100), ! m_iSoundVolumeMax (Sound50), m_iFilter2xMin (FirstFilter), m_iFilter2xMax (LastFilter), *************** *** 293,299 **** astShowSpeed[] = { ! { "ShowSpeedNone", ShowSpeedNone }, ! { "ShowSpeedPercentage", ShowSpeedPercentage }, ! { "ShowSpeedDetailed", ShowSpeedDetailed } }; EShowSpeed eDefaultShowSpeed = (EShowSpeed)m_poDisplayConfig->oGetKey<int>("show_speed"); --- 298,304 ---- astShowSpeed[] = { ! { "ShowSpeedNone", ShowNone }, ! { "ShowSpeedPercentage", ShowPercentage }, ! { "ShowSpeedDetailed", ShowDetailed } }; EShowSpeed eDefaultShowSpeed = (EShowSpeed)m_poDisplayConfig->oGetKey<int>("show_speed"); *************** *** 320,329 **** astSaveType[] = { ! { "SaveTypeAutomatic", SaveTypeAuto }, ! { "SaveTypeEeprom", SaveTypeEEPROM }, ! { "SaveTypeSram", SaveTypeSRAM }, ! { "SaveTypeFlash", SaveTypeFlash }, ! { "SaveTypeEepromSensor", SaveTypeEEPROMSensor }, ! { "SaveTypeNone", SaveTypeNone } }; ESaveType eDefaultSaveType = (ESaveType)m_poCoreConfig->oGetKey<int>("save_type"); --- 325,334 ---- astSaveType[] = { ! { "SaveTypeAutomatic", SaveAuto }, ! { "SaveTypeEeprom", SaveEEPROM }, ! { "SaveTypeSram", SaveSRAM }, ! { "SaveTypeFlash", SaveFlash }, ! { "SaveTypeEepromSensor", SaveEEPROMSensor }, ! { "SaveTypeNone", SaveNone } }; ESaveType eDefaultSaveType = (ESaveType)m_poCoreConfig->oGetKey<int>("save_type"); *************** *** 367,370 **** --- 372,511 ---- } + // Sound menu + // + std::string sDefaultSoundStatus = m_poSoundConfig->sGetKey("status"); + + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("SoundOff")); + if (sDefaultSoundStatus == "off") + { + poCMI->set_active(); + vOnSoundStatusToggled(poCMI, SoundOff); + } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnSoundStatusToggled), + poCMI, SoundOff)); + m_poSoundOffItem = poCMI; + + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("SoundMute")); + if (sDefaultSoundStatus == "mute") + { + poCMI->set_active(); + vOnSoundStatusToggled(poCMI, SoundMute); + } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnSoundStatusToggled), + poCMI, SoundMute)); + + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("SoundOn")); + if (sDefaultSoundStatus == "on") + { + poCMI->set_active(); + vOnSoundStatusToggled(poCMI, SoundOn); + } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnSoundStatusToggled), + poCMI, SoundOn)); + + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("SoundEcho")); + poCMI->set_active(m_poSoundConfig->oGetKey<bool>("echo")); + vOnSoundEchoToggled(poCMI); + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( + SigC::slot(*this, &Window::vOnSoundEchoToggled), + poCMI)); + + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("SoundLowPass")); + poCMI->set_active(m_poSoundConfig->oGetKey<bool>("low_pass")); + vOnSoundLowPassToggled(poCMI); + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( + SigC::slot(*this, &Window::vOnSoundLowPassToggled), + poCMI)); + + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("SoundReverseStereo")); + poCMI->set_active(m_poSoundConfig->oGetKey<bool>("reverse_stereo")); + vOnSoundReverseToggled(poCMI); + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( + SigC::slot(*this, &Window::vOnSoundReverseToggled), + poCMI)); + + struct + { + const char * m_csName; + const int m_iSoundChannel; + const bool m_bChecked; + } + astSoundChannel[] = + { + { "SoundChannel1", 0, m_poSoundConfig->oGetKey<bool>("channel_1") }, + { "SoundChannel2", 1, m_poSoundConfig->oGetKey<bool>("channel_2") }, + { "SoundChannel3", 2, m_poSoundConfig->oGetKey<bool>("channel_3") }, + { "SoundChannel4", 3, m_poSoundConfig->oGetKey<bool>("channel_4") }, + { "SoundChannelA", 4, m_poSoundConfig->oGetKey<bool>("channel_A") }, + { "SoundChannelB", 5, m_poSoundConfig->oGetKey<bool>("channel_B") } + }; + for (guint i = 0; i < sizeof(astSoundChannel) / sizeof(astSoundChannel[0]); i++) + { + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astSoundChannel[i].m_csName)); + poCMI->set_active(astSoundChannel[i].m_bChecked); + vOnSoundChannelToggled(poCMI, astSoundChannel[i].m_iSoundChannel); + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnSoundChannelToggled), + poCMI, astSoundChannel[i].m_iSoundChannel)); + } + + struct + { + const char * m_csName; + const ESoundQuality m_eSoundQuality; + } + astSoundQuality[] = + { + { "Sound11Khz", Sound11K }, + { "Sound22Khz", Sound22K }, + { "Sound44Khz", Sound44K } + }; + ESoundQuality eDefaultSoundQuality = (ESoundQuality)m_poSoundConfig->oGetKey<int>("quality"); + for (guint i = 0; i < sizeof(astSoundQuality) / sizeof(astSoundQuality[0]); i++) + { + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astSoundQuality[i].m_csName)); + if (astSoundQuality[i].m_eSoundQuality == eDefaultSoundQuality) + { + poCMI->set_active(); + vOnSoundQualityToggled(poCMI, eDefaultSoundQuality); + } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnSoundQualityToggled), + poCMI, astSoundQuality[i].m_eSoundQuality)); + } + + // Volume menu + // + struct + { + const char * m_csName; + const ESoundVolume m_eSoundVolume; + } + astSoundVolume[] = + { + { "Volume25", Sound25 }, + { "Volume50", Sound50 }, + { "Volume100", Sound100 }, + { "Volume200", Sound200 }, + { "Volume300", Sound300 }, + { "Volume400", Sound400 } + }; + ESoundVolume eDefaultSoundVolume = (ESoundVolume)m_poSoundConfig->oGetKey<int>("volume"); + for (guint i = 0; i < sizeof(astSoundVolume) / sizeof(astSoundVolume[0]); i++) + { + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astSoundVolume[i].m_csName)); + if (astSoundVolume[i].m_eSoundVolume == eDefaultSoundVolume) + { + poCMI->set_active(); + vOnSoundVolumeToggled(poCMI, eDefaultSoundVolume); + } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnSoundVolumeToggled), + poCMI, astSoundVolume[i].m_eSoundVolume)); + } + // Filter menu // *************** *** 494,497 **** --- 635,639 ---- systemFrameSkip = 0; systemSoundOn = false; + soundOffFlag = true; systemRenderedFrames = 0; *************** *** 545,573 **** // m_poCoreConfig = m_oConfig.poAddSection("Core"); ! m_poCoreConfig->vSetKey ("frameskip", "auto" ); ! m_poCoreConfig->vSetKey ("throttle", 0 ); ! m_poCoreConfig->vSetKey ("layer_bg0", true ); ! m_poCoreConfig->vSetKey ("layer_bg1", true ); ! m_poCoreConfig->vSetKey ("layer_bg2", true ); ! m_poCoreConfig->vSetKey ("layer_bg3", true ); ! m_poCoreConfig->vSetKey ("layer_obj", true ); ! m_poCoreConfig->vSetKey ("layer_win0", true ); ! m_poCoreConfig->vSetKey ("layer_win1", true ); ! m_poCoreConfig->vSetKey ("layer_objwin", true ); ! m_poCoreConfig->vSetKey ("use_bios_file", false ); ! m_poCoreConfig->vSetKey ("bios_file", "" ); ! m_poCoreConfig->vSetKey<int>("save_type", SaveTypeAuto ); ! m_poCoreConfig->vSetKey<int>("flash_size", 64 ); // Display section // m_poDisplayConfig = m_oConfig.poAddSection("Display"); ! m_poDisplayConfig->vSetKey ("scale", 1 ); ! m_poDisplayConfig->vSetKey<int>("show_speed", ShowSpeedPercentage ); ! m_poDisplayConfig->vSetKey<int>("filter2x", FilterNone ); ! m_poDisplayConfig->vSetKey<int>("filterIB", FilterIBNone ); #ifdef MMX ! m_poDisplayConfig->vSetKey ("filter_disable_mmx", false ); #endif // MMX } --- 687,731 ---- // m_poCoreConfig = m_oConfig.poAddSection("Core"); ! m_poCoreConfig->vSetKey ("frameskip", "auto" ); ! m_poCoreConfig->vSetKey ("throttle", 0 ); ! m_poCoreConfig->vSetKey ("layer_bg0", true ); ! m_poCoreConfig->vSetKey ("layer_bg1", true ); ! m_poCoreConfig->vSetKey ("layer_bg2", true ); ! m_poCoreConfig->vSetKey ("layer_bg3", true ); ! m_poCoreConfig->vSetKey ("layer_obj", true ); ! m_poCoreConfig->vSetKey ("layer_win0", true ); ! m_poCoreConfig->vSetKey ("layer_win1", true ); ! m_poCoreConfig->vSetKey ("layer_objwin", true ); ! m_poCoreConfig->vSetKey ("use_bios_file", false ); ! m_poCoreConfig->vSetKey ("bios_file", "" ); ! m_poCoreConfig->vSetKey<int>("save_type", SaveAuto ); ! m_poCoreConfig->vSetKey<int>("flash_size", 64 ); // Display section // m_poDisplayConfig = m_oConfig.poAddSection("Display"); ! m_poDisplayConfig->vSetKey ("scale", 1 ); ! m_poDisplayConfig->vSetKey<int>("show_speed", ShowPercentage ); ! m_poDisplayConfig->vSetKey<int>("filter2x", FilterNone ); ! m_poDisplayConfig->vSetKey<int>("filterIB", FilterIBNone ); #ifdef MMX ! m_poDisplayConfig->vSetKey ("filter_disable_mmx", false ); #endif // MMX + + // Sound section + // + m_poSoundConfig = m_oConfig.poAddSection("Sound"); + m_poSoundConfig->vSetKey("status", "on" ); + m_poSoundConfig->vSetKey("echo", false ); + m_poSoundConfig->vSetKey("low_pass", false ); + m_poSoundConfig->vSetKey("reverse_stereo", false ); + m_poSoundConfig->vSetKey("channel_1", true ); + m_poSoundConfig->vSetKey("channel_2", true ); + m_poSoundConfig->vSetKey("channel_3", true ); + m_poSoundConfig->vSetKey("channel_4", true ); + m_poSoundConfig->vSetKey("channel_A", true ); + m_poSoundConfig->vSetKey("channel_B", true ); + m_poSoundConfig->vSetKey("quality", Sound22K ); + m_poSoundConfig->vSetKey("volume", Sound100 ); } *************** *** 655,658 **** --- 813,838 ---- m_poDisplayConfig->vSetKey("filterIB", iAdjusted); } + + // Sound section + // + sValue = m_poSoundConfig->sGetKey("status"); + if (sValue != "off" && sValue != "on" && sValue != "mute") + { + m_poSoundConfig->vSetKey("status", "on"); + } + + iValue = m_poSoundConfig->oGetKey<int>("quality"); + iAdjusted = CLAMP(iValue, m_iSoundQualityMin, m_iSoundQualityMax); + if (iValue != iAdjusted) + { + m_poSoundConfig->vSetKey("quality", iAdjusted); + } + + iValue = m_poSoundConfig->oGetKey<int>("volume"); + iAdjusted = CLAMP(iValue, m_iSoundVolumeMin, m_iSoundVolumeMax); + if (iValue != iAdjusted) + { + m_poSoundConfig->vSetKey("volume", iAdjusted); + } } *************** *** 749,758 **** char csTitle[50]; ! if (m_eShowSpeed == ShowSpeedPercentage) { snprintf(csTitle, 50, "VBA - %d%%", _iSpeed); set_title(csTitle); } ! else if (m_eShowSpeed == ShowSpeedDetailed) { snprintf(csTitle, 50, "VBA - %d%% (%d, %d fps)", --- 929,938 ---- char csTitle[50]; ! if (m_eShowSpeed == ShowPercentage) { snprintf(csTitle, 50, "VBA - %d%%", _iSpeed); set_title(csTitle); } ! else if (m_eShowSpeed == ShowDetailed) { snprintf(csTitle, 50, "VBA - %d%% (%d, %d fps)", *************** *** 1081,1084 **** --- 1261,1265 ---- { vStopEmu(); + vSetDefaultTitle(); vDrawDefaultScreen(); vSaveBattery(); *************** *** 1239,1243 **** m_eShowSpeed = (EShowSpeed)_iShowSpeed; ! if (m_eShowSpeed == ShowSpeedNone) { vSetDefaultTitle(); --- 1420,1424 ---- m_eShowSpeed = (EShowSpeed)_iShowSpeed; ! if (m_eShowSpeed == ShowNone) { vSetDefaultTitle(); *************** *** 1275,1278 **** --- 1456,1581 ---- } + void Window::vOnSoundStatusToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundStatus) + { + if (! _poCMI->get_active()) + { + return; + } + + std::string sSoundStatus; + switch (_iSoundStatus) + { + case SoundOff: + soundOffFlag = true; + if (systemSoundOn) + { + soundShutdown(); + } + sSoundStatus = "off"; + break; + case SoundMute: + soundDisable(0x30f); + sSoundStatus = "mute"; + break; + case SoundOn: + if (soundOffFlag) + { + soundOffFlag = false; + if (! soundInit()) + { + m_poSoundOffItem->set_active(); + return; + } + } + soundEnable(0x30f); + sSoundStatus = "on"; + break; + } + m_poSoundConfig->vSetKey("status", sSoundStatus); + } + + void Window::vOnSoundEchoToggled(Gtk::CheckMenuItem * _poCMI) + { + soundEcho = _poCMI->get_active(); + m_poSoundConfig->vSetKey("echo", soundEcho); + } + + void Window::vOnSoundLowPassToggled(Gtk::CheckMenuItem * _poCMI) + { + soundLowPass = _poCMI->get_active(); + m_poSoundConfig->vSetKey("low_pass", soundLowPass); + } + + void Window::vOnSoundReverseToggled(Gtk::CheckMenuItem * _poCMI) + { + soundReverse = _poCMI->get_active(); + m_poSoundConfig->vSetKey("reverse_stereo", soundReverse); + } + + void Window::vOnSoundChannelToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundChannel) + { + int iShift = _iSoundChannel; + if (_iSoundChannel > 3) + { + iShift += 4; + } + int iFlag = 1 << iShift; + int iActive = soundGetEnable() & 0x30f; + if (_poCMI->get_active()) + { + iActive |= iFlag; + } + else + { + iActive &= ~iFlag; + } + soundEnable(iActive); + soundDisable(~iActive & 0x30f); + + const char * acsChannels[] = + { + "channel_1", + "channel_2", + "channel_3", + "channel_4", + "channel_A", + "channel_B" + }; + m_poSoundConfig->vSetKey(acsChannels[_iSoundChannel], _poCMI->get_active()); + } + + void Window::vOnSoundQualityToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundQuality) + { + if (! _poCMI->get_active()) + { + return; + } + + if (m_eCartridge == CartridgeGBA) + { + soundSetQuality(_iSoundQuality); + } + else if (m_eCartridge == CartridgeGB) + { + gbSoundSetQuality(_iSoundQuality); + } + else + { + soundQuality = _iSoundQuality; + } + m_poSoundConfig->vSetKey("quality", _iSoundQuality); + } + + void Window::vOnSoundVolumeToggled(Gtk::CheckMenuItem * _poCMI, int _iSoundVolume) + { + if (! _poCMI->get_active()) + { + return; + } + + soundVolume = _iSoundVolume; + m_poSoundConfig->vSetKey("volume", _iSoundVolume); + } + void Window::vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x) { Index: vba.glade =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/vba.glade,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** vba.glade 16 Apr 2004 01:12:01 -0000 1.4 --- vba.glade 22 Apr 2004 20:42:40 -0000 1.5 *************** *** 11,14 **** --- 11,19 ---- <property name="resizable">True</property> <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <child> *************** *** 46,50 **** <child internal-child="image"> ! <widget class="GtkImage" id="image74"> <property name="visible">True</property> <property name="stock">gtk-open</property> --- 51,55 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image80"> <property name="visible">True</property> <property name="stock">gtk-open</property> *************** *** 60,64 **** <child> ! <widget class="GtkMenuItem" id="separator1"> <property name="visible">True</property> </widget> --- 65,69 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator1"> <property name="visible">True</property> </widget> *************** *** 100,104 **** <child> ! <widget class="GtkMenuItem" id="separator2"> <property name="visible">True</property> </widget> --- 105,109 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator2"> <property name="visible">True</property> </widget> *************** *** 125,129 **** <child> ! <widget class="GtkMenuItem" id="separator3"> <property name="visible">True</property> </widget> --- 130,134 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator3"> <property name="visible">True</property> </widget> *************** *** 139,143 **** <child> ! <widget class="GtkMenuItem" id="separator4"> <property name="visible">True</property> </widget> --- 144,148 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator4"> <property name="visible">True</property> </widget> *************** *** 161,165 **** <child> ! <widget class="GtkMenuItem" id="separator5"> <property name="visible">True</property> </widget> --- 166,170 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator5"> <property name="visible">True</property> </widget> *************** *** 183,187 **** <child> ! <widget class="GtkMenuItem" id="separator6"> <property name="visible">True</property> </widget> --- 188,192 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator6"> <property name="visible">True</property> </widget> *************** *** 195,199 **** <child internal-child="image"> ! <widget class="GtkImage" id="image75"> <property name="visible">True</property> <property name="stock">gtk-close</property> --- 200,204 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image81"> <property name="visible">True</property> <property name="stock">gtk-close</property> *************** *** 216,220 **** <child internal-child="image"> ! <widget class="GtkImage" id="image76"> <property name="visible">True</property> <property name="stock">gtk-quit</property> --- 221,225 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image82"> <property name="visible">True</property> <property name="stock">gtk-quit</property> *************** *** 334,338 **** <child> ! <widget class="GtkMenuItem" id="separator19"> <property name="visible">True</property> </widget> --- 339,343 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator19"> <property name="visible">True</property> </widget> *************** *** 521,525 **** <child> ! <widget class="GtkMenuItem" id="separator9"> <property name="visible">True</property> </widget> --- 526,530 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator9"> <property name="visible">True</property> </widget> *************** *** 743,747 **** <child> ! <widget class="GtkMenuItem" id="separator10"> <property name="visible">True</property> </widget> --- 748,752 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator10"> <property name="visible">True</property> </widget> *************** *** 831,850 **** <child> ! <widget class="GtkMenuItem" id="separator11"> ! <property name="visible">True</property> ! </widget> ! </child> ! ! <child> ! <widget class="GtkCheckMenuItem" id="SoundOldSync"> ! <property name="visible">True</property> ! <property name="label" translatable="yes">Use old synchronization</property> ! <property name="use_underline">True</property> ! <property name="active">False</property> ! </widget> ! </child> ! ! <child> ! <widget class="GtkMenuItem" id="separator12"> <property name="visible">True</property> </widget> --- 836,840 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator11"> <property name="visible">True</property> </widget> *************** *** 879,883 **** <child> ! <widget class="GtkMenuItem" id="separator13"> <property name="visible">True</property> </widget> --- 869,873 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator13"> <property name="visible">True</property> </widget> *************** *** 939,943 **** <child> ! <widget class="GtkMenuItem" id="separator14"> <property name="visible">True</property> </widget> --- 929,933 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator14"> <property name="visible">True</property> </widget> *************** *** 974,978 **** <child> ! <widget class="GtkMenuItem" id="separator15"> <property name="visible">True</property> </widget> --- 964,968 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator15"> <property name="visible">True</property> </widget> *************** *** 1083,1087 **** <child> ! <widget class="GtkMenuItem" id="separator16"> <property name="visible">True</property> </widget> --- 1073,1077 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator16"> <property name="visible">True</property> </widget> *************** *** 1203,1207 **** <child> ! <widget class="GtkMenuItem" id="separator20"> <property name="visible">True</property> </widget> --- 1193,1197 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator20"> <property name="visible">True</property> </widget> *************** *** 1348,1352 **** <child> ! <widget class="GtkMenuItem" id="separator17"> <property name="visible">True</property> </widget> --- 1338,1342 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator17"> <property name="visible">True</property> </widget> *************** *** 1421,1425 **** <child> ! <widget class="GtkMenuItem" id="separator18"> <property name="visible">True</property> </widget> --- 1411,1415 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator18"> <property name="visible">True</property> </widget> *************** *** 1466,1470 **** <child> ! <widget class="GtkMenuItem" id="separator24"> <property name="visible">True</property> </widget> --- 1456,1460 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator24"> <property name="visible">True</property> </widget> *************** *** 1480,1484 **** <child> ! <widget class="GtkMenuItem" id="separator25"> <property name="visible">True</property> </widget> --- 1470,1474 ---- <child> ! <widget class="GtkSeparatorMenuItem" id="separator25"> <property name="visible">True</property> </widget> *************** *** 1649,1652 **** --- 1639,1646 ---- <property name="xscale">0</property> <property name="yscale">0</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> <child> *************** *** 1667,1674 **** <property name="title" translatable="yes">About VBA</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> ! <property name="window_position">GTK_WIN_POS_NONE</property> <property name="modal">False</property> <property name="resizable">True</property> <property name="destroy_with_parent">True</property> <property name="has_separator">True</property> --- 1661,1673 ---- <property name="title" translatable="yes">About VBA</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> ! <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> <property name="modal">False</property> <property name="resizable">True</property> <property name="destroy_with_parent">True</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="has_separator">True</property> *************** *** 1692,1695 **** --- 1691,1695 ---- <property name="use_stock">True</property> <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> <property name="response_id">-7</property> </widget> *************** *** 1776,1783 **** <property name="title" translatable="yes">Throttle</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> ! <property name="window_position">GTK_WIN_POS_NONE</property> <property name="modal">False</property> <property name="resizable">True</property> <property name="destroy_with_parent">True</property> <property name="has_separator">True</property> --- 1776,1788 ---- <property name="title" translatable="yes">Throttle</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> ! <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property> <property name="modal">False</property> <property name="resizable">True</property> <property name="destroy_with_parent">True</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="has_separator">True</property> *************** *** 1801,1804 **** --- 1806,1810 ---- <property name="use_stock">True</property> <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> <property name="response_id">-6</property> </widget> *************** *** 1813,1816 **** --- 1819,1823 ---- <property name="use_stock">True</property> <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> <property name="response_id">-5</property> </widget> |
From: S?bastien G. <kx...@us...> - 2004-04-18 22:24:24
|
Update of /cvsroot/vba/VisualBoyAdvance/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19978 Modified Files: remote.cpp Log Message: Patch from Ryan Brown: added support for z2 (delete break on write) so that gdb can use break on write. Index: remote.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/remote.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** remote.cpp 4 Jul 2003 12:33:50 -0000 1.4 --- remote.cpp 18 Apr 2004 22:24:15 -0000 1.5 *************** *** 441,445 **** } ! void remoteWriteWatch(char *p) { u32 address; --- 441,445 ---- } ! void remoteWriteWatch(char *p, int type) { u32 address; *************** *** 471,477 **** for(int i = 0; i < count; i++) { if((address >> 24) == 2) ! freezeWorkRAM[address & 0x3ffff] = 1; else ! freezeInternalRAM[address & 0x7fff] = 1; address++; } --- 471,477 ---- for(int i = 0; i < count; i++) { if((address >> 24) == 2) ! freezeWorkRAM[address & 0x3ffff] = type; else ! freezeInternalRAM[address & 0x7fff] = type; address++; } *************** *** 664,671 **** case 'Z': if(*p++ == '2') { ! remoteWriteWatch(p); } else remotePutPacket(""); break; default: { --- 664,677 ---- case 'Z': if(*p++ == '2') { ! remoteWriteWatch(p,1); } else remotePutPacket(""); break; + case 'z': + if(*p++ == '2') { + remoteWriteWatch(p,0); + } else + remotePutPacket(""); + break; default: { |
Update of /cvsroot/vba/VisualBoyAdvance/src/win32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10793 Modified Files: BitmapControl.cpp ColorButton.cpp ColorControl.cpp GBMapView.cpp MapView.cpp MemoryViewer.cpp PaletteViewControl.cpp ZoomControl.cpp Log Message: Patch from Forgotten: fix custom controls to use CS_GLOBALCLASS style and fix the GB map view flickering. Index: GBMapView.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/GBMapView.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** GBMapView.cpp 9 Mar 2004 01:46:23 -0000 1.4 --- GBMapView.cpp 18 Apr 2004 16:21:59 -0000 1.5 *************** *** 375,381 **** SIZE s; ! s.cx = mapView.GetScrollLimit(SB_HORZ); ! s.cy = mapView.GetScrollLimit(SB_VERT); ! if(s.cx != w || s.cy != h) { mapView.setSize(w, h); s.cx = w; --- 375,383 ---- SIZE s; ! if(mapView.getStretch()) { ! mapView.setSize(w, h); ! s.cx = s.cy = 1; ! mapView.SetScrollSizes(MM_TEXT, s); ! } else { mapView.setSize(w, h); s.cx = w; *************** *** 383,390 **** mapView.SetScrollSizes(MM_TEXT, s); } ! if(mapView.getStretch()) { ! s.cx = s.cy = 1; ! mapView.SetScrollSizes(MM_TEXT, s); ! } mapView.refresh(); } --- 385,389 ---- mapView.SetScrollSizes(MM_TEXT, s); } ! mapView.refresh(); } Index: ZoomControl.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/ZoomControl.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ZoomControl.cpp 17 Feb 2004 11:27:36 -0000 1.3 --- ZoomControl.cpp 18 Apr 2004 16:21:59 -0000 1.4 *************** *** 64,68 **** WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); --- 64,68 ---- WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW | CS_GLOBALCLASS; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); Index: MapView.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MapView.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MapView.cpp 9 Mar 2004 01:46:23 -0000 1.5 --- MapView.cpp 18 Apr 2004 16:21:59 -0000 1.6 *************** *** 515,521 **** enableButtons(mode); SIZE s; ! s.cx = mapView.GetScrollLimit(SB_HORZ); ! s.cy = mapView.GetScrollLimit(SB_VERT); ! if(s.cx != w || s.cy != h) { mapView.setSize(w, h); s.cx = w; --- 515,524 ---- enableButtons(mode); SIZE s; ! ! if(mapView.getStretch()) { ! mapView.setSize(w, h); ! s.cx = s.cy = 1; ! mapView.SetScrollSizes(MM_TEXT, s); ! } else { mapView.setSize(w, h); s.cx = w; *************** *** 523,530 **** mapView.SetScrollSizes(MM_TEXT, s); } ! if(mapView.getStretch()) { ! s.cx = s.cy = 1; ! mapView.SetScrollSizes(MM_TEXT, s); ! } mapView.refresh(); --- 526,530 ---- mapView.SetScrollSizes(MM_TEXT, s); } ! mapView.refresh(); Index: PaletteViewControl.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/PaletteViewControl.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PaletteViewControl.cpp 17 Feb 2004 11:27:36 -0000 1.2 --- PaletteViewControl.cpp 18 Apr 2004 16:21:59 -0000 1.3 *************** *** 397,401 **** WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); --- 397,401 ---- WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW | CS_GLOBALCLASS; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); Index: ColorButton.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/ColorButton.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ColorButton.cpp 4 Nov 2003 14:09:52 -0000 1.1 --- ColorButton.cpp 18 Apr 2004 16:21:59 -0000 1.2 *************** *** 108,112 **** WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); --- 108,112 ---- WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW | CS_GLOBALCLASS; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); Index: ColorControl.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/ColorControl.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ColorControl.cpp 4 Nov 2003 14:09:52 -0000 1.1 --- ColorControl.cpp 18 Apr 2004 16:21:59 -0000 1.2 *************** *** 90,94 **** WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); --- 90,94 ---- WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW | CS_GLOBALCLASS; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); Index: BitmapControl.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/BitmapControl.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BitmapControl.cpp 17 Feb 2004 11:27:36 -0000 1.2 --- BitmapControl.cpp 18 Apr 2004 16:21:59 -0000 1.3 *************** *** 45,48 **** --- 45,51 ---- stretch = false; registerClass(); + CSize sizeTotal; + sizeTotal.cx = sizeTotal.cy = 0; + SetScrollSizes(MM_TEXT, sizeTotal); } *************** *** 254,258 **** WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); --- 257,261 ---- WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_HREDRAW | CS_VREDRAW | CS_GLOBALCLASS; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); Index: MemoryViewer.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MemoryViewer.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MemoryViewer.cpp 17 Feb 2004 11:27:36 -0000 1.5 --- MemoryViewer.cpp 18 Apr 2004 16:21:59 -0000 1.6 *************** *** 594,598 **** WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_PARENTDC | CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); --- 594,598 ---- WNDCLASS wc; ZeroMemory(&wc, sizeof(wc)); ! wc.style = CS_PARENTDC | CS_HREDRAW | CS_VREDRAW | CS_GLOBALCLASS; wc.lpfnWndProc = (WNDPROC)::DefWindowProc; wc.hInstance = AfxGetInstanceHandle(); |
From: S?bastien G. <kx...@us...> - 2004-04-16 06:33:26
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19872 Modified Files: window.cpp window.h Log Message: Added bios file support. Index: window.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** window.h 16 Apr 2004 01:12:01 -0000 1.5 --- window.h 16 Apr 2004 06:33:18 -0000 1.6 *************** *** 92,95 **** --- 92,97 ---- virtual void vOnVideoScaleToggled(Gtk::CheckMenuItem * _poCMI, int _iScale); virtual void vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer); + virtual void vOnUseBiosToggled(Gtk::CheckMenuItem * _poCMI); + virtual void vOnSelectBios(); virtual void vOnShowSpeedToggled(Gtk::CheckMenuItem * _poCMI, int _iShowSpeed); virtual void vOnSaveTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iSaveType); *************** *** 139,142 **** --- 141,145 ---- ScreenArea * m_poScreenArea; Gtk::CheckMenuItem * m_poFilePauseItem; + Gtk::CheckMenuItem * m_poUseBiosItem; SigC::Connection m_oEmuSig; Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** window.cpp 16 Apr 2004 01:12:01 -0000 1.5 --- window.cpp 16 Apr 2004 06:33:18 -0000 1.6 *************** *** 116,125 **** // File menu // - m_poFilePauseItem = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilePause")); - m_poFilePauseItem->set_active(false); - m_poFilePauseItem->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( - SigC::slot(*this, &Window::vOnFilePauseToggled), - m_poFilePauseItem)); - poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("FileOpen")); poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnFileOpen)); --- 116,119 ---- *************** *** 131,134 **** --- 125,134 ---- poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnFileExit)); + m_poFilePauseItem = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilePause")); + m_poFilePauseItem->set_active(false); + m_poFilePauseItem->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( + SigC::slot(*this, &Window::vOnFilePauseToggled), + m_poFilePauseItem)); + // Frameskip menu // *************** *** 269,272 **** --- 269,287 ---- } + // Emulator menu + // + m_poUseBiosItem = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("EmulatorUseBios")); + m_poUseBiosItem->set_active(m_poCoreConfig->oGetKey<bool>("use_bios_file")); + if (m_poCoreConfig->sGetKey("bios_file") == "") + { + m_poUseBiosItem->set_sensitive(false); + } + m_poUseBiosItem->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( + SigC::slot(*this, &Window::vOnUseBiosToggled), + m_poUseBiosItem)); + + poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("EmulatorSelectBios")); + poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnSelectBios)); + // Show speed menu // *************** *** 530,545 **** // m_poCoreConfig = m_oConfig.poAddSection("Core"); ! m_poCoreConfig->vSetKey ("frameskip", "auto" ); ! m_poCoreConfig->vSetKey ("throttle", 0 ); ! m_poCoreConfig->vSetKey ("layer_bg0", true ); ! m_poCoreConfig->vSetKey ("layer_bg1", true ); ! m_poCoreConfig->vSetKey ("layer_bg2", true ); ! m_poCoreConfig->vSetKey ("layer_bg3", true ); ! m_poCoreConfig->vSetKey ("layer_obj", true ); ! m_poCoreConfig->vSetKey ("layer_win0", true ); ! m_poCoreConfig->vSetKey ("layer_win1", true ); ! m_poCoreConfig->vSetKey ("layer_objwin", true ); ! m_poCoreConfig->vSetKey<int>("save_type", SaveTypeAuto ); ! m_poCoreConfig->vSetKey<int>("flash_size", 64 ); // Display section --- 545,562 ---- // m_poCoreConfig = m_oConfig.poAddSection("Core"); ! m_poCoreConfig->vSetKey ("frameskip", "auto" ); ! m_poCoreConfig->vSetKey ("throttle", 0 ); ! m_poCoreConfig->vSetKey ("layer_bg0", true ); ! m_poCoreConfig->vSetKey ("layer_bg1", true ); ! m_poCoreConfig->vSetKey ("layer_bg2", true ); ! m_poCoreConfig->vSetKey ("layer_bg3", true ); ! m_poCoreConfig->vSetKey ("layer_obj", true ); ! m_poCoreConfig->vSetKey ("layer_win0", true ); ! m_poCoreConfig->vSetKey ("layer_win1", true ); ! m_poCoreConfig->vSetKey ("layer_objwin", true ); ! m_poCoreConfig->vSetKey ("use_bios_file", false ); ! m_poCoreConfig->vSetKey ("bios_file", "" ); ! m_poCoreConfig->vSetKey<int>("save_type", SaveTypeAuto ); ! m_poCoreConfig->vSetKey<int>("flash_size", 64 ); // Display section *************** *** 559,562 **** --- 576,580 ---- int iValue; int iAdjusted; + std::string sValue; // Core section *************** *** 582,585 **** --- 600,613 ---- } + sValue = m_poCoreConfig->sGetKey("bios_file"); + if (sValue != "" && ! Glib::file_test(sValue, Glib::FILE_TEST_IS_REGULAR)) + { + m_poCoreConfig->vSetKey("bios_file", ""); + } + if (m_poCoreConfig->sGetKey("bios_file") == "") + { + m_poCoreConfig->vSetKey("use_bios_file", false); + } + iValue = m_poCoreConfig->oGetKey<int>("save_type"); if (iValue != 0) *************** *** 728,732 **** else if (m_eShowSpeed == ShowSpeedDetailed) { ! snprintf(csTitle, 50, "VBA - %3d%% (%d, %d fps)", _iSpeed, systemFrameSkip, systemFPS); set_title(csTitle); --- 756,760 ---- else if (m_eShowSpeed == ShowSpeedDetailed) { ! snprintf(csTitle, 50, "VBA - %d%% (%d, %d fps)", _iSpeed, systemFrameSkip, systemFPS); set_title(csTitle); *************** *** 875,884 **** m_stEmulator = GBASystem; ! // TODO ! //CPUInit(biosFileName, useBios); ! useBios = false; ! CPUInit(NULL, useBios); CPUReset(); //if(sdlAutoIPS) { // int size = 0x2000000; --- 903,918 ---- m_stEmulator = GBASystem; ! useBios = m_poCoreConfig->oGetKey<bool>("use_bios_file"); ! CPUInit(m_poCoreConfig->sGetKey("bios_file").c_str(), useBios); CPUReset(); + // If the bios file was rejected by CPUInit + if (m_poCoreConfig->oGetKey<bool>("use_bios_file") && ! useBios) + { + m_poUseBiosItem->set_active(false); + m_poUseBiosItem->set_sensitive(false); + m_poCoreConfig->vSetKey("bios_file", ""); + } + //if(sdlAutoIPS) { // int size = 0x2000000; *************** *** 1169,1172 **** --- 1203,1234 ---- } + void Window::vOnUseBiosToggled(Gtk::CheckMenuItem * _poCMI) + { + m_poCoreConfig->vSetKey("use_bios_file", _poCMI->get_active()); + } + + void Window::vOnSelectBios() + { + Gtk::FileSelection * poDialog = new Gtk::FileSelection(_("Select BIOS file")); + poDialog->set_transient_for(*this); + + if (m_poCoreConfig->sGetKey("bios_file") != "") + { + poDialog->set_filename(m_poCoreConfig->sGetKey("bios_file")); + } + + while (poDialog->run() == Gtk::RESPONSE_OK) + { + if (Glib::file_test(poDialog->get_filename(), Glib::FILE_TEST_IS_REGULAR)) + { + m_poCoreConfig->vSetKey("bios_file", poDialog->get_filename()); + m_poUseBiosItem->set_sensitive(); + break; + } + } + + delete poDialog; + } + void Window::vOnShowSpeedToggled(Gtk::CheckMenuItem * _poCMI, int _iShowSpeed) { |
From: S?bastien G. <kx...@us...> - 2004-04-16 01:12:10
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4424/src/gtk Modified Files: system.cpp vba.glade window.cpp window.h Log Message: Added show speed and save type support. Index: system.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/system.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** system.cpp 12 Apr 2004 22:59:24 -0000 1.2 --- system.cpp 16 Apr 2004 01:12:01 -0000 1.3 *************** *** 42,45 **** --- 42,48 ---- bool systemSoundOn; + int systemRenderedFrames; + int systemFPS; + int emulating; bool debugger; *************** *** 68,71 **** --- 71,75 ---- { gui()->vDrawScreen(); + systemRenderedFrames++; } *************** *** 82,88 **** void systemShowSpeed(int _iSpeed) { ! char csTitle[50]; ! snprintf(csTitle, 50, "VisualBoyAdvance-%d%%", _iSpeed); ! gui()->set_title(csTitle); } --- 86,93 ---- void systemShowSpeed(int _iSpeed) { ! systemFPS = systemRenderedFrames; ! systemRenderedFrames = 0; ! ! gui()->vShowSpeed(_iSpeed); } Index: vba.glade =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/vba.glade,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** vba.glade 15 Apr 2004 03:58:45 -0000 1.3 --- vba.glade 16 Apr 2004 01:12:01 -0000 1.4 *************** *** 5,10 **** <widget class="GtkWindow" id="MainWindow"> ! <property name="visible">True</property> ! <property name="title" translatable="yes">VisualBoyAdvance</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> --- 5,9 ---- <widget class="GtkWindow" id="MainWindow"> ! <property name="title" translatable="yes">VBA</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> Index: window.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** window.h 15 Apr 2004 03:58:45 -0000 1.4 --- window.h 16 Apr 2004 01:12:01 -0000 1.5 *************** *** 45,59 **** enum ECartridge { ! NO_CARTRIDGE, ! GB_CARTRIDGE, ! GBA_CARTRIDGE }; void vDrawScreen(); void vComputeFrameskip(int _iRate); inline u32 uiReadJoypad() { return m_uiJoypadState; } inline ECartridge eGetCartridge() { return m_eCartridge; } protected: virtual void vOnFileOpen(); virtual void vOnFilePauseToggled(Gtk::CheckMenuItem * _poCMI); --- 45,85 ---- enum ECartridge { ! CartridgeNone, ! CartridgeGB, ! CartridgeGBA }; + // GB/GBA screen sizes + const int m_iGBScreenWidth; + const int m_iGBScreenHeight; + const int m_iSGBScreenWidth; + const int m_iSGBScreenHeight; + const int m_iGBAScreenWidth; + const int m_iGBAScreenHeight; + void vDrawScreen(); void vComputeFrameskip(int _iRate); + void vShowSpeed(int _iSpeed); inline u32 uiReadJoypad() { return m_uiJoypadState; } inline ECartridge eGetCartridge() { return m_eCartridge; } protected: + enum EShowSpeed + { + ShowSpeedNone, + ShowSpeedPercentage, + ShowSpeedDetailed + }; + + enum ESaveType + { + SaveTypeAuto, + SaveTypeEEPROM, + SaveTypeSRAM, + SaveTypeFlash, + SaveTypeEEPROMSensor, + SaveTypeNone + }; + virtual void vOnFileOpen(); virtual void vOnFilePauseToggled(Gtk::CheckMenuItem * _poCMI); *************** *** 64,69 **** virtual void vOnThrottleToggled(Gtk::CheckMenuItem * _poCMI, int _iPercent); virtual void vOnThrottleOther(Gtk::CheckMenuItem * _poCMI); - virtual void vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer); virtual void vOnVideoScaleToggled(Gtk::CheckMenuItem * _poCMI, int _iScale); virtual void vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x); virtual void vOnFilterIBToggled(Gtk::CheckMenuItem * _poCMI, int _iFilterIB); --- 90,98 ---- virtual void vOnThrottleToggled(Gtk::CheckMenuItem * _poCMI, int _iPercent); virtual void vOnThrottleOther(Gtk::CheckMenuItem * _poCMI); virtual void vOnVideoScaleToggled(Gtk::CheckMenuItem * _poCMI, int _iScale); + virtual void vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer); + virtual void vOnShowSpeedToggled(Gtk::CheckMenuItem * _poCMI, int _iShowSpeed); + virtual void vOnSaveTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iSaveType); + virtual void vOnFlashSizeToggled(Gtk::CheckMenuItem * _poCMI, int _iFlashSize); virtual void vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x); virtual void vOnFilterIBToggled(Gtk::CheckMenuItem * _poCMI, int _iFilterIB); *************** *** 81,84 **** --- 110,129 ---- const Glib::RefPtr<Gnome::Glade::Xml> & _poXml); + // Config limits + const int m_iFrameskipMin; + const int m_iFrameskipMax; + const int m_iThrottleMin; + const int m_iThrottleMax; + const int m_iScaleMin; + const int m_iScaleMax; + const int m_iShowSpeedMin; + const int m_iShowSpeedMax; + const int m_iSaveTypeMin; + const int m_iSaveTypeMax; + const int m_iFilter2xMin; + const int m_iFilter2xMax; + const int m_iFilterIBMin; + const int m_iFilterIBMax; + static Window * m_poInstance; *************** *** 110,113 **** --- 155,159 ---- u32 m_uiThrottleLastTime; u32 m_uiThrottleDelay; + EShowSpeed m_eShowSpeed; void vInitSystem(); *************** *** 120,123 **** --- 166,170 ---- void vUpdateScreen(); void vDrawDefaultScreen(); + void vSetDefaultTitle(); bool bLoadROM(const std::string & _rsFilename); void vLoadBattery(); Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** window.cpp 15 Apr 2004 03:58:45 -0000 1.4 --- window.cpp 16 Apr 2004 01:12:01 -0000 1.5 *************** *** 32,35 **** --- 32,37 ---- #include "intl.h" + extern int systemRenderedFrames; + extern int systemFPS; extern bool debugger; extern int RGB_LOW_BITS_MASK; *************** *** 46,78 **** Window * Window::m_poInstance = NULL; - // GB/GBA screen sizes - const int iGBScreenWidth = 160; - const int iGBScreenHeight = 144; - const int iSGBScreenWidth = 256; - const int iSGBScreenHeight = 224; - const int iGBAScreenWidth = 240; - const int iGBAScreenHeight = 160; - - // Config limits - const int iFrameskipMin = 0; - const int iFrameskipMax = 9; - const int iThrottleMin = 5; - const int iThrottleMax = 1000; - const int iScaleMin = 1; - const int iScaleMax = 6; - const int iFilter2xMin = (int)FirstFilter; - const int iFilter2xMax = (int)LastFilter; - const int iFilterIBMin = (int)FirstFilterIB; - const int iFilterIBMax = (int)LastFilterIB; - Window::Window(GtkWindow * _pstWindow, const Glib::RefPtr<Xml> & _poXml) : ! Gtk::Window(_pstWindow), ! m_poXml(_poXml), ! m_poFileOpenDialog(NULL), ! m_iScreenWidth(iGBAScreenWidth), ! m_iScreenHeight(iGBAScreenHeight), ! m_eCartridge(NO_CARTRIDGE), ! m_uiJoypadState(0) { vInitSystem(); vInitSDL(); --- 48,81 ---- Window * Window::m_poInstance = NULL; Window::Window(GtkWindow * _pstWindow, const Glib::RefPtr<Xml> & _poXml) : ! Gtk::Window (_pstWindow), ! m_iGBScreenWidth (160), ! m_iGBScreenHeight (144), ! m_iSGBScreenWidth (256), ! m_iSGBScreenHeight(224), ! m_iGBAScreenWidth (240), ! m_iGBAScreenHeight(160), ! m_iFrameskipMin (0), ! m_iFrameskipMax (9), ! m_iThrottleMin (5), ! m_iThrottleMax (1000), ! m_iScaleMin (1), ! m_iScaleMax (6), ! m_iShowSpeedMin (ShowSpeedNone), ! m_iShowSpeedMax (ShowSpeedDetailed), ! m_iSaveTypeMin (SaveTypeAuto), ! m_iSaveTypeMax (SaveTypeNone), ! m_iFilter2xMin (FirstFilter), ! m_iFilter2xMax (LastFilter), ! m_iFilterIBMin (FirstFilterIB), ! m_iFilterIBMax (LastFilterIB) { + m_poXml = _poXml; + m_poFileOpenDialog = NULL; + m_iScreenWidth = m_iGBAScreenWidth; + m_iScreenHeight = m_iGBAScreenHeight; + m_eCartridge = CartridgeNone; + m_uiJoypadState = 0; + vInitSystem(); vInitSDL(); *************** *** 266,269 **** --- 269,355 ---- } + // Show speed menu + // + struct + { + const char * m_csName; + const EShowSpeed m_eShowSpeed; + } + astShowSpeed[] = + { + { "ShowSpeedNone", ShowSpeedNone }, + { "ShowSpeedPercentage", ShowSpeedPercentage }, + { "ShowSpeedDetailed", ShowSpeedDetailed } + }; + EShowSpeed eDefaultShowSpeed = (EShowSpeed)m_poDisplayConfig->oGetKey<int>("show_speed"); + for (guint i = 0; i < sizeof(astShowSpeed) / sizeof(astShowSpeed[0]); i++) + { + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astShowSpeed[i].m_csName)); + if (astShowSpeed[i].m_eShowSpeed == eDefaultShowSpeed) + { + poCMI->set_active(); + vOnShowSpeedToggled(poCMI, eDefaultShowSpeed); + } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnShowSpeedToggled), + poCMI, astShowSpeed[i].m_eShowSpeed)); + } + + // Save type menu + // + struct + { + const char * m_csName; + const ESaveType m_eSaveType; + } + astSaveType[] = + { + { "SaveTypeAutomatic", SaveTypeAuto }, + { "SaveTypeEeprom", SaveTypeEEPROM }, + { "SaveTypeSram", SaveTypeSRAM }, + { "SaveTypeFlash", SaveTypeFlash }, + { "SaveTypeEepromSensor", SaveTypeEEPROMSensor }, + { "SaveTypeNone", SaveTypeNone } + }; + ESaveType eDefaultSaveType = (ESaveType)m_poCoreConfig->oGetKey<int>("save_type"); + for (guint i = 0; i < sizeof(astSaveType) / sizeof(astSaveType[0]); i++) + { + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astSaveType[i].m_csName)); + if (astSaveType[i].m_eSaveType == eDefaultSaveType) + { + poCMI->set_active(); + vOnSaveTypeToggled(poCMI, eDefaultSaveType); + } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnSaveTypeToggled), + poCMI, astSaveType[i].m_eSaveType)); + } + + // Flash size menu + // + struct + { + const char * m_csName; + const int m_iFlashSize; + } + astFlashSize[] = + { + { "SaveTypeFlash64K", 64 }, + { "SaveTypeFlash128K", 128 } + }; + int iDefaultFlashSize = m_poCoreConfig->oGetKey<int>("flash_size"); + for (guint i = 0; i < sizeof(astFlashSize) / sizeof(astFlashSize[0]); i++) + { + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astFlashSize[i].m_csName)); + if (astFlashSize[i].m_iFlashSize == iDefaultFlashSize) + { + poCMI->set_active(); + vOnFlashSizeToggled(poCMI, iDefaultFlashSize); + } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnFlashSizeToggled), + poCMI, astFlashSize[i].m_iFlashSize)); + } + // Filter menu // *************** *** 394,397 **** --- 480,486 ---- systemSoundOn = false; + systemRenderedFrames = 0; + systemFPS = 0; + emulating = 0; debugger = true; *************** *** 441,463 **** // m_poCoreConfig = m_oConfig.poAddSection("Core"); ! m_poCoreConfig->vSetKey("frameskip", "auto" ); ! m_poCoreConfig->vSetKey("throttle", 0 ); ! m_poCoreConfig->vSetKey("layer_bg0", true ); ! m_poCoreConfig->vSetKey("layer_bg1", true ); ! m_poCoreConfig->vSetKey("layer_bg2", true ); ! m_poCoreConfig->vSetKey("layer_bg3", true ); ! m_poCoreConfig->vSetKey("layer_obj", true ); ! m_poCoreConfig->vSetKey("layer_win0", true ); ! m_poCoreConfig->vSetKey("layer_win1", true ); ! m_poCoreConfig->vSetKey("layer_objwin", true ); // Display section // m_poDisplayConfig = m_oConfig.poAddSection("Display"); ! m_poDisplayConfig->vSetKey ("scale", 1 ); ! m_poDisplayConfig->vSetKey<int>("filter2x", FilterNone ); ! m_poDisplayConfig->vSetKey<int>("filterIB", FilterIBNone ); #ifdef MMX ! m_poDisplayConfig->vSetKey ("filter_disable_mmx", false ); #endif // MMX } --- 530,555 ---- // m_poCoreConfig = m_oConfig.poAddSection("Core"); ! m_poCoreConfig->vSetKey ("frameskip", "auto" ); ! m_poCoreConfig->vSetKey ("throttle", 0 ); ! m_poCoreConfig->vSetKey ("layer_bg0", true ); ! m_poCoreConfig->vSetKey ("layer_bg1", true ); ! m_poCoreConfig->vSetKey ("layer_bg2", true ); ! m_poCoreConfig->vSetKey ("layer_bg3", true ); ! m_poCoreConfig->vSetKey ("layer_obj", true ); ! m_poCoreConfig->vSetKey ("layer_win0", true ); ! m_poCoreConfig->vSetKey ("layer_win1", true ); ! m_poCoreConfig->vSetKey ("layer_objwin", true ); ! m_poCoreConfig->vSetKey<int>("save_type", SaveTypeAuto ); ! m_poCoreConfig->vSetKey<int>("flash_size", 64 ); // Display section // m_poDisplayConfig = m_oConfig.poAddSection("Display"); ! m_poDisplayConfig->vSetKey ("scale", 1 ); ! m_poDisplayConfig->vSetKey<int>("show_speed", ShowSpeedPercentage ); ! m_poDisplayConfig->vSetKey<int>("filter2x", FilterNone ); ! m_poDisplayConfig->vSetKey<int>("filterIB", FilterIBNone ); #ifdef MMX ! m_poDisplayConfig->vSetKey ("filter_disable_mmx", false ); #endif // MMX } *************** *** 468,475 **** int iAdjusted; if (m_poCoreConfig->sGetKey("frameskip") != "auto") { iValue = m_poCoreConfig->oGetKey<int>("frameskip"); ! iAdjusted = CLAMP(iValue, iFrameskipMin, iFrameskipMax); if (iValue != iAdjusted) { --- 560,569 ---- int iAdjusted; + // Core section + // if (m_poCoreConfig->sGetKey("frameskip") != "auto") { iValue = m_poCoreConfig->oGetKey<int>("frameskip"); ! iAdjusted = CLAMP(iValue, m_iFrameskipMin, m_iFrameskipMax); if (iValue != iAdjusted) { *************** *** 481,485 **** if (iValue != 0) { ! iAdjusted = CLAMP(iValue, iThrottleMin, iThrottleMax); if (iValue != iAdjusted) { --- 575,579 ---- if (iValue != 0) { ! iAdjusted = CLAMP(iValue, m_iThrottleMin, m_iThrottleMax); if (iValue != iAdjusted) { *************** *** 488,493 **** } iValue = m_poDisplayConfig->oGetKey<int>("scale"); ! iAdjusted = CLAMP(iValue, iScaleMin, iScaleMax); if (iValue != iAdjusted) { --- 582,605 ---- } + iValue = m_poCoreConfig->oGetKey<int>("save_type"); + if (iValue != 0) + { + iAdjusted = CLAMP(iValue, m_iSaveTypeMin, m_iSaveTypeMax); + if (iValue != iAdjusted) + { + m_poCoreConfig->vSetKey("save_type", iAdjusted); + } + } + + iValue = m_poCoreConfig->oGetKey<int>("flash_size"); + if (iValue != 64 && iValue != 128) + { + m_poCoreConfig->vSetKey("flash_size", 64); + } + + // Display section + // iValue = m_poDisplayConfig->oGetKey<int>("scale"); ! iAdjusted = CLAMP(iValue, m_iScaleMin, m_iScaleMax); if (iValue != iAdjusted) { *************** *** 495,500 **** } iValue = m_poDisplayConfig->oGetKey<int>("filter2x"); ! iAdjusted = CLAMP(iValue, iFilter2xMin, iFilter2xMax); if (iValue != iAdjusted) { --- 607,619 ---- } + iValue = m_poDisplayConfig->oGetKey<int>("show_speed"); + iAdjusted = CLAMP(iValue, m_iShowSpeedMin, m_iShowSpeedMax); + if (iValue != iAdjusted) + { + m_poDisplayConfig->vSetKey("show_speed", iAdjusted); + } + iValue = m_poDisplayConfig->oGetKey<int>("filter2x"); ! iAdjusted = CLAMP(iValue, m_iFilter2xMin, m_iFilter2xMax); if (iValue != iAdjusted) { *************** *** 503,507 **** iValue = m_poDisplayConfig->oGetKey<int>("filterIB"); ! iAdjusted = CLAMP(iValue, iFilterIBMin, iFilterIBMax); if (iValue != iAdjusted) { --- 622,626 ---- iValue = m_poDisplayConfig->oGetKey<int>("filterIB"); ! iAdjusted = CLAMP(iValue, m_iFilterIBMin, m_iFilterIBMax); if (iValue != iAdjusted) { *************** *** 593,596 **** --- 712,737 ---- } + void Window::vSetDefaultTitle() + { + set_title("VBA"); + } + + void Window::vShowSpeed(int _iSpeed) + { + char csTitle[50]; + + if (m_eShowSpeed == ShowSpeedPercentage) + { + snprintf(csTitle, 50, "VBA - %d%%", _iSpeed); + set_title(csTitle); + } + else if (m_eShowSpeed == ShowSpeedDetailed) + { + snprintf(csTitle, 50, "VBA - %3d%% (%d, %d fps)", + _iSpeed, systemFrameSkip, systemFPS); + set_title(csTitle); + } + } + void Window::vComputeFrameskip(int _iRate) { *************** *** 692,696 **** if (bLoaded) { ! m_eCartridge = GB_CARTRIDGE; m_stEmulator = GBSystem; --- 833,837 ---- if (bLoaded) { ! m_eCartridge = CartridgeGB; m_stEmulator = GBSystem; *************** *** 707,721 **** if (gbBorderOn) { ! m_iScreenWidth = iSGBScreenWidth; ! m_iScreenHeight = iSGBScreenHeight; ! gbBorderLineSkip = iSGBScreenWidth; ! gbBorderColumnSkip = (iSGBScreenWidth - iGBScreenWidth) / 2; ! gbBorderRowSkip = (iSGBScreenHeight - iGBScreenHeight) / 2; } else { ! m_iScreenWidth = iGBScreenWidth; ! m_iScreenHeight = iGBScreenHeight; ! gbBorderLineSkip = iGBScreenWidth; gbBorderColumnSkip = 0; gbBorderRowSkip = 0; --- 848,862 ---- if (gbBorderOn) { ! m_iScreenWidth = m_iSGBScreenWidth; ! m_iScreenHeight = m_iSGBScreenHeight; ! gbBorderLineSkip = m_iSGBScreenWidth; ! gbBorderColumnSkip = (m_iSGBScreenWidth - m_iGBScreenWidth) / 2; ! gbBorderRowSkip = (m_iSGBScreenHeight - m_iGBScreenHeight) / 2; } else { ! m_iScreenWidth = m_iGBScreenWidth; ! m_iScreenHeight = m_iGBScreenHeight; ! gbBorderLineSkip = m_iGBScreenWidth; gbBorderColumnSkip = 0; gbBorderRowSkip = 0; *************** *** 731,735 **** //sdlApplyPerImagePreferences(); ! m_eCartridge = GBA_CARTRIDGE; m_stEmulator = GBASystem; --- 872,876 ---- //sdlApplyPerImagePreferences(); ! m_eCartridge = CartridgeGBA; m_stEmulator = GBASystem; *************** *** 748,753 **** //} ! m_iScreenWidth = iGBAScreenWidth; ! m_iScreenHeight = iGBAScreenHeight; } } --- 889,894 ---- //} ! m_iScreenWidth = m_iGBAScreenWidth; ! m_iScreenHeight = m_iGBAScreenHeight; } } *************** *** 864,868 **** if (m_poFileOpenDialog == NULL) { ! m_poFileOpenDialog = new Gtk::FileSelection(_("Open a ROM")); m_poFileOpenDialog->set_transient_for(*this); } --- 1005,1009 ---- if (m_poFileOpenDialog == NULL) { ! m_poFileOpenDialog = new Gtk::FileSelection(_("Open")); m_poFileOpenDialog->set_transient_for(*this); } *************** *** 909,913 **** vSaveBattery(); m_stEmulator.emuCleanUp(); ! m_eCartridge = NO_CARTRIDGE; emulating = 0; } --- 1050,1054 ---- vSaveBattery(); m_stEmulator.emuCleanUp(); ! m_eCartridge = CartridgeNone; emulating = 0; } *************** *** 1028,1031 **** --- 1169,1216 ---- } + void Window::vOnShowSpeedToggled(Gtk::CheckMenuItem * _poCMI, int _iShowSpeed) + { + if (! _poCMI->get_active()) + { + return; + } + + m_eShowSpeed = (EShowSpeed)_iShowSpeed; + if (m_eShowSpeed == ShowSpeedNone) + { + vSetDefaultTitle(); + } + m_poDisplayConfig->vSetKey("show_speed", _iShowSpeed); + } + + void Window::vOnSaveTypeToggled(Gtk::CheckMenuItem * _poCMI, int _iSaveType) + { + if (! _poCMI->get_active()) + { + return; + } + + cpuSaveType = _iSaveType; + m_poCoreConfig->vSetKey("save_type", _iSaveType); + } + + void Window::vOnFlashSizeToggled(Gtk::CheckMenuItem * _poCMI, int _iFlashSize) + { + if (! _poCMI->get_active()) + { + return; + } + + if (_iFlashSize == 64) + { + flashSetSize(0x10000); + } + else + { + flashSetSize(0x20000); + } + m_poCoreConfig->vSetKey("flash_size", _iFlashSize); + } + void Window::vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x) { |
From: S?bastien G. <kx...@us...> - 2004-04-16 01:12:09
|
Update of /cvsroot/vba/VisualBoyAdvance/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4424/po Modified Files: fr.gmo fr.po vba-1.7.2.pot Log Message: Added show speed and save type support. Index: fr.po =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/po/fr.po,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** fr.po 15 Apr 2004 03:58:45 -0000 1.3 --- fr.po 16 Apr 2004 01:12:01 -0000 1.4 *************** *** 10,15 **** "Project-Id-Version: VisualBoyAdvance 1.7.2\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-15 04:56+0200\n" ! "PO-Revision-Date: 2004-04-15 04:57+0200\n" "Last-Translator: Sébastien Guignot <kx...@ts...>\n" "Language-Team: French <@>\n" --- 10,15 ---- "Project-Id-Version: VisualBoyAdvance 1.7.2\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-16 03:04+0200\n" [...1152 lines suppressed...] #, c-format msgid "Unknown file type %s" msgstr "Type de fichier inconnu %s" ! #: src/gtk/window.cpp:898 #, c-format msgid "Failed to load file %s" msgstr "Le chargement du fichier %s a échoué" ! #: src/gtk/window.cpp:928 msgid "Loaded battery" msgstr "Sauvegarde chargée" ! #: src/gtk/window.cpp:939 msgid "Saved battery" msgstr "Sauvegarde effectuée" ! #: src/gtk/window.cpp:1007 ! msgid "Open" ! msgstr "Ouvrir" Index: vba-1.7.2.pot =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/po/vba-1.7.2.pot,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** vba-1.7.2.pot 15 Apr 2004 03:58:45 -0000 1.3 --- vba-1.7.2.pot 16 Apr 2004 01:12:01 -0000 1.4 *************** *** 9,13 **** "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-15 04:56+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" --- 9,13 ---- "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-16 03:04+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" [...1150 lines suppressed...] #, c-format msgid "Unknown file type %s" msgstr "" ! #: src/gtk/window.cpp:898 #, c-format msgid "Failed to load file %s" msgstr "" ! #: src/gtk/window.cpp:928 msgid "Loaded battery" msgstr "" ! #: src/gtk/window.cpp:939 msgid "Saved battery" msgstr "" ! #: src/gtk/window.cpp:1007 ! msgid "Open" msgstr "" Index: fr.gmo =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/po/fr.gmo,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsRb0j4t and /tmp/cvsiZZ9b3 differ |
From: S?bastien G. <kx...@us...> - 2004-04-15 03:58:54
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12997/src/gtk Modified Files: configfile.cpp configfile.h filters.h vba.glade window.cpp window.h Log Message: Added auto frameskip and throttle support. Config file has been modified, and now old and corrupted config files are fixed at loading time. Index: configfile.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/configfile.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** configfile.h 2 Apr 2004 01:22:17 -0000 1.1 --- configfile.h 15 Apr 2004 03:58:45 -0000 1.2 *************** *** 89,92 **** --- 89,93 ---- inline std::string sGetName() const { return m_sName; } + bool bKeyExists(const std::string & _rsKey); void vSetKey(const std::string & _rsKey, const std::string & _rsValue); std::string sGetKey(const std::string & _rsKey) const; *************** *** 130,137 **** virtual ~File(); Section * poAddSection(const std::string & _rsName); Section * poGetSection(const std::string & _rsName); void vRemoveSection(const std::string & _rsName); ! void vLoad(const std::string & _rsFilename); void vSave(const std::string & _rsFilename); void vClear(); --- 131,141 ---- virtual ~File(); + bool bSectionExists(const std::string & _rsName); Section * poAddSection(const std::string & _rsName); Section * poGetSection(const std::string & _rsName); void vRemoveSection(const std::string & _rsName); ! void vLoad(const std::string & _rsFilename, ! bool _bAddSection = true, ! bool _bAddKey = true); void vSave(const std::string & _rsFilename); void vClear(); Index: filters.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/filters.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** filters.h 2 Apr 2004 01:22:17 -0000 1.2 --- filters.h 15 Apr 2004 03:58:45 -0000 1.3 *************** *** 65,69 **** enum EFilter2x { ! FilterNone, Filter2xSaI, FilterSuper2xSaI, --- 65,70 ---- enum EFilter2x { ! FirstFilter, ! FilterNone = FirstFilter, Filter2xSaI, FilterSuper2xSaI, *************** *** 78,89 **** FilterScanlinesTV, FilterHq2x, ! FilterLq2x }; enum EFilterIB { ! FilterIBNone, FilterIBSmart, ! FilterIBMotionBlur }; --- 79,93 ---- FilterScanlinesTV, FilterHq2x, ! FilterLq2x, ! LastFilter = FilterLq2x }; enum EFilterIB { ! FirstFilterIB, ! FilterIBNone = FirstFilterIB, FilterIBSmart, ! FilterIBMotionBlur, ! LastFilterIB = FilterIBMotionBlur }; Index: configfile.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/configfile.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** configfile.cpp 2 Apr 2004 01:22:17 -0000 1.1 --- configfile.cpp 15 Apr 2004 03:58:45 -0000 1.2 *************** *** 45,48 **** --- 45,60 ---- } + bool Section::bKeyExists(const string & _rsKey) + { + for (iterator it = begin(); it != end(); it++) + { + if (it->m_sKey == _rsKey) + { + return true; + } + } + return false; + } + void Section::vSetKey(const string & _rsKey, const string & _rsValue) { *************** *** 95,98 **** --- 107,122 ---- } + bool File::bSectionExists(const string & _rsName) + { + for (iterator it = begin(); it != end(); it++) + { + if (it->sGetName() == _rsName) + { + return true; + } + } + return false; + } + Section * File::poAddSection(const string & _rsName) { *************** *** 137,141 **** } ! void File::vLoad(const string & _rsFilename) { string sBuffer = Glib::file_get_contents(_rsFilename); --- 161,167 ---- } ! void File::vLoad(const string & _rsFilename, ! bool _bAddSection, ! bool _bAddKey) { string sBuffer = Glib::file_get_contents(_rsFilename); *************** *** 151,155 **** { *tmp = '\0'; ! poSection = poAddSection(&lines[i][1]); } } --- 177,195 ---- { *tmp = '\0'; ! if (_bAddSection) ! { ! poSection = poAddSection(&lines[i][1]); ! } ! else ! { ! try ! { ! poSection = poGetSection(&lines[i][1]); ! } ! catch (...) ! { ! poSection = NULL; ! } ! } } } *************** *** 160,164 **** *tmp = '\0'; tmp++; ! poSection->vSetKey(lines[i], tmp); } } --- 200,207 ---- *tmp = '\0'; tmp++; ! if (_bAddKey || poSection->bKeyExists(lines[i])) ! { ! poSection->vSetKey(lines[i], tmp); ! } } } Index: window.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** window.h 12 Apr 2004 22:59:24 -0000 1.3 --- window.h 15 Apr 2004 03:58:45 -0000 1.4 *************** *** 83,90 **** static Window * m_poInstance; std::string m_sUserDataDir; std::string m_sConfigFile; Config::File m_oConfig; ! Config::Section * m_poScreenConfig; Gtk::FileSelection * m_poFileOpenDialog; --- 83,93 ---- static Window * m_poInstance; + Glib::RefPtr<Gnome::Glade::Xml> m_poXml; + std::string m_sUserDataDir; std::string m_sConfigFile; Config::File m_oConfig; ! Config::Section * m_poCoreConfig; ! Config::Section * m_poDisplayConfig; Gtk::FileSelection * m_poFileOpenDialog; *************** *** 94,98 **** SigC::Connection m_oEmuSig; ! bool m_bPaused; std::string m_sRomFile; ECartridge m_eCartridge; --- 97,103 ---- SigC::Connection m_oEmuSig; ! int m_iScreenWidth; ! int m_iScreenHeight; ! std::string m_sRomFile; ECartridge m_eCartridge; *************** *** 100,111 **** Keymap m_oKeymap; u32 m_uiJoypadState; bool m_bAutoFrameskip; ! ! int m_iScreenWidth; ! int m_iScreenHeight; void vInitSystem(); void vInitSDL(); void vInitConfig(); void vLoadConfig(const std::string & _sFilename); void vSaveConfig(const std::string & _sFilename); --- 105,118 ---- Keymap m_oKeymap; u32 m_uiJoypadState; + bool m_bWasEmulating; bool m_bAutoFrameskip; ! int m_iThrottle; ! u32 m_uiThrottleLastTime; ! u32 m_uiThrottleDelay; void vInitSystem(); void vInitSDL(); void vInitConfig(); + void vCheckConfig(); void vLoadConfig(const std::string & _sFilename); void vSaveConfig(const std::string & _sFilename); *************** *** 121,124 **** --- 128,132 ---- void vStopEmu(); void vSetThrottle(int _iPercent); + void vSelectBestThrottleItem(); }; Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** window.cpp 12 Apr 2004 22:59:24 -0000 1.3 --- window.cpp 15 Apr 2004 03:58:45 -0000 1.4 *************** *** 46,49 **** --- 46,50 ---- Window * Window::m_poInstance = NULL; + // GB/GBA screen sizes const int iGBScreenWidth = 160; const int iGBScreenHeight = 144; *************** *** 53,63 **** const int iGBAScreenHeight = 160; Window::Window(GtkWindow * _pstWindow, const Glib::RefPtr<Xml> & _poXml) : Gtk::Window(_pstWindow), m_poFileOpenDialog(NULL), - m_eCartridge(NO_CARTRIDGE), - m_uiJoypadState(0), m_iScreenWidth(iGBAScreenWidth), ! m_iScreenHeight(iGBAScreenHeight) { vInitSystem(); --- 54,77 ---- const int iGBAScreenHeight = 160; + // Config limits + const int iFrameskipMin = 0; + const int iFrameskipMax = 9; + const int iThrottleMin = 5; + const int iThrottleMax = 1000; + const int iScaleMin = 1; + const int iScaleMax = 6; + const int iFilter2xMin = (int)FirstFilter; + const int iFilter2xMax = (int)LastFilter; + const int iFilterIBMin = (int)FirstFilterIB; + const int iFilterIBMax = (int)LastFilterIB; + Window::Window(GtkWindow * _pstWindow, const Glib::RefPtr<Xml> & _poXml) : Gtk::Window(_pstWindow), + m_poXml(_poXml), m_poFileOpenDialog(NULL), m_iScreenWidth(iGBAScreenWidth), ! m_iScreenHeight(iGBAScreenHeight), ! m_eCartridge(NO_CARTRIDGE), ! m_uiJoypadState(0) { vInitSystem(); *************** *** 85,88 **** --- 99,103 ---- { vLoadConfig(m_sConfigFile); + vCheckConfig(); } else *************** *** 118,122 **** { const char * m_csName; ! int m_iFrameskip; } astFrameskip[] = --- 133,137 ---- { const char * m_csName; ! const int m_iFrameskip; } astFrameskip[] = *************** *** 135,139 **** }; int iDefaultFrameskip; ! if (m_poScreenConfig->sGetKey("frameskip") == "auto") { iDefaultFrameskip = -1; --- 150,154 ---- }; int iDefaultFrameskip; ! if (m_poCoreConfig->sGetKey("frameskip") == "auto") { iDefaultFrameskip = -1; *************** *** 141,145 **** else { ! iDefaultFrameskip = m_poScreenConfig->oGetKey<int>("frameskip"); } for (guint i = 0; i < sizeof(astFrameskip) / sizeof(astFrameskip[0]); i++) --- 156,160 ---- else { ! iDefaultFrameskip = m_poCoreConfig->oGetKey<int>("frameskip"); } for (guint i = 0; i < sizeof(astFrameskip) / sizeof(astFrameskip[0]); i++) *************** *** 161,165 **** { const char * m_csName; ! int m_iThrottle; } astThrottle[] = --- 176,180 ---- { const char * m_csName; ! const int m_iThrottle; } astThrottle[] = *************** *** 178,182 **** poCMI)); ! int iDefaultThrottle = m_poScreenConfig->oGetKey<int>("throttle"); for (guint i = 0; i < sizeof(astThrottle) / sizeof(astThrottle[0]); i++) { --- 193,197 ---- poCMI)); ! int iDefaultThrottle = m_poCoreConfig->oGetKey<int>("throttle"); for (guint i = 0; i < sizeof(astThrottle) / sizeof(astThrottle[0]); i++) { *************** *** 197,201 **** { const char * m_csName; ! int m_iScale; } astVideoScale[] = --- 212,216 ---- { const char * m_csName; ! const int m_iScale; } astVideoScale[] = *************** *** 208,212 **** { "Video6x", 6 } }; ! int iDefaultScale = m_poScreenConfig->oGetKey<int>("scale"); for (guint i = 0; i < sizeof(astVideoScale) / sizeof(astVideoScale[0]); i++) { --- 223,227 ---- { "Video6x", 6 } }; ! int iDefaultScale = m_poDisplayConfig->oGetKey<int>("scale"); for (guint i = 0; i < sizeof(astVideoScale) / sizeof(astVideoScale[0]); i++) { *************** *** 227,243 **** { const char * m_csName; ! int m_iLayer; ! bool m_bChecked; } astLayer[] = { ! { "LayersBg0", 0, m_poScreenConfig->oGetKey<bool>("layer_bg0") }, ! { "LayersBg1", 1, m_poScreenConfig->oGetKey<bool>("layer_bg1") }, ! { "LayersBg2", 2, m_poScreenConfig->oGetKey<bool>("layer_bg2") }, ! { "LayersBg3", 3, m_poScreenConfig->oGetKey<bool>("layer_bg3") }, ! { "LayersObj", 4, m_poScreenConfig->oGetKey<bool>("layer_obj") }, ! { "LayersWin0", 5, m_poScreenConfig->oGetKey<bool>("layer_win0") }, ! { "LayersWin1", 6, m_poScreenConfig->oGetKey<bool>("layer_win1") }, ! { "LayersObjWin", 7, m_poScreenConfig->oGetKey<bool>("layer_objwin") } }; for (guint i = 0; i < sizeof(astLayer) / sizeof(astLayer[0]); i++) --- 242,258 ---- { const char * m_csName; ! const int m_iLayer; ! const bool m_bChecked; } astLayer[] = { ! { "LayersBg0", 0, m_poCoreConfig->oGetKey<bool>("layer_bg0") }, ! { "LayersBg1", 1, m_poCoreConfig->oGetKey<bool>("layer_bg1") }, ! { "LayersBg2", 2, m_poCoreConfig->oGetKey<bool>("layer_bg2") }, ! { "LayersBg3", 3, m_poCoreConfig->oGetKey<bool>("layer_bg3") }, ! { "LayersObj", 4, m_poCoreConfig->oGetKey<bool>("layer_obj") }, ! { "LayersWin0", 5, m_poCoreConfig->oGetKey<bool>("layer_win0") }, ! { "LayersWin1", 6, m_poCoreConfig->oGetKey<bool>("layer_win1") }, ! { "LayersObjWin", 7, m_poCoreConfig->oGetKey<bool>("layer_objwin") } }; for (guint i = 0; i < sizeof(astLayer) / sizeof(astLayer[0]); i++) *************** *** 255,260 **** struct { ! const char * m_csName; ! EFilter2x m_eFilter2x; } astFilter2x[] = --- 270,275 ---- struct { ! const char * m_csName; ! const EFilter2x m_eFilter2x; } astFilter2x[] = *************** *** 275,279 **** { "FilterLq2x", FilterLq2x } }; ! EFilter2x eDefaultFilter2x = (EFilter2x)m_poScreenConfig->oGetKey<int>("filter2x"); for (guint i = 0; i < sizeof(astFilter2x) / sizeof(astFilter2x[0]); i++) { --- 290,294 ---- { "FilterLq2x", FilterLq2x } }; ! EFilter2x eDefaultFilter2x = (EFilter2x)m_poDisplayConfig->oGetKey<int>("filter2x"); for (guint i = 0; i < sizeof(astFilter2x) / sizeof(astFilter2x[0]); i++) { *************** *** 291,295 **** poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilterDisableMmx")); #ifdef MMX ! poCMI->set_active(m_poScreenConfig->oGetKey<bool>("filter_disable_mmx")); vOnDisableMMXToggled(poCMI); poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( --- 306,310 ---- poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilterDisableMmx")); #ifdef MMX ! poCMI->set_active(m_poDisplayConfig->oGetKey<bool>("filter_disable_mmx")); vOnDisableMMXToggled(poCMI); poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( *************** *** 305,310 **** struct { ! const char * m_csName; ! EFilterIB m_eFilterIB; } astFilterIB[] = --- 320,325 ---- struct { ! const char * m_csName; ! const EFilterIB m_eFilterIB; } astFilterIB[] = *************** *** 314,318 **** { "IFBMotionBlur", FilterIBMotionBlur } }; ! EFilterIB eDefaultFilterIB = (EFilterIB)m_poScreenConfig->oGetKey<int>("filterIB"); for (guint i = 0; i < sizeof(astFilterIB) / sizeof(astFilterIB[0]); i++) { --- 329,333 ---- { "IFBMotionBlur", FilterIBMotionBlur } }; ! EFilterIB eDefaultFilterIB = (EFilterIB)m_poDisplayConfig->oGetKey<int>("filterIB"); for (guint i = 0; i < sizeof(astFilterIB) / sizeof(astFilterIB[0]); i++) { *************** *** 408,414 **** return; ! int iFlags = (SDL_INIT_AUDIO ! | SDL_INIT_TIMER // useful for SDL_GetTicks ? ! | SDL_INIT_NOPARACHUTE); if (SDL_Init(iFlags) < 0) --- 423,427 ---- return; ! int iFlags = (SDL_INIT_AUDIO | SDL_INIT_NOPARACHUTE); if (SDL_Init(iFlags) < 0) *************** *** 425,452 **** m_oConfig.vClear(); ! m_poScreenConfig = m_oConfig.poAddSection("Screen"); ! m_poScreenConfig->vSetKey ("frameskip", "auto" ); ! m_poScreenConfig->vSetKey ("throttle", 0 ); ! m_poScreenConfig->vSetKey ("scale", 1 ); ! m_poScreenConfig->vSetKey ("layer_bg0", true ); ! m_poScreenConfig->vSetKey ("layer_bg1", true ); ! m_poScreenConfig->vSetKey ("layer_bg2", true ); ! m_poScreenConfig->vSetKey ("layer_bg3", true ); ! m_poScreenConfig->vSetKey ("layer_obj", true ); ! m_poScreenConfig->vSetKey ("layer_win0", true ); ! m_poScreenConfig->vSetKey ("layer_win1", true ); ! m_poScreenConfig->vSetKey ("layer_objwin", true ); ! m_poScreenConfig->vSetKey<int>("filter2x", FilterNone ); ! m_poScreenConfig->vSetKey<int>("filterIB", FilterIBNone ); #ifdef MMX ! m_poScreenConfig->vSetKey ("filter_disable_mmx", false ); #endif // MMX } void Window::vLoadConfig(const std::string & _sFilename) { try { ! m_oConfig.vLoad(_sFilename); } catch (const Glib::Error & e) --- 438,518 ---- m_oConfig.vClear(); ! // Core section ! // ! m_poCoreConfig = m_oConfig.poAddSection("Core"); ! m_poCoreConfig->vSetKey("frameskip", "auto" ); ! m_poCoreConfig->vSetKey("throttle", 0 ); ! m_poCoreConfig->vSetKey("layer_bg0", true ); ! m_poCoreConfig->vSetKey("layer_bg1", true ); ! m_poCoreConfig->vSetKey("layer_bg2", true ); ! m_poCoreConfig->vSetKey("layer_bg3", true ); ! m_poCoreConfig->vSetKey("layer_obj", true ); ! m_poCoreConfig->vSetKey("layer_win0", true ); ! m_poCoreConfig->vSetKey("layer_win1", true ); ! m_poCoreConfig->vSetKey("layer_objwin", true ); ! ! // Display section ! // ! m_poDisplayConfig = m_oConfig.poAddSection("Display"); ! m_poDisplayConfig->vSetKey ("scale", 1 ); ! m_poDisplayConfig->vSetKey<int>("filter2x", FilterNone ); ! m_poDisplayConfig->vSetKey<int>("filterIB", FilterIBNone ); #ifdef MMX ! m_poDisplayConfig->vSetKey ("filter_disable_mmx", false ); #endif // MMX } + void Window::vCheckConfig() + { + int iValue; + int iAdjusted; + + if (m_poCoreConfig->sGetKey("frameskip") != "auto") + { + iValue = m_poCoreConfig->oGetKey<int>("frameskip"); + iAdjusted = CLAMP(iValue, iFrameskipMin, iFrameskipMax); + if (iValue != iAdjusted) + { + m_poCoreConfig->vSetKey("frameskip", iAdjusted); + } + } + + iValue = m_poCoreConfig->oGetKey<int>("throttle"); + if (iValue != 0) + { + iAdjusted = CLAMP(iValue, iThrottleMin, iThrottleMax); + if (iValue != iAdjusted) + { + m_poCoreConfig->vSetKey("throttle", iAdjusted); + } + } + + iValue = m_poDisplayConfig->oGetKey<int>("scale"); + iAdjusted = CLAMP(iValue, iScaleMin, iScaleMax); + if (iValue != iAdjusted) + { + m_poDisplayConfig->vSetKey("scale", iAdjusted); + } + + iValue = m_poDisplayConfig->oGetKey<int>("filter2x"); + iAdjusted = CLAMP(iValue, iFilter2xMin, iFilter2xMax); + if (iValue != iAdjusted) + { + m_poDisplayConfig->vSetKey("filter2x", iAdjusted); + } + + iValue = m_poDisplayConfig->oGetKey<int>("filterIB"); + iAdjusted = CLAMP(iValue, iFilterIBMin, iFilterIBMax); + if (iValue != iAdjusted) + { + m_poDisplayConfig->vSetKey("filterIB", iAdjusted); + } + } + void Window::vLoadConfig(const std::string & _sFilename) { try { ! m_oConfig.vLoad(_sFilename, false, false); } catch (const Glib::Error & e) *************** *** 458,463 **** oDialog.run(); } - - // TODO : check that values are valid } --- 524,527 ---- *************** *** 505,509 **** m_poScreenArea->vSetSize(m_iScreenWidth, m_iScreenHeight); ! m_poScreenArea->vSetScale(m_poScreenConfig->oGetKey<int>("scale")); resize(1, 1); --- 569,573 ---- m_poScreenArea->vSetSize(m_iScreenWidth, m_iScreenHeight); ! m_poScreenArea->vSetScale(m_poDisplayConfig->oGetKey<int>("scale")); resize(1, 1); *************** *** 531,594 **** void Window::vComputeFrameskip(int _iRate) { ! #if 0 ! u32 time = SDL_GetTicks(); ! if(!wasPaused && autoFrameSkip && !throttle) { ! u32 diff = time - autoFrameSkipLastTime; ! int speed = 100; ! if(diff) ! speed = (1000000/rate)/diff; ! ! if(speed >= 98) { ! frameskipadjust++; ! if(frameskipadjust >= 3) { ! frameskipadjust=0; ! if(systemFrameSkip > 0) ! systemFrameSkip--; } ! } else { ! if(speed < 80) ! frameskipadjust -= (90 - speed)/5; ! else if(systemFrameSkip < 9) ! frameskipadjust--; ! if(frameskipadjust <= -2) { ! frameskipadjust += 2; ! if(systemFrameSkip < 9) ! systemFrameSkip++; } ! } ! } ! if(!wasPaused && throttle) { ! if(!speedup) { ! u32 diff = time - throttleLastTime; ! ! int target = (1000000/(rate*throttle)); ! int d = (target - diff); ! ! if(d > 0) { ! SDL_Delay(d); } ! } ! throttleLastTime = systemGetClock(); ! } ! if(rewindMemory) { ! if(++rewindCounter >= rewindTimer) { ! rewindSaveNeeded = true; ! rewindCounter = 0; ! } ! } ! if(systemSaveUpdateCounter) { ! if(--systemSaveUpdateCounter <= SYSTEM_SAVE_NOT_UPDATED) { ! sdlWriteBattery(); ! systemSaveUpdateCounter = SYSTEM_SAVE_NOT_UPDATED; } } ! wasPaused = false; ! autoFrameSkipLastTime = time; ! #endif // 0 } --- 595,673 ---- void Window::vComputeFrameskip(int _iRate) { ! static u32 uiLastTime = 0; ! static int iFrameskipAdjust = 0; ! u32 uiTime = SDL_GetTicks(); ! if (m_bWasEmulating) ! { ! int iWantedSpeed = 100; ! ! if (m_iThrottle > 0) ! { ! if (! speedup) ! { ! u32 uiDiff = uiTime - m_uiThrottleLastTime; ! int iTarget = 1000000 / (_iRate * m_iThrottle); ! int iDelay = iTarget - uiDiff; ! if (iDelay > 0) ! { ! m_uiThrottleDelay = iDelay; ! } } ! iWantedSpeed = m_iThrottle; ! } ! if (m_bAutoFrameskip) ! { ! u32 uiDiff = uiTime - uiLastTime; ! int iSpeed = iWantedSpeed; ! ! if (uiDiff != 0) ! { ! iSpeed = (1000000 / _iRate) / uiDiff; } ! ! if (iSpeed >= iWantedSpeed - 2) ! { ! iFrameskipAdjust++; ! if (iFrameskipAdjust >= 3) ! { ! iFrameskipAdjust = 0; ! if (systemFrameSkip > 0) ! { ! systemFrameSkip--; ! } ! } } ! else ! { ! if (iSpeed < iWantedSpeed - 20) ! { ! iFrameskipAdjust -= ((iWantedSpeed - 10) - iSpeed) / 5; ! } ! else if (systemFrameSkip < 9) ! { ! iFrameskipAdjust--; ! } ! if (iFrameskipAdjust <= -2) ! { ! iFrameskipAdjust += 2; ! if (systemFrameSkip < 9) ! { ! systemFrameSkip++; ! } ! } ! } } } + else + { + m_bWasEmulating = true; + } ! uiLastTime = uiTime; ! m_uiThrottleLastTime = uiTime; } *************** *** 684,687 **** --- 763,768 ---- emulating = 1; + m_bWasEmulating = false; + m_uiThrottleDelay = 0; if (m_poFilePauseItem->get_active()) *************** *** 743,752 **** { m_oEmuSig.disconnect(); } void Window::vSetThrottle(int _iPercent) { ! // TODO ! m_poScreenConfig->vSetKey("throttle", _iPercent); } --- 824,861 ---- { m_oEmuSig.disconnect(); + m_bWasEmulating = false; } void Window::vSetThrottle(int _iPercent) { ! m_iThrottle = _iPercent; ! m_poCoreConfig->vSetKey("throttle", _iPercent); ! } ! ! void Window::vSelectBestThrottleItem() ! { ! struct ! { ! const char * m_csName; ! const int m_iThrottle; ! } ! astThrottle[] = ! { ! { "ThrottleNoThrottle", 0 }, ! { "Throttle25", 25 }, ! { "Throttle50", 50 }, ! { "Throttle100", 100 }, ! { "Throttle150", 150 }, ! { "Throttle200", 200 } ! }; ! for (guint i = 0; i < sizeof(astThrottle) / sizeof(astThrottle[0]); i++) ! { ! Gtk::CheckMenuItem * poCMI; ! poCMI = dynamic_cast<Gtk::CheckMenuItem *>(m_poXml->get_widget(astThrottle[i].m_csName)); ! if (astThrottle[i].m_iThrottle == m_iThrottle) ! { ! poCMI->set_active(); ! } ! } } *************** *** 819,823 **** if (_iValue >= 0 && _iValue <= 9) { ! m_poScreenConfig->vSetKey("frameskip", _iValue); gbFrameSkip = _iValue; systemFrameSkip = _iValue; --- 928,932 ---- if (_iValue >= 0 && _iValue <= 9) { ! m_poCoreConfig->vSetKey("frameskip", _iValue); gbFrameSkip = _iValue; systemFrameSkip = _iValue; *************** *** 826,830 **** else { ! m_poScreenConfig->vSetKey("frameskip", "auto"); m_bAutoFrameskip = true; } --- 935,940 ---- else { ! m_poCoreConfig->vSetKey("frameskip", "auto"); ! systemFrameSkip = 0; m_bAutoFrameskip = true; } *************** *** 839,842 **** --- 949,958 ---- vSetThrottle(_iPercent); + + // Initialize the frameskip adjustment each time throttle is changed + if (m_bAutoFrameskip) + { + systemFrameSkip = 0; + } } *************** *** 848,852 **** } ! // TODO } --- 964,991 ---- } ! Glib::RefPtr<Xml> poXml; ! poXml = Xml::create(PKGDATADIR "/vba.glade", "ThrottleDialog"); ! ! Gtk::Dialog * poDialog = dynamic_cast<Gtk::Dialog *>(poXml->get_widget("ThrottleDialog")); ! Gtk::SpinButton * poSpin = dynamic_cast<Gtk::SpinButton *>(poXml->get_widget("ThrottleSpin")); ! ! poDialog->set_transient_for(*this); ! ! if (m_iThrottle != 0) ! { ! poSpin->set_value(m_iThrottle); ! } ! else ! { ! poSpin->set_value(100); ! } ! ! if (poDialog->run() == Gtk::RESPONSE_OK) ! { ! vSetThrottle(poSpin->get_value_as_int()); ! } ! ! delete poDialog; ! vSelectBestThrottleItem(); } *************** *** 858,862 **** } ! m_poScreenConfig->vSetKey("scale", _iScale); vUpdateScreen(); } --- 997,1001 ---- } ! m_poDisplayConfig->vSetKey("scale", _iScale); vUpdateScreen(); } *************** *** 886,890 **** "layer_objwin" }; ! m_poScreenConfig->vSetKey(acsLayers[_iLayer], _poCMI->get_active()); } --- 1025,1029 ---- "layer_objwin" }; ! m_poCoreConfig->vSetKey(acsLayers[_iLayer], _poCMI->get_active()); } *************** *** 901,905 **** vDrawScreen(); } ! m_poScreenConfig->vSetKey("filter2x", _iFilter2x); } --- 1040,1044 ---- vDrawScreen(); } ! m_poDisplayConfig->vSetKey("filter2x", _iFilter2x); } *************** *** 916,920 **** vDrawScreen(); } ! m_poScreenConfig->vSetKey("filterIB", _iFilterIB); } --- 1055,1059 ---- vDrawScreen(); } ! m_poDisplayConfig->vSetKey("filterIB", _iFilterIB); } *************** *** 923,927 **** { cpu_mmx = ! _poCMI->get_active(); ! m_poScreenConfig->vSetKey("filter_disable_mmx", _poCMI->get_active()); } #endif // MMX --- 1062,1066 ---- { cpu_mmx = ! _poCMI->get_active(); ! m_poDisplayConfig->vSetKey("filter_disable_mmx", _poCMI->get_active()); } #endif // MMX *************** *** 943,946 **** --- 1082,1099 ---- bool Window::bOnEmuIdle() { + if (m_uiThrottleDelay != 0) + { + u32 uiTime = SDL_GetTicks(); + if (uiTime - m_uiThrottleLastTime >= m_uiThrottleDelay) + { + m_uiThrottleDelay = 0; + m_uiThrottleLastTime = uiTime; + } + else + { + return true; + } + } + m_stEmulator.emuMain(m_stEmulator.emuCount); return true; Index: vba.glade =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/vba.glade,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** vba.glade 2 Apr 2004 01:22:17 -0000 1.2 --- vba.glade 15 Apr 2004 03:58:45 -0000 1.3 *************** *** 47,51 **** <child internal-child="image"> ! <widget class="GtkImage" id="image72"> <property name="visible">True</property> <property name="stock">gtk-open</property> --- 47,51 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image74"> <property name="visible">True</property> <property name="stock">gtk-open</property> *************** *** 196,200 **** <child internal-child="image"> ! <widget class="GtkImage" id="image73"> <property name="visible">True</property> <property name="stock">gtk-close</property> --- 196,200 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image75"> <property name="visible">True</property> <property name="stock">gtk-close</property> *************** *** 217,221 **** <child internal-child="image"> ! <widget class="GtkImage" id="image74"> <property name="visible">True</property> <property name="stock">gtk-quit</property> --- 217,221 ---- <child internal-child="image"> ! <widget class="GtkImage" id="image76"> <property name="visible">True</property> <property name="stock">gtk-quit</property> *************** *** 1671,1675 **** <property name="modal">False</property> <property name="resizable">True</property> ! <property name="destroy_with_parent">False</property> <property name="has_separator">True</property> --- 1671,1675 ---- <property name="modal">False</property> <property name="resizable">True</property> ! <property name="destroy_with_parent">True</property> <property name="has_separator">True</property> *************** *** 1774,1776 **** --- 1774,1905 ---- </widget> + <widget class="GtkDialog" id="ThrottleDialog"> + <property name="title" translatable="yes">Throttle</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">True</property> + <property name="has_separator">True</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox2"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area2"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="cancelbutton1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="response_id">-6</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="okbutton1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-ok</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="response_id">-5</property> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="label" translatable="yes">Throttle : </property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">1</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkSpinButton" id="ThrottleSpin"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="climb_rate">1</property> + <property name="digits">0</property> + <property name="numeric">True</property> + <property name="update_policy">GTK_UPDATE_ALWAYS</property> + <property name="snap_to_ticks">True</property> + <property name="wrap">True</property> + <property name="adjustment">100 5 1000 1 25 25</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label5"> + <property name="visible">True</property> + <property name="label" translatable="yes"> %</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + </child> + </widget> + </glade-interface> |
From: S?bastien G. <kx...@us...> - 2004-04-15 03:58:53
|
Update of /cvsroot/vba/VisualBoyAdvance/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12997/po Modified Files: fr.gmo fr.po vba-1.7.2.pot Log Message: Added auto frameskip and throttle support. Config file has been modified, and now old and corrupted config files are fixed at loading time. Index: fr.po =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/po/fr.po,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** fr.po 2 Apr 2004 01:22:17 -0000 1.2 --- fr.po 15 Apr 2004 03:58:45 -0000 1.3 *************** *** 10,15 **** "Project-Id-Version: VisualBoyAdvance 1.7.2\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-02 03:28+0200\n" ! "PO-Revision-Date: 2004-04-02 03:24+0200\n" "Last-Translator: Sébastien Guignot <kx...@ts...>\n" "Language-Team: French <@>\n" --- 10,15 ---- "Project-Id-Version: VisualBoyAdvance 1.7.2\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-15 04:56+0200\n" ! "PO-Revision-Date: 2004-04-15 04:57+0200\n" "Last-Translator: Sébastien Guignot <kx...@ts...>\n" "Language-Team: French <@>\n" *************** *** 566,588 **** msgstr "<small>Copyright © 1999-2004 Forgotten</small>" ! #: src/gtk/window.cpp:506 #, c-format msgid "Unknown file type %s" msgstr "Type de fichier inconnu %s" ! #: src/gtk/window.cpp:579 #, c-format msgid "Failed to load file %s" msgstr "Le chargement du fichier %s a échoué" ! #: src/gtk/window.cpp:607 msgid "Loaded battery" msgstr "Sauvegarde chargée" ! #: src/gtk/window.cpp:618 msgid "Saved battery" msgstr "Sauvegarde effectuée" ! #: src/gtk/window.cpp:685 msgid "Open a ROM" msgstr "Ouvrir une ROM" --- 566,600 ---- msgstr "<small>Copyright © 1999-2004 Forgotten</small>" ! #: src/gtk/vba.glade:1778 ! msgid "Throttle" ! msgstr "Vitesse" ! ! #: src/gtk/vba.glade:1838 ! msgid "Throttle : " ! msgstr "Vitesse : " ! ! #: src/gtk/vba.glade:1878 ! msgid " %" ! msgstr " %" ! ! #: src/gtk/window.cpp:683 #, c-format msgid "Unknown file type %s" msgstr "Type de fichier inconnu %s" ! #: src/gtk/window.cpp:756 #, c-format msgid "Failed to load file %s" msgstr "Le chargement du fichier %s a échoué" ! #: src/gtk/window.cpp:786 msgid "Loaded battery" msgstr "Sauvegarde chargée" ! #: src/gtk/window.cpp:797 msgid "Saved battery" msgstr "Sauvegarde effectuée" ! #: src/gtk/window.cpp:838 msgid "Open a ROM" msgstr "Ouvrir une ROM" Index: vba-1.7.2.pot =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/po/vba-1.7.2.pot,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** vba-1.7.2.pot 2 Apr 2004 01:22:17 -0000 1.2 --- vba-1.7.2.pot 15 Apr 2004 03:58:45 -0000 1.3 *************** *** 9,13 **** "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-02 03:28+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" --- 9,13 ---- "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-15 04:56+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" *************** *** 565,587 **** msgstr "" ! #: src/gtk/window.cpp:506 #, c-format msgid "Unknown file type %s" msgstr "" ! #: src/gtk/window.cpp:579 #, c-format msgid "Failed to load file %s" msgstr "" ! #: src/gtk/window.cpp:607 msgid "Loaded battery" msgstr "" ! #: src/gtk/window.cpp:618 msgid "Saved battery" msgstr "" ! #: src/gtk/window.cpp:685 msgid "Open a ROM" msgstr "" --- 565,599 ---- msgstr "" ! #: src/gtk/vba.glade:1778 ! msgid "Throttle" ! msgstr "" ! ! #: src/gtk/vba.glade:1838 ! msgid "Throttle : " ! msgstr "" ! ! #: src/gtk/vba.glade:1878 ! msgid " %" ! msgstr "" ! ! #: src/gtk/window.cpp:683 #, c-format msgid "Unknown file type %s" msgstr "" ! #: src/gtk/window.cpp:756 #, c-format msgid "Failed to load file %s" msgstr "" ! #: src/gtk/window.cpp:786 msgid "Loaded battery" msgstr "" ! #: src/gtk/window.cpp:797 msgid "Saved battery" msgstr "" ! #: src/gtk/window.cpp:838 msgid "Open a ROM" msgstr "" Index: fr.gmo =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/po/fr.gmo,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsRlE73W and /tmp/cvsH1xVpf differ |
From: S?bastien G. <kx...@us...> - 2004-04-12 23:13:17
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12974 Modified Files: system.cpp window.cpp window.h Log Message: A few fixes in the menu callbacks. Index: system.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/system.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** system.cpp 29 Mar 2004 22:08:40 -0000 1.1 --- system.cpp 12 Apr 2004 22:59:24 -0000 1.2 *************** *** 83,87 **** { char csTitle[50]; ! snprintf(csTitle, 50, "VisualBoyAdvance-%.3d%%", _iSpeed); gui()->set_title(csTitle); } --- 83,87 ---- { char csTitle[50]; ! snprintf(csTitle, 50, "VisualBoyAdvance-%d%%", _iSpeed); gui()->set_title(csTitle); } *************** *** 89,92 **** --- 89,93 ---- void system10Frames(int _iRate) { + gui()->vComputeFrameskip(_iRate); } Index: window.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** window.h 2 Apr 2004 01:22:17 -0000 1.2 --- window.h 12 Apr 2004 22:59:24 -0000 1.3 *************** *** 43,49 **** inline static Window * poGetInstance() { return m_poInstance; } - void vDrawScreen(); - inline u32 uiReadJoypad() { return m_uiJoypadState; } - enum ECartridge { --- 43,46 ---- *************** *** 53,71 **** }; inline ECartridge eGetCartridge() { return m_eCartridge; } protected: virtual void vOnFileOpen(); ! virtual void vOnFilePauseToggled(); virtual void vOnFileReset(); virtual void vOnFileClose(); virtual void vOnFileExit(); ! virtual void vOnFrameskipSelected(int _iValue); ! virtual void vOnThrottleSelected(int _iPercent); ! virtual void vOnThrottleOther(); virtual void vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer); ! virtual void vOnVideoScaleSelected(int _iScale); ! virtual void vOnFilter2xSelected(EFilter2x _eFilter2x); ! virtual void vOnFilterIBSelected(EFilterIB _eFilterIB); virtual void vOnHelpAbout(); virtual bool bOnEmuIdle(); --- 50,74 ---- }; + void vDrawScreen(); + void vComputeFrameskip(int _iRate); + inline u32 uiReadJoypad() { return m_uiJoypadState; } inline ECartridge eGetCartridge() { return m_eCartridge; } protected: virtual void vOnFileOpen(); ! virtual void vOnFilePauseToggled(Gtk::CheckMenuItem * _poCMI); virtual void vOnFileReset(); virtual void vOnFileClose(); virtual void vOnFileExit(); ! virtual void vOnFrameskipToggled(Gtk::CheckMenuItem * _poCMI, int _iValue); ! virtual void vOnThrottleToggled(Gtk::CheckMenuItem * _poCMI, int _iPercent); ! virtual void vOnThrottleOther(Gtk::CheckMenuItem * _poCMI); virtual void vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer); ! virtual void vOnVideoScaleToggled(Gtk::CheckMenuItem * _poCMI, int _iScale); ! virtual void vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x); ! virtual void vOnFilterIBToggled(Gtk::CheckMenuItem * _poCMI, int _iFilterIB); ! #ifdef MMX ! virtual void vOnDisableMMXToggled(Gtk::CheckMenuItem * _poCMI); ! #endif // MMX virtual void vOnHelpAbout(); virtual bool bOnEmuIdle(); *************** *** 91,94 **** --- 94,98 ---- SigC::Connection m_oEmuSig; + bool m_bPaused; std::string m_sRomFile; ECartridge m_eCartridge; *************** *** 117,121 **** void vStopEmu(); void vSetThrottle(int _iPercent); - void vSetLayer(int _iLayer, bool _bVisible); }; --- 121,124 ---- Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** window.cpp 2 Apr 2004 01:22:17 -0000 1.2 --- window.cpp 12 Apr 2004 22:59:24 -0000 1.3 *************** *** 35,38 **** --- 35,42 ---- extern int RGB_LOW_BITS_MASK; + #ifdef MMX + extern "C" bool cpu_mmx; + #endif // MMX + namespace VBA { *************** *** 95,99 **** // m_poFilePauseItem = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilePause")); ! m_poFilePauseItem->signal_toggled().connect(SigC::slot(*this, &Window::vOnFilePauseToggled)); poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("FileOpen")); --- 99,106 ---- // m_poFilePauseItem = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilePause")); ! m_poFilePauseItem->set_active(false); ! m_poFilePauseItem->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( ! SigC::slot(*this, &Window::vOnFilePauseToggled), ! m_poFilePauseItem)); poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("FileOpen")); *************** *** 138,148 **** for (guint i = 0; i < sizeof(astFrameskip) / sizeof(astFrameskip[0]); i++) { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astFrameskip[i].m_csName)); ! poMI->signal_activate().connect(SigC::bind<int>(SigC::slot(*this, &Window::vOnFrameskipSelected), ! astFrameskip[i].m_iFrameskip)); if (astFrameskip[i].m_iFrameskip == iDefaultFrameskip) { ! poMI->activate(); } } --- 145,157 ---- for (guint i = 0; i < sizeof(astFrameskip) / sizeof(astFrameskip[0]); i++) { ! poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astFrameskip[i].m_csName)); if (astFrameskip[i].m_iFrameskip == iDefaultFrameskip) { ! poCMI->set_active(); ! vOnFrameskipToggled(poCMI, iDefaultFrameskip); } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnFrameskipToggled), + poCMI, astFrameskip[i].m_iFrameskip)); } *************** *** 163,180 **** { "Throttle200", 200 } }; ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("ThrottleOther")); ! poMI->activate(); ! poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnThrottleOther)); int iDefaultThrottle = m_poScreenConfig->oGetKey<int>("throttle"); for (guint i = 0; i < sizeof(astThrottle) / sizeof(astThrottle[0]); i++) { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astThrottle[i].m_csName)); if (astThrottle[i].m_iThrottle == iDefaultThrottle) { ! poMI->activate(); } ! poMI->signal_activate().connect(SigC::bind<int>(SigC::slot(*this, &Window::vOnThrottleSelected), ! astThrottle[i].m_iThrottle)); } vSetThrottle(iDefaultThrottle); --- 172,192 ---- { "Throttle200", 200 } }; ! poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("ThrottleOther")); ! poCMI->set_active(); ! poCMI->signal_activate().connect(SigC::bind<Gtk::CheckMenuItem *>( ! SigC::slot(*this, &Window::vOnThrottleOther), ! poCMI)); int iDefaultThrottle = m_poScreenConfig->oGetKey<int>("throttle"); for (guint i = 0; i < sizeof(astThrottle) / sizeof(astThrottle[0]); i++) { ! poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astThrottle[i].m_csName)); if (astThrottle[i].m_iThrottle == iDefaultThrottle) { ! poCMI->set_active(); } ! poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( ! SigC::slot(*this, &Window::vOnThrottleToggled), ! poCMI, astThrottle[i].m_iThrottle)); } vSetThrottle(iDefaultThrottle); *************** *** 199,209 **** for (guint i = 0; i < sizeof(astVideoScale) / sizeof(astVideoScale[0]); i++) { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astVideoScale[i].m_csName)); ! poMI->signal_activate().connect(SigC::bind<int>(SigC::slot(*this, &Window::vOnVideoScaleSelected), ! astVideoScale[i].m_iScale)); if (astVideoScale[i].m_iScale == iDefaultScale) { ! poMI->activate(); } } --- 211,223 ---- for (guint i = 0; i < sizeof(astVideoScale) / sizeof(astVideoScale[0]); i++) { ! poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astVideoScale[i].m_csName)); if (astVideoScale[i].m_iScale == iDefaultScale) { ! poCMI->set_active(); ! vOnVideoScaleToggled(poCMI, iDefaultScale); } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnVideoScaleToggled), + poCMI, astVideoScale[i].m_iScale)); } *************** *** 231,235 **** poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astLayer[i].m_csName)); poCMI->set_active(astLayer[i].m_bChecked); ! vSetLayer(astLayer[i].m_iLayer, astLayer[i].m_bChecked); poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( SigC::slot(*this, &Window::vOnLayerToggled), --- 245,249 ---- poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astLayer[i].m_csName)); poCMI->set_active(astLayer[i].m_bChecked); ! vOnLayerToggled(poCMI, astLayer[i].m_iLayer); poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( SigC::slot(*this, &Window::vOnLayerToggled), *************** *** 264,276 **** for (guint i = 0; i < sizeof(astFilter2x) / sizeof(astFilter2x[0]); i++) { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astFilter2x[i].m_csName)); ! poMI->signal_activate().connect(SigC::bind<EFilter2x>(SigC::slot(*this, &Window::vOnFilter2xSelected), ! astFilter2x[i].m_eFilter2x)); if (astFilter2x[i].m_eFilter2x == eDefaultFilter2x) { ! poMI->activate(); } } // Interframe blending menu // --- 278,304 ---- for (guint i = 0; i < sizeof(astFilter2x) / sizeof(astFilter2x[0]); i++) { ! poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astFilter2x[i].m_csName)); if (astFilter2x[i].m_eFilter2x == eDefaultFilter2x) { ! poCMI->set_active(); ! vOnFilter2xToggled(poCMI, eDefaultFilter2x); } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnFilter2xToggled), + poCMI, astFilter2x[i].m_eFilter2x)); } + poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilterDisableMmx")); + #ifdef MMX + poCMI->set_active(m_poScreenConfig->oGetKey<bool>("filter_disable_mmx")); + vOnDisableMMXToggled(poCMI); + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *>( + SigC::slot(*this, &Window::vOnDisableMMXToggled), + poCMI)); + #else // ! MMX + poCMI->set_active(); + poCMI->set_sensitive(false); + #endif // ! MMX + // Interframe blending menu // *************** *** 289,301 **** for (guint i = 0; i < sizeof(astFilterIB) / sizeof(astFilterIB[0]); i++) { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astFilterIB[i].m_csName)); ! poMI->signal_activate().connect(SigC::bind<EFilterIB>(SigC::slot(*this, &Window::vOnFilterIBSelected), ! astFilterIB[i].m_eFilterIB)); if (astFilterIB[i].m_eFilterIB == eDefaultFilterIB) { ! poMI->activate(); } } poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("HelpAbout")); poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnHelpAbout)); --- 317,333 ---- for (guint i = 0; i < sizeof(astFilterIB) / sizeof(astFilterIB[0]); i++) { ! poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astFilterIB[i].m_csName)); if (astFilterIB[i].m_eFilterIB == eDefaultFilterIB) { ! poCMI->set_active(); ! vOnFilterIBToggled(poCMI, eDefaultFilterIB); } + poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( + SigC::slot(*this, &Window::vOnFilterIBToggled), + poCMI, astFilterIB[i].m_eFilterIB)); } + // Help menu + // poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("HelpAbout")); poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnHelpAbout)); *************** *** 394,410 **** m_poScreenConfig = m_oConfig.poAddSection("Screen"); ! m_poScreenConfig->vSetKey ("frameskip", "auto" ); ! m_poScreenConfig->vSetKey ("throttle", 0 ); ! m_poScreenConfig->vSetKey ("scale", 1 ); ! m_poScreenConfig->vSetKey ("layer_bg0", true ); ! m_poScreenConfig->vSetKey ("layer_bg1", true ); ! m_poScreenConfig->vSetKey ("layer_bg2", true ); ! m_poScreenConfig->vSetKey ("layer_bg3", true ); ! m_poScreenConfig->vSetKey ("layer_obj", true ); ! m_poScreenConfig->vSetKey ("layer_win0", true ); ! m_poScreenConfig->vSetKey ("layer_win1", true ); ! m_poScreenConfig->vSetKey ("layer_objwin", true ); ! m_poScreenConfig->vSetKey<int>("filter2x", FilterNone ); ! m_poScreenConfig->vSetKey<int>("filterIB", FilterIBNone ); } --- 426,445 ---- m_poScreenConfig = m_oConfig.poAddSection("Screen"); ! m_poScreenConfig->vSetKey ("frameskip", "auto" ); ! m_poScreenConfig->vSetKey ("throttle", 0 ); ! m_poScreenConfig->vSetKey ("scale", 1 ); ! m_poScreenConfig->vSetKey ("layer_bg0", true ); ! m_poScreenConfig->vSetKey ("layer_bg1", true ); ! m_poScreenConfig->vSetKey ("layer_bg2", true ); ! m_poScreenConfig->vSetKey ("layer_bg3", true ); ! m_poScreenConfig->vSetKey ("layer_obj", true ); ! m_poScreenConfig->vSetKey ("layer_win0", true ); ! m_poScreenConfig->vSetKey ("layer_win1", true ); ! m_poScreenConfig->vSetKey ("layer_objwin", true ); ! m_poScreenConfig->vSetKey<int>("filter2x", FilterNone ); ! m_poScreenConfig->vSetKey<int>("filterIB", FilterIBNone ); ! #ifdef MMX ! m_poScreenConfig->vSetKey ("filter_disable_mmx", false ); ! #endif // MMX } *************** *** 494,497 **** --- 529,596 ---- } + void Window::vComputeFrameskip(int _iRate) + { + #if 0 + u32 time = SDL_GetTicks(); + if(!wasPaused && autoFrameSkip && !throttle) { + u32 diff = time - autoFrameSkipLastTime; + int speed = 100; + + if(diff) + speed = (1000000/rate)/diff; + + if(speed >= 98) { + frameskipadjust++; + + if(frameskipadjust >= 3) { + frameskipadjust=0; + if(systemFrameSkip > 0) + systemFrameSkip--; + } + } else { + if(speed < 80) + frameskipadjust -= (90 - speed)/5; + else if(systemFrameSkip < 9) + frameskipadjust--; + + if(frameskipadjust <= -2) { + frameskipadjust += 2; + if(systemFrameSkip < 9) + systemFrameSkip++; + } + } + } + if(!wasPaused && throttle) { + if(!speedup) { + u32 diff = time - throttleLastTime; + + int target = (1000000/(rate*throttle)); + int d = (target - diff); + + if(d > 0) { + SDL_Delay(d); + } + } + throttleLastTime = systemGetClock(); + } + if(rewindMemory) { + if(++rewindCounter >= rewindTimer) { + rewindSaveNeeded = true; + rewindCounter = 0; + } + } + + if(systemSaveUpdateCounter) { + if(--systemSaveUpdateCounter <= SYSTEM_SAVE_NOT_UPDATED) { + sdlWriteBattery(); + systemSaveUpdateCounter = SYSTEM_SAVE_NOT_UPDATED; + } + } + + wasPaused = false; + autoFrameSkipLastTime = time; + #endif // 0 + } + bool Window::bLoadROM(const std::string & _rsFilename) { *************** *** 652,682 **** } - void Window::vSetLayer(int _iLayer, bool _bVisible) - { - int iMask = (0x0100 << _iLayer); - if (_bVisible) - { - layerSettings |= iMask; - } - else - { - layerSettings &= ~iMask; - } - layerEnable = DISPCNT & layerSettings; - - const char * acsLayers[] = - { - "layer_bg0", - "layer_bg1", - "layer_bg2", - "layer_bg3", - "layer_obj", - "layer_win0", - "layer_win1", - "layer_objwin" - }; - m_poScreenConfig->vSetKey(acsLayers[_iLayer], _bVisible); - } - void Window::vOnFileOpen() { --- 751,754 ---- *************** *** 687,692 **** } - m_poFileOpenDialog->show(); - while (m_poFileOpenDialog->run() == Gtk::RESPONSE_OK) { --- 759,762 ---- *************** *** 696,708 **** } } - m_poFileOpenDialog->hide(); } ! void Window::vOnFilePauseToggled() { if (emulating) { ! if (m_poFilePauseItem->get_active()) { vStopEmu(); --- 766,777 ---- } } m_poFileOpenDialog->hide(); } ! void Window::vOnFilePauseToggled(Gtk::CheckMenuItem * _poCMI) { if (emulating) { ! if (_poCMI->get_active()) { vStopEmu(); *************** *** 727,739 **** if (emulating) { vSaveBattery(); m_stEmulator.emuCleanUp(); emulating = 0; } - - m_eCartridge = NO_CARTRIDGE; - - vStopEmu(); - vDrawDefaultScreen(); } --- 796,806 ---- if (emulating) { + vStopEmu(); + vDrawDefaultScreen(); vSaveBattery(); m_stEmulator.emuCleanUp(); + m_eCartridge = NO_CARTRIDGE; emulating = 0; } } *************** *** 743,748 **** } ! void Window::vOnFrameskipSelected(int _iValue) { if (_iValue >= 0 && _iValue <= 9) { --- 810,820 ---- } ! void Window::vOnFrameskipToggled(Gtk::CheckMenuItem * _poCMI, int _iValue) { + if (! _poCMI->get_active()) + { + return; + } + if (_iValue >= 0 && _iValue <= 9) { *************** *** 759,774 **** } ! void Window::vOnThrottleSelected(int _iPercent) { vSetThrottle(_iPercent); } ! void Window::vOnThrottleOther() { // TODO } ! void Window::vOnVideoScaleSelected(int _iScale) { m_poScreenConfig->vSetKey("scale", _iScale); vUpdateScreen(); --- 831,861 ---- } ! void Window::vOnThrottleToggled(Gtk::CheckMenuItem * _poCMI, int _iPercent) { + if (! _poCMI->get_active()) + { + return; + } + vSetThrottle(_iPercent); } ! void Window::vOnThrottleOther(Gtk::CheckMenuItem * _poCMI) { + if (! _poCMI->get_active()) + { + return; + } + // TODO } ! void Window::vOnVideoScaleToggled(Gtk::CheckMenuItem * _poCMI, int _iScale) { + if (! _poCMI->get_active()) + { + return; + } + m_poScreenConfig->vSetKey("scale", _iScale); vUpdateScreen(); *************** *** 777,803 **** void Window::vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer) { ! vSetLayer(_iLayer, _poCMI->get_active()); } ! void Window::vOnFilter2xSelected(EFilter2x _eFilter2x) { ! m_poScreenArea->vSetFilter2x(_eFilter2x); if (emulating) { vDrawScreen(); } ! m_poScreenConfig->vSetKey<int>("filter2x", _eFilter2x); } ! void Window::vOnFilterIBSelected(EFilterIB _eFilterIB) { ! m_poScreenArea->vSetFilterIB(_eFilterIB); if (emulating) { vDrawScreen(); } ! m_poScreenConfig->vSetKey<int>("filterIB", _eFilterIB); } void Window::vOnHelpAbout() { --- 864,930 ---- void Window::vOnLayerToggled(Gtk::CheckMenuItem * _poCMI, int _iLayer) { ! int iMask = (0x0100 << _iLayer); ! if (_poCMI->get_active()) ! { ! layerSettings |= iMask; ! } ! else ! { ! layerSettings &= ~iMask; ! } ! layerEnable = DISPCNT & layerSettings; ! ! const char * acsLayers[] = ! { ! "layer_bg0", ! "layer_bg1", ! "layer_bg2", ! "layer_bg3", ! "layer_obj", ! "layer_win0", ! "layer_win1", ! "layer_objwin" ! }; ! m_poScreenConfig->vSetKey(acsLayers[_iLayer], _poCMI->get_active()); } ! void Window::vOnFilter2xToggled(Gtk::CheckMenuItem * _poCMI, int _iFilter2x) { ! if (! _poCMI->get_active()) ! { ! return; ! } ! ! m_poScreenArea->vSetFilter2x((EFilter2x)_iFilter2x); if (emulating) { vDrawScreen(); } ! m_poScreenConfig->vSetKey("filter2x", _iFilter2x); } ! void Window::vOnFilterIBToggled(Gtk::CheckMenuItem * _poCMI, int _iFilterIB) { ! if (! _poCMI->get_active()) ! { ! return; ! } ! ! m_poScreenArea->vSetFilterIB((EFilterIB)_iFilterIB); if (emulating) { vDrawScreen(); } ! m_poScreenConfig->vSetKey("filterIB", _iFilterIB); } + #ifdef MMX + void Window::vOnDisableMMXToggled(Gtk::CheckMenuItem * _poCMI) + { + cpu_mmx = ! _poCMI->get_active(); + m_poScreenConfig->vSetKey("filter_disable_mmx", _poCMI->get_active()); + } + #endif // MMX + void Window::vOnHelpAbout() { *************** *** 816,824 **** bool Window::bOnEmuIdle() { ! if (emulating) ! { ! m_stEmulator.emuMain(m_stEmulator.emuCount); ! } ! return true; } --- 943,947 ---- bool Window::bOnEmuIdle() { ! m_stEmulator.emuMain(m_stEmulator.emuCount); return true; } |
From: S?bastien G. <kx...@us...> - 2004-04-02 01:34:23
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26860/src/gtk Modified Files: Makefile.am Makefile.in filters.h main.cpp screenarea.cpp screenarea.h vba.glade window.cpp window.h Added Files: configfile.cpp configfile.h filters.cpp Log Message: The GTK+ frontend is growing.. the binary is now called gvba. Index: filters.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/filters.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** filters.h 29 Mar 2004 22:08:40 -0000 1.1 --- filters.h 2 Apr 2004 01:22:17 -0000 1.2 *************** *** 57,63 **** --- 57,102 ---- void MotionBlurIB32(u8 *, u32, int, int); + namespace VBA + { + typedef void (*Filter2x)(u8 *, u32, u8 *, u8 *, u32, int, int); typedef void (*FilterIB)(u8 *, u32, int, int); + enum EFilter2x + { + FilterNone, + Filter2xSaI, + FilterSuper2xSaI, + FilterSuperEagle, + FilterPixelate, + FilterMotionBlur, + FilterAdMame2x, + FilterSimple2x, + FilterBilinear, + FilterBilinearPlus, + FilterScanlines, + FilterScanlinesTV, + FilterHq2x, + FilterLq2x + }; + + enum EFilterIB + { + FilterIBNone, + FilterIBSmart, + FilterIBMotionBlur + }; + + enum EFilterDepth + { + FilterDepth16, + FilterDepth32 + }; + + Filter2x pvGetFilter2x(EFilter2x _eFilter2x, EFilterDepth _eDepth); + FilterIB pvGetFilterIB(EFilterIB _eFilterIB, EFilterDepth _eDepth); + + } // namespace VBA + #endif // __VBA_FILTERS_H__ Index: main.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/main.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** main.cpp 29 Mar 2004 22:08:40 -0000 1.1 --- main.cpp 2 Apr 2004 01:22:17 -0000 1.2 *************** *** 55,58 **** --- 55,59 ---- Gtk::Main::run(*poWindow); + delete poWindow; return 0; Index: screenarea.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/screenarea.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** screenarea.h 29 Mar 2004 22:10:15 -0000 1.1 --- screenarea.h 2 Apr 2004 01:22:17 -0000 1.2 *************** *** 36,41 **** void vSetSize(int _iWidth, int _iHeight); void vSetScale(int _iScale); ! void vSetFilter2x(Filter2x _vFilter); ! void vDrawPixels(const u8 * _puiData); void vDrawColor(u32 _uiColor); // 0xRRGGBB --- 36,42 ---- void vSetSize(int _iWidth, int _iHeight); void vSetScale(int _iScale); ! void vSetFilter2x(EFilter2x _eFilter2x); ! void vSetFilterIB(EFilterIB _eFilterIB); ! void vDrawPixels(u8 * _puiData); void vDrawColor(u32 _uiColor); // 0xRRGGBB *************** *** 53,56 **** --- 54,58 ---- u8 * m_puiDelta; Filter2x m_vFilter2x; + FilterIB m_vFilterIB; void vUpdateSize(); Index: Makefile.in =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/Makefile.in,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.in 29 Mar 2004 22:08:40 -0000 1.1 --- Makefile.in 2 Apr 2004 01:22:17 -0000 1.2 *************** *** 151,159 **** target_os = @target_os@ target_vendor = @target_vendor@ ! bin_PROGRAMS = gVisualBoyAdvance noinst_LIBRARIES = libgba.a ! gVisualBoyAdvance_SOURCES = \ filters.h \ input.cpp \ --- 151,162 ---- target_os = @target_os@ target_vendor = @target_vendor@ ! bin_PROGRAMS = gvba noinst_LIBRARIES = libgba.a ! gvba_SOURCES = \ ! configfile.cpp \ ! configfile.h \ ! filters.cpp \ filters.h \ input.cpp \ *************** *** 170,176 **** ! gVisualBoyAdvance_LDADD = libgba.a @VBA_LIBS@ @GTKMM_LIBS@ @LIBINTL@ @SDL_LIBS@ ! gVisualBoyAdvance_CPPFLAGS = \ -DPKGDATADIR=\"$(pkgdatadir)\" \ -DLOCALEDIR=\"$(datadir)/locale\" \ --- 173,179 ---- ! gvba_LDADD = libgba.a @VBA_LIBS@ @GTKMM_LIBS@ @LIBINTL@ @SDL_LIBS@ ! gvba_CPPFLAGS = \ -DPKGDATADIR=\"$(pkgdatadir)\" \ -DLOCALEDIR=\"$(datadir)/locale\" \ *************** *** 178,182 **** ! gVisualBoyAdvance_CXXFLAGS = @GTKMM_CFLAGS@ @SDL_CFLAGS@ libgba_a_SOURCES = \ --- 181,185 ---- ! gvba_CXXFLAGS = @GTKMM_CFLAGS@ @SDL_CFLAGS@ libgba_a_SOURCES = \ *************** *** 278,303 **** libgba_a-unzip.$(OBJEXT) libgba_a_OBJECTS = $(am_libgba_a_OBJECTS) ! bin_PROGRAMS = gVisualBoyAdvance$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) ! am_gVisualBoyAdvance_OBJECTS = gVisualBoyAdvance-input.$(OBJEXT) \ ! gVisualBoyAdvance-main.$(OBJEXT) \ ! gVisualBoyAdvance-screenarea.$(OBJEXT) \ ! gVisualBoyAdvance-system.$(OBJEXT) \ ! gVisualBoyAdvance-tools.$(OBJEXT) \ ! gVisualBoyAdvance-window.$(OBJEXT) ! gVisualBoyAdvance_OBJECTS = $(am_gVisualBoyAdvance_OBJECTS) ! gVisualBoyAdvance_DEPENDENCIES = libgba.a ! gVisualBoyAdvance_LDFLAGS = DEFAULT_INCLUDES = -I. -I$(srcdir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles ! @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/gVisualBoyAdvance-input.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gVisualBoyAdvance-main.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gVisualBoyAdvance-screenarea.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gVisualBoyAdvance-system.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gVisualBoyAdvance-tools.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gVisualBoyAdvance-window.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/libgba_a-2xSaI.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/libgba_a-Cheats.Po \ --- 281,305 ---- libgba_a-unzip.$(OBJEXT) libgba_a_OBJECTS = $(am_libgba_a_OBJECTS) ! bin_PROGRAMS = gvba$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) ! am_gvba_OBJECTS = gvba-configfile.$(OBJEXT) gvba-filters.$(OBJEXT) \ ! gvba-input.$(OBJEXT) gvba-main.$(OBJEXT) \ ! gvba-screenarea.$(OBJEXT) gvba-system.$(OBJEXT) \ ! gvba-tools.$(OBJEXT) gvba-window.$(OBJEXT) ! gvba_OBJECTS = $(am_gvba_OBJECTS) ! gvba_DEPENDENCIES = libgba.a ! gvba_LDFLAGS = DEFAULT_INCLUDES = -I. -I$(srcdir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles ! @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/gvba-configfile.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gvba-filters.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gvba-input.Po ./$(DEPDIR)/gvba-main.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gvba-screenarea.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gvba-system.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gvba-tools.Po \ ! @AMDEP_TRUE@ ./$(DEPDIR)/gvba-window.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/libgba_a-2xSaI.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/libgba_a-Cheats.Po \ *************** *** 344,352 **** CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ ! DIST_SOURCES = $(libgba_a_SOURCES) $(gVisualBoyAdvance_SOURCES) DATA = $(dist_pkgdata_DATA) DIST_COMMON = $(dist_pkgdata_DATA) $(srcdir)/Makefile.in Makefile.am ! SOURCES = $(libgba_a_SOURCES) $(gVisualBoyAdvance_SOURCES) all: all-am --- 346,354 ---- CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ ! DIST_SOURCES = $(libgba_a_SOURCES) $(gvba_SOURCES) DATA = $(dist_pkgdata_DATA) DIST_COMMON = $(dist_pkgdata_DATA) $(srcdir)/Makefile.in Makefile.am ! SOURCES = $(libgba_a_SOURCES) $(gvba_SOURCES) all: all-am *************** *** 392,398 **** clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) ! gVisualBoyAdvance$(EXEEXT): $(gVisualBoyAdvance_OBJECTS) $(gVisualBoyAdvance_DEPENDENCIES) ! @rm -f gVisualBoyAdvance$(EXEEXT) ! $(CXXLINK) $(gVisualBoyAdvance_LDFLAGS) $(gVisualBoyAdvance_OBJECTS) $(gVisualBoyAdvance_LDADD) $(LIBS) mostlyclean-compile: --- 394,400 ---- clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) ! gvba$(EXEEXT): $(gvba_OBJECTS) $(gvba_DEPENDENCIES) ! @rm -f gvba$(EXEEXT) ! $(CXXLINK) $(gvba_LDFLAGS) $(gvba_OBJECTS) $(gvba_LDADD) $(LIBS) mostlyclean-compile: *************** *** 402,411 **** -rm -f *.tab.c ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gVisualBoyAdvance-input.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gVisualBoyAdvance-main.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gVisualBoyAdvance-screenarea.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gVisualBoyAdvance-system.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gVisualBoyAdvance-tools.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gVisualBoyAdvance-window.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgba_a-2xSaI.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgba_a-Cheats.Po@am__quote@ --- 404,415 ---- -rm -f *.tab.c ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-configfile.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-filters.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-input.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-main.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-screenarea.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-system.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-tools.Po@am__quote@ ! @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvba-window.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgba_a-2xSaI.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgba_a-Cheats.Po@am__quote@ *************** *** 1258,1392 **** @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgba_a_CPPFLAGS) $(CPPFLAGS) $(libgba_a_CXXFLAGS) $(CXXFLAGS) -c -o libgba_a-unzip.obj `if test -f '../unzip.cpp'; then $(CYGPATH_W) '../unzip.cpp'; else $(CYGPATH_W) '$(srcdir)/../unzip.cpp'; fi` ! gVisualBoyAdvance-input.o: input.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-input.o -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-input.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-input.o `test -f 'input.cpp' || echo '$(srcdir)/'`input.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-input.Tpo" "$(DEPDIR)/gVisualBoyAdvance-input.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-input.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='input.cpp' object='gVisualBoyAdvance-input.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-input.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-input.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-input.o `test -f 'input.cpp' || echo '$(srcdir)/'`input.cpp ! gVisualBoyAdvance-input.obj: input.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-input.obj -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-input.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-input.obj `if test -f 'input.cpp'; then $(CYGPATH_W) 'input.cpp'; else $(CYGPATH_W) '$(srcdir)/input.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-input.Tpo" "$(DEPDIR)/gVisualBoyAdvance-input.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-input.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='input.cpp' object='gVisualBoyAdvance-input.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-input.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-input.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-input.obj `if test -f 'input.cpp'; then $(CYGPATH_W) 'input.cpp'; else $(CYGPATH_W) '$(srcdir)/input.cpp'; fi` ! gVisualBoyAdvance-main.o: main.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-main.o -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-main.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-main.Tpo" "$(DEPDIR)/gVisualBoyAdvance-main.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-main.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='main.cpp' object='gVisualBoyAdvance-main.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-main.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-main.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp ! gVisualBoyAdvance-main.obj: main.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-main.obj -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-main.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-main.Tpo" "$(DEPDIR)/gVisualBoyAdvance-main.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-main.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='main.cpp' object='gVisualBoyAdvance-main.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-main.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-main.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` ! gVisualBoyAdvance-screenarea.o: screenarea.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-screenarea.o -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-screenarea.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-screenarea.o `test -f 'screenarea.cpp' || echo '$(srcdir)/'`screenarea.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-screenarea.Tpo" "$(DEPDIR)/gVisualBoyAdvance-screenarea.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-screenarea.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='screenarea.cpp' object='gVisualBoyAdvance-screenarea.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-screenarea.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-screenarea.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-screenarea.o `test -f 'screenarea.cpp' || echo '$(srcdir)/'`screenarea.cpp ! gVisualBoyAdvance-screenarea.obj: screenarea.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-screenarea.obj -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-screenarea.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-screenarea.obj `if test -f 'screenarea.cpp'; then $(CYGPATH_W) 'screenarea.cpp'; else $(CYGPATH_W) '$(srcdir)/screenarea.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-screenarea.Tpo" "$(DEPDIR)/gVisualBoyAdvance-screenarea.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-screenarea.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='screenarea.cpp' object='gVisualBoyAdvance-screenarea.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-screenarea.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-screenarea.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-screenarea.obj `if test -f 'screenarea.cpp'; then $(CYGPATH_W) 'screenarea.cpp'; else $(CYGPATH_W) '$(srcdir)/screenarea.cpp'; fi` ! gVisualBoyAdvance-system.o: system.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-system.o -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-system.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-system.o `test -f 'system.cpp' || echo '$(srcdir)/'`system.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-system.Tpo" "$(DEPDIR)/gVisualBoyAdvance-system.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-system.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='system.cpp' object='gVisualBoyAdvance-system.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-system.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-system.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-system.o `test -f 'system.cpp' || echo '$(srcdir)/'`system.cpp ! gVisualBoyAdvance-system.obj: system.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-system.obj -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-system.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-system.obj `if test -f 'system.cpp'; then $(CYGPATH_W) 'system.cpp'; else $(CYGPATH_W) '$(srcdir)/system.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-system.Tpo" "$(DEPDIR)/gVisualBoyAdvance-system.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-system.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='system.cpp' object='gVisualBoyAdvance-system.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-system.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-system.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-system.obj `if test -f 'system.cpp'; then $(CYGPATH_W) 'system.cpp'; else $(CYGPATH_W) '$(srcdir)/system.cpp'; fi` ! gVisualBoyAdvance-tools.o: tools.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-tools.o -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-tools.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-tools.o `test -f 'tools.cpp' || echo '$(srcdir)/'`tools.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-tools.Tpo" "$(DEPDIR)/gVisualBoyAdvance-tools.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-tools.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tools.cpp' object='gVisualBoyAdvance-tools.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-tools.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-tools.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-tools.o `test -f 'tools.cpp' || echo '$(srcdir)/'`tools.cpp ! gVisualBoyAdvance-tools.obj: tools.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-tools.obj -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-tools.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-tools.obj `if test -f 'tools.cpp'; then $(CYGPATH_W) 'tools.cpp'; else $(CYGPATH_W) '$(srcdir)/tools.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-tools.Tpo" "$(DEPDIR)/gVisualBoyAdvance-tools.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-tools.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tools.cpp' object='gVisualBoyAdvance-tools.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-tools.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-tools.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-tools.obj `if test -f 'tools.cpp'; then $(CYGPATH_W) 'tools.cpp'; else $(CYGPATH_W) '$(srcdir)/tools.cpp'; fi` ! gVisualBoyAdvance-window.o: window.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-window.o -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-window.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-window.o `test -f 'window.cpp' || echo '$(srcdir)/'`window.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-window.Tpo" "$(DEPDIR)/gVisualBoyAdvance-window.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-window.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='window.cpp' object='gVisualBoyAdvance-window.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-window.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-window.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-window.o `test -f 'window.cpp' || echo '$(srcdir)/'`window.cpp ! gVisualBoyAdvance-window.obj: window.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -MT gVisualBoyAdvance-window.obj -MD -MP -MF "$(DEPDIR)/gVisualBoyAdvance-window.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gVisualBoyAdvance-window.obj `if test -f 'window.cpp'; then $(CYGPATH_W) 'window.cpp'; else $(CYGPATH_W) '$(srcdir)/window.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gVisualBoyAdvance-window.Tpo" "$(DEPDIR)/gVisualBoyAdvance-window.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gVisualBoyAdvance-window.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='window.cpp' object='gVisualBoyAdvance-window.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gVisualBoyAdvance-window.Po' tmpdepfile='$(DEPDIR)/gVisualBoyAdvance-window.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gVisualBoyAdvance_CPPFLAGS) $(CPPFLAGS) $(gVisualBoyAdvance_CXXFLAGS) $(CXXFLAGS) -c -o gVisualBoyAdvance-window.obj `if test -f 'window.cpp'; then $(CYGPATH_W) 'window.cpp'; else $(CYGPATH_W) '$(srcdir)/window.cpp'; fi` uninstall-info-am: dist_pkgdataDATA_INSTALL = $(INSTALL_DATA) --- 1262,1440 ---- @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgba_a_CPPFLAGS) $(CPPFLAGS) $(libgba_a_CXXFLAGS) $(CXXFLAGS) -c -o libgba_a-unzip.obj `if test -f '../unzip.cpp'; then $(CYGPATH_W) '../unzip.cpp'; else $(CYGPATH_W) '$(srcdir)/../unzip.cpp'; fi` ! gvba-configfile.o: configfile.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-configfile.o -MD -MP -MF "$(DEPDIR)/gvba-configfile.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-configfile.o `test -f 'configfile.cpp' || echo '$(srcdir)/'`configfile.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-configfile.Tpo" "$(DEPDIR)/gvba-configfile.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-configfile.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='configfile.cpp' object='gvba-configfile.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-configfile.Po' tmpdepfile='$(DEPDIR)/gvba-configfile.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-configfile.o `test -f 'configfile.cpp' || echo '$(srcdir)/'`configfile.cpp ! gvba-configfile.obj: configfile.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-configfile.obj -MD -MP -MF "$(DEPDIR)/gvba-configfile.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-configfile.obj `if test -f 'configfile.cpp'; then $(CYGPATH_W) 'configfile.cpp'; else $(CYGPATH_W) '$(srcdir)/configfile.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-configfile.Tpo" "$(DEPDIR)/gvba-configfile.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-configfile.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='configfile.cpp' object='gvba-configfile.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-configfile.Po' tmpdepfile='$(DEPDIR)/gvba-configfile.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-configfile.obj `if test -f 'configfile.cpp'; then $(CYGPATH_W) 'configfile.cpp'; else $(CYGPATH_W) '$(srcdir)/configfile.cpp'; fi` ! gvba-filters.o: filters.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-filters.o -MD -MP -MF "$(DEPDIR)/gvba-filters.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-filters.o `test -f 'filters.cpp' || echo '$(srcdir)/'`filters.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-filters.Tpo" "$(DEPDIR)/gvba-filters.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-filters.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='filters.cpp' object='gvba-filters.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-filters.Po' tmpdepfile='$(DEPDIR)/gvba-filters.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-filters.o `test -f 'filters.cpp' || echo '$(srcdir)/'`filters.cpp ! gvba-filters.obj: filters.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-filters.obj -MD -MP -MF "$(DEPDIR)/gvba-filters.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-filters.obj `if test -f 'filters.cpp'; then $(CYGPATH_W) 'filters.cpp'; else $(CYGPATH_W) '$(srcdir)/filters.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-filters.Tpo" "$(DEPDIR)/gvba-filters.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-filters.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='filters.cpp' object='gvba-filters.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-filters.Po' tmpdepfile='$(DEPDIR)/gvba-filters.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-filters.obj `if test -f 'filters.cpp'; then $(CYGPATH_W) 'filters.cpp'; else $(CYGPATH_W) '$(srcdir)/filters.cpp'; fi` ! gvba-input.o: input.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-input.o -MD -MP -MF "$(DEPDIR)/gvba-input.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-input.o `test -f 'input.cpp' || echo '$(srcdir)/'`input.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-input.Tpo" "$(DEPDIR)/gvba-input.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-input.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='input.cpp' object='gvba-input.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-input.Po' tmpdepfile='$(DEPDIR)/gvba-input.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-input.o `test -f 'input.cpp' || echo '$(srcdir)/'`input.cpp ! gvba-input.obj: input.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-input.obj -MD -MP -MF "$(DEPDIR)/gvba-input.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-input.obj `if test -f 'input.cpp'; then $(CYGPATH_W) 'input.cpp'; else $(CYGPATH_W) '$(srcdir)/input.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-input.Tpo" "$(DEPDIR)/gvba-input.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-input.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='input.cpp' object='gvba-input.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-input.Po' tmpdepfile='$(DEPDIR)/gvba-input.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-input.obj `if test -f 'input.cpp'; then $(CYGPATH_W) 'input.cpp'; else $(CYGPATH_W) '$(srcdir)/input.cpp'; fi` ! gvba-main.o: main.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-main.o -MD -MP -MF "$(DEPDIR)/gvba-main.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-main.Tpo" "$(DEPDIR)/gvba-main.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-main.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='main.cpp' object='gvba-main.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-main.Po' tmpdepfile='$(DEPDIR)/gvba-main.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp ! gvba-main.obj: main.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-main.obj -MD -MP -MF "$(DEPDIR)/gvba-main.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-main.Tpo" "$(DEPDIR)/gvba-main.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-main.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='main.cpp' object='gvba-main.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-main.Po' tmpdepfile='$(DEPDIR)/gvba-main.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` ! gvba-screenarea.o: screenarea.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-screenarea.o -MD -MP -MF "$(DEPDIR)/gvba-screenarea.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-screenarea.o `test -f 'screenarea.cpp' || echo '$(srcdir)/'`screenarea.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-screenarea.Tpo" "$(DEPDIR)/gvba-screenarea.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-screenarea.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='screenarea.cpp' object='gvba-screenarea.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-screenarea.Po' tmpdepfile='$(DEPDIR)/gvba-screenarea.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-screenarea.o `test -f 'screenarea.cpp' || echo '$(srcdir)/'`screenarea.cpp ! gvba-screenarea.obj: screenarea.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-screenarea.obj -MD -MP -MF "$(DEPDIR)/gvba-screenarea.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-screenarea.obj `if test -f 'screenarea.cpp'; then $(CYGPATH_W) 'screenarea.cpp'; else $(CYGPATH_W) '$(srcdir)/screenarea.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-screenarea.Tpo" "$(DEPDIR)/gvba-screenarea.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-screenarea.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='screenarea.cpp' object='gvba-screenarea.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-screenarea.Po' tmpdepfile='$(DEPDIR)/gvba-screenarea.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-screenarea.obj `if test -f 'screenarea.cpp'; then $(CYGPATH_W) 'screenarea.cpp'; else $(CYGPATH_W) '$(srcdir)/screenarea.cpp'; fi` ! gvba-system.o: system.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-system.o -MD -MP -MF "$(DEPDIR)/gvba-system.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-system.o `test -f 'system.cpp' || echo '$(srcdir)/'`system.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-system.Tpo" "$(DEPDIR)/gvba-system.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-system.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='system.cpp' object='gvba-system.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-system.Po' tmpdepfile='$(DEPDIR)/gvba-system.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-system.o `test -f 'system.cpp' || echo '$(srcdir)/'`system.cpp ! gvba-system.obj: system.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-system.obj -MD -MP -MF "$(DEPDIR)/gvba-system.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-system.obj `if test -f 'system.cpp'; then $(CYGPATH_W) 'system.cpp'; else $(CYGPATH_W) '$(srcdir)/system.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-system.Tpo" "$(DEPDIR)/gvba-system.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-system.Tpo"; exit 1; \ @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='system.cpp' object='gvba-system.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-system.Po' tmpdepfile='$(DEPDIR)/gvba-system.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-system.obj `if test -f 'system.cpp'; then $(CYGPATH_W) 'system.cpp'; else $(CYGPATH_W) '$(srcdir)/system.cpp'; fi` ! ! gvba-tools.o: tools.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-tools.o -MD -MP -MF "$(DEPDIR)/gvba-tools.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-tools.o `test -f 'tools.cpp' || echo '$(srcdir)/'`tools.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-tools.Tpo" "$(DEPDIR)/gvba-tools.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-tools.Tpo"; exit 1; \ ! @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tools.cpp' object='gvba-tools.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-tools.Po' tmpdepfile='$(DEPDIR)/gvba-tools.TPo' @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-tools.o `test -f 'tools.cpp' || echo '$(srcdir)/'`tools.cpp ! ! gvba-tools.obj: tools.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-tools.obj -MD -MP -MF "$(DEPDIR)/gvba-tools.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-tools.obj `if test -f 'tools.cpp'; then $(CYGPATH_W) 'tools.cpp'; else $(CYGPATH_W) '$(srcdir)/tools.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-tools.Tpo" "$(DEPDIR)/gvba-tools.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-tools.Tpo"; exit 1; \ ! @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tools.cpp' object='gvba-tools.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-tools.Po' tmpdepfile='$(DEPDIR)/gvba-tools.TPo' @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-tools.obj `if test -f 'tools.cpp'; then $(CYGPATH_W) 'tools.cpp'; else $(CYGPATH_W) '$(srcdir)/tools.cpp'; fi` ! ! gvba-window.o: window.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-window.o -MD -MP -MF "$(DEPDIR)/gvba-window.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-window.o `test -f 'window.cpp' || echo '$(srcdir)/'`window.cpp; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-window.Tpo" "$(DEPDIR)/gvba-window.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-window.Tpo"; exit 1; \ ! @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='window.cpp' object='gvba-window.o' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-window.Po' tmpdepfile='$(DEPDIR)/gvba-window.TPo' @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-window.o `test -f 'window.cpp' || echo '$(srcdir)/'`window.cpp ! ! gvba-window.obj: window.cpp ! @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -MT gvba-window.obj -MD -MP -MF "$(DEPDIR)/gvba-window.Tpo" \ ! @am__fastdepCXX_TRUE@ -c -o gvba-window.obj `if test -f 'window.cpp'; then $(CYGPATH_W) 'window.cpp'; else $(CYGPATH_W) '$(srcdir)/window.cpp'; fi`; \ ! @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/gvba-window.Tpo" "$(DEPDIR)/gvba-window.Po"; \ ! @am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/gvba-window.Tpo"; exit 1; \ ! @am__fastdepCXX_TRUE@ fi ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='window.cpp' object='gvba-window.obj' libtool=no @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/gvba-window.Po' tmpdepfile='$(DEPDIR)/gvba-window.TPo' @AMDEPBACKSLASH@ ! @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ! @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gvba_CPPFLAGS) $(CPPFLAGS) $(gvba_CXXFLAGS) $(CXXFLAGS) -c -o gvba-window.obj `if test -f 'window.cpp'; then $(CYGPATH_W) 'window.cpp'; else $(CYGPATH_W) '$(srcdir)/window.cpp'; fi` uninstall-info-am: dist_pkgdataDATA_INSTALL = $(INSTALL_DATA) Index: window.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/gtk/window.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** window.cpp 29 Mar 2004 22:08:40 -0000 1.1 --- window.cpp 2 Apr 2004 01:22:17 -0000 1.2 *************** *** 19,22 **** --- 19,25 ---- #include "window.h" + #include <sys/types.h> + #include <sys/stat.h> + #include <SDL.h> *************** *** 52,63 **** m_uiJoypadState(0), m_iScreenWidth(iGBAScreenWidth), ! m_iScreenHeight(iGBAScreenHeight), ! m_iScreenScale(1), ! m_vFilter2x(NULL), ! m_vFilterIB(NULL) { vInitSystem(); vInitSDL(); - vLoadKeymap(); Gtk::Container * poC; --- 55,62 ---- m_uiJoypadState(0), m_iScreenWidth(iGBAScreenWidth), ! m_iScreenHeight(iGBAScreenHeight) { vInitSystem(); vInitSDL(); Gtk::Container * poC; *************** *** 66,76 **** poC->add(*m_poScreenArea); vDrawDefaultScreen(); - m_poScreenArea->vSetFilter2x(SuperEagle32); // TEST m_poScreenArea->show(); m_poFilePauseItem = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilePause")); ! m_poFilePauseItem->signal_toggled().connect(SigC::slot(*this, &Window::vOnFilePause)); - Gtk::MenuItem * poMI; poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("FileOpen")); poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnFileOpen)); --- 65,100 ---- poC->add(*m_poScreenArea); vDrawDefaultScreen(); m_poScreenArea->show(); + // Get config + // + vInitConfig(); + + m_sUserDataDir = Glib::get_home_dir() + "/.gvba"; + m_sConfigFile = m_sUserDataDir + "/config"; + + if (! Glib::file_test(m_sUserDataDir, Glib::FILE_TEST_EXISTS)) + { + mkdir(m_sUserDataDir.c_str(), 0777); + } + if (Glib::file_test(m_sConfigFile, Glib::FILE_TEST_EXISTS)) + { + vLoadConfig(m_sConfigFile); + } + else + { + vSaveConfig(m_sConfigFile); + } + + vLoadKeymap(); + + Gtk::MenuItem * poMI; + Gtk::CheckMenuItem * poCMI; + + // File menu + // m_poFilePauseItem = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget("FilePause")); ! m_poFilePauseItem->signal_toggled().connect(SigC::slot(*this, &Window::vOnFilePauseToggled)); poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("FileOpen")); poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnFileOpen)); *************** *** 79,93 **** poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("FileClose")); poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnFileClose)); ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("FileQuit")); ! poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnFileQuit)); ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("VideoZoom1x")); ! poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnVideoZoom1x)); ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("VideoZoom2x")); ! poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnVideoZoom2x)); ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("VideoZoom3x")); ! poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnVideoZoom3x)); ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("VideoZoom4x")); ! poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnVideoZoom4x)); poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("HelpAbout")); --- 103,300 ---- poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("FileClose")); poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnFileClose)); ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("FileExit")); ! poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnFileExit)); ! // Frameskip menu ! // ! struct ! { ! const char * m_csName; ! int m_iFrameskip; ! } ! astFrameskip[] = ! { ! { "FrameskipAutomatic", -1 }, ! { "Frameskip0", 0 }, ! { "Frameskip1", 1 }, ! { "Frameskip2", 2 }, ! { "Frameskip3", 3 }, ! { "Frameskip4", 4 }, ! { "Frameskip5", 5 }, ! { "Frameskip6", 6 }, ! { "Frameskip7", 7 }, ! { "Frameskip8", 8 }, ! { "Frameskip9", 9 } ! }; ! int iDefaultFrameskip; ! if (m_poScreenConfig->sGetKey("frameskip") == "auto") ! { ! iDefaultFrameskip = -1; ! } ! else ! { ! iDefaultFrameskip = m_poScreenConfig->oGetKey<int>("frameskip"); ! } ! for (guint i = 0; i < sizeof(astFrameskip) / sizeof(astFrameskip[0]); i++) ! { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astFrameskip[i].m_csName)); ! poMI->signal_activate().connect(SigC::bind<int>(SigC::slot(*this, &Window::vOnFrameskipSelected), ! astFrameskip[i].m_iFrameskip)); ! if (astFrameskip[i].m_iFrameskip == iDefaultFrameskip) ! { ! poMI->activate(); ! } ! } ! ! // Throttle menu ! // ! struct ! { ! const char * m_csName; ! int m_iThrottle; ! } ! astThrottle[] = ! { ! { "ThrottleNoThrottle", 0 }, ! { "Throttle25", 25 }, ! { "Throttle50", 50 }, ! { "Throttle100", 100 }, ! { "Throttle150", 150 }, ! { "Throttle200", 200 } ! }; ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("ThrottleOther")); ! poMI->activate(); ! poMI->signal_activate().connect(SigC::slot(*this, &Window::vOnThrottleOther)); ! ! int iDefaultThrottle = m_poScreenConfig->oGetKey<int>("throttle"); ! for (guint i = 0; i < sizeof(astThrottle) / sizeof(astThrottle[0]); i++) ! { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astThrottle[i].m_csName)); ! if (astThrottle[i].m_iThrottle == iDefaultThrottle) ! { ! poMI->activate(); ! } ! poMI->signal_activate().connect(SigC::bind<int>(SigC::slot(*this, &Window::vOnThrottleSelected), ! astThrottle[i].m_iThrottle)); ! } ! vSetThrottle(iDefaultThrottle); ! ! // Video menu ! // ! struct ! { ! const char * m_csName; ! int m_iScale; ! } ! astVideoScale[] = ! { ! { "Video1x", 1 }, ! { "Video2x", 2 }, ! { "Video3x", 3 }, ! { "Video4x", 4 }, ! { "Video5x", 5 }, ! { "Video6x", 6 } ! }; ! int iDefaultScale = m_poScreenConfig->oGetKey<int>("scale"); ! for (guint i = 0; i < sizeof(astVideoScale) / sizeof(astVideoScale[0]); i++) ! { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astVideoScale[i].m_csName)); ! poMI->signal_activate().connect(SigC::bind<int>(SigC::slot(*this, &Window::vOnVideoScaleSelected), ! astVideoScale[i].m_iScale)); ! if (astVideoScale[i].m_iScale == iDefaultScale) ! { ! poMI->activate(); ! } ! } ! ! // Layers menu ! // ! struct ! { ! const char * m_csName; ! int m_iLayer; ! bool m_bChecked; ! } ! astLayer[] = ! { ! { "LayersBg0", 0, m_poScreenConfig->oGetKey<bool>("layer_bg0") }, ! { "LayersBg1", 1, m_poScreenConfig->oGetKey<bool>("layer_bg1") }, ! { "LayersBg2", 2, m_poScreenConfig->oGetKey<bool>("layer_bg2") }, ! { "LayersBg3", 3, m_poScreenConfig->oGetKey<bool>("layer_bg3") }, ! { "LayersObj", 4, m_poScreenConfig->oGetKey<bool>("layer_obj") }, ! { "LayersWin0", 5, m_poScreenConfig->oGetKey<bool>("layer_win0") }, ! { "LayersWin1", 6, m_poScreenConfig->oGetKey<bool>("layer_win1") }, ! { "LayersObjWin", 7, m_poScreenConfig->oGetKey<bool>("layer_objwin") } ! }; ! for (guint i = 0; i < sizeof(astLayer) / sizeof(astLayer[0]); i++) ! { ! poCMI = dynamic_cast<Gtk::CheckMenuItem *>(_poXml->get_widget(astLayer[i].m_csName)); ! poCMI->set_active(astLayer[i].m_bChecked); ! vSetLayer(astLayer[i].m_iLayer, astLayer[i].m_bChecked); ! poCMI->signal_toggled().connect(SigC::bind<Gtk::CheckMenuItem *, int>( ! SigC::slot(*this, &Window::vOnLayerToggled), ! poCMI, astLayer[i].m_iLayer)); ! } ! ! // Filter menu ! // ! struct ! { ! const char * m_csName; ! EFilter2x m_eFilter2x; ! } ! astFilter2x[] = ! { ! { "FilterNone", FilterNone }, ! { "FilterTVMode", FilterScanlinesTV }, ! { "Filter2xSaI", Filter2xSaI }, ! { "FilterSuper2xSaI", FilterSuper2xSaI }, ! { "FilterSuperEagle", FilterSuperEagle }, ! { "FilterPixelate", FilterPixelate }, ! { "FilterMotionBlur", FilterMotionBlur }, ! { "FilterAdvanceMame2x", FilterAdMame2x }, ! { "FilterSimple2x", FilterSimple2x }, ! { "FilterBilinear", FilterBilinear }, ! { "FilterBilinearPlus", FilterBilinearPlus }, ! { "FilterScanlines", FilterScanlines }, ! { "FilterHq2x", FilterHq2x }, ! { "FilterLq2x", FilterLq2x } ! }; ! EFilter2x eDefaultFilter2x = (EFilter2x)m_poScreenConfig->oGetKey<int>("filter2x"); ! for (guint i = 0; i < sizeof(astFilter2x) / sizeof(astFilter2x[0]); i++) ! { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astFilter2x[i].m_csName)); ! poMI->signal_activate().connect(SigC::bind<EFilter2x>(SigC::slot(*this, &Window::vOnFilter2xSelected), ! astFilter2x[i].m_eFilter2x)); ! if (astFilter2x[i].m_eFilter2x == eDefaultFilter2x) ! { ! poMI->activate(); ! } ! } ! ! // Interframe blending menu ! // ! struct ! { ! const char * m_csName; ! EFilterIB m_eFilterIB; ! } ! astFilterIB[] = ! { ! { "IFBNone", FilterIBNone }, ! { "IFBSmart", FilterIBSmart }, ! { "IFBMotionBlur", FilterIBMotionBlur } ! }; ! EFilterIB eDefaultFilterIB = (EFilterIB)m_poScreenConfig->oGetKey<int>("filterIB"); ! for (guint i = 0; i < sizeof(astFilterIB) / sizeof(astFilterIB[0]); i++) ! { ! poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget(astFilterIB[i].m_csName)); ! poMI->signal_activate().connect(SigC::bind<EFilterIB>(SigC::slot(*this, &Window::vOnFilterIBSelected), ! astFilterIB[i].m_eFilterIB)); ! if (astFilterIB[i].m_eFilterIB == eDefaultFilterIB) ! { ! poMI->activate(); ! } ! } poMI = dynamic_cast<Gtk::MenuItem *>(_poXml->get_widget("HelpAbout")); *************** *** 107,110 **** --- 314,318 ---- { vOnFileClose(); + vSaveConfig(m_sConfigFile); if (m_poFileOpenDialog != NULL) *************** *** 136,140 **** systemVerbose = 0; systemSaveUpdateCounter = SYSTEM_SAVE_NOT_UPDATED; ! systemFrameSkip = 5; // TEST systemSoundOn = false; --- 344,348 ---- systemVerbose = 0; systemSaveUpdateCounter = SYSTEM_SAVE_NOT_UPDATED; ! systemFrameSkip = 0; systemSoundOn = false; *************** *** 157,160 **** --- 365,369 ---- } + gbFrameSkip = 0; // TODO : GB init and 16-bit color map (?) } *************** *** 168,172 **** int iFlags = (SDL_INIT_AUDIO ! | SDL_INIT_TIMER | SDL_INIT_NOPARACHUTE); --- 377,381 ---- int iFlags = (SDL_INIT_AUDIO ! | SDL_INIT_TIMER // useful for SDL_GetTicks ? | SDL_INIT_NOPARACHUTE); *************** *** 180,183 **** --- 389,446 ---- } + void Window::vInitConfig() + { + m_oConfig.vClear(); + + m_poScreenConfig = m_oConfig.poAddSection("Screen"); + m_poScreenConfig->vSetKey ("frameskip", "auto" ); + m_poScreenConfig->vSetKey ("throttle", 0 ); + m_poScreenConfig->vSetKey ("scale", 1 ); + m_poScreenConfig->vSetKey ("layer_bg0", true ); + m_poScreenConfig->vSetKey ("layer_bg1", true ); + m_poScreenConfig->vSetKey ("layer_bg2", true ); + m_poScreenConfig->vSetKey ("layer_bg3", true ); + m_poScreenConfig->vSetKey ("layer_obj", true ); + m_poScreenConfig->vSetKey ("layer_win0", true ); + m_poScreenConfig->vSetKey ("layer_win1", true ); + m_poScreenConfig->vSetKey ("layer_objwin", true ); + m_poScreenConfig->vSetKey<int>("filter2x", FilterNone ); + m_poScreenConfig->vSetKey<int>("filterIB", FilterIBNone ); + } + + void Window::vLoadConfig(const std::string & _sFilename) + { + try + { + m_oConfig.vLoad(_sFilename); + } + catch (const Glib::Error & e) + { + Gtk::MessageDialog oDialog(*this, + e.what(), + Gtk::MESSAGE_ERROR, + Gtk::BUTTONS_CLOSE); + oDialog.run(); + } + + // TODO : check that values are valid + } + + void Window::vSaveConfig(const std::string & _sFilename) + { + try + { + m_oConfig.vSave(_sFilename); + } + catch (const Glib::Error & e) + { + Gtk::MessageDialog oDialog(*this, + e.what(), + Gtk::MESSAGE_ERROR, + Gtk::BUTTONS_CLOSE); + oDialog.run(); + } + } + void Window::vLoadKeymap() { *************** *** 204,213 **** void Window::vUpdateScreen() { ! g_return_if_fail(m_iScreenWidth >= 1 ! && m_iScreenHeight >= 1 ! && m_iScreenScale >= 1); m_poScreenArea->vSetSize(m_iScreenWidth, m_iScreenHeight); ! m_poScreenArea->vSetScale(m_iScreenScale); resize(1, 1); --- 467,474 ---- void Window::vUpdateScreen() { ! g_return_if_fail(m_iScreenWidth >= 1 && m_iScreenHeight >= 1); m_poScreenArea->vSetSize(m_iScreenWidth, m_iScreenHeight); ! m_poScreenArea->vSetScale(m_poScreenConfig->oGetKey<int>("scale")); resize(1, 1); *************** *** 237,241 **** vOnFileClose(); ! m_sFilename = _rsFilename; const char * csFilename = _rsFilename.c_str(); --- 498,502 ---- vOnFileClose(); ! m_sRomFile = _rsFilename; const char * csFilename = _rsFilename.c_str(); *************** *** 282,288 **** gbBorderRowSkip = 0; } - - // TODO - //systemFrameSkip = gbFrameSkip; } } --- 543,546 ---- *************** *** 314,320 **** m_iScreenWidth = iGBAScreenWidth; m_iScreenHeight = iGBAScreenHeight; - - // TODO - //systemFrameSkip = frameSkip; } } --- 572,575 ---- *************** *** 347,351 **** // TODO : from battery dir ! std::string sBattery = sCutSuffix(m_sFilename) + ".sav"; if (m_stEmulator.emuReadBattery(sBattery.c_str())) { --- 602,606 ---- // TODO : from battery dir ! std::string sBattery = sCutSuffix(m_sRomFile) + ".sav"; if (m_stEmulator.emuReadBattery(sBattery.c_str())) { *************** *** 358,362 **** // TODO : from battery dir ! std::string sBattery = sCutSuffix(m_sFilename) + ".sav"; if (m_stEmulator.emuWriteBattery(sBattery.c_str())) { --- 613,617 ---- // TODO : from battery dir ! std::string sBattery = sCutSuffix(m_sRomFile) + ".sav"; if (m_stEmulator.emuWriteBattery(sBattery.c_str())) { *************** *** 391,394 **** --- 646,682 ---- } + void Window::vSetThrottle(int _iPercent) + { + // TODO + m_poScreenConfig->vSetKey("throttle", _iPercent); + } + + void Window::vSetLayer(int _iLayer, bool _bVisible) + { + int iMask = (0x0100 << _iLayer); + if (_bVisible) + { + layerSettings |= iMask; + } + else + { + layerSettings &= ~iMask; + } + layerEnable = DISPCNT & layerSettings; + + const char * acsLayers[] = + { + "layer_bg0", + "layer_bg1", + "layer_bg2", + "layer_bg3", + "layer_obj", + "layer_win0", + "layer_win1", + "layer_objwin" + }; + m_poScreenConfig->vSetKey(acsLayers[_iLayer], _bVisible); + } + void Window::vOnFileOpen() { *************** *** 396,409 **** { m_poFileOpenDialog = new Gtk::FileSelection(_("Open a ROM")); } m_poFileOpenDialog->show(); ! int iResponse = m_poFileOpenDialog->run(); ! if (iResponse == Gtk::RESPONSE_OK) { ! if (! bLoadROM(m_poFileOpenDialog->get_filename())) { ! return; } } --- 684,697 ---- { m_poFileOpenDialog = new Gtk::FileSelection(_("Open a ROM")); + m_poFileOpenDialog->set_transient_for(*this); } m_poFileOpenDialog->show(); ! while (m_poFileOpenDialog->run() == Gtk::RESPONSE_OK) { ! if (bLoadROM(m_poFileOpenDialog->get_filename())) { ! break; } } *************** *** 412,416 **** } ! void Window::vOnFilePause() { if (emulating) --- 700,704 ---- } ! void Window::vOnFilePauseToggled() { if (emulating) *************** *** 450,482 **** } ! void Window::vOnFileQuit() { hide(); } ! void Window::vOnVideoZoom1x() { ! m_iScreenScale = 1; ! vUpdateScreen(); } ! void Window::vOnVideoZoom2x() {... [truncated message content] |
From: S?bastien G. <kx...@us...> - 2004-04-02 01:34:22
|
Update of /cvsroot/vba/VisualBoyAdvance/po In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26860/po Modified Files: fr.gmo fr.po vba-1.7.2.pot Log Message: The GTK+ frontend is growing.. the binary is now called gvba. Index: fr.po =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/po/fr.po,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** fr.po 29 Mar 2004 22:08:38 -0000 1.1 --- fr.po 2 Apr 2004 01:22:17 -0000 1.2 *************** *** 10,15 **** "Project-Id-Version: VisualBoyAdvance 1.7.2\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-03-29 19:53+0200\n" ! "PO-Revision-Date: 2004-03-29 20:04+0200\n" "Last-Translator: Sébastien Guignot <kx...@ts...>\n" "Language-Team: French <@>\n" --- 10,15 ---- "Project-Id-Version: VisualBoyAdvance 1.7.2\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-02 03:28+0200\n" ! "PO-Revision-Date: 2004-04-02 03:24+0200\n" "Last-Translator: Sébastien Guignot <kx...@ts...>\n" "Language-Team: French <@>\n" *************** *** 26,100 **** msgstr "_Fichier" ! #: src/gtk/vba.glade:52 msgid "_Pause" msgstr "_Pause" ! #: src/gtk/vba.glade:61 msgid "_Reset" msgstr "_Reset" ! #: src/gtk/vba.glade:107 msgid "_Video" msgstr "_Vidéo" ! #: src/gtk/vba.glade:116 ! msgid "_Zoom" ! msgstr "_Zoom" ! ! #: src/gtk/vba.glade:125 msgid "_1x" msgstr "_1x" ! #: src/gtk/vba.glade:134 msgid "_2x" msgstr "_2x" ! #: src/gtk/vba.glade:144 msgid "_3x" msgstr "_3x" ! #: src/gtk/vba.glade:154 msgid "_4x" msgstr "_4x" ! #: src/gtk/vba.glade:172 msgid "_Help" msgstr "_Aide" ! #: src/gtk/vba.glade:181 msgid "_About" msgstr "à _propos" ! #: src/gtk/vba.glade:222 msgid "About VBA" msgstr "à propos de VBA" ! #: src/gtk/vba.glade:287 msgid "An emulator for Gameboy⢠and GameboyAdvanceâ¢." msgstr "Ãmulateur pour Gameboy⢠et GameboyAdvanceâ¢." ! #: src/gtk/vba.glade:309 msgid "<small>Copyright © 1999-2004 Forgotten</small>" msgstr "<small>Copyright © 1999-2004 Forgotten</small>" ! #: src/gtk/window.cpp:245 #, c-format msgid "Unknown file type %s" msgstr "Type de fichier inconnu %s" ! #: src/gtk/window.cpp:324 #, c-format msgid "Failed to load file %s" msgstr "Le chargement du fichier %s a échoué" ! #: src/gtk/window.cpp:352 msgid "Loaded battery" msgstr "Sauvegarde chargée" ! #: src/gtk/window.cpp:363 msgid "Saved battery" msgstr "Sauvegarde effectuée" ! #: src/gtk/window.cpp:397 msgid "Open a ROM" msgstr "Ouvrir une ROM" --- 26,588 ---- msgstr "_Fichier" ! #: src/gtk/vba.glade:44 ! msgid "_Open..." ! msgstr "_Ouvrir..." ! ! #: src/gtk/vba.glade:71 ! msgid "_Load..." ! msgstr "_Charger..." ! ! #: src/gtk/vba.glade:80 ! msgid "_Save..." ! msgstr "_Enregistrer..." ! ! #: src/gtk/vba.glade:89 ! msgid "Loa_d game" ! msgstr "C_harger une partie" ! ! #: src/gtk/vba.glade:97 ! msgid "S_ave game" ! msgstr "E_nregistrer une partie" ! ! #: src/gtk/vba.glade:111 msgid "_Pause" msgstr "_Pause" ! #: src/gtk/vba.glade:121 msgid "_Reset" msgstr "_Reset" ! #: src/gtk/vba.glade:136 ! msgid "Rece_nt" ! msgstr "Récen_t" ! ! #: src/gtk/vba.glade:150 ! msgid "_Import" ! msgstr "_Importer" ! ! #: src/gtk/vba.glade:158 ! msgid "E_xport" ! msgstr "E_xporter" ! ! #: src/gtk/vba.glade:172 ! msgid "Screen capt_ure..." ! msgstr "Capt_ure d'écran..." ! ! #: src/gtk/vba.glade:180 ! msgid "RO_M information..." ! msgstr "Informations sur la RO_M..." ! ! #: src/gtk/vba.glade:194 ! msgid "_Close" ! msgstr "_Fermer" ! ! #: src/gtk/vba.glade:214 ! msgid "_Exit" ! msgstr "_Quitter" ! ! #: src/gtk/vba.glade:239 ! msgid "_Options" ! msgstr "_Options" ! ! #: src/gtk/vba.glade:248 ! msgid "_Frameskip" ! msgstr "" ! ! #: src/gtk/vba.glade:257 ! msgid "_Throttle" ! msgstr "_Vitesse" ! ! #: src/gtk/vba.glade:266 ! msgid "_No throttle" ! msgstr "_Aucune" ! ! #: src/gtk/vba.glade:275 src/gtk/vba.glade:994 ! msgid "25%" ! msgstr "25%" ! ! #: src/gtk/vba.glade:285 src/gtk/vba.glade:1003 ! msgid "50%" ! msgstr "50%" ! ! #: src/gtk/vba.glade:295 src/gtk/vba.glade:1013 ! msgid "100%" ! msgstr "100%" ! ! #: src/gtk/vba.glade:305 ! msgid "150%" ! msgstr "150%" ! ! #: src/gtk/vba.glade:315 src/gtk/vba.glade:1023 ! msgid "200%" ! msgstr "200%" ! ! #: src/gtk/vba.glade:325 ! msgid "_Other..." ! msgstr "A_utre..." ! ! #: src/gtk/vba.glade:345 src/gtk/vba.glade:689 src/gtk/vba.glade:1094 ! msgid "_Automatic" ! msgstr "_Automatique" ! ! #: src/gtk/vba.glade:354 ! msgid "_0" ! msgstr "_0" ! ! #: src/gtk/vba.glade:364 src/gtk/vba.glade:1432 ! msgid "_1" ! msgstr "_1" ! ! #: src/gtk/vba.glade:374 src/gtk/vba.glade:1441 ! msgid "_2" ! msgstr "_2" ! ! #: src/gtk/vba.glade:384 src/gtk/vba.glade:1451 ! msgid "_3" ! msgstr "_3" ! ! #: src/gtk/vba.glade:394 src/gtk/vba.glade:1461 ! msgid "_4" ! msgstr "_4" ! ! #: src/gtk/vba.glade:404 ! msgid "_5" ! msgstr "_5" ! ! #: src/gtk/vba.glade:414 ! msgid "_6" ! msgstr "_6" ! ! #: src/gtk/vba.glade:424 ! msgid "_7" ! msgstr "_7" ! ! #: src/gtk/vba.glade:434 ! msgid "_8" ! msgstr "_8" ! ! #: src/gtk/vba.glade:444 ! msgid "_9" ! msgstr "_9" ! ! #: src/gtk/vba.glade:458 msgid "_Video" msgstr "_Vidéo" ! #: src/gtk/vba.glade:467 msgid "_1x" msgstr "_1x" ! #: src/gtk/vba.glade:476 msgid "_2x" msgstr "_2x" ! #: src/gtk/vba.glade:486 msgid "_3x" msgstr "_3x" ! #: src/gtk/vba.glade:496 msgid "_4x" msgstr "_4x" ! #: src/gtk/vba.glade:506 ! msgid "_5x" ! msgstr "_5x" ! ! #: src/gtk/vba.glade:516 ! msgid "_6x" ! msgstr "_6x" ! ! #: src/gtk/vba.glade:532 ! msgid "_Layers" ! msgstr "" ! ! #: src/gtk/vba.glade:541 ! msgid "BG0" ! msgstr "BG0" ! ! #: src/gtk/vba.glade:551 ! msgid "BG1" ! msgstr "BG1" ! ! #: src/gtk/vba.glade:561 ! msgid "BG2" ! msgstr "BG2" ! ! #: src/gtk/vba.glade:571 ! msgid "BG3" ! msgstr "BG3" ! ! #: src/gtk/vba.glade:581 ! msgid "OBJ" ! msgstr "OBJ" ! ! #: src/gtk/vba.glade:591 ! msgid "WIN0" ! msgstr "WIN0" ! ! #: src/gtk/vba.glade:601 ! msgid "WIN1" ! msgstr "WIN1" ! ! #: src/gtk/vba.glade:611 ! msgid "OBJWIN" ! msgstr "OBJWIN" ! ! #: src/gtk/vba.glade:629 ! msgid "_Emulator" ! msgstr "_Ãmulateur" ! ! #: src/gtk/vba.glade:638 ! msgid "Show speed" ! msgstr "Affichage de la vitesse" ! ! #: src/gtk/vba.glade:647 src/gtk/vba.glade:738 ! msgid "None" ! msgstr "Aucun" ! ! #: src/gtk/vba.glade:656 ! msgid "Percentage" ! msgstr "Pourcentage" ! ! #: src/gtk/vba.glade:666 ! msgid "Detailed" ! msgstr "Détaillé" ! ! #: src/gtk/vba.glade:680 ! msgid "Save type" ! msgstr "Type de sauvegarde" ! ! #: src/gtk/vba.glade:698 ! msgid "EEPROM" ! msgstr "EEPROM" ! ! #: src/gtk/vba.glade:708 ! msgid "SRAM" ! msgstr "SRAM" ! ! #: src/gtk/vba.glade:718 ! msgid "Flash" ! msgstr "Flash" ! ! #: src/gtk/vba.glade:728 ! msgid "EEPROM+Sensor" ! msgstr "EEPROM+Sensor" ! ! #: src/gtk/vba.glade:754 ! msgid "Flash 64K" ! msgstr "Flash 64K" ! ! #: src/gtk/vba.glade:763 ! msgid "Flash 128K" ! msgstr "Flash 128K" ! ! #: src/gtk/vba.glade:777 ! msgid "_Use BIOS file" ! msgstr "_Utiliser un fichier BIOS" ! ! #: src/gtk/vba.glade:786 ! msgid "_Select BIOS file..." ! msgstr "_Sélectionner le fichier BIOS..." ! ! #: src/gtk/vba.glade:798 ! msgid "_Sound" ! msgstr "_Son" ! ! #: src/gtk/vba.glade:807 ! msgid "O_ff" ! msgstr "" ! ! #: src/gtk/vba.glade:816 ! msgid "_Mute" ! msgstr "_Muet" ! ! #: src/gtk/vba.glade:826 ! msgid "_On" ! msgstr "" ! ! #: src/gtk/vba.glade:842 ! msgid "Use old synchronization" ! msgstr "Utiliser l'ancienne synchronisation" ! ! #: src/gtk/vba.glade:857 ! msgid "Echo" ! msgstr "Ãcho" ! ! #: src/gtk/vba.glade:866 ! msgid "Low pass filter" ! msgstr "" ! ! #: src/gtk/vba.glade:875 ! msgid "Reverse stereo" ! msgstr "" ! ! #: src/gtk/vba.glade:890 ! msgid "Channel _1" ! msgstr "" ! ! #: src/gtk/vba.glade:899 ! msgid "Channel _2" ! msgstr "" ! ! #: src/gtk/vba.glade:908 ! msgid "Channel _3" ! msgstr "" ! ! #: src/gtk/vba.glade:917 ! msgid "Channel _4" ! msgstr "" ! ! #: src/gtk/vba.glade:926 ! msgid "Channel _A" ! msgstr "" ! ! #: src/gtk/vba.glade:935 ! msgid "Channel _B" ! msgstr "" ! ! #: src/gtk/vba.glade:950 ! msgid "11 _Khz" ! msgstr "11 _Khz" ! ! #: src/gtk/vba.glade:959 ! msgid "22 K_hz" ! msgstr "22 K_hz" ! ! #: src/gtk/vba.glade:969 ! msgid "44 Kh_z" ! msgstr "44 Kh_z" ! ! #: src/gtk/vba.glade:985 ! msgid "_Volume" ! msgstr "_Volume" ! ! #: src/gtk/vba.glade:1033 ! msgid "300%" ! msgstr "300%" ! ! #: src/gtk/vba.glade:1043 ! msgid "400%" ! msgstr "400%" ! ! #: src/gtk/vba.glade:1061 ! msgid "_Gameboy" ! msgstr "_Gameboy" ! ! #: src/gtk/vba.glade:1070 ! msgid "_Border" ! msgstr "" ! ! #: src/gtk/vba.glade:1079 ! msgid "_Printer" ! msgstr "" ! ! #: src/gtk/vba.glade:1103 ! msgid "_GBA" ! msgstr "_GBA" ! ! #: src/gtk/vba.glade:1113 ! msgid "_CGB/GBC" ! msgstr "_CGB/GBC" ! ! #: src/gtk/vba.glade:1123 ! msgid "_SGB" ! msgstr "_SGB" ! ! #: src/gtk/vba.glade:1133 ! msgid "SGB_2" ! msgstr "SGB_2" ! ! #: src/gtk/vba.glade:1143 ! msgid "G_B" ! msgstr "G_B" ! ! #: src/gtk/vba.glade:1157 ! msgid "F_ilter" ! msgstr "_Filtre" ! ! #: src/gtk/vba.glade:1166 ! msgid "Interframe _blending" ! msgstr "" ! ! #: src/gtk/vba.glade:1175 src/gtk/vba.glade:1214 ! msgid "_None" ! msgstr "Aucu_n" ! ! #: src/gtk/vba.glade:1184 ! msgid "_Smart" ! msgstr "" ! ! #: src/gtk/vba.glade:1194 src/gtk/vba.glade:1273 ! msgid "_Motion Blur" ! msgstr "" ! ! #: src/gtk/vba.glade:1223 ! msgid "_TV Mode" ! msgstr "" ! ! #: src/gtk/vba.glade:1233 ! msgid "_2xSaI" ! msgstr "" ! ! #: src/gtk/vba.glade:1243 ! msgid "_Super 2xSaI" ! msgstr "" ! ! #: src/gtk/vba.glade:1253 ! msgid "Super _Eagle" ! msgstr "" ! ! #: src/gtk/vba.glade:1263 ! msgid "_Pixelate" ! msgstr "" ! ! #: src/gtk/vba.glade:1283 ! msgid "_AdvanceMAME 2x" ! msgstr "" ! ! #: src/gtk/vba.glade:1293 ! msgid "S_imple 2x" ! msgstr "" ! ! #: src/gtk/vba.glade:1303 ! msgid "Bilinea_r" ! msgstr "" ! ! #: src/gtk/vba.glade:1313 ! msgid "Bilinear Pl_us" ! msgstr "" ! ! #: src/gtk/vba.glade:1323 ! msgid "S_canlines" ! msgstr "" ! ! #: src/gtk/vba.glade:1333 ! msgid "h_q2x" ! msgstr "" ! ! #: src/gtk/vba.glade:1343 ! msgid "_lq2x" ! msgstr "" ! ! #: src/gtk/vba.glade:1359 ! msgid "_Disable MMX" ! msgstr "_Désactiver MMX" ! ! #: src/gtk/vba.glade:1372 ! msgid "_Joypad" ! msgstr "" ! ! #: src/gtk/vba.glade:1381 ! msgid "_Configure" ! msgstr "_Configurer" ! ! #: src/gtk/vba.glade:1390 ! msgid "_1..." ! msgstr "_1..." ! ! #: src/gtk/vba.glade:1398 ! msgid "_2..." ! msgstr "_2..." ! ! #: src/gtk/vba.glade:1406 ! msgid "_3..." ! msgstr "_3..." ! ! #: src/gtk/vba.glade:1414 ! msgid "_4..." ! msgstr "_4..." ! ! #: src/gtk/vba.glade:1477 ! msgid "_Motion configure..." ! msgstr "" ! ! #: src/gtk/vba.glade:1491 ! msgid "_Autofire" ! msgstr "" ! ! #: src/gtk/vba.glade:1500 ! msgid "_A" ! msgstr "_A" ! ! #: src/gtk/vba.glade:1510 ! msgid "_B" ! msgstr "_B" ! ! #: src/gtk/vba.glade:1520 ! msgid "_L" ! msgstr "_L" ! ! #: src/gtk/vba.glade:1530 ! msgid "_R" ! msgstr "_R" ! ! #: src/gtk/vba.glade:1552 ! msgid "_Tools" ! msgstr "Ou_tils" ! ! #: src/gtk/vba.glade:1561 ! msgid "_GDB" ! msgstr "_GDB" ! ! #: src/gtk/vba.glade:1570 ! msgid "_Wait for connection..." ! msgstr "" ! ! #: src/gtk/vba.glade:1578 ! msgid "_Load and wait..." ! msgstr "" ! ! #: src/gtk/vba.glade:1586 ! msgid "_Break into GDB" ! msgstr "" ! ! #: src/gtk/vba.glade:1594 ! msgid "_Disconnect" ! msgstr "" ! ! #: src/gtk/vba.glade:1606 ! msgid "_Cheats" ! msgstr "" ! ! #: src/gtk/vba.glade:1618 msgid "_Help" msgstr "_Aide" ! #: src/gtk/vba.glade:1627 msgid "_About" msgstr "à _propos" ! #: src/gtk/vba.glade:1668 msgid "About VBA" msgstr "à propos de VBA" ! #: src/gtk/vba.glade:1733 msgid "An emulator for Gameboy⢠and GameboyAdvanceâ¢." msgstr "Ãmulateur pour Gameboy⢠et GameboyAdvanceâ¢." ! #: src/gtk/vba.glade:1755 msgid "<small>Copyright © 1999-2004 Forgotten</small>" msgstr "<small>Copyright © 1999-2004 Forgotten</small>" ! #: src/gtk/window.cpp:506 #, c-format msgid "Unknown file type %s" msgstr "Type de fichier inconnu %s" ! #: src/gtk/window.cpp:579 #, c-format msgid "Failed to load file %s" msgstr "Le chargement du fichier %s a échoué" ! #: src/gtk/window.cpp:607 msgid "Loaded battery" msgstr "Sauvegarde chargée" ! #: src/gtk/window.cpp:618 msgid "Saved battery" msgstr "Sauvegarde effectuée" ! #: src/gtk/window.cpp:685 msgid "Open a ROM" msgstr "Ouvrir une ROM" Index: vba-1.7.2.pot =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/po/vba-1.7.2.pot,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** vba-1.7.2.pot 29 Mar 2004 22:08:38 -0000 1.1 --- vba-1.7.2.pot 2 Apr 2004 01:22:17 -0000 1.2 *************** *** 9,13 **** "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-03-29 19:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" --- 9,13 ---- "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: undefined\n" ! "POT-Creation-Date: 2004-04-02 03:28+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" *************** *** 25,99 **** msgstr "" ! #: src/gtk/vba.glade:52 msgid "_Pause" msgstr "" ! #: src/gtk/vba.glade:61 msgid "_Reset" msgstr "" ! #: src/gtk/vba.glade:107 ! msgid "_Video" msgstr "" ! #: src/gtk/vba.glade:116 ! msgid "_Zoom" msgstr "" ! #: src/gtk/vba.glade:125 msgid "_1x" msgstr "" ! #: src/gtk/vba.glade:134 msgid "_2x" msgstr "" ! #: src/gtk/vba.glade:144 msgid "_3x" msgstr "" ! #: src/gtk/vba.glade:154 msgid "_4x" msgstr "" ! #: src/gtk/vba.glade:172 msgid "_Help" msgstr "" ! #: src/gtk/vba.glade:181 msgid "_About" msgstr "" ! #: src/gtk/vba.glade:222 msgid "About VBA" msgstr "" ! #: src/gtk/vba.glade:287 msgid "An emulator for Gameboy⢠and GameboyAdvanceâ¢." msgstr "" ! #: src/gtk/vba.glade:309 msgid "<small>Copyright © 1999-2004 Forgotten</small>" msgstr "" ! #: src/gtk/window.cpp:245 #, c-format msgid "Unknown file type %s" msgstr "" ! #: src/gtk/window.cpp:324 #, c-format msgid "Failed to load file %s" msgstr "" ! #: src/gtk/window.cpp:352 msgid "Loaded battery" msgstr "" ! #: src/gtk/window.cpp:363 msgid "Saved battery" msgstr "" ! #: src/gtk/window.cpp:397 msgid "Open a ROM" msgstr "" --- 25,587 ---- msgstr "" ! #: src/gtk/vba.glade:44 ! msgid "_Open..." ! msgstr "" ! ! #: src/gtk/vba.glade:71 ! msgid "_Load..." ! msgstr "" ! ! #: src/gtk/vba.glade:80 ! msgid "_Save..." ! msgstr "" ! ! #: src/gtk/vba.glade:89 ! msgid "Loa_d game" ! msgstr "" ! ! #: src/gtk/vba.glade:97 ! msgid "S_ave game" ! msgstr "" ! ! #: src/gtk/vba.glade:111 msgid "_Pause" msgstr "" ! #: src/gtk/vba.glade:121 msgid "_Reset" msgstr "" ! #: src/gtk/vba.glade:136 ! msgid "Rece_nt" msgstr "" ! #: src/gtk/vba.glade:150 ! msgid "_Import" msgstr "" ! #: src/gtk/vba.glade:158 ! msgid "E_xport" ! msgstr "" ! ! #: src/gtk/vba.glade:172 ! msgid "Screen capt_ure..." ! msgstr "" ! ! #: src/gtk/vba.glade:180 ! msgid "RO_M information..." ! msgstr "" ! ! #: src/gtk/vba.glade:194 ! msgid "_Close" ! msgstr "" ! ! #: src/gtk/vba.glade:214 ! msgid "_Exit" ! msgstr "" ! ! #: src/gtk/vba.glade:239 ! msgid "_Options" ! msgstr "" ! ! #: src/gtk/vba.glade:248 ! msgid "_Frameskip" ! msgstr "" ! ! #: src/gtk/vba.glade:257 ! msgid "_Throttle" ! msgstr "" ! ! #: src/gtk/vba.glade:266 ! msgid "_No throttle" ! msgstr "" ! ! #: src/gtk/vba.glade:275 src/gtk/vba.glade:994 ! msgid "25%" ! msgstr "" ! ! #: src/gtk/vba.glade:285 src/gtk/vba.glade:1003 ! msgid "50%" ! msgstr "" ! ! #: src/gtk/vba.glade:295 src/gtk/vba.glade:1013 ! msgid "100%" ! msgstr "" ! ! #: src/gtk/vba.glade:305 ! msgid "150%" ! msgstr "" ! ! #: src/gtk/vba.glade:315 src/gtk/vba.glade:1023 ! msgid "200%" ! msgstr "" ! ! #: src/gtk/vba.glade:325 ! msgid "_Other..." ! msgstr "" ! ! #: src/gtk/vba.glade:345 src/gtk/vba.glade:689 src/gtk/vba.glade:1094 ! msgid "_Automatic" ! msgstr "" ! ! #: src/gtk/vba.glade:354 ! msgid "_0" ! msgstr "" ! ! #: src/gtk/vba.glade:364 src/gtk/vba.glade:1432 ! msgid "_1" ! msgstr "" ! ! #: src/gtk/vba.glade:374 src/gtk/vba.glade:1441 ! msgid "_2" ! msgstr "" ! ! #: src/gtk/vba.glade:384 src/gtk/vba.glade:1451 ! msgid "_3" ! msgstr "" ! ! #: src/gtk/vba.glade:394 src/gtk/vba.glade:1461 ! msgid "_4" ! msgstr "" ! ! #: src/gtk/vba.glade:404 ! msgid "_5" ! msgstr "" ! ! #: src/gtk/vba.glade:414 ! msgid "_6" ! msgstr "" ! ! #: src/gtk/vba.glade:424 ! msgid "_7" ! msgstr "" ! ! #: src/gtk/vba.glade:434 ! msgid "_8" ! msgstr "" ! ! #: src/gtk/vba.glade:444 ! msgid "_9" ! msgstr "" ! ! #: src/gtk/vba.glade:458 ! msgid "_Video" ! msgstr "" ! ! #: src/gtk/vba.glade:467 msgid "_1x" msgstr "" ! #: src/gtk/vba.glade:476 msgid "_2x" msgstr "" ! #: src/gtk/vba.glade:486 msgid "_3x" msgstr "" ! #: src/gtk/vba.glade:496 msgid "_4x" msgstr "" ! #: src/gtk/vba.glade:506 ! msgid "_5x" ! msgstr "" ! ! #: src/gtk/vba.glade:516 ! msgid "_6x" ! msgstr "" ! ! #: src/gtk/vba.glade:532 ! msgid "_Layers" ! msgstr "" ! ! #: src/gtk/vba.glade:541 ! msgid "BG0" ! msgstr "" ! ! #: src/gtk/vba.glade:551 ! msgid "BG1" ! msgstr "" ! ! #: src/gtk/vba.glade:561 ! msgid "BG2" ! msgstr "" ! ! #: src/gtk/vba.glade:571 ! msgid "BG3" ! msgstr "" ! ! #: src/gtk/vba.glade:581 ! msgid "OBJ" ! msgstr "" ! ! #: src/gtk/vba.glade:591 ! msgid "WIN0" ! msgstr "" ! ! #: src/gtk/vba.glade:601 ! msgid "WIN1" ! msgstr "" ! ! #: src/gtk/vba.glade:611 ! msgid "OBJWIN" ! msgstr "" ! ! #: src/gtk/vba.glade:629 ! msgid "_Emulator" ! msgstr "" ! ! #: src/gtk/vba.glade:638 ! msgid "Show speed" ! msgstr "" ! ! #: src/gtk/vba.glade:647 src/gtk/vba.glade:738 ! msgid "None" ! msgstr "" ! ! #: src/gtk/vba.glade:656 ! msgid "Percentage" ! msgstr "" ! ! #: src/gtk/vba.glade:666 ! msgid "Detailed" ! msgstr "" ! ! #: src/gtk/vba.glade:680 ! msgid "Save type" ! msgstr "" ! ! #: src/gtk/vba.glade:698 ! msgid "EEPROM" ! msgstr "" ! ! #: src/gtk/vba.glade:708 ! msgid "SRAM" ! msgstr "" ! ! #: src/gtk/vba.glade:718 ! msgid "Flash" ! msgstr "" ! ! #: src/gtk/vba.glade:728 ! msgid "EEPROM+Sensor" ! msgstr "" ! ! #: src/gtk/vba.glade:754 ! msgid "Flash 64K" ! msgstr "" ! ! #: src/gtk/vba.glade:763 ! msgid "Flash 128K" ! msgstr "" ! ! #: src/gtk/vba.glade:777 ! msgid "_Use BIOS file" ! msgstr "" ! ! #: src/gtk/vba.glade:786 ! msgid "_Select BIOS file..." ! msgstr "" ! ! #: src/gtk/vba.glade:798 ! msgid "_Sound" ! msgstr "" ! ! #: src/gtk/vba.glade:807 ! msgid "O_ff" ! msgstr "" ! ! #: src/gtk/vba.glade:816 ! msgid "_Mute" ! msgstr "" ! ! #: src/gtk/vba.glade:826 ! msgid "_On" ! msgstr "" ! ! #: src/gtk/vba.glade:842 ! msgid "Use old synchronization" ! msgstr "" ! ! #: src/gtk/vba.glade:857 ! msgid "Echo" ! msgstr "" ! ! #: src/gtk/vba.glade:866 ! msgid "Low pass filter" ! msgstr "" ! ! #: src/gtk/vba.glade:875 ! msgid "Reverse stereo" ! msgstr "" ! ! #: src/gtk/vba.glade:890 ! msgid "Channel _1" ! msgstr "" ! ! #: src/gtk/vba.glade:899 ! msgid "Channel _2" ! msgstr "" ! ! #: src/gtk/vba.glade:908 ! msgid "Channel _3" ! msgstr "" ! ! #: src/gtk/vba.glade:917 ! msgid "Channel _4" ! msgstr "" ! ! #: src/gtk/vba.glade:926 ! msgid "Channel _A" ! msgstr "" ! ! #: src/gtk/vba.glade:935 ! msgid "Channel _B" ! msgstr "" ! ! #: src/gtk/vba.glade:950 ! msgid "11 _Khz" ! msgstr "" ! ! #: src/gtk/vba.glade:959 ! msgid "22 K_hz" ! msgstr "" ! ! #: src/gtk/vba.glade:969 ! msgid "44 Kh_z" ! msgstr "" ! ! #: src/gtk/vba.glade:985 ! msgid "_Volume" ! msgstr "" ! ! #: src/gtk/vba.glade:1033 ! msgid "300%" ! msgstr "" ! ! #: src/gtk/vba.glade:1043 ! msgid "400%" ! msgstr "" ! ! #: src/gtk/vba.glade:1061 ! msgid "_Gameboy" ! msgstr "" ! ! #: src/gtk/vba.glade:1070 ! msgid "_Border" ! msgstr "" ! ! #: src/gtk/vba.glade:1079 ! msgid "_Printer" ! msgstr "" ! ! #: src/gtk/vba.glade:1103 ! msgid "_GBA" ! msgstr "" ! ! #: src/gtk/vba.glade:1113 ! msgid "_CGB/GBC" ! msgstr "" ! ! #: src/gtk/vba.glade:1123 ! msgid "_SGB" ! msgstr "" ! ! #: src/gtk/vba.glade:1133 ! msgid "SGB_2" ! msgstr "" ! ! #: src/gtk/vba.glade:1143 ! msgid "G_B" ! msgstr "" ! ! #: src/gtk/vba.glade:1157 ! msgid "F_ilter" ! msgstr "" ! ! #: src/gtk/vba.glade:1166 ! msgid "Interframe _blending" ! msgstr "" ! ! #: src/gtk/vba.glade:1175 src/gtk/vba.glade:1214 ! msgid "_None" ! msgstr "" ! ! #: src/gtk/vba.glade:1184 ! msgid "_Smart" ! msgstr "" ! ! #: src/gtk/vba.glade:1194 src/gtk/vba.glade:1273 ! msgid "_Motion Blur" ! msgstr "" ! ! #: src/gtk/vba.glade:1223 ! msgid "_TV Mode" ! msgstr "" ! ! #: src/gtk/vba.glade:1233 ! msgid "_2xSaI" ! msgstr "" ! ! #: src/gtk/vba.glade:1243 ! msgid "_Super 2xSaI" ! msgstr "" ! ! #: src/gtk/vba.glade:1253 ! msgid "Super _Eagle" ! msgstr "" ! ! #: src/gtk/vba.glade:1263 ! msgid "_Pixelate" ! msgstr "" ! ! #: src/gtk/vba.glade:1283 ! msgid "_AdvanceMAME 2x" ! msgstr "" ! ! #: src/gtk/vba.glade:1293 ! msgid "S_imple 2x" ! msgstr "" ! ! #: src/gtk/vba.glade:1303 ! msgid "Bilinea_r" ! msgstr "" ! ! #: src/gtk/vba.glade:1313 ! msgid "Bilinear Pl_us" ! msgstr "" ! ! #: src/gtk/vba.glade:1323 ! msgid "S_canlines" ! msgstr "" ! ! #: src/gtk/vba.glade:1333 ! msgid "h_q2x" ! msgstr "" ! ! #: src/gtk/vba.glade:1343 ! msgid "_lq2x" ! msgstr "" ! ! #: src/gtk/vba.glade:1359 ! msgid "_Disable MMX" ! msgstr "" ! ! #: src/gtk/vba.glade:1372 ! msgid "_Joypad" ! msgstr "" ! ! #: src/gtk/vba.glade:1381 ! msgid "_Configure" ! msgstr "" ! ! #: src/gtk/vba.glade:1390 ! msgid "_1..." ! msgstr "" ! ! #: src/gtk/vba.glade:1398 ! msgid "_2..." ! msgstr "" ! ! #: src/gtk/vba.glade:1406 ! msgid "_3..." ! msgstr "" ! ! #: src/gtk/vba.glade:1414 ! msgid "_4..." ! msgstr "" ! ! #: src/gtk/vba.glade:1477 ! msgid "_Motion configure..." ! msgstr "" ! ! #: src/gtk/vba.glade:1491 ! msgid "_Autofire" ! msgstr "" ! ! #: src/gtk/vba.glade:1500 ! msgid "_A" ! msgstr "" ! ! #: src/gtk/vba.glade:1510 ! msgid "_B" ! msgstr "" ! ! #: src/gtk/vba.glade:1520 ! msgid "_L" ! msgstr "" ! ! #: src/gtk/vba.glade:1530 ! msgid "_R" ! msgstr "" ! ! #: src/gtk/vba.glade:1552 ! msgid "_Tools" ! msgstr "" ! ! #: src/gtk/vba.glade:1561 ! msgid "_GDB" ! msgstr "" ! ! #: src/gtk/vba.glade:1570 ! msgid "_Wait for connection..." ! msgstr "" ! ! #: src/gtk/vba.glade:1578 ! msgid "_Load and wait..." ! msgstr "" ! ! #: src/gtk/vba.glade:1586 ! msgid "_Break into GDB" ! msgstr "" ! ! #: src/gtk/vba.glade:1594 ! msgid "_Disconnect" ! msgstr "" ! ! #: src/gtk/vba.glade:1606 ! msgid "_Cheats" ! msgstr "" ! ! #: src/gtk/vba.glade:1618 msgid "_Help" msgstr "" ! #: src/gtk/vba.glade:1627 msgid "_About" msgstr "" ! #: src/gtk/vba.glade:1668 msgid "About VBA" msgstr "" ! #: src/gtk/vba.glade:1733 msgid "An emulator for Gameboy⢠and GameboyAdvanceâ¢." msgstr "" ! #: src/gtk/vba.glade:1755 msgid "<small>Copyright © 1999-2004 Forgotten</small>" msgstr "" ! #: src/gtk/window.cpp:506 #, c-format msgid "Unknown file type %s" msgstr "" ! #: src/gtk/window.cpp:579 #, c-format msgid "Failed to load file %s" msgstr "" ! #: src/gtk/window.cpp:607 msgid "Loaded battery" msgstr "" ! #: src/gtk/window.cpp:618 msgid "Saved battery" msgstr "" ! #: src/gtk/window.cpp:685 msgid "Open a ROM" msgstr "" Index: fr.gmo =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/po/fr.gmo,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsE3Fw2a and /tmp/cvshSjKy9 differ |
From: S?bastien G. <kx...@us...> - 2004-03-29 22:22:31
|
Update of /cvsroot/vba/VisualBoyAdvance In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4206 Added Files: ABOUT-NLS Log Message: GTK+ frontend draft added. --- NEW FILE: ABOUT-NLS --- Notes on the Free Translation Project ************************************* Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work at translations should contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. Quick configuration advice ========================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. INSTALL Matters =============== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the GNU `gettext' own library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will respectively bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might be not what is desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages have usually many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. Using This Package ================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your country by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. Translating Teams ================= For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-...@li...', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `tra...@ir...' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skill are praised more than programming skill, here. Available Packages ================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of January 2004. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs da de el en en_GB eo es +----------------------------------------------------+ a2ps | [] [] [] [] | aegis | () | ant-phone | () | anubis | | ap-utils | | aspell | [] | bash | [] [] [] [] | batchelor | | bfd | [] [] | binutils | [] [] | bison | [] [] [] | bluez-pin | [] [] [] | clisp | | clisp | [] [] [] | console-tools | [] [] | coreutils | [] [] [] [] | cpio | [] [] [] | darkstat | [] () [] | diffutils | [] [] [] [] [] [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] [] | error | [] [] [] [] [] | fetchmail | [] () [] [] [] [] | fileutils | [] [] [] | findutils | [] [] [] [] [] [] [] | flex | [] [] [] [] | fslint | | gas | [] | gawk | [] [] [] [] | gbiff | [] | gcal | [] | gcc | [] [] | gettext | [] [] [] [] [] | gettext-examples | [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] [] | gimp-print | [] [] [] [] [] | gliv | | glunarclock | [] [] | gnubiff | [] | gnucash | [] () [] [] | gnucash-glossary | [] () [] | gnupg | [] () [] [] [] [] | gpe-aerial | [] | gpe-beam | [] [] | gpe-calendar | [] [] | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | [] [] | gpe-edit | [] | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] [] | gphoto2 | [] [] [] [] | gprof | [] [] [] | gpsdrive | () () () | gramadoir | [] | grep | [] [] [] [] [] [] | gretl | [] | gtick | [] () | hello | [] [] [] [] [] [] | id-utils | [] [] | indent | [] [] [] [] | iso_3166 | [] [] [] [] [] [] [] [] [] [] | iso_3166_1 | [] [] [] [] [] [] | iso_3166_2 | | iso_3166_3 | [] | iso_4217 | [] [] [] [] | iso_639 | | jpilot | [] [] [] | jtag | | jwhois | [] | kbd | [] [] [] [] [] | latrine | () | ld | [] [] | libc | [] [] [] [] [] [] | libgpewidget | [] [] | libiconv | [] [] [] [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lingoteach_lessons | () () | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] | man-db | [] () [] [] () | minicom | [] [] [] | mysecretdiary | [] [] [] | nano | [] () [] [] [] | nano_1_0 | [] () [] [] [] | opcodes | [] | parted | [] [] [] [] [] | ptx | [] [] [] [] [] | python | | radius | [] | recode | [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] [] [] [] | sed | [] [] [] [] [] [] | sh-utils | [] [] [] | shared-mime-info | | sharutils | [] [] [] [] [] [] | silky | () | skencil | [] () [] | sketch | [] () [] | soundtracker | [] [] [] | sp | [] | tar | [] [] [] [] | texinfo | [] [] [] | textutils | [] [] [] [] | tin | () () | tp-robot | | tuxpaint | [] [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] [] | vorbis-tools | [] [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] [] [] [] [] | xchat | [] [] [] [] | xfree86_xkb_xml | [] [] | xpad | [] | +----------------------------------------------------+ af am ar az be bg bs ca cs da de el en en_GB eo es 4 0 0 1 9 4 1 40 41 60 78 17 1 5 13 68 et eu fa fi fr ga gl he hr hu id is it ja ko lg +-------------------------------------------------+ a2ps | [] [] [] () () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] | aspell | [] [] | bash | [] [] | batchelor | [] [] | bfd | [] | binutils | [] [] | bison | [] [] [] [] | bluez-pin | [] [] [] [] [] | clisp | | clisp | [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] [] | darkstat | () [] [] [] | diffutils | [] [] [] [] [] [] [] | e2fsprogs | | enscript | [] [] | error | [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] [] | findutils | [] [] [] [] [] [] [] [] [] [] [] | flex | [] [] [] | fslint | [] | gas | [] | gawk | [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext | [] [] [] | gettext-examples | [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] [] | gimp-print | [] [] | gliv | () | glunarclock | [] [] [] [] | gnubiff | [] | gnucash | () [] | gnucash-glossary | [] | gnupg | [] [] [] [] [] [] [] | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] [] [] | gpe-clock | [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] [] | gpe-sketchbook | [] | gpe-su | [] | gpe-taskmanager | [] | gpe-timesheet | [] [] [] | gpe-today | [] [] | gpe-todo | [] [] | gphoto2 | [] [] [] | gprof | [] [] | gpsdrive | () () () | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] | gretl | [] [] | gtick | [] [] [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | indent | [] [] [] [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] [] | iso_3166_1 | [] [] [] [] [] | iso_3166_2 | | iso_3166_3 | | iso_4217 | [] [] [] [] [] [] | iso_639 | | jpilot | [] () | jtag | [] | jwhois | [] [] [] [] | kbd | [] | latrine | [] | ld | [] | libc | [] [] [] [] [] [] | libgpewidget | [] [] [] [] | libiconv | [] [] [] [] [] [] [] [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] | lingoteach_lessons | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | | make | [] [] [] [] [] [] | man-db | () () | minicom | [] [] [] [] | mysecretdiary | [] [] | nano | [] [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] | parted | [] [] [] | ptx | [] [] [] [] [] [] [] | python | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] | sed | [] [] [] [] [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] | shared-mime-info | [] [] [] | sharutils | [] [] [] [] [] | silky | () [] () () | skencil | [] | sketch | [] | soundtracker | [] [] | sp | [] () | tar | [] [] [] [] [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] [] [] [] | tin | [] () | tp-robot | [] | tuxpaint | [] [] [] [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] () [] | vorbis-tools | [] | wastesedge | () | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] | xchat | [] [] [] | xfree86_xkb_xml | [] [] | xpad | [] [] | +-------------------------------------------------+ et eu fa fi fr ga gl he hr hu id is it ja ko lg 22 2 1 26 106 28 24 8 10 41 33 1 26 33 12 0 lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru +-----------------------------------------------------+ a2ps | [] [] () () [] [] [] | aegis | () () () | ant-phone | [] [] | anubis | [] [] [] [] [] [] | ap-utils | [] () [] | aspell | [] | bash | [] [] [] | batchelor | [] | bfd | [] | binutils | [] | bison | [] [] [] [] [] | bluez-pin | [] [] [] | clisp | | clisp | [] | console-tools | [] | coreutils | [] [] | cpio | [] [] [] [] [] | darkstat | [] [] [] [] | diffutils | [] [] [] [] [] [] | e2fsprogs | [] | enscript | [] [] [] [] | error | [] [] [] | fetchmail | [] [] () [] | fileutils | [] [] [] | findutils | [] [] [] [] [] | flex | [] [] [] [] | fslint | [] [] | gas | | gawk | [] [] [] | gbiff | [] [] | gcal | | gcc | | gettext | [] [] [] | gettext-examples | [] [] [] | gettext-runtime | [] [] [] [] | gettext-tools | [] [] | gimp-print | [] | gliv | [] [] [] | glunarclock | [] [] [] [] | gnubiff | [] | gnucash | [] [] () [] | gnucash-glossary | [] [] | gnupg | [] | gpe-aerial | [] [] [] [] | gpe-beam | [] [] [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] [] | gpe-conf | [] [] [] [] | gpe-contacts | [] [] [] [] | gpe-edit | [] [] [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] [] | gpe-ownerinfo | [] [] [] [] | gpe-sketchbook | [] [] [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] | gprof | [] [] | gpsdrive | () () [] | gramadoir | () [] | grep | [] [] [] [] [] | gretl | | gtick | [] [] [] | hello | [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | indent | [] [] [] [] | iso_3166 | [] [] [] | iso_3166_1 | [] [] | iso_3166_2 | | iso_3166_3 | [] | iso_4217 | [] [] [] [] [] [] [] [] | iso_639 | [] | jpilot | () () | jtag | | jwhois | [] [] [] [] () | kbd | [] [] [] | latrine | [] | ld | | libc | [] [] [] [] | libgpewidget | [] [] [] | libiconv | [] [] [] [] [] | lifelines | | lilypond | | lingoteach | | lingoteach_lessons | | lynx | [] [] [] | m4 | [] [] [] [] [] | mailutils | [] [] [] | make | [] [] [] [] | man-db | [] | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] [] [] [] [] | nano_1_0 | [] [] [] [] [] [] | opcodes | [] [] | parted | [] [] [] [] | ptx | [] [] [] [] [] [] [] [] | python | | radius | [] [] | recode | [] [] [] [] | rpm | [] [] [] | screem | | scrollkeeper | [] [] [] [] [] | sed | [] [] [] | sh-utils | [] [] | shared-mime-info | [] [] | sharutils | [] [] | silky | () | skencil | [] [] | sketch | [] [] | soundtracker | | sp | | tar | [] [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] | tin | | tp-robot | [] | tuxpaint | [] [] [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] | vorbis-tools | [] [] [] | wastesedge | | wdiff | [] [] [] [] [] | wget | [] [] [] | xchat | [] [] [] | xfree86_xkb_xml | [] [] | xpad | [] [] | +-----------------------------------------------------+ lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru 1 2 0 3 12 0 10 69 6 7 1 40 26 36 76 63 sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu +-----------------------------------------------------+ a2ps | [] [] [] [] | 16 aegis | | 0 ant-phone | | 3 anubis | [] [] | 9 ap-utils | () | 3 aspell | | 4 bash | | 9 batchelor | | 3 bfd | [] [] | 6 binutils | [] [] [] | 8 bison | [] [] | 14 bluez-pin | [] [] [] | 14 clisp | | 0 clisp | | 5 console-tools | | 3 coreutils | [] [] [] [] | 16 cpio | [] [] | 14 darkstat | [] [] [] () () | 12 diffutils | [] [] [] | 23 e2fsprogs | [] [] | 6 enscript | [] [] | 12 error | [] [] [] | 15 fetchmail | [] [] | 11 fileutils | [] [] [] [] [] | 17 findutils | [] [] [] [] [] [] | 29 flex | [] [] | 13 fslint | | 3 gas | [] | 3 gawk | [] [] | 12 gbiff | | 4 gcal | [] [] | 4 gcc | [] | 4 gettext | [] [] [] [] [] | 16 gettext-examples | [] [] [] [] [] | 14 gettext-runtime | [] [] [] [] [] [] [] [] | 22 gettext-tools | [] [] [] [] [] [] | 14 gimp-print | [] [] | 10 gliv | | 3 glunarclock | [] [] [] | 13 gnubiff | | 3 gnucash | [] [] | 9 gnucash-glossary | [] [] [] | 8 gnupg | [] [] [] [] | 17 gpe-aerial | [] | 7 gpe-beam | [] | 8 gpe-calendar | [] [] [] [] | 13 gpe-clock | [] [] [] | 10 gpe-conf | [] [] | 9 gpe-contacts | [] [] [] | 11 gpe-edit | [] [] [] [] [] | 12 gpe-go | | 5 gpe-login | [] [] [] [] [] | 13 gpe-ownerinfo | [] [] [] [] | 13 gpe-sketchbook | [] [] | 9 gpe-su | [] [] [] | 10 gpe-taskmanager | [] [] [] | 10 gpe-timesheet | [] [] [] [] | 12 gpe-today | [] [] [] [] [] | 13 gpe-todo | [] [] [] [] | 12 gphoto2 | [] [] [] | 11 gprof | [] [] | 9 gpsdrive | [] [] | 3 gramadoir | [] | 5 grep | [] [] [] [] | 26 gretl | | 3 gtick | | 7 hello | [] [] [] [] [] | 34 id-utils | [] [] | 12 indent | [] [] [] [] | 21 iso_3166 | [] [] [] [] [] [] [] | 27 iso_3166_1 | [] [] [] | 16 iso_3166_2 | | 0 iso_3166_3 | | 2 iso_4217 | [] [] [] [] [] [] | 24 iso_639 | | 1 jpilot | [] [] [] [] [] | 9 jtag | [] | 2 jwhois | () [] [] | 11 kbd | [] [] | 11 latrine | | 2 ld | [] [] | 5 libc | [] [] [] [] | 20 libgpewidget | [] [] [] [] | 13 libiconv | [] [] [] [] [] [] [] [] | 27 lifelines | [] | 2 lilypond | [] | 3 lingoteach | | 2 lingoteach_lessons | () | 0 lynx | [] [] [] | 14 m4 | [] [] | 15 mailutils | | 5 make | [] [] [] | 16 man-db | [] | 5 minicom | | 11 mysecretdiary | [] [] | 10 nano | [] [] [] [] | 17 nano_1_0 | [] [] [] | 17 opcodes | [] [] | 6 parted | [] [] [] | 15 ptx | [] [] | 22 python | | 0 radius | | 4 recode | [] [] [] | 20 rpm | [] [] | 9 screem | [] [] | 2 scrollkeeper | [] [] [] | 15 sed | [] [] [] [] [] [] | 24 sh-utils | [] [] | 14 shared-mime-info | [] [] | 7 sharutils | [] [] [] [] | 17 silky | () | 3 skencil | [] | 6 sketch | [] | 6 soundtracker | [] [] | 7 sp | [] | 3 tar | [] [] [] [] [] | 24 texinfo | [] [] [] | 14 textutils | [] [] [] [] | 16 tin | | 1 tp-robot | | 2 tuxpaint | [] [] [] [] [] | 29 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] | 15 vorbis-tools | | 8 wastesedge | | 0 wdiff | [] [] [] | 18 wget | [] [] [] [] [] [] [] [] | 24 xchat | [] [] [] [] [] | 15 xfree86_xkb_xml | [] [] [] [] [] | 11 xpad | | 5 +-----------------------------------------------------+ 63 teams sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu 131 domains 47 19 28 83 0 0 59 13 1 1 11 0 22 22 0 1373 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If January 2004 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. Using `gettext' in new packages =============================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `tra...@ir...' to make the `.pot' files available to the translation teams. |
From: S?bastien G. <kx...@us...> - 2004-03-29 22:21:46
|
Update of /cvsroot/vba/VisualBoyAdvance/src/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4018 Added Files: screenarea.h Log Message: GTK+ frontend draft added. --- NEW FILE: screenarea.h --- // -*- C++ -*- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten // Copyright (C) 2004 Forgotten and the VBA 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 __VBA_SCREENAREA_H__ #define __VBA_SCREENAREA_H__ #include <gtkmm/drawingarea.h> #include "filters.h" namespace VBA { class ScreenArea : public Gtk::DrawingArea { public: ScreenArea(int _iWidth, int _iHeight, int _iScale = 1); virtual ~ScreenArea(); void vSetSize(int _iWidth, int _iHeight); void vSetScale(int _iScale); void vSetFilter2x(Filter2x _vFilter); void vDrawPixels(const u8 * _puiData); void vDrawColor(u32 _uiColor); // 0xRRGGBB protected: virtual bool on_expose_event(GdkEventExpose * _pstEvent); private: int m_iWidth; int m_iHeight; int m_iScale; int m_iAreaWidth; int m_iAreaHeight; int m_iRowStride; u32 * m_puiPixels; u8 * m_puiDelta; Filter2x m_vFilter2x; void vUpdateSize(); }; } // namespace VBA #endif // __VBA_SCREENAREA_H__ |
Update of /cvsroot/vba/VisualBoyAdvance In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3551 Modified Files: AUTHORS Makefile.am Makefile.in aclocal.m4 configure configure.in mkinstalldirs Added Files: VERSION compile config.rpath Log Message: GTK+ frontend draft added. Index: mkinstalldirs =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/mkinstalldirs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** mkinstalldirs 20 Oct 2002 13:03:12 -0000 1.1 --- mkinstalldirs 29 Mar 2004 22:08:37 -0000 1.2 *************** *** 5,10 **** # Public domain - # $Id$ - errstatus=0 dirmode="" --- 5,8 ---- *************** *** 15,30 **** # process command line arguments while test $# -gt 0 ; do ! case "${1}" in ! -h | --help | --h* ) # -h for help ! echo "${usage}" 1>&2; exit 0 ;; ! -m ) # -m PERM arg ! shift ! test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } ! dirmode="${1}" ! shift ;; ! -- ) shift; break ;; # stop option processing ! -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option ! * ) break ;; # first non-opt arg ! esac done --- 13,39 ---- # process command line arguments while test $# -gt 0 ; do ! case $1 in ! -h | --help | --h*) # -h for help ! echo "$usage" 1>&2 ! exit 0 ! ;; ! -m) # -m PERM arg ! shift ! test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } ! dirmode=$1 ! shift ! ;; ! --) # stop option processing ! shift ! break ! ;; ! -*) # unknown option ! echo "$usage" 1>&2 ! exit 1 ! ;; ! *) # first non-opt arg ! break ! ;; ! esac done *************** *** 39,94 **** case $# in ! 0) exit 0 ;; esac case $dirmode in ! '') ! if mkdir -p -- . 2>/dev/null; then ! echo "mkdir -p -- $*" ! exec mkdir -p -- "$@" ! fi ;; ! *) ! if mkdir -m "$dirmode" -p -- . 2>/dev/null; then ! echo "mkdir -m $dirmode -p -- $*" ! exec mkdir -m "$dirmode" -p -- "$@" ! fi ;; esac for file do ! set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` ! shift ! ! pathcomp= ! for d ! do ! pathcomp="$pathcomp$d" ! case "$pathcomp" in ! -* ) pathcomp=./$pathcomp ;; ! esac ! if test ! -d "$pathcomp"; then ! echo "mkdir $pathcomp" ! mkdir "$pathcomp" || lasterr=$? ! if test ! -d "$pathcomp"; then ! errstatus=$lasterr ! else ! if test ! -z "$dirmode"; then ! echo "chmod $dirmode $pathcomp" ! lasterr="" ! chmod "$dirmode" "$pathcomp" || lasterr=$? ! if test ! -z "$lasterr"; then ! errstatus=$lasterr ! fi ! fi ! fi ! fi ! pathcomp="$pathcomp/" ! done done --- 48,104 ---- case $# in ! 0) exit 0 ;; esac case $dirmode in ! '') ! if mkdir -p -- . 2>/dev/null; then ! echo "mkdir -p -- $*" ! exec mkdir -p -- "$@" ! fi ! ;; ! *) ! if mkdir -m "$dirmode" -p -- . 2>/dev/null; then ! echo "mkdir -m $dirmode -p -- $*" ! exec mkdir -m "$dirmode" -p -- "$@" ! fi ! ;; esac for file do ! set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` ! shift ! pathcomp= ! for d ! do ! pathcomp="$pathcomp$d" ! case $pathcomp in ! -*) pathcomp=./$pathcomp ;; ! esac ! if test ! -d "$pathcomp"; then ! echo "mkdir $pathcomp" ! mkdir "$pathcomp" || lasterr=$? ! if test ! -d "$pathcomp"; then ! errstatus=$lasterr ! else ! if test ! -z "$dirmode"; then ! echo "chmod $dirmode $pathcomp" ! lasterr="" ! chmod "$dirmode" "$pathcomp" || lasterr=$? ! if test ! -z "$lasterr"; then ! errstatus=$lasterr ! fi ! fi ! fi ! fi ! pathcomp="$pathcomp/" ! done done *************** *** 97,101 **** # Local Variables: # mode: shell-script ! # sh-indentation: 3 # End: # mkinstalldirs ends here --- 107,111 ---- # Local Variables: # mode: shell-script ! # sh-indentation: 2 # End: # mkinstalldirs ends here --- NEW FILE: config.rpath --- #! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2003 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit <go...@gn...>, 1996 # # 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 of the License, 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. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except M$VC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; mingw* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux*) case $CC in icc|ecc) wl='-Wl,' ;; ccc) wl='-Wl,' ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; sco3.2v5*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) wl='-Wl,' ;; sysv4*MP*) ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II <kc...@do...> reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris* | sysv5*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = yes; then # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi4*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then hardcode_direct=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10* | hpux11*) if test "$with_gnu_ld" = no; then case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=no ;; ia64*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=no # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; *) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; sco3.2v5*) ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4.2uw2*) hardcode_direct=yes hardcode_minus_L=no ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) ;; sysv5*) hardcode_libdir_flag_spec= ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. libname_spec='lib$name' case "$host_os" in aix3*) ;; aix4* | aix5*) ;; amigaos*) ;; beos*) ;; bsdi4*) ;; cygwin* | mingw* | pw32*) shrext=.dll ;; darwin* | rhapsody*) shrext=.dylib ;; dgux*) ;; freebsd1*) ;; freebsd*) ;; gnu*) ;; hpux9* | hpux10* | hpux11*) case "$host_cpu" in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac ;; irix5* | irix6* | nonstopux*) case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux*) ;; netbsd*) ;; newsos6) ;; nto-qnx) ;; openbsd*) ;; os2*) libname_spec='$name' shrext=.dll ;; osf3* | osf4* | osf5*) ;; sco3.2v5*) ;; solaris*) ;; sunos4*) ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ;; sysv4*MP*) ;; uts4*) ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF # How to pass a linker flag through the compiler. wl="$escaped_wl" # Static library suffix (normally "a"). libext="$libext" # Shared library suffix (normally "so"). shlibext="$shlibext" # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator="$hardcode_libdir_separator" # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the # resulting binary. hardcode_direct="$hardcode_direct" # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L="$hardcode_minus_L" EOF Index: configure =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/configure,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** configure 1 Feb 2004 15:02:38 -0000 1.20 --- configure 29 Mar 2004 22:08:37 -0000 1.21 *************** *** 1,8 **** #! /bin/sh # Guess values for system-dependent variables and create Makefiles. ! # Generated by GNU Autoconf 2.57. # ! # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 ! # Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. --- 1,7 ---- #! /bin/sh [...7357 lines suppressed...] sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } *************** *** 6806,6813 **** as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ! X"$as_dir" : 'X\(//\)[^/]' \| \ ! X"$as_dir" : 'X\(//\)$' \| \ ! X"$as_dir" : 'X\(/\)' \| \ ! . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } --- 10061,10068 ---- as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ! X"$as_dir" : 'X\(//\)[^/]' \| \ ! X"$as_dir" : 'X\(//\)$' \| \ ! X"$as_dir" : 'X\(/\)' \| \ ! . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } Index: configure.in =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/configure.in,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** configure.in 1 Feb 2004 15:02:38 -0000 1.19 --- configure.in 29 Mar 2004 22:08:37 -0000 1.20 *************** *** 1,3 **** --- 1,4 ---- dnl Process this file with autoconf to produce a configure script. + AC_INIT(src/armdis.h) *************** *** 5,41 **** AC_CANONICAL_TARGET - VBA_USE_C_CORE=yes - VBA_USE_MMX=no - case "$target" in ! i?86-*-*) ! VBA_USE_C_CORE=no ! VBA_USE_MMX=yes ! ;; esac ! AM_INIT_AUTOMAKE(VisualBoyAdvance, 1.7.1) AC_ARG_ENABLE(c-core, ! [ --enable-c-core enable C core (default is YES)], ! ac_cv_use_c_core=$enableval, ac_cv_use_c_core=$VBA_USE_C_CORE) ! AC_CACHE_CHECK(whether to enable C core, ac_cv_use_c_core, ac_cv_use_c_core=$VBA_USE_C_CORE) ! AC_ARG_ENABLE(dev, ! [ --enable-dev enable development features (default is YES)], ! ac_cv_use_dev=$withval, ac_cv_use_dev=yes) ! AC_CACHE_CHECK(whether to enable development features, ac_cv_use_dev, ac_cv_use_dev=no) AC_ARG_WITH(mmx, ! [ --with-mmx use MMX (default is NO)], ! ac_cv_use_mmx=$withval, ac_cv_use_mmx=$VBA_USE_MMX) ! AC_CACHE_CHECK(whether to use mmx, ac_cv_use_mmx, ac_cv_use_mmx=$VBA_USE_MMX) ! AC_ARG_WITH(profiling, ! [ --with-profiling enable profiling (default is YES)], ! ac_cv_use_prof=$withval, ac_cv_use_prof=yes) ! AC_CACHE_CHECK(whether to enable profiling, ac_cv_use_prof, ac_cv_use_prof=yes) - CCC="gcc c++ g++ CC cxx cc++ cl" dnl Checks for programs. AC_PROG_CC --- 6,53 ---- AC_CANONICAL_TARGET case "$target" in ! i?86-*-*) ! VBA_USE_C_CORE=no ! VBA_USE_MMX=yes ! ;; ! *) ! VBA_USE_C_CORE=yes ! VBA_USE_MMX=no ! ;; esac ! AM_INIT_AUTOMAKE(VisualBoyAdvance, 1.7.2) AC_ARG_ENABLE(c-core, ! AC_HELP_STRING([--enable-c-core],[enable C core (default is no on x86 targets)]), ! , enable_c_core=$VBA_USE_C_CORE) ! AC_ARG_ENABLE(profiling, ! AC_HELP_STRING([--enable-profiling],[enable profiling (default is yes)]), ! , enable_profiling=yes) AC_ARG_WITH(mmx, ! AC_HELP_STRING([--with-mmx],[use MMX (default is yes on x86 targets)]), ! , with_mmx=$VBA_USE_MMX) ! AC_ARG_ENABLE(sdl, ! AC_HELP_STRING([--enable-sdl],[build the SDL frontend (default is yes)]), ! , enable_sdl=yes) ! ! AC_ARG_ENABLE(gtk, ! AC_HELP_STRING([--enable-gtk],[build the GTK+ frontend (default is no)]), ! , enable_gtk=no) ! ! AC_ARG_ENABLE(dev, ! AC_HELP_STRING([--enable-dev],[enable development features (default is yes)]), ! , enable_dev=yes) ! ! dnl Internationalisation support. ! ALL_LINGUAS="fr" ! AM_GNU_GETTEXT(external) ! ! GETTEXT_PACKAGE=vba-1.7.2 ! AC_SUBST(GETTEXT_PACKAGE) dnl Checks for programs. AC_PROG_CC *************** *** 44,63 **** AC_PROG_CXX AC_PROG_RANLIB ! AC_CHECK_TOOL(NASM, nasm) ! ! dnl Check for SDL ! SDL_VERSION=1.2.2 ! AM_PATH_SDL($SDL_VERSION, ! :, ! AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) ! ) ! CFLAGS="$CFLAGS $SDL_CFLAGS" ! CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" ! LIBS="$LIBS $SDL_LIBS" dnl Checks for libraries. ! AC_CHECK_LIB(png, png_create_write_struct,,AC_MSG_ERROR(Cannot compile without libpng),[-lz]) AC_CHECK_LIB(pthread, pthread_yield) - AC_CHECK_LIB(z, gzopen,,AC_MSG_ERROR(Cannot compile without libz)) dnl Checks for header files. --- 56,67 ---- AC_PROG_CXX AC_PROG_RANLIB ! AC_PATH_PROG(NASM, nasm) dnl Checks for libraries. ! AC_CHECK_LIB(z, gzopen, ! , AC_MSG_ERROR([*** Cannot compile without zlib.])) ! AC_CHECK_LIB(png, png_create_write_struct, ! , AC_MSG_ERROR([*** Cannot compile without libpng.]), [-lz]) AC_CHECK_LIB(pthread, pthread_yield) dnl Checks for header files. *************** *** 66,72 **** AC_CHECK_HEADERS(malloc.h strings.h unistd.h arpa/inet.h netinet/in.h zutil.h) - dnl Checks for Program - AC_PATH_PROG(NASM,nasm,no) - dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST --- 70,73 ---- *************** *** 75,118 **** AC_STRUCT_TM AC_MSG_CHECKING(for socklen_t) ! AC_TRY_COMPILE([#include <sys/socket.h> socklen_t x; ! ],[],[AC_MSG_RESULT(yes)],[ ! AC_TRY_COMPILE([#include <sys/socket.h> int accept (int, struct sockaddr *, size_t *); ! ],[],[ AC_MSG_RESULT(size_t) ! AC_DEFINE(socklen_t,size_t)], [ AC_MSG_RESULT(int) ! AC_DEFINE(socklen_t,int)])]) AC_C_BIGENDIAN ! CXXFLAGS="$CXXFLAGS -DSDL -DBKPT_SUPPORT -fno-exceptions" ! if test "${ac_cv_use_c_core}" = "yes"; then CXXFLAGS="$CXXFLAGS -DC_CORE" fi ! if test "${ac_cv_use_mmx}" = "yes"; then CXXFLAGS="$CXXFLAGS -DMMX" - VBA_MMX=i386/lib386.a VBA_EXTRA="$VBA_EXTRA i386" fi ! if test "${ac_cv_use_prof}" = "yes"; then ! CXXFLAGS="$CXXFLAGS -DPROFILING" ! VBA_EXTRA="$VBA_EXTRA prof" fi ! if test "${ac_cv_use_dev}" = "yes"; then CXXFLAGS="$CXXFLAGS -DDEV_VERSION" - VBA_PROF=prof/libprof.a fi ! dnl Checks for library functions. - AC_SUBST(VBA_MMX) AC_SUBST(VBA_EXTRA) ! AC_SUBST(VBA_PROF) ! AC_OUTPUT(Makefile win32/Makefile src/Makefile src/gb/Makefile src/i386/Makefile src/prof/Makefile) --- 76,162 ---- AC_STRUCT_TM AC_MSG_CHECKING(for socklen_t) ! AC_TRY_COMPILE([ ! #include <sys/socket.h> socklen_t x; ! ],[ ! ],[ ! AC_MSG_RESULT(yes) ! ],[ ! AC_TRY_COMPILE([ ! #include <sys/socket.h> int accept (int, struct sockaddr *, size_t *); ! ],[ ! ],[ AC_MSG_RESULT(size_t) ! AC_DEFINE(socklen_t,size_t) ! ],[ AC_MSG_RESULT(int) ! AC_DEFINE(socklen_t,int) ! ]) ! ]) AC_C_BIGENDIAN ! VBA_LIBS="../gb/libgb.a" ! if test "x$enable_c_core" = xyes; then CXXFLAGS="$CXXFLAGS -DC_CORE" fi ! if test "x$enable_profiling" = xyes; then ! CXXFLAGS="$CXXFLAGS -DPROFILING" ! VBA_EXTRA="$VBA_EXTRA prof" ! VBA_LIBS="$VBA_LIBS ../prof/libprof.a" ! fi ! ! if test "x$with_mmx" = xyes; then ! if test "x$NASM" = x; then ! AC_MSG_ERROR([*** Couldn't find nasm program.]) ! fi CXXFLAGS="$CXXFLAGS -DMMX" VBA_EXTRA="$VBA_EXTRA i386" + VBA_LIBS="$VBA_LIBS ../i386/lib386.a" fi ! if test "x$enable_sdl" = xyes || test "x$enable_gtk" = xyes; then ! SDL_VERSION=1.2.2 ! AM_PATH_SDL($SDL_VERSION,[ ! ],[ ! AC_MSG_ERROR([*** Couldn't find SDL library (version >= $SDL_VERSION).]) ! ]) ! VBA_EXTRA="$VBA_EXTRA sdl" fi ! if test "x$enable_gtk" = xyes; then ! AC_CHECK_HEADERS(libintl.h) ! PKG_CHECK_MODULES(GTKMM, gtkmm-2.0 libglademm-2.0 >= 2.1.0) ! AC_SUBST(GTKMM_CFLAGS) ! AC_SUBST(GTKMM_LIBS) ! VBA_EXTRA="$VBA_EXTRA gtk" ! fi ! ! if test "x$enable_dev" = xyes; then CXXFLAGS="$CXXFLAGS -DDEV_VERSION" fi ! if test "x$enable_sdl" != xyes && test "x$enable_gtk" != xyes; then ! AC_MSG_WARN([*** You have chosen not to build any frontend.]) ! fi AC_SUBST(VBA_EXTRA) ! AC_SUBST(VBA_LIBS) ! dnl Generated files. ! AC_CONFIG_FILES([ ! Makefile ! m4/Makefile ! po/Makefile.in ! src/Makefile ! src/gb/Makefile ! src/gtk/Makefile ! src/i386/Makefile ! src/prof/Makefile ! src/sdl/Makefile ! win32/Makefile ! ]) ! AC_OUTPUT Index: Makefile.in =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/Makefile.in,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Makefile.in 1 Feb 2004 15:02:38 -0000 1.10 --- Makefile.in 29 Mar 2004 22:08:37 -0000 1.11 *************** *** 1,3 **** ! # Makefile.in generated by automake 1.7.8 from Makefile.am. # @configure_input@ --- 1,3 ---- ! # Makefile.in generated by automake 1.7.9 from Makefile.am. # @configure_input@ *************** *** 61,76 **** --- 61,88 ---- EGREP = @EGREP@ EXEEXT = @EXEEXT@ + GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ + GMSGFMT = @GMSGFMT@ + GTKMM_CFLAGS = @GTKMM_CFLAGS@ + GTKMM_LIBS = @GTKMM_LIBS@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ + LIBICONV = @LIBICONV@ + LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ + LTLIBICONV = @LTLIBICONV@ + LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ + MKINSTALLDIRS = @MKINSTALLDIRS@ + MSGFMT = @MSGFMT@ + MSGMERGE = @MSGMERGE@ NASM = @NASM@ OBJEXT = @OBJEXT@ *************** *** 82,85 **** --- 94,99 ---- PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ + PKG_CONFIG = @PKG_CONFIG@ + POSUB = @POSUB@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ *************** *** 89,100 **** SHELL = @SHELL@ STRIP = @STRIP@ VBA_EXTRA = @VBA_EXTRA@ ! VBA_MMX = @VBA_MMX@ ! VBA_PROF = @VBA_PROF@ VERSION = @VERSION@ YACC = @YACC@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ - ac_ct_NASM = @ac_ct_NASM@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ --- 103,114 ---- SHELL = @SHELL@ STRIP = @STRIP@ + USE_NLS = @USE_NLS@ VBA_EXTRA = @VBA_EXTRA@ ! VBA_LIBS = @VBA_LIBS@ VERSION = @VERSION@ + XGETTEXT = @XGETTEXT@ YACC = @YACC@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ *************** *** 138,144 **** target_vendor = @target_vendor@ AUTOMAKE_OPTIONS = gnu dist-zip - SUBDIRS = src win32 ! EXTRA_DIST = README-win.txt README.CVS subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 --- 152,161 ---- target_vendor = @target_vendor@ AUTOMAKE_OPTIONS = gnu dist-zip ! SUBDIRS = m4 po src win32 ! ! EXTRA_DIST = config.rpath README-win.txt README.CVS VERSION ! ! ACLOCAL_AMFLAGS = -I m4 subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 *************** *** 152,159 **** installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive ! DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \ ! COPYING ChangeLog INSTALL Makefile.am NEWS acinclude.m4 \ ! aclocal.m4 config.guess config.sub configure configure.in \ ! depcomp install-sh missing mkinstalldirs DIST_SUBDIRS = $(SUBDIRS) all: all-recursive --- 169,177 ---- installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive ! DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure \ ! ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am NEWS \ ! acinclude.m4 aclocal.m4 compile config.guess config.rpath \ ! config.sub configure configure.in depcomp install-sh missing \ ! mkinstalldirs DIST_SUBDIRS = $(SUBDIRS) all: all-recursive *************** *** 174,178 **** cd $(srcdir) && $(AUTOCONF) ! $(ACLOCAL_M4): configure.in acinclude.m4 cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) uninstall-info-am: --- 192,196 ---- cd $(srcdir) && $(AUTOCONF) ! $(ACLOCAL_M4): configure.in acinclude.m4 m4/codeset.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/intdiv0.m4 m4/intmax.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/longdouble.m4 m4/longlong.m4 m4/nls.m4 m4/po.m4 m4/printf-posix.m4 m4/progtest.m4 m4/signed.m4 m4/size_max.m4 m4/stdint_h.m4 m4/uintmax_t.m4 m4/ulonglong.m4 m4/wchar_t.m4 m4/wint_t.m4 m4/xsize.m4 cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) uninstall-info-am: *************** *** 318,321 **** --- 336,340 ---- $(am__remove_distdir) mkdir $(distdir) + $(mkinstalldirs) $(distdir)/po @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ *************** *** 450,454 **** install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ! INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install --- 469,473 ---- install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ! install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install --- NEW FILE: compile --- #! /bin/sh # Wrapper for compilers which do not understand `-c -o'. # Copyright 1999, 2000 Free Software Foundation, Inc. # Written by Tom Tromey <tr...@cy...>. # # 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. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Usage: # compile PROGRAM [ARGS]... # `-o FOO.o' is removed from the args passed to the actual compile. # Usage statement added by Billy Biggs <ve...@du...>. if [ -z $1 ]; then echo "Wrapper for compilers which do not understand '-c -o'." echo "usage: compile PROGRAM [ARGS]..." echo "'-o FOO.o' is removed from the args passed to the actual compile." exit 1 fi prog=$1 shift ofile= cfile= args= while test $# -gt 0; do case "$1" in -o) # configure might choose to run compile as `compile cc -o foo foo.c'. # So we do something ugly here. ofile=$2 shift case "$ofile" in *.o | *.obj) ;; *) args="$args -o $ofile" ofile= ;; esac ;; *.c) cfile=$1 args="$args $1" ;; *) args="$args $1" ;; esac shift done if test -z "$ofile" || test -z "$cfile"; then # If no `-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # `.c' file was seen then we are probably linking. That is also # ok. exec "$prog" $args fi # Name of file we expect compiler to create. cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` # Create the lock directory. # Note: use `[/.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d while true; do if mkdir $lockdir > /dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir $lockdir; exit 1" 1 2 15 # Run the compile. "$prog" $args status=$? if test -f "$cofile"; then mv "$cofile" "$ofile" fi rmdir $lockdir exit $status --- NEW FILE: VERSION --- VisualBoyAdvance 1.7.2 Index: AUTHORS =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/AUTHORS,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AUTHORS 12 Apr 2003 13:37:32 -0000 1.2 --- AUTHORS 29 Mar 2004 22:08:37 -0000 1.3 *************** *** 6,8 **** - Costis (co...@gb...): object mosaic, GP32 ! - KVA: ARM/THUMB disassembler \ No newline at end of file --- 6,9 ---- - Costis (co...@gb...): object mosaic, GP32 ! - KVA: ARM/THUMB disassembler ! - kxu: GTK+ frontend Index: aclocal.m4 =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/aclocal.m4,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** aclocal.m4 21 Nov 2003 21:53:41 -0000 1.3 --- aclocal.m4 29 Mar 2004 22:08:37 -0000 1.4 *************** *** 1,3 **** ! # generated automatically by aclocal 1.7.8 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 --- 1,3 ---- ! # generated automatically by aclocal 1.7.9 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 *************** *** 945,949 **** # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. [...2690 lines suppressed...] + ifelse([$4], ,echo $$1_PKG_ERRORS,) + fi + + AC_SUBST($1_CFLAGS) + AC_SUBST($1_LIBS) + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + ifelse([$3], , :, [$3]) + else + ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) + fi + ]) + + + Index: Makefile.am =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile.am 1 Feb 2004 15:02:38 -0000 1.7 --- Makefile.am 29 Mar 2004 22:08:37 -0000 1.8 *************** *** 1,5 **** AUTOMAKE_OPTIONS = gnu dist-zip - SUBDIRS = src win32 ! EXTRA_DIST = README-win.txt README.CVS --- 1,7 ---- AUTOMAKE_OPTIONS = gnu dist-zip ! SUBDIRS = m4 po src win32 + EXTRA_DIST = config.rpath README-win.txt README.CVS VERSION + + ACLOCAL_AMFLAGS = -I m4 |
From: S?bastien G. <kx...@us...> - 2004-03-29 22:20:42
|
Update of /cvsroot/vba/VisualBoyAdvance/src/i386 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3551/src/i386 Modified Files: Makefile.am Makefile.in Log Message: GTK+ frontend draft added. Index: Makefile.in =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/i386/Makefile.in,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Makefile.in 1 Feb 2004 15:02:39 -0000 1.6 --- Makefile.in 29 Mar 2004 22:08:40 -0000 1.7 *************** *** 1,3 **** ! # Makefile.in generated by automake 1.7.8 from Makefile.am. # @configure_input@ --- 1,3 ---- ! # Makefile.in generated by automake 1.7.9 from Makefile.am. # @configure_input@ *************** *** 61,76 **** --- 61,88 ---- EGREP = @EGREP@ EXEEXT = @EXEEXT@ + GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ + GMSGFMT = @GMSGFMT@ + GTKMM_CFLAGS = @GTKMM_CFLAGS@ + GTKMM_LIBS = @GTKMM_LIBS@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ + LIBICONV = @LIBICONV@ + LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ + LTLIBICONV = @LTLIBICONV@ + LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ + MKINSTALLDIRS = @MKINSTALLDIRS@ + MSGFMT = @MSGFMT@ + MSGMERGE = @MSGMERGE@ NASM = @NASM@ OBJEXT = @OBJEXT@ *************** *** 82,85 **** --- 94,99 ---- PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ + PKG_CONFIG = @PKG_CONFIG@ + POSUB = @POSUB@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ *************** *** 89,100 **** SHELL = @SHELL@ STRIP = @STRIP@ VBA_EXTRA = @VBA_EXTRA@ ! VBA_MMX = @VBA_MMX@ ! VBA_PROF = @VBA_PROF@ VERSION = @VERSION@ YACC = @YACC@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ - ac_ct_NASM = @ac_ct_NASM@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ --- 103,114 ---- SHELL = @SHELL@ STRIP = @STRIP@ + USE_NLS = @USE_NLS@ VBA_EXTRA = @VBA_EXTRA@ ! VBA_LIBS = @VBA_LIBS@ VERSION = @VERSION@ + XGETTEXT = @XGETTEXT@ YACC = @YACC@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ *************** *** 141,147 **** noinst_LIBRARIES = lib386.a ! lib386_a_SOURCES = \ ! 2xSaImmx.asm ! subdir = src/i386 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 --- 155,159 ---- noinst_LIBRARIES = lib386.a ! lib386_a_SOURCES = 2xSaImmx.asm subdir = src/i386 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 *************** *** 239,243 **** install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ! INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install --- 251,255 ---- install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ! install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install Index: Makefile.am =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/i386/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.am 20 Oct 2002 13:03:12 -0000 1.1 --- Makefile.am 29 Mar 2004 22:08:40 -0000 1.2 *************** *** 3,8 **** noinst_LIBRARIES = lib386.a ! lib386_a_SOURCES = \ ! 2xSaImmx.asm .asm.o: --- 3,7 ---- noinst_LIBRARIES = lib386.a ! lib386_a_SOURCES = 2xSaImmx.asm .asm.o: |
From: S?bastien G. <kx...@us...> - 2004-03-29 22:20:42
|
Update of /cvsroot/vba/VisualBoyAdvance/src/prof In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3551/src/prof Modified Files: Makefile.am Makefile.in Log Message: GTK+ frontend draft added. Index: Makefile.in =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/prof/Makefile.in,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Makefile.in 1 Feb 2004 15:02:39 -0000 1.4 --- Makefile.in 29 Mar 2004 22:08:40 -0000 1.5 *************** *** 1,3 **** ! # Makefile.in generated by automake 1.7.8 from Makefile.am. # @configure_input@ --- 1,3 ---- ! # Makefile.in generated by automake 1.7.9 from Makefile.am. # @configure_input@ *************** *** 61,76 **** --- 61,88 ---- EGREP = @EGREP@ EXEEXT = @EXEEXT@ + GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ + GMSGFMT = @GMSGFMT@ + GTKMM_CFLAGS = @GTKMM_CFLAGS@ + GTKMM_LIBS = @GTKMM_LIBS@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ + LIBICONV = @LIBICONV@ + LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ + LTLIBICONV = @LTLIBICONV@ + LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ + MKINSTALLDIRS = @MKINSTALLDIRS@ + MSGFMT = @MSGFMT@ + MSGMERGE = @MSGMERGE@ NASM = @NASM@ OBJEXT = @OBJEXT@ *************** *** 82,85 **** --- 94,99 ---- PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ + PKG_CONFIG = @PKG_CONFIG@ + POSUB = @POSUB@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ *************** *** 89,100 **** SHELL = @SHELL@ STRIP = @STRIP@ VBA_EXTRA = @VBA_EXTRA@ ! VBA_MMX = @VBA_MMX@ ! VBA_PROF = @VBA_PROF@ VERSION = @VERSION@ YACC = @YACC@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ - ac_ct_NASM = @ac_ct_NASM@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ --- 103,114 ---- SHELL = @SHELL@ STRIP = @STRIP@ + USE_NLS = @USE_NLS@ VBA_EXTRA = @VBA_EXTRA@ ! VBA_LIBS = @VBA_LIBS@ VERSION = @VERSION@ + XGETTEXT = @XGETTEXT@ YACC = @YACC@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ *************** *** 139,143 **** noinst_LIBRARIES = libprof.a ! libprof_a_SOURCES = prof.cpp prof.h gmon.h gmon_out.h subdir = src/prof ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 --- 153,162 ---- noinst_LIBRARIES = libprof.a ! libprof_a_SOURCES = \ ! gmon.h \ ! gmon_out.h \ ! prof.cpp \ ! prof.h ! subdir = src/prof ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 *************** *** 319,323 **** install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ! INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install --- 338,342 ---- install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ! install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install Index: Makefile.am =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/prof/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.am 26 Nov 2002 14:45:18 -0000 1.1 --- Makefile.am 29 Mar 2004 22:08:40 -0000 1.2 *************** *** 1,6 **** noinst_LIBRARIES = libprof.a ! libprof_a_SOURCES = prof.cpp prof.h gmon.h gmon_out.h ! ! ! --- 1,7 ---- noinst_LIBRARIES = libprof.a ! libprof_a_SOURCES = \ ! gmon.h \ ! gmon_out.h \ ! prof.cpp \ ! prof.h |