DRACI: Rework formatting of gplCommands

This commit is contained in:
Strangerke 2013-11-24 02:40:38 +01:00
parent 793f2c4e05
commit 14cb73789e

View file

@ -41,65 +41,65 @@ namespace Draci {
void Script::setupCommandList() { void Script::setupCommandList() {
/** A table of all the commands the game player uses */ /** A table of all the commands the game player uses */
static const GPL2Command gplCommands[] = { static const GPL2Command gplCommands[] = {
{ 0, 0, "gplend", 0, { }, NULL }, { 0, 0, "gplend", 0, { }, NULL },
{ 0, 1, "exit", 0, { }, NULL }, { 0, 1, "exit", 0, { }, NULL },
{ 1, 1, "goto", 1, { kGPL2Ident }, &Script::c_Goto }, { 1, 1, "goto", 1, { kGPL2Ident }, &Script::c_Goto },
{ 2, 1, "Let", 2, { kGPL2Ident, kGPL2Math }, &Script::c_Let }, { 2, 1, "Let", 2, { kGPL2Ident, kGPL2Math }, &Script::c_Let },
{ 3, 1, "if", 2, { kGPL2Math, kGPL2Ident }, &Script::c_If }, { 3, 1, "if", 2, { kGPL2Math, kGPL2Ident }, &Script::c_If },
{ 4, 1, "Start", 2, { kGPL2Ident, kGPL2Str }, &Script::start }, { 4, 1, "Start", 2, { kGPL2Ident, kGPL2Str }, &Script::start },
{ 5, 1, "Load", 2, { kGPL2Ident, kGPL2Str }, &Script::load }, { 5, 1, "Load", 2, { kGPL2Ident, kGPL2Str }, &Script::load },
{ 5, 2, "StartPlay", 2, { kGPL2Ident, kGPL2Str }, &Script::startPlay }, { 5, 2, "StartPlay", 2, { kGPL2Ident, kGPL2Str }, &Script::startPlay },
{ 5, 3, "JustTalk", 0, { }, &Script::justTalk }, { 5, 3, "JustTalk", 0, { }, &Script::justTalk },
{ 5, 4, "JustStay", 0, { }, &Script::justStay }, { 5, 4, "JustStay", 0, { }, &Script::justStay },
{ 6, 1, "Talk", 2, { kGPL2Ident, kGPL2Str }, &Script::talk }, { 6, 1, "Talk", 2, { kGPL2Ident, kGPL2Str }, &Script::talk },
{ 7, 1, "ObjStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStat }, { 7, 1, "ObjStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStat },
{ 7, 2, "ObjStat_On", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStatOn }, { 7, 2, "ObjStat_On", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStatOn },
{ 8, 1, "IcoStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::icoStat }, { 8, 1, "IcoStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::icoStat },
{ 9, 1, "Dialogue", 1, { kGPL2Str }, &Script::dialogue }, { 9, 1, "Dialogue", 1, { kGPL2Str }, &Script::dialogue },
{ 9, 2, "ExitDialogue", 0, { }, &Script::exitDialogue }, { 9, 2, "ExitDialogue", 0, { }, &Script::exitDialogue },
{ 9, 3, "ResetDialogue", 0, { }, &Script::resetDialogue }, { 9, 3, "ResetDialogue", 0, { }, &Script::resetDialogue },
{ 9, 4, "ResetDialogueFrom", 0, { }, &Script::resetDialogueFrom }, { 9, 4, "ResetDialogueFrom", 0, { }, &Script::resetDialogueFrom },
{ 9, 5, "ResetBlock", 1, { kGPL2Ident }, &Script::resetBlock }, { 9, 5, "ResetBlock", 1, { kGPL2Ident }, &Script::resetBlock },
{ 10, 1, "WalkOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOn }, { 10, 1, "WalkOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOn },
{ 10, 2, "StayOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::stayOn }, { 10, 2, "StayOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::stayOn },
{ 10, 3, "WalkOnPlay", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOnPlay }, { 10, 3, "WalkOnPlay", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOnPlay },
{ 11, 1, "LoadPalette", 1, { kGPL2Str }, &Script::loadPalette }, { 11, 1, "LoadPalette", 1, { kGPL2Str }, &Script::loadPalette },
{ 12, 1, "SetPalette", 0, { }, &Script::setPalette }, { 12, 1, "SetPalette", 0, { }, &Script::setPalette },
{ 12, 2, "BlackPalette", 0, { }, &Script::blackPalette }, { 12, 2, "BlackPalette", 0, { }, &Script::blackPalette },
{ 13, 1, "FadePalette", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalette }, { 13, 1, "FadePalette", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalette },
{ 13, 2, "FadePalettePlay", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalettePlay }, { 13, 2, "FadePalettePlay", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalettePlay },
{ 14, 1, "NewRoom", 2, { kGPL2Ident, kGPL2Num }, &Script::newRoom }, { 14, 1, "NewRoom", 2, { kGPL2Ident, kGPL2Num }, &Script::newRoom },
{ 15, 1, "ExecInit", 1, { kGPL2Ident }, &Script::execInit }, { 15, 1, "ExecInit", 1, { kGPL2Ident }, &Script::execInit },
{ 15, 2, "ExecLook", 1, { kGPL2Ident }, &Script::execLook }, { 15, 2, "ExecLook", 1, { kGPL2Ident }, &Script::execLook },
{ 15, 3, "ExecUse", 1, { kGPL2Ident }, &Script::execUse }, { 15, 3, "ExecUse", 1, { kGPL2Ident }, &Script::execUse },
{ 18, 1, "LoadMusic", 1, { kGPL2Str }, &Script::loadMusic }, { 18, 1, "LoadMusic", 1, { kGPL2Str }, &Script::loadMusic },
{ 18, 2, "StartMusic", 0, { }, &Script::startMusic }, { 18, 2, "StartMusic", 0, { }, &Script::startMusic },
{ 18, 3, "StopMusic", 0, { }, &Script::stopMusic }, { 18, 3, "StopMusic", 0, { }, &Script::stopMusic },
{ 19, 1, "Mark", 0, { }, &Script::mark }, { 19, 1, "Mark", 0, { }, &Script::mark },
{ 19, 2, "Release", 0, { }, &Script::release }, { 19, 2, "Release", 0, { }, &Script::release },
{ 20, 1, "Play", 0, { }, &Script::play }, { 20, 1, "Play", 0, { }, &Script::play },
{ 21, 1, "LoadMap", 1, { kGPL2Str }, &Script::loadMap }, { 21, 1, "LoadMap", 1, { kGPL2Str }, &Script::loadMap },
{ 21, 2, "RoomMap", 0, { }, &Script::roomMap }, { 21, 2, "RoomMap", 0, { }, &Script::roomMap },
{ 22, 1, "DisableQuickHero", 0, { }, &Script::disableQuickHero }, { 22, 1, "DisableQuickHero", 0, { }, &Script::disableQuickHero },
{ 22, 2, "EnableQuickHero", 0, { }, &Script::enableQuickHero }, { 22, 2, "EnableQuickHero", 0, { }, &Script::enableQuickHero },
{ 23, 1, "DisableSpeedText", 0, { }, &Script::disableSpeedText }, { 23, 1, "DisableSpeedText", 0, { }, &Script::disableSpeedText },
{ 23, 2, "EnableSpeedText", 0, { }, &Script::enableSpeedText }, { 23, 2, "EnableSpeedText", 0, { }, &Script::enableSpeedText },
{ 24, 1, "QuitGame", 0, { }, &Script::quitGame }, { 24, 1, "QuitGame", 0, { }, &Script::quitGame },
{ 25, 1, "PushNewRoom", 0, { }, &Script::pushNewRoom }, { 25, 1, "PushNewRoom", 0, { }, &Script::pushNewRoom },
{ 25, 2, "PopNewRoom", 0, { }, &Script::popNewRoom }, { 25, 2, "PopNewRoom", 0, { }, &Script::popNewRoom },
// The following commands are not used in the original game files. // The following commands are not used in the original game files.
{ 16, 1, "RepaintInventory", 0, { }, NULL }, { 16, 1, "RepaintInventory", 0, { }, NULL },
{ 16, 2, "ExitInventory", 0, { }, NULL }, { 16, 2, "ExitInventory", 0, { }, NULL },
{ 17, 1, "ExitMap", 0, { }, NULL }, { 17, 1, "ExitMap", 0, { }, NULL },
{ 18, 4, "FadeOutMusic", 1, { kGPL2Num }, NULL }, { 18, 4, "FadeOutMusic", 1, { kGPL2Num }, NULL },
{ 18, 5, "FadeInMusic", 1, { kGPL2Num }, NULL }, { 18, 5, "FadeInMusic", 1, { kGPL2Num }, NULL },
// The following commands are not even defined in the game // The following commands are not even defined in the game
// sources, but their numbers are allocated for internal // sources, but their numbers are allocated for internal
// purposes of the old player. // purposes of the old player.
{ 26, 1, "ShowCheat", 0, { }, NULL }, { 26, 1, "ShowCheat", 0, { }, NULL },
{ 26, 2, "HideCheat", 0, { }, NULL }, { 26, 2, "HideCheat", 0, { }, NULL },
{ 26, 3, "ClearCheat", 1, { kGPL2Num }, NULL }, { 26, 3, "ClearCheat", 1, { kGPL2Num }, NULL },
{ 27, 1, "FeedPassword", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, NULL } { 27, 1, "FeedPassword", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, NULL }
}; };
/** Operators used by the mathematical evaluator */ /** Operators used by the mathematical evaluator */