Linux: Compiling with nowx=true now builds the entire project without WX, this isn't tested in Windows so it's always on via Common.h, You can test/fix it yourself that way. Also fixed Compiling again

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@762 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Sonicadvance1 2008-10-04 07:57:28 +00:00
parent 3d475abf2b
commit 9a3ebd0c3b
22 changed files with 135 additions and 101 deletions

View File

@ -1,5 +0,0 @@
[Default]
GFXPlugin = Plugins/libzeroogl.so
DSPPlugin = Plugins/libdsphle.so
PadPlugin = Plugins/libPlugin_nJoy_SDL.so
WiiMotePlugin = Plugins/libPlugin_Wiimote.so

View File

@ -61,7 +61,6 @@ dirs = [
'Externals/LZO',
'Source/Core/Core/Src',
'Source/Core/DiscIO/Src',
'Source/Core/DebuggerWX/Src',
'Source/Core/VideoCommon/Src',
'Source/Plugins/Plugin_VideoOGL/Src',
'Source/Plugins/Plugin_DSP_HLE/Src',
@ -72,7 +71,7 @@ dirs = [
'Source/Plugins/Plugin_Wiimote_Test/Src',
'Source/Core/DolphinWX/Src',
]
builders = {}
if sys.platform == 'darwin':
from plistlib import writePlist
@ -182,6 +181,8 @@ if not env['nowx']:
):
print 'gui build requires wxwidgets >= 2.8'
Exit(1)
if not env['nowx']:
dirs.Append['Source/Core/DebuggerWX/Src',]
# After all configuration tests are done
env = conf.Finish()
@ -189,6 +190,7 @@ env = conf.Finish()
#wx windows flags
if not env['nowx']:
wxconfig.ParseWXConfig(env)
compileFlags.append('-DUSE_WX')
#get sdl stuff
env.ParseConfig('sdl-config --cflags --libs')

View File

@ -24,15 +24,16 @@
#define CHECK_HEAP_INTEGRITY()
#ifdef _WIN32
#ifdef _DEBUG
#include <crtdbg.h>
#undef CHECK_HEAP_INTEGRITY
#define CHECK_HEAP_INTEGRITY() {if (!_CrtCheckMemory()) PanicAlert("memory corruption detected. see log.");}
#endif
#define USE_WX // Always define in Windows since it isn't tested.
#ifdef _DEBUG
#include <crtdbg.h>
#undef CHECK_HEAP_INTEGRITY
#define CHECK_HEAP_INTEGRITY() {if (!_CrtCheckMemory()) PanicAlert("memory corruption detected. see log.");}
#endif
#include "../../../PluginSpecs/CommonTypes.h"
#include "../../../PluginSpecs/CommonTypes.h"
#else
#include "CommonTypes.h"
#include "CommonTypes.h"
#endif
#include <stdlib.h>
@ -41,45 +42,45 @@
// Function Cross-Compatibility
#ifdef _WIN32
#define strcasecmp _stricmp
#define unlink _unlink
#define strcasecmp _stricmp
#define unlink _unlink
#else
#define _stricmp strcasecmp
#define _unlink unlink
#define _stricmp strcasecmp
#define _unlink unlink
#endif
#ifdef _WIN32
#ifdef _WIN32
#define fseek _fseeki64
#define ftell _ftelli64
#endif
#ifdef _WIN32
#define fseek _fseeki64
#define ftell _ftelli64
#endif
#define POSIX 0
#define NOMINMAX
#define POSIX 0
#define NOMINMAX
#if _M_IX86
#define Crash() {__asm int 3}
#else
#if _MSC_VER > 1000
extern "C" {
__declspec(dllimport) void __stdcall DebugBreak(void);
}
#define Crash() {DebugBreak();}
#else
#error fixme
#endif
#endif
#if _M_IX86
#define Crash() {__asm int 3}
#else
#if _MSC_VER > 1000
extern "C" {
__declspec(dllimport) void __stdcall DebugBreak(void);
}
#define Crash() {DebugBreak();}
#else
#error fixme
#endif
#endif
#elif __GNUC__
#define POSIX 1
#define MAX_PATH 260
#define stricmp strcasecmp
#define Crash() {asm ("int $3");}
#ifdef _LP64
#define _M_X64 1
#else
#define _M_IX86 1
#endif
#define POSIX 1
#define MAX_PATH 260
#define stricmp strcasecmp
#define Crash() {asm ("int $3");}
#ifdef _LP64
#define _M_X64 1
#else
#define _M_IX86 1
#endif
#endif
// Alignment

View File

@ -27,15 +27,20 @@
#include "VolumeCreator.h"
#include "Config.h"
#include "Core.h"
#ifdef USE_WX
#include "Frame.h"
#include "CodeWindow.h"
#endif
static std::string s_DataBasePath_EUR = "Data_EUR";
static std::string s_DataBasePath_USA = "Data_USA";
static std::string s_DataBasePath_JAP = "Data_JAP";
#ifdef USE_WX
extern CFrame* main_frame;
extern CCodeWindow* g_pCodeWindow;
#endif
namespace BootManager
{
@ -46,7 +51,8 @@ extern "C" HINSTANCE wxGetInstance();
bool BootCore(const std::string& _rFilename)
{
SCoreStartupParameter StartUp = SConfig::GetInstance().m_LocalCoreStartupParameter;
#ifdef USE_WX
if (g_pCodeWindow)
{
// StartUp.bUseDualCore = code_frame->UseDualCore();
@ -57,11 +63,16 @@ bool BootCore(const std::string& _rFilename)
// StartUp.bUseDualCore = false;
// StartUp.bUseJIT = true;
}
#endif
StartUp.m_BootType = SCoreStartupParameter::BOOT_ISO;
StartUp.m_strFilename = _rFilename;
StartUp.bRunCompareClient = false;
StartUp.bRunCompareServer = false;
#ifdef USE_WX
StartUp.bEnableDebugging = g_pCodeWindow ? true : false; // RUNNING_DEBUG
#else
StartUp.bEnableDebugging = false;
#endif
std::string BaseDataPath;
#ifdef _WIN32
StartUp.hInstance = wxGetInstance();
@ -84,8 +95,10 @@ bool BootCore(const std::string& _rFilename)
ini.Get("Core", "SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
ini.Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers);
}
#ifdef USE_WX
if(main_frame)
StartUp.hMainWindow = main_frame->GetRenderHandle();
#endif
// init the core
if (!Core::Init(StartUp))
@ -93,8 +106,12 @@ bool BootCore(const std::string& _rFilename)
PanicAlert("Couldn't init the core.\nCheck your configuration.");
return(false);
}
#ifdef USE_WX
Core::SetState(g_pCodeWindow ? Core::CORE_PAUSE : Core::CORE_RUN);
#else
Core::SetState(Core::CORE_RUN);
#endif
return(true);
}

View File

@ -78,7 +78,7 @@ enum
ID_TOOLBAR = 500,
LIST_CTRL = 1000
};
#ifdef USE_WX
#define wxUSE_XPM_IN_MSW 1
#define USE_XPM_BITMAPS 1
@ -125,5 +125,5 @@ enum
),
extern const wxEventType wxEVT_HOST_COMMAND;
#endif
#endif

View File

@ -67,6 +67,7 @@ GameListItem::GameListItem(const std::string& _rFileName)
pBannerLoader->GetDescription(m_Description);
if (pBannerLoader->GetBanner(g_ImageTemp))
{
#ifdef USE_WX
unsigned char* pImage = (unsigned char*)malloc(DVD_BANNER_WIDTH * DVD_BANNER_HEIGHT * 3);
for (size_t i = 0; i < DVD_BANNER_WIDTH * DVD_BANNER_HEIGHT; i++)
@ -77,6 +78,7 @@ GameListItem::GameListItem(const std::string& _rFileName)
}
m_Image.Create(DVD_BANNER_WIDTH, DVD_BANNER_HEIGHT, pImage);
#endif
}
}
else

View File

@ -36,7 +36,9 @@ public:
bool IsCompressed() const {return m_BlobCompressed;}
u64 GetFileSize() const {return m_FileSize;}
u64 GetVolumeSize() const {return m_VolumeSize;}
#ifdef USE_WX
const wxImage& GetImage() const {return m_Image;}
#endif
private:
std::string m_FileName;
@ -50,7 +52,9 @@ private:
DiscIO::IVolume::ECountry m_Country;
#ifdef USE_WX
wxImage m_Image;
#endif
bool m_Valid;

View File

@ -1,5 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#ifndef _WIN32
//#include <curses.h>
#else

View File

@ -6,22 +6,19 @@ import sys
files = [
'BootManager.cpp',
'Config.cpp',
'ConfigMain.cpp',
'FileSearch.cpp',
'FilesystemViewer.cpp',
'Frame.cpp',
'GameListCtrl.cpp',
'Globals.cpp',
'ISOFile.cpp',
'MemcardManager.cpp',
'MemoryCards/GCMemcard.cpp',
'PluginManager.cpp',
'stdafx.cpp',
'cmdline.c',
]
libs = [
'debwx', 'core', 'minilzo', 'discio', 'bdisasm', 'videocommon', 'common', 'z'
'core', 'minilzo', 'discio', 'bdisasm', 'videocommon', 'common', 'z'
]
if not env['nowx']:
files.Append['ConfigMain.cpp', 'FilesystemViewer.cpp', 'Frame.cpp', 'GameListCtrl.cpp', 'MemcardManager.cpp', 'PluginManager.cpp',]
libs.Append['debwx', ]
wxenv = env.Clone()
wxenv.Append(
@ -30,7 +27,7 @@ wxenv.Append(
'wxNEEDS_CHARPP',
],
LINKFLAGS = [
'-pthread',
'-lpthread',
],
LIBS = libs
)
@ -64,5 +61,6 @@ else:
exeNoGUI = '../../../../Binary/linux/DolphinNoGUI'
objects = [ wxenv.Object(srcFile) for srcFile in files ]
wxenv.Program(exeGUI, objects + [ 'Main.cpp' ])
if not env['nowx']:
wxenv.Program(exeGUI, objects + [ 'Main.cpp' ])
wxenv.Program(exeNoGUI, objects + [ 'MainNoGUI.cpp' ])

View File

@ -42,7 +42,7 @@
// Externals
float ratioFactor; // a global to get the ratio factor from MixAdd
extern float ratioFactor; // a global to get the ratio factor from MixAdd
int gUpdFreq = 5;
u32 gLastBlock;

View File

@ -16,9 +16,6 @@ files = [
'Globals.cpp',
'PCHW/AOSoundStream.cpp',
'PCHW/Mixer.cpp',
'Debugger/Debugger.cpp',
'Debugger/PBView.cpp',
'Logging/Logging.cpp',
'UCodes/UCode_AX.cpp',
'UCodes/UCode_CARD.cpp',
'UCodes/UCode_InitAudioSystem.cpp',
@ -27,6 +24,8 @@ files = [
'UCodes/UCodes.cpp',
'UCodes/UCode_Zelda.cpp',
]
if not env['nowx']:
files.Append['Debugger/Debugger.cpp', 'Debugger/PBView.cpp', 'Logging/Logging.cpp',]
dspenv = env.Clone()
dspenv.Append(

View File

@ -27,14 +27,17 @@
#include "UCode_AXStructs.h"
#include "UCode_AX.h"
#ifdef USE_WX
#include "../Debugger/Debugger.h"
// ---------------------------------------------------------------------------------------
#endif
float ratioFactor;
// Externals
// -----------
extern float ratioFactor;
extern u32 gLastBlock;
#ifdef USE_WX
extern CDebugger* m_frame;
// -----------
#endif
CUCode_AX::CUCode_AX(CMailHandler& _rMailHandler, bool wii)
: IUCode(_rMailHandler)
@ -140,10 +143,12 @@ void CUCode_AX::MixAdd(short* _pBuffer, int _iSize)
#endif
// write logging data to debugger
#ifdef USE_WX
if(m_frame)
{
CUCode_AX::Logging(_pBuffer, _iSize, 0);
}
#endif
for (int i = 0; i < numberOfPBs; i++)

View File

@ -15,10 +15,7 @@
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
// =======================================================================================
// Includes
// ------------------
#include "Globals.h"
#include "ChunkFile.h"
#include "resource.h"
@ -36,14 +33,12 @@
#include "DSPHandler.h"
#include "Config.h"
#ifdef USE_WX
#include "Debugger/Debugger.h" // for the CDebugger class
#include "Logging/Console.h" // for startConsoleWin, wprintf, GetConsoleHwnd
// ===================
#endif
// =======================================================================================
// DSP struct
// -------------------
DSPInitialize g_dspInitialize;
u8* g_pMemory;
@ -68,12 +63,9 @@ struct DSPState
};
DSPState g_dspState;
// ====================
//////////////////////////////////////////////////////////////////////////////////////////
#ifdef USE_WX
// wxWidgets - Some kind of stuff wx needs
// ッッッッッッッッッ
class wxDLLApp : public wxApp
{
bool OnInit()
@ -84,8 +76,7 @@ class wxDLLApp : public wxApp
IMPLEMENT_APP_NO_MAIN(wxDLLApp)
WXDLLIMPEXP_BASE void wxSetInstance(HINSTANCE hInst);
///////////////////
#endif
#ifdef _WIN32
HINSTANCE g_hInstance = NULL;
@ -126,9 +117,7 @@ BOOL APIENTRY DllMain(HINSTANCE hinstDLL, // DLL module handle
#endif
// =======================================================================================
// Open and close console
// -------------------
void OpenConsole()
{
#if defined (_WIN32)
@ -145,22 +134,21 @@ void CloseConsole()
FreeConsole();
#endif
}
// ===================
// =======================================================================================
// Create debugging window - We could use use wxWindow win; new CDebugger(win) like nJoy but I don't
// know why it would be better. - There's a lockup problem with ShowModal(), but Show() doesn't work
// because then DLL_PROCESS_DETACH is called immediately after DLL_PROCESS_ATTACH.
// -------------------
#ifdef USE_WX
CDebugger* m_frame;
#endif
void DllDebugger(HWND _hParent)
{
#ifdef USE_WX
m_frame = new CDebugger(NULL);
m_frame->ShowModal();
#endif
}
// ===================
void GetDllInfo(PLUGIN_INFO* _PluginInfo)
{

View File

@ -21,14 +21,18 @@
#include <stdio.h>
#include <math.h>
#ifdef USE_WX
#include <wx/aboutdlg.h>
#endif
#include "Common.h"
#include "pluginspecs_pad.h"
#include "PadSimple.h"
#include "IniFile.h"
#ifdef USE_WX
#include "GUI/ConfigDlg.h"
#endif
#ifdef XINPUT_ENABLE
#include "XInput.h"
@ -166,17 +170,20 @@ void GetDllInfo(PLUGIN_INFO* _PluginInfo)
void DllAbout(HWND _hParent)
{
#ifdef USE_WX
wxAboutDialogInfo info;
info.AddDeveloper(_T("ector"));
info.AddDeveloper(_T("F|RES"));
info.SetDescription(_T("Simple keyboard and XInput plugin for dolphin"));
wxAboutBox(info);
#endif
}
void DllConfig(HWND _hParent)
{
LoadConfig();
#ifdef USE_WX
#ifdef _WIN32
wxWindow win;
win.SetHWND(_hParent);
@ -187,6 +194,7 @@ void DllConfig(HWND _hParent)
#else
ConfigDialog frame(NULL);
frame.ShowModal();
#endif
#endif
SaveConfig();
}

View File

@ -10,10 +10,9 @@ else:
files = [
"PadSimple.cpp",
"XInputBase.cpp",
"GUI/ConfigDlg.cpp",
]
if not env['nowx']:
files.Append["GUI/ConfigDlg.cpp", "XInputBase.cpp",]
padenv = env.Clone()
padenv.Append(LIBS = [ 'common' ])
padenv.Append(LIBS = [ 'common', 'X11' ])
padenv.SharedLibrary(output, files)

View File

@ -15,12 +15,13 @@
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifdef USE_WX
#include <wx/wx.h>
#include <wx/filepicker.h>
#include <wx/notebook.h>
#include <wx/dialog.h>
#include <wx/aboutdlg.h>
#endif
#include "Globals.h"

View File

@ -8,13 +8,11 @@ import utils
files = [
'BPStructs.cpp',
'DataReader.cpp',
'Globals.cpp',
'GLInit.cpp',
'main.cpp',
'memcpy_amd.cpp',
'OpcodeDecoding.cpp',
# 'OpcodeReaders.cpp', # outdated
'PixelShader.cpp',
'PixelShaderManager.cpp',
'rasterfont.cpp',
@ -25,8 +23,9 @@ files = [
'VertexShader.cpp',
'VertexShaderManager.cpp',
'XFB.cpp',
'GUI/ConfigDlg.cpp',
]
if not env['nowx']:
files.Append['GUI/ConfigDlg.cpp',]
compileFlags = [
'-fPIC',
]

View File

@ -15,7 +15,10 @@
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifdef USE_WX
#include <wx/aboutdlg.h>
#endif
#include "Globals.h"
#ifdef _WIN32
@ -26,7 +29,9 @@
#include <SDL.h>
#endif
#ifdef USE_WX
#include "GUI/ConfigDlg.h"
#endif
#include "Render.h"
#include "GLInit.h"
@ -62,14 +67,17 @@ void GetDllInfo (PLUGIN_INFO* _PluginInfo)
void DllAbout(HWND _hParent)
{
#ifdef USE_WX
wxAboutDialogInfo info;
info.AddDeveloper(_T("zerofrog(@gmail.com)"));
info.SetDescription(_T("Vertex/Pixel Shader 2.0 or higher, framebuffer objects, multiple render targets"));
wxAboutBox(info);
#endif
}
void DllConfig(HWND _hParent)
{
#ifdef USE_WX
#if defined(_WIN32)
wxWindow win;
win.SetHWND(_hParent);
@ -148,6 +156,7 @@ void DllConfig(HWND _hParent)
//TODO
#endif
#endif
}

View File

@ -1,4 +1,6 @@
#ifdef USE_WX
#include <wx/aboutdlg.h>
#endif
#include "Common.h"
#include "StringUtil.h"
@ -143,11 +145,13 @@ extern "C" void GetDllInfo (PLUGIN_INFO* _PluginInfo)
extern "C" void DllAbout(HWND _hParent)
{
#ifdef USE_WX
wxAboutDialogInfo info;
info.SetName(_T("Wiimote test plugin"));
info.AddDeveloper(_T("masken (masken3@gmail.com)"));
info.SetDescription(_T("Wiimote test plugin"));
wxAboutBox(info);
#endif
}
extern "C" void DllConfig(HWND _hParent)

View File

@ -10,9 +10,9 @@ else:
files = [
'nJoy.cpp',
'GUI/AboutBox.cpp',
'GUI/ConfigBox.cpp',
]
if not env['nowx']:
files.Append['GUI/AboutBox.cpp', 'GUI/ConfigBox.cpp',]
padenv = env.Clone()
padenv.Append(

View File

@ -80,7 +80,7 @@ HRESULT SetDeviceForcesXY();
//////////////////////////////////////////////////////////////////////////////////////////
// wxWidgets
// ¯¯¯¯¯¯¯¯¯
#ifdef USE_WXWIDGETS
#ifdef USE_WX
class wxDLLApp : public wxApp
{
bool OnInit()
@ -161,7 +161,7 @@ void GetDllInfo(PLUGIN_INFO* _PluginInfo)
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
void DllAbout(HWND _hParent)
{
#ifdef USE_WXWIDGETS
#ifdef USE_WX
#ifdef _WIN32
wxWindow win;
win.SetHWND((WXHWND)_hParent);
@ -189,7 +189,7 @@ void DllAbout(HWND _hParent)
void DllConfig(HWND _hParent)
{
#ifdef USE_WXWIDGETS
#ifdef USE_WX
#ifdef _WIN32
if(SDL_Init(SDL_INIT_JOYSTICK ) < 0)
{

View File

@ -62,9 +62,10 @@
#endif
#ifdef __linux__
#include <linux/input.h>
#include <fcntl.h>
#endif
#ifdef USE_WXWIDGETS
#ifdef USE_WX
#include "GUI/AboutBox.h"
#include "GUI/ConfigBox.h"
#else