This week only. Pastebin PRO Accounts Christmas Special! Don't miss out!Want more features on Pastebin? Sign Up, it's FREE!
Guest

snes9xgit: [gocha] Add Lua 5.1 script engine (diff only, no additional libs/sources contained)

By: a guest on Jan 15th, 2011  |  syntax: Diff  |  size: 35.71 KB  |  views: 142  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. From 3a1d89e39b86788addd3374fbf39ea8f4cfd808a Mon Sep 17 00:00:00 2001
  2. From: gocha <gochaism@gmail.com>
  3. Date: Sun, 16 Jan 2011 11:00:12 +0900
  4. Subject: [PATCH 1/3] Add Lua 5.1 script engine (diff only, no additional libs/sources contained)
  5.  
  6. ---
  7.  win32/CDirect3D.cpp   |    3 +-
  8.  win32/rsrc/resource.h |   12 ++++-
  9.  win32/rsrc/snes9x.rc  |   21 ++++++++
  10.  win32/snes9xw.vcproj  |  134 ++++++++++++++++++++++++++----------------------
  11.  win32/wsnes9x.cpp     |   22 ++++++++
  12.  5 files changed, 129 insertions(+), 63 deletions(-)
  13.  
  14. diff --git a/win32/CDirect3D.cpp b/win32/CDirect3D.cpp
  15. index e60a2bc..8887850 100644
  16. --- a/win32/CDirect3D.cpp
  17. +++ b/win32/CDirect3D.cpp
  18. @@ -259,7 +259,8 @@ bool CDirect3D::Initialize(HWND hWnd)
  19.         HRESULT hr = pD3D->CreateDevice(D3DADAPTER_DEFAULT,
  20.                        D3DDEVTYPE_HAL,
  21.                        hWnd,
  22. -                      D3DCREATE_MIXED_VERTEXPROCESSING,
  23. +                      D3DCREATE_MIXED_VERTEXPROCESSING
  24. +                        | D3DCREATE_FPU_PRESERVE, // for lua
  25.                                           &dPresentParams,
  26.                        &pDevice);
  27.         if(FAILED(hr)) {
  28. diff --git a/win32/rsrc/resource.h b/win32/rsrc/resource.h
  29. index d6603e0..5c239d9 100644
  30. --- a/win32/rsrc/resource.h
  31. +++ b/win32/rsrc/resource.h
  32. @@ -20,6 +20,7 @@
  33.  #define IDB_CDDRIVE                     113
  34.  #define IDB_NETDRIVE                    114
  35.  #define IDB_HARDDRIVE                   115
  36. +#define IDD_LUA                         116
  37.  #define IDD_NEWDISPLAY                  123
  38.  #define IDD_NETPLAYPROGRESS             124
  39.  #define IDD_INPUTCONFIG                 125
  40. @@ -350,6 +351,15 @@
  41.  #define IDC_SHADER_HLSL_BROWSE          3016
  42.  #define IDC_SHADER_GROUP                3017
  43.  #define IDC_SHADER_GLSL_BROWSE          3018
  44. +#define IDC_BUTTON_LUARUN               3019
  45. +#define IDC_BUTTON_LUASTOP              3020
  46. +#define IDC_LUACONSOLE                  3021
  47. +#define IDC_BUTTON_LUAEDIT              3022
  48. +#define IDC_NOTIFY_SUBSERVIENT          3023
  49. +#define IDC_EDIT_LUAPATH                3024
  50. +#define IDC_BUTTON_LUABROWSE            3025
  51. +#define IDC_NEW_LUA_SCRIPT              3026
  52. +#define IDC_CLOSE_LUA_SCRIPTS           3027
  53.  #define ID_FILE_EXIT                    40001
  54.  #define ID_WINDOW_HIDEMENUBAR           40004
  55.  #define ID_FILE_AVI_RECORDING           40005
  56. @@ -488,7 +498,7 @@
  57.  #ifndef APSTUDIO_READONLY_SYMBOLS
  58.  #define _APS_NEXT_RESOURCE_VALUE        151
  59.  #define _APS_NEXT_COMMAND_VALUE         40173
  60. -#define _APS_NEXT_CONTROL_VALUE         3018
  61. +#define _APS_NEXT_CONTROL_VALUE         3028
  62.  #define _APS_NEXT_SYMED_VALUE           101
  63.  #endif
  64.  #endif
  65. diff --git a/win32/rsrc/snes9x.rc b/win32/rsrc/snes9x.rc
  66. index d25649f..045c5b4 100644
  67. --- a/win32/rsrc/snes9x.rc
  68. +++ b/win32/rsrc/snes9x.rc
  69. @@ -536,6 +536,21 @@ BEGIN
  70.      LTEXT           "not found",IDC_MULTICART_BIOSNOTFOUND,280,50,54,8
  71.  END
  72.  
  73. +IDD_LUA DIALOGEX 0, 0, 270, 150
  74. +STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
  75. +CAPTION "Lua Script"
  76. +FONT 8, "MS Shell Dlg", 400, 0, 0x1
  77. +BEGIN
  78. +    PUSHBUTTON      "Browse...",IDC_BUTTON_LUABROWSE,7,31,48,16
  79. +    PUSHBUTTON      "Run",IDC_BUTTON_LUARUN,213,31,50,16
  80. +    PUSHBUTTON      "Stop",IDC_BUTTON_LUASTOP,160,31,50,16
  81. +    EDITTEXT        IDC_EDIT_LUAPATH,7,16,256,14,ES_AUTOHSCROLL
  82. +    EDITTEXT        IDC_LUACONSOLE,7,61,256,81,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL
  83. +    LTEXT           "Output Console",IDC_STATIC,7,51,51,8
  84. +    LTEXT           "Script File",IDC_STATIC,7,7,32,8
  85. +    PUSHBUTTON      "Edit",IDC_BUTTON_LUAEDIT,58,31,46,16
  86. +END
  87. +
  88.  
  89.  /////////////////////////////////////////////////////////////////////////////
  90.  //
  91. @@ -839,6 +854,12 @@ BEGIN
  92.          MENUITEM SEPARATOR
  93.          MENUITEM "AVI Recording",               ID_FILE_AVI_RECORDING
  94.          MENUITEM SEPARATOR
  95. +        POPUP "Lua Scripting"
  96. +        BEGIN
  97. +            MENUITEM "New Lua Script Window...",    IDC_NEW_LUA_SCRIPT, GRAYED
  98. +            MENUITEM "Close All Script Windows",    IDC_CLOSE_LUA_SCRIPTS, GRAYED
  99. +        END
  100. +        MENUITEM SEPARATOR
  101.          MENUITEM "&Reset Game",                 ID_FILE_RESET
  102.          MENUITEM "E&xit\tAlt+F4",               ID_FILE_EXIT
  103.      END
  104. diff --git a/win32/snes9xw.vcproj b/win32/snes9xw.vcproj
  105. index 8d59551..3c79f91 100644
  106. --- a/win32/snes9xw.vcproj
  107. +++ b/win32/snes9xw.vcproj
  108. @@ -1,7 +1,7 @@
  109.  <?xml version="1.0" encoding="Windows-1252"?>
  110.  <VisualStudioProject
  111.         ProjectType="Visual C++"
  112. -       Version="9,00"
  113. +       Version="9.00"
  114.         Name="Snes9X"
  115.         ProjectGUID="{B86059D8-C9A6-46BE-8FBA-3170C54F1DFD}"
  116.         RootNamespace="Snes9X"
  117. @@ -56,8 +56,8 @@
  118.                                 FavorSizeOrSpeed="1"
  119.                                 OmitFramePointers="true"
  120.                                 WholeProgramOptimization="true"
  121. -                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x"
  122. -                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT"
  123. +                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x,$(ProjectDir)..\..\lua"
  124. +                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;HAVE_LUA"
  125.                                 StringPooling="true"
  126.                                 RuntimeLibrary="0"
  127.                                 StructMemberAlignment="0"
  128. @@ -85,12 +85,12 @@
  129.                         />
  130.                         <Tool
  131.                                 Name="VCLinkerTool"
  132. -                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmt.lib msxml2.lib"
  133. +                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmt.lib msxml2.lib lua51.lib"
  134.                                 OutputFile=".\snes9x.exe"
  135.                                 LinkIncremental="1"
  136.                                 SuppressStartupBanner="true"
  137. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  138. -                               DelayLoadDLLs="fmod.dll;fmodex.dll"
  139. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\win32&quot;"
  140. +                               DelayLoadDLLs="fmod.dll;fmodex.dll;lua51.dll"
  141.                                 GenerateDebugInformation="true"
  142.                                 ProgramDatabaseFile="$(IntDir)/snes9x.pdb"
  143.                                 SubSystem="2"
  144. @@ -158,8 +158,8 @@
  145.                                 FavorSizeOrSpeed="1"
  146.                                 OmitFramePointers="true"
  147.                                 WholeProgramOptimization="true"
  148. -                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x"
  149. -                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT"
  150. +                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x,$(ProjectDir)..\..\lua"
  151. +                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;HAVE_LUA"
  152.                                 StringPooling="true"
  153.                                 RuntimeLibrary="0"
  154.                                 StructMemberAlignment="0"
  155. @@ -187,12 +187,12 @@
  156.                         />
  157.                         <Tool
  158.                                 Name="VCLinkerTool"
  159. -                               AdditionalDependencies="libpngmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtx64.lib msxml2.lib"
  160. +                               AdditionalDependencies="libpngmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtx64.lib msxml2.lib lua51.lib"
  161.                                 OutputFile=".\snes9x-x64.exe"
  162.                                 LinkIncremental="1"
  163.                                 SuppressStartupBanner="true"
  164. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  165. -                               DelayLoadDLLs="fmod.dll;fmodex.dll"
  166. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\x64&quot;"
  167. +                               DelayLoadDLLs="fmod.dll;fmodex.dll;lua51.dll"
  168.                                 GenerateDebugInformation="true"
  169.                                 ProgramDatabaseFile="$(IntDir)/snes9x-x64.pdb"
  170.                                 SubSystem="2"
  171. @@ -255,8 +255,8 @@
  172.                         <Tool
  173.                                 Name="VCCLCompilerTool"
  174.                                 Optimization="0"
  175. -                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x"
  176. -                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;SPC700_C;JMA_SUPPORT;SDD1_DECOMP;CORRECT_VRAM_READS;SPC700_SHUTDOWN;CPU_SHUTDOWN;ZLIB;VAR_CYCLES;UNZIP_SUPPORT;EXECUTE_SUPERFX_PER_LINE;__WIN32__;__MSC__;NEW_COLOUR_BLENDING;USE_OPENGL;NETPLAY_SUPPORT;USE_DIRECTX3D;FMODEX_SUPPORT"
  177. +                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x,$(ProjectDir)..\..\lua"
  178. +                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;SPC700_C;JMA_SUPPORT;SDD1_DECOMP;CORRECT_VRAM_READS;SPC700_SHUTDOWN;CPU_SHUTDOWN;ZLIB;VAR_CYCLES;UNZIP_SUPPORT;EXECUTE_SUPERFX_PER_LINE;__WIN32__;__MSC__;NEW_COLOUR_BLENDING;USE_OPENGL;NETPLAY_SUPPORT;USE_DIRECTX3D;FMODEX_SUPPORT;HAVE_LUA"
  179.                                 RuntimeLibrary="1"
  180.                                 StructMemberAlignment="0"
  181.                                 UsePrecompiledHeader="0"
  182. @@ -284,13 +284,13 @@
  183.                         />
  184.                         <Tool
  185.                                 Name="VCLinkerTool"
  186. -                               AdditionalDependencies="libpngdmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmt.lib msxml2.lib"
  187. +                               AdditionalDependencies="libpngdmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmt.lib msxml2.lib lua51.lib"
  188.                                 OutputFile=".\snes9x-debug.exe"
  189.                                 LinkIncremental="1"
  190.                                 SuppressStartupBanner="true"
  191. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  192. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\win32&quot;"
  193.                                 EnableUAC="false"
  194. -                               DelayLoadDLLs="fmod.dll;fmodex.dll"
  195. +                               DelayLoadDLLs="fmod.dll;fmodex.dll;lua51.dll"
  196.                                 GenerateDebugInformation="true"
  197.                                 ProgramDatabaseFile="$(IntDir)/snes9x-debug.pdb"
  198.                                 GenerateMapFile="false"
  199. @@ -354,8 +354,8 @@
  200.                         <Tool
  201.                                 Name="VCCLCompilerTool"
  202.                                 Optimization="0"
  203. -                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x"
  204. -                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO"
  205. +                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x,$(ProjectDir)..\..\lua"
  206. +                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO;HAVE_LUA"
  207.                                 RuntimeLibrary="1"
  208.                                 StructMemberAlignment="0"
  209.                                 UsePrecompiledHeader="0"
  210. @@ -383,13 +383,13 @@
  211.                         />
  212.                         <Tool
  213.                                 Name="VCLinkerTool"
  214. -                               AdditionalDependencies="libpngdmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtx64.lib msxml2.lib"
  215. +                               AdditionalDependencies="libpngdmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtx64.lib msxml2.lib lua51.lib"
  216.                                 OutputFile=".\snes9x-debug-x64.exe"
  217.                                 LinkIncremental="1"
  218.                                 SuppressStartupBanner="true"
  219. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  220. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\x64&quot;"
  221.                                 EnableUAC="false"
  222. -                               DelayLoadDLLs="fmodex64.dll"
  223. +                               DelayLoadDLLs="fmodex64.dll;lua51.dll"
  224.                                 GenerateDebugInformation="true"
  225.                                 ProgramDatabaseFile="$(IntDir)/snes9x-debug-x64.pdb"
  226.                                 GenerateMapFile="false"
  227. @@ -452,8 +452,8 @@
  228.                         <Tool
  229.                                 Name="VCCLCompilerTool"
  230.                                 Optimization="0"
  231. -                               AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\..\&quot;;&quot;$(ProjectDir)..\..\zLib&quot;;&quot;$(ProjectDir)..\unzip&quot;;&quot;$(ProjectDir)..\..\FMOD\api\inc&quot;;&quot;$(ProjectDir)..\..\libPNG\src&quot;;&quot;$(ProjectDir)..\snes9x&quot;"
  232. -                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO;ZSNES_FX;ZSNES_C4"
  233. +                               AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\..\&quot;;&quot;$(ProjectDir)..\..\zLib&quot;;&quot;$(ProjectDir)..\unzip&quot;;&quot;$(ProjectDir)..\..\FMOD\api\inc&quot;;&quot;$(ProjectDir)..\..\libPNG\src&quot;;&quot;$(ProjectDir)..\snes9x&quot;;&quot;$(ProjectDir)..\..\lua&quot;"
  234. +                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO;ZSNES_FX;ZSNES_C4;HAVE_LUA"
  235.                                 RuntimeLibrary="1"
  236.                                 StructMemberAlignment="0"
  237.                                 UsePrecompiledHeader="0"
  238. @@ -480,12 +480,12 @@
  239.                         />
  240.                         <Tool
  241.                                 Name="VCLinkerTool"
  242. -                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmt.lib msxml2.lib"
  243. +                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmt.lib msxml2.lib lua51.lib"
  244.                                 OutputFile=".\snes9x-debug.exe"
  245.                                 LinkIncremental="1"
  246.                                 SuppressStartupBanner="true"
  247. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  248. -                               DelayLoadDLLs="fmod.dll;fmodex.dll"
  249. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\win32&quot;"
  250. +                               DelayLoadDLLs="fmod.dll;fmodex.dll;lua51.dll"
  251.                                 GenerateDebugInformation="true"
  252.                                 ProgramDatabaseFile="$(IntDir)/snes9x-debug.pdb"
  253.                                 GenerateMapFile="false"
  254. @@ -548,8 +548,8 @@
  255.                         <Tool
  256.                                 Name="VCCLCompilerTool"
  257.                                 Optimization="0"
  258. -                               AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\..\&quot;;&quot;$(ProjectDir)..\..\zLib&quot;;&quot;$(ProjectDir)..\unzip&quot;;&quot;$(ProjectDir)..\..\FMOD\api\inc&quot;;&quot;$(ProjectDir)..\..\libPNG\src&quot;;&quot;$(ProjectDir)..\snes9x&quot;"
  259. -                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO;ZSNES_FX;ZSNES_C4"
  260. +                               AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\..\&quot;;&quot;$(ProjectDir)..\..\zLib&quot;;&quot;$(ProjectDir)..\unzip&quot;;&quot;$(ProjectDir)..\..\FMOD\api\inc&quot;;&quot;$(ProjectDir)..\..\libPNG\src&quot;;&quot;$(ProjectDir)..\snes9x&quot;;&quot;$(ProjectDir)..\..\lua&quot;"
  261. +                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO;ZSNES_FX;ZSNES_C4;HAVE_LUA"
  262.                                 RuntimeLibrary="1"
  263.                                 StructMemberAlignment="0"
  264.                                 UsePrecompiledHeader="0"
  265. @@ -576,12 +576,12 @@
  266.                         />
  267.                         <Tool
  268.                                 Name="VCLinkerTool"
  269. -                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib xapobase.lib zlibdmt.lib"
  270. +                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib xapobase.lib zlibdmt.lib lua51.lib"
  271.                                 OutputFile=".\snes9x-debug-x64.exe"
  272.                                 LinkIncremental="1"
  273.                                 SuppressStartupBanner="true"
  274. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  275. -                               DelayLoadDLLs="fmod.dll;fmodex.dll"
  276. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\x64&quot;"
  277. +                               DelayLoadDLLs="fmod.dll;fmodex.dll;lua51.dll"
  278.                                 GenerateDebugInformation="true"
  279.                                 ProgramDatabaseFile=".\Debug+ASM/Snes9x.pdb"
  280.                                 GenerateMapFile="false"
  281. @@ -647,8 +647,8 @@
  282.                                 Optimization="3"
  283.                                 InlineFunctionExpansion="0"
  284.                                 FavorSizeOrSpeed="1"
  285. -                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x"
  286. -                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;ZSNES_FX;ZSNES_C4"
  287. +                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x,$(ProjectDir)..\..\lua"
  288. +                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;ZSNES_FX;ZSNES_C4;HAVE_LUA"
  289.                                 StringPooling="true"
  290.                                 RuntimeLibrary="0"
  291.                                 StructMemberAlignment="0"
  292. @@ -676,12 +676,12 @@
  293.                         />
  294.                         <Tool
  295.                                 Name="VCLinkerTool"
  296. -                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmt.lib msxml2.lib"
  297. +                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmt.lib msxml2.lib lua51.lib"
  298.                                 OutputFile=".\snes9x.exe"
  299.                                 LinkIncremental="1"
  300.                                 SuppressStartupBanner="true"
  301. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  302. -                               DelayLoadDLLs="fmod.dll;fmodex.dll"
  303. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\win32&quot;"
  304. +                               DelayLoadDLLs="fmod.dll;fmodex.dll;lua51.dll"
  305.                                 GenerateDebugInformation="true"
  306.                                 ProgramDatabaseFile="$(IntDir)/snes9x.pdb"
  307.                                 SubSystem="2"
  308. @@ -746,8 +746,8 @@
  309.                                 Optimization="3"
  310.                                 InlineFunctionExpansion="0"
  311.                                 FavorSizeOrSpeed="1"
  312. -                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x"
  313. -                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;ZSNES_FX;ZSNES_C4"
  314. +                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x,$(ProjectDir)..\..\lua"
  315. +                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;ZSNES_FX;ZSNES_C4;HAVE_LUA"
  316.                                 StringPooling="true"
  317.                                 RuntimeLibrary="0"
  318.                                 StructMemberAlignment="0"
  319. @@ -775,12 +775,12 @@
  320.                         />
  321.                         <Tool
  322.                                 Name="VCLinkerTool"
  323. -                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib xapobase.lib zlibmt.lib"
  324. +                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib xapobase.lib zlibmt.lib lua51.lib"
  325.                                 OutputFile=".\snes9x-x64.exe"
  326.                                 LinkIncremental="1"
  327.                                 SuppressStartupBanner="true"
  328. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  329. -                               DelayLoadDLLs="fmod.dll;fmodex.dll"
  330. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\x64&quot;"
  331. +                               DelayLoadDLLs="fmod.dll;fmodex.dll;lua51.dll"
  332.                                 GenerateDebugInformation="true"
  333.                                 ProgramDatabaseFile=".\Release/snes9x.pdb"
  334.                                 SubSystem="2"
  335. @@ -843,8 +843,8 @@
  336.                         <Tool
  337.                                 Name="VCCLCompilerTool"
  338.                                 Optimization="0"
  339. -                               AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..\&quot;;&quot;$(ProjectDir)..\..\&quot;;&quot;$(ProjectDir)..\..\zLib&quot;;&quot;$(ProjectDir)..\unzip&quot;;&quot;$(ProjectDir)..\..\FMOD\api\inc&quot;;&quot;$(ProjectDir)..\..\libPNG\src&quot;;&quot;$(ProjectDir)..\snes9x&quot;"
  340. -                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO"
  341. +                               AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..\&quot;;&quot;$(ProjectDir)..\..\&quot;;&quot;$(ProjectDir)..\..\zLib&quot;;&quot;$(ProjectDir)..\unzip&quot;;&quot;$(ProjectDir)..\..\FMOD\api\inc&quot;;&quot;$(ProjectDir)..\..\libPNG\src&quot;;&quot;$(ProjectDir)..\snes9x&quot;;&quot;$(ProjectDir)..\..\lua&quot;"
  342. +                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO;HAVE_LUA"
  343.                                 RuntimeLibrary="1"
  344.                                 StructMemberAlignment="0"
  345.                                 UsePrecompiledHeader="0"
  346. @@ -872,13 +872,13 @@
  347.                         />
  348.                         <Tool
  349.                                 Name="VCLinkerTool"
  350. -                               AdditionalDependencies="libpngdmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtu.lib msxml2.lib"
  351. +                               AdditionalDependencies="libpngdmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtu.lib msxml2.lib lua51.lib"
  352.                                 OutputFile=".\snes9x-debug.exe"
  353.                                 LinkIncremental="1"
  354.                                 SuppressStartupBanner="true"
  355. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  356. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\win32&quot;"
  357.                                 EnableUAC="false"
  358. -                               DelayLoadDLLs="fmod.dll;fmodex.dll"
  359. +                               DelayLoadDLLs="fmod.dll;fmodex.dll;lua51.dll"
  360.                                 GenerateDebugInformation="true"
  361.                                 ProgramDatabaseFile="$(IntDir)/snes9x-debug.pdb"
  362.                                 GenerateMapFile="false"
  363. @@ -943,8 +943,8 @@
  364.                         <Tool
  365.                                 Name="VCCLCompilerTool"
  366.                                 Optimization="0"
  367. -                               AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..\&quot;;&quot;$(ProjectDir)..\..\&quot;;&quot;$(ProjectDir)..\..\zLib&quot;;&quot;$(ProjectDir)..\unzip&quot;;&quot;$(ProjectDir)..\..\FMOD\api\inc&quot;;&quot;$(ProjectDir)..\..\libPNG\src&quot;;&quot;$(ProjectDir)..\snes9x&quot;"
  368. -                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO"
  369. +                               AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..\&quot;;&quot;$(ProjectDir)..\..\&quot;;&quot;$(ProjectDir)..\..\zLib&quot;;&quot;$(ProjectDir)..\unzip&quot;;&quot;$(ProjectDir)..\..\FMOD\api\inc&quot;;&quot;$(ProjectDir)..\..\libPNG\src&quot;;&quot;$(ProjectDir)..\snes9x&quot;;&quot;$(ProjectDir)..\..\lua&quot;"
  370. +                               PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO;HAVE_LUA"
  371.                                 RuntimeLibrary="1"
  372.                                 StructMemberAlignment="0"
  373.                                 UsePrecompiledHeader="0"
  374. @@ -973,13 +973,13 @@
  375.                         />
  376.                         <Tool
  377.                                 Name="VCLinkerTool"
  378. -                               AdditionalDependencies="libpngdmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtux64.lib msxml2.lib"
  379. +                               AdditionalDependencies="libpngdmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibdmtux64.lib msxml2.lib lua51.lib"
  380.                                 OutputFile=".\snes9x-debug-x64.exe"
  381.                                 LinkIncremental="1"
  382.                                 SuppressStartupBanner="true"
  383. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  384. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\x64&quot;"
  385.                                 EnableUAC="false"
  386. -                               DelayLoadDLLs="fmodex64.dll"
  387. +                               DelayLoadDLLs="fmodex64.dll;lua51.dll"
  388.                                 GenerateDebugInformation="true"
  389.                                 ProgramDatabaseFile="$(IntDir)/snes9x-debug-x64.pdb"
  390.                                 GenerateMapFile="false"
  391. @@ -1050,8 +1050,8 @@
  392.                                 FavorSizeOrSpeed="1"
  393.                                 OmitFramePointers="true"
  394.                                 WholeProgramOptimization="true"
  395. -                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x"
  396. -                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT"
  397. +                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x,$(ProjectDir)..\..\lua"
  398. +                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;HAVE_LUA"
  399.                                 StringPooling="true"
  400.                                 RuntimeLibrary="0"
  401.                                 StructMemberAlignment="0"
  402. @@ -1080,12 +1080,12 @@
  403.                         />
  404.                         <Tool
  405.                                 Name="VCLinkerTool"
  406. -                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtu.lib msxml2.lib"
  407. +                               AdditionalDependencies="libpngmt.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtu.lib msxml2.lib lua51.lib"
  408.                                 OutputFile=".\snes9x.exe"
  409.                                 LinkIncremental="1"
  410.                                 SuppressStartupBanner="true"
  411. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  412. -                               DelayLoadDLLs="fmod.dll;fmodex.dll"
  413. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\win32&quot;"
  414. +                               DelayLoadDLLs="fmod.dll;fmodex.dll;lua51.dll"
  415.                                 GenerateDebugInformation="true"
  416.                                 ProgramDatabaseFile="$(IntDir)/snes9x.pdb"
  417.                                 SubSystem="2"
  418. @@ -1155,8 +1155,8 @@
  419.                                 FavorSizeOrSpeed="1"
  420.                                 OmitFramePointers="true"
  421.                                 WholeProgramOptimization="true"
  422. -                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x"
  423. -                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT"
  424. +                               AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x,$(ProjectDir)..\..\lua"
  425. +                               PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;CPU_SHUTDOWN;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;HAVE_LUA"
  426.                                 StringPooling="true"
  427.                                 RuntimeLibrary="0"
  428.                                 StructMemberAlignment="0"
  429. @@ -1185,12 +1185,12 @@
  430.                         />
  431.                         <Tool
  432.                                 Name="VCLinkerTool"
  433. -                               AdditionalDependencies="libpngmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtux64.lib msxml2.lib"
  434. +                               AdditionalDependencies="libpngmtx64.lib comctl32.lib winmm.lib opengl32.lib glu32.lib wsock32.lib ddraw.lib dsound.lib dxguid.lib delayimp.lib vfw32.lib zlibmtux64.lib msxml2.lib lua51.lib"
  435.                                 OutputFile=".\snes9x-x64.exe"
  436.                                 LinkIncremental="1"
  437.                                 SuppressStartupBanner="true"
  438. -                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;"
  439. -                               DelayLoadDLLs="fmod.dll;fmodex64.dll"
  440. +                               AdditionalLibraryDirectories="&quot;$(ProjectDir)..\..\FMOD\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx_x64\api\lib&quot;;&quot;$(ProjectDir)..\..\FMODEx\api\lib&quot;;&quot;$(ProjectDir)..\i386&quot;;&quot;$(ProjectDir)..\..\zlib\lib&quot;;&quot;$(ProjectDir)..\..\libPNG\lib&quot;;&quot;$(ProjectDir)..\..\lua\x64&quot;"
  441. +                               DelayLoadDLLs="fmod.dll;fmodex64.dll;lua51.dll"
  442.                                 GenerateDebugInformation="true"
  443.                                 ProgramDatabaseFile="$(IntDir)/snes9x-x64.pdb"
  444.                                 SubSystem="2"
  445. @@ -2667,6 +2667,14 @@
  446.                                 </FileConfiguration>
  447.                         </File>
  448.                         <File
  449. +                               RelativePath="..\lua-engine.cpp"
  450. +                               >
  451. +                       </File>
  452. +                       <File
  453. +                               RelativePath="..\lua-engine.h"
  454. +                               >
  455. +                       </File>
  456. +                       <File
  457.                                 RelativePath="..\memmap.cpp"
  458.                                 >
  459.                         </File>
  460. @@ -4393,6 +4401,10 @@
  461.                                 >
  462.                         </File>
  463.                         <File
  464. +                               RelativePath=".\luaconsole.cpp"
  465. +                               >
  466. +                       </File>
  467. +                       <File
  468.                                 RelativePath=".\render.cpp"
  469.                                 >
  470.                         </File>
  471. diff --git a/win32/wsnes9x.cpp b/win32/wsnes9x.cpp
  472. index cba682b..32dc4b5 100644
  473. --- a/win32/wsnes9x.cpp
  474. +++ b/win32/wsnes9x.cpp
  475. @@ -276,6 +276,9 @@ INT_PTR CALLBACK DlgCreateMovie(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lPara
  476.  INT_PTR CALLBACK DlgOpenMovie(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
  477.  HRESULT CALLBACK EnumModesCallback( LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext);
  478.  
  479. +LRESULT CALLBACK LuaScriptProc(HWND, UINT, WPARAM, LPARAM);
  480. +std::vector<HWND> LuaScriptHWnds;
  481. +
  482.  INT_PTR CALLBACK test(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
  483.  
  484.  #define NOTKNOWN "Unknown Company "
  485. @@ -1575,6 +1578,20 @@ LRESULT CALLBACK WinProc(
  486.                                 RestoreSNESDisplay ();// re-enter after dialog
  487.                         }
  488.                         break;
  489. +               case IDC_NEW_LUA_SCRIPT:
  490. +                       {
  491. +                               if(LuaScriptHWnds.size() < 16)
  492. +                               {
  493. +                                       CreateDialog(g_hInst, MAKEINTRESOURCE(IDD_LUA), GUI.hWnd, (DLGPROC) LuaScriptProc);
  494. +                               }
  495. +                       }
  496. +                       break;
  497. +               case IDC_CLOSE_LUA_SCRIPTS:
  498. +                       {
  499. +                               for(int i=(int)LuaScriptHWnds.size()-1; i>=0; i--)
  500. +                                       SendMessage(LuaScriptHWnds[i], WM_CLOSE, 0,0);
  501. +                       }
  502. +                       break;
  503.                 case ID_FILE_MOVIE_RECORD:
  504.                         {
  505.                                 RestoreGUIDisplay ();  //exit DirectX
  506. @@ -3783,6 +3800,11 @@ static void CheckMenuStates ()
  507.         mii.fState = (S9xMovieActive () && !Settings.StopEmulation) ? MFS_ENABLED : MFS_DISABLED;
  508.      SetMenuItemInfo (GUI.hMenu, ID_FILE_MOVIE_STOP, FALSE, &mii);
  509.  
  510. +       mii.fState = 0;
  511. +       SetMenuItemInfo (GUI.hMenu, IDC_NEW_LUA_SCRIPT, FALSE, &mii);
  512. +       mii.fState = (LuaScriptHWnds.size() > 0 ? 0 : MFS_DISABLED);
  513. +       SetMenuItemInfo (GUI.hMenu, IDC_CLOSE_LUA_SCRIPTS, FALSE, &mii);
  514. +
  515.         mii.fState = (GUI.SoundChannelEnable & (1 << 0)) ? MFS_CHECKED : MFS_UNCHECKED;
  516.      SetMenuItemInfo (GUI.hMenu, ID_CHANNELS_CHANNEL1, FALSE, &mii);
  517.         mii.fState = (GUI.SoundChannelEnable & (1 << 1)) ? MFS_CHECKED : MFS_UNCHECKED;
  518. --
  519. 1.7.3.1.msysgit.0
clone this paste RAW Paste Data