LUA: Huge warning cleanup (no more warnings)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4503 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
9f97b26332
commit
5579a9169d
|
@ -15,7 +15,6 @@
|
||||||
// Official SVN repository and contact information can be found at
|
// Official SVN repository and contact information can be found at
|
||||||
// http://code.google.com/p/dolphin-emu/
|
// http://code.google.com/p/dolphin-emu/
|
||||||
|
|
||||||
#include <cstring>
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
@ -35,7 +34,7 @@ extern "C" {
|
||||||
#include "lstate.h"
|
#include "lstate.h"
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: This code is RIDDEN with warnings. NEEDS FIXING URGENTLY. Item Count: 20
|
// TODO Count: 22
|
||||||
|
|
||||||
// TODO: GUI
|
// TODO: GUI
|
||||||
|
|
||||||
|
@ -142,9 +141,6 @@ bool g_stopAllScriptsEnabled = true;
|
||||||
#define GetCurrentInfo() *luaStateToContextMap[L] // should always work but might be slower
|
#define GetCurrentInfo() *luaStateToContextMap[L] // should always work but might be slower
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define ASK_USER_ON_FREEZE // dialog on freeze is disabled now because it seems to be unnecessary, but this can be re-defined to enable it
|
|
||||||
|
|
||||||
|
|
||||||
static std::map<lua_CFunction, const char*> s_cFuncInfoMap;
|
static std::map<lua_CFunction, const char*> s_cFuncInfoMap;
|
||||||
|
|
||||||
// using this macro you can define a callable-from-Lua function
|
// using this macro you can define a callable-from-Lua function
|
||||||
|
@ -162,8 +158,6 @@ static std::map<lua_CFunction, const char*> s_cFuncInfoMap;
|
||||||
#define snprintf _snprintf
|
#define snprintf _snprintf
|
||||||
#define vscprintf _vscprintf
|
#define vscprintf _vscprintf
|
||||||
#else
|
#else
|
||||||
#define stricmp strcasecmp
|
|
||||||
#define strnicmp strncasecmp
|
|
||||||
#define __forceinline __attribute__((always_inline))
|
#define __forceinline __attribute__((always_inline))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -232,7 +226,7 @@ static int memory_registerHook(lua_State* L, LuaMemHookType hookType, int defaul
|
||||||
int funcIdx = 2;
|
int funcIdx = 2;
|
||||||
if(lua_isnumber(L,2))
|
if(lua_isnumber(L,2))
|
||||||
{
|
{
|
||||||
size = luaL_checkinteger(L,2);
|
size = (int)luaL_checkinteger(L,2);
|
||||||
if(size < 0)
|
if(size < 0)
|
||||||
{
|
{
|
||||||
size = -size;
|
size = -size;
|
||||||
|
@ -292,7 +286,7 @@ LuaMemHookType MatchHookTypeToCPU(lua_State* L, LuaMemHookType hookType)
|
||||||
if(cpunameIndex)
|
if(cpunameIndex)
|
||||||
{
|
{
|
||||||
const char* cpuName = lua_tostring(L, cpunameIndex);
|
const char* cpuName = lua_tostring(L, cpunameIndex);
|
||||||
if(!stricmp(cpuName, "sub") || !stricmp(cpuName, "s68k"))
|
if(!strcasecmp(cpuName, "sub") || !strcasecmp(cpuName, "s68k"))
|
||||||
cpuID = 1;
|
cpuID = 1;
|
||||||
lua_remove(L, cpunameIndex);
|
lua_remove(L, cpunameIndex);
|
||||||
}
|
}
|
||||||
|
@ -414,7 +408,7 @@ DEFINE_LUA_FUNCTION(state_registerload, "func[,loadkey]")
|
||||||
|
|
||||||
DEFINE_LUA_FUNCTION(input_registerhotkey, "keynum,func")
|
DEFINE_LUA_FUNCTION(input_registerhotkey, "keynum,func")
|
||||||
{
|
{
|
||||||
int hotkeyNumber = luaL_checkinteger(L,1);
|
int hotkeyNumber = (int)luaL_checkinteger(L,1);
|
||||||
if(hotkeyNumber < 1 || hotkeyNumber > 16)
|
if(hotkeyNumber < 1 || hotkeyNumber > 16)
|
||||||
{
|
{
|
||||||
luaL_error(L, "input.registerhotkey(n,func) requires 1 <= n <= 16, but got n = %d.", hotkeyNumber);
|
luaL_error(L, "input.registerhotkey(n,func) requires 1 <= n <= 16, but got n = %d.", hotkeyNumber);
|
||||||
|
@ -443,8 +437,8 @@ static int doPopup(lua_State* L, const char* deftype, const char* deficon)
|
||||||
int itype = -1, iters = 0;
|
int itype = -1, iters = 0;
|
||||||
while(itype == -1 && iters++ < 2)
|
while(itype == -1 && iters++ < 2)
|
||||||
{
|
{
|
||||||
if(!stricmp(type, "ok")) itype = 0;
|
if(!strcasecmp(type, "ok")) itype = 0;
|
||||||
else if(!stricmp(type, "yesno")) itype = 1;
|
else if(!strcasecmp(type, "yesno")) itype = 1;
|
||||||
else type = deftype;
|
else type = deftype;
|
||||||
}
|
}
|
||||||
assert(itype >= 0 && itype <= 4);
|
assert(itype >= 0 && itype <= 4);
|
||||||
|
@ -453,8 +447,8 @@ static int doPopup(lua_State* L, const char* deftype, const char* deficon)
|
||||||
int iicon = -1; iters = 0;
|
int iicon = -1; iters = 0;
|
||||||
while(iicon == -1 && iters++ < 2)
|
while(iicon == -1 && iters++ < 2)
|
||||||
{
|
{
|
||||||
if(!stricmp(icon, "message") || !stricmp(icon, "notice")) iicon = 0;
|
if(!strcasecmp(icon, "message") || !strcasecmp(icon, "notice")) iicon = 0;
|
||||||
else if(!stricmp(icon, "warning") || !stricmp(icon, "error")) iicon = 1;
|
else if(!strcasecmp(icon, "warning") || !strcasecmp(icon, "error")) iicon = 1;
|
||||||
else icon = deficon;
|
else icon = deficon;
|
||||||
}
|
}
|
||||||
assert(iicon >= 0 && iicon <= 3);
|
assert(iicon >= 0 && iicon <= 3);
|
||||||
|
@ -628,7 +622,7 @@ DEFINE_LUA_FUNCTION(emulua_persistglobalvariables, "variabletable")
|
||||||
// keep track of the variable name for later
|
// keep track of the variable name for later
|
||||||
const char* varName = lua_tostring(L, varNameIndex);
|
const char* varName = lua_tostring(L, varNameIndex);
|
||||||
info.persistVars.push_back(varName);
|
info.persistVars.push_back(varName);
|
||||||
unsigned int varNameCRC = crc32(0, (const unsigned char*)varName, strlen(varName));
|
unsigned int varNameCRC = crc32(0, (const unsigned char*)varName, (int)strlen(varName));
|
||||||
info.newDefaultData.SaveRecordPartial(uid, varNameCRC, defaultIndex);
|
info.newDefaultData.SaveRecordPartial(uid, varNameCRC, defaultIndex);
|
||||||
|
|
||||||
// load the previous default value for this variable if it exists.
|
// load the previous default value for this variable if it exists.
|
||||||
|
@ -686,7 +680,7 @@ void DeferFunctionCall(lua_State* L, const char* idstring)
|
||||||
// put the list into a global array
|
// put the list into a global array
|
||||||
lua_getfield(L, LUA_REGISTRYINDEX, idstring);
|
lua_getfield(L, LUA_REGISTRYINDEX, idstring);
|
||||||
lua_insert(L, 1);
|
lua_insert(L, 1);
|
||||||
int curSize = lua_objlen(L, 1);
|
int curSize = (int)lua_objlen(L, 1);
|
||||||
lua_rawseti(L, 1, curSize+1);
|
lua_rawseti(L, 1, curSize+1);
|
||||||
|
|
||||||
// clean the stack
|
// clean the stack
|
||||||
|
@ -696,11 +690,11 @@ void CallDeferredFunctions(lua_State* L, const char* idstring)
|
||||||
{
|
{
|
||||||
lua_settop(L, 0);
|
lua_settop(L, 0);
|
||||||
lua_getfield(L, LUA_REGISTRYINDEX, idstring);
|
lua_getfield(L, LUA_REGISTRYINDEX, idstring);
|
||||||
int numCalls = lua_objlen(L, 1);
|
int numCalls = (int)lua_objlen(L, 1);
|
||||||
for(int i = 1; i <= numCalls; i++)
|
for(int i = 1; i <= numCalls; i++)
|
||||||
{
|
{
|
||||||
lua_rawgeti(L, 1, i); // get the function+arguments list
|
lua_rawgeti(L, 1, i); // get the function+arguments list
|
||||||
int listSize = lua_objlen(L, 2);
|
int listSize = (int)lua_objlen(L, 2);
|
||||||
|
|
||||||
// push the arguments and the function
|
// push the arguments and the function
|
||||||
for(int j = 1; j <= listSize; j++)
|
for(int j = 1; j <= listSize; j++)
|
||||||
|
@ -848,9 +842,8 @@ defcase:default: APPENDPRINT "%s:%p",luaL_typename(L,i),lua_topointer(L,i) END b
|
||||||
std::vector<const void*>::const_iterator foundCycleIter = std::find(s_tableAddressStack.begin(), s_tableAddressStack.end(), lua_topointer(L,i));
|
std::vector<const void*>::const_iterator foundCycleIter = std::find(s_tableAddressStack.begin(), s_tableAddressStack.end(), lua_topointer(L,i));
|
||||||
if(foundCycleIter != s_tableAddressStack.end())
|
if(foundCycleIter != s_tableAddressStack.end())
|
||||||
{
|
{
|
||||||
int parentNum = s_tableAddressStack.end() - foundCycleIter;
|
if((s_tableAddressStack.end() - foundCycleIter) > 1)
|
||||||
if(parentNum > 1)
|
APPENDPRINT "%s:parent^%d",luaL_typename(L,i),(s_tableAddressStack.end() - foundCycleIter) END
|
||||||
APPENDPRINT "%s:parent^%d",luaL_typename(L,i),parentNum END
|
|
||||||
else
|
else
|
||||||
APPENDPRINT "%s:parent",luaL_typename(L,i) END
|
APPENDPRINT "%s:parent",luaL_typename(L,i) END
|
||||||
}
|
}
|
||||||
|
@ -1054,7 +1047,7 @@ DEFINE_LUA_FUNCTION(copytable, "origtable")
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
lua_createtable(L, lua_objlen(L,1), 0);
|
lua_createtable(L, (int)lua_objlen(L,1), 0);
|
||||||
int copyIndex = lua_gettop(L);
|
int copyIndex = lua_gettop(L);
|
||||||
|
|
||||||
lua_pushnil(L); // first key
|
lua_pushnil(L); // first key
|
||||||
|
@ -1092,7 +1085,7 @@ DEFINE_LUA_FUNCTION(bitand, "...[integers]")
|
||||||
int rv = ~0;
|
int rv = ~0;
|
||||||
int numArgs = lua_gettop(L);
|
int numArgs = lua_gettop(L);
|
||||||
for(int i = 1; i <= numArgs; i++)
|
for(int i = 1; i <= numArgs; i++)
|
||||||
rv &= luaL_checkinteger(L,i);
|
rv &= (int)luaL_checkinteger(L,i);
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L,rv);
|
lua_pushinteger(L,rv);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1102,7 +1095,7 @@ DEFINE_LUA_FUNCTION(bitor, "...[integers]")
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
int numArgs = lua_gettop(L);
|
int numArgs = lua_gettop(L);
|
||||||
for(int i = 1; i <= numArgs; i++)
|
for(int i = 1; i <= numArgs; i++)
|
||||||
rv |= luaL_checkinteger(L,i);
|
rv |= (int)luaL_checkinteger(L,i);
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L,rv);
|
lua_pushinteger(L,rv);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1112,15 +1105,15 @@ DEFINE_LUA_FUNCTION(bitxor, "...[integers]")
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
int numArgs = lua_gettop(L);
|
int numArgs = lua_gettop(L);
|
||||||
for(int i = 1; i <= numArgs; i++)
|
for(int i = 1; i <= numArgs; i++)
|
||||||
rv ^= luaL_checkinteger(L,i);
|
rv ^= (int)luaL_checkinteger(L,i);
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L,rv);
|
lua_pushinteger(L,rv);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(bitshift, "num,shift")
|
DEFINE_LUA_FUNCTION(bitshift, "num,shift")
|
||||||
{
|
{
|
||||||
int num = luaL_checkinteger(L,1);
|
int num = (int)luaL_checkinteger(L,1);
|
||||||
int shift = luaL_checkinteger(L,2);
|
int shift = (int)luaL_checkinteger(L,2);
|
||||||
if(shift < 0)
|
if(shift < 0)
|
||||||
num <<= -shift;
|
num <<= -shift;
|
||||||
else
|
else
|
||||||
|
@ -1134,7 +1127,7 @@ DEFINE_LUA_FUNCTION(bitbit, "whichbit")
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
int numArgs = lua_gettop(L);
|
int numArgs = lua_gettop(L);
|
||||||
for(int i = 1; i <= numArgs; i++)
|
for(int i = 1; i <= numArgs; i++)
|
||||||
rv |= (1 << luaL_checkinteger(L,i));
|
rv |= (1 << (int)luaL_checkinteger(L,i));
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L,rv);
|
lua_pushinteger(L,rv);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1224,30 +1217,9 @@ void printfToOutput(const char* fmt, ...)
|
||||||
delete[] str;
|
delete[] str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// What is THAT?
|
||||||
bool FailVerifyAtFrameBoundary(lua_State* L, const char* funcName, int unstartedSeverity=2, int inframeSeverity=2)
|
bool FailVerifyAtFrameBoundary(lua_State* L, const char* funcName, int unstartedSeverity=2, int inframeSeverity=2)
|
||||||
{// TODO
|
{
|
||||||
/*if (!Core::isRunning())
|
|
||||||
{
|
|
||||||
static const char* msg = "cannot call %s() when emulation has not started.";
|
|
||||||
switch(unstartedSeverity)
|
|
||||||
{
|
|
||||||
case 0: break;
|
|
||||||
case 1: printfToOutput(msg, funcName); break;
|
|
||||||
default: case 2: luaL_error(L, msg, funcName); break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if(Inside_Frame)
|
|
||||||
{
|
|
||||||
static const char* msg = "cannot call %s() inside an emulation frame.";
|
|
||||||
switch(inframeSeverity)
|
|
||||||
{
|
|
||||||
case 0: break;
|
|
||||||
case 1: printfToOutput(msg, funcName); break;
|
|
||||||
default: case 2: luaL_error(L, msg, funcName); break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}*/
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1354,13 +1326,13 @@ DEFINE_LUA_FUNCTION(emulua_speedmode, "mode")
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const char* str = luaL_checkstring(L,1);
|
const char* str = luaL_checkstring(L,1);
|
||||||
if(!stricmp(str, "normal"))
|
if(!strcasecmp(str, "normal"))
|
||||||
newSpeedMode = SPEEDMODE_NORMAL;
|
newSpeedMode = SPEEDMODE_NORMAL;
|
||||||
else if(!stricmp(str, "nothrottle"))
|
else if(!strcasecmp(str, "nothrottle"))
|
||||||
newSpeedMode = SPEEDMODE_NOTHROTTLE;
|
newSpeedMode = SPEEDMODE_NOTHROTTLE;
|
||||||
else if(!stricmp(str, "turbo"))
|
else if(!strcasecmp(str, "turbo"))
|
||||||
newSpeedMode = SPEEDMODE_TURBO;
|
newSpeedMode = SPEEDMODE_TURBO;
|
||||||
else if(!stricmp(str, "maximum"))
|
else if(!strcasecmp(str, "maximum"))
|
||||||
newSpeedMode = SPEEDMODE_MAXIMUM;
|
newSpeedMode = SPEEDMODE_MAXIMUM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1472,7 +1444,7 @@ DEFINE_LUA_FUNCTION(emulua_redraw, "")
|
||||||
|
|
||||||
DEFINE_LUA_FUNCTION(memory_readbyte, "address")
|
DEFINE_LUA_FUNCTION(memory_readbyte, "address")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
unsigned char value = (unsigned char)(ReadValueAtHardwareAddress(address, 1) & 0xFF);
|
unsigned char value = (unsigned char)(ReadValueAtHardwareAddress(address, 1) & 0xFF);
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L, value);
|
lua_pushinteger(L, value);
|
||||||
|
@ -1480,7 +1452,7 @@ DEFINE_LUA_FUNCTION(memory_readbyte, "address")
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(memory_readbytesigned, "address")
|
DEFINE_LUA_FUNCTION(memory_readbytesigned, "address")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
signed char value = (signed char)(ReadValueAtHardwareAddress(address, 1) & 0xFF);
|
signed char value = (signed char)(ReadValueAtHardwareAddress(address, 1) & 0xFF);
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L, value);
|
lua_pushinteger(L, value);
|
||||||
|
@ -1488,7 +1460,7 @@ DEFINE_LUA_FUNCTION(memory_readbytesigned, "address")
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(memory_readword, "address")
|
DEFINE_LUA_FUNCTION(memory_readword, "address")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
unsigned short value = (unsigned short)(ReadValueAtHardwareAddress(address, 2) & 0xFFFF);
|
unsigned short value = (unsigned short)(ReadValueAtHardwareAddress(address, 2) & 0xFFFF);
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L, value);
|
lua_pushinteger(L, value);
|
||||||
|
@ -1496,7 +1468,7 @@ DEFINE_LUA_FUNCTION(memory_readword, "address")
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(memory_readwordsigned, "address")
|
DEFINE_LUA_FUNCTION(memory_readwordsigned, "address")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
signed short value = (signed short)(ReadValueAtHardwareAddress(address, 2) & 0xFFFF);
|
signed short value = (signed short)(ReadValueAtHardwareAddress(address, 2) & 0xFFFF);
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L, value);
|
lua_pushinteger(L, value);
|
||||||
|
@ -1504,7 +1476,7 @@ DEFINE_LUA_FUNCTION(memory_readwordsigned, "address")
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(memory_readdword, "address")
|
DEFINE_LUA_FUNCTION(memory_readdword, "address")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
unsigned long value = (unsigned long)(ReadValueAtHardwareAddress(address, 4));
|
unsigned long value = (unsigned long)(ReadValueAtHardwareAddress(address, 4));
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L, value);
|
lua_pushinteger(L, value);
|
||||||
|
@ -1512,7 +1484,7 @@ DEFINE_LUA_FUNCTION(memory_readdword, "address")
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(memory_readdwordsigned, "address")
|
DEFINE_LUA_FUNCTION(memory_readdwordsigned, "address")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
signed long value = (signed long)(ReadValueAtHardwareAddress(address, 4));
|
signed long value = (signed long)(ReadValueAtHardwareAddress(address, 4));
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushinteger(L, value);
|
lua_pushinteger(L, value);
|
||||||
|
@ -1521,21 +1493,21 @@ DEFINE_LUA_FUNCTION(memory_readdwordsigned, "address")
|
||||||
|
|
||||||
DEFINE_LUA_FUNCTION(memory_writebyte, "address,value")
|
DEFINE_LUA_FUNCTION(memory_writebyte, "address,value")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
unsigned char value = (unsigned char)(luaL_checkinteger(L,2) & 0xFF);
|
unsigned char value = (unsigned char)(luaL_checkinteger(L,2) & 0xFF);
|
||||||
WriteValueAtHardwareRAMAddress(address, value, 1);
|
WriteValueAtHardwareRAMAddress(address, value, 1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(memory_writeword, "address,value")
|
DEFINE_LUA_FUNCTION(memory_writeword, "address,value")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
unsigned short value = (unsigned short)(luaL_checkinteger(L,2) & 0xFFFF);
|
unsigned short value = (unsigned short)(luaL_checkinteger(L,2) & 0xFFFF);
|
||||||
WriteValueAtHardwareRAMAddress(address, value, 2);
|
WriteValueAtHardwareRAMAddress(address, value, 2);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(memory_writedword, "address,value")
|
DEFINE_LUA_FUNCTION(memory_writedword, "address,value")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
unsigned long value = (unsigned long)(luaL_checkinteger(L,2));
|
unsigned long value = (unsigned long)(luaL_checkinteger(L,2));
|
||||||
WriteValueAtHardwareRAMAddress(address, value, 4);
|
WriteValueAtHardwareRAMAddress(address, value, 4);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1543,8 +1515,8 @@ DEFINE_LUA_FUNCTION(memory_writedword, "address,value")
|
||||||
|
|
||||||
DEFINE_LUA_FUNCTION(memory_readbyterange, "address,length")
|
DEFINE_LUA_FUNCTION(memory_readbyterange, "address,length")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
int length = luaL_checkinteger(L,2);
|
int length = (int)luaL_checkinteger(L,2);
|
||||||
|
|
||||||
if(length < 0)
|
if(length < 0)
|
||||||
{
|
{
|
||||||
|
@ -1572,7 +1544,7 @@ DEFINE_LUA_FUNCTION(memory_readbyterange, "address,length")
|
||||||
|
|
||||||
DEFINE_LUA_FUNCTION(memory_isvalid, "address")
|
DEFINE_LUA_FUNCTION(memory_isvalid, "address")
|
||||||
{
|
{
|
||||||
int address = luaL_checkinteger(L,1);
|
int address = (int)luaL_checkinteger(L,1);
|
||||||
lua_settop(L,0);
|
lua_settop(L,0);
|
||||||
lua_pushboolean(L, IsHardwareAddressValid(address));
|
lua_pushboolean(L, IsHardwareAddressValid(address));
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1653,14 +1625,14 @@ DEFINE_LUA_FUNCTION(memory_getregister, "cpu_dot_registername_string")
|
||||||
for(int cpu = 0; cpu < sizeof(cpuToRegisterMaps)/sizeof(*cpuToRegisterMaps); cpu++)
|
for(int cpu = 0; cpu < sizeof(cpuToRegisterMaps)/sizeof(*cpuToRegisterMaps); cpu++)
|
||||||
{
|
{
|
||||||
cpuToRegisterMap ctrm = cpuToRegisterMaps[cpu];
|
cpuToRegisterMap ctrm = cpuToRegisterMaps[cpu];
|
||||||
int cpuNameLen = strlen(ctrm.cpuName);
|
int cpuNameLen = (int)strlen(ctrm.cpuName);
|
||||||
if(!strnicmp(qualifiedRegisterName, ctrm.cpuName, cpuNameLen))
|
if(!strncasecmp(qualifiedRegisterName, ctrm.cpuName, cpuNameLen))
|
||||||
{
|
{
|
||||||
qualifiedRegisterName += cpuNameLen;
|
qualifiedRegisterName += cpuNameLen;
|
||||||
for(int reg = 0; ctrm.rpmap[reg].dataSize; reg++)
|
for(int reg = 0; ctrm.rpmap[reg].dataSize; reg++)
|
||||||
{
|
{
|
||||||
registerPointerMap rpm = ctrm.rpmap[reg];
|
registerPointerMap rpm = ctrm.rpmap[reg];
|
||||||
if(!stricmp(qualifiedRegisterName, rpm.registerName))
|
if(!strcasecmp(qualifiedRegisterName, rpm.registerName))
|
||||||
{
|
{
|
||||||
switch(rpm.dataSize)
|
switch(rpm.dataSize)
|
||||||
{ default:
|
{ default:
|
||||||
|
@ -1686,14 +1658,14 @@ DEFINE_LUA_FUNCTION(memory_setregister, "cpu_dot_registername_string,value")
|
||||||
for(int cpu = 0; cpu < sizeof(cpuToRegisterMaps)/sizeof(*cpuToRegisterMaps); cpu++)
|
for(int cpu = 0; cpu < sizeof(cpuToRegisterMaps)/sizeof(*cpuToRegisterMaps); cpu++)
|
||||||
{
|
{
|
||||||
cpuToRegisterMap ctrm = cpuToRegisterMaps[cpu];
|
cpuToRegisterMap ctrm = cpuToRegisterMaps[cpu];
|
||||||
int cpuNameLen = strlen(ctrm.cpuName);
|
int cpuNameLen = (int)strlen(ctrm.cpuName);
|
||||||
if(!strnicmp(qualifiedRegisterName, ctrm.cpuName, cpuNameLen))
|
if(!strncasecmp(qualifiedRegisterName, ctrm.cpuName, cpuNameLen))
|
||||||
{
|
{
|
||||||
qualifiedRegisterName += cpuNameLen;
|
qualifiedRegisterName += cpuNameLen;
|
||||||
for(int reg = 0; ctrm.rpmap[reg].dataSize; reg++)
|
for(int reg = 0; ctrm.rpmap[reg].dataSize; reg++)
|
||||||
{
|
{
|
||||||
registerPointerMap rpm = ctrm.rpmap[reg];
|
registerPointerMap rpm = ctrm.rpmap[reg];
|
||||||
if(!stricmp(qualifiedRegisterName, rpm.registerName))
|
if(!strcasecmp(qualifiedRegisterName, rpm.registerName))
|
||||||
{
|
{
|
||||||
switch(rpm.dataSize)
|
switch(rpm.dataSize)
|
||||||
{ default:
|
{ default:
|
||||||
|
@ -1734,7 +1706,7 @@ DEFINE_LUA_FUNCTION(state_create, "[location]")
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
// savestate.save(location [, option])
|
// savestate.save(location [, option])
|
||||||
// saves the current emulation state to the given location
|
// saves the current emulation state to the given location
|
||||||
// you can pass in either a savestate file number (an integer),
|
// you can pass in either a savestate file number (an integer),
|
||||||
|
@ -1743,12 +1715,14 @@ DEFINE_LUA_FUNCTION(state_create, "[location]")
|
||||||
// if option is "scriptdataonly" then the state will not actually be saved, but any save callbacks will still get called and their results will be saved (see savestate.registerload()/savestate.registersave())
|
// if option is "scriptdataonly" then the state will not actually be saved, but any save callbacks will still get called and their results will be saved (see savestate.registerload()/savestate.registersave())
|
||||||
DEFINE_LUA_FUNCTION(state_save, "location[,option]")
|
DEFINE_LUA_FUNCTION(state_save, "location[,option]")
|
||||||
{
|
{
|
||||||
|
// TODO
|
||||||
|
/*
|
||||||
const char* option = (lua_type(L,2) == LUA_TSTRING) ? lua_tostring(L,2) : NULL;
|
const char* option = (lua_type(L,2) == LUA_TSTRING) ? lua_tostring(L,2) : NULL;
|
||||||
if(option)
|
if(option)
|
||||||
{
|
{
|
||||||
if(!stricmp(option, "quiet")) // I'm not sure if saving can generate warning messages, but we might as well support suppressing them should they turn out to exist
|
if(!strcasecmp(option, "quiet")) // I'm not sure if saving can generate warning messages, but we might as well support suppressing them should they turn out to exist
|
||||||
g_disableStatestateWarnings = true;
|
g_disableStatestateWarnings = true;
|
||||||
else if(!stricmp(option, "scriptdataonly"))
|
else if(!strcasecmp(option, "scriptdataonly"))
|
||||||
g_onlyCallSavestateCallbacks = true;
|
g_onlyCallSavestateCallbacks = true;
|
||||||
}
|
}
|
||||||
struct Scope { ~Scope(){ g_disableStatestateWarnings = false; g_onlyCallSavestateCallbacks = false; } } scope; // needs to run even if the following code throws an exception... maybe I should have put this in a "finally" block instead, but this project seems to have something against using the "try" statement
|
struct Scope { ~Scope(){ g_disableStatestateWarnings = false; g_onlyCallSavestateCallbacks = false; } } scope; // needs to run even if the following code throws an exception... maybe I should have put this in a "finally" block instead, but this project seems to have something against using the "try" statement
|
||||||
|
@ -1762,7 +1736,7 @@ DEFINE_LUA_FUNCTION(state_save, "location[,option]")
|
||||||
case LUA_TNUMBER: // numbered save file
|
case LUA_TNUMBER: // numbered save file
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
int stateNumber = luaL_checkinteger(L,1);
|
int stateNumber = (int)luaL_checkinteger(L,1);
|
||||||
Set_Current_State(stateNumber, false,false);
|
Set_Current_State(stateNumber, false,false);
|
||||||
char Name [1024] = {0};
|
char Name [1024] = {0};
|
||||||
Get_State_File_Name(Name);
|
Get_State_File_Name(Name);
|
||||||
|
@ -1778,6 +1752,8 @@ DEFINE_LUA_FUNCTION(state_save, "location[,option]")
|
||||||
}
|
}
|
||||||
} return 0;
|
} return 0;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// savestate.load(location [, option])
|
// savestate.load(location [, option])
|
||||||
|
@ -1791,9 +1767,9 @@ DEFINE_LUA_FUNCTION(state_load, "location[,option]")
|
||||||
const char* option = (lua_type(L,2) == LUA_TSTRING) ? lua_tostring(L,2) : NULL;
|
const char* option = (lua_type(L,2) == LUA_TSTRING) ? lua_tostring(L,2) : NULL;
|
||||||
if(option)
|
if(option)
|
||||||
{
|
{
|
||||||
if(!stricmp(option, "quiet"))
|
if(!strcasecmp(option, "quiet"))
|
||||||
g_disableStatestateWarnings = true;
|
g_disableStatestateWarnings = true;
|
||||||
else if(!stricmp(option, "scriptdataonly"))
|
else if(!strcasecmp(option, "scriptdataonly"))
|
||||||
g_onlyCallSavestateCallbacks = true;
|
g_onlyCallSavestateCallbacks = true;
|
||||||
}
|
}
|
||||||
struct Scope { ~Scope(){ g_disableStatestateWarnings = false; g_onlyCallSavestateCallbacks = false; } } scope; // needs to run even if the following code throws an exception... maybe I should have put this in a "finally" block instead, but this project seems to have something against using the "try" statement
|
struct Scope { ~Scope(){ g_disableStatestateWarnings = false; g_onlyCallSavestateCallbacks = false; } } scope; // needs to run even if the following code throws an exception... maybe I should have put this in a "finally" block instead, but this project seems to have something against using the "try" statement
|
||||||
|
@ -1812,11 +1788,13 @@ DEFINE_LUA_FUNCTION(state_load, "location[,option]")
|
||||||
LuaContextInfo& info = GetCurrentInfo();
|
LuaContextInfo& info = GetCurrentInfo();
|
||||||
if(info.rerecordCountingDisabled)
|
if(info.rerecordCountingDisabled)
|
||||||
SkipNextRerecordIncrement = true;
|
SkipNextRerecordIncrement = true;
|
||||||
int stateNumber = luaL_checkinteger(L,1);
|
int stateNumber = (int)luaL_checkinteger(L,1);
|
||||||
Set_Current_State(stateNumber, false,!g_disableStatestateWarnings);
|
Set_Current_State(stateNumber, false,!g_disableStatestateWarnings);
|
||||||
char Name [1024] = {0};
|
char Name [1024] = {0};
|
||||||
Get_State_File_Name(Name);
|
|
||||||
Load_State(Name);
|
//TODO
|
||||||
|
//Get_State_File_Name(Name);
|
||||||
|
//Load_State(Name);
|
||||||
} return 0;
|
} return 0;
|
||||||
case LUA_TUSERDATA: // in-memory save slot
|
case LUA_TUSERDATA: // in-memory save slot
|
||||||
{
|
{
|
||||||
|
@ -1825,7 +1803,7 @@ DEFINE_LUA_FUNCTION(state_load, "location[,option]")
|
||||||
{
|
{
|
||||||
stateBuffer += ((16 - (int)stateBuffer) & 15); // for performance alignment reasons
|
stateBuffer += ((16 - (int)stateBuffer) & 15); // for performance alignment reasons
|
||||||
if(stateBuffer[0])
|
if(stateBuffer[0])
|
||||||
Load_State_From_Buffer(stateBuffer);
|
;// Load_State_From_Buffer(stateBuffer); TODO
|
||||||
else // the first byte of a valid savestate is never 0
|
else // the first byte of a valid savestate is never 0
|
||||||
luaL_error(L, "attempted to load an anonymous savestate before saving it");
|
luaL_error(L, "attempted to load an anonymous savestate before saving it");
|
||||||
}
|
}
|
||||||
|
@ -1854,10 +1832,10 @@ DEFINE_LUA_FUNCTION(state_loadscriptdata, "location")
|
||||||
case LUA_TNUMBER: // numbered save file
|
case LUA_TNUMBER: // numbered save file
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
int stateNumber = luaL_checkinteger(L,1);
|
int stateNumber = (int)luaL_checkinteger(L,1);
|
||||||
Set_Current_State(stateNumber, false,false);
|
Set_Current_State(stateNumber, false,false);
|
||||||
char Name [1024] = {0};
|
char Name [1024] = {0};
|
||||||
Get_State_File_Name(Name);
|
//Get_State_File_Name(Name); TODO
|
||||||
{
|
{
|
||||||
LuaSaveData saveData;
|
LuaSaveData saveData;
|
||||||
|
|
||||||
|
@ -1894,9 +1872,10 @@ DEFINE_LUA_FUNCTION(state_savescriptdata, "location")
|
||||||
lua_settop(L, 1);
|
lua_settop(L, 1);
|
||||||
lua_pushstring(L, "scriptdataonly");
|
lua_pushstring(L, "scriptdataonly");
|
||||||
return state_save(L);
|
return state_save(L);
|
||||||
}*/
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// TODO: Convert to Dolphin?
|
||||||
static const struct ButtonDesc
|
static const struct ButtonDesc
|
||||||
{
|
{
|
||||||
unsigned short controllerNum;
|
unsigned short controllerNum;
|
||||||
|
@ -1957,15 +1936,15 @@ int joy_getArgControllerNum(lua_State* L, int& index)
|
||||||
if(type == LUA_TSTRING)
|
if(type == LUA_TSTRING)
|
||||||
{
|
{
|
||||||
const char* str = lua_tostring(L,index);
|
const char* str = lua_tostring(L,index);
|
||||||
if(!stricmp(str, "1C"))
|
if(!strcasecmp(str, "1C"))
|
||||||
controllerNumber = 0x1C;
|
controllerNumber = 0x1C;
|
||||||
else if(!stricmp(str, "1B"))
|
else if(!strcasecmp(str, "1B"))
|
||||||
controllerNumber = 0x1B;
|
controllerNumber = 0x1B;
|
||||||
else if(!stricmp(str, "1A"))
|
else if(!strcasecmp(str, "1A"))
|
||||||
controllerNumber = 0x1A;
|
controllerNumber = 0x1A;
|
||||||
}
|
}
|
||||||
if(!controllerNumber)
|
if(!controllerNumber)
|
||||||
controllerNumber = luaL_checkinteger(L,index);
|
controllerNumber = (int)luaL_checkinteger(L,index);
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2149,7 +2128,7 @@ inline int getcolor_unmodified(lua_State *L, int idx, int defaultColor)
|
||||||
{
|
{
|
||||||
case LUA_TNUMBER:
|
case LUA_TNUMBER:
|
||||||
{
|
{
|
||||||
return lua_tointeger(L,idx);
|
return (int)lua_tointeger(L,idx);
|
||||||
} break;
|
} break;
|
||||||
case LUA_TSTRING:
|
case LUA_TSTRING:
|
||||||
{
|
{
|
||||||
|
@ -2158,7 +2137,7 @@ inline int getcolor_unmodified(lua_State *L, int idx, int defaultColor)
|
||||||
{
|
{
|
||||||
int color;
|
int color;
|
||||||
sscanf(str+1, "%X", &color);
|
sscanf(str+1, "%X", &color);
|
||||||
int len = strlen(str+1);
|
int len = (int)strlen(str+1);
|
||||||
int missing = max(0, 8-len);
|
int missing = max(0, 8-len);
|
||||||
color <<= missing << 2;
|
color <<= missing << 2;
|
||||||
if(missing >= 2) color |= 0xFF;
|
if(missing >= 2) color |= 0xFF;
|
||||||
|
@ -2166,10 +2145,10 @@ inline int getcolor_unmodified(lua_State *L, int idx, int defaultColor)
|
||||||
}
|
}
|
||||||
else for(int i = 0; i<sizeof(s_colorMapping)/sizeof(*s_colorMapping); i++)
|
else for(int i = 0; i<sizeof(s_colorMapping)/sizeof(*s_colorMapping); i++)
|
||||||
{
|
{
|
||||||
if(!stricmp(str,s_colorMapping[i].name))
|
if(!strcasecmp(str,s_colorMapping[i].name))
|
||||||
return s_colorMapping[i].value;
|
return s_colorMapping[i].value;
|
||||||
}
|
}
|
||||||
if(!strnicmp(str, "rand", 4))
|
if(!strncasecmp(str, "rand", 4))
|
||||||
return ((rand()*255/RAND_MAX) << 8) | ((rand()*255/RAND_MAX) << 16) | ((rand()*255/RAND_MAX) << 24) | 0xFF;
|
return ((rand()*255/RAND_MAX) << 8) | ((rand()*255/RAND_MAX) << 16) | ((rand()*255/RAND_MAX) << 24) | 0xFF;
|
||||||
} break;
|
} break;
|
||||||
case LUA_TTABLE:
|
case LUA_TTABLE:
|
||||||
|
@ -2183,8 +2162,8 @@ inline int getcolor_unmodified(lua_State *L, int idx, int defaultColor)
|
||||||
{
|
{
|
||||||
bool keyIsString = (lua_type(L, keyIndex) == LUA_TSTRING);
|
bool keyIsString = (lua_type(L, keyIndex) == LUA_TSTRING);
|
||||||
bool keyIsNumber = (lua_type(L, keyIndex) == LUA_TNUMBER);
|
bool keyIsNumber = (lua_type(L, keyIndex) == LUA_TNUMBER);
|
||||||
int key = keyIsString ? tolower(*lua_tostring(L, keyIndex)) : (keyIsNumber ? lua_tointeger(L, keyIndex) : 0);
|
int key = keyIsString ? tolower(*lua_tostring(L, keyIndex)) : (keyIsNumber ? (int)lua_tointeger(L, keyIndex) : 0);
|
||||||
int value = lua_tointeger(L, valueIndex);
|
int value = (int)lua_tointeger(L, valueIndex);
|
||||||
if(value < 0) value = 0;
|
if(value < 0) value = 0;
|
||||||
if(value > 255) value = 255;
|
if(value > 255) value = 255;
|
||||||
switch(key)
|
switch(key)
|
||||||
|
@ -2242,8 +2221,8 @@ DEFINE_LUA_FUNCTION(gui_text, "x,y,str[,color=\"white\"[,outline=\"black\"]]")
|
||||||
return 0; // we have to wait until later to call this function because emulua hasn't emulated the next frame yet
|
return 0; // we have to wait until later to call this function because emulua hasn't emulated the next frame yet
|
||||||
// (the only way to avoid this deferring is to be in a gui.register or emulua.registerafter callback)
|
// (the only way to avoid this deferring is to be in a gui.register or emulua.registerafter callback)
|
||||||
|
|
||||||
int x = luaL_checkinteger(L,1) & 0xFFFF;
|
int x = (int)luaL_checkinteger(L,1) & 0xFFFF;
|
||||||
int y = luaL_checkinteger(L,2) & 0xFFFF;
|
int y = (int)luaL_checkinteger(L,2) & 0xFFFF;
|
||||||
const char* str = toCString(L,3); // better than using luaL_checkstring here (more permissive)
|
const char* str = toCString(L,3); // better than using luaL_checkstring here (more permissive)
|
||||||
|
|
||||||
if(str && *str)
|
if(str && *str)
|
||||||
|
@ -2283,9 +2262,9 @@ static inline void ApplyShaderToPixel(int off, std::map<int,int>& cachedShaderRe
|
||||||
|
|
||||||
lua_call(L, 3, 3);
|
lua_call(L, 3, 3);
|
||||||
|
|
||||||
int rout = lua_tointeger(L, -3);
|
int rout = (int)lua_tointeger(L, -3);
|
||||||
int gout = lua_tointeger(L, -2);
|
int gout = (int)lua_tointeger(L, -2);
|
||||||
int bout = lua_tointeger(L, -1);
|
int bout = (int)lua_tointeger(L, -1);
|
||||||
lua_pop(L,3);
|
lua_pop(L,3);
|
||||||
if(rout < 0) rout = 0; if(rout > 255) rout = 255;
|
if(rout < 0) rout = 0; if(rout > 255) rout = 255;
|
||||||
if(gout < 0) gout = 0; if(gout > 255) gout = 255;
|
if(gout < 0) gout = 0; if(gout > 255) gout = 255;
|
||||||
|
@ -2369,15 +2348,15 @@ void ApplyShaderToBoxOutline(int x1, int y1, int x2, int y2, lua_State* L, int i
|
||||||
|
|
||||||
int amplifyShader(lua_State* L)
|
int amplifyShader(lua_State* L)
|
||||||
{
|
{
|
||||||
int rin = lua_tointeger(L, 1);
|
int rin = (int)lua_tointeger(L, 1);
|
||||||
int gin = lua_tointeger(L, 2);
|
int gin = (int)lua_tointeger(L, 2);
|
||||||
int bin = lua_tointeger(L, 3);
|
int bin = (int)lua_tointeger(L, 3);
|
||||||
lua_pushvalue(L, lua_upvalueindex(1));
|
lua_pushvalue(L, lua_upvalueindex(1));
|
||||||
lua_insert(L, 1);
|
lua_insert(L, 1);
|
||||||
lua_call(L, 3, 3);
|
lua_call(L, 3, 3);
|
||||||
int rout = lua_tointeger(L, 1);
|
int rout = (int)lua_tointeger(L, 1);
|
||||||
int gout = lua_tointeger(L, 2);
|
int gout = (int)lua_tointeger(L, 2);
|
||||||
int bout = lua_tointeger(L, 3);
|
int bout = (int)lua_tointeger(L, 3);
|
||||||
lua_settop(L, 0);
|
lua_settop(L, 0);
|
||||||
lua_pushinteger(L, rout*4 - rin*3);
|
lua_pushinteger(L, rout*4 - rin*3);
|
||||||
lua_pushinteger(L, gout*4 - gin*3);
|
lua_pushinteger(L, gout*4 - gin*3);
|
||||||
|
@ -2390,10 +2369,10 @@ DEFINE_LUA_FUNCTION(gui_box, "x1,y1,x2,y2[,fill[,outline]]")
|
||||||
if(DeferGUIFuncIfNeeded(L))
|
if(DeferGUIFuncIfNeeded(L))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
int x1 = luaL_checkinteger(L,1); // & 0xFFFF removed because it was turning -1 into 65535 which screwed up the out-of-bounds checking in ApplyShaderToBox
|
int x1 = (int)luaL_checkinteger(L,1); // & 0xFFFF removed because it was turning -1 into 65535 which screwed up the out-of-bounds checking in ApplyShaderToBox
|
||||||
int y1 = luaL_checkinteger(L,2);
|
int y1 = (int)luaL_checkinteger(L,2);
|
||||||
int x2 = luaL_checkinteger(L,3);
|
int x2 = (int)luaL_checkinteger(L,3);
|
||||||
int y2 = luaL_checkinteger(L,4);
|
int y2 = (int)luaL_checkinteger(L,4);
|
||||||
int fillcolor = getcolor(L,5,0xFFFFFF3F);
|
int fillcolor = getcolor(L,5,0xFFFFFF3F);
|
||||||
int outlinecolor = getcolor(L,6,fillcolor|0xFF);
|
int outlinecolor = getcolor(L,6,fillcolor|0xFF);
|
||||||
if(!lua_isfunction(L,5) || !lua_isnoneornil(L,6))
|
if(!lua_isfunction(L,5) || !lua_isnoneornil(L,6))
|
||||||
|
@ -2424,8 +2403,8 @@ DEFINE_LUA_FUNCTION(gui_pixel, "x,y[,color=\"white\"]")
|
||||||
if(DeferGUIFuncIfNeeded(L))
|
if(DeferGUIFuncIfNeeded(L))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
int x = luaL_checkinteger(L,1) & 0xFFFF;
|
int x = (int)luaL_checkinteger(L,1) & 0xFFFF;
|
||||||
int y = luaL_checkinteger(L,2) & 0xFFFF;
|
int y = (int)luaL_checkinteger(L,2) & 0xFFFF;
|
||||||
int color = getcolor(L,3,0xFFFFFFFF);
|
int color = getcolor(L,3,0xFFFFFFFF);
|
||||||
int color32 = color>>8;
|
int color32 = color>>8;
|
||||||
int color16 = DrawUtil::Pix32To16(color32);
|
int color16 = DrawUtil::Pix32To16(color32);
|
||||||
|
@ -2439,8 +2418,8 @@ DEFINE_LUA_FUNCTION(gui_pixel, "x,y[,color=\"white\"]")
|
||||||
// r,g,b = gui.getpixel(x,y)
|
// r,g,b = gui.getpixel(x,y)
|
||||||
DEFINE_LUA_FUNCTION(gui_getpixel, "x,y")
|
DEFINE_LUA_FUNCTION(gui_getpixel, "x,y")
|
||||||
{
|
{
|
||||||
int x = luaL_checkinteger(L,1);
|
int x = (int)luaL_checkinteger(L,1);
|
||||||
int y = luaL_checkinteger(L,2);
|
int y = (int)luaL_checkinteger(L,2);
|
||||||
|
|
||||||
int xres = ((VDP_Reg.Set4 & 0x1) || Debug || !Game || !FrameCount) ? 320 : 256;
|
int xres = ((VDP_Reg.Set4 & 0x1) || Debug || !Game || !FrameCount) ? 320 : 256;
|
||||||
int yres = ((VDP_Reg.Set2 & 0x8) && !(Debug || !Game || !FrameCount)) ? 240 : 224;
|
int yres = ((VDP_Reg.Set2 & 0x8) && !(Debug || !Game || !FrameCount)) ? 240 : 224;
|
||||||
|
@ -2471,10 +2450,10 @@ DEFINE_LUA_FUNCTION(gui_line, "x1,y1,x2,y2[,color=\"white\"[,skipfirst=false]]")
|
||||||
if(DeferGUIFuncIfNeeded(L))
|
if(DeferGUIFuncIfNeeded(L))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
int x1 = luaL_checkinteger(L,1) & 0xFFFF;
|
int x1 = (int)luaL_checkinteger(L,1) & 0xFFFF;
|
||||||
int y1 = luaL_checkinteger(L,2) & 0xFFFF;
|
int y1 = (int)luaL_checkinteger(L,2) & 0xFFFF;
|
||||||
int x2 = luaL_checkinteger(L,3) & 0xFFFF;
|
int x2 = (int)luaL_checkinteger(L,3) & 0xFFFF;
|
||||||
int y2 = luaL_checkinteger(L,4) & 0xFFFF;
|
int y2 = (int)luaL_checkinteger(L,4) & 0xFFFF;
|
||||||
int color = getcolor(L,5,0xFFFFFFFF);
|
int color = getcolor(L,5,0xFFFFFFFF);
|
||||||
int color32 = color>>8;
|
int color32 = color>>8;
|
||||||
int color16 = DrawUtil::Pix32To16(color32);
|
int color16 = DrawUtil::Pix32To16(color32);
|
||||||
|
@ -2614,9 +2593,9 @@ DEFINE_LUA_FUNCTION(gui_gdoverlay, "[x=0,y=0,]gdimage[,alphamul]")
|
||||||
int index = 1;
|
int index = 1;
|
||||||
if(lua_type(L,index) == LUA_TNUMBER)
|
if(lua_type(L,index) == LUA_TNUMBER)
|
||||||
{
|
{
|
||||||
xStart = lua_tointeger(L,index++);
|
xStart = (int)lua_tointeger(L,index++);
|
||||||
if(lua_type(L,index) == LUA_TNUMBER)
|
if(lua_type(L,index) == LUA_TNUMBER)
|
||||||
yStart = lua_tointeger(L,index++);
|
yStart = (int)lua_tointeger(L,index++);
|
||||||
}
|
}
|
||||||
|
|
||||||
luaL_checktype(L,index,LUA_TSTRING);
|
luaL_checktype(L,index,LUA_TSTRING);
|
||||||
|
@ -2825,7 +2804,7 @@ DEFINE_LUA_FUNCTION(movie_rerecordcount, "")
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(movie_setrerecordcount, "")
|
DEFINE_LUA_FUNCTION(movie_setrerecordcount, "")
|
||||||
{
|
{
|
||||||
//TODO: MainMovie.NbRerecords = luaL_checkinteger(L, 1);
|
//TODO: MainMovie.NbRerecords = (int)luaL_checkinteger(L, 1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
DEFINE_LUA_FUNCTION(emulua_rerecordcounting, "[enabled]")
|
DEFINE_LUA_FUNCTION(emulua_rerecordcounting, "[enabled]")
|
||||||
|
@ -3629,7 +3608,7 @@ void RequestAbortLuaScript(int uid, const char* message)
|
||||||
|
|
||||||
void SetSaveKey(LuaContextInfo& info, const char* key)
|
void SetSaveKey(LuaContextInfo& info, const char* key)
|
||||||
{
|
{
|
||||||
info.dataSaveKey = crc32(0, (const unsigned char*)key, strlen(key));
|
info.dataSaveKey = crc32(0, (const unsigned char*)key, (int)strlen(key));
|
||||||
|
|
||||||
if(!info.dataSaveLoadKeySet)
|
if(!info.dataSaveLoadKeySet)
|
||||||
{
|
{
|
||||||
|
@ -3639,7 +3618,7 @@ void SetSaveKey(LuaContextInfo& info, const char* key)
|
||||||
}
|
}
|
||||||
void SetLoadKey(LuaContextInfo& info, const char* key)
|
void SetLoadKey(LuaContextInfo& info, const char* key)
|
||||||
{
|
{
|
||||||
info.dataLoadKey = crc32(0, (const unsigned char*)key, strlen(key));
|
info.dataLoadKey = crc32(0, (const unsigned char*)key, (int)strlen(key));
|
||||||
|
|
||||||
if(!info.dataSaveLoadKeySet)
|
if(!info.dataSaveLoadKeySet)
|
||||||
{
|
{
|
||||||
|
@ -3715,13 +3694,13 @@ void CallExitFunction(int uid)
|
||||||
// gather the final value of the variables we're supposed to persist
|
// gather the final value of the variables we're supposed to persist
|
||||||
LuaSaveData newExitData;
|
LuaSaveData newExitData;
|
||||||
{
|
{
|
||||||
int numPersistVars = info.persistVars.size();
|
int numPersistVars = (int)info.persistVars.size();
|
||||||
for(int i = 0; i < numPersistVars; i++)
|
for(int i = 0; i < numPersistVars; i++)
|
||||||
{
|
{
|
||||||
const char* varName = info.persistVars[i].c_str();
|
const char* varName = info.persistVars[i].c_str();
|
||||||
lua_getfield(L, LUA_GLOBALSINDEX, varName);
|
lua_getfield(L, LUA_GLOBALSINDEX, varName);
|
||||||
int type = lua_type(L,-1);
|
int type = lua_type(L,-1);
|
||||||
unsigned int varNameCRC = crc32(0, (const unsigned char*)varName, strlen(varName));
|
unsigned int varNameCRC = crc32(0, (const unsigned char*)varName, (int)strlen(varName));
|
||||||
newExitData.SaveRecordPartial(uid, varNameCRC, -1);
|
newExitData.SaveRecordPartial(uid, varNameCRC, -1);
|
||||||
lua_pop(L,1);
|
lua_pop(L,1);
|
||||||
}
|
}
|
||||||
|
@ -3886,7 +3865,7 @@ struct TieredRegion
|
||||||
|
|
||||||
__forceinline int NotEmpty()
|
__forceinline int NotEmpty()
|
||||||
{
|
{
|
||||||
return broad.islands.size();
|
return (int)broad.islands.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
// note: it is illegal to call this if NotEmpty() returns 0
|
// note: it is illegal to call this if NotEmpty() returns 0
|
||||||
|
@ -3920,7 +3899,7 @@ static void CalculateMemHookRegions(LuaMemHookType hookType)
|
||||||
{
|
{
|
||||||
if(lua_isfunction(L, -1))
|
if(lua_isfunction(L, -1))
|
||||||
{
|
{
|
||||||
unsigned int addr = lua_tointeger(L, -2);
|
unsigned int addr = (int)lua_tointeger(L, -2);
|
||||||
hookedBytes.push_back(addr);
|
hookedBytes.push_back(addr);
|
||||||
}
|
}
|
||||||
lua_pop(L, 1);
|
lua_pop(L, 1);
|
||||||
|
@ -4183,7 +4162,7 @@ void PushBinaryItem(T item, std::vector<unsigned char>& output)
|
||||||
for(int i = sizeof(T); i; i--)
|
for(int i = sizeof(T); i; i--)
|
||||||
output.push_back(*buf++);
|
output.push_back(*buf++);
|
||||||
#else
|
#else
|
||||||
int vecsize = output.size();
|
int vecsize = (int)output.size();
|
||||||
for(int i = sizeof(T); i; i--)
|
for(int i = sizeof(T); i; i--)
|
||||||
output.insert(output.begin() + vecsize, *buf++);
|
output.insert(output.begin() + vecsize, *buf++);
|
||||||
#endif
|
#endif
|
||||||
|
@ -4330,7 +4309,7 @@ static void LuaStackToBinaryConverter(lua_State* L, int i, std::vector<unsigned
|
||||||
// then a Lua value per array entry, then a (key,value) pair of Lua values per hashed entry
|
// then a Lua value per array entry, then a (key,value) pair of Lua values per hashed entry
|
||||||
// note that the structure of table references are not faithfully serialized (yet)
|
// note that the structure of table references are not faithfully serialized (yet)
|
||||||
{
|
{
|
||||||
int outputTypeIndex = output.size() - 1;
|
int outputTypeIndex = (int)output.size() - 1;
|
||||||
int arraySize = 0;
|
int arraySize = 0;
|
||||||
int hashSize = 0;
|
int hashSize = 0;
|
||||||
|
|
||||||
|
@ -4341,7 +4320,7 @@ static void LuaStackToBinaryConverter(lua_State* L, int i, std::vector<unsigned
|
||||||
|
|
||||||
bool wasnil = false;
|
bool wasnil = false;
|
||||||
int nilcount = 0;
|
int nilcount = 0;
|
||||||
arraySize = lua_objlen(L, i);
|
arraySize = (int)lua_objlen(L, i);
|
||||||
int arrayValIndex = lua_gettop(L) + 1;
|
int arrayValIndex = lua_gettop(L) + 1;
|
||||||
for(int j = 1; j <= arraySize; j++)
|
for(int j = 1; j <= arraySize; j++)
|
||||||
{
|
{
|
||||||
|
@ -4456,7 +4435,7 @@ void BinaryToLuaStackConverter(lua_State* L, const unsigned char*& data, unsigne
|
||||||
break;
|
break;
|
||||||
case LUA_TSTRING:
|
case LUA_TSTRING:
|
||||||
lua_pushstring(L, (const char*)data);
|
lua_pushstring(L, (const char*)data);
|
||||||
AdvanceByteStream(data, remaining, strlen((const char*)data) + 1);
|
AdvanceByteStream(data, remaining, (int)strlen((const char*)data) + 1);
|
||||||
break;
|
break;
|
||||||
case LUA_TNUMBER:
|
case LUA_TNUMBER:
|
||||||
lua_pushnumber(L, AdvanceByteStream<double>(data, remaining));
|
lua_pushnumber(L, AdvanceByteStream<double>(data, remaining));
|
||||||
|
@ -4555,7 +4534,7 @@ unsigned char* LuaStackToBinary(lua_State* L, unsigned int& size)
|
||||||
|
|
||||||
unsigned char* rv = new unsigned char [output.size()];
|
unsigned char* rv = new unsigned char [output.size()];
|
||||||
memcpy(rv, &output.front(), output.size());
|
memcpy(rv, &output.front(), output.size());
|
||||||
size = output.size();
|
size = (int)output.size();
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4651,7 +4630,7 @@ void LuaSaveData::SaveRecordPartial(int uid, unsigned int key, int idx)
|
||||||
|
|
||||||
unsigned char* rv = new unsigned char [output.size()];
|
unsigned char* rv = new unsigned char [output.size()];
|
||||||
memcpy(rv, &output.front(), output.size());
|
memcpy(rv, &output.front(), output.size());
|
||||||
cur->size = output.size();
|
cur->size = (int)output.size();
|
||||||
cur->data = rv;
|
cur->data = rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue