From 0df6958863de140dfb4a996a302eefc851445e98 Mon Sep 17 00:00:00 2001
From: gocha <gochaism@gmail.com>
Date: Sun, 16 Jan 2011 11:14:52 +0900
Subject: [PATCH 3/3] windows: drag and drop support for lua
---
win32/snes9xw.vcproj | 24 ++++++++++++------------
win32/wsnes9x.cpp | 18 +++++++++++++++++-
2 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/win32/snes9xw.vcproj b/win32/snes9xw.vcproj
index 3c79f91..aed8bdf 100644
--- a/win32/snes9xw.vcproj
+++ b/win32/snes9xw.vcproj
@@ -85,7 +85,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -187,7 +187,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x-x64.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -284,7 +284,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x-debug.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -383,7 +383,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x-debug-x64.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -480,7 +480,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x-debug.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -576,7 +576,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x-debug-x64.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -676,7 +676,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -775,7 +775,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x-x64.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -872,7 +872,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x-debug.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -973,7 +973,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x-debug-x64.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -1080,7 +1080,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -1185,7 +1185,7 @@
/>
<Tool
Name="VCLinkerTool"
- 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"
+ 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 shlwapi.lib lua51.lib"
OutputFile=".\snes9x-x64.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/win32/wsnes9x.cpp b/win32/wsnes9x.cpp
index 32dc4b5..1a5176d 100644
--- a/win32/wsnes9x.cpp
+++ b/win32/wsnes9x.cpp
@@ -195,6 +195,7 @@
#include <shlobj.h>
#include <objidl.h>
#include <Shobjidl.h>
+#include <shlwapi.h>
#include "wsnes9x.h"
#include "win32_sound.h"
@@ -1494,9 +1495,24 @@ LRESULT CALLBACK WinProc(
if (fileCount == 1) {
DragQueryFile(hDrop, 0, droppedFile, PATH_MAX);
+ LPCTSTR extension = PathFindExtension(droppedFile);
if (ExtensionIsValid(droppedFile)) {
LoadROM(droppedFile);
- } else {
+ }
+ else if (lstrcmpi(extension, TEXT(".lua")) == 0) {
+ if(LuaScriptHWnds.size() < 16)
+ {
+ char temp [1024];
+ strcpy(temp, droppedFile);
+ HWND IsScriptFileOpen(const char* Path);
+ if(!IsScriptFileOpen(temp))
+ {
+ HWND hDlg = CreateDialog(GUI.hInstance, MAKEINTRESOURCE(IDD_LUA), hWnd, (DLGPROC) LuaScriptProc);
+ SendDlgItemMessage(hDlg,IDC_EDIT_LUAPATH,WM_SETTEXT,0,(LPARAM)temp);
+ }
+ }
+ }
+ else {
S9xMessage(S9X_ERROR, S9X_ROM_INFO, "Unknown file extension.");
}
}
--
1.7.3.1.msysgit.0