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 21880fa876..49629bcb4a 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 f7a0297cfe..e264744559 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 348975b3ff..279565748f 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 c862ef8b2b..068542db93 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 756750f5be..78043cbb11 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 b389364769..1cc11d5250 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 c1333cb771..e31c3acf39 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 17bd5d50a4..640312a262 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 98821da7c3..7c58c60b92 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 263a9695f9..9e1cff9e14 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 4ed9f7d996..e0d90609ee 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,