From ad7b80ec871348e761453aef2df40b5ddffb5e36 Mon Sep 17 00:00:00 2001 From: zeromus Date: Wed, 31 Oct 2018 21:29:06 -0400 Subject: [PATCH] add lua functions emu.gamecode and emu.smallgamecode for game-specific hacks in scripts re #130 --- desmume/src/lua-engine.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/desmume/src/lua-engine.cpp b/desmume/src/lua-engine.cpp index b27cb2e1b..e10959ecf 100644 --- a/desmume/src/lua-engine.cpp +++ b/desmume/src/lua-engine.cpp @@ -1759,7 +1759,18 @@ DEFINE_LUA_FUNCTION(emu_frameadvance, "") return StepEmulationAtSpeed(L, info.speedMode, true); } - +DEFINE_LUA_FUNCTION(emu_gamecode, "") +{ + char tmp[5] = {gameInfo.header.gameCode[0],gameInfo.header.gameCode[1],gameInfo.header.gameCode[2],gameInfo.header.gameCode[3],0}; + lua_pushstring(L,tmp); + return 1; +} +DEFINE_LUA_FUNCTION(emu_smallgamecode, "") +{ + char tmp[4] = {gameInfo.header.gameCode[0],gameInfo.header.gameCode[1],gameInfo.header.gameCode[2],0}; + lua_pushstring(L,tmp); + return 1; +} DEFINE_LUA_FUNCTION(emu_pause, "") { driver->EMU_PauseEmulation(true); @@ -4798,6 +4809,8 @@ static const struct luaL_reg styluslib [] = static const struct luaL_reg emulib [] = { {"frameadvance", emu_frameadvance}, + {"gamecode", emu_gamecode}, + {"smallgamecode", emu_smallgamecode}, {"speedmode", emu_speedmode}, {"wait", emu_wait}, {"pause", emu_pause},