diff options
Diffstat (limited to 'sword2/console.cpp')
-rw-r--r-- | sword2/console.cpp | 139 |
1 files changed, 83 insertions, 56 deletions
diff --git a/sword2/console.cpp b/sword2/console.cpp index db54937152..cd09bf192f 100644 --- a/sword2/console.cpp +++ b/sword2/console.cpp @@ -35,13 +35,11 @@ namespace Sword2 { -bool wantSfxDebug = false; // sfx debug enabled/disabled from console - -static void Var_check(int var) { +void Debugger::varGet(int var) { Debug_Printf("%d\n", VAR(var)); } -static void Var_set(int var, int val) { +void Debugger::varSet(int var, int val) { Debug_Printf("was %d, ", VAR(var)); VAR(var) = val; Debug_Printf("now %d\n", VAR(var)); @@ -51,6 +49,36 @@ Debugger::Debugger(Sword2Engine *s) : Common::Debugger<Debugger>() { _vm = s; + memset(_debugTextBlocks, 0, sizeof(_debugTextBlocks)); + memset(_showVar, 0, sizeof(_showVar)); + + _displayDebugText = false; // "INFO" + _displayWalkGrid = false; // "WALKGRID" + _displayMouseMarker = false; // "MOUSE" + _displayTime = false; // "TIME" + _displayPlayerMarker = false; // "PLAYER" + _displayTextNumbers = false; // "TEXT" + + _definingRectangles = false; // "RECT" + _draggingRectangle = 0; // 0 = waiting to start new rect + // 1 = currently dragging a rectangle + + _rectX1 = _rectY1 = 0; + _rectX2 = _rectY2 = 0; + _rectFlicker = false; + + _testingSnR = false; // "SAVEREST" - for system to kill all + // object resources (except player) in + // fnAddHuman() + + _startTime = 0; // "TIMEON" & "TIMEOFF" - system start + // time + + _textNumber = 0; // Current system text line number + + _playerGraphicNoFrames = 0; // No. of frames in currently displayed + // anim + // Register commands DCmd_Register("continue", &Debugger::Cmd_Exit); @@ -121,7 +149,6 @@ void Debugger::postEnter() { } - /////////////////////////////////////////////////// // Now the fun stuff: @@ -188,9 +215,9 @@ bool Debugger::Cmd_Start(int argc, const char **argv) { } bool Debugger::Cmd_Info(int argc, const char **argv) { - displayDebugText = !displayDebugText; + _displayDebugText = !_displayDebugText; - if (displayDebugText) + if (_displayDebugText) DebugPrintf("Info text on\n"); else DebugPrintf("Info Text off\n"); @@ -199,9 +226,9 @@ bool Debugger::Cmd_Info(int argc, const char **argv) { } bool Debugger::Cmd_WalkGrid(int argc, const char **argv) { - displayWalkGrid = !displayWalkGrid; + _displayWalkGrid = !_displayWalkGrid; - if (displayWalkGrid) + if (_displayWalkGrid) DebugPrintf("Walk-grid display on\n"); else DebugPrintf("Walk-grid display off\n"); @@ -210,9 +237,9 @@ bool Debugger::Cmd_WalkGrid(int argc, const char **argv) { } bool Debugger::Cmd_Mouse(int argc, const char **argv) { - displayMouseMarker = !displayMouseMarker; + _displayMouseMarker = !_displayMouseMarker; - if (displayMouseMarker) + if (_displayMouseMarker) DebugPrintf("Mouse marker on\n"); else DebugPrintf("Mouse marker off\n"); @@ -221,9 +248,9 @@ bool Debugger::Cmd_Mouse(int argc, const char **argv) { } bool Debugger::Cmd_Player(int argc, const char **argv) { - displayPlayerMarker = !displayPlayerMarker; + _displayPlayerMarker = !_displayPlayerMarker; - if (displayPlayerMarker) + if (_displayPlayerMarker) DebugPrintf("Player feet marker on\n"); else DebugPrintf("Player feet marker off\n"); @@ -240,7 +267,7 @@ bool Debugger::Cmd_ResLook(int argc, const char **argv) { } bool Debugger::Cmd_CurrentInfo(int argc, const char **argv) { - Print_current_info(); + printCurrentInfo(); return true; } @@ -266,10 +293,10 @@ bool Debugger::Cmd_Nuke(int argc, const char **argv) { bool Debugger::Cmd_Var(int argc, const char **argv) { switch (argc) { case 2: - Var_check(atoi(argv[1])); + varGet(atoi(argv[1])); break; case 3: - Var_set(atoi(argv[1]), atoi(argv[2])); + varSet(atoi(argv[1]), atoi(argv[2])); break; default: DebugPrintf("Usage: %s number value\n", argv[0]); @@ -280,14 +307,14 @@ bool Debugger::Cmd_Var(int argc, const char **argv) { } bool Debugger::Cmd_Rect(int argc, const char **argv) { - definingRectangles = !definingRectangles; + _definingRectangles = !_definingRectangles; - if (definingRectangles) + if (_definingRectangles) DebugPrintf("Mouse rectangles enabled\n"); else DebugPrintf("Mouse rectangles disabled\n"); - draggingRectangle = 0; + _draggingRectangle = 0; return true; } @@ -297,29 +324,29 @@ bool Debugger::Cmd_Clear(int argc, const char **argv) { } bool Debugger::Cmd_DebugOn(int argc, const char **argv) { - displayDebugText = true; - displayWalkGrid = true; - displayMouseMarker = true; - displayPlayerMarker = true; - displayTextNumbers = true; + _displayDebugText = true; + _displayWalkGrid = true; + _displayMouseMarker = true; + _displayPlayerMarker = true; + _displayTextNumbers = true; DebugPrintf("Enabled all on-screen debug info\n"); return true; } bool Debugger::Cmd_DebugOff(int argc, const char **argv) { - displayDebugText = false; - displayWalkGrid = false; - displayMouseMarker = false; - displayPlayerMarker = false; - displayTextNumbers = false; + _displayDebugText = false; + _displayWalkGrid = false; + _displayMouseMarker = false; + _displayPlayerMarker = false; + _displayTextNumbers = false; DebugPrintf("Disabled all on-screen debug info\n"); return true; } bool Debugger::Cmd_SaveRest(int argc, const char **argv) { - testingSnR = !testingSnR; + _testingSnR = !_testingSnR; - if (testingSnR) + if (_testingSnR) DebugPrintf("Enabled S&R logic_script stability checking\n"); else DebugPrintf("Disabled S&R logic_script stability checking\n"); @@ -440,24 +467,24 @@ bool Debugger::Cmd_BltFxOff(int argc, const char **argv) { bool Debugger::Cmd_TimeOn(int argc, const char **argv) { if (argc == 2) - startTime = SVM_timeGetTime() - atoi(argv[1]) * 1000; - else if (startTime == 0) - startTime = SVM_timeGetTime(); - displayTime = true; + _startTime = SVM_timeGetTime() - atoi(argv[1]) * 1000; + else if (_startTime == 0) + _startTime = SVM_timeGetTime(); + _displayTime = true; DebugPrintf("Timer display on\n"); return true; } bool Debugger::Cmd_TimeOff(int argc, const char **argv) { - displayTime = false; + _displayTime = false; DebugPrintf("Timer display off\n"); return true; } bool Debugger::Cmd_Text(int argc, const char **argv) { - displayTextNumbers = !displayTextNumbers; + _displayTextNumbers = !_displayTextNumbers; - if (displayTextNumbers) + if (_displayTextNumbers) DebugPrintf("Text numbers on\n"); else DebugPrintf("Text numbers off\n"); @@ -479,14 +506,14 @@ bool Debugger::Cmd_ShowVar(int argc, const char **argv) { // search for a spare slot in the watch-list, but also watch out for // this variable already being in the list - while (showVarNo < MAX_SHOWVARS && showVar[showVarNo] != 0 && showVar[showVarNo] != varNo) + while (showVarNo < MAX_SHOWVARS && _showVar[showVarNo] != 0 && _showVar[showVarNo] != varNo) showVarNo++; // if we've found a spare slot or the variable's already there if (showVarNo < MAX_SHOWVARS) { - if (showVar[showVarNo] == 0) { + if (_showVar[showVarNo] == 0) { // empty slot - add it to the list at this slot - showVar[showVarNo] = varNo; + _showVar[showVarNo] = varNo; DebugPrintf("var(%d) added to the watch-list\n", varNo); } else DebugPrintf("var(%d) already in the watch-list!\n", varNo); @@ -508,12 +535,12 @@ bool Debugger::Cmd_HideVar(int argc, const char **argv) { varNo = atoi(argv[1]); // search for 'varNo' in the watch-list - while (showVarNo < MAX_SHOWVARS && showVar[showVarNo] != varNo) + while (showVarNo < MAX_SHOWVARS && _showVar[showVarNo] != varNo) showVarNo++; if (showVarNo < MAX_SHOWVARS) { // We've found 'varNo' in the list - clear this slot - showVar[showVarNo] = 0; + _showVar[showVarNo] = 0; DebugPrintf("var(%d) removed from watch-list\n", varNo); } else DebugPrintf("Sorry - can't find var(%d) in the list\n", varNo); @@ -588,7 +615,7 @@ bool Debugger::Cmd_AnimTest(int argc, const char **argv) { Con_start(32); // Same as typing "VAR 912 <value>" at the console - Var_set(912, atoi(argv[1])); + varSet(912, atoi(argv[1])); DebugPrintf("Setting flag 'system_testing_anims'\n"); return true; @@ -604,9 +631,9 @@ bool Debugger::Cmd_TextTest(int argc, const char **argv) { Con_start(33); // Same as typing "VAR 1230 <value>" at the console - Var_set(1230, atoi(argv[1])); + varSet(1230, atoi(argv[1])); - displayTextNumbers = true; + _displayTextNumbers = true; DebugPrintf("Setting flag 'system_testing_text'\n"); DebugPrintf("Text numbers on\n"); @@ -623,12 +650,12 @@ bool Debugger::Cmd_LineTest(int argc, const char **argv) { Con_start(33); // Same as typing "VAR 1230 <value>" at the console - Var_set(1230, atoi(argv[1])); + varSet(1230, atoi(argv[1])); // Same as typing "VAR 1264 <value>" at the console - Var_set(1264, atoi(argv[2])); + varSet(1264, atoi(argv[2])); - displayTextNumbers = true; + _displayTextNumbers = true; DebugPrintf("Setting flag 'system_testing_text'\n"); DebugPrintf("Setting flag 'system_test_line_no'\n"); @@ -640,9 +667,9 @@ bool Debugger::Cmd_Grab(int argc, const char **argv) { DebugPrintf("FIXME: Continuous screen-grabbing not implemented\n"); #if 0 - grabbingSequences = !grabbingSequences; + g_sword2->_grabbingSequences = !g_sword2->_grabbingSequences; - if (grabbingSequences) + if (g_sword2->_grabbingSequences) DebugPrintf("PCX-grabbing enabled\n"); else DebugPrintf("PCX-grabbing disabled\n"); @@ -655,9 +682,9 @@ bool Debugger::Cmd_Events(int argc, const char **argv) { DebugPrintf("EVENT LIST:\n"); for (uint32 i = 0; i < MAX_events; i++) { - if (event_list[i].id) { - uint32 target = event_list[i].id; - uint32 script = event_list[i].interact_id; + if (g_sword2->_eventList[i].id) { + uint32 target = g_sword2->_eventList[i].id; + uint32 script = g_sword2->_eventList[i].interact_id; DebugPrintf("slot %d: id = %s (%d)\n", i, FetchObjectName(target), target); DebugPrintf(" script = %s (%d) pos %d\n", FetchObjectName(script / 65536), script / 65536, script % 65536); @@ -668,9 +695,9 @@ bool Debugger::Cmd_Events(int argc, const char **argv) { } bool Debugger::Cmd_Sfx(int argc, const char **argv) { - wantSfxDebug = !wantSfxDebug; + g_sword2->_wantSfxDebug = !g_sword2->_wantSfxDebug; - if (wantSfxDebug) + if (g_sword2->_wantSfxDebug) DebugPrintf("SFX logging activated\n"); else DebugPrintf("SFX logging deactivated\n"); |