MRI: add option to use a script's name as filename

This commit is contained in:
cremno 2014-04-11 18:11:32 +02:00
parent 8bc17a9a98
commit 95c112bbe4
4 changed files with 24 additions and 5 deletions

View File

@ -295,11 +295,20 @@ static void runRMXPScripts()
VALUE string = newStringUTF8(RSTRING_PTR(scriptDecoded),
RSTRING_LEN(scriptDecoded));
char fname[32];
int len = snprintf(fname, sizeof(fname), "Section%03ld", i);
VALUE fname;
if (shState->rtData().config.useScriptNames)
{
fname = rb_ary_entry(script, 1);
}
else
{
char buf[32];
int len = snprintf(buf, sizeof(buf), "Section%03ld", i);
fname = newStringUTF8(buf, len);
}
int state;
evalString(string, newStringUTF8(fname, len), &state);
evalString(string, fname, &state);
if (state)
break;
}

View File

@ -113,3 +113,9 @@
# RTP=/path/to/rtp1
# RTP=/path/to/rtp2.zip
# RTP=/path/to/game.rgssad
# Use the script's name as filename in warnings and error messages
# (default: disabled)
#
# useScriptNames=false

View File

@ -49,7 +49,8 @@ Config::Config()
gameFolder("."),
anyAltToggleFS(false),
allowSymlinks(false),
pathCache(true)
pathCache(true),
useScriptNames(false)
{}
void Config::read(int argc, char *argv[])
@ -72,7 +73,8 @@ void Config::read(int argc, char *argv[])
PO_DESC(allowSymlinks, bool) \
PO_DESC(iconPath, std::string) \
PO_DESC(customScript, std::string) \
PO_DESC(pathCache, bool)
PO_DESC(pathCache, bool) \
PO_DESC(useScriptNames, bool)
// Not gonna take your shit boost
#define GUARD_ALL( exp ) try { exp } catch(...) {}

View File

@ -51,6 +51,8 @@ struct Config
std::string iconPath;
bool useScriptNames;
std::string customScript;
std::vector<std::string> rtps;