Commit Graph
100 Commits
Author SHA1 Message Date
Soren Jorvang 10b76db391 Link the OpenCL framework weakly on OS X, so that a binary built on 10.6
with OpenCL will also run on 10.5 without OpenCL.

Build with OpenCL by default now, but keep the opencl build option around
until Linux also links OpenCL weakly, at which point it can go away.

Start to merge in the actions required to make the OS X application bundle
redistributable into the main build and let bundle=true be concerned only
with the optional step of creating a dmg.

Some people are building binary snapshots for OS X without applying the
install_name_tool fixups and besides, osx_make_dmg.sh doesn't fully handle
the internal dependencies between the wx libraries, so we need to be rid
of any external dependencies by the time "scons bundle=false ." finishes.

Ideally we should just use static builds of the wx libraries, but the flat
namespace used by Objective-C for anything other than normally linked
dylibs (sadly not dlopen'ed dylibs) makes that difficult because both the
main binary and the plugins have wx linked in without any symbol ordering.

TBD: Either do automatic install_name_tool fixups for both the main binary
and the wx dylibs or find a workaround for the flat namespace problem.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5797 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:29:44 +00:00
Soren Jorvang 8c3ed5dc46 Lint.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5796 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:12:28 +00:00
Soren Jorvang 7ce5e5d1bd Config.h should never be included directly, but rather through Common.h
for portability.

(It is a bit unfortunate that some of the plugins have a Config.h of
their own, which can confuse this matter.)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5795 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:11:34 +00:00
Soren Jorvang 2be444965a When checking to see if the rendering window has focus, there are a
few different variations that can be true depending on circumstances.

This would likely cover the _WIN32 case as well, but since I don't
pretend to fully understand just what is going on with wxWidgets
here, I can't really call this any less of a hack..


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5794 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:07:33 +00:00
Soren Jorvang a53d0cb6d5 The ControllerInterface API has the notion of an "id" which is presumably
meant as a ideally persistent device instance number.

In a dynamic environment such as when dealing with USB/bluetooth HID's,
I am not sure how much sense such an id can make and it would probably
be better to identify devices by an opaque blob (and a printable string).

In any case, the OS X HID manager does not offer the illusion of a
persistent integer instance identifier.

A string in the form of the device's own name is not sufficient as on
e.g. my Macbook Pro, there are three HID devices all bearing the name
"Apple Internal Keyboard / Trackpad".

For now, hijack the ControllerInterface id to mean the the HID usage
page number. This at least separates keyboards and pointing devices,
allowing the keyboard to be selected in the configuration dialog.

Also some minor cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5793 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 13:03:25 +00:00
Soren Jorvang ebbfba62a0 On OS X, add autorelease pools to the cpu and emu threads to avoid
leaking memory. This is necessary because the wxgl code called from
those threads relies on deferred release.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5792 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 12:52:57 +00:00
Soren Jorvang ebb49c28f7 Fix scons build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5789 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-26 03:02:57 +00:00
Soren Jorvang 72efd56389 Set eol-style native on remaining text files.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5783 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-25 00:00:04 +00:00
Soren Jorvang b63e15e412 Don't try to link with dynamic versions of the LZO/SFML/SOIL libraries
on Linux when building a release image to make it more general.

OpenCL is new in OS X 10.6, so we can't restrict ourselves to the 10.5
compatibility SDK when OpenCL is enabled.

OpenCL really should be a runtime option (and weakly linked on OS X).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5727 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 16:35:19 +00:00
Soren Jorvang 05915922c5 Hopefully fix Windows build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5726 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 14:55:21 +00:00
Soren Jorvang ce3eb2a13b Automatically detect and use shared library packages for
LZO/SFML/SOIL as already done for GLEW/SDL/zlib.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5723 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 12:42:49 +00:00
Soren Jorvang d24e5a37a6 Build with shared libraries whenever possible on Linux;
on OS X, always build with static libraries from Externals.

XXX LZO/SFML/SOIL are currently static only on Linux as well,
as they have been all along, because of a conflict between
CheckPKG('FOO') and the SHARED_FOO conditionals - on the second
build run with static version of these libraries, CheckPKG picks
them up, negating SHARED_FOO and making the code try to include
the canonical locations for these packages. The easiest fix is
probably to adjust the relative pathnames for those header files
in Externals, so that the same ones are included in the shared
and static cases.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5722 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 11:39:23 +00:00
Soren Jorvang 980a2680be Trim down the SDL and GLEW libraries to just those files we use.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5720 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 09:11:29 +00:00
Soren Jorvang b0dff28539 Attempt to resolve the conflict between SDL/include and SDL/Include.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5717 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 01:14:18 +00:00
Soren Jorvang 494ba1eba2 Lint.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5716 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 00:58:34 +00:00
Soren Jorvang f8cf2aaa3e Only call wiiuse with the number of slots we have configured for real
wiimotes, so that wiiuse_find has a chance to return early when that
number is found rather than wait for the 5 second timeout always.

Hide the auto-(re)connect UI elements on non-Windows so as not to
confuse users until that functionality is implemented generally.

Empty strings are not allowed in wxChoice lists.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5714 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 00:15:58 +00:00
Soren Jorvang 8d2a23e43b Target the desired frame rate exactly rather than n plus one.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5713 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 00:09:33 +00:00
Soren Jorvang 391312641c Build GLEW, SDL and zlib as static libraries from Externals as with
LZO/SFML/SOIL and subject to the same shared_foo exception options.

This makes building a self-contained distribution package much easier.

TBD: Cg and wxWidgets 2.9.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5712 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 00:07:52 +00:00
Soren Jorvang 2db54798d7 Import SDL 1.2.14 and GLEW 1.5.4.
I am not replacing the following header files used by the Windows build,
as I don't have a Windows build setup to test. Please point the Windows
build at the header files inside these clean distribution packages and
garbage collect the duplicates: GLew/*.h and SDL/Include_1.2.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5711 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 23:31:13 +00:00
Soren Jorvang 31e442f11d Restore the look of the details/banner tab and limit the size of
the properties window so that a large ISO directory doesn't cause
the window to take up the full height of the display.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5700 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 22:01:10 +00:00
Soren Jorvang ab7302d2e1 Garbage collect a few more XCode files.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5694 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 18:10:55 +00:00
Soren Jorvang b560d2456e Integrate the standalone memcard manager into the main build.
Use 10.5 SDK header files in an attempt to keep us honest and
10.5 compatible. I'd do the same with system libraries, but
the linker gives strange errors when I try that. We also link
against third party libraries from Macports that haven't had
any magic 10.5 compat dust sprinkled over them, so maybe it
isn't very important anyway.

Move the OS X variable section in SConstruct upwards a bit to
have the settings apply to more of the config tests. SCons'
ParseConfig causes problems for the -arch tuples, though, so
the SDL check still isn't quite as comprehensive as it should
be.

Put the XCode project out of its misery.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5693 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-14 18:07:29 +00:00
Soren Jorvang ecffc03e9e Typo.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5672 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-13 09:34:17 +00:00
Soren Jorvang 615d4e1df8 Fix OS X build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5669 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-12 23:27:39 +00:00
Soren Jorvang d937b73d9c Cure some bit rot and allow building the standaline memcard manager on OS X.
The app appears broken though.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5650 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-11 15:18:36 +00:00
Soren Jorvang e7f7eff2b6 Remove a few unused HAVE_FOO's and make the SDL check global.
ulong is not a standard type.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5649 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-11 08:51:46 +00:00
Soren Jorvang b7c2e523b3 Treat strings from external sources as 8-bit so FromAscii doesn't barf.
Ideally we should be more character set aware, but at the moment we
use anonymous 7/8-bit strings in too many places.

Fix use of AddGrowable{Col,Row}. Any (non-zero) rows/columns must     
have been created first by adding an item to it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5648 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-11 08:39:03 +00:00
Soren Jorvang 0b00faa378 Oops, how did this happen?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5647 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-10 15:33:51 +00:00
Soren Jorvang ce82c43bb7 Disable the Wiiuse banner and instead credit Michael Laforest,
the original author, in the About dialog. Ok'ed with him.

WX doesn't reflow text terribly well, so format it manually.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5646 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-10 14:39:08 +00:00
Soren Jorvang 404c625622 Simplify the SCons build:
On OS X, build all code as Objective-C(++).

Centralize framework handling.

Cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5645 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-10 14:18:21 +00:00
Soren Jorvang c05c9fa1f4 Use 10.5 compatible API's to get list of display resolutions on OS X.
Patch from user gamepromcompany on the MacOSX_Build wiki page.

Add support for the Mac command key as a hotkey modifier in 
WXKeyToString but present it as Control. WXKeyToString is used for     
both hotkeys and menu accelerators, the latter only supporting
Shift/Alt/Control with wxWidgets.

wxSpinCtrl on wx 2.9 has a very small default size, so give the 
window size ones a reasonable size.

Use wxFULLSCREEN_ALL when switching to fullscreen, which gets rid
of window decorations like the title bar. Note that to actually
be rid of it with wx 2.9 on OS X, you'll need this patch:
http://trac.wxwidgets.org/ticket/11701

Also remove a couple of files I had accidentally duplicated.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5642 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-09 20:03:37 +00:00
Soren Jorvang 9016c90d47 Test linking with libsdl as part of its configure test to verify that
the library is of the correct binary format and such.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5641 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-09 19:41:17 +00:00
Soren Jorvang e648c6d68b Overhaul of OS X real Wiimote support.
Fixes a number of problems, including unreliable connection setup, 
frequent disconnections, busy-waiting and shutdown deadlocks.

Motion Plus and nunchuk hot swapping now work and Wiiuse does a small
amount of queueing to prevent occasional dropped packets. The OS X 
bluetooth stack has no internal input buffering and while a worker  
thread can easily keep up with data coming from the Wiimote, the rest
of Dolphin can easily get behind if it is blocked by disk I/O or 
similar. Mostly the Wiimote protocol recovers from dropped packets,   
but sometimes the Wiimote would get out of sync and send a disconnect.
I wonder if the other platforms might benefit from a bit of queueing
at this layer as well.
 
Still doesn't support multiple devices, as I kept changing my mind 
about how best to do it. I only have one Wiimote anyway..
 
One improvement to the Wiimote plugin that would be really nice would
be for the scan for new devices to operate continuously or periodically
like on a real Wii rather than just for 5 seconds at startup..   


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5640 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-09 19:36:08 +00:00
Soren Jorvang f78332a259 The openal and noao parameters are no longer necessary.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5631 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-06 21:14:56 +00:00
Soren Jorvang f4abbdf6b1 Fix nowx build.
We really should integrate the nowx functionality into the main build,
removing nowx and HAVE_WX checks and turning USE_WX into a variable
that defaults to GUI use but can be overridden at the command line.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5630 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-06 21:06:58 +00:00
Soren Jorvang c130aa7a36 Accept more special keys in previous.
Still doesn't make arrow keys work, though.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5623 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 19:17:17 +00:00
Soren Jorvang 5c335a8c85 Fixed WXKeyToString which had several problems, mostly just to get
hotkey configuration working with wx 2.9, but it turned out to be
too tempting to use it to hack up OS X keyboard support using wx
key events in the "old" input plugins.

It was with some reluctance that I used PAD_Input (and copied it
for Wiimote as well) as that is clearly a deprecated interface,
but this way the hack is contained within the old plugins for when
the switchover to ControllerInterface happens.

The idea is to provide stable keyboard support on OS X for both
GCPad and Wiimote while we debug HID keyboard and real 'mote code.

It works pretty well, although the wx approach does impose a few
limitations like no arrow keys and left/right side modifier keys
are considered equivalent.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5622 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 19:03:37 +00:00
Soren Jorvang 7d0f03cb61 Don't store the absolute pathname of plugins in the configuration file,
just the basename like libPlugin_foo.dylib. Dolphin then loads the
plugins relative to the compiled-in plugins directory.

This means that you won't have to reselect the plugins when running 
different builds (in different directories) and is most obviously
beneficial on OS X where application bundles are not (should not) be
expected to stay in the place where they are first installed.

This is tested on OS X and Linux with local/global build options, but
not Windows. I don't anticipate any problems on Windows, but that OS
does have slightly different semantics with regard to path component
separators and file suffixes, so it's something to watch out for.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5621 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 18:52:56 +00:00
Soren Jorvang 6b872bb81c Satisfy the dynamic loader function presence check again.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5618 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 03:09:44 +00:00
Soren Jorvang 9ed6d98e2c wx 2.9 pasto and a few nits.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5617 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-05 03:03:01 +00:00
Soren Jorvang 63dbcf4f97 Check that the libraries claimed by wx-config can actually be linked
with. This avoids having wx problems show up as a problem with a 
subsequent dependency, namely Cg.

See issue #2175.
 
Also add explicit depdendency on zlib.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5607 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 21:00:39 +00:00
Soren Jorvang b6a281eaff Nits.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5606 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 20:54:13 +00:00
Soren Jorvang 1fa79f1f99 Revert parts of r5576 and r5598 for Sonicadvance1's sake.
This reenables the option for building without wx on OS X,
but still leaves wxgl as the default.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5600 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 05:00:37 +00:00
Soren Jorvang 3ab27a7d87 Revert parts of r5576 and r5598 for Sonicadvance1's sake.
This reenables the option for building without wx on OS X,
but still leaves wxgl as the default.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5599 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 04:59:07 +00:00
Soren Jorvang 84c55c3e4e Deprecate nowx on OS X (but keep it building for sanity checking).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5598 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-04 02:58:35 +00:00
Soren Jorvang ad82320107 Make gcc happy.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5596 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 20:59:55 +00:00
Soren Jorvang 49bbbe099d Cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5593 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 19:15:15 +00:00
Soren Jorvang 4a18908c57 Reapply r5586 and r5587:
Have lint mean -Werror at least until the issue with
-Warray-bounds and -Wunused-result can be resolved.

Avoid producing empty object files:

CoreRecording.cpp is not configured through the build system,
so just give it a dummy symbol when it's not compiled in.
ChunkFile.cpp and DSPBreakpoints.cpp are no longer used.
ExtendedTrace.cpp is Windows-only.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5592 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 18:49:35 +00:00
Soren Jorvang acd2b03afe Avoid producing empty object files:
CoreRecording.cpp is not configured through the build system,
so just give it a dummy symbol when it's not compiled in.
ChunkFile.cpp and DSPBreakpoints.cpp are no longer used.
ExtendedTrace.cpp is Windows-only.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5587 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 07:50:37 +00:00
Soren Jorvang a281430b6b Have lint mean -Werror at least until the issue with
-Warray-bounds and -Wunused-result can be resolved.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5586 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 07:49:30 +00:00
Soren Jorvang 450aefdd01 A few minor nits to fix building on OS X.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5584 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 06:51:34 +00:00
Soren Jorvang 52c912a59e Make wxgl mandatory on OS X.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5576 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 01:24:26 +00:00
Soren Jorvang 3a7b8c51c6 Oops, didn't mean to enable -Werror for devel builds.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5575 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 20:49:18 +00:00
Soren Jorvang 30e437f9e3 Fix some cases of variables being used uninitialized. Also some unused
variables, writeable strings and dangerously shadowed variables.

index(), gamma(), exp() and y0() are POSIX functions and using those
names can cause namespace confusion.

A number of C files were missing the final newline required by ANSI C
and some versions of GCC are pedantic enough to complain about this.

These changes simply the scons build, allowing us to get rid of
filterWarnings which is simply more trouble than it's worth.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5574 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 20:35:12 +00:00
Soren Jorvang 03d1438be8 Cleanup after multi-level SVN rename.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5573 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 18:07:08 +00:00
Soren Jorvang 664cea45c7 Meta:
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
2010-06-02 18:00:22 +00:00
Soren Jorvang e2ef72504e Fix typo.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5571 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 17:19:23 +00:00
Soren Jorvang f32a4b7e9c Higher resolution icon image contributed by the original artist.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5570 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 17:11:44 +00:00
Soren Jorvang d5e2bbf7cd Remove a few __APPLE__ ifdefs which are no longer necessary.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5569 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 15:54:35 +00:00
Soren Jorvang 03673f6496 Incorporate a few comments.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5567 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-01 21:33:20 +00:00
Soren Jorvang 43dfff651a Hopefully fix building on Linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5566 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-01 21:10:49 +00:00
Soren Jorvang c9564405d9 Some wxWidgets features, like wxProgressDialog used when updating the
game list, rely on the main event handler already running, which isn't
the case until after OnInit(). This is a problem when an ISO directory
is already set at startup.

To deal with such actions that can only properly be done after the wx
environment is fully functional, schedule AfterInit() where the initial
game list scan is done.

The underlying icon object for wxIcon on OS X didn't work with our 
(non-square?) 96x32 game list graphics, but we weren't using any wxIcon
properties such as transparency anyhow, so just skip the wxBitmap to 
wxIcon back to wxBitmap conversions.

Use wxID_ABOUT and wxID_PREFERENCES so that those menu items are
automagically teleported to their canonincal locations on each platform.

USE_XPM_BITMAPS has been implicit on all platforms for some time now.
 
AddGrowableCol() causes problems in a couple of inessential places for    
some unknown reason, even though the same pattern works fine elsewhere.
 
These changes make us play a lot nicer with wxWidgets 2.9.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5564 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-01 21:03:02 +00:00
Soren Jorvang 4ffdba7b92 Only warn about unknown magic words if none of the known ones are found.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5563 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-01 20:47:07 +00:00
Soren Jorvang 9d7b569ccb Now that Core Audio works, reduce the number of build permutations a bit
by not linking in other Unix audio modules.
 
Use kAudioUnitSubType_DefaultOutput instead of kAudioUnitSubType_HALOutput
so that a runtime switch to another audio device is automatically handled.
 
Use ERROR_LOG for audio errors.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5562 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-01 20:45:30 +00:00
Soren Jorvang f7494e6b2b Bring this a little more up to date.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5561 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-31 19:54:05 +00:00
Soren Jorvang 66c480c86b Don't print a bogus number of bluetooth devices found.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5559 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-31 16:54:21 +00:00
Soren Jorvang 95edef2e0d Avoid printing garbage numbers in the status line when the process
becomes blocked. This was most readily apparent when first starting
programs from a high-latency filesystem.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5558 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-31 16:23:13 +00:00
Soren Jorvang 220c3ae829 Identify OS X application bundle with SVN version number.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5557 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-31 16:18:40 +00:00
Soren Jorvang fdd532356a Have the AudioUnit callback drive the internal mixer directly instead
of going through an intermediate thread and buffer. This seems to be
how Core Audio is meant to be used, although I still haven't read the
manual.

Indeed, sound on OS X works perfectly now.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5555 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-31 05:05:53 +00:00
Soren Jorvang c2daee96cc Consider 'X' as region-free.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5552 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 17:31:52 +00:00
Soren Jorvang 997ab4ada1 Mark 'A' as being region-free, but still explicitly default it to
European settings. Also try to add sensible defaults for [LMNTQ]      
taken from http://wiibrew.org/wiki/Title_database#Region_Codes .


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5551 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 17:16:06 +00:00
Soren Jorvang 20eda8551a 'A' appears to be another country code for Europe.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5550 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 16:33:01 +00:00
Soren Jorvang c48aca7c37 De-inline StripTailDirSlashes() to work around a weird code generation bug.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5549 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 09:41:38 +00:00
Soren Jorvang 9cd3c70b02 The rendering codepath doesn't currently quite recover from an OpenCL
initialization failure, so help it along a little by also considering
the CPU as an OpenCL device.

Use CL_DEVICE_TYPE_DEFAULT rather than CL_DEVICE_TYPE_ALL as that will
give preference to the spiffy GPU if one is present. Implementations
of OpenCL are likely to put a GPU as the first device in the list, but
there is no guarantee of this and this code currently only picks the
first device in the list.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5547 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 08:08:26 +00:00
Soren Jorvang 2245b1040f Another creeping wx dependency via NetPlay.
Is nowx worth maintaining?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5546 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 07:09:09 +00:00
Soren Jorvang 77894f0fe6 Match types in comparison.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5544 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 05:25:32 +00:00
Soren Jorvang 7f50bb5579 Get the audio unit output buffer size and use that as the rendering
quantum, as the callback wants us to provide exactly the amount of
samples needed.

This is incomplete because core audio may ask for less than the full
buffer size (for me, typically 1484 or 1488 bytes of a 2048 byte
buffer). As a quick hack until I read the rather impenetrable core
audio documentation, assume that each callback request will want
about the same number of samples as the preceeding one.

This makes sound bearable.

Also various cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5543 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 04:21:01 +00:00
Soren Jorvang 6ea0d50872 Make this work with debug builds again.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5540 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-29 21:28:27 +00:00
Soren Jorvang 1d24ac9157 Match types in comparison.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5539 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-29 20:48:21 +00:00
Soren Jorvang 492636c3fa Temporarily back out r5521 until a more complete answer to the
filterWarnings problems is ready, as it currently breaks the OS X build.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5538 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-29 20:31:09 +00:00
Soren Jorvang 0d75190af9 wxFileSelector with wxWidgets 2.9 on OS X allows only very simple glob
patterns like "*.foo".


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5527 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-28 17:23:51 +00:00
Soren Jorvang 270fe2a997 In r5448 the CSharedContent and cUIDsys constructors create the Wii/shared1
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
2010-05-28 14:45:07 +00:00
Soren Jorvang e960cf1ce6 Fix another piece of cleanup fallout which appears to have been the cause
of the file save bug.
(_dbg_*() should really get the same treatment as *_LOG() to remove this
whole class of #ifdef hell.)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5519 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-27 21:28:48 +00:00
Soren Jorvang f8b159eb90 One more case of 64-bit code outside _M_X64, pointed out by omegadox.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5518 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-27 12:37:24 +00:00
Soren Jorvang 60c0d2efda Revert previous.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5517 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-27 12:36:51 +00:00
Soren Jorvang 687f125315 Slightly redo how Linux global builds get the prefix/lib location.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5516 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-27 12:13:37 +00:00
Soren Jorvang af64786472 win_width/win_height are used in X11 builds as well.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5515 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-27 12:12:48 +00:00
Soren Jorvang 0119497f3a On OS X, create a release dmg if bundle=True like on Linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5513 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-27 03:51:00 +00:00
Soren Jorvang d0a79d8cd1 Revert previous. rodolfoosvaldobogado had already applied the same fix in the
next-to-last change, just enough lines above that svn silently merged it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5512 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-27 03:27:59 +00:00
Soren Jorvang 1dacd1ac1b Put back call to ScanDirectoryTree() while FindValidTitleIDs() is still in use.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5510 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-27 02:08:18 +00:00
Soren Jorvang d18253fe33 Don't assume writeable C strings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5508 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 22:40:06 +00:00
Soren Jorvang b19aff0084 Uninitialized variables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5505 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:38:30 +00:00
Soren Jorvang 774035d715 Always build a universal binary on OS X. This requires wxWidgets >= 2.9.
Enable -Werror (OS X only so far - please test and enable on other platforms).
Clean up library handling a bit.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5504 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:31:50 +00:00
Soren Jorvang 5f9cdad7cd Unbreak nowx build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5503 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:23:44 +00:00
Soren Jorvang 86f89cce92 Move 64-bit specific variables into proper scope.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5502 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:21:12 +00:00
Soren Jorvang 00758fcafb Uninitialized variables.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5501 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:16:03 +00:00
Soren Jorvang 03e01872b0 Unbreak nowx build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5500 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:13:43 +00:00
Soren Jorvang 7d3fe592ab Unbreak nowx build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5499 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:07:52 +00:00
Soren Jorvang 39a014353e Simplify logging a bit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5497 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:07:13 +00:00
Soren Jorvang 810e6d53f0 For these assertions to trip, enums in CPMemory.h which seem pretty much set
in stone would have to change.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5496 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 21:05:42 +00:00