From ced92d85445353f42c6922b5ce3f8fa777bbcb19 Mon Sep 17 00:00:00 2001 From: Sonicadvance1 Date: Fri, 18 Sep 2009 19:56:49 +0000 Subject: [PATCH] Fix compiling in Snow Leopard, the Update stuff in the Video plugin shouldn't be in the GUI since it breaks nowx builds, wasn't sure where to put it, but Render.cpp seemed like the best place. Fixed wiiuse.c, and the SConscripts needed updating for Snow Leopard. Building 32bit in Snow Leopard is apparently broken. and Running 64bit in Snow Leopard seems to fail. Haven't tracked this down yet git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4299 8ced0084-cf51-0410-be5f-012b33b47a6e --- Externals/WiiUseSrc/Src/wiiuse.c | 2 + SConstruct | 11 +++- Source/Core/DolphinWX/Src/SConscript | 1 + Source/DSPTool/Src/SConscript | 3 + Source/Plugins/Plugin_DSP_LLE/Src/SConscript | 2 +- .../Plugins/Plugin_PadSimple/Src/SConscript | 2 + .../Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp | 65 ------------------ Source/Plugins/Plugin_VideoOGL/Src/Render.cpp | 66 +++++++++++++++++++ Source/Plugins/Plugin_VideoOGL/Src/SConscript | 6 +- Source/Plugins/Plugin_VideoOGL/Src/main.cpp | 2 + Source/Plugins/Plugin_Wiimote/Src/SConscript | 1 + 11 files changed, 89 insertions(+), 72 deletions(-) diff --git a/Externals/WiiUseSrc/Src/wiiuse.c b/Externals/WiiUseSrc/Src/wiiuse.c index 21880fa876b..49629bcb4a6 100644 --- a/Externals/WiiUseSrc/Src/wiiuse.c +++ b/Externals/WiiUseSrc/Src/wiiuse.c @@ -128,12 +128,14 @@ struct wiimote_t** wiiuse_init(int wiimotes) { wm[i]->out_sock = -1; wm[i]->in_sock = -1; #else + #if !defined(__APPLE__) wm[i]->dev_handle = 0; wm[i]->stack = WIIUSE_STACK_UNKNOWN; wm[i]->normal_timeout = WIIMOTE_DEFAULT_TIMEOUT; wm[i]->exp_timeout = WIIMOTE_EXP_TIMEOUT; wm[i]->timeout = wm[i]->normal_timeout; #endif + #endif wm[i]->state = WIIMOTE_INIT_STATES; wm[i]->flags = WIIUSE_INIT_FLAGS; diff --git a/SConstruct b/SConstruct index f7a0297cfec..e2647445599 100644 --- a/SConstruct +++ b/SConstruct @@ -106,6 +106,7 @@ vars.AddVariables( BoolVariable('bundle', 'Set to create bundle', False), BoolVariable('lint', 'Set for lint build (extra warnings)', False), BoolVariable('nowx', 'Set For Building with no WX libs (WIP)', False), + BoolVariable('noal', 'Build without OpenAL', False), BoolVariable('wxgl', 'Set For Building with WX GL libs (WIP)', False), BoolVariable('jittest', 'temp don\'t use (WIP)', False), BoolVariable('nojit', 'Remove entire jit cores', False), @@ -243,7 +244,10 @@ env['HAVE_BLUEZ'] = conf.CheckPKG('bluez') # needed for sound env['HAVE_AO'] = conf.CheckPKG('ao') -env['HAVE_OPENAL'] = conf.CheckPKG('openal') +if env['noal']: + env['HAVE_OPENAL'] = 0 +else: + env['HAVE_OPENAL'] = conf.CheckPKG('openal') env['HAVE_ALSA'] = conf.CheckPKG('alsa') @@ -262,9 +266,10 @@ if conf.CheckPKG('sfml-network') and conf.CheckCXXHeader("SFML/Network/Ftp.hpp") if sys.platform == 'darwin': if env['osx'] == '64cocoa': env['nowx'] = True - compileFlags += ['-arch' , 'x86_64' ] + compileFlags += ['-arch' , 'x86_64', '-m64' ] conf.Define('MAP_32BIT', 0) - + if env['osx'] == '32cocoa': + compileFlags += ['-arch' , 'i386', '-m32' ] if not env['osx'] == '32x11': env['HAVE_X11'] = 0 env['HAVE_COCOA'] = 1 diff --git a/Source/Core/DolphinWX/Src/SConscript b/Source/Core/DolphinWX/Src/SConscript index 348975b3ff6..279565748f4 100644 --- a/Source/Core/DolphinWX/Src/SConscript +++ b/Source/Core/DolphinWX/Src/SConscript @@ -91,6 +91,7 @@ if sys.platform == 'darwin': icon = 'Dolphin' version = 'svn' + wxenv['FRAMEWORKS'] = ['Cocoa', 'CoreFoundation', 'System'] wxenv.Plist( env['binary_dir'] + 'Dolphin.app/Contents/Info.plist', Value(dict( diff --git a/Source/DSPTool/Src/SConscript b/Source/DSPTool/Src/SConscript index c862ef8b2bd..068542db93a 100644 --- a/Source/DSPTool/Src/SConscript +++ b/Source/DSPTool/Src/SConscript @@ -1,6 +1,7 @@ # -*- python -*- Import('env') +import sys dtenv = env.Clone() @@ -16,5 +17,7 @@ libs = [ dtenv.Append(CXXFLAGS = [ '-fPIC' ], LIBS = libs) +if sys.platform == 'darwin': + dtenv['FRAMEWORKS'] = ['CoreFoundation', 'Cocoa', 'System'] dtenv.Program(dtenv['binary_dir'] + 'dsptool', files) diff --git a/Source/Plugins/Plugin_DSP_LLE/Src/SConscript b/Source/Plugins/Plugin_DSP_LLE/Src/SConscript index 756750f5be3..78043cbb110 100644 --- a/Source/Plugins/Plugin_DSP_LLE/Src/SConscript +++ b/Source/Plugins/Plugin_DSP_LLE/Src/SConscript @@ -41,5 +41,5 @@ else: CXXFLAGS = [ '-fPIC' ], LIBS = [ 'dspcore', 'audiocommon', 'common' ], ) - +lleenv['FRAMEWORKS'] = ['CoreFoundation', 'System'] lleenv.SharedLibrary(env['plugin_dir']+name, files) diff --git a/Source/Plugins/Plugin_PadSimple/Src/SConscript b/Source/Plugins/Plugin_PadSimple/Src/SConscript index b389364769f..1cc11d52502 100644 --- a/Source/Plugins/Plugin_PadSimple/Src/SConscript +++ b/Source/Plugins/Plugin_PadSimple/Src/SConscript @@ -31,6 +31,8 @@ if padenv['HAVE_WX']: if padenv['HAVE_COCOA']: padenv.Append( CXXFLAGS = compileFlags, LIBS = [ 'common' ]) + padenv['FRAMEWORKS'] = ['Cocoa', 'System'] + else: padenv.Append(LIBS = [ 'common', 'inputcommon' ]) diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp index c1333cb7718..e31c3acf39d 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp @@ -780,69 +780,4 @@ void GFXConfigDialogOGL::UpdateGUI() } -void VideoConfig::UpdateProjectionHack() -{ - ::UpdateProjectionHack(g_Config.iPhackvalue); - //switch(g_Config.iPhackvalue) - //{ - //case OGL_HACK_NONE: - // g_Config.bProjHack1 = 0; - // g_Config.bPhackvalue1 = 0; - // g_Config.bPhackvalue2 = 0; - // break; - //case OGL_HACK_ZELDA_TP_BLOOM_HACK: - // g_Config.bPhackvalue1 = 1; - // g_Config.bProjHack1 = 1; - // break; - //case OGL_HACK_SONIC_AND_THE_BLACK_KNIGHT: - // g_Config.bPhackvalue1 = 1; - // g_Config.fhackvalue1 = 0.00002f; - // g_Config.bPhackvalue2 = 1; - // g_Config.fhackvalue2 = 1.999980f; - // break; - //case OGL_HACK_BLEACH_VERSUS_CRUSADE: - // g_Config.bPhackvalue2 = 1; - // g_Config.fhackvalue2 = 0.5f; - // g_Config.bPhackvalue1 = 0; - // g_Config.bProjHack1 = 0; - // break; - //case OGL_HACK_FINAL_FANTASY_CC_ECHO_OF_TIME: - // g_Config.bPhackvalue1 = 1; - // g_Config.fhackvalue1 = 0.8f; - // g_Config.bPhackvalue2 = 1; - // g_Config.fhackvalue2 = 1.2f; - // g_Config.bProjHack1 = 0; - // break; - //case OGL_HACK_HARVESTMOON_MM: - // g_Config.bPhackvalue1 = 1; - // g_Config.fhackvalue1 = 0.0075f; - // g_Config.bPhackvalue2 = 0; - // g_Config.bProjHack1 = 0; - //case OGL_HACK_BATEN_KAITOS: - // g_Config.bPhackvalue1 = 1; - // g_Config.fhackvalue1 = 0.0026f; - // g_Config.bPhackvalue2 = 1; - // g_Config.fhackvalue2 = 1.9974f; - // g_Config.bProjHack1 = 1; - // break; - //case OGL_HACK_BATEN_KAITOS_ORIGIN: - // g_Config.bPhackvalue1 = 1; - // g_Config.fhackvalue1 = 0.0012f; - // g_Config.bPhackvalue2 = 1; - // g_Config.fhackvalue2 = 1.9988f; - // g_Config.bProjHack1 = 1; - // break; - //case OGL_HACK_SKIES_OF_ARCADIA: - // g_Config.bPhackvalue1 = 1; - // g_Config.fhackvalue1 = 0.04f; - // g_Config.bPhackvalue2 = 0; - // g_Config.bProjHack1 = 0; - // break; - //} - - //// Set the projections hacks - //Projection_SetHack0(g_Config.bProjHack1); - //Projection_SetHack1(ProjectionHack(g_Config.bPhackvalue1 == 0 ? false : true, g_Config.fhackvalue1)); - //Projection_SetHack2(ProjectionHack(g_Config.bPhackvalue2 == 0 ? false : true, g_Config.fhackvalue2)); -} diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp index 17bd5d50a40..640312a2625 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp @@ -32,6 +32,7 @@ #include #endif +#include "GlobalControl.h" #include "CommonPaths.h" #include "VideoConfig.h" #include "Profiler.h" @@ -171,6 +172,71 @@ void HandleCgError(CGcontext ctx, CGerror err, void* appdata) } } // namespace +void VideoConfig::UpdateProjectionHack() +{ + ::UpdateProjectionHack(g_Config.iPhackvalue); + //switch(g_Config.iPhackvalue) + //{ + //case OGL_HACK_NONE: + // g_Config.bProjHack1 = 0; + // g_Config.bPhackvalue1 = 0; + // g_Config.bPhackvalue2 = 0; + // break; + //case OGL_HACK_ZELDA_TP_BLOOM_HACK: + // g_Config.bPhackvalue1 = 1; + // g_Config.bProjHack1 = 1; + // break; + //case OGL_HACK_SONIC_AND_THE_BLACK_KNIGHT: + // g_Config.bPhackvalue1 = 1; + // g_Config.fhackvalue1 = 0.00002f; + // g_Config.bPhackvalue2 = 1; + // g_Config.fhackvalue2 = 1.999980f; + // break; + //case OGL_HACK_BLEACH_VERSUS_CRUSADE: + // g_Config.bPhackvalue2 = 1; + // g_Config.fhackvalue2 = 0.5f; + // g_Config.bPhackvalue1 = 0; + // g_Config.bProjHack1 = 0; + // break; + //case OGL_HACK_FINAL_FANTASY_CC_ECHO_OF_TIME: + // g_Config.bPhackvalue1 = 1; + // g_Config.fhackvalue1 = 0.8f; + // g_Config.bPhackvalue2 = 1; + // g_Config.fhackvalue2 = 1.2f; + // g_Config.bProjHack1 = 0; + // break; + //case OGL_HACK_HARVESTMOON_MM: + // g_Config.bPhackvalue1 = 1; + // g_Config.fhackvalue1 = 0.0075f; + // g_Config.bPhackvalue2 = 0; + // g_Config.bProjHack1 = 0; + //case OGL_HACK_BATEN_KAITOS: + // g_Config.bPhackvalue1 = 1; + // g_Config.fhackvalue1 = 0.0026f; + // g_Config.bPhackvalue2 = 1; + // g_Config.fhackvalue2 = 1.9974f; + // g_Config.bProjHack1 = 1; + // break; + //case OGL_HACK_BATEN_KAITOS_ORIGIN: + // g_Config.bPhackvalue1 = 1; + // g_Config.fhackvalue1 = 0.0012f; + // g_Config.bPhackvalue2 = 1; + // g_Config.fhackvalue2 = 1.9988f; + // g_Config.bProjHack1 = 1; + // break; + //case OGL_HACK_SKIES_OF_ARCADIA: + // g_Config.bPhackvalue1 = 1; + // g_Config.fhackvalue1 = 0.04f; + // g_Config.bPhackvalue2 = 0; + // g_Config.bProjHack1 = 0; + // break; + //} + + //// Set the projections hacks + //Projection_SetHack0(g_Config.bProjHack1); + //Projection_SetHack1(ProjectionHack(g_Config.bPhackvalue1 == 0 ? false : true, g_Config.fhackvalue1)); + //Projection_SetHack2(ProjectionHack(g_Config.bPhackvalue2 == 0 ? false : true, g_Config.fhackvalue2)); +} // Init functions diff --git a/Source/Plugins/Plugin_VideoOGL/Src/SConscript b/Source/Plugins/Plugin_VideoOGL/Src/SConscript index 98821da7c36..7c58c60b928 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/SConscript +++ b/Source/Plugins/Plugin_VideoOGL/Src/SConscript @@ -31,7 +31,7 @@ compileFlags = [ linkFlags = [ ] libs = [ - 'videocommon', 'soil', 'common', + 'videocommon', 'soil', 'common' ] gfxenv = env.Clone() @@ -65,7 +65,7 @@ if sys.platform == 'darwin': conf.CheckPKG('OpenGL') if not conf.CheckPKG('Cg'): print name + " must have Cg framework from nvidia to be build" - Return() + #Return() elif sys.platform == 'win32': print name + " is assuming that you have opengl, glu, cg, and cggl" @@ -107,7 +107,7 @@ conf.Finish() if gfxenv['USE_WX'] and not gfxenv['HAVE_WX']: print "Must have wx to use wxgl" Return() - +gfxenv['FRAMEWORKS'] = ['CoreFoundation', 'System', 'OpenGL', 'Cocoa', 'Cg'] gfxenv.Append( CXXFLAGS = compileFlags, LINKFLAGS = linkFlags, diff --git a/Source/Plugins/Plugin_VideoOGL/Src/main.cpp b/Source/Plugins/Plugin_VideoOGL/Src/main.cpp index 263a9695f94..9e1cff9e147 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/main.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/main.cpp @@ -272,8 +272,10 @@ void CocaAddResolutions() { if (px != modeWidth && py != modeHeight) { char temp[32]; sprintf(temp,"%dx%d", modeWidth, modeHeight); + #if defined(HAVE_WX) && HAVE_WX m_ConfigFrame->AddFSReso(temp); m_ConfigFrame->AddWindowReso(temp);//Add same to Window ones, since they should be nearly all that's needed + #endif px = modeWidth; py = modeHeight; } diff --git a/Source/Plugins/Plugin_Wiimote/Src/SConscript b/Source/Plugins/Plugin_Wiimote/Src/SConscript index 4ed9f7d9961..e0d90609ee9 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/SConscript +++ b/Source/Plugins/Plugin_Wiimote/Src/SConscript @@ -43,6 +43,7 @@ if sys.platform == 'darwin': LINKFLAGS = ['-framework' ,'IOBluetooth'], LIBS = libs, ) + wmenv['FRAMEWORKS'] = ['Cocoa', 'System'] else: wmenv.Append( CXXFLAGS = cxxflags,