mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 18:19:43 +01:00
Fix -playx/y/rx/ry/gc/music looking at wrong argument
In my previous PR, I wrongly assumed that I could just replace the `i` handling code of those options with an `i++;` at the beginning, and thus I could put all blocks' `i++;` into ARG_INNER(). Well I was wrong, because the code was written the original way for a reason, namely that we still need `i` to point to the -playx/y/rx/ry/gc/music argv so we can re-compare which argument led us into this code block.
This commit is contained in:
parent
33aed057ba
commit
6648246662
1 changed files with 8 additions and 3 deletions
|
@ -79,7 +79,6 @@ int main(int argc, char *argv[])
|
||||||
#define ARG_INNER(code) \
|
#define ARG_INNER(code) \
|
||||||
if (i + 1 < argc) \
|
if (i + 1 < argc) \
|
||||||
{ \
|
{ \
|
||||||
i++; \
|
|
||||||
code \
|
code \
|
||||||
} \
|
} \
|
||||||
else \
|
else \
|
||||||
|
@ -91,24 +90,28 @@ int main(int argc, char *argv[])
|
||||||
if (ARG("-renderer"))
|
if (ARG("-renderer"))
|
||||||
{
|
{
|
||||||
ARG_INNER({
|
ARG_INNER({
|
||||||
|
i++;
|
||||||
SDL_SetHintWithPriority(SDL_HINT_RENDER_DRIVER, argv[i], SDL_HINT_OVERRIDE);
|
SDL_SetHintWithPriority(SDL_HINT_RENDER_DRIVER, argv[i], SDL_HINT_OVERRIDE);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
else if (ARG("-basedir"))
|
else if (ARG("-basedir"))
|
||||||
{
|
{
|
||||||
ARG_INNER({
|
ARG_INNER({
|
||||||
|
i++;
|
||||||
baseDir = argv[i];
|
baseDir = argv[i];
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
else if (ARG("-assets"))
|
else if (ARG("-assets"))
|
||||||
{
|
{
|
||||||
ARG_INNER({
|
ARG_INNER({
|
||||||
|
i++;
|
||||||
assetsPath = argv[i];
|
assetsPath = argv[i];
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
else if (ARG("-playing") || ARG("-p"))
|
else if (ARG("-playing") || ARG("-p"))
|
||||||
{
|
{
|
||||||
ARG_INNER({
|
ARG_INNER({
|
||||||
|
i++;
|
||||||
startinplaytest = true;
|
startinplaytest = true;
|
||||||
playtestname = std::string("levels/");
|
playtestname = std::string("levels/");
|
||||||
playtestname.append(argv[i]);
|
playtestname.append(argv[i]);
|
||||||
|
@ -121,19 +124,21 @@ int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
ARG_INNER({
|
ARG_INNER({
|
||||||
savefileplaytest = true;
|
savefileplaytest = true;
|
||||||
int v = std::atoi(argv[i]);
|
int v = std::atoi(argv[i+1]);
|
||||||
if (ARG("-playx")) savex = v;
|
if (ARG("-playx")) savex = v;
|
||||||
else if (ARG("-playy")) savey = v;
|
else if (ARG("-playy")) savey = v;
|
||||||
else if (ARG("-playrx")) saverx = v;
|
else if (ARG("-playrx")) saverx = v;
|
||||||
else if (ARG("-playry")) savery = v;
|
else if (ARG("-playry")) savery = v;
|
||||||
else if (ARG("-playgc")) savegc = v;
|
else if (ARG("-playgc")) savegc = v;
|
||||||
else if (ARG("-playmusic")) savemusic = v;
|
else if (ARG("-playmusic")) savemusic = v;
|
||||||
|
i++;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
else if (ARG("-playassets"))
|
else if (ARG("-playassets"))
|
||||||
{
|
{
|
||||||
// Even if this is a directory, FILESYSTEM_mountassets() expects '.vvvvvv' on the end
|
|
||||||
ARG_INNER({
|
ARG_INNER({
|
||||||
|
i++;
|
||||||
|
// Even if this is a directory, FILESYSTEM_mountassets() expects '.vvvvvv' on the end
|
||||||
playassets = "levels/" + std::string(argv[i]) + ".vvvvvv";
|
playassets = "levels/" + std::string(argv[i]) + ".vvvvvv";
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue