From 86495a83c16538ddcab7da4ea68de38ee2d1837e Mon Sep 17 00:00:00 2001 From: ShizZy Date: Wed, 4 Sep 2013 22:09:15 -0400 Subject: [PATCH] various fixes to be able to build project --- akiru.sln | 20 +++ src/akiru/akiru.rc | Bin 3284 -> 3144 bytes src/akiru/akiru.vcxproj | 44 +++--- src/akiru/akiru.vcxproj.filters | 19 +-- src/akiru/src/akiru.cpp | 131 +++++++----------- ...emuwindow_glfw.cpp => emu_window_glfw.cpp} | 0 .../{emuwindow_glfw.h => emu_window_glfw.h} | 0 src/common/src/emu_window.h | 30 ++-- src/core/core.vcxproj | 35 ++--- vsprops/app.props | 14 +- vsprops/base.props | 2 +- vsprops/externals.props | 6 +- 12 files changed, 141 insertions(+), 160 deletions(-) rename src/akiru/src/emuwindow/{emuwindow_glfw.cpp => emu_window_glfw.cpp} (100%) rename src/akiru/src/emuwindow/{emuwindow_glfw.h => emu_window_glfw.h} (100%) diff --git a/akiru.sln b/akiru.sln index c8bf30000..325d99f6f 100644 --- a/akiru.sln +++ b/akiru.sln @@ -2,6 +2,10 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "src\common\common.vcxproj", "{DFE335FC-755D-4BAA-8452-94434F8A1EDB}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "akiru", "src\akiru\akiru.vcxproj", "{CE7D2C07-21CE-4590-81AB-2ADA88A2B85F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "src\core\core.vcxproj", "{8AEA7F29-3466-4786-A10D-6A4BD0610977}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -18,6 +22,22 @@ Global {DFE335FC-755D-4BAA-8452-94434F8A1EDB}.Release|Win32.Build.0 = Release|Win32 {DFE335FC-755D-4BAA-8452-94434F8A1EDB}.Release|x64.ActiveCfg = Release|x64 {DFE335FC-755D-4BAA-8452-94434F8A1EDB}.Release|x64.Build.0 = Release|x64 + {CE7D2C07-21CE-4590-81AB-2ADA88A2B85F}.Debug|Win32.ActiveCfg = Debug|Win32 + {CE7D2C07-21CE-4590-81AB-2ADA88A2B85F}.Debug|Win32.Build.0 = Debug|Win32 + {CE7D2C07-21CE-4590-81AB-2ADA88A2B85F}.Debug|x64.ActiveCfg = Debug|x64 + {CE7D2C07-21CE-4590-81AB-2ADA88A2B85F}.Debug|x64.Build.0 = Debug|x64 + {CE7D2C07-21CE-4590-81AB-2ADA88A2B85F}.Release|Win32.ActiveCfg = Release|Win32 + {CE7D2C07-21CE-4590-81AB-2ADA88A2B85F}.Release|Win32.Build.0 = Release|Win32 + {CE7D2C07-21CE-4590-81AB-2ADA88A2B85F}.Release|x64.ActiveCfg = Release|x64 + {CE7D2C07-21CE-4590-81AB-2ADA88A2B85F}.Release|x64.Build.0 = Release|x64 + {8AEA7F29-3466-4786-A10D-6A4BD0610977}.Debug|Win32.ActiveCfg = Debug|Win32 + {8AEA7F29-3466-4786-A10D-6A4BD0610977}.Debug|Win32.Build.0 = Debug|Win32 + {8AEA7F29-3466-4786-A10D-6A4BD0610977}.Debug|x64.ActiveCfg = Debug|x64 + {8AEA7F29-3466-4786-A10D-6A4BD0610977}.Debug|x64.Build.0 = Debug|x64 + {8AEA7F29-3466-4786-A10D-6A4BD0610977}.Release|Win32.ActiveCfg = Release|Win32 + {8AEA7F29-3466-4786-A10D-6A4BD0610977}.Release|Win32.Build.0 = Release|Win32 + {8AEA7F29-3466-4786-A10D-6A4BD0610977}.Release|x64.ActiveCfg = Release|x64 + {8AEA7F29-3466-4786-A10D-6A4BD0610977}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/akiru/akiru.rc b/src/akiru/akiru.rc index db4fc80b991c38f792993aca9e428dce34573886..dd5241bdff57f152fcf227b8adfd6eac793b7a50 100644 GIT binary patch delta 16 Xcmca2c|u|X7w2RpcDc=4I2D)yF~kJ^ delta 157 zcmX>haYb?i7iYaEgA0QvLp%^WGx#(3F&Hx_;Ds=C_*Effl^BW`QW=UFVt_D{A( - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + @@ -190,13 +190,13 @@ - + - + diff --git a/src/akiru/akiru.vcxproj.filters b/src/akiru/akiru.vcxproj.filters index 2fc1128af..a0cff2548 100644 --- a/src/akiru/akiru.vcxproj.filters +++ b/src/akiru/akiru.vcxproj.filters @@ -2,32 +2,23 @@ - - emuwindow - - - emuwindow + + emu_window - - emuwindow - - - emuwindow + + emu_window - - - - + {e3161526-9f53-4670-8dae-2be81ff01bc2} diff --git a/src/akiru/src/akiru.cpp b/src/akiru/src/akiru.cpp index 0d15c5b20..bb69cf1b1 100644 --- a/src/akiru/src/akiru.cpp +++ b/src/akiru/src/akiru.cpp @@ -1,9 +1,9 @@ -/*! +/** * Copyright (C) 2013 Akiru Emulator * - * @file akiry.cpp + * @file akiru.cpp * @author ShizZy - * @date 2012-02-11 + * @date 2013-09-04 * @brief Main entry point * * @section LICENSE @@ -23,102 +23,73 @@ */ #include "common.h" -#include "platform.h" -#if EMU_PLATFORM == PLATFORM_LINUX -#include -#endif +//#if EMU_PLATFORM == PLATFORM_LINUX +//#include +//#endif -#include "config.h" -#include "xml.h" -#include "x86_utils.h" - -//#include "core.h" -//#include "dvd/loader.h" -//#include "powerpc/cpu_core.h" -//#include "hw/hw.h" -//#include "video_core.h" - -#include "emuwindow/emuwindow_glfw.h" +#include "emu_window/emu_window_glfw.h" #include "akiru.h" -//////////////////////////////////////////////////////////////////////////////////////////////////// -// This is needed to fix SDL in certain build environments -#ifdef main -#undef main -#endif - //#define PLAY_FIFO_RECORDING /// Application entry point int __cdecl main(int argc, char **argv) { u32 tight_loop; - LOG_NOTICE(TMASTER, APP_NAME " starting...\n"); + printf("akiru starting...\n"); - char program_dir[MAX_PATH]; - _getcwd(program_dir, MAX_PATH-1); - size_t cwd_len = strlen(program_dir); - program_dir[cwd_len] = '/'; - program_dir[cwd_len+1] = '\0'; + //char program_dir[MAX_PATH]; + //_getcwd(program_dir, MAX_PATH-1); + //size_t cwd_len = strlen(program_dir); + //program_dir[cwd_len] = '/'; + //program_dir[cwd_len+1] = '\0'; - common::ConfigManager config_manager; - config_manager.set_program_dir(program_dir, MAX_PATH); - config_manager.ReloadConfig(NULL); - core::SetConfigManager(&config_manager); + //common::ConfigManager config_manager; + //config_manager.set_program_dir(program_dir, MAX_PATH); + //config_manager.ReloadConfig(NULL); + //core::SetConfigManager(&config_manager); EmuWindow_GLFW* emu_window = new EmuWindow_GLFW; - if (E_OK != core::Init(emu_window)) { - LOG_ERROR(TMASTER, "core initialization failed, exiting..."); - core::Kill(); - exit(1); - } + //if (E_OK != core::Init(emu_window)) { + // LOG_ERROR(TMASTER, "core initialization failed, exiting..."); + // core::Kill(); + // exit(1); + //} -#ifndef PLAY_FIFO_RECORDING - // Load a game or die... - if (E_OK == dvd::LoadBootableFile(common::g_config->default_boot_file())) { - if (common::g_config->enable_auto_boot()) { - core::Start(); - } else { - LOG_ERROR(TMASTER, "Autoboot required in no-GUI mode... Exiting!\n"); - } - } else { - LOG_ERROR(TMASTER, "Failed to load a bootable file... Exiting!\n"); - exit(E_ERR); - } - // run the game - while(core::SYS_DIE != core::g_state) { - if (core::SYS_RUNNING == core::g_state) { - if(!(cpu->is_on)) { - cpu->Start(); // Initialize and start CPU. - } else { - for(tight_loop = 0; tight_loop < 10000; ++tight_loop) { - cpu->execStep(); - } - } - } else if (core::SYS_HALTED == core::g_state) { - core::Stop(); - } - } - core::Kill(); -#else - // load fifo log and replay it + //// Load a game or die... + //if (E_OK == dvd::LoadBootableFile(common::g_config->default_boot_file())) { + // if (common::g_config->enable_auto_boot()) { + // core::Start(); + // } else { + // LOG_ERROR(TMASTER, "Autoboot required in no-GUI mode... Exiting!\n"); + // } + //} else { + // LOG_ERROR(TMASTER, "Failed to load a bootable file... Exiting!\n"); + // exit(E_ERR); + //} + //// run the game + //while(core::SYS_DIE != core::g_state) { + // if (core::SYS_RUNNING == core::g_state) { + // if(!(cpu->is_on)) { + // cpu->Start(); // Initialize and start CPU. + // } else { + // for(tight_loop = 0; tight_loop < 10000; ++tight_loop) { + // cpu->execStep(); + // } + // } + // } else if (core::SYS_HALTED == core::g_state) { + // core::Stop(); + // } + //} + //core::Kill(); - // TODO: Restructure initialization process - Fix Flipper_Open being called from dvd loaders (wtf?) - Flipper_Open(); - video_core::Start(emu_window); - core::SetState(core::SYS_RUNNING); + while (1) { + } - fifo_player::FPFile file; - fifo_player::Load("/home/tony/20_frames.gff", file); - fifo_player::PlayFile(file); - - // TODO: Wait for video core to finish - PlayFile should handle this - while (1); -#endif delete emu_window; - return E_OK; + return 0; } diff --git a/src/akiru/src/emuwindow/emuwindow_glfw.cpp b/src/akiru/src/emuwindow/emu_window_glfw.cpp similarity index 100% rename from src/akiru/src/emuwindow/emuwindow_glfw.cpp rename to src/akiru/src/emuwindow/emu_window_glfw.cpp diff --git a/src/akiru/src/emuwindow/emuwindow_glfw.h b/src/akiru/src/emuwindow/emu_window_glfw.h similarity index 100% rename from src/akiru/src/emuwindow/emuwindow_glfw.h rename to src/akiru/src/emuwindow/emu_window_glfw.h diff --git a/src/common/src/emu_window.h b/src/common/src/emu_window.h index 08f7d4766..56ff94819 100644 --- a/src/common/src/emu_window.h +++ b/src/common/src/emu_window.h @@ -1,7 +1,7 @@ /** * Copyright (C) 2005-2012 Gekko Emulator * - * @file emuwindow.h + * @file emu_window.h * @author Neobrain * @date 2012-06-01 * @brief Interface for implementing an emulator window manager @@ -26,12 +26,11 @@ #define CORE_EMUWINDOW_H_ #include "common.h" -#include "config.h" -namespace input_common -{ -class KeyboardInput; -} +//namespace input_common +//{ +//class KeyboardInput; +//} // Abstraction class used to provide an interface between emulation code and the frontend (e.g. SDL, // QGLWidget, GLFW, etc...) @@ -62,10 +61,10 @@ public: * @brief Called from KeyboardInput constructor to notify EmuWindow about its presence * @param controller_interface Pointer to a running KeyboardInput interface */ - void set_controller_interface(input_common::KeyboardInput* controller_interface) { - controller_interface_ = controller_interface; - } - input_common::KeyboardInput* controller_interface() { return controller_interface_; } + //void set_controller_interface(input_common::KeyboardInput* controller_interface) { + // controller_interface_ = controller_interface; + //} + //input_common::KeyboardInput* controller_interface() { return controller_interface_; } Config config() { return config_; } void set_config(Config val) { config_ = val; } @@ -80,11 +79,11 @@ public: void set_window_title(std::string val) { window_title_ = val; } protected: - EmuWindow() : controller_interface_(NULL), client_area_width_(640), client_area_height_(480) { + EmuWindow() : client_area_width_(640), client_area_height_(480) { char window_title[255]; - sprintf(window_title, "gekko [%s|%s] - %s", - common::g_config->CPUCoreTypeToString(common::g_config->powerpc_core()).c_str(), - common::g_config->RenderTypeToString(common::g_config->current_renderer()).c_str(), + sprintf(window_title, "akiru [%s|%s] - %s", + "null-cpu", + "null-renderer", __DATE__); window_title_ = window_title; } @@ -98,9 +97,6 @@ protected: private: Config config_; ///< Internal configuration - input_common::KeyboardInput* controller_interface_; - - DISALLOW_COPY_AND_ASSIGN(EmuWindow); }; #endif // CORE_EMUWINDOW_H_ diff --git a/src/core/core.vcxproj b/src/core/core.vcxproj index c976d292e..22fc96fe2 100644 --- a/src/core/core.vcxproj +++ b/src/core/core.vcxproj @@ -44,31 +44,31 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + @@ -180,6 +180,9 @@ {dfe335fc-755d-4baa-8452-94434f8a1edb} + + + diff --git a/vsprops/app.props b/vsprops/app.props index 0b45648e4..6a152b304 100644 --- a/vsprops/app.props +++ b/vsprops/app.props @@ -2,22 +2,22 @@ - $(SolutionDir)bin\$(PlatformName)\ + $(SolutionDir)bin\$(PlatformName)\ - $(GekkoBinDir) + $(AkiruBinDir) $(ProjectName)$(Configuration) - xcopy "$(SolutionDir)data" "$(GekkoBinDir)" /Y /S /D -xcopy "$(ExternalsDir)glew-1.6.0\bin$(PlatformArchitecture)\glew32.dll" "$(GekkoBinDir)" /Y /S /D -xcopy "$(ExternalsDir)sdl-2.0.0\lib\$(PlatformName)\SDL.dll" "$(GekkoBinDir)" /Y /S /D + xcopy "$(SolutionDir)data" "$(AkiruBinDir)" /Y /S /D +xcopy "$(ExternalsDir)glew-1.10.0\bin\Release\$(PlatformName)\glew32.dll" "$(AkiruBinDir)" /Y /S /D +xcopy "$(ExternalsDir)glfw-3.0.2\lib-msvc100\glfw3.dll" "$(AkiruBinDir)" /Y /S /D - - $(GekkoBinDir) + + $(AkiruBinDir) \ No newline at end of file diff --git a/vsprops/base.props b/vsprops/base.props index d127e15da..2eb647e98 100644 --- a/vsprops/base.props +++ b/vsprops/base.props @@ -13,7 +13,7 @@ true true $(SolutionDir)src\common\src;$(SolutionDir)src\core\src;$(SolutionDir)src\akiru\src;%(AdditionalIncludeDirectories) - _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT =1 + _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1 false diff --git a/vsprops/externals.props b/vsprops/externals.props index 1a578c5e4..c49a095ec 100644 --- a/vsprops/externals.props +++ b/vsprops/externals.props @@ -5,7 +5,7 @@ $(SolutionDir)externals\ - <_PropertySheetDisplayName>Externals + <_PropertySheetDisplayName>externals @@ -15,8 +15,8 @@ - $(ExternalsDir)glew-1.6.0\lib$(PlatformArchitecture);$(ExternalsDir)glfw-3.0\lib$(PlatformArchitecture)\$(Configuration);$(ExternalsDir)libjpeg;$(ExternalsDir)sdl-2.0.0\lib\$(PlatformName);%(AdditionalLibraryDirectories) - libjpeg.lib;glfw3.lib;opengl32.lib;glew32.lib;glu32.lib;SDL.lib;%(AdditionalDependencies) + $(ExternalsDir)glew-1.10.0\lib\Release\$(PlatformName);$(ExternalsDir)glfw-3.0.2\lib-msvc100;$(ExternalsDir)libjpeg;$(ExternalsDir)sdl-2.0.0\lib\$(PlatformName);%(AdditionalLibraryDirectories) + glfw3dll.lib;opengl32.lib;glew32.lib;glu32.lib;%(AdditionalDependencies)