Advertisement
Guest User

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

a guest
Jan 15th, 2011
899
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 35.71 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement