Some cleanup throughout related code. (try to make logic in ISOFile understandable by a human)
Encode strings in UTF-8 rather than somehow trying to determine the encoding in the GUI code.
Non-windows OSes temporarily broken.
Games that are now playable:
Back to the Future: The Game
CSI - Hard Evidence
CSI - Deadly Intent
CSI - Fatal Conspiracy
Red Steel
Metroid Prime: Trilogy
Wii Sports + Wii Sports Resort pack
Sam & Max: Season One
Sam & Max: Beyond Time and Space
Kirby's Dream Collection: Classic Collection
Indiana Jones and the Staff of Kings: Fate of Atlantis
* ES_LAUNCH:
Fixed SSBB from starting at the mini-games screen.
Build fix
Corrected a state bug where newly loaded dols did not have their patches applied.
Changed the HLE system to allow it to hook the beginning, the end or replace the entire function without changing the GC memory. Fixes Kirby's Return to Dreamland. Added a way to categorise the type of HLE function. Currently, there are debug, floating point, memory and generic functions. Added a HLE function for OSGetResetCode (Warm reset). Fixes the CSI games. Added a switch to disable all of the HLE functions if the idle skipping option is disabled.
Added some IOS version checks and code to clear memory before loading the dol.
Added support for Reset (from menu). Fixes Sam & Max.
Added an IOS check as games which use IOS older than IOS30 do not need to be HLE'd. Added some stubs for Reset to Menu and SSBB's load from disc partition. Fixed loading Fate of Atlantis from the Indiana Jones and the Staff of Kings game.
Added argument detection and passing to the loaded dol. This fixes the Wii Sports+Wii Sports Resort bundle pack.
Added preliminary support for ES_LAUNCH (Wii Multi-boot games) by using HLE to hijack the OSBootDol function.
Conflicts:
Source/Core/DiscIO/Src/FileSystemGCWii.cpp
This allows users to easily check whether their Wii dump is corrupted or not
using the Dolphin properties window. Right click on a game, Properties,
Filesystem tab, then right click on the game partition and select "Check
partition integrity".
This may have some false negatives due to the unused clusters heuristic (see
the comment in VolumeWiiCrypted.cpp). False positives are unlikely.
Also, don't check to see if a directory is a wad file. They aren't. This removes an annoying and invalid debug assertion with the debug build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7682 8ced0084-cf51-0410-be5f-012b33b47a6e
changes fs getusage to return 1 additional inode to account for the directory itself
Fixes save creation for at least two games, R8XE52 (Jurassic: The Hunted), STEETR (Tetris Party Deluxe)
doesnt harm save creation in any games that i tested (about 25)
also it is now possible to boot a nand title by selecting the tmd file using File > Open
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7575 8ced0084-cf51-0410-be5f-012b33b47a6e
GH5 Loads again
use the existing function instead of checking titleid each time a NANDLoader is needed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7547 8ced0084-cf51-0410-be5f-012b33b47a6e
add ticket to CNANDContentLoader
move wad installer to CNANDContentManager
system menu can now be launched from a wad file without being installed first, (return to system menu from another title will still only work if system menu is installed)
cdb.vff: flushed to disc immediately, creates if the file exists but is too small, moved creation to Boot_WiiWad
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7530 8ced0084-cf51-0410-be5f-012b33b47a6e
Add the option to clear a title from the NANDContentLoader and attempt to reload it
This allows the using the system menu immediately after installing rather than requiring a relaunch
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7290 8ced0084-cf51-0410-be5f-012b33b47a6e
buildfix
move much of the build settings to .props files
-please use them as much as possible in the future, instead of changing individual projects
NOTE: to avoid left over blobs, clean your builds *before* applying these changes.
TODO: add DebugFast target for projects that are lacking it. Lack of DebugFast targets cause the linker to use LTCG when we don't want it.
please test for regressions which could be caused by being too happy with compiler flags :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7109 8ced0084-cf51-0410-be5f-012b33b47a6e
and just operate on lists of object files instead.
This helps with LTO since LLVM/clang LTO is completely broken
by static libraries. It also helps identify symbol clashes
between components like the former plugins.
Many linkers also expect static libraries to form a strict DAG
which turns out be a difficult rule to uphold in practice,
especially since some of our platforms aren't picky about this.
LTO builds currently appears to crash at runtime because of
the static wx libs.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7056 8ced0084-cf51-0410-be5f-012b33b47a6e
fix all build targets (they've all built here - you may have to manually delete the intermediate directories if you have conflicts after this commit).
set the debug path to $(TargetDir)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7022 8ced0084-cf51-0410-be5f-012b33b47a6e
check for cp932 using ::IsValidCodePage before creating the wxCSConv
if it is possible for linux distro or mac to remove the euc_jap cp from install a similar check may be added in WxUtils.cpp
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6928 8ced0084-cf51-0410-be5f-012b33b47a6e
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
Title Version and region char of currently installed system menu are now listed in the menu as well
Which means disc channel will only show pal discs if it is a pal nand dump; ntsc nand dump will show ntsc discs, ntsc-j nand dump will show ntsc-j discs
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6591 8ced0084-cf51-0410-be5f-012b33b47a6e
Also set up cmake/cpack to create prebuilt binary packages and source packages.
Also change the vertex shader dump file name in the gfx debugger to something that makes more sense.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6587 8ced0084-cf51-0410-be5f-012b33b47a6e
systems where size_t is typedef int.
It's either this or use the C99 %zu but while we can probably
safely assume C99 compilers, I am not at all sure that that's the
case for stdio libraries and this solution is fairly low-impact.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6535 8ced0084-cf51-0410-be5f-012b33b47a6e
Most of the code dealing with the LogTypes namespace was C which lead to a
lot of nonsensical casting, so I have dumbed LOG_TYPE and LOG_LEVEL down to
plain C even though the move of wiiuse into Source means we don't currently
call GenericLog from C.
Set logging threshold to MAX_LOGLEVEL at startup so debug builds will also
p rint debugging messages before the GUI is running.
For some reason the way we use SetDefaultStyle doesn't play nice with wx 2.9
so we just get the default black text on a black background. Using a gray
background works around that problem, but I found it to also be much easier
on the eyes so I have switched the background color on all versions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6528 8ced0084-cf51-0410-be5f-012b33b47a6e
Replaces all occurrences of ftell and fseek with ftello and fseeko, respectively. This matters on non-win32 where only these names are altered by the _FILE_OFFSET_BITS define. Win32 still just maps the funcs to ftelli64/fseeki64.
Also add some File::GetSize I had skipped in my last commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6515 8ced0084-cf51-0410-be5f-012b33b47a6e
Some notes about this:
- config.h doesn't get written yet, so you'll have to use one generated by SCons
- dependency checking isn't really implemented, yet. Just some basic checks for OpenGL or ALSA, we need something more sophisticated though.
- the OpenGL plugin fails to load for some reason which I can't debug right now due to the libc debuginfo package version in openSUSE not matching the runtime packages
- there's even some support for generating install packages (rpm/deb/.. packages, NSIS installer, etc). It doesn't work properly right now though, since some paths seem to be hardcoded into Dolphin's source
- probably lots of other stuff I forgot... Just take a look at all the TODOs in the CMakeLists.txt files for more information ;P
Additionally, I added various files to the svn:ignore list.
tl;dr: Unless you are a dev or you're building binary packages, this commit shouldn't bother you :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6326 8ced0084-cf51-0410-be5f-012b33b47a6e
after this revision, wii save manager (< 3.0) should show any saves on the emulated nand
fixes an old issue with GetTitleID
fixes issue 1716.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6190 8ced0084-cf51-0410-be5f-012b33b47a6e
correct some parts of uid.sys as disc title ids are included
title in uid + tmd on nand is how the sysmenu knows which save files to look for.
IE games that are displayed in the disc channel at least once and have a save file will be
viewable in the sysmenu save manager
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6189 8ced0084-cf51-0410-be5f-012b33b47a6e
autoconfiguration tests. Some versions of gcc care enough about ANSI C
to complain about this.
Use the Linux install hierarchy conventions on other Unices as well.
XKeysymToString returns NULL on unknown keysyms, which is not a valid
std::string initializer.
There appears to be some disagreement regarding the second parameter
to iconv(). Some versions/installations have it as const, others don't.
Unfortunately, due to wonderful C++ brain damage, implicit conversion
from const to non-const doesn't work here.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5945 8ced0084-cf51-0410-be5f-012b33b47a6e
Use SCons' convenient # shorthand for the root of our tree.
Also various minor cleanup of SConscripts.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5915 8ced0084-cf51-0410-be5f-012b33b47a6e
Some general code cleanup, and removed a PanicAlert (made it a NOTICE_LOG instead) so that only one panic alert is shown when attempting to load from dvd/cdrom drives, and none are shown when "Show Drives" is selected from the menu.
Also removed the hack introduced in revision 5564 that prevents the GameListCtrl from being properly updated when a game is loaded from the command line or via the autostart feature of the debugger.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5848 8ced0084-cf51-0410-be5f-012b33b47a6e
enable newline normalization
get revision number via `hg svn info` for svnrev.h
ignore incremental/generated binary files (windows/VS at least)
leave a comment if some files need native eol set in svnprops
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5637 8ced0084-cf51-0410-be5f-012b33b47a6e
Not only does it change tons of files to switch to a new and non-working (it doesn't parse my ini files, at least) ini parser, it also reshuffles a lot of code and removes a plugin. The latter part is fine, but doing these two major switches in one revision, one of which is broken, is completely unacceptable. I said to merge tiny changes, not massive reworkings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5589 8ced0084-cf51-0410-be5f-012b33b47a6e
Using Unix tools to operate on a tree containing filename with spaces in them
is really annoying, so rename the handful of instances where there were spaces.
Host.cpp has never been used.
Games tend to lookup the following directories that we don't yet have anything
to put in, so prepopulate them in Data/User/Wii:
title/00010001
title/00010002
title/00010003
title/00010004
title/00010005
title/00010006
title/00010007
meta
shared2/title
Set eol-style native on a number of text files which didn't already have it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5572 8ced0084-cf51-0410-be5f-012b33b47a6e
and Wii/sys directories if they do not already exist. This conflicts with
DolphinApp::OnInit (run after constructors) which populates the User tree
only if there isn't already something there.
Instead, set up the two directories in the Data tree.
With this change, sys/uid.sys still won't be created until the _second_ run
after a fresh install, so these file initializations should be moved out of
constructors so that they will be run after OnInit().
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5526 8ced0084-cf51-0410-be5f-012b33b47a6e
use appropriate extensions extracting compressed wii discs
check for tmd+tik for each title and list titles correctly for sysmenu versions <=0xE0
this will allow viewing of installed channels but they will not launch until ES_Launch is emulated
so far I have not been able to determine why later sysmenu versions do not display channels correctly
switching between system menu versions is as simple as rightclicking a system menu wad in the gamelist and installing to wiimenu than restarting
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5524 8ced0084-cf51-0410-be5f-012b33b47a6e
allows (among other things) installing the wiimenu from a wad extracted from the update partition of a game
currently you can choose Tools > Install Wii Menu or right click wad from the gamelist and install
restart required to have the Tools > Load Wii Menu work
I thought I had already commit this, I guess I forgot and it's just been sitting on my hdd :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5448 8ced0084-cf51-0410-be5f-012b33b47a6e
Fixed a segfault in linux when a cd/dvd drive is empty or invalid and "Boot from DVD" or "Show Drives" are selected.
On all platforms if a game fails to load show the game list again.
The other things here are essentially code cleanup and won't be noticeable by most users.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5204 8ced0084-cf51-0410-be5f-012b33b47a6e
Basic usage: "sudo scons install=global install"
Hopefully this doesn't break builds on Macs. I have tested this on linux and windows.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4994 8ced0084-cf51-0410-be5f-012b33b47a6e
SD_IV should not be global, thanks to interdpth as I was only testing with one save before
remove duplicated code from BannerLoaderWii.cpp
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4863 8ced0084-cf51-0410-be5f-012b33b47a6e
use at your own risk as it has been tested only to the point that a real wii recognizes the save on an sd card
Please post test results here or on issue 1945
removed the automated backup when importing from a save.bin
fixed display of pokemon titles in memcardmanager
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4829 8ced0084-cf51-0410-be5f-012b33b47a6e