Commit Graph

195 Commits

Author SHA1 Message Date
Glenn Rice a5a45992ad Add a new type of message box (CRITICAL style) which can not be disabled. Then use that message box to display shader compilation errors in the OpenGL backend to maintain consistency with the behaviour of the DirectX backends.
Also fix the wxMessageAlert called from non-gui threads in the WXGTK build to use the passed caption.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7678 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-07-15 14:49:34 +00:00
Glenn Rice 2d1fef2989 The user Config directory in the dolphin emu distributed files is now an empty directory (since the portable file has been removed). Hence that directory should be created and not copied. This fixes a downstream packaging issue. Downstream packages strip empty directories from the install. So users of those packages will find that their settings are not saved.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7613 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-23 12:21:08 +00:00
LPFaint99 1d29204ae6 Windows: Sets the cwd to the folder that dolphin.exe resides in.
Removes the ugliness that was the portable file, and now creating a shortcut or file association is less of a pain
it is still necessary to modify the file association from ".../dolphin.exe" "%1" to ".../dolphin.exe" /e "%1"

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7593 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-11 20:45:09 +00:00
Soren Jorvang da82d7e178 Reinstate AfterInit(), which is still needed for MacOpenFile()
to work properly and possibly also wxProgressDialog.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7355 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-16 01:50:46 +00:00
Jordan Woyak 41c98f982e A bit of cleanup to Core Init/Stop, Frame, and Main. Cleanup XAudio2 to attempt to fix the crash on stop(didn't help :p). For some reason CFrame::DoStop is called twice.(might be the issue)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7353 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-15 23:09:12 +00:00
Glenn Rice 27142fafe0 Fix auto window size options when not rendering to main.
Switch gtk keystate_lock back to a recursive mutex.  Now that the mutex attributes are being initialized properly this doesn't seem to cause the segmentation faults anymore.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7349 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-15 12:50:58 +00:00
Glenn Rice 0cc8eda124 Re-enable the std::mutex try_lock on linux and use it for the Host_GetKeyState keystate_lock mutex. This reduces the number of application crashes on linux during emulation.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7334 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-12 01:19:04 +00:00
Jordan Woyak 59fd1008ca Wrapped fopen/close/read/write functions inside a simple "IOFile" class. Reading, writing, and error checking became simpler in most cases. It should be near impossible to forget to close a file now that the destructor takes care of it. (I hope this fixes Issue 3635) I have tested the functionality of most things, but it is possible I broke something. :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7328 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-11 10:21:46 +00:00
Jordan Woyak 5f87642f23 problem: TryAcquireSRWLockExclusive requires Windows 7 :/. solution kinda: use std::recursive_mutex (CriticalSection on windows) where try_lock is used. Dolphin should work on Vista x64 again.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7313 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-07 00:16:38 +00:00
Glenn Rice ec7e160bdc Fix Host_GetKeyState in a more effective way.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7308 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-06 04:31:43 +00:00
Glenn Rice a5b471f490 More conversion from char * to std::string.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7266 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-01 03:06:14 +00:00
Glenn Rice ba54fac9eb Convert GetUserPath to return a std::string instead of a const char *. This simplifies its usage in most cases.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7265 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-28 20:40:15 +00:00
Glenn Rice 217ee43063 Fix a memory leak in the breakpoint window.
Parent message alerts by the active window.  This way if another window is open it isn't pushed behind the main window.  We probably should parent the message alerts by the calling window instead, but this may be good enough.
Make sure there is only one instance of some modeless windows (Cheats Manager and Net Play).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7257 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 02:27:43 +00:00
Glenn Rice 1f33fc1a48 Fix a segmentation fault when the wiimote source is changed to a real wiimote in the config dialog.
A little clean up of the debugger code.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7237 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-25 03:56:14 +00:00
Soren Jorvang d2910912a4 XInitThreads() must be the very first Xlib function called or else
some X state will have initialized mutexes and some won't, leading
to unpredictable results depending on the feature set compiled into
wxWidgets and so on.

wxGTK starts by calling Xlib functions indirectly through gdk very
early on, so we must hook into wxApp::Initialize().

I believe this should properly fix issue 1540. In case of problems,
please reopen that issue. If you see XLockMutex in a backtrace,
that's a pretty good indication.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7205 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-19 21:53:53 +00:00
skidau fb4c82fb48 Added the feature to allow creating a TAS movie from a save state. To activate this function, start the game and use the "Start recording" command. A save state will be created at that point in time and the emulator will start recording. This results in two files, a .dtm containing the movie and a .dtm.sav which is the save state.
Changes:
* Allow events to be scheduled when the emulator is not running.  This allows the save state event to be added before the emulator starts.
* Removed the Audio back-end init flag from the save state.  This value should not be saved as it is not data relevant to guest machine.
* Allow a recording to be started at any time (apart from when a recording is already being made).
* Updated the status bar and title bar when an on-screen message is shown
* Removed the saving of PEToken from the save state as the FIFO will save this information
* Added a couple Pixel Engine interrupt states to the save state
* Added the copyright notice to the GCPadStatus.h file.

This function is preliminary.  Let us know of any bugs you find or any UI quirks.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7175 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-15 09:07:55 +00:00
Soren Jorvang c212548f8e Initialize all struct members.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7173 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-14 21:58:53 +00:00
Glenn Rice a8992b7960 Move debugger ui files into a subdirectory. Primarily to make it easy to keep debugger strings out of translations, but also because it is more organized.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7163 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-13 06:06:32 +00:00
NeoBrainX bc6f04adae Move BootManager.cpp to Core since it really doesn't do any wx-specific stuff.
This one is for NaturalViolence, since he was so eager to see it :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7152 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-12 21:25:49 +00:00
Soren Jorvang 9c21d003af Remove the global namespace a bit and remove some dead code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7043 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 18:21:20 +00:00
Glenn Rice 5a800b765a Some more work on renaming variables and files to reflect that the plugins are no longer plugins.
Fix another minor issue with frame dumping.
Add the graphics config dialog button back to the main config.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7041 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 16:34:12 +00:00
Glenn Rice 0d426e3972 Fix the auto window resize option to take into account if the log/console window is open.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7031 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-01 04:35:25 +00:00
Jordan Woyak fbaf965995 Eliminated the plugin interface. Merged DX9/DX11/OGL video plugins into Dolphin. It could still use a lot of cleanup. Lots of things are still named "plugin". Software renderer is temporarily disabled until it gets some namespaces. I only updated vs08/10, Linux/OSX builds are broken.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6996 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 01:28:32 +00:00
Glenn Rice 216cf0fd6a Update several of the translations.
Update pot file to reflect recent changes in strings in the code.
Make the Host_GetKeyState routine thread safe on linux.
Clean up config main, and migrate the plugin selection to the display tab.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6994 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 22:02:47 +00:00
Soren Jorvang db1765c425 Move async checking for pressed keys into Host_GetKeyState()
and use wxGetKeyState on platforms other than Windows.

I am not sure if wxGetKeyState is unreliable on Windows or if
the use of GetAsyncKeyState() is simply historical, but for now
I've left the Windows call in there just in case.

This does mean that Host_GetKeyState() is currently only valid
for the small set of keycodes that overlap between wx and Win32,
one of which is VK_TAB/WXK_TAB.

Anyway, please test wxGetKeyState on Windows and remove the
ifdef if it works, so we can extend it to the remaining hotkeys.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6988 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 16:40:38 +00:00
hrydgard 419d6a244b DSP plugin merge - the two DSP plugins are now gone and all the code has been merged into Dolphin.
This WILL temporarily break the Linux and MacOSX builds but should be easy to fix.

Things left to do:
  * The UI on the new Audio tab for the LLE/HLE choice is ugly
  * At times the code still look "plugin-y" and needs cleanup
  * The two plugins should be merged further. DSPHLE should use the emulated memory etc of DSPLLE as much as possible, so that simply saving the DSPLLE state is enough. This would also bring the possibility of savestate compatibility between the two plugins.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6947 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 18:39:30 +00:00
Glenn Rice 3ce1f73f73 Migrate the "Adjust window size" option to the main configuration dialog (under the "Display" tab, in "Emulator Display Settings", after "Window Size"). Also rework the way that the option works. When using render to main and the auto resize option, the application window will be resized and then resized back when the emulator stops. This looks much better than the box in the corner look before. Also only resize when it would actually change the size of the window. This fixes the hang on emulation stop on linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6910 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-25 03:30:12 +00:00
Soren Jorvang f08563efd9 wxHandleFatalExceptions is an optional wx feature.
Fixes issue 3962.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6891 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-21 16:54:37 +00:00
Soren Jorvang 7834880925 Make sure the game list gets created with automatic starts.
When rendering to the main window, the wxGLCanvas should really
be owned by the DolphinWX code for it to be safely freed.
Hack around the problem by just hiding the canvas for now.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6890 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-21 02:56:54 +00:00
Soren Jorvang 82422371f3 Allow opening a file and starting Dolphin on OS X by clicking
a document icon.

Don't bother creating the game list until after an automatic
start has finished and with the -b option, not at all.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6884 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-20 03:26:51 +00:00
Soren Jorvang e429d75489 Clean up nowx and stop cocoaApp busy-waiting in the main loop.
Set up an exit(3) task to shut down real wiimotes. This shouldn't
really be necessary, but we do currently handle a number of error
conditions by calling exit(3).

Retire the inputuicommon library.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6852 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-15 10:33:07 +00:00
Glenn Rice c99f0d03a4 Make sure that configuration dialog titles for the plugins are translated and a few other missed strings.
Initialize locale in each of the plugins on windows so that the plugin configuration dialogs are translated and the translators will get off my back.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6847 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-14 15:09:30 +00:00
Glenn Rice a747cb548c Clean up translator callback.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6842 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-14 00:15:08 +00:00
Glenn Rice 984b0d14d2 Translate PanicAlert captions too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6841 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-13 20:53:37 +00:00
Glenn Rice 3a8290a825 Fix panic alert translations. Windows is going to have to use the wxMsgHandler if it wants things to work. The default handler has issues with translated strings.
Also updated several translation files thanks to the Dolphin translation team.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6840 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-13 15:32:14 +00:00
Glenn Rice c6e0ea59b9 Removed my previous PanicAlert translation hack. Fixed with a better method suggested by BhaaL. The translation is done by a callback in the MsgHandler routine that is set at program start. Added macros PanicAlertT, SuccessAlertT, PanicYesNoT, and AskYesNoT that are identical to the non T versions except those strings will be added by gettext to the po files to be translated. These can and should be used anywhere in the code for strings that should be translated.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6838 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-13 02:05:58 +00:00
Glenn Rice fcd72bdba9 Fix the panic alert hack for windows and osx. The macro needed to be defined after HAVE_WX is defined. That explains why windows accepted the string concatenation that I thought it wouldn't.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6829 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-12 18:09:16 +00:00
Glenn Rice a4dd8c41a8 Add a little hack to make it so panic alerts and questions can be translated if they are in the wxWidgets portion of the code, as well as make a few strings in the config dialog translatable.
Add Hungarian translations by Delirious.
Update Italian translations by RebuMan.
Update German translations by JackyCola and LucasX.
Update Greek translations by Gpower2.
Update Frensh translations by Pascal.
Make sure the game list is refreshed when the GC language is changed.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6826 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-12 13:14:50 +00:00
Soren Jorvang 22d66f51a8 Have wxWidgets install signal handlers to catch crashes
and disconnect any wiimotes.

The Windows code has special handling of both exceptions
and bluetooth connection state, neither of which I really
understand, so this is enabled on the other platforms only.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6821 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-12 01:27:01 +00:00
Soren Jorvang 78ec771063 wxCmdLineEntryDesc has switched to char string in 2.9.
Use wxS to get the right string type on either 2.8 or 2.9.

Default to cmd-f for the fullscreen toggle hotkey on OS X.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6820 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-12 01:03:49 +00:00
Soren Jorvang 687d6d2b7e wxWidgets 2.9.2 works with _("") strings for command-line arguments.
Optimize the OS X build for Core 2 CPU's.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6808 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-11 00:07:22 +00:00
Glenn Rice 83eed62449 Build mo translation files on all platforms. Had to import msgfmt executable in the Externals to do this on windows.
Save wxLanguage enumeration value in ini file so that users are not surprised when a language is added and dolphin-emu is suddenly translated in a different language.
Update Spanish, Korean, and Simplified Chinese translations.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6804 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-10 19:26:36 +00:00
Glenn Rice a92fd2b4a1 Add simplified Chinese translations thanks to thegfw.
Add Korean translations thanks to Siegfried.
Updated German translations from JackyCola, revised with suggestions from LucasX.
Updated Polish translations by Baszta.

Also updated the windows language target.  We seriously need to find a way to get that target working for general users.  Probably by importing parts of gettext in the externals.  That way we don't need the maintain the mo files in svn.  It should be easy to implement this on OSX as gettext is in MacPorts.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6800 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-09 21:15:44 +00:00
nakeee e633c7824f Make langs in abc order
Playing a bit with hebrew


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6788 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-08 20:49:26 +00:00
Glenn Rice 05198a8e4e Go back to using FindGtk for the cmake build. The module is fixed with later versions of cmake. We may need to check the cmake version and fall back to pkg-config for those using older versions. Please test.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6787 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-08 19:14:45 +00:00
Glenn Rice 34732999a1 Added some languages:
Added Norwegian Bokmål thanks to KHRZ
Added Polish thanks to Baszta
Added Russian thanks to Kein

Also cleaned up the appearance of the GFX config dialog a bit, fixed a minor issue in the cmake build, and fixed the nowx build.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6786 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-08 17:35:34 +00:00
j4ck.fr0st 7c121dadcb Fixed language selection by adding English, leaving default as "<System>" language. Removed languages which don't have translations yet.
As side-effect, changed GameListCtrl sorting to use the configured IPL/GC language instead of the UI language, which is misleading with missing translations, and possibly wrong if we ever get translations that are not part of the GC ones.
In case we want the old behavior back, revert GameListCtrl.cpp and ISOProperties.cpp.

For translators: use either "<System>" if your operating system is the same language as the one you're translating for, or replace one of the others. Someone will add them to the list when they are committed.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6785 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-08 15:05:59 +00:00
Glenn Rice 418357190b Make the gui more accurately reflect connected wiimotes. Also connect and disconnect wiimotes when settings are changed in the wiimote configuration dialog during emulation.
Fix the number of connected wiimotes in the configuration dialog so it works with translations, and update translations accordingly.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6771 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 15:18:00 +00:00
donkopunchstania d16357cd5c Add anvideo config option to automatically resize the render window to the size of the game's output resolution. This avoids artifacts that appear when the render target is scaled to fit a window of a different size.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6764 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-07 04:57:59 +00:00
j4ck.fr0st 80cee2528c Localization:
- add some more strings for translation, change others for easier translation (in case anyone knows a better way than _("a") + wxString(wxT("b")), feel free to fix it).
- removed strings that shouldnt be translated.
- added gettextize script from glennrics to generate the .pot file; this excludes debugger-related strings which are usually not used by the end user anyways (again, less stuff to translate).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6759 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-06 13:57:46 +00:00