OSDN Git Service

[WIP][Agar] Build fit to CSP.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Mon, 5 Jan 2015 15:07:06 +0000 (00:07 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Mon, 5 Jan 2015 15:07:06 +0000 (00:07 +0900)
35 files changed:
source/build-cmake/cmake/config_commonsource.cmake
source/build-cmake/fm7/CMakeLists.txt
source/src/agar/common/scaler/generic/scaler_x05.c
source/src/agar/common/scaler/generic/scaler_x1.c
source/src/agar/common/scaler/generic/scaler_x125.c
source/src/agar/common/scaler/generic/scaler_x15.c
source/src/agar/common/scaler/generic/scaler_x2.c
source/src/agar/common/scaler/generic/scaler_x225.c
source/src/agar/common/scaler/generic/scaler_x25.c
source/src/agar/common/scaler/generic/scaler_x3.c
source/src/agar/common/scaler/generic/scaler_x4.c
source/src/agar/common/scaler/generic/scaler_x45.c
source/src/agar/common/scaler/generic/scaler_x5.c
source/src/agar/common/scaler/generic/scaler_x6.c
source/src/agar/common/scaler/sse2/scaler_x125_sse2.c
source/src/agar/common/scaler/sse2/scaler_x15_sse2.c
source/src/agar/common/scaler/sse2/scaler_x1_sse2.c
source/src/agar/common/scaler/sse2/scaler_x225_sse2.c
source/src/agar/common/scaler/sse2/scaler_x25_sse2.c
source/src/agar/common/scaler/sse2/scaler_x2_sse2.c
source/src/agar/common/scaler/sse2/scaler_x3_sse2.c
source/src/agar/common/scaler/sse2/scaler_x45_sse2.c
source/src/agar/common/scaler/sse2/scaler_x4_sse2.c
source/src/agar/common/scaler/sse2/scaler_x5_sse2.c
source/src/agar/common/scaler/sse2/scaler_x6_sse2.c
source/src/agar/common/simd_types.h
source/src/config.cpp
source/src/emu.h
source/src/vm/fm7/api_vram.h
source/src/vm/fm7/vram/generic/api_vram256k.c
source/src/vm/fm7/vram/sse2/api_vram256k.c
source/src/vm/fm7/vram/sse2/api_vram8.c
source/src/vm/fm7/vram/sse2/api_vramvec.c
source/src/vm/fmgen/file.cpp
source/src/vm/fmgen/file.h

index ec31b74..ccb2a08 100644 (file)
@@ -5,6 +5,9 @@
 
 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
@@ -17,6 +20,54 @@ add_definitions(-D_USE_AGAR)
 
 # 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)
@@ -59,3 +110,4 @@ add_subdirectory(../../src common)
 add_subdirectory(../../src/agar/common agar/common)
 add_subdirectory(../../src/agar/common/scaler/generic agar/common/scaler/generic)
 
+include(simd-x86)
index ee1f579..445c308 100644 (file)
@@ -8,7 +8,7 @@ cmake_minimum_required (VERSION 2.6)
 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")
@@ -30,59 +30,7 @@ set(CMAKE_SYSTEM_PROCESSOR ${ARCHITECTURE} CACHE STRING "Set processor to build.
 
 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)
index c49f161..9af5caf 100644 (file)
@@ -6,13 +6,13 @@
  *  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)
 {
index 6fe5bfb..fbc5084 100644 (file)
@@ -6,12 +6,14 @@
  *  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)
 {
index c8fd122..c3efc46 100644 (file)
@@ -5,14 +5,13 @@
  * 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)
 {
index 5ad57fe..9a08bf7 100644 (file)
@@ -5,14 +5,14 @@
  * 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)
 {
index 6af2707..520f892 100644 (file)
@@ -6,12 +6,13 @@
  *  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)
 {
index 3d542a8..2d799b1 100644 (file)
@@ -5,13 +5,14 @@
  * 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)
 {
index 1e82e5f..875bbbf 100644 (file)
@@ -5,13 +5,14 @@
  * 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);
 
index e8fa3ad..1cb6cdd 100644 (file)
@@ -5,12 +5,14 @@
  * 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;
index 0d98405..0490d9a 100644 (file)
@@ -7,11 +7,13 @@
  *  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)
 {
index f7f9a5c..ba2d152 100644 (file)
@@ -5,13 +5,14 @@
  * 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)
index d0b0dc2..8884f08 100644 (file)
@@ -5,13 +5,14 @@
  * 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)
index 05b68ca..688a0f6 100644 (file)
@@ -5,12 +5,14 @@
  * 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;
index da8cea4..21d9a7b 100644 (file)
@@ -5,13 +5,14 @@
  * 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);
 
index 1647de1..17286c9 100644 (file)
@@ -5,13 +5,15 @@
  * 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);
 
index a4747ce..9950c62 100644 (file)
@@ -6,14 +6,14 @@
  *  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)
 {
index 1819a8c..5e9e3bf 100644 (file)
@@ -5,13 +5,14 @@
  * 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);
 
index 983c2e2..f10d6fe 100644 (file)
@@ -5,13 +5,14 @@
  * 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);
 
index 9114af4..f0442e5 100644 (file)
@@ -5,13 +5,14 @@
  * 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);
 
index 5c44405..c5785c5 100644 (file)
@@ -5,13 +5,15 @@
  * 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);
 
index 914b83d..51112c7 100644 (file)
@@ -5,13 +5,14 @@
  * 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);
 
index e99819e..857ba51 100644 (file)
@@ -7,13 +7,14 @@
  *  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)
index f1105d0..27b781c 100644 (file)
@@ -5,13 +5,14 @@
  * 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);
 
index 3952762..ae654de 100644 (file)
@@ -5,13 +5,14 @@
  * 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);
 
index e34cc46..fe784af 100644 (file)
  * 基本型定義 -> 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)));
index 58d849d..5905209 100644 (file)
@@ -8,7 +8,9 @@
 */\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
@@ -39,7 +136,7 @@ bool GetPrivateProfileBool(LPCTSTR lpAppName, LPCTSTR lpKeyName, bool bDefault,
        return (GetPrivateProfileInt(lpAppName, lpKeyName, bDefault ? 1 : 0, lpFileName) != 0);\r
 }\r
 \r
-\r
+#endif\r
 void init_config()\r
 {\r
        // initial settings\r
@@ -80,11 +177,29 @@ void load_config()
        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
@@ -189,17 +304,36 @@ void load_config()
        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
@@ -302,6 +436,10 @@ void save_config()
 #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
index 49bc07b..f4fbc99 100644 (file)
 #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
index e3ac999..8c28a1e 100644 (file)
 \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
index 445b6f4..cc73aef 100644 (file)
@@ -8,7 +8,7 @@
 //#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
index d726608..1f33479 100644 (file)
@@ -9,6 +9,10 @@
 #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
index e84c729..c6aa44c 100644 (file)
@@ -14,7 +14,6 @@ extern Uint8 *vram_pr;
 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
index 3aa353b..e888c9f 100644 (file)
@@ -5,7 +5,7 @@
  */\r
 \r
 \r
-#include "simd_types.h"\r
+#include "api_vram.h"\r
 #include "api_vram.h"\r
 \r
 /*\r
index a23e451..a11bf83 100644 (file)
@@ -39,8 +39,12 @@ bool FileIO::Open(const _TCHAR* filename, uint flg)
 \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
@@ -70,8 +74,13 @@ bool FileIO::CreateNew(const _TCHAR* filename)
 \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
@@ -95,8 +104,12 @@ bool FileIO::Reopen(uint flg)
 \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
@@ -109,8 +122,12 @@ void FileIO::Close()
 {\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
index 80c8cd6..0c9282a 100644 (file)
@@ -4,7 +4,19 @@
 #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
@@ -56,8 +68,12 @@ public:
        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