include(CheckFunctionExists)
+set(WITH_AGAR_STATIC ON CACHE BOOL "Link LibAgar statically.")
+set(WITH_LIBAGAR_PREFIX "/usr/local" CACHE STRING "Set prefix of LibAgar")
+include_directories(${WITH_LIBAGAR_PREFIX}/include/agar)
set(LOCAL_LIBS vm_vm
agar_common
# Build Flags
+
+if(WITH_AGAR_STATIC)
+ set(AGAR_LIBS ${WITH_LIBAGAR_PREFIX}/lib/libag_dev.a ${WITH_LIBAGAR_PREFIX}/lib/libag_gui.a ${WITH_LIBAGAR_PREFIX}/lib/libag_core.a)
+else(WITH_AGAR_STATIC)
+ set(AGAR_LIBS ag_core ag_dev ag_gui)
+ link_directories(${WITH_LIBAGAR_PREFIX}/lib)
+endif()
+
+set(AGAR_DEPLIBS m jpeg png z dl uim-scm uim Xinerama)
+
+find_package(Gettext)
+include_directories(${GETTEXT_INCLUDE_PATH})
+include(compile_gettext_catalogue)
+
+find_package(Freetype)
+include_directories(${FREETYPE_INCLUDE_PATH})
+
+find_package(Iconv)
+
+
+if(USE_OPENMP)
+ find_package(OpenMP)
+ include_directories(${OPENMP_INCLUDE_PATH})
+endif()
+
+find_package(Threads)
+include_directories(${THREADS_INCLUDE_PATH})
+
+find_package(SDL)
+include_directories(${SDL_INCLUDE_PATH})
+
+
+if(ICONV_FOUND)
+ include_directories(${ICONV_INCLUDE_DIRS})
+ set(LOCAL_LIBS ${LOCAL_LIBS} ${ICONV_LIBRARIES})
+endif()
+
+
+# GCC Only?
+if(CMAKE_COMPILER_IS_GNUCC)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flax-vector-conversions")
+endif()
+
+if(CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -flax-vector-conversions")
+endif()
+
+
check_function_exists("nanosleep" HAVE_NANOSLEEP)
if(NOT HAVE_NANOSLEEP)
check_library_exists("rt" "nanosleep" "" LIB_RT_HAS_NANOSLEEP)
add_subdirectory(../../src/agar/common agar/common)
add_subdirectory(../../src/agar/common/scaler/generic agar/common/scaler/generic)
+include(simd-x86)
cmake_policy(SET CMP0011 NEW)
message("")
-message("** Start of configure XM7/SDL,Agar **")
+message("** Start of configure CommonSourceProject,FM-7, Agar **")
message("")
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
include(config_commonsource)
-set(WITH_AGAR_STATIC ON CACHE BOOL "Link LibAgar statically.")
-set(WITH_LIBAGAR_PREFIX "/usr/local" CACHE STRING "Set prefix of LibAgar")
-include_directories(${WITH_LIBAGAR_PREFIX}/include/agar)
-
-if(WITH_AGAR_STATIC)
- set(AGAR_LIBS ${WITH_LIBAGAR_PREFIX}/lib/libag_dev.a ${WITH_LIBAGAR_PREFIX}/lib/libag_gui.a ${WITH_LIBAGAR_PREFIX}/lib/libag_core.a)
-else(WITH_AGAR_STATIC)
- set(AGAR_LIBS ag_core ag_dev ag_gui)
- link_directories(${WITH_LIBAGAR_PREFIX}/lib)
-endif()
-
-set(AGAR_DEPLIBS m jpeg png z dl uim-scm uim Xinerama)
-
-
-find_package(Gettext)
-include_directories(${GETTEXT_INCLUDE_PATH})
-include(compile_gettext_catalogue)
-
-find_package(Freetype)
-include_directories(${FREETYPE_INCLUDE_PATH})
-
-find_package(Iconv)
-
-
-if(USE_OPENMP)
- find_package(OpenMP)
- include_directories(${OPENMP_INCLUDE_PATH})
-endif()
-
-find_package(Threads)
-include_directories(${THREADS_INCLUDE_PATH})
-
-find_package(SDL)
-include_directories(${SDL_INCLUDE_PATH})
-
-
-if(ICONV_FOUND)
- include_directories(${ICONV_INCLUDE_DIRS})
- set(LOCAL_LIBS ${LOCAL_LIBS} ${ICONV_LIBRARIES})
-endif()
-
-
-# GCC Only?
-if(CMAKE_COMPILER_IS_GNUCC)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flax-vector-conversions")
-endif()
-
-if(CMAKE_COMPILER_IS_GNUCXX)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -flax-vector-conversions")
-endif()
-
-
-include(simd-x86)
+add_definitions(-D_FM7)
#include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/vm)
* 2013-01-26 Move from agar_sdlscaler.cpp
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
-#include "sdl_cpuid.h"
-
-extern struct XM7_CPUID *pCpuID;
-
+//#include "../../agar_sdlview.h"
+//#include "../../api_vram.h"
+//#include "../../api_draw.h"
+//#include "../../sdl_cpuid.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
void pVram2RGB_x05_Line(Uint32 *src, Uint8 *dst, int xbegin, int xend, int y, int yrep)
{
* 2013-01-26 Move from agar_sdlscaler.cpp
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
+#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
void pVram2RGB_x1_Line(Uint32 *src, Uint8 *dst, int xbegin, int xend, int y, int yrep)
{
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
-#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
-
+extern BOOL bFullScan;
static void Scaler_DrawLine(Uint32 *dst, Uint32 *src, int ww, int repeat, int pitch)
{
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
-#include "cache_wrapper.h"
-extern struct XM7_CPUID *pCpuID;
+extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
static void Scaler_DrawLine(v4hi *dst, Uint32 *src, int ww, int repeat, int pitch)
{
* 2013-01-26 Move from agar_sdlscaler.cpp
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
void pVram2RGB_x2_Line(Uint32 *src, Uint8 *dst, int xbegin, int xend, int y, int yrep)
{
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
static void Scaler_DrawLine(Uint32 *dst, Uint32 *src, int ww, int repeat, int pitch)
{
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
extern void pVram2RGB_x25(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
+extern BOOL bFullScan;
+
static void Scaler_DrawLine(v4hi *dst, Uint32 *src, int ww, int repeat, int pitch)
{
int xx;
* 2013-09-17 Move from ui-agar/
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
+#include "cache_wrapper.h"
+extern BOOL bFullScan;
void pVram2RGB_x4_Line(Uint32 *src, Uint8 *dst, int xbegin, int xend, int y, int yrep)
{
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
static void Scaler_DrawLine(v4hi *dst, Uint32 *src, int ww, int repeat, int pitch)
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
static void Scaler_DrawLine(v4hi *dst, Uint32 *src, int ww, int repeat, int pitch)
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
+extern BOOL bFullScan;
+
static void Scaler_DrawLine(v4hi *dst, Uint32 *src, int ww, int repeat, int pitch)
{
int xx;
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
extern void pVram2RGB_x125(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
extern void pVram2RGB_x15_Line(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* 2013-01-26 Move from agar_sdlscaler.cpp
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
-
+extern BOOL bFullScan;
static void Scaler_DrawLine(v4hi *dst, Uint32 *src, int ww, int repeat, int pitch)
{
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
extern void pVram2RGB_x225(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
extern void pVram2RGB_x25(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
extern void pVram2RGB_x2(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
+
extern void pVram2RGB_x3_Line(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
extern void pVram2RGB_x45_Line(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* 2013-09-17 Move from scaler/generic/scaler_x4.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
#if defined(__SSE2__)
void pVram2RGB_x4_Line_SSE2(Uint32 *src, Uint8 *dst, int xbegin, int xend, int y, int yrep)
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
extern void pVram2RGB_x5_Line(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* History:
* 2013-04-02 Move from scaler_x2.c
*/
-#include "agar_sdlview.h"
-#include "api_vram.h"
-#include "api_draw.h"
+#include <agar/core.h>
+#include <agar/gui.h>
+#include "simd_types.h"
#include "sdl_cpuid.h"
#include "cache_wrapper.h"
extern struct XM7_CPUID *pCpuID;
+extern BOOL bFullScan;
extern void pVram2RGB_x6_Line(Uint32 *src, Uint32 *dst, int x, int y, int yrep);
* 基本型定義 -> SDL定義にする(コンパイラ依存の吸収 20100802 α66)
*/
+typedef uint64_t Uint64;
+typedef uint32_t Uint32;
+typedef uint16_t Uint16;
+typedef uint8_t Uint8;
+
+typedef int64_t Sint64;
+typedef int32_t Sint32;
+typedef int16_t Sint16;
+typedef int8_t Sint8;
+typedef int BOOL;
// Vector
typedef short int v2si __attribute__ ((__vector_size__(8)));
*/\r
#if defined(_USE_AGAR) || defined(_USE_SDL)\r
#include <SDL/SDL.h>\r
-//#include <agar/core.h>\r
+#include <agar/core.h>\r
+#include <string>\r
+#include <vector>\r
#else\r
#include <windows.h>\r
#endif\r
#include "fileio.h"\r
\r
config_t config;\r
+\r
+#ifndef CONFIG_NAME\r
+#define CONFIG_NAME "conf"\r
+#endif\r
+\r
+#if defined(_USE_AGAR)\r
+\r
+std::vector<std::string>config_data;\r
+\r
+\r
+bool WritePrivateProfileInt(char *lpAppName, char *lpKeyName, int Value, AG_DataSource *lpFileName)\r
+{\r
+ char s[129];\r
+ snprintf(s, 128, "%s.%s=%d\n", lpAppName, lpKeyName, Value);\r
+ AG_WriteString(lpFileName, s);\r
+ return true;\r
+}\r
+\r
+BOOL WritePrivateProfileBool(char *lpAppName, char *lpKeyName, bool Value, AG_DataSource *lpFileName)\r
+{\r
+ char String[129];\r
+ snprintf(String, 128, "%s.%s=%d\n", lpAppName, lpKeyName, Value ? 1 : 0);\r
+ AG_WriteString(lpFileName, String);\r
+ return true;\r
+}\r
+\r
+static int load_cfgfile(AG_DataSource *lpFileName)\r
+{\r
+ std::string sp;\r
+ char *s;\r
+ int i = 0;\r
+ config_data.clear();\r
+ do {\r
+ s = AG_ReadString(lpFileName);\r
+ if(s == NULL) break;\r
+ sp = s;\r
+ config_data.push_back(sp);\r
+ i++;\r
+ } while(1);\r
+ return i;\r
+}\r
+\r
+ \r
+\r
+\r
+std::string GetPrivateProfileStr(char *lpAppName, char *lpKeyName, AG_DataSource *lpFileName)\r
+{\r
+ char key[256];\r
+ int i;\r
+ std::string::size_type pos;\r
+ std::string key_str;\r
+ \r
+ snprintf(key, 255, "%s.%s", lpAppName, lpKeyName);\r
+ key_str = key;\r
+ for(i = 0; i < config_data.size(); i++) {\r
+ pos = config_data[i].find(key_str);\r
+ if(pos == std::string::npos) continue;\r
+ // Found.\r
+ pos = config_data[i].find("=");\r
+ if(pos == std::string::npos) continue; \r
+ // Get Value\r
+ std::string val = config_data[i].substr(pos + 1);\r
+ return val;\r
+ }\r
+ return "";\r
+}\r
+\r
+void GetPrivateProfileString(char *section, char *key, char *defaultstr, char *str, int max_len, AG_DataSource *p)\r
+{\r
+ std::string sp = GetPrivateProfileStr(section, key, p);\r
+ \r
+ if((sp != "") && (max_len > 1)){\r
+ strncpy(str, sp.c_str(), max_len - 1);\r
+ } else {\r
+ strncpy(str, defaultstr, max_len - 1);\r
+ }\r
+ \r
+}\r
+\r
+int GetPrivateProfileInt(char *lpAppName, char *lpKeyName, int nDefault, AG_DataSource *lpFileName)\r
+{\r
+ std::string s = GetPrivateProfileStr(lpAppName,lpKeyName, lpFileName);\r
+ if(s == "") return nDefault;\r
+ return atoi(s.c_str());\r
+}\r
+\r
+\r
+\r
+bool GetPrivateProfileBool(char *lpAppName, char *lpKeyName, bool bDefault, AG_DataSource *lpFileName)\r
+{\r
+ \r
+ return (GetPrivateProfileInt(lpAppName, lpKeyName, bDefault ? 1 : 0, lpFileName) != 0);\r
+}\r
+ \r
+#else\r
BOOL WritePrivateProfileInt(LPCTSTR lpAppName, LPCTSTR lpKeyName, int Value, LPCTSTR lpFileName)\r
{\r
_TCHAR String[32];\r
return (GetPrivateProfileInt(lpAppName, lpKeyName, bDefault ? 1 : 0, lpFileName) != 0);\r
}\r
\r
-\r
+#endif\r
void init_config()\r
{\r
// initial settings\r
init_config();\r
\r
// get config path\r
+\r
+#if defined(_USE_AGAR) || defined(_USE_SDL) \r
+ char app_path[_MAX_PATH], *ptr;\r
+ char cfgpath[_MAX_PATH];\r
+ AG_DataSource *config_path;\r
+ \r
+ app_path[0] = '\0';\r
+ cfgpath[0] = '\0';\r
+ //GetFullPathName(config_path, _MAX_PATH, app_path, &ptr);\r
+ \r
+ *ptr = _T('\0');\r
+ sprintf(cfgpath, _T("%s%s.ini"), app_path, _T(CONFIG_NAME));\r
+ config_path = AG_OpenFile(cfgpath, "r");\r
+ if(config_path == NULL) return;\r
+ load_cfgfile(config_path);\r
+#else\r
_TCHAR app_path[_MAX_PATH], config_path[_MAX_PATH], *ptr;\r
GetModuleFileName(NULL, config_path, _MAX_PATH);\r
GetFullPathName(config_path, _MAX_PATH, app_path, &ptr);\r
*ptr = _T('\0');\r
_stprintf(config_path, _T("%s%s.ini"), app_path, _T(CONFIG_NAME));\r
+#endif\r
+ \r
\r
// control\r
#ifdef USE_BOOT_MODE\r
config.sound_device_type = GetPrivateProfileInt(_T("Sound"), _T("DeviceType"), config.sound_device_type, config_path);\r
#endif\r
GetPrivateProfileString(_T("Sound"), _T("FMGenDll"), _T("mamefm.dll"), config.fmgen_dll_path, _MAX_PATH, config_path);\r
+\r
+#if defined(_USE_AGAR) || (_USE_SDL)\r
+ AG_CloseDataSource(config_path);\r
+#endif\r
}\r
\r
void save_config()\r
{\r
// get config path\r
- _TCHAR app_path[_MAX_PATH], config_path[_MAX_PATH], *ptr;\r
+#if defined(_USE_AGAR) || defined(_USE_SDL)\r
+\r
+ char app_path[_MAX_PATH], *ptr;\r
+ char cfgpath[_MAX_PATH];\r
+ AG_DataSource *config_path;\r
+ \r
+ app_path[0] = '\0';\r
+ cfgpath[0] = '\0';\r
+ //GetFullPathName(config_path, _MAX_PATH, app_path, &ptr);\r
+ \r
+ *ptr = _T('\0');\r
+ sprintf(cfgpath, _T("%s%s.ini"), app_path, _T(CONFIG_NAME));\r
+ config_path = AG_OpenFile(cfgpath, "w");\r
+ if(config_path == NULL) return;\r
+#else\r
+ _TCHAR app_path[_MAX_PATH], config_path[_MAX_PATH], *ptr;\r
GetModuleFileName(NULL, config_path, _MAX_PATH);\r
GetFullPathName(config_path, _MAX_PATH, app_path, &ptr);\r
*ptr = _T('\0');\r
_stprintf(config_path, _T("%s%s.ini"), app_path, _T(CONFIG_NAME));\r
- \r
+#endif \r
// control\r
#ifdef USE_BOOT_MODE\r
WritePrivateProfileInt(_T("Control"), _T("BootMode"), config.boot_mode, config_path);\r
#ifdef USE_SOUND_DEVICE_TYPE\r
WritePrivateProfileInt(_T("Sound"), _T("DeviceType"), config.sound_device_type, config_path);\r
#endif\r
+#if defined(_USE_AGAR) || (_USE_SDL)\r
+ AG_CloseDataSource(config_path);\r
+#endif\r
+\r
}\r
\r
#define STATE_VERSION 1\r
#include "vm/vm.h"\r
\r
#if defined(_USE_AGAR) || defined(_USE_SDL)\r
+#define WM_RESIZE 1\r
+#define WM_SOCKET0 2\r
+#define WM_SOCKET1 3\r
+#define WM_SOCKET2 4\r
+#define WM_SOCKET3 5\r
#else // WIN32\r
#define WM_RESIZE (WM_USER + 1)\r
#define WM_SOCKET0 (WM_USER + 2)\r
\r
\r
//#include "agar_draw.h"\r
-#include "common.h"\r
-#include "emu.h"\r
-#include "config.h"\r
+//#include "common.h"\r
+//#include "emu.h"\r
+//#include "config.h"\r
#include "simd_types.h"\r
-#include "agar_gldraw.h"\r
+//#include "agar_gldraw.h"\r
\r
#ifdef __cplusplus\r
extern "C" {\r
//#include "api_draw.h"\r
//#include "api_scaler.h"\r
#include "api_vram.h"\r
-\r
+#include "simd_types.h"\r
\r
static void putword(Uint32 *disp, Uint32 *cx)\r
{\r
#include "cache_wrapper.h"\r
\r
extern v8hi_t lshift_6bit8v_SSE2(v8hi_t v);\r
+extern Uint8 *vram_pb;\r
+extern Uint8 *vram_pr;\r
+extern Uint8 *vram_pg;\r
+extern Uint32 *rgbTTLGDI;\r
\r
static inline void putword(Uint32 *disp, v8hi_t cx)\r
{\r
extern Uint8 *vram_pg;\r
extern Uint32 *rgbTTLGDI;\r
\r
-\r
#if (__GNUC__ >= 4)\r
\r
static inline v8hi_t getvram_8_vec(Uint32 addr)\r
*/\r
\r
\r
-#include "simd_types.h"\r
+#include "api_vram.h"\r
#include "api_vram.h"\r
\r
/*\r
\r
hfile = CreateFile(filename, access, share, 0, creation, 0, 0);\r
\r
+#if defined(_USE_AGAR) || defined(_USE_SDL)\r
+ flags = (flg & readonly) | (hfile == NULL ? 0 : open);\r
+#else\r
flags = (flg & readonly) | (hfile == INVALID_HANDLE_VALUE ? 0 : open);\r
- if (!(flags & open))\r
+#endif\r
+ if (!(flags & open))\r
{\r
switch (GetLastError())\r
{\r
\r
hfile = CreateFile(filename, access, share, 0, creation, 0, 0);\r
\r
+#if defined(_USE_AGAR) || defined(_USE_SDL)\r
+ flags = (hfile == NULL ? 0 : open);\r
+#else\r
flags = (hfile == INVALID_HANDLE_VALUE ? 0 : open);\r
SetLogicalOrigin(0);\r
+#endif\r
+\r
\r
return !!(flags & open);\r
}\r
\r
hfile = CreateFile(path, access, share, 0, creation, 0, 0);\r
\r
- flags = (flg & readonly) | (hfile == INVALID_HANDLE_VALUE ? 0 : open);\r
+#if defined(_USE_AGAR) || defined(_USE_SDL)\r
+ flags = (hfile == NULL ? 0 : open);\r
+#else\r
+ flags = (hfile == INVALID_HANDLE_VALUE ? 0 : open);\r
SetLogicalOrigin(0);\r
+#endif\r
\r
return !!(flags & open);\r
}\r
{\r
if (GetFlags() & open)\r
{\r
- CloseHandle(hfile);\r
- flags = 0;\r
+#if defined(_USE_AGAR) || (_USE_SDL)\r
+ if(hfile != NULL) AG_CloseDataSource(hfile);\r
+#else\r
+ CloseHandle(hfile);\r
+#endif\r
+ flags = 0;\r
}\r
}\r
\r
#define win32_file_h\r
\r
#if defined(_USE_AGAR) || defined(_USE_SDL)\r
+# include <agar/core.h>\r
# include "common.h"\r
+#define MAX_PATH AG_PATHNAME_MAX\r
+\r
+typedef enum \r
+{\r
+ FILE_BEGIN = AG_SEEK_SET,\r
+ FILE_CURRENT = AG_SEEK_CUR,\r
+ FILE_END = AG_SEEK_END\r
+} SeekMethod;\r
+#define _tcsncpy(d,s,n) strncpy(d,s,n)\r
+#define _tcsncat(d,s,n) strncat(d,s,n)\r
+\r
#else\r
# include <tchar.h>\r
#endif\r
void SetLogicalOrigin(int32 origin) { lorigin = origin; }\r
\r
private:\r
+#if defined(_USE_AGAR) || defined(_USE_SDL)\r
+ AG_DataSource *hfile;\r
+#else\r
HANDLE hfile;\r
- uint flags;\r
+#endif\r
+ uint flags;\r
uint32 lorigin;\r
Error error;\r
_TCHAR path[MAX_PATH];\r