[Scummvm-git-logs] scummvm master -> 9ef0dfae2debdd325736ea2556dff658ef9293a3
neuromancer
noreply at scummvm.org
Tue Jun 9 19:14:34 UTC 2026
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
21a0fa47b9 SCUMM: RA2: better gameplay support for high resolution mode
082fbb3a19 SCUMM: RA2: avoid palette corruption in high resolution mode
eb0ce18ea5 SCUMM: RA: make sure all the debug statements using channels
9ef0dfae2d SCUMM: RA: removed redundant tags from debug messages
Commit: 21a0fa47b99a3d1c3ae37895d78e3c6f9fd66125
https://github.com/scummvm/scummvm/commit/21a0fa47b99a3d1c3ae37895d78e3c6f9fd66125
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2026-06-09T21:14:12+02:00
Commit Message:
SCUMM: RA2: better gameplay support for high resolution mode
Changed paths:
engines/scumm/insane/rebel2/rebel.cpp
engines/scumm/insane/rebel2/rebel.h
engines/scumm/insane/rebel2/render.cpp
diff --git a/engines/scumm/insane/rebel2/rebel.cpp b/engines/scumm/insane/rebel2/rebel.cpp
index 9959ca44bdd..25c7d9f7a23 100644
--- a/engines/scumm/insane/rebel2/rebel.cpp
+++ b/engines/scumm/insane/rebel2/rebel.cpp
@@ -191,6 +191,7 @@ InsaneRebel2::InsaneRebel2(ScummEngine_v7 *scumm) {
_viewY = 0;
_hiResPresentationViewX = 0;
_hiResPresentationViewY = 0;
+ _gameplayPresentationClipBottom = 179;
// Damage visual effect counters (FUN_420515/420562/420754/42073B)
_damageFlashCounter = 0;
diff --git a/engines/scumm/insane/rebel2/rebel.h b/engines/scumm/insane/rebel2/rebel.h
index 1b263aed8ee..1e26ac3fb71 100644
--- a/engines/scumm/insane/rebel2/rebel.h
+++ b/engines/scumm/insane/rebel2/rebel.h
@@ -894,6 +894,7 @@ public:
int _viewY;
int _hiResPresentationViewX;
int _hiResPresentationViewY;
+ int _gameplayPresentationClipBottom;
// ---------------------------------------------------------------------------
// Damage Visual Effect System
@@ -1053,7 +1054,8 @@ public:
// Handler-specific explosion rendering
void renderExplosionFrame(byte *renderBitmap, int pitch, int width, int height,
- Explosion &explosion, int screenX, int screenY, ExplosionFrameAdvance advance);
+ Explosion &explosion, int screenX, int screenY, ExplosionFrameAdvance advance,
+ bool resolutionDependentScale);
void renderTurretExplosions(byte *renderBitmap, int pitch, int width, int height); // FUN_409FBC (Handler 0x26)
void renderVehicleExplosions(byte *renderBitmap, int pitch, int width, int height); // FUN_402696 (Handler 8)
void renderSpaceExplosions(byte *renderBitmap, int pitch, int width, int height); // FUN_40F1C5 (Handler 7)
diff --git a/engines/scumm/insane/rebel2/render.cpp b/engines/scumm/insane/rebel2/render.cpp
index 408e4d87411..31088a4d446 100644
--- a/engines/scumm/insane/rebel2/render.cpp
+++ b/engines/scumm/insane/rebel2/render.cpp
@@ -1506,7 +1506,7 @@ void InsaneRebel2::drawLaserBeam(byte *dst, int pitch, int width, int height,
int clipLeft = renderHiRes ? 0 : CLIP<int>(_viewX, 0, width - 1);
int clipTop = renderHiRes ? 0 : CLIP<int>(_viewY, 0, height - 1);
int clipRight = renderHiRes ? MIN(width - 1, 639) : CLIP<int>(_viewX + 319, 0, width - 1);
- int clipBottom = renderHiRes ? MIN(height - 1, 359) : CLIP<int>(_viewY + 179, 0, height - 1);
+ int clipBottom = renderHiRes ? MIN(height - 1, _gameplayPresentationClipBottom) : CLIP<int>(_viewY + 179, 0, height - 1);
if (clipLeft > clipRight || clipTop > clipBottom)
return;
int edgeClipLeft = CLIP<int>(clipLeft + 1, 1, width - 2);
@@ -2641,6 +2641,10 @@ void InsaneRebel2::renderGameplayPostFrame(byte *renderBitmap, int pitch, int wi
// Original: FUN_00403240 only runs handlers when DAT_0047a814 == 0.
processMouse();
+ _gameplayPresentationClipBottom = statusBarY - 1;
+ if (isHiRes() && _rebelHandler == 7 && curFrame != 0)
+ _gameplayPresentationClipBottom = MIN(_gameplayPresentationClipBottom, 170 * 2 - 1);
+
_hiResPresentationViewX = 0;
_hiResPresentationViewY = 0;
if (isHiRes()) {
@@ -2916,10 +2920,13 @@ void InsaneRebel2::updateDamageEffect(byte *renderBitmap, int pitch, int width,
// Temporary buffer for scanline rotation (case 1 in original)
byte tempLine[640];
+ const bool renderHiRes = isHiRes() && width >= 640 && height >= 400;
+ const int maxY = MIN(height, renderHiRes ? 360 : 180);
for (int n = numLines; n > 0; n--) {
- // Pick a random scanline within the gameplay area (0..179, not status bar)
- int maxY = MIN(height, 180);
+ // Pick a random scanline within the gameplay area, not the status bar.
+ if (maxY <= 0)
+ continue;
int scanline = _vm->_rnd.getRandomNumber(maxY - 1);
byte *linePtr = renderBitmap + pitch * scanline;
@@ -3425,8 +3432,9 @@ void InsaneRebel2::renderHandler7FlySprite(byte *renderBitmap, int pitch, int wi
int dstY = renderHiRes ? (nativeY - nativeViewY) * renderScale : nativeY;
if (renderHiRes) {
+ const int clipBottom = MIN(height, _gameplayPresentationClipBottom + 1);
renderNutSpriteScaledClipped(renderBitmap, pitch, width, height,
- 0, 0, width, height, dstX, dstY, nut, spriteIndex, false, renderScale, true);
+ 0, 0, width, clipBottom, dstX, dstY, nut, spriteIndex, false, renderScale, true);
} else {
renderNutSprite(renderBitmap, pitch, width, height, dstX, dstY, nut, spriteIndex);
}
@@ -4093,12 +4101,13 @@ void InsaneRebel2::renderExplosions(byte *renderBitmap, int pitch, int width, in
}
}
-// renderExplosionFrame -- Shared low-res explosion sprite path.
+// renderExplosionFrame -- Shared explosion sprite path.
// The original handlers reach this through separate retail functions. In the
-// 320x200 path used here, they share the same scale buckets and centered NUT
-// draw; callers keep their coordinate transforms and frame timing explicit.
+// 320x200 path used here, they share centered NUT drawing; callers keep their
+// coordinate transforms, frame timing, and scale bucket rules explicit.
void InsaneRebel2::renderExplosionFrame(byte *renderBitmap, int pitch, int width, int height,
- InsaneRebel2::Explosion &explosion, int screenX, int screenY, ExplosionFrameAdvance advance) {
+ InsaneRebel2::Explosion &explosion, int screenX, int screenY, ExplosionFrameAdvance advance,
+ bool resolutionDependentScale) {
if (!explosion.active)
return;
@@ -4110,14 +4119,16 @@ void InsaneRebel2::renderExplosionFrame(byte *renderBitmap, int pitch, int width
if (advance == kExplosionAdvanceBeforeDraw)
explosion.counter--;
- // Fixed low-res thresholds (0x0b=11, 0x15=21).
+ const bool renderHiRes = isHiRes() && width >= 640 && height >= 400;
+ const int mediumThreshold = (resolutionDependentScale && renderHiRes) ? 20 : 10;
+ const int largeThreshold = (resolutionDependentScale && renderHiRes) ? 40 : 20;
int baseIndex;
- if (explosion.scale < 11) {
- baseIndex = 9;
- } else if (explosion.scale < 21) {
+ if (explosion.scale > largeThreshold) {
+ baseIndex = 29;
+ } else if (explosion.scale > mediumThreshold) {
baseIndex = 19;
} else {
- baseIndex = 29;
+ baseIndex = 9;
}
int spriteIndex = baseIndex + (12 - explosion.counter);
@@ -4125,15 +4136,20 @@ void InsaneRebel2::renderExplosionFrame(byte *renderBitmap, int pitch, int width
if (_smush_iconsNut->getNumChars() > spriteIndex) {
int ew = _smush_iconsNut->getCharWidth(spriteIndex);
int eh = _smush_iconsNut->getCharHeight(spriteIndex);
- const bool renderHiRes = isHiRes() && width >= 640 && height >= 400;
int drawX = screenX;
int drawY = screenY;
if (renderHiRes) {
drawX = (screenX - _hiResPresentationViewX) * 2;
drawY = (screenY - _hiResPresentationViewY) * 2;
}
- renderNutSprite(renderBitmap, pitch, width, height,
- drawX - ew / 2, drawY - eh / 2, _smush_iconsNut, spriteIndex);
+ if (renderHiRes) {
+ renderNutSpriteClipped(renderBitmap, pitch, height,
+ 0, 0, MIN(width, pitch), _gameplayPresentationClipBottom + 1,
+ drawX - ew / 2, drawY - eh / 2, _smush_iconsNut, spriteIndex);
+ } else {
+ renderNutSprite(renderBitmap, pitch, width, height,
+ drawX - ew / 2, drawY - eh / 2, _smush_iconsNut, spriteIndex);
+ }
}
if (advance == kExplosionAdvanceAfterDraw)
@@ -4156,7 +4172,7 @@ void InsaneRebel2::renderTurretExplosions(byte *renderBitmap, int pitch, int wid
int screenX = _explosions[i].x;
int screenY = _explosions[i].y;
renderExplosionFrame(renderBitmap, pitch, width, height, _explosions[i],
- screenX, screenY, kExplosionAdvanceAfterDraw);
+ screenX, screenY, kExplosionAdvanceAfterDraw, false);
}
}
@@ -4175,13 +4191,13 @@ void InsaneRebel2::renderVehicleExplosions(byte *renderBitmap, int pitch, int wi
int screenX = _explosions[i].x - _shipPosX;
int screenY = _explosions[i].y - _shipPosY;
renderExplosionFrame(renderBitmap, pitch, width, height, _explosions[i],
- screenX, screenY, kExplosionAdvanceAfterDraw);
+ screenX, screenY, kExplosionAdvanceAfterDraw, false);
}
}
// renderSpaceExplosions -- Handler 7 space explosion rendering (FUN_40F1C5).
// Position: FUN_0041c720 3D->2D projection.
-// Original scale thresholds are resolution-dependent; current low-res path uses <11/<21.
+// Original scale thresholds are resolution-dependent (<11/<21, doubled in high-res).
// Secondary NUT: DAT_0047ff00 (FLY004, if DAT_0047a7fc >= 0).
void InsaneRebel2::renderSpaceExplosions(byte *renderBitmap, int pitch, int width, int height) {
if (!_smush_iconsNut)
@@ -4197,7 +4213,7 @@ void InsaneRebel2::renderSpaceExplosions(byte *renderBitmap, int pitch, int widt
int screenX = _explosions[i].x;
int screenY = _explosions[i].y;
renderExplosionFrame(renderBitmap, pitch, width, height, _explosions[i],
- screenX, screenY, kExplosionAdvanceAfterDraw);
+ screenX, screenY, kExplosionAdvanceAfterDraw, true);
}
// --- Part 2: Corridor/zone hit explosion (FUN_40F1C5 lines 61-85) ---
@@ -4252,8 +4268,14 @@ void InsaneRebel2::renderSpaceExplosions(byte *renderBitmap, int pitch, int widt
int ew = _smush_iconsNut->getCharWidth(spriteIndex);
int eh = _smush_iconsNut->getCharHeight(spriteIndex);
- renderNutSprite(renderBitmap, pitch, width, height,
- drawX - ew / 2, drawY - eh / 2, _smush_iconsNut, spriteIndex);
+ if (renderHiRes) {
+ renderNutSpriteClipped(renderBitmap, pitch, height,
+ 0, 0, MIN(width, pitch), _gameplayPresentationClipBottom + 1,
+ drawX - ew / 2, drawY - eh / 2, _smush_iconsNut, spriteIndex);
+ } else {
+ renderNutSprite(renderBitmap, pitch, width, height,
+ drawX - ew / 2, drawY - eh / 2, _smush_iconsNut, spriteIndex);
+ }
debug("Rebel2 H7 corridor explosion: dir=%d frame=%d pos=(%d,%d) cooldown=%d",
_spaceShotDirection, spriteIndex, drawX, drawY, _hitCooldown);
@@ -4263,7 +4285,7 @@ void InsaneRebel2::renderSpaceExplosions(byte *renderBitmap, int pitch, int widt
// renderHandler25Explosions -- Handler 25 FPS explosion rendering (FUN_41F29A).
// Position: world coords + view offset (DAT_0045790c/0e = _rebelViewOffsetX/Y).
-// Original scale thresholds follow Handler 7; current low-res path uses <11/<21. No sound panning.
+// Original scale thresholds follow Handler 7 (<11/<21, doubled in high-res). No sound panning.
void InsaneRebel2::renderHandler25Explosions(byte *renderBitmap, int pitch, int width, int height) {
if (!_smush_iconsNut)
return;
@@ -4276,7 +4298,7 @@ void InsaneRebel2::renderHandler25Explosions(byte *renderBitmap, int pitch, int
int screenX = _explosions[i].x + _rebelViewOffsetX;
int screenY = _explosions[i].y + _rebelViewOffsetY;
renderExplosionFrame(renderBitmap, pitch, width, height, _explosions[i],
- screenX, screenY, kExplosionAdvanceBeforeDraw);
+ screenX, screenY, kExplosionAdvanceBeforeDraw, true);
}
}
@@ -4604,25 +4626,26 @@ void InsaneRebel2::renderHandler8PovOverlay(byte *renderBitmap, int pitch, int w
fontSet.fonts[3] = _smush_povfontNut;
ScummEngine_v7 *vm = (ScummEngine_v7 *)_vm;
+ const int povScale = isHiRes() ? 2 : getRebel2IndicatorScale(width, height);
// Original updates DAT_0047e048 with random(5)+0x23 when random(20)==0.
if (getHandler8PovOverlayRandom(vm, 20) == 0)
_handler8HudGlyph = (char)(getHandler8PovOverlayRandom(vm, 5) + 0x23);
drawHandler8PovOverlayText(fontSet, renderBitmap, pitch, width, height,
- getHandler8PovOverlayString(200), 10, 5, 1, kStyleAlignLeft);
+ getHandler8PovOverlayString(200), 10 * povScale, 5 * povScale, 1, kStyleAlignLeft);
char buffer[128];
Common::sprintf_s(buffer, "^f03&#$%c", _handler8HudGlyph);
drawHandler8PovOverlayText(fontSet, renderBitmap, pitch, width, height,
- buffer, 10, 150, 248, kStyleAlignLeft);
+ buffer, 10 * povScale, 150 * povScale, 248, kStyleAlignLeft);
const char *text = getHandler8PovOverlayString(203);
if (text) {
Common::sprintf_s(buffer, text,
(unsigned long)(uint32)(int32)getHandler8PovOverlayRandom(vm, 20000));
drawHandler8PovOverlayText(fontSet, renderBitmap, pitch, width, height,
- buffer, 10, 170, 1, kStyleAlignLeft);
+ buffer, 10 * povScale, 170 * povScale, 1, kStyleAlignLeft);
}
text = getHandler8PovOverlayString(202);
@@ -4630,7 +4653,7 @@ void InsaneRebel2::renderHandler8PovOverlay(byte *renderBitmap, int pitch, int w
Common::sprintf_s(buffer, text,
(unsigned long)(uint32)(int32)getHandler8PovOverlayRandom(vm, -0xd50));
drawHandler8PovOverlayText(fontSet, renderBitmap, pitch, width, height,
- buffer, 220, 160, 1, kStyleAlignLeft);
+ buffer, 220 * povScale, 160 * povScale, 1, kStyleAlignLeft);
}
text = getHandler8PovOverlayString(204);
@@ -4638,7 +4661,7 @@ void InsaneRebel2::renderHandler8PovOverlay(byte *renderBitmap, int pitch, int w
Common::sprintf_s(buffer, text, (unsigned long)(uint32)(int32)(int16)_shipPosX,
(unsigned long)(uint32)(int32)(int16)_shipPosY);
drawHandler8PovOverlayText(fontSet, renderBitmap, pitch, width, height,
- buffer, 220, 170, 1, kStyleAlignLeft);
+ buffer, 220 * povScale, 170 * povScale, 1, kStyleAlignLeft);
}
if (_handler8HudMessageTimer == 0) {
@@ -4649,7 +4672,7 @@ void InsaneRebel2::renderHandler8PovOverlay(byte *renderBitmap, int pitch, int w
_handler8HudMessageTimer--;
drawHandler8PovOverlayText(fontSet, renderBitmap, pitch, width, height,
getHandler8PovOverlayString(_handler8HudMessageIndex + 0xcd),
- 200, 5, 1, kStyleAlignCenter);
+ 200 * povScale, 5 * povScale, 1, kStyleAlignCenter);
}
}
Commit: 082fbb3a19a2c3dfe6e11cf15fbaea6e4ead7010
https://github.com/scummvm/scummvm/commit/082fbb3a19a2c3dfe6e11cf15fbaea6e4ead7010
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2026-06-09T21:14:12+02:00
Commit Message:
SCUMM: RA2: avoid palette corruption in high resolution mode
Changed paths:
engines/scumm/insane/rebel2/iact.cpp
engines/scumm/insane/rebel2/menu.cpp
engines/scumm/smush/rebel/smush_player_ra2.cpp
engines/scumm/smush/rebel/smush_player_ra2.h
diff --git a/engines/scumm/insane/rebel2/iact.cpp b/engines/scumm/insane/rebel2/iact.cpp
index a96388d0991..6a9cb134570 100644
--- a/engines/scumm/insane/rebel2/iact.cpp
+++ b/engines/scumm/insane/rebel2/iact.cpp
@@ -122,7 +122,10 @@ void InsaneRebel2::procPreRendering(byte *renderBitmap) {
// offset on frame 0 doesn't affect the STOR/FTCH mechanism.
if (_gameState == kStateChapterSelect && _player) {
if (renderBitmap) {
- memset(renderBitmap, 0, _vm->_screenWidth * _vm->_screenHeight);
+ const int clearWidth = (_player->_width > 0) ? _player->_width : _vm->_screenWidth;
+ const int clearHeight = (_player->_height > 0) ? _player->_height : _vm->_screenHeight;
+ if (clearWidth > 0 && clearHeight > 0)
+ memset(renderBitmap, 0, (size_t)clearWidth * clearHeight);
}
_player->_fobjOffsetX = _previewOffsetX;
_player->_fobjOffsetY = _previewOffsetY;
diff --git a/engines/scumm/insane/rebel2/menu.cpp b/engines/scumm/insane/rebel2/menu.cpp
index b80ece9239a..2a17e4d0e4f 100644
--- a/engines/scumm/insane/rebel2/menu.cpp
+++ b/engines/scumm/insane/rebel2/menu.cpp
@@ -987,9 +987,12 @@ void InsaneRebel2::drawPreviewBox(byte *renderBitmap, int pitch, int width, int
// Low-res (320x200) coordinates from FUN_00415CF8:
// Outer box: X=0xe4 (228), Y=0x49 (73), W=0x54 (84), H=0x36 (54), color=0xF8
// Inner box: X=0xe5 (229), Y=0x4a (74), W=0x52 (82), H=0x34 (52), color=4
+ // High-res uses the original DAT_0047a808 >= 2 formulas, doubling the
+ // low-res anchors and dimensions.
+ const int scale = isHiRes() ? 2 : 1;
// Outer border (bright)
- int outerX = 228, outerY = 73, outerW = 84, outerH = 54;
+ int outerX = 228 * scale, outerY = 73 * scale, outerW = 84 * scale, outerH = 54 * scale;
byte outerColor = 0xF8;
// Draw outer box edges
@@ -1021,7 +1024,7 @@ void InsaneRebel2::drawPreviewBox(byte *renderBitmap, int pitch, int width, int
}
// Inner border (dark)
- int innerX = 229, innerY = 74, innerW = 82, innerH = 52;
+ int innerX = 229 * scale, innerY = 74 * scale, innerW = 82 * scale, innerH = 52 * scale;
byte innerColor = 4;
// Top edge
@@ -1115,6 +1118,8 @@ void InsaneRebel2::drawChapterInfoLine(byte *renderBitmap, int pitch, int width,
if (!splayer)
return;
+ const int scale = isHiRes() ? 2 : 1;
+
if (_chapterUnlocked[_chapterSelection]) {
// Unlocked: show score info using TRS 80 at X=25 (0x19), Y=190 (0xbe)
// TRS 80 = "^f01^c248Pilots: %hd Score: %ld Rank: ^f00%s"
@@ -1137,7 +1142,7 @@ void InsaneRebel2::drawChapterInfoLine(byte *renderBitmap, int pitch, int width,
Common::String displayStr = Common::String::format(fmtStr,
(short)pilotLives, (long)pilotScore, rankStr.c_str());
- drawMenuString(renderBitmap, displayStr.c_str(), 25, 190);
+ drawMenuString(renderBitmap, displayStr.c_str(), 25 * scale, 190 * scale);
} else {
const char *lockStr = splayer->getString(81);
if (!lockStr || !lockStr[0])
@@ -1148,7 +1153,7 @@ void InsaneRebel2::drawChapterInfoLine(byte *renderBitmap, int pitch, int width,
Common::String displayStr = Common::String::format("%s ^c005%s%c",
lockStr, _passwordInput.c_str(), cursor);
- drawMenuString(renderBitmap, displayStr.c_str(), 30, 190);
+ drawMenuString(renderBitmap, displayStr.c_str(), 30 * scale, 190 * scale);
}
}
diff --git a/engines/scumm/smush/rebel/smush_player_ra2.cpp b/engines/scumm/smush/rebel/smush_player_ra2.cpp
index a4484f551c6..1f9e36a6834 100644
--- a/engines/scumm/smush/rebel/smush_player_ra2.cpp
+++ b/engines/scumm/smush/rebel/smush_player_ra2.cpp
@@ -1262,13 +1262,6 @@ void SmushPlayerRebel2::handleGameFrameObjectPost(int codec, const byte *data, i
}
}
-void SmushPlayerRebel2::handleGameFrameObjectDecoded(int codec, int left, int top, int width, int height) {
- if (!ra2IsHighResMode() || isRebel2GameplayActive(_insane))
- return;
-
- ra2PromoteCurrentFrameToHiRes(0, 0);
-}
-
void SmushPlayerRebel2::handleGameFrameStart() {
_hasFrameFobjForGost = false;
_ra2NativeFrameNeedsClear = ((_curVideoFlags & 0x20) == 0);
@@ -1278,12 +1271,18 @@ void SmushPlayerRebel2::handleGameFrameStart() {
_ra2PendingAnimHeaderPalette = false;
}
- if (ra2IsHighResMode() && isRebel2GameplayActive(_insane)) {
- if (_ra2UsingGameplaySurface && _specialBuffer != nullptr &&
- _specialBufferSize >= kRebel2GameplaySurfaceWidth * kRebel2GameplaySurfaceHeight) {
- _dst = _specialBuffer;
- _width = kRebel2GameplaySurfaceWidth;
- _height = kRebel2GameplaySurfaceHeight;
+ if (ra2IsHighResMode()) {
+ if (isRebel2GameplayActive(_insane)) {
+ if (_ra2UsingGameplaySurface && _specialBuffer != nullptr &&
+ _specialBufferSize >= kRebel2GameplaySurfaceWidth * kRebel2GameplaySurfaceHeight) {
+ _dst = _specialBuffer;
+ _width = kRebel2GameplaySurfaceWidth;
+ _height = kRebel2GameplaySurfaceHeight;
+ } else if (ra2EnsureLowResVideoBuffer()) {
+ _dst = _ra2LowResVideoBuffer;
+ _width = 320;
+ _height = 200;
+ }
} else if (ra2EnsureLowResVideoBuffer()) {
_dst = _ra2LowResVideoBuffer;
_width = 320;
diff --git a/engines/scumm/smush/rebel/smush_player_ra2.h b/engines/scumm/smush/rebel/smush_player_ra2.h
index 86035fc6bc7..45a2869db2a 100644
--- a/engines/scumm/smush/rebel/smush_player_ra2.h
+++ b/engines/scumm/smush/rebel/smush_player_ra2.h
@@ -57,7 +57,6 @@ protected:
bool handleGameStoreFrame() override;
void handleGameFrameObjectPre(int codec, int left, int top, int width, int height, int dataSize) override;
void handleGameFrameObjectPost(int codec, const byte *data, int32 dataSize, int left, int top, int width, int height) override;
- void handleGameFrameObjectDecoded(int codec, int left, int top, int width, int height) override;
void handleGameFrameStart() override;
bool handleGameSkipChunk(uint32 subType, int32 subSize, Common::SeekableReadStream &b) override;
void handleGameGost(int32 subSize, Common::SeekableReadStream &b) override;
Commit: eb0ce18ea57d48985649455cd80969aee4a08c7c
https://github.com/scummvm/scummvm/commit/eb0ce18ea57d48985649455cd80969aee4a08c7c
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2026-06-09T21:14:12+02:00
Commit Message:
SCUMM: RA: make sure all the debug statements using channels
Changed paths:
engines/scumm/insane/rebel/rebel_audio.cpp
engines/scumm/insane/rebel1/iact.cpp
engines/scumm/insane/rebel2/audio.cpp
engines/scumm/insane/rebel2/iact.cpp
engines/scumm/insane/rebel2/levels.cpp
engines/scumm/insane/rebel2/menu.cpp
engines/scumm/insane/rebel2/rebel.cpp
engines/scumm/insane/rebel2/render.cpp
engines/scumm/insane/rebel2/runlevels.cpp
engines/scumm/smush/rebel/font_rebel2.cpp
engines/scumm/smush/rebel/smush_player_ra1.cpp
diff --git a/engines/scumm/insane/rebel/rebel_audio.cpp b/engines/scumm/insane/rebel/rebel_audio.cpp
index b7856bcc978..9e04c4352b9 100644
--- a/engines/scumm/insane/rebel/rebel_audio.cpp
+++ b/engines/scumm/insane/rebel/rebel_audio.cpp
@@ -73,7 +73,7 @@ void RebelAudio::queueData(int trackIdx, const uint8 *data, int32 size, int volu
const int sourceRate = sampleRate > 0 ? sampleRate : _sampleRate;
if (!_streams[trackIdx]) {
- debug(1, "RebelAudio: Creating audio stream for track %d at %d Hz", trackIdx, _sampleRate);
+ debugC(DEBUG_INSANE, "RebelAudio: Creating audio stream for track %d at %d Hz", trackIdx, _sampleRate);
_streams[trackIdx] = Audio::makeQueuingAudioStream(_sampleRate, false);
_trackActive[trackIdx] = true;
_vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &_handles[trackIdx],
diff --git a/engines/scumm/insane/rebel1/iact.cpp b/engines/scumm/insane/rebel1/iact.cpp
index 59c2e7b5861..dada01703ef 100644
--- a/engines/scumm/insane/rebel1/iact.cpp
+++ b/engines/scumm/insane/rebel1/iact.cpp
@@ -636,7 +636,7 @@ bool InsaneRebel1::handleFrameObjectTarget(int16 objectId, int16 left, int16 top
// replacement/death frame. This is used heavily by Level 9 troopers.
_frameObjectState[byteIndex] &= ~bit;
_frameObjectHitRevealPending = false;
- debug(5, "RA1 FOBJ reveal: object=%d frameObjectByte=%d bit=0x%02x",
+ debugC(DEBUG_INSANE, "RA1 FOBJ reveal: object=%d frameObjectByte=%d bit=0x%02x",
objectId, byteIndex, bit);
}
@@ -1293,7 +1293,7 @@ void InsaneRebel1::updateShipPhysics() {
if (_currentLevel != 6)
checkDynamicLevelBranch();
- debug(7, "RA1 ship: pos=(%d,%d) roll=%d lift=%d accX=%d accY=%d dir=%d health=%d corridor=[%d,%d]-[%d,%d]",
+ debugC(DEBUG_INSANE, "RA1 ship: pos=(%d,%d) roll=%d lift=%d accX=%d accY=%d dir=%d health=%d corridor=[%d,%d]-[%d,%d]",
_shipPosX, _shipPosY, _rollAccum, _liftSmooth,
_posAccumX, _posAccumY, _shipDirIndex, _health,
_corridorLeftX, _corridorTopY, _corridorRightX, _corridorBottomY);
@@ -1858,7 +1858,7 @@ void InsaneRebel1::updateGameOp0BPhysics() {
checkDynamicLevelBranch();
- debug(7, "RA1 GAME 0x0B: pos=(%d,%d) avg=(%d,%d) view=(%d,%d) health=%d flash=%d",
+ debugC(DEBUG_INSANE, "RA1 GAME 0x0B: pos=(%d,%d) avg=(%d,%d) view=(%d,%d) health=%d flash=%d",
_shipPosX, _shipPosY, _avgInputX, _avgInputY,
_perspectiveX, _perspectiveY, _health, _screenFlash);
}
@@ -2103,7 +2103,7 @@ void InsaneRebel1::handleGameOpcode5EReset(uint32 param1) {
// RA1 dispatcher inline reset/init path (FUN_1BE1B case 0x5E).
// This is not a pure control-mode assignment.
if (_frameDispatchFlags & 0x40) {
- debug(7, "RA1 GAME 0x5E: reset suppressed by dispatch flags=0x%02x",
+ debugC(DEBUG_INSANE, "RA1 GAME 0x5E: reset suppressed by dispatch flags=0x%02x",
_frameDispatchFlags);
return;
}
@@ -2177,7 +2177,7 @@ void InsaneRebel1::handleGameOpcode5EReset(uint32 param1) {
if (_currentLevel == 7)
memset(_frameObjectState + 150, 0xFF, 150);
- debug(5, "RA1 GAME 0x5E: reset state field1=%d mode=%d", (int32)param1, (int)_flyControlMode);
+ debugC(DEBUG_INSANE, "RA1 GAME 0x5E: reset state field1=%d mode=%d", (int32)param1, (int)_flyControlMode);
}
void InsaneRebel1::handleGameOpcode5DLinkLatch(uint32 param1) {
@@ -2192,7 +2192,7 @@ void InsaneRebel1::handleGameOpcode5DLinkLatch(uint32 param1) {
}
}
- debug(5, "RA1 GAME 0x5D (link/event latch) param=%u", _gameLatch5D);
+ debugC(DEBUG_INSANE, "RA1 GAME 0x5D (link/event latch) param=%u", _gameLatch5D);
}
void InsaneRebel1::handleGameOpcode5FRandomHitLatch(uint32 param1) {
@@ -2205,7 +2205,7 @@ void InsaneRebel1::handleGameOpcode5FRandomHitLatch(uint32 param1) {
}
}
- debug(5, "RA1 GAME 0x5F (random-hit latch) param=%u", _gameLatch5F);
+ debugC(DEBUG_INSANE, "RA1 GAME 0x5F (random-hit latch) param=%u", _gameLatch5F);
}
void InsaneRebel1::handleGameOpcode07ShipFlight(int32 subSize, Common::SeekableReadStream &b, uint32 param1) {
@@ -2219,7 +2219,7 @@ void InsaneRebel1::handleGameOpcode07ShipFlight(int32 subSize, Common::SeekableR
b.readUint32BE(); // f2 (max frames, unused in physics)
_driftParam = (int16)(int32)b.readUint32BE();
b.readUint32BE(); // f4 (unused in original assembly)
- debug(7, "RA1 GAME 0x07: counter=%d driftParam=%d", _gameCounter, _driftParam);
+ debugC(DEBUG_INSANE, "RA1 GAME 0x07: counter=%d driftParam=%d", _gameCounter, _driftParam);
}
}
@@ -2291,7 +2291,7 @@ void InsaneRebel1::handleGameOpcode0DCorridor(int32 subSize, Common::SeekableRea
_damageFlags, suppressDirectionalDamage ? 1 : 0);
}
- debug(5, "RA1 GAME 0x0D: raw=[%d,%d]+(%d,%d) cam=(%d,%d) transformed=[%d,%d]-[%d,%d]",
+ debugC(DEBUG_INSANE, "RA1 GAME 0x0D: raw=[%d,%d]+(%d,%d) cam=(%d,%d) transformed=[%d,%d]-[%d,%d]",
corridorLeft, corridorTop, corridorWidth, corridorHeight,
_perspectiveX, _perspectiveY,
_corridorLeftX, _corridorTopY, _corridorRightX, _corridorBottomY);
@@ -2332,7 +2332,7 @@ void InsaneRebel1::handleGameOpcode0EZone(int32 subSize, Common::SeekableReadStr
rawZoneLeft, rawZoneTop, zoneWidth, zoneHeight,
_perspectiveX, _perspectiveY, _damageFlags);
}
- debug(7, "RA1 GAME 0x0E: ship=(%d,%d) zone=[%d,%d]-[%d,%d] cam=(%d,%d) flags=0x%02x",
+ debugC(DEBUG_INSANE, "RA1 GAME 0x0E: ship=(%d,%d) zone=[%d,%d]-[%d,%d] cam=(%d,%d) flags=0x%02x",
collisionShipX, collisionShipY, zoneLeft, zoneTop, zoneRight, zoneBottom,
_perspectiveX, _perspectiveY, _damageFlags);
}
@@ -2356,7 +2356,7 @@ void InsaneRebel1::handleGameOpcode0BFirstPerson(int32 subSize, Common::Seekable
debugC(DEBUG_INSANE, "RA1: finishing 0x0B interactive video at counter=%d/%u", _gameCounter, maxFrames);
}
}
- debug(7, "RA1 GAME 0x0B: counter=%d", _gameCounter);
+ debugC(DEBUG_INSANE, "RA1 GAME 0x0B: counter=%d", _gameCounter);
if (!_gameOp0BPhysicsUpdatedThisFrame) {
updateGameOp0BPhysics();
_gameOp0BPhysicsUpdatedThisFrame = true;
@@ -2396,7 +2396,7 @@ void InsaneRebel1::handleGameOpcode5ATarget(int32 subSize, Common::SeekableReadS
checkTargetHit(targetIdx, left, top, right, bottom);
}
}
- debug(5, "RA1 GAME 0x5A: target=%d rect=[%d,%d]-[%d,%d] prox=%d",
+ debugC(DEBUG_INSANE, "RA1 GAME 0x5A: target=%d rect=[%d,%d]-[%d,%d] prox=%d",
targetIdx, left, top, right, bottom, _targetProximity);
}
@@ -2412,7 +2412,7 @@ void InsaneRebel1::handleGameCounterOpcode(uint32 opcode, int32 subSize, Common:
debugC(DEBUG_INSANE, "RA1 GAME 0x09: counter=%d params=(%d,%d,%d) opcodeMask=0x%08x",
_gameCounter, param2, param3, param4, _frameGameOpcodeMask);
} else {
- debug(5, "RA1 GAME 0x%02x: counter=%d params=(%d,%d,%d)",
+ debugC(DEBUG_INSANE, "RA1 GAME 0x%02x: counter=%d params=(%d,%d,%d)",
opcode, _gameCounter, param2, param3, param4);
}
}
@@ -2433,14 +2433,14 @@ void InsaneRebel1::handleGameChunk(int32 subSize, Common::SeekableReadStream &b,
// g_combatModeFlags skips gameplay dispatch entirely; bit 5 of g_hudDisableFlags
// suppresses the handlers while still requesting HUD refresh for a few opcodes.
if (_gameplayFlags75ff & 1) {
- debug(7, "RA1 GAME 0x%02x: skipped by combat mode flags=0x%02x",
+ debugC(DEBUG_INSANE, "RA1 GAME 0x%02x: skipped by combat mode flags=0x%02x",
opcode, _gameplayFlags75ff);
return;
}
if (_gameplayFlags75fe & 0x20) {
if (ra1DispatcherHudOnlyWhenDisabled(opcode))
_hudRenderFlag = 0xFF;
- debug(7, "RA1 GAME 0x%02x: skipped by HUD disable flags=0x%02x",
+ debugC(DEBUG_INSANE, "RA1 GAME 0x%02x: skipped by HUD disable flags=0x%02x",
opcode, _gameplayFlags75fe);
return;
}
@@ -2488,7 +2488,7 @@ void InsaneRebel1::handleGameChunk(int32 subSize, Common::SeekableReadStream &b,
break;
default:
- debug(7, "RA1 GAME unknown 0x%02x size=%d", opcode, subSize);
+ debugC(DEBUG_INSANE, "RA1 GAME unknown 0x%02x size=%d", opcode, subSize);
break;
}
}
@@ -2566,7 +2566,7 @@ void InsaneRebel1::processShot() {
effectiveOpcode, _gameCounter, slot, cursorX, cursorY, originX, originY,
_shipDirIndex, _flyControlMode);
} else {
- debug(5, "RA1 shot: slot=%d pos=(%d,%d) origin=(%d,%d)", slot,
+ debugC(DEBUG_INSANE, "RA1 shot: slot=%d pos=(%d,%d) origin=(%d,%d)", slot,
cursorX, cursorY, originX, originY);
}
}
@@ -2678,7 +2678,7 @@ void InsaneRebel1::checkTargetHit(int16 targetIdx, int16 left, int16 top, int16
if ((_gameplayFlags75fe & 0x10) == 0)
playSfx(kSfxExplode, 127, sfxPan);
- debug(3, "RA1 HIT: target=%d gost=%d pos=(%d,%d) score=%d kills=%d bangSprites=%d",
+ debugC(DEBUG_INSANE, "RA1 HIT: target=%d gost=%d pos=(%d,%d) score=%d kills=%d bangSprites=%d",
targetIdx, gi, _gostSlots[gi].posX, _gostSlots[gi].posY,
_score, _killCount, _bangBank.numSprites);
return;
diff --git a/engines/scumm/insane/rebel2/audio.cpp b/engines/scumm/insane/rebel2/audio.cpp
index 989d93074ef..3001e4c4908 100644
--- a/engines/scumm/insane/rebel2/audio.cpp
+++ b/engines/scumm/insane/rebel2/audio.cpp
@@ -96,7 +96,7 @@ void InsaneRebel2::loadSfx() {
ScummFile *file = _vm->instantiateScummFile();
_vm->openFile(*file, kRA2SfxFiles[i]);
if (!file->isOpen()) {
- debug("InsaneRebel2::loadSfx: Could not open %s", kRA2SfxFiles[i]);
+ debugC(DEBUG_INSANE, "InsaneRebel2::loadSfx: Could not open %s", kRA2SfxFiles[i]);
delete file;
continue;
}
@@ -105,7 +105,7 @@ void InsaneRebel2::loadSfx() {
// We scan for the SDAT tag to find the PCM data.
uint32 fileSize = file->size();
if (fileSize < 38) { // Minimum: 8 (SAUD) + 22 (STRK) + 8 (SDAT header)
- debug("InsaneRebel2::loadSfx: %s too small (%d bytes)", kRA2SfxFiles[i], fileSize);
+ debugC(DEBUG_INSANE, "InsaneRebel2::loadSfx: %s too small (%d bytes)", kRA2SfxFiles[i], fileSize);
file->close();
delete file;
continue;
@@ -114,7 +114,7 @@ void InsaneRebel2::loadSfx() {
// Verify SAUD tag
uint32 tag = file->readUint32BE();
if (tag != MKTAG('S', 'A', 'U', 'D')) {
- debug("InsaneRebel2::loadSfx: %s not a SAUD file (tag=0x%08x)", kRA2SfxFiles[i], tag);
+ debugC(DEBUG_INSANE, "InsaneRebel2::loadSfx: %s not a SAUD file (tag=0x%08x)", kRA2SfxFiles[i], tag);
file->close();
delete file;
continue;
@@ -134,7 +134,7 @@ void InsaneRebel2::loadSfx() {
if (_sfxData[i]) {
file->read(_sfxData[i], pcmSize);
_sfxSize[i] = pcmSize;
- debug("InsaneRebel2::loadSfx: Loaded %s (%d bytes PCM)", kRA2SfxFiles[i], pcmSize);
+ debugC(DEBUG_INSANE, "InsaneRebel2::loadSfx: Loaded %s (%d bytes PCM)", kRA2SfxFiles[i], pcmSize);
}
foundSdat = true;
break;
@@ -145,7 +145,7 @@ void InsaneRebel2::loadSfx() {
}
if (!foundSdat) {
- debug("InsaneRebel2::loadSfx: No SDAT chunk in %s", kRA2SfxFiles[i]);
+ debugC(DEBUG_INSANE, "InsaneRebel2::loadSfx: No SDAT chunk in %s", kRA2SfxFiles[i]);
}
file->close();
@@ -196,7 +196,7 @@ void InsaneRebel2::playSfx(int slot, int volume, int pan) {
_vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &_sfxHandles[slot],
stream, -1, scaledVolume, pan);
- debug(5, "InsaneRebel2::playSfx: slot=%d vol=%d pan=%d size=%d", slot, volume, pan, _sfxSize[slot]);
+ debugC(DEBUG_INSANE, "InsaneRebel2::playSfx: slot=%d vol=%d pan=%d size=%d", slot, volume, pan, _sfxSize[slot]);
}
// loadAuxSfx -- Load sound data into auxiliary buffer (FUN_004118df).
@@ -205,7 +205,7 @@ void InsaneRebel2::loadAuxSfx(int buffer, const byte *data, uint32 size) {
return;
}
if ((int)size > kRA2AuxBufSize) {
- debug("InsaneRebel2::loadAuxSfx: buffer %d size %d exceeds max %d, truncating",
+ debugC(DEBUG_INSANE, "InsaneRebel2::loadAuxSfx: buffer %d size %d exceeds max %d, truncating",
buffer, size, kRA2AuxBufSize);
size = kRA2AuxBufSize;
}
@@ -213,7 +213,7 @@ void InsaneRebel2::loadAuxSfx(int buffer, const byte *data, uint32 size) {
memcpy(_auxSfxData[buffer], data, size);
_auxSfxSize[buffer] = size;
- debug(5, "InsaneRebel2::loadAuxSfx: buffer=%d size=%d", buffer, size);
+ debugC(DEBUG_INSANE, "InsaneRebel2::loadAuxSfx: buffer=%d size=%d", buffer, size);
}
// playAuxSfx -- Play from auxiliary buffer (FUN_00411931).
@@ -260,7 +260,7 @@ void InsaneRebel2::playAuxSfx(int buffer, int volume, int pan) {
_vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &_auxSfxHandles[buffer],
stream, -1, scaledVolume, pan);
- debug(5, "InsaneRebel2::playAuxSfx: buffer=%d vol=%d pan=%d pcmSize=%d", buffer, volume, pan, pcmSize);
+ debugC(DEBUG_INSANE, "InsaneRebel2::playAuxSfx: buffer=%d vol=%d pan=%d pcmSize=%d", buffer, volume, pan, pcmSize);
}
} // End of namespace Scumm
diff --git a/engines/scumm/insane/rebel2/iact.cpp b/engines/scumm/insane/rebel2/iact.cpp
index 6a9cb134570..d1e34b8355a 100644
--- a/engines/scumm/insane/rebel2/iact.cpp
+++ b/engines/scumm/insane/rebel2/iact.cpp
@@ -49,7 +49,7 @@ static bool readLevel2BackgroundChunkHeader(Common::SeekableReadStream &stream,
const int64 dataStart = stream.pos();
if ((int64)chunkSize > containerEnd - dataStart) {
- debug("Rebel2 loadLevel2Background: Truncated %s chunk 0x%08X at %lld: size=%u, remaining=%lld",
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Truncated %s chunk 0x%08X at %lld: size=%u, remaining=%lld",
context, tag, headerPos, chunkSize, containerEnd - dataStart);
return false;
}
@@ -136,7 +136,7 @@ void InsaneRebel2::procPreRendering(byte *renderBitmap) {
void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan12,
int32 setupsan13, Common::SeekableReadStream &b, int32 size, int32 flags,
int16 par1, int16 par2, int16 par3, int16 par4) {
- debug("Rebel2 IACT: opcode=%d par2=%d par3=%d par4=%d gameState=%d sceneId=%d",
+ debugC(DEBUG_INSANE, "Rebel2 IACT: opcode=%d par2=%d par3=%d par4=%d gameState=%d sceneId=%d",
par1, par2, par3, par4, _gameState, _currSceneId);
if (_keyboardDisable)
@@ -146,12 +146,12 @@ void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan
// Menu IACTs have par1=8 (code), par2=46 (flags), par4>=1000 (userId)
// The embedded ANIM contains the full menu frame
if (_gameState == kStateMainMenu && par1 == 8 && par4 >= 1000) {
- debug("Rebel2 IACT: Menu mode - processing embedded ANIM (userId=%d)", par4);
+ debugC(DEBUG_INSANE, "Rebel2 IACT: Menu mode - processing embedded ANIM (userId=%d)", par4);
// Scan for embedded ANIM tag in the IACT data
int64 startPos = b.pos();
int64 totalSize = b.size();
- debug("Rebel2 IACT: stream pos=%d, size=%d, remaining=%d",
+ debugC(DEBUG_INSANE, "Rebel2 IACT: stream pos=%d, size=%d, remaining=%d",
(int)startPos, (int)totalSize, (int)(totalSize - startPos));
if (totalSize > startPos) {
@@ -160,7 +160,7 @@ void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan
byte *scanBuf = (byte *)malloc(scanSize);
if (scanBuf) {
int bytesRead = b.read(scanBuf, scanSize);
- debug("Rebel2 IACT: Read %d bytes, first 16: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
+ debugC(DEBUG_INSANE, "Rebel2 IACT: Read %d bytes, first 16: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
bytesRead, scanBuf[0], scanBuf[1], scanBuf[2], scanBuf[3],
scanBuf[4], scanBuf[5], scanBuf[6], scanBuf[7],
scanBuf[8], scanBuf[9], scanBuf[10], scanBuf[11],
@@ -172,7 +172,7 @@ void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan
int64 animStreamPos = startPos + i;
uint32 animReportedSize = READ_BE_UINT32(scanBuf + i + 4);
int32 toCopy = (int)MIN<int64>((int64)animReportedSize + 8, totalSize - animStreamPos);
- debug("Rebel2 IACT: Found embedded ANIM at offset %d, size %d", (int)i, (int)animReportedSize);
+ debugC(DEBUG_INSANE, "Rebel2 IACT: Found embedded ANIM at offset %d, size %d", (int)i, (int)animReportedSize);
if (toCopy > 0) {
byte *animData = (byte *)malloc(toCopy);
if (animData) {
@@ -189,7 +189,7 @@ void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan
}
}
- debug("Rebel2 IACT: No ANIM tag found in menu IACT data");
+ debugC(DEBUG_INSANE, "Rebel2 IACT: No ANIM tag found in menu IACT data");
b.seek(startPos);
free(scanBuf);
}
@@ -243,7 +243,7 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
// Sub-opcode 0x0D (13) = Primary collision zones (obstacles)
// Sub-opcode 0x0E (14) = Secondary collision zones (boundaries)
// par2 is the sub-opcode that determines which zone table to use
- debug("Rebel2 IACT Opcode 5: par2=%d par3=%d par4=%d", par2, par3, par4);
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode 5: par2=%d par3=%d par4=%d", par2, par3, par4);
if (par2 == 0x0D || par2 == 0x0E) {
// Register the collision zone from the remaining IACT data
@@ -275,7 +275,7 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
// DAT_00443b12 = horizontal wind, DAT_00443b14 = vertical wind
_windParamX = body0;
_windParamY = body1;
- debug("Rebel2 Opcode 7 par4=0: wind=(%d,%d)", body0, body1);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=0: wind=(%d,%d)", body0, body1);
break;
case 1:
// Set LEFT X boundary and TOP Y boundary
@@ -287,7 +287,7 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
} else if (_flyControlMode == 0) {
_corridorLeftX += 20;
}
- debug("Rebel2 Opcode 7 par4=1: corridor left=%d top=%d (adjusted left=%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=1: corridor left=%d top=%d (adjusted left=%d)",
body0, body1, _corridorLeftX);
break;
case 2:
@@ -300,16 +300,16 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
} else if (_flyControlMode == 0) {
_corridorRightX -= 20;
}
- debug("Rebel2 Opcode 7 par4=2: corridor right=%d bottom=%d (adjusted right=%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=2: corridor right=%d bottom=%d (adjusted right=%d)",
body0, body1, _corridorRightX);
break;
case 5:
// DAT_00443b52: repeats FLY002 ship overlay in FUN_40D836.
_flyOverlayRepeatCount = body0;
- debug("Rebel2 Opcode 7 par4=5: flyOverlayRepeat=%d", _flyOverlayRepeatCount);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=5: flyOverlayRepeat=%d", _flyOverlayRepeatCount);
break;
default:
- debug("Rebel2 Opcode 7 par4=%d: body=(%d,%d) â unknown sub-opcode", par4, body0, body1);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=%d: body=(%d,%d) â unknown sub-opcode", par4, body0, body1);
break;
}
@@ -324,9 +324,9 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
iactRebel2Opcode9(renderBitmap, b, par2, par3, par4);
} else if (par1 == 0 || par1 == 1) {
// Low Opcodes seen in logs
- debug("Rebel2 IACT: Low Opcode %d (par2=%d par3=%d par4=%d)", par1, par2, par3, par4);
+ debugC(DEBUG_INSANE, "Rebel2 IACT: Low Opcode %d (par2=%d par3=%d par4=%d)", par1, par2, par3, par4);
} else {
- debug("Rebel2 IACT: Unknown Opcode %d (par2=%d par3=%d par4=%d)", par1, par2, par3, par4);
+ debugC(DEBUG_INSANE, "Rebel2 IACT: Unknown Opcode %d (par2=%d par3=%d par4=%d)", par1, par2, par3, par4);
}
}
@@ -359,13 +359,13 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
// while the parent is alive, and revealed when the parent is destroyed.
if (!isBitSet(parentId)) {
setBit(childId);
- debug("Rebel2: Linked ID=%d to Parent=%d (Slot 0) - child DISABLED (parent alive)", childId, parentId);
+ debugC(DEBUG_INSANE, "Rebel2: Linked ID=%d to Parent=%d (Slot 0) - child DISABLED (parent alive)", childId, parentId);
} else {
clearBit(childId);
- debug("Rebel2: Linked ID=%d to Parent=%d (Slot 0) - child ENABLED (parent dead)", childId, parentId);
+ debugC(DEBUG_INSANE, "Rebel2: Linked ID=%d to Parent=%d (Slot 0) - child ENABLED (parent dead)", childId, parentId);
}
} else {
- debug("Rebel2: Skipping link with invalid IDs childId=%d parentId=%d", childId, parentId);
+ debugC(DEBUG_INSANE, "Rebel2: Skipping link with invalid IDs childId=%d parentId=%d", childId, parentId);
}
return;
} else if (par3 == 1) { // Probabilistic / counter cases: par3 == 1
@@ -385,13 +385,13 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
if (value == 100) {
// par4==100: Force enable the target (original: FUN_00423a00)
clearBit(targetId);
- debug("Rebel2 Opcode2 (H%d): Force ENABLE target=%d (par4=100)", _rebelHandler, targetId);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode2 (H%d): Force ENABLE target=%d (par4=100)", _rebelHandler, targetId);
} else {
// Check wave state: if enemy type has been killed, disable target
int bitMask = 1 << (value & 0x1f);
if ((_rebelWaveState & bitMask) != 0) {
setBit(targetId);
- debug("Rebel2 Opcode2 (H%d): Disable target=%d (type %d killed, wave=0x%x)", _rebelHandler, targetId, value, _rebelWaveState);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode2 (H%d): Disable target=%d (type %d killed, wave=0x%x)", _rebelHandler, targetId, value, _rebelWaveState);
}
}
return;
@@ -400,19 +400,19 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
if (value > 1 && value < 10) { // 1 < value < 10: random disable
if (_vm->_rnd.getRandomNumber(value) == 0) {
setBit(targetId);
- debug("Rebel2 IACT Opcode2: Random DISABLE target=%d (value=%d)", targetId, value);
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Random DISABLE target=%d (value=%d)", targetId, value);
}
} else if (value > 10 && value < 20) { // 10 < value < 20: enable/disable with special value==11 = force enable
if (value == 11) {
clearBit(targetId);
- debug("Rebel2 IACT Opcode2: FORCE ENABLE target=%d (value=11)", targetId);
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: FORCE ENABLE target=%d (value=11)", targetId);
} else {
if (_vm->_rnd.getRandomNumber(value - 10) == 0) {
clearBit(targetId);
- debug("Rebel2 IACT Opcode2: Random ENABLE target=%d (value=%d)", targetId, value);
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Random ENABLE target=%d (value=%d)", targetId, value);
} else {
setBit(targetId);
- debug("Rebel2 IACT Opcode2: Random DISABLE target=%d (value=%d)", targetId, value);
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Random DISABLE target=%d (value=%d)", targetId, value);
}
}
} else if (value > 99 && value < 110) { // 99 < value < 110: increment value counter if target active
@@ -421,7 +421,7 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
if (idx >= 0 && idx < 10) {
_rebelValueCounters[idx]++;
_rebelLastCounter = _rebelValueCounters[idx];
- debug("Rebel2 IACT Opcode2: Increment VAL counter[%d] -> %d (target=%d)", value, _rebelValueCounters[idx], targetId);
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Increment VAL counter[%d] -> %d (target=%d)", value, _rebelValueCounters[idx], targetId);
}
}
@@ -431,14 +431,14 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
if (!isBitSet(targetId)) {
_rebelMaskCounters[slot]++;
_rebelLastCounter = _rebelMaskCounters[slot];
- debug("Rebel2 IACT Opcode2: Increment MASK counter[%d] -> %d (target=%d)", slot, _rebelMaskCounters[slot], targetId);
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Increment MASK counter[%d] -> %d (target=%d)", slot, _rebelMaskCounters[slot], targetId);
}
}
}
}
// Unknown sub-type: log and return
- debug("Rebel2 IACT Opcode2: Unhandled par3=%d par4=%d", par3, par4);
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Unhandled par3=%d par4=%d", par3, par4);
}
}
@@ -477,35 +477,35 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
if (par3 == 5) {
// Probabilistic damage with cover check (lines 81-92)
- debug("Rebel2 Opcode3: H25 par3=5 srcId=%d isBitSet=%d damageLevel=%d",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode3: H25 par3=5 srcId=%d isBitSet=%d damageLevel=%d",
srcIdBody1, isBitSet(srcIdBody1), _rebelDamageLevel);
if (_rebelDamageLevel < 2 && !isBitSet(srcIdBody1)) {
LevelDifficultyParams params = getDifficultyParams();
int probability = (params.shotAccuracy >= 0) ? params.shotAccuracy : 0;
int roll = _vm->_rnd.getRandomNumber(99);
- debug("Rebel2 Opcode3: probability=%d roll=%d (need roll < prob)", probability, roll);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode3: probability=%d roll=%d (need roll < prob)", probability, roll);
if (roll < probability) {
int damageAmount = (params.shotDamage >= 0) ? params.shotDamage : 0;
if (applyPlayerDamage(damageAmount)) {
- debug("Rebel2: H25 PROBABILISTIC damage from %d. Damage=%d total=%d",
+ debugC(DEBUG_INSANE, "Rebel2: H25 PROBABILISTIC damage from %d. Damage=%d total=%d",
srcIdBody1, damageAmount, _playerDamage);
}
if (!_noDamage)
initDamageFlash();
}
} else {
- debug("Rebel2 Opcode3: H25 par3=5 BLOCKED (damageLevel=%d isBitSet=%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode3: H25 par3=5 BLOCKED (damageLevel=%d isBitSet=%d)",
_rebelDamageLevel, isBitSet(srcIdBody1));
}
} else if (par3 == 1 && !isBitSet(srcIdBody0) && par4 != 4) {
// Hit counter only â NO damage (lines 94-98)
_rebelHitCounter++;
- debug("Rebel2: H25 hit counter++ -> %d (par3=1 par4=%d, no damage)",
+ debugC(DEBUG_INSANE, "Rebel2: H25 hit counter++ -> %d (par3=1 par4=%d, no damage)",
_rebelHitCounter, par4);
} else {
- debug("Rebel2 Opcode3: H25 par3=%d par4=%d (no action)", par3, par4);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode3: H25 par3=%d par4=%d (no action)", par3, par4);
}
// Direct damage: par4==100, separate from par3 branches (lines 99-111)
@@ -513,7 +513,7 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
LevelDifficultyParams dparams = getDifficultyParams();
int directHitDamage = (dparams.missDamage >= 0) ? dparams.missDamage : 0;
if (applyPlayerDamage(directHitDamage)) {
- debug("Rebel2: H25 DIRECT HIT par4=100 damage=%d total=%d",
+ debugC(DEBUG_INSANE, "Rebel2: H25 DIRECT HIT par4=100 damage=%d total=%d",
directHitDamage, _playerDamage);
}
if (!_noDamage)
@@ -523,12 +523,12 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
// Non-Handler-25 direct hit path â FUN_4092D9 lines 209-227
int16 srcId = b.readSint16LE(); // body[0] (offset +8): source enemy ID
- debug("Rebel2 Opcode3: par3=%d par4=%d srcId=%d isBitSet=%d",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode3: par3=%d par4=%d srcId=%d isBitSet=%d",
par3, par4, srcId, isBitSet(srcId));
if (!isBitSet(srcId)) {
_rebelHitCounter++;
- debug("Rebel2: Incremented hit counter -> %d", _rebelHitCounter);
+ debugC(DEBUG_INSANE, "Rebel2: Incremented hit counter -> %d", _rebelHitCounter);
LevelDifficultyParams dparams = getDifficultyParams();
int directHitDamage = (dparams.missDamage >= 0) ? dparams.missDamage : 0;
@@ -546,7 +546,7 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
if (shouldDamage) {
if (applyPlayerDamage(directHitDamage)) {
- debug("Rebel2: DIRECT HIT damage from enemy %d. par3=%d par4=%d damage=%d total=%d",
+ debugC(DEBUG_INSANE, "Rebel2: DIRECT HIT damage from enemy %d. par3=%d par4=%d damage=%d total=%d",
srcId, par3, par4, directHitDamage, _playerDamage);
}
if (!_noDamage)
@@ -559,19 +559,19 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
b.skip(2); // Skip body[0]
int16 srcId = b.readSint16LE(); // body[1] (offset +10)
- debug("Rebel2 Opcode3: par3=5 srcId=%d isBitSet=%d", srcId, isBitSet(srcId));
+ debugC(DEBUG_INSANE, "Rebel2 Opcode3: par3=5 srcId=%d isBitSet=%d", srcId, isBitSet(srcId));
if (!isBitSet(srcId)) {
LevelDifficultyParams params = getDifficultyParams();
int probability = (params.shotAccuracy >= 0) ? params.shotAccuracy : 0;
int roll = _vm->_rnd.getRandomNumber(99);
- debug("Rebel2 Opcode3: probability=%d roll=%d (need roll < prob)", probability, roll);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode3: probability=%d roll=%d (need roll < prob)", probability, roll);
if (roll < probability) {
int damageAmount = (params.shotDamage >= 0) ? params.shotDamage : 0;
if (applyPlayerDamage(damageAmount)) {
- debug("Rebel2: PROBABILISTIC damage from enemy %d. Damage=%d total=%d",
+ debugC(DEBUG_INSANE, "Rebel2: PROBABILISTIC damage from enemy %d. Damage=%d total=%d",
srcId, damageAmount, _playerDamage);
}
if (!_noDamage) {
@@ -584,7 +584,7 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
}
}
} else {
- debug("Rebel2 Opcode3: UNHANDLED par3=%d par4=%d", par3, par4);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode3: UNHANDLED par3=%d par4=%d", par3, par4);
}
}
@@ -597,7 +597,7 @@ void InsaneRebel2::updateOpcode6Handler(int16 par2) {
_level2BackgroundLoaded = false;
}
_rebelHandler = par2;
- debug("Rebel2 Opcode 6: Setting handler=%d", par2);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6: Setting handler=%d", par2);
}
}
@@ -634,7 +634,7 @@ void InsaneRebel2::handleOpcode6Handler8(Common::SeekableReadStream &b, int16 pa
}
_rebelWaveState = _rebelPhaseState;
_rebelOp6Initialized = true;
- debug("Rebel2 Opcode 6 (Handler 8): Wave init, wave=0x%x", _rebelWaveState);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 8): Wave init, wave=0x%x", _rebelWaveState);
}
// Skip position calculation for special modes 4 and 5
@@ -775,7 +775,7 @@ void InsaneRebel2::handleOpcode6Handler8(Common::SeekableReadStream &b, int16 pa
_vm->getActionState(kScummActionInsaneAttack);
}
- debug("Rebel2 Opcode 6 (Handler 8): mode=%d bodyFlag=%d range=%d shipPos=(%d,%d) target=(%d,%d) firing=%d dir=(%d,%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 8): mode=%d bodyFlag=%d range=%d shipPos=(%d,%d) target=(%d,%d) firing=%d dir=(%d,%d,%d)",
_shipLevelMode, bodyStatusFlag, _movementRangeLimit, _shipPosX, _shipPosY, _shipTargetX, _shipTargetY, _shipFiring,
_shipDirectionH, _shipDirectionV, _shipDirectionIndex);
}
@@ -792,7 +792,7 @@ void InsaneRebel2::handleOpcode6Handler7(Common::SeekableReadStream &b, int16 pa
// Mode 2: Combat mode - shooting ENABLED, SECONDARY zones
// Mode 3: Tunnel flight - PRIMARY zones, per-edge push-back (hMargin=0x0f)
_flyControlMode = par4;
- debug("Rebel2 Opcode 6 (Handler 7): Control mode set to %d (shooting %s)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 7): Control mode set to %d (shooting %s)",
par4, (par4 == 2) ? "ENABLED" : "DISABLED");
// Status bar: param_5[4] == 1 in original (first body word, 5th IACT word)
@@ -809,7 +809,7 @@ void InsaneRebel2::handleOpcode6Handler7(Common::SeekableReadStream &b, int16 pa
if (_smush_iconsNut && _smush_iconsNut->getNumChars() > 5) {
initLaserTexture(_smush_iconsNut, 5);
}
- debug("Rebel2 Opcode 6 (Handler 7): Status bar enabled (body flag=%d)", bodyStatusFlag);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 7): Status bar enabled (body flag=%d)", bodyStatusFlag);
}
// Ship position update - FUN_40C3CC case 4, lines 49-327.
@@ -1125,7 +1125,7 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
}
_rebelWaveState = _rebelPhaseState;
_rebelOp6Initialized = true;
- debug("Rebel2 Opcode 6 (Handler 25): Wave init, wave=0x%x autopilot=%d damageLevel=%d",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 25): Wave init, wave=0x%x autopilot=%d damageLevel=%d",
_rebelWaveState, _rebelAutopilot, _rebelDamageLevel);
}
}
@@ -1139,7 +1139,7 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
// Mode 4: Alternative uncovered position - sprite on right
_grdSpriteMode = par4; // local_14[3] maps to par4 (offset 6-7)
- debug("Rebel2 Handler25 Opcode6: par2=%d par3=%d par4=%d(mode) par5=%d(reset) autopilot=%d damageLevel=%d controlMode=%d",
+ debugC(DEBUG_INSANE, "Rebel2 Handler25 Opcode6: par2=%d par3=%d par4=%d(mode) par5=%d(reset) autopilot=%d damageLevel=%d controlMode=%d",
par2, par3, par4, par5, _rebelAutopilot, _rebelDamageLevel, _rebelControlMode);
// Autopilot logic (lines 123-146).
@@ -1150,13 +1150,13 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
// Uncovered: RIGHT button enters cover.
if ((_rebelControlMode & 2) != 0) {
_rebelAutopilot = 1;
- debug("Rebel2 Handler25: Entering cover (right click), controlMode=%d", _rebelControlMode);
+ debugC(DEBUG_INSANE, "Rebel2 Handler25: Entering cover (right click), controlMode=%d", _rebelControlMode);
}
} else {
// Covered: ANY button exits cover.
if (_rebelControlMode != 0) {
_rebelAutopilot = 0;
- debug("Rebel2 Handler25: Exiting cover (button click), controlMode=%d", _rebelControlMode);
+ debugC(DEBUG_INSANE, "Rebel2 Handler25: Exiting cover (button click), controlMode=%d", _rebelControlMode);
}
}
@@ -1191,7 +1191,7 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
}
}
if (_rebelDamageLevel != prevDamageLevel) {
- debug("Rebel2 Handler25: damageLevel transition %d -> %d (autopilot=%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Handler25: damageLevel transition %d -> %d (autopilot=%d)",
prevDamageLevel, _rebelDamageLevel, _rebelAutopilot);
}
@@ -1263,10 +1263,10 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
_rebelViewOffset2X = _rebelDamageLevel * -22;
_rebelViewOffsetY = 0;
_rebelViewOffset2Y = 0;
- debug("Rebel2 Opcode 6 (Handler 25): Unknown mode %d, using Mode 1 fallback", _grdSpriteMode);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 25): Unknown mode %d, using Mode 1 fallback", _grdSpriteMode);
}
- debug("Rebel2 Opcode 6 (Handler 25): mode=%d damage=%d dir=%d autopilot=%d viewOff=(%d,%d) spritePos=(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 25): mode=%d damage=%d dir=%d autopilot=%d viewOff=(%d,%d) spritePos=(%d,%d)",
_grdSpriteMode, _rebelDamageLevel, _rebelFlightDir, _rebelAutopilot,
_rebelViewOffsetX, _rebelViewOffsetY, _rebelViewOffset2X, _rebelViewOffset2Y);
@@ -1314,7 +1314,7 @@ void InsaneRebel2::handleOpcode6Turret(Common::SeekableReadStream &b, int16 par4
_rebelWaveState = _rebelPhaseState;
_rebelHitCounter = 0;
_rebelOp6Initialized = true;
- debug("Rebel2 Opcode 6 (Handler 0x26): Wave init, levelType=%d waveState=0x%x",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 0x26): Wave init, levelType=%d waveState=0x%x",
_rebelLevelType, _rebelWaveState);
}
}
@@ -1339,7 +1339,7 @@ void InsaneRebel2::handleOpcode6GenericInit(int16 par4) {
_rebelWaveState = _rebelPhaseState;
_rebelHitCounter = 0;
_rebelOp6Initialized = true;
- debug("Rebel2 Opcode 6: Wave init - cleared bits/links, waveState=0x%x", _rebelWaveState);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6: Wave init - cleared bits/links, waveState=0x%x", _rebelWaveState);
}
}
}
@@ -1458,7 +1458,7 @@ void InsaneRebel2::updateOpcode6GenericFlightState() {
break;
}
- debug("Rebel2 Opcode 6: levelType=%d autopilot=%d damageLevel=%d viewOffset=(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 6: levelType=%d autopilot=%d damageLevel=%d viewOffset=(%d,%d)",
_rebelLevelType, _rebelAutopilot, _rebelDamageLevel, _rebelViewOffsetX, _rebelViewOffsetY);
}
@@ -1522,7 +1522,7 @@ void InsaneRebel2::iactRebel2Opcode6(byte *renderBitmap, Common::SeekableReadStr
// - Handler-specific status/reset word
// - Different view offset calculations
- debug("Rebel2 IACT Opcode 6: par2=%d par3=%d par4=%d", par2, par3, par4);
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode 6: par2=%d par3=%d par4=%d", par2, par3, par4);
updateOpcode6Handler(par2);
@@ -1610,7 +1610,7 @@ bool InsaneRebel2::loadOpcode8EdgeTable(Common::SeekableReadStream &b, int64 sta
b.read(edgeData, 8 + 32896);
initEdgeTable(edgeData);
free(edgeData);
- debug("Rebel2 Opcode 8: Loaded per-level edge blend table (par4=1000)");
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loaded per-level edge blend table (par4=1000)");
}
b.seek(startPos);
return true;
@@ -1651,11 +1651,11 @@ bool InsaneRebel2::loadOpcode8AuxSfx(Common::SeekableReadStream &b, int64 startP
b.read(soundData, dataSize);
loadAuxSfx(auxBuffer, soundData, dataSize);
free(soundData);
- debug("Rebel2 Opcode 8: Loaded %u bytes into aux sound buffer %d (par4=%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loaded %u bytes into aux sound buffer %d (par4=%d)",
dataSize, auxBuffer, par4);
}
} else {
- debug("Rebel2 Opcode 8: Aux sound par4=%d dataSize=%u exceeds remaining=%lld",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Aux sound par4=%d dataSize=%u exceeds remaining=%lld",
par4, dataSize, (long long)remaining);
}
}
@@ -1682,7 +1682,7 @@ bool InsaneRebel2::loadOpcode8ShotOriginTable(Common::SeekableReadStream &b, int
// ScummVM refactor helper for opcode 8 embedded ANIM scanning, not a separate retail function.
void InsaneRebel2::loadOpcode8EmbeddedAnim(byte *renderBitmap, Common::SeekableReadStream &b, int64 startPos, int64 remaining, int16 par3, int16 par4) {
// Remaining handlers require finding ANIM tag in the stream.
- debug("Rebel2 Opcode 8: Scanning for ANIM tag (startPos=%lld remaining=%lld)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Scanning for ANIM tag (startPos=%lld remaining=%lld)",
(long long)startPos, (long long)remaining);
if (remaining <= 0) {
@@ -1696,19 +1696,19 @@ void InsaneRebel2::loadOpcode8EmbeddedAnim(byte *renderBitmap, Common::SeekableR
}
int bytesRead = b.read(scanBuf, scanSize);
- debug("Rebel2 Opcode 8: Read %d bytes for ANIM scan", bytesRead);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Read %d bytes for ANIM scan", bytesRead);
int animOffset = -1;
for (int i = 0; i + 8 <= bytesRead; ++i) {
if (READ_BE_UINT32(scanBuf + i) == MKTAG('A','N','I','M')) {
animOffset = i;
- debug("Rebel2 Opcode 8: Found ANIM at offset %d", i);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Found ANIM at offset %d", i);
break;
}
}
if (animOffset < 0) {
- debug("Rebel2 Opcode 8: No ANIM tag found");
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: No ANIM tag found");
free(scanBuf);
b.seek(startPos);
return;
@@ -1779,7 +1779,7 @@ bool InsaneRebel2::handleOpcode8EmbeddedAnim(byte *renderBitmap, byte *animData,
} else if (par4 == 5) {
handled = loadLevel2Background(animData, animDataSize, renderBitmap);
} else if (par4 == 4 || par4 == 6 || par4 == 7) {
- debug("Rebel2 Opcode 8: Handler 25 overlay par4=%d - drawing to screen", par4);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Handler 25 overlay par4=%d - drawing to screen", par4);
loadEmbeddedSan(par4, animData, animDataSize, renderBitmap);
handled = true;
}
@@ -1793,7 +1793,7 @@ bool InsaneRebel2::handleOpcode8EmbeddedAnim(byte *renderBitmap, byte *animData,
const bool lowResHud = (par3 == 1 || par3 == 3);
if ((!highRes && highResHud) || (highRes && lowResHud)) {
- debug("Rebel2 Opcode 8: Skipping %s HUD par3=%d while running in %s mode",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Skipping %s HUD par3=%d while running in %s mode",
highResHud ? "high-res" : "low-res", par3, highRes ? "high-res" : "low-res");
handled = true;
} else {
@@ -1807,7 +1807,7 @@ bool InsaneRebel2::handleOpcode8EmbeddedAnim(byte *renderBitmap, byte *animData,
// Skip audio tracks (userId >= 1000).
if (userId > 0 && userId < 1000) {
- debug("Rebel2 Opcode 8: Loading embedded SAN HUD userId=%d (handler=%d par3=%d par4=%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loading embedded SAN HUD userId=%d (handler=%d par3=%d par4=%d)",
userId, _rebelHandler, par3, par4);
loadEmbeddedSan(userId, animData, animDataSize, renderBitmap);
handled = true;
@@ -1816,14 +1816,14 @@ bool InsaneRebel2::handleOpcode8EmbeddedAnim(byte *renderBitmap, byte *animData,
}
if (!handled) {
- debug("Rebel2 Opcode 8: Unhandled case - handler=%d par3=%d par4=%d", _rebelHandler, par3, par4);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Unhandled case - handler=%d par3=%d par4=%d", _rebelHandler, par3, par4);
}
return handled;
}
void InsaneRebel2::iactRebel2Opcode8(byte *renderBitmap, Common::SeekableReadStream &b, int32 chunkSize, int16 par2, int16 par3, int16 par4) {
- debug("Rebel2 IACT Opcode 8: handler=%d par2=%d par3=%d par4=%d (gameState=%d)",
+ debugC(DEBUG_INSANE, "Rebel2 IACT Opcode 8: handler=%d par2=%d par3=%d par4=%d (gameState=%d)",
_rebelHandler, par2, par3, par4, _gameState);
int64 startPos = b.pos();
@@ -1914,7 +1914,7 @@ bool InsaneRebel2::loadHandler25ShotOriginTable(Common::SeekableReadStream &b, i
b.seek(savedPos);
if (count < 20) {
- debug("Rebel2 Opcode 8: Handler25 par4=8 parse failed (count=%d, expected up to 30)", count);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Handler25 par4=8 parse failed (count=%d, expected up to 30)", count);
return false;
}
@@ -1930,7 +1930,7 @@ bool InsaneRebel2::loadHandler25ShotOriginTable(Common::SeekableReadStream &b, i
}
_grdShotOriginTableLoaded = true;
- debug("Rebel2 Opcode 8: Loaded Handler25 shot-origin table (pairs=%d) idx5=(%d,%d) idx14=(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loaded Handler25 shot-origin table (pairs=%d) idx5=(%d,%d) idx14=(%d,%d)",
count / 2, _grdShotOriginX[5], _grdShotOriginY[5], _grdShotOriginX[14], _grdShotOriginY[14]);
return true;
}
@@ -1998,7 +1998,7 @@ bool InsaneRebel2::loadHandler7ShotTable(Common::SeekableReadStream &b, int64 st
b.seek(savedPos);
if (count < 70) {
- debug("Rebel2 Opcode 8: Handler7 par4=%d shot table parse failed (count=%d)", par4, count);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Handler7 par4=%d shot table parse failed (count=%d)", par4, count);
return false;
}
@@ -2014,7 +2014,7 @@ bool InsaneRebel2::loadHandler7ShotTable(Common::SeekableReadStream &b, int64 st
else
_flyRightGunTableLoaded = true;
- debug("Rebel2 Opcode 8: Loaded Handler7 %s gun table idx0=(%d,%d) idx17=(%d,%d) idx34=(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loaded Handler7 %s gun table idx0=(%d,%d) idx17=(%d,%d) idx34=(%d,%d)",
(par4 == 12) ? "left" : "right",
tableX[0], tableY[0], tableX[17], tableY[17], tableX[34], tableY[34]);
return true;
@@ -2050,13 +2050,13 @@ bool InsaneRebel2::loadHandler7FlySprites(Common::SeekableReadStream &b, int64 r
return false;
}
- debug("Rebel2 loadHandler7FlySprites: header bytes: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
+ debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: header bytes: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
header[0], header[1], header[2], header[3], header[4],
header[5], header[6], header[7], header[8], header[9]);
// Size is at offset 14 from IACT start = bytes 6-9 of our header buffer
uint32 nutSize = READ_LE_UINT32(header + 6);
- debug("Rebel2 loadHandler7FlySprites: par4=%d nutSize=%u remaining=%lld",
+ debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: par4=%d nutSize=%u remaining=%lld",
par4, nutSize, (long long)remaining);
if (nutSize == 0 || nutSize > (uint32)(remaining - 10)) {
@@ -2069,7 +2069,7 @@ bool InsaneRebel2::loadHandler7FlySprites(Common::SeekableReadStream &b, int64 r
}
int bytesRead = b.read(nutData, nutSize);
- debug("Rebel2 loadHandler7FlySprites: Read %d/%u bytes, first 16: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
+ debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: Read %d/%u bytes, first 16: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
bytesRead, nutSize,
bytesRead > 0 ? nutData[0] : 0, bytesRead > 1 ? nutData[1] : 0,
bytesRead > 2 ? nutData[2] : 0, bytesRead > 3 ? nutData[3] : 0,
@@ -2099,13 +2099,13 @@ bool InsaneRebel2::loadHandler7FlySprites(Common::SeekableReadStream &b, int64 r
// Load as a Rebel2 embedded sprite ANIM.
NutRenderer *newNut = makeRebel2SpriteFromData(_vm, nutData, bytesRead);
if (!newNut || newNut->getNumChars() <= 0) {
- debug("Rebel2 loadHandler7FlySprites: NUT load failed for par4=%d", par4);
+ debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: NUT load failed for par4=%d", par4);
delete newNut;
free(nutData);
return false;
}
- debug("Rebel2 loadHandler7FlySprites: Loaded FLY NUT par4=%d with %d sprites",
+ debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: Loaded FLY NUT par4=%d with %d sprites",
par4, newNut->getNumChars());
// Assign to appropriate slot based on par4 (matches FUN_0040c3cc case 6 switch)
@@ -2114,7 +2114,7 @@ bool InsaneRebel2::loadHandler7FlySprites(Common::SeekableReadStream &b, int64 r
case 1: // FLY001 - Ship direction sprites (35 frames)
delete _flyShipSprite;
_flyShipSprite = newNut;
- debug("Rebel2: _flyShipSprite set with %d sprites", newNut->getNumChars());
+ debugC(DEBUG_INSANE, "Rebel2: _flyShipSprite set with %d sprites", newNut->getNumChars());
break;
case 2: // FLY003 - Targeting overlay
delete _flyTargetSprite;
@@ -2156,7 +2156,7 @@ bool InsaneRebel2::loadTurretHudOverlay(byte *animData, int32 size, int16 select
const int secondarySlot = highRes ? 4 : 3;
if (selector >= 1 && selector <= 4 && selector != primarySlot && selector != secondarySlot) {
- debug("Rebel2 loadTurretHudOverlay: Skipping %s HUD selector=%d (running in %s mode)",
+ debugC(DEBUG_INSANE, "Rebel2 loadTurretHudOverlay: Skipping %s HUD selector=%d (running in %s mode)",
(selector == 2 || selector == 4) ? "high-res" : "low-res", selector,
highRes ? "high-res" : "low-res");
return true;
@@ -2168,12 +2168,12 @@ bool InsaneRebel2::loadTurretHudOverlay(byte *animData, int32 size, int16 select
NutRenderer *newNut = makeRebel2SpriteFromData(_vm, animData, size);
if (!newNut || newNut->getNumChars() <= 0) {
- debug("Rebel2 loadTurretHudOverlay: NUT load failed for selector=%d", selector);
+ debugC(DEBUG_INSANE, "Rebel2 loadTurretHudOverlay: NUT load failed for selector=%d", selector);
delete newNut;
return false;
}
- debug("Rebel2 loadTurretHudOverlay: Loaded turret HUD NUT selector=%d with %d sprites",
+ debugC(DEBUG_INSANE, "Rebel2 loadTurretHudOverlay: Loaded turret HUD NUT selector=%d with %d sprites",
selector, newNut->getNumChars());
if (selector == primarySlot) {
@@ -2207,12 +2207,12 @@ bool InsaneRebel2::loadHandler8ShipSprites(byte *animData, int32 size, int16 par
NutRenderer *newNut = makeRebel2SpriteFromData(_vm, animData, size);
if (!newNut || newNut->getNumChars() <= 0) {
- debug("Rebel2 loadHandler8ShipSprites: NUT load failed for par4=%d", par4);
+ debugC(DEBUG_INSANE, "Rebel2 loadHandler8ShipSprites: NUT load failed for par4=%d", par4);
delete newNut;
return false;
}
- debug("Rebel2 loadHandler8ShipSprites: Loaded ship NUT par4=%d with %d sprites",
+ debugC(DEBUG_INSANE, "Rebel2 loadHandler8ShipSprites: Loaded ship NUT par4=%d with %d sprites",
par4, newNut->getNumChars());
switch (par4) {
@@ -2259,29 +2259,29 @@ bool InsaneRebel2::loadHandler25GrdSprites(byte *animData, int32 size, int16 par
NutRenderer *newNut = makeRebel2SpriteFromData(_vm, animData, size);
if (!newNut || newNut->getNumChars() <= 0) {
- debug("Rebel2 loadHandler25GrdSprites: NUT load failed for par4=%d", par4);
+ debugC(DEBUG_INSANE, "Rebel2 loadHandler25GrdSprites: NUT load failed for par4=%d", par4);
delete newNut;
return false;
}
- debug("Rebel2 loadHandler25GrdSprites: Loaded GRD NUT par4=%d with %d sprites",
+ debugC(DEBUG_INSANE, "Rebel2 loadHandler25GrdSprites: Loaded GRD NUT par4=%d with %d sprites",
par4, newNut->getNumChars());
switch (par4) {
case 1: // GRD001 - Primary ship sprite
delete _grd001Sprite;
_grd001Sprite = newNut;
- debug("Rebel2: _grd001Sprite set with %d sprites", newNut->getNumChars());
+ debugC(DEBUG_INSANE, "Rebel2: _grd001Sprite set with %d sprites", newNut->getNumChars());
break;
case 2: // GRD002 - Secondary ship sprite
delete _grd002Sprite;
_grd002Sprite = newNut;
- debug("Rebel2: _grd002Sprite set with %d sprites", newNut->getNumChars());
+ debugC(DEBUG_INSANE, "Rebel2: _grd002Sprite set with %d sprites", newNut->getNumChars());
break;
case 10: // GRD005 - Mode 3 overlay sprite
delete _grd005Sprite;
_grd005Sprite = newNut;
- debug("Rebel2: _grd005Sprite set with %d sprites", newNut->getNumChars());
+ debugC(DEBUG_INSANE, "Rebel2: _grd005Sprite set with %d sprites", newNut->getNumChars());
break;
default:
delete newNut;
@@ -2301,7 +2301,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
return false;
}
- debug("Rebel2 loadLevel2Background: Loading Level 2 background (animSize=%d)", size);
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Loading Level 2 background (animSize=%d)", size);
// Allocate background buffer if needed (320x200 = 64000 bytes)
if (_level2Background == nullptr) {
@@ -2317,7 +2317,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
uint32 animTag = stream.readUint32BE();
if (animTag != MKTAG('A','N','I','M')) {
- debug("Rebel2 loadLevel2Background: Missing ANIM tag, got 0x%08X", animTag);
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Missing ANIM tag, got 0x%08X", animTag);
return false;
}
@@ -2326,10 +2326,10 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
if ((int64)animSize <= streamEnd - 8) {
animEnd = 8 + (int64)animSize;
} else {
- debug("Rebel2 loadLevel2Background: ANIM truncated: reported size=%u, actual=%lld",
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: ANIM truncated: reported size=%u, actual=%lld",
animSize, streamEnd - 8);
}
- debug("Rebel2 loadLevel2Background: Found ANIM tag, size=%u", animSize);
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Found ANIM tag, size=%u", animSize);
bool foundBackground = false;
while (!stream.eos() && stream.pos() + 8 <= animEnd && !foundBackground) {
@@ -2345,7 +2345,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
continue;
}
- debug("Rebel2 loadLevel2Background: Found FRME at %lld, size=%u", stream.pos() - 8, chunkSize);
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Found FRME at %lld, size=%u", stream.pos() - 8, chunkSize);
while (stream.pos() + 8 <= chunkDataEnd && !stream.eos() && !foundBackground) {
uint32 subTag;
@@ -2361,7 +2361,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
}
if (subSize < 14) {
- debug("Rebel2 loadLevel2Background: FOBJ too small: size=%u", subSize);
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: FOBJ too small: size=%u", subSize);
stream.seek(nextSubPos);
continue;
}
@@ -2375,7 +2375,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
stream.readUint16LE(); // unknown
stream.readUint16LE(); // unknown
- debug("Rebel2 loadLevel2Background: Found FOBJ: codec=%d pos=(%d,%d) size=%dx%d",
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Found FOBJ: codec=%d pos=(%d,%d) size=%dx%d",
codec, fobjX, fobjY, fobjW, fobjH);
// Decode codec 3 (RLE) into the original 320x200 background buffer.
@@ -2389,7 +2389,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
smushDecodeRLEOpaque(_level2Background, rleData, fobjX, fobjY, drawW, drawH, 320,
(int)(subDataEnd - stream.pos()));
- debug("Rebel2 loadLevel2Background: Decoded Level 2 background (%dx%d at %d,%d, clipped to %dx%d)",
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Decoded Level 2 background (%dx%d at %d,%d, clipped to %dx%d)",
fobjW, fobjH, fobjX, fobjY, drawW, drawH);
_level2BackgroundLoaded = true;
foundBackground = true;
@@ -2402,9 +2402,9 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
for (int by = 0; by < 200; by++) {
memcpy(renderBitmap + by * 320, _level2Background + by * 320, 320);
}
- debug("Rebel2 loadLevel2Background: Copied to renderBitmap (pitch=%d)", bufferPitch);
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Copied to renderBitmap (pitch=%d)", bufferPitch);
} else {
- debug("Rebel2 loadLevel2Background: Skipping renderBitmap copy (pitch=%d != 320)", bufferPitch);
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Skipping renderBitmap copy (pitch=%d != 320)", bufferPitch);
}
}
}
@@ -2416,7 +2416,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
}
if (!foundBackground) {
- debug("Rebel2 loadLevel2Background: Failed to find/decode background FOBJ");
+ debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Failed to find/decode background FOBJ");
}
return foundBackground;
@@ -2471,9 +2471,9 @@ void InsaneRebel2::iactRebel2Opcode9(byte *renderBitmap, Common::SeekableReadStr
// Try to get string from SMUSH player's string resource
if (_player && _player->getString(stringIndex)) {
textStr = _player->getString(stringIndex);
- debug("Rebel2 Opcode 9: TRES string index=%d -> \"%s\"", stringIndex, textStr);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 9: TRES string index=%d -> \"%s\"", stringIndex, textStr);
} else {
- debug("Rebel2 Opcode 9: TRES string index=%d not found", stringIndex);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 9: TRES string index=%d not found", stringIndex);
return;
}
@@ -2513,11 +2513,11 @@ void InsaneRebel2::iactRebel2Opcode9(byte *renderBitmap, Common::SeekableReadStr
textBuffer[textLen] = '\0';
textStr = textBuffer;
- debug("Rebel2 Opcode 9: Inline text at (%d,%d) flags=0x%x -> \"%s\"", posX, posY, textFlags, textStr);
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 9: Inline text at (%d,%d) flags=0x%x -> \"%s\"", posX, posY, textFlags, textStr);
}
if (!textStr || textStr[0] == '\0') {
- debug("Rebel2 Opcode 9: Empty text string, skipping");
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 9: Empty text string, skipping");
return;
}
@@ -2542,7 +2542,7 @@ void InsaneRebel2::iactRebel2Opcode9(byte *renderBitmap, Common::SeekableReadStr
// Use the message font loaded during initialization (DIHIFONT.NUT)
if (!_rebelMsgFont) {
- debug("Rebel2 Opcode 9: No message font loaded (_rebelMsgFont is null)");
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 9: No message font loaded (_rebelMsgFont is null)");
return;
}
@@ -2655,7 +2655,7 @@ void InsaneRebel2::iactRebel2Opcode9(byte *renderBitmap, Common::SeekableReadStr
}
}
- debug("Rebel2 Opcode 9: Rendered subtitle at (%d,%d) flags=0x%x clip=(%d,%d,%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode 9: Rendered subtitle at (%d,%d) flags=0x%x clip=(%d,%d,%d,%d)",
posX, posY, textFlags, clipX, clipY, clipW, clipH);
}
@@ -2675,7 +2675,7 @@ void InsaneRebel2::enemyUpdate(byte *renderBitmap, Common::SeekableReadStream &b
// If disabled, stop processing this object
if (disabled) {
- // debug("Rebel2: Skipping Opcode 4 for disabled enemy ID=%d", enemyId);
+ // debugC(DEBUG_INSANE, "Rebel2: Skipping Opcode 4 for disabled enemy ID=%d", enemyId);
return;
}
@@ -2691,7 +2691,7 @@ void InsaneRebel2::enemyUpdate(byte *renderBitmap, Common::SeekableReadStream &b
// In the original (FUN_004028C5/FUN_0041E7C2): sVar5/sVar2 = *(short *)(*local + 6)
// This maps to par4 (userId field). Used for DAT_0047ab98 wave state bitmask:
// DAT_0047ab98 |= 1 << (type & 0x1f)
- debug(5, "Rebel2 Opcode4: handler=%d enemyId=%d par2=%d par3=%d par4/type=%d pos=(%d,%d) size=(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Opcode4: handler=%d enemyId=%d par2=%d par3=%d par4/type=%d pos=(%d,%d) size=(%d,%d)",
_rebelHandler, enemyId, par2, par3, par4, x, y, w, h);
bool found = false;
diff --git a/engines/scumm/insane/rebel2/levels.cpp b/engines/scumm/insane/rebel2/levels.cpp
index ebbdff25fd0..ea7e586e033 100644
--- a/engines/scumm/insane/rebel2/levels.cpp
+++ b/engines/scumm/insane/rebel2/levels.cpp
@@ -108,7 +108,7 @@ void InsaneRebel2::runGame() {
if (chapterResult == kChapterSelectPlay) {
// _selectedChapter is 0-based, runLevel expects 1-based
int selectedLevel = _selectedChapter + 1;
- debug("InsaneRebel2: Starting chapter %d (level %d)", _selectedChapter + 1, selectedLevel);
+ debugC(DEBUG_INSANE, "InsaneRebel2: Starting chapter %d (level %d)", _selectedChapter + 1, selectedLevel);
// Ending selected directly from chapter select (FUN_0041bbe8, case 0xf)
if (selectedLevel == 16) {
@@ -154,7 +154,7 @@ void InsaneRebel2::runGame() {
// We skip the easter eggs and play both O_OPEN_A + O_OPEN_B unconditionally.
//
void InsaneRebel2::playIntroSequence() {
- debug("Rebel2: Playing intro sequence");
+ debugC(DEBUG_INSANE, "Rebel2: Playing intro sequence");
_gameState = kStateIntro;
_menuInputActive = false;
@@ -163,7 +163,7 @@ void InsaneRebel2::playIntroSequence() {
// Play main intro (OPEN/O_OPEN_A.SAN)
// Original: FUN_0041f4d0("OPEN/O_OPEN_A.SAN", 0x28, 0xffff, 0xffff, 0)
- debug("Rebel2: Playing main intro (O_OPEN_A.SAN)");
+ debugC(DEBUG_INSANE, "Rebel2: Playing main intro (O_OPEN_A.SAN)");
splayer->setCurVideoFlags(0x28);
splayer->play("OPEN/O_OPEN_A.SAN", 15);
@@ -173,7 +173,7 @@ void InsaneRebel2::playIntroSequence() {
// Play additional intro (OPEN/O_OPEN_B.SAN)
// Original: conditional on DAT_0047ab45 || DAT_0047ab47
// We play unconditionally (matches "Continue Intro" menu behavior)
- debug("Rebel2: Playing additional intro (O_OPEN_B.SAN)");
+ debugC(DEBUG_INSANE, "Rebel2: Playing additional intro (O_OPEN_B.SAN)");
splayer->setCurVideoFlags(0x28);
splayer->play("OPEN/O_OPEN_B.SAN", 15);
}
@@ -181,7 +181,7 @@ void InsaneRebel2::playIntroSequence() {
// playMissionBriefing -- Mission briefing screen (FUN_00415CF8).
void InsaneRebel2::playMissionBriefing() {
- debug("Rebel2: Playing mission briefing");
+ debugC(DEBUG_INSANE, "Rebel2: Playing mission briefing");
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
splayer->setCurVideoFlags(0x08); // Briefing mode flag
@@ -268,7 +268,7 @@ void InsaneRebel2::playLevelBegin(int levelId) {
Common::String prefix = getLevelPrefix(levelId);
Common::String filename = Common::String::format("%s/%sBEG.SAN", dir.c_str(), prefix.c_str());
- debug("Rebel2: Playing level %d beginning: %s", levelId, filename.c_str());
+ debugC(DEBUG_INSANE, "Rebel2: Playing level %d beginning: %s", levelId, filename.c_str());
if (levelId >= 1 && levelId <= 15 && levelTextParams[levelId].textID >= 0) {
const TextOverlayParams &p = levelTextParams[levelId];
@@ -292,7 +292,7 @@ void InsaneRebel2::playLevelEnd(int levelId) {
Common::String prefix = getLevelPrefix(levelId);
Common::String filename = Common::String::format("%s/%sEND.SAN", dir.c_str(), prefix.c_str());
- debug("Rebel2: Playing level %d end: %s", levelId, filename.c_str());
+ debugC(DEBUG_INSANE, "Rebel2: Playing level %d end: %s", levelId, filename.c_str());
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417327 adds | 8, so flags = 0x20 | 0x08 = 0x28
@@ -313,7 +313,7 @@ void InsaneRebel2::playLevelRetry(int levelId) {
Common::String prefix = getLevelPrefix(levelId);
Common::String filename = Common::String::format("%s/%sRETRY.SAN", dir.c_str(), prefix.c_str());
- debug("Rebel2: Playing level %d retry: %s", levelId, filename.c_str());
+ debugC(DEBUG_INSANE, "Rebel2: Playing level %d retry: %s", levelId, filename.c_str());
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417168 adds | 8, so flags = 0x20 | 0x08 = 0x28
@@ -334,7 +334,7 @@ void InsaneRebel2::playLevelGameOver(int levelId) {
Common::String prefix = getLevelPrefix(levelId);
Common::String filename = Common::String::format("%s/%sOVER.SAN", dir.c_str(), prefix.c_str());
- debug("Rebel2: Playing level %d game over: %s", levelId, filename.c_str());
+ debugC(DEBUG_INSANE, "Rebel2: Playing level %d game over: %s", levelId, filename.c_str());
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417ab2 adds | 8, so flags = 0x20 | 0x08 = 0x28
@@ -355,7 +355,7 @@ void InsaneRebel2::playLevelGameOver(int levelId) {
//
void InsaneRebel2::playEndingSequence() {
- debug("Rebel2: Playing ending sequence (difficulty=%d)", _difficulty);
+ debugC(DEBUG_INSANE, "Rebel2: Playing ending sequence (difficulty=%d)", _difficulty);
// Switch to gameplay state to stop menu overlay rendering
_gameState = kStateGameplay;
@@ -392,7 +392,7 @@ void InsaneRebel2::playEndingSequence() {
// This is the credits accessible from the main menu, NOT the ending credits.
void InsaneRebel2::playCreditsSequence() {
- debug("Rebel2: Playing menu credits");
+ debugC(DEBUG_INSANE, "Rebel2: Playing menu credits");
resetVideoAudio();
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
@@ -439,7 +439,7 @@ void InsaneRebel2::warpGameplayMouseNow(int x, int y) {
// runLevel -- Main level dispatcher, calls per-level handlers.
int InsaneRebel2::runLevel(int levelId) {
- debug("Rebel2: Starting level %d", levelId);
+ debugC(DEBUG_INSANE, "Rebel2: Starting level %d", levelId);
// Validate level ID
if (levelId < 1 || levelId > 15) {
@@ -755,7 +755,7 @@ void InsaneRebel2::playLevelDeathVariant(int levelId, int phase, int frame) {
filename = Common::String::format("%s/%sDIE_%s.SAN", dir.c_str(), prefix.c_str(), variant.c_str());
}
- debug("Rebel2: Playing death video: %s (phase=%d, frame=%d)", filename.c_str(), phase, frame);
+ debugC(DEBUG_INSANE, "Rebel2: Playing death video: %s (phase=%d, frame=%d)", filename.c_str(), phase, frame);
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417168 adds | 8, so flags = 0x20 | 0x08 = 0x28
@@ -784,7 +784,7 @@ void InsaneRebel2::playLevelRetryVariant(int levelId, int phase) {
filename = Common::String::format("%s/%sRETRY.SAN", dir.c_str(), prefix.c_str());
}
- debug("Rebel2: Playing retry video: %s (phase=%d)", filename.c_str(), phase);
+ debugC(DEBUG_INSANE, "Rebel2: Playing retry video: %s (phase=%d)", filename.c_str(), phase);
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417168 adds | 8, so flags = 0x20 | 0x08 = 0x28
diff --git a/engines/scumm/insane/rebel2/menu.cpp b/engines/scumm/insane/rebel2/menu.cpp
index 2a17e4d0e4f..e40c088534d 100644
--- a/engines/scumm/insane/rebel2/menu.cpp
+++ b/engines/scumm/insane/rebel2/menu.cpp
@@ -84,7 +84,7 @@ void InsaneRebel2::updateMenuVirtualKeyboard() {
// unlockAllChapters -- Debug mode unlock (FUN_00415CF8 lines 60-71, DAT_0047ab34=='d').
void InsaneRebel2::unlockAllChapters() {
- debug("Rebel2: Unlocking all chapters for testing");
+ debugC(DEBUG_INSANE, "Rebel2: Unlocking all chapters for testing");
for (int i = 0; i < 16; i++) {
_chapterUnlocked[i] = true;
_levelUnlocked[i] = true;
@@ -106,7 +106,7 @@ Common::String InsaneRebel2::getRandomMenuVideo() {
// Map 0-14 to A-O (case 0/default = A, 1 = B, etc.)
char letter = 'A' + variant;
- debug("Rebel2: Selected menu variant %c", letter);
+ debugC(DEBUG_INSANE, "Rebel2: Selected menu variant %c", letter);
return Common::String::format("OPEN/O_MENU_%c.SAN", letter);
}
@@ -145,7 +145,7 @@ int InsaneRebel2::processMenuInput() {
}
// Reset repeat delay counter (DAT_00459ce0)
_menuRepeatDelay = 3;
- debug("Menu: Selection changed to %d (UP)", _menuSelection);
+ debugC(DEBUG_INSANE, "Menu: Selection changed to %d (UP)", _menuSelection);
break;
case Common::KEYCODE_DOWN:
@@ -155,7 +155,7 @@ int InsaneRebel2::processMenuInput() {
_menuSelection = 0;
}
_menuRepeatDelay = 3;
- debug("Menu: Selection changed to %d (DOWN)", _menuSelection);
+ debugC(DEBUG_INSANE, "Menu: Selection changed to %d (DOWN)", _menuSelection);
break;
case Common::KEYCODE_RETURN:
@@ -163,14 +163,14 @@ int InsaneRebel2::processMenuInput() {
// Confirm selection - emulates key code 0x0d
if (_menuSelection >= 0 && _menuSelection < _menuItemCount) {
result = _menuSelection;
- debug("Menu: Item %d selected (ENTER)", _menuSelection);
+ debugC(DEBUG_INSANE, "Menu: Item %d selected (ENTER)", _menuSelection);
}
break;
case Common::KEYCODE_ESCAPE:
// Synthetic custom back action - quit/back (last item)
result = _menuItemCount - 1; // Select quit option
- debug("Menu: Back action - selecting quit (item %d)", result);
+ debugC(DEBUG_INSANE, "Menu: Back action - selecting quit (item %d)", result);
break;
default:
@@ -187,7 +187,7 @@ int InsaneRebel2::processMenuInput() {
if (event.mouse.y >= itemY - itemHitTop && event.mouse.y < itemY - itemHitTop + itemHitHeight) {
_menuSelection = i;
result = _menuSelection;
- debug("Menu: Item %d selected (mouse)", _menuSelection);
+ debugC(DEBUG_INSANE, "Menu: Item %d selected (mouse)", _menuSelection);
break;
}
}
@@ -202,7 +202,7 @@ int InsaneRebel2::processMenuInput() {
mouseY < itemY - itemHitTop + itemHitHeight - 3 * (highRes ? 2 : 1)) {
if (i != _menuSelection) {
_menuSelection = i;
- debug(5, "Menu: Hover selection changed to %d (mouseY=%d)", _menuSelection, mouseY);
+ debugC(DEBUG_INSANE, "Menu: Hover selection changed to %d (mouseY=%d)", _menuSelection, mouseY);
}
break;
}
@@ -453,7 +453,7 @@ void InsaneRebel2::drawMenuOverlay(byte *renderBitmap, int pitch, int width, int
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
if (!splayer) {
- debug(1, "drawMenuOverlay: SmushPlayer not available for TRS strings!");
+ debugC(DEBUG_INSANE, "drawMenuOverlay: SmushPlayer not available for TRS strings!");
return;
}
@@ -462,7 +462,7 @@ void InsaneRebel2::drawMenuOverlay(byte *renderBitmap, int pitch, int width, int
for (int i = 0; i < 8; i++) {
menuItems[i] = splayer->getString(10 + i);
if (!menuItems[i] || !menuItems[i][0]) {
- debug(1, "drawMenuOverlay: TRS string %d not found!", 10 + i);
+ debugC(DEBUG_INSANE, "drawMenuOverlay: TRS string %d not found!", 10 + i);
menuItems[i] = "";
}
}
@@ -595,7 +595,7 @@ void InsaneRebel2::showPauseOverlay() {
// Returns kMenuNewGame, kMenuResumeDemo, or kMenuQuit.
int InsaneRebel2::runMainMenu() {
- debug("Rebel2: Entering main menu");
+ debugC(DEBUG_INSANE, "Rebel2: Entering main menu");
resetMenu();
_gameState = kStateMainMenu;
@@ -617,7 +617,7 @@ int InsaneRebel2::runMainMenu() {
// Select and play a random menu video
Common::String menuVideo = getRandomMenuVideo();
- debug("Rebel2: Playing menu video: %s", menuVideo.c_str());
+ debugC(DEBUG_INSANE, "Rebel2: Playing menu video: %s", menuVideo.c_str());
// Set video flags for menu (0x20 = intro/menu flag)
// This tells procPostRendering we're in menu mode
@@ -635,7 +635,7 @@ int InsaneRebel2::runMainMenu() {
}
if (_menuInactivityTimedOut) {
- debug("Rebel2: Main menu inactivity - resuming intro/demo loop");
+ debugC(DEBUG_INSANE, "Rebel2: Main menu inactivity - resuming intro/demo loop");
_menuInactivityTimedOut = false;
_menuInputActive = false;
return kMenuResumeDemo;
@@ -652,7 +652,7 @@ int InsaneRebel2::runMainMenu() {
_menuSelectionConfirmed = false;
// A selection was made - process it
- debug("Rebel2: Menu video ended with selection=%d", _menuSelection);
+ debugC(DEBUG_INSANE, "Rebel2: Menu video ended with selection=%d", _menuSelection);
// Process the menu result based on current selection
// Menu items matching GAME.TRS indices 11-17 (FUN_004147B2):
@@ -665,34 +665,34 @@ int InsaneRebel2::runMainMenu() {
// case 6 (TRS 17): Return to Launcher -> quit, returns 0
switch (_menuSelection) {
case 0: // Start Game -> go to pilot selection
- debug("Rebel2: Start Game selected - going to pilot selection");
+ debugC(DEBUG_INSANE, "Rebel2: Start Game selected - going to pilot selection");
_gameState = kStatePilotSelect;
_menuInputActive = false;
return kMenuNewGame; // Return 2 (kMenuNewGame)
case 1: // Options -> show options menu (FUN_00416787)
- debug("Rebel2: Options selected");
+ debugC(DEBUG_INSANE, "Rebel2: Options selected");
showOptionsMenu();
break;
case 2: // Calibrate Joystick
- debug("Rebel2: Calibrate Joystick selected - no-op for modern joystick support");
+ debugC(DEBUG_INSANE, "Rebel2: Calibrate Joystick selected - no-op for modern joystick support");
// Modern controller support uses live keymapper actions; no explicit
// joystick calibration flow is required here.
break;
case 3: // Continue Intro -> return to intro/demo loop
- debug("Rebel2: Continue Intro selected - resuming intro/demo loop");
+ debugC(DEBUG_INSANE, "Rebel2: Continue Intro selected - resuming intro/demo loop");
_menuInputActive = false;
return kMenuResumeDemo;
case 4: // Show Top Pilots -> high score display (FUN_00420116(-1))
- debug("Rebel2: Show Top Pilots selected");
+ debugC(DEBUG_INSANE, "Rebel2: Show Top Pilots selected");
showTopPilots();
break;
case 5: // Show Credits -> play credits video
- debug("Rebel2: Show Credits selected - playing O_CREDIT.SAN");
+ debugC(DEBUG_INSANE, "Rebel2: Show Credits selected - playing O_CREDIT.SAN");
_gameState = kStateCredits;
_menuInputActive = false;
splayer->setCurVideoFlags(0x20);
@@ -703,12 +703,12 @@ int InsaneRebel2::runMainMenu() {
break;
case 6: // Return to Launcher -> quit game
- debug("Rebel2: Return to Launcher selected");
+ debugC(DEBUG_INSANE, "Rebel2: Return to Launcher selected");
_menuInputActive = false;
return kMenuQuit;
default:
- debug("Rebel2: Unknown menu selection %d", _menuSelection);
+ debugC(DEBUG_INSANE, "Rebel2: Unknown menu selection %d", _menuSelection);
break;
}
}
@@ -725,7 +725,7 @@ int InsaneRebel2::runMainMenu() {
// Returns kChapterSelectPlay, kChapterSelectBack, or kChapterSelectQuit.
int InsaneRebel2::runChapterSelect() {
- debug("Rebel2: Entering chapter selection (FUN_00415CF8)");
+ debugC(DEBUG_INSANE, "Rebel2: Entering chapter selection (FUN_00415CF8)");
// Enable menu input capture
_menuInputActive = true;
@@ -769,7 +769,7 @@ int InsaneRebel2::runChapterSelect() {
while (!_vm->shouldQuit()) {
_vm->_smushVideoShouldFinish = false;
- debug("Rebel2: Playing chapter select background: OPEN/O_LEVEL.SAN");
+ debugC(DEBUG_INSANE, "Rebel2: Playing chapter select background: OPEN/O_LEVEL.SAN");
// Flags: 0x20 (overlay/menu rendering) | 0x08 (preserve buffer, suppress
// AHDR speed override). Matches original FUN_0041f4d0 parameter 8.
@@ -795,12 +795,12 @@ int InsaneRebel2::runChapterSelect() {
_vm->_smushVideoShouldFinish = false;
_menuSelectionConfirmed = false;
- debug("Rebel2: Chapter selection made: %d", _chapterSelection);
+ debugC(DEBUG_INSANE, "Rebel2: Chapter selection made: %d", _chapterSelection);
// Process chapter selection (lines 134-236 of FUN_00415CF8)
if (_chapterSelection == 16) {
// BACK selected (index 16 = 17th item)
- debug("Rebel2: BACK to main menu selected");
+ debugC(DEBUG_INSANE, "Rebel2: BACK to main menu selected");
setVirtualKeyboardVisible(false);
_menuInputActive = false;
return kChapterSelectBack;
@@ -810,7 +810,7 @@ int InsaneRebel2::runChapterSelect() {
if (_chapterUnlocked[_chapterSelection]) {
// Unlocked chapter â play it
_selectedChapter = _chapterSelection;
- debug("Rebel2: Chapter %d selected (unlocked)", _selectedChapter + 1);
+ debugC(DEBUG_INSANE, "Rebel2: Chapter %d selected (unlocked)", _selectedChapter + 1);
setVirtualKeyboardVisible(false);
_menuInputActive = false;
return kChapterSelectPlay;
@@ -834,13 +834,13 @@ int InsaneRebel2::runChapterSelect() {
setBit(16 - _chapterSelection);
_passwordInput.clear();
updateMenuVirtualKeyboard();
- debug("Rebel2: Chapter %d unlocked via password", _chapterSelection + 1);
+ debugC(DEBUG_INSANE, "Rebel2: Chapter %d unlocked via password", _chapterSelection + 1);
continue; // Re-render with updated unlock state
}
}
// Wrong password or no password entered
_passwordInput.clear();
- debug("Rebel2: Password rejected for chapter %d", _chapterSelection + 1);
+ debugC(DEBUG_INSANE, "Rebel2: Password rejected for chapter %d", _chapterSelection + 1);
}
}
@@ -873,7 +873,7 @@ int InsaneRebel2::processChapterSelectInput() {
// Update preview offset (FUN_00425170: Y = selected * -50 + 75)
_previewOffsetY = _chapterSelection * -50 + 75;
updateMenuVirtualKeyboard();
- debug("ChapterSelect: Selection changed to %d (UP) offsetY=%d", _chapterSelection, _previewOffsetY);
+ debugC(DEBUG_INSANE, "ChapterSelect: Selection changed to %d (UP) offsetY=%d", _chapterSelection, _previewOffsetY);
break;
case Common::KEYCODE_DOWN:
@@ -886,14 +886,14 @@ int InsaneRebel2::processChapterSelectInput() {
// Update preview offset (FUN_00425170: Y = selected * -50 + 75)
_previewOffsetY = _chapterSelection * -50 + 75;
updateMenuVirtualKeyboard();
- debug("ChapterSelect: Selection changed to %d (DOWN) offsetY=%d", _chapterSelection, _previewOffsetY);
+ debugC(DEBUG_INSANE, "ChapterSelect: Selection changed to %d (DOWN) offsetY=%d", _chapterSelection, _previewOffsetY);
break;
case Common::KEYCODE_RETURN:
case Common::KEYCODE_KP_ENTER:
if (_chapterSelection >= 0 && _chapterSelection < _chapterItemCount) {
result = _chapterSelection;
- debug("ChapterSelect: Item %d selected (ENTER)", _chapterSelection);
+ debugC(DEBUG_INSANE, "ChapterSelect: Item %d selected (ENTER)", _chapterSelection);
}
break;
@@ -901,14 +901,14 @@ int InsaneRebel2::processChapterSelectInput() {
// Synthetic custom back action (same as selecting BACK)
setVirtualKeyboardVisible(false);
result = 16; // BACK index
- debug("ChapterSelect: Back action - back to menu");
+ debugC(DEBUG_INSANE, "ChapterSelect: Back action - back to menu");
break;
case Common::KEYCODE_BACKSPACE:
// Backspace for password input (line 107-112 of FUN_00415CF8)
if (!_passwordInput.empty()) {
_passwordInput.deleteLastChar();
- debug("ChapterSelect: Password backspace, now: %s", _passwordInput.c_str());
+ debugC(DEBUG_INSANE, "ChapterSelect: Password backspace, now: %s", _passwordInput.c_str());
}
break;
@@ -917,7 +917,7 @@ int InsaneRebel2::processChapterSelectInput() {
if (event.kbd.ascii >= 0x20 && event.kbd.ascii <= 0x7E) {
if (_passwordInput.size() < 8) {
_passwordInput += (char)event.kbd.ascii;
- debug("ChapterSelect: Password input: %s", _passwordInput.c_str());
+ debugC(DEBUG_INSANE, "ChapterSelect: Password input: %s", _passwordInput.c_str());
}
}
break;
@@ -940,7 +940,7 @@ int InsaneRebel2::processChapterSelectInput() {
_previewOffsetY = _chapterSelection * -50 + 75;
updateMenuVirtualKeyboard();
result = _chapterSelection;
- debug("ChapterSelect: Item %d selected (mouse)", _chapterSelection);
+ debugC(DEBUG_INSANE, "ChapterSelect: Item %d selected (mouse)", _chapterSelection);
break;
}
}
@@ -966,7 +966,7 @@ int InsaneRebel2::processChapterSelectInput() {
_chapterSelection = i;
_previewOffsetY = _chapterSelection * -50 + 75;
updateMenuVirtualKeyboard();
- debug(5, "ChapterSelect: Hover changed to %d", _chapterSelection);
+ debugC(DEBUG_INSANE, "ChapterSelect: Hover changed to %d", _chapterSelection);
}
break;
}
@@ -1222,7 +1222,7 @@ void InsaneRebel2::drawChapterSelectOverlay(byte *renderBitmap, int pitch, int w
// Returns kLevelSelectPlay, kLevelSelectBack, or kLevelSelectQuit.
int InsaneRebel2::runLevelSelect() {
- debug("Rebel2: Entering pilot selection (FUN_00414A41), %d pilots loaded", _numPilots);
+ debugC(DEBUG_INSANE, "Rebel2: Entering pilot selection (FUN_00414A41), %d pilots loaded", _numPilots);
_menuInputActive = true;
while (!_menuEventQueue.empty())
@@ -1303,7 +1303,7 @@ int InsaneRebel2::runLevelSelect() {
copyPilot(pilotIndex);
savePilots();
_levelSelection = pilotIndex;
- debug("Rebel2: Copied pilot %d, now %d pilots", pilotIndex, _numPilots);
+ debugC(DEBUG_INSANE, "Rebel2: Copied pilot %d, now %d pilots", pilotIndex, _numPilots);
} else {
deletePilot(pilotIndex);
savePilots();
@@ -1312,7 +1312,7 @@ int InsaneRebel2::runLevelSelect() {
} else {
_levelSelection = 0;
}
- debug("Rebel2: Deleted pilot %d, %d remaining", pilotIndex, _numPilots);
+ debugC(DEBUG_INSANE, "Rebel2: Deleted pilot %d, %d remaining", pilotIndex, _numPilots);
}
}
_pilotMenuMode = kPilotModeSelect;
@@ -1322,7 +1322,7 @@ int InsaneRebel2::runLevelSelect() {
}
// --- Normal pilot menu selection ---
- debug("Rebel2: Pilot selection: %d (numPilots=%d)", _levelSelection, _numPilots);
+ debugC(DEBUG_INSANE, "Rebel2: Pilot selection: %d (numPilots=%d)", _levelSelection, _numPilots);
if (_levelSelection < _numPilots) {
// Existing pilot selected â activate and go to chapter select
@@ -1334,7 +1334,7 @@ int InsaneRebel2::runLevelSelect() {
_chapterUnlocked[i] = _debugUnlockAll || (_pilots[_activePilot].damage[i] < 0xFF);
}
- debug("Rebel2: Pilot '%s' selected (slot %d, difficulty %d)",
+ debugC(DEBUG_INSANE, "Rebel2: Pilot '%s' selected (slot %d, difficulty %d)",
_pilots[_activePilot].name, _activePilot, _difficulty);
setVirtualKeyboardVisible(false);
_menuInputActive = false;
@@ -1349,7 +1349,7 @@ int InsaneRebel2::runLevelSelect() {
_pilotMenuMode = kPilotModeNameInput;
_levelItemCount = _numPilots + 4;
updateMenuVirtualKeyboard();
- debug("Rebel2: NEW PILOT - entering name for slot %d", newIdx);
+ debugC(DEBUG_INSANE, "Rebel2: NEW PILOT - entering name for slot %d", newIdx);
}
continue;
@@ -1359,7 +1359,7 @@ int InsaneRebel2::runLevelSelect() {
_pilotMenuMode = kPilotModeCopySelect;
_levelSelection = 0;
_levelItemCount = _numPilots;
- debug("Rebel2: COPY PILOT - selecting source");
+ debugC(DEBUG_INSANE, "Rebel2: COPY PILOT - selecting source");
}
continue;
@@ -1369,7 +1369,7 @@ int InsaneRebel2::runLevelSelect() {
_pilotMenuMode = kPilotModeDeleteSelect;
_levelSelection = 0;
_levelItemCount = _numPilots;
- debug("Rebel2: DELETE PILOT - selecting target");
+ debugC(DEBUG_INSANE, "Rebel2: DELETE PILOT - selecting target");
}
continue;
@@ -1406,7 +1406,7 @@ int InsaneRebel2::processLevelSelectInput() {
setVirtualKeyboardVisible(false);
_menuSelectionConfirmed = true;
_vm->_smushVideoShouldFinish = true;
- debug("PilotName: confirmed '%s'", _pilotNameInput.c_str());
+ debugC(DEBUG_INSANE, "PilotName: confirmed '%s'", _pilotNameInput.c_str());
}
} else if (event.kbd.keycode == Common::KEYCODE_ESCAPE) {
// Synthetic custom back action - cancel name entry
@@ -1416,7 +1416,7 @@ int InsaneRebel2::processLevelSelectInput() {
_pilotMenuMode = kPilotModeSelect;
_levelItemCount = _numPilots + 4;
updateMenuVirtualKeyboard();
- debug("PilotName: cancelled");
+ debugC(DEBUG_INSANE, "PilotName: cancelled");
} else if (event.kbd.keycode == Common::KEYCODE_BACKSPACE) {
// Backspace â remove last character
if (_pilotNameInput.size() > 0) {
@@ -1561,7 +1561,7 @@ void InsaneRebel2::drawLevelSelectOverlay(byte *renderBitmap, int pitch, int wid
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
if (!splayer) {
- debug(1, "drawLevelSelectOverlay: SmushPlayer not available for TRS strings!");
+ debugC(DEBUG_INSANE, "drawLevelSelectOverlay: SmushPlayer not available for TRS strings!");
return;
}
@@ -1731,7 +1731,7 @@ void InsaneRebel2::insertRanking(const char *name, int32 score, int32 rating,
}
void InsaneRebel2::showTopPilots() {
- debug("Rebel2: Showing Top Pilots screen (FUN_00420116)");
+ debugC(DEBUG_INSANE, "Rebel2: Showing Top Pilots screen (FUN_00420116)");
_menuInputActive = true;
while (!_menuEventQueue.empty())
@@ -1754,7 +1754,7 @@ void InsaneRebel2::showTopPilots() {
_gameState = kStateMainMenu;
_menuInputActive = true;
- debug("Rebel2: Top Pilots screen finished");
+ debugC(DEBUG_INSANE, "Rebel2: Top Pilots screen finished");
}
void InsaneRebel2::drawTopPilotsOverlay(byte *renderBitmap, int pitch, int width, int height) {
@@ -1838,7 +1838,7 @@ void InsaneRebel2::drawTopPilotsOverlay(byte *renderBitmap, int pitch, int width
// showOptionsMenu -- Options menu loop (FUN_00416787).
void InsaneRebel2::showOptionsMenu() {
- debug("Rebel2: Showing Options menu (FUN_00416787)");
+ debugC(DEBUG_INSANE, "Rebel2: Showing Options menu (FUN_00416787)");
_menuInputActive = true;
while (!_menuEventQueue.empty())
@@ -1864,7 +1864,7 @@ void InsaneRebel2::showOptionsMenu() {
_gameState = kStateMainMenu;
_menuInputActive = true;
- debug("Rebel2: Options menu finished");
+ debugC(DEBUG_INSANE, "Rebel2: Options menu finished");
}
int InsaneRebel2::processOptionsInput() {
diff --git a/engines/scumm/insane/rebel2/rebel.cpp b/engines/scumm/insane/rebel2/rebel.cpp
index 25c7d9f7a23..3b98f147377 100644
--- a/engines/scumm/insane/rebel2/rebel.cpp
+++ b/engines/scumm/insane/rebel2/rebel.cpp
@@ -689,7 +689,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
// Retail DAT_0047ab60: Yoda-mode Movie Mode skips playable
// sections and keeps the story/cutscene sequence moving.
_rebelMovieMode = !_rebelMovieMode;
- debug("Rebel2: Movie mode %s", _rebelMovieMode ? "enabled" : "disabled");
+ debugC(DEBUG_INSANE, "Rebel2: Movie mode %s", _rebelMovieMode ? "enabled" : "disabled");
if (_rebelMovieMode && splayer && _gameState == kStateGameplay && _rebelHandler != 0)
_vm->_smushVideoShouldFinish = true;
return true;
@@ -698,7 +698,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
// Retail DAT_0047ab64: Yoda-mode Auto Play makes gameplay
// computer controlled.
_rebelAutoPlay = !_rebelAutoPlay;
- debug("Rebel2: Auto play %s", _rebelAutoPlay ? "enabled" : "disabled");
+ debugC(DEBUG_INSANE, "Rebel2: Auto play %s", _rebelAutoPlay ? "enabled" : "disabled");
return true;
default:
@@ -901,11 +901,11 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
}
if (_gameState == kStateGameplay && _rebelHandler != 0) {
- debug("Rebel2: Skip/back action ignored during gameplay");
+ debugC(DEBUG_INSANE, "Rebel2: Skip/back action ignored during gameplay");
return true;
}
- debug("Rebel2: Skip/back action - skipping video");
+ debugC(DEBUG_INSANE, "Rebel2: Skip/back action - skipping video");
_vm->_smushVideoShouldFinish = true;
return true;
}
@@ -915,7 +915,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
return true;
if (_menuInputActive && menuState) {
- debug("Rebel2: Back/menu action in menu - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "Rebel2: Back/menu action in menu - opening ScummVM menu");
openMenuMainMenu(splayer);
return true;
}
@@ -924,23 +924,23 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
if (_lastGameplayMenuCloseTime != 0) {
const uint32 elapsedSinceMenuClose = _vm->_system->getMillis() - _lastGameplayMenuCloseTime;
if (elapsedSinceMenuClose < 500) {
- debug("Rebel2: Ignoring repeated gameplay menu action (%u ms)", elapsedSinceMenuClose);
+ debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated gameplay menu action (%u ms)", elapsedSinceMenuClose);
return true;
}
}
- debug("Rebel2: Back/menu action during gameplay - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "Rebel2: Back/menu action during gameplay - opening ScummVM menu");
openGameplayMainMenu(splayer);
return true;
}
- debug("Rebel2: Back/menu action - skipping video");
+ debugC(DEBUG_INSANE, "Rebel2: Back/menu action - skipping video");
_vm->_smushVideoShouldFinish = true;
return true;
}
if (pressed && splayer && splayer->_paused && _gameState == kStateGameplay) {
- debug("Rebel2: Joystick action while paused - unpausing");
+ debugC(DEBUG_INSANE, "Rebel2: Joystick action while paused - unpausing");
if (_pauseOverlayActive) {
_vm->_system->getPaletteManager()->setPalette(_savedPausePalette, 0, 256);
_pauseOverlayActive = false;
@@ -1032,11 +1032,11 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
(event.type == Common::EVENT_MAINMENU ||
(event.type == Common::EVENT_KEYDOWN && event.kbd.keycode == Common::KEYCODE_ESCAPE))) {
if (event.type == Common::EVENT_KEYDOWN && event.kbdRepeat) {
- debug("Rebel2: Ignoring repeated ESC keydown in menu");
+ debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated ESC keydown in menu");
return true;
}
- debug("Rebel2: Opening ScummVM menu from menu state");
+ debugC(DEBUG_INSANE, "Rebel2: Opening ScummVM menu from menu state");
openMenuMainMenu(splayer);
return true;
}
@@ -1051,14 +1051,14 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
if (gameplayMenuTrigger && _gameState == kStateGameplay && _lastGameplayMenuCloseTime != 0) {
const uint32 elapsedSinceMenuClose = _vm->_system->getMillis() - _lastGameplayMenuCloseTime;
if (elapsedSinceMenuClose < 500) {
- debug("Rebel2: Ignoring repeated gameplay menu trigger (%u ms)", elapsedSinceMenuClose);
+ debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated gameplay menu trigger (%u ms)", elapsedSinceMenuClose);
return true;
}
}
if (event.type == Common::EVENT_MAINMENU && splayer &&
_gameState == kStateGameplay && _rebelHandler != 0) {
- debug("Rebel2: Main menu action during gameplay - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "Rebel2: Main menu action during gameplay - opening ScummVM menu");
openGameplayMainMenu(splayer);
return true;
}
@@ -1068,7 +1068,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
// leaving the key repeat source to synthesize another ESC immediately after
// returning to gameplay. Treat repeats as part of the original press.
if (event.kbd.keycode == Common::KEYCODE_ESCAPE && event.kbdRepeat) {
- debug("Rebel2: Ignoring repeated ESC keydown");
+ debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated ESC keydown");
return true;
}
if (_menuInputActive && event.kbdRepeat &&
@@ -1076,14 +1076,14 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
event.kbd.keycode == Common::KEYCODE_DOWN ||
event.kbd.keycode == Common::KEYCODE_LEFT ||
event.kbd.keycode == Common::KEYCODE_RIGHT)) {
- debug("Rebel2: Ignoring repeated menu direction keydown");
+ debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated menu direction keydown");
return true;
}
// When paused during gameplay, ANY key unpauses (FUN_405A21 line 360-365).
// ESC additionally opens the ScummVM menu (original: quit key exits level).
if (splayer && splayer->_paused && _gameState == kStateGameplay) {
- debug("Rebel2: Key pressed while paused - unpausing");
+ debugC(DEBUG_INSANE, "Rebel2: Key pressed while paused - unpausing");
// Restore the original palette saved by showPauseOverlay
if (_pauseOverlayActive) {
_vm->_system->getPaletteManager()->setPalette(_savedPausePalette, 0, 256);
@@ -1091,7 +1091,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
}
splayer->unpause();
if (event.kbd.keycode == Common::KEYCODE_ESCAPE && _rebelHandler != 0) {
- debug("Rebel2: ESC during pause - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "Rebel2: ESC during pause - opening ScummVM menu");
openGameplayMainMenu(splayer);
}
return true;
@@ -1106,11 +1106,11 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
if (splayer) {
if (_gameState == kStateGameplay && _rebelHandler != 0) {
// During active gameplay (handler != 0): pause and open ScummVM menu.
- debug("Rebel2: ESC pressed during gameplay - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "Rebel2: ESC pressed during gameplay - opening ScummVM menu");
openGameplayMainMenu(splayer);
} else {
// During cutscenes/intros/mission briefings: skip video
- debug("Rebel2: ESC pressed - skipping video");
+ debugC(DEBUG_INSANE, "Rebel2: ESC pressed - skipping video");
_vm->_smushVideoShouldFinish = true;
}
return true; // Consume the event
@@ -1121,7 +1121,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
// SPACE pauses during gameplay (FUN_405A21).
// Unpausing is handled above (any key while paused).
if (splayer && _gameState == kStateGameplay && !splayer->_paused) {
- debug("Rebel2: SPACE pressed - pausing");
+ debugC(DEBUG_INSANE, "Rebel2: SPACE pressed - pausing");
splayer->pause();
showPauseOverlay();
return true;
@@ -1135,7 +1135,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
_rebelHandler != 0 &&
event.kbd.hasFlags(Common::KBD_SHIFT)) {
_skipSectionRequested = true;
- debug("Rebel2: Shift+S pressed - requesting gameplay section skip");
+ debugC(DEBUG_INSANE, "Rebel2: Shift+S pressed - requesting gameplay section skip");
_vm->_smushVideoShouldFinish = true;
return true; // Consume the event
}
@@ -1150,10 +1150,10 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
if (!_noDamage) {
_playerDamage = 255;
_playerShield = 0;
- debug("Rebel2: Shift+D pressed - forcing player death");
+ debugC(DEBUG_INSANE, "Rebel2: Shift+D pressed - forcing player death");
_vm->_smushVideoShouldFinish = true;
} else {
- debug("Rebel2: Shift+D pressed - no damage mode prevents forced death");
+ debugC(DEBUG_INSANE, "Rebel2: Shift+D pressed - no damage mode prevents forced death");
}
return true; // Consume the event
}
@@ -1385,13 +1385,13 @@ void InsaneRebel2::addScore(int points) {
// Award bonus life
_playerLives++;
// TODO: Play bonus life sound (FUN_0041189e(5, 0, 0x7f, 0, 0))
- debug("Rebel2: BONUS LIFE! Score crossed %d threshold. Lives=%d", threshold, _playerLives);
+ debugC(DEBUG_INSANE, "Rebel2: BONUS LIFE! Score crossed %d threshold. Lives=%d", threshold, _playerLives);
}
}
// Add points to score
_playerScore += points;
- debug("Rebel2: Score +%d = %d", points, _playerScore);
+ debugC(DEBUG_INSANE, "Rebel2: Score +%d = %d", points, _playerScore);
}
// Render score text to HUD (part of FUN_0041c012)
@@ -1478,7 +1478,7 @@ bool InsaneRebel2::loadPilots() {
_numPilots = i + 1;
}
- debug("Rebel2: Loaded %d pilot(s)", _numPilots);
+ debugC(DEBUG_INSANE, "Rebel2: Loaded %d pilot(s)", _numPilots);
return _numPilots > 0;
}
@@ -1520,7 +1520,7 @@ bool InsaneRebel2::savePilots() {
_vm->_saveFileMan->removeSavefile(filename);
}
- debug("Rebel2: Saved %d pilot(s)", _numPilots);
+ debugC(DEBUG_INSANE, "Rebel2: Saved %d pilot(s)", _numPilots);
return ok;
}
@@ -1671,7 +1671,7 @@ int32 InsaneRebel2::processMouse() {
mousePos = getGameplayAimPoint();
}
Common::Point gameplayAim = getGameplayAimPoint();
- debug("Rebel2 Click: Mouse=(%d,%d) Target=(%d,%d) Enemies=%d",
+ debugC(DEBUG_INSANE, "Rebel2 Click: Mouse=(%d,%d) Target=(%d,%d) Enemies=%d",
gameplayAim.x, gameplayAim.y, mousePos.x, mousePos.y, _enemies.size());
// Spawn visual shot immediately
@@ -1690,7 +1690,7 @@ int32 InsaneRebel2::processMouse() {
// Check for hit on any active enemy
Common::List<enemy>::iterator it;
for (it = _enemies.begin(); it != _enemies.end(); ++it) {
- debug(" Enemy ID=%d active=%d destroyed=%d rect=(%d,%d)-(%d,%d) contains=%d",
+ debugC(DEBUG_INSANE, " Enemy ID=%d active=%d destroyed=%d rect=(%d,%d)-(%d,%d) contains=%d",
it->id, it->active, it->destroyed,
it->rect.left, it->rect.top, it->rect.right, it->rect.bottom,
it->rect.contains(worldMousePos));
@@ -1699,7 +1699,7 @@ int32 InsaneRebel2::processMouse() {
// Enemy hit!
it->active = false;
it->destroyed = true; // Mark as destroyed so IACT won't re-activate
- debug("Rebel2: HIT enemy ID=%d type=%d at (%d,%d) - Rect: (%d,%d)-(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2: HIT enemy ID=%d type=%d at (%d,%d) - Rect: (%d,%d)-(%d,%d)",
it->id, it->type, mousePos.x, mousePos.y,
it->rect.left, it->rect.top, it->rect.right, it->rect.bottom);
@@ -1749,7 +1749,7 @@ int32 InsaneRebel2::processMouse() {
// This tracks which enemy GROUPS have been killed in this wave
if (it->type > 0 && it->type < 32) {
_rebelWaveState |= (1 << it->type);
- debug("Rebel2: Wave state updated: 0x%x (set bit %d)", _rebelWaveState, it->type);
+ debugC(DEBUG_INSANE, "Rebel2: Wave state updated: 0x%x (set bit %d)", _rebelWaveState, it->type);
}
// Increment kill counter (DAT_0047ab88)
@@ -1766,17 +1766,17 @@ int32 InsaneRebel2::processMouse() {
// Slot 2: Enable (Explosion?)
if (_rebelLinks[id][2] != 0) {
clearBit(_rebelLinks[id][2]);
- debug("Rebel2: Enabled dependency Slot 2 (ID=%d) for Parent %d", _rebelLinks[id][2], id);
+ debugC(DEBUG_INSANE, "Rebel2: Enabled dependency Slot 2 (ID=%d) for Parent %d", _rebelLinks[id][2], id);
}
// Slot 1: Enable (Explosion?)
if (_rebelLinks[id][1] != 0) {
clearBit(_rebelLinks[id][1]);
- debug("Rebel2: Enabled dependency Slot 1 (ID=%d) for Parent %d", _rebelLinks[id][1], id);
+ debugC(DEBUG_INSANE, "Rebel2: Enabled dependency Slot 1 (ID=%d) for Parent %d", _rebelLinks[id][1], id);
}
// Slot 0: Disable (Shots?)
if (_rebelLinks[id][0] != 0) {
setBit(_rebelLinks[id][0]);
- debug("Rebel2: Disabled dependency Slot 0 (ID=%d) for Parent %d", _rebelLinks[id][0], id);
+ debugC(DEBUG_INSANE, "Rebel2: Disabled dependency Slot 0 (ID=%d) for Parent %d", _rebelLinks[id][0], id);
}
}
@@ -2061,7 +2061,7 @@ void InsaneRebel2::procSKIP(int32 subSize, Common::SeekableReadStream &b) {
if (bit1) {
_player->_skipNext = true;
}
- debug("Rebel2 SKIP: single ID=%d bit=%d skip=%d frame=%d", par1, bit1 ? 1 : 0, _player->_skipNext ? 1 : 0, _player->_frame);
+ debugC(DEBUG_INSANE, "Rebel2 SKIP: single ID=%d bit=%d skip=%d frame=%d", par1, bit1 ? 1 : 0, _player->_skipNext ? 1 : 0, _player->_frame);
} else {
// Dual ID mode: skip if bits are different (XOR logic)
bool bit1 = isBitSet(par1);
@@ -2069,7 +2069,7 @@ void InsaneRebel2::procSKIP(int32 subSize, Common::SeekableReadStream &b) {
if (bit1 != bit2) {
_player->_skipNext = true;
}
- debug("Rebel2 SKIP: dual ID1=%d(bit=%d) ID2=%d(bit=%d) skip=%d frame=%d", par1, bit1 ? 1 : 0, par2, bit2 ? 1 : 0, _player->_skipNext ? 1 : 0, _player->_frame);
+ debugC(DEBUG_INSANE, "Rebel2 SKIP: dual ID1=%d(bit=%d) ID2=%d(bit=%d) skip=%d frame=%d", par1, bit1 ? 1 : 0, par2, bit2 ? 1 : 0, _player->_skipNext ? 1 : 0, _player->_frame);
}
}
diff --git a/engines/scumm/insane/rebel2/render.cpp b/engines/scumm/insane/rebel2/render.cpp
index 31088a4d446..a33ef1aa849 100644
--- a/engines/scumm/insane/rebel2/render.cpp
+++ b/engines/scumm/insane/rebel2/render.cpp
@@ -168,7 +168,7 @@ static bool readEmbeddedSanChunkHeader(Common::SeekableReadStream &stream, int64
const int64 dataStart = stream.pos();
if ((int64)chunkSize > containerEnd - dataStart) {
- debug("Rebel2: Truncated embedded SAN %s chunk 0x%08X at %lld: size=%u, remaining=%lld",
+ debugC(DEBUG_INSANE, "Rebel2: Truncated embedded SAN %s chunk 0x%08X at %lld: size=%u, remaining=%lld",
context, tag, headerPos, chunkSize, containerEnd - dataStart);
return false;
}
@@ -204,12 +204,12 @@ void InsaneRebel2::renderEmbeddedFrame(byte *renderBitmap, const EmbeddedSanFram
}
if (_rebelHandler == 0x19 && (userId == 6 || userId == 7)) {
skipImmediateDraw = false;
- debug("Rebel2: Handler 25 static overlay userId=%d - forcing immediate draw", userId);
+ debugC(DEBUG_INSANE, "Rebel2: Handler 25 static overlay userId=%d - forcing immediate draw", userId);
}
if (!frame.valid || !renderBitmap || skipImmediateDraw) {
if (skipImmediateDraw && frame.valid) {
- debug("Rebel2: Skipped immediate draw for Handler %d HUD %d (will render during post-processing)",
+ debugC(DEBUG_INSANE, "Rebel2: Skipped immediate draw for Handler %d HUD %d (will render during post-processing)",
_rebelHandler, userId);
}
return;
@@ -220,7 +220,7 @@ void InsaneRebel2::renderEmbeddedFrame(byte *renderBitmap, const EmbeddedSanFram
blitEmbeddedFrameRegion(renderBitmap, pitch, pitch, bufHeight, frame,
frame.renderX, frame.renderY, 0, 0, frame.width, frame.height);
- debug("Rebel2: Rendered embedded HUD %d at (%d,%d)", userId, frame.renderX, frame.renderY);
+ debugC(DEBUG_INSANE, "Rebel2: Rendered embedded HUD %d at (%d,%d)", userId, frame.renderX, frame.renderY);
}
void InsaneRebel2::drawHandler25CorridorOverlay(byte *renderBitmap) {
@@ -269,7 +269,7 @@ void InsaneRebel2::drawHandler25CorridorOverlay(byte *renderBitmap) {
drawWidth);
}
- debug("Rebel2 Handler25: Corridor overlay drawn at (%d,%d) size(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Handler25: Corridor overlay drawn at (%d,%d) size(%d,%d)",
_rebelViewOffsetX, _rebelViewOffsetY, corridorOverlay.width, corridorOverlay.height);
}
@@ -282,7 +282,7 @@ void InsaneRebel2::drawHandler25CorridorOverlay(byte *renderBitmap) {
void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte *renderBitmap) {
// Validate userId - Level 3 uses slots 0-11, allow up to 15 for safety
if (userId < 0 || userId > 15 || !animData || size < 8) {
- debug("Rebel2: Invalid embedded SAN: userId=%d, size=%d", userId, size);
+ debugC(DEBUG_INSANE, "Rebel2: Invalid embedded SAN: userId=%d, size=%d", userId, size);
return;
}
@@ -292,7 +292,7 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
// Read ANIM header
uint32 animTag = stream.readUint32BE();
if (animTag != MKTAG('A','N','I','M')) {
- debug("Rebel2: Embedded SAN missing ANIM tag, got 0x%08X", animTag);
+ debugC(DEBUG_INSANE, "Rebel2: Embedded SAN missing ANIM tag, got 0x%08X", animTag);
return;
}
uint32 animSize = stream.readUint32BE();
@@ -300,9 +300,9 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
if ((int64)animSize <= streamEnd - 8) {
animEnd = 8 + (int64)animSize;
} else {
- debug("Rebel2: Embedded ANIM truncated: reported size=%u, actual=%lld", animSize, streamEnd - 8);
+ debugC(DEBUG_INSANE, "Rebel2: Embedded ANIM truncated: reported size=%u, actual=%lld", animSize, streamEnd - 8);
}
- debug("Rebel2: Parsing embedded ANIM: userId=%d, reported size=%u, actual=%lld", userId, animSize, streamEnd - 8);
+ debugC(DEBUG_INSANE, "Rebel2: Parsing embedded ANIM: userId=%d, reported size=%u, actual=%lld", userId, animSize, streamEnd - 8);
// Iterate through chunks to find FRME -> FOBJ
while (!stream.eos() && stream.pos() + 8 <= animEnd) {
@@ -325,7 +325,7 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
if (subTag == MKTAG('F','O','B','J')) {
if (subSize < 14) {
- debug("Rebel2: Embedded FOBJ too small: userId=%d, size=%u", userId, subSize);
+ debugC(DEBUG_INSANE, "Rebel2: Embedded FOBJ too small: userId=%d, size=%u", userId, subSize);
stream.seek(nextSubPos);
continue;
}
@@ -339,13 +339,13 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
stream.readUint16LE(); // unknown
stream.readUint16LE(); // unknown
- debug("Rebel2: Embedded HUD frame: userId=%d, %dx%d at (%d,%d), codec=%d",
+ debugC(DEBUG_INSANE, "Rebel2: Embedded HUD frame: userId=%d, %dx%d at (%d,%d), codec=%d",
userId, width, height, left, top, codec);
// High-resolution HUD frames are used when the RA2 high-res option
// selects a 640x400 virtual screen. Keep skipping them in low-res mode.
if (!isHiRes() && (width > 400 || height > 250)) {
- debug("Rebel2: SKIPPING high-res embedded frame: userId=%d, %dx%d (exceeds 400x250)",
+ debugC(DEBUG_INSANE, "Rebel2: SKIPPING high-res embedded frame: userId=%d, %dx%d (exceeds 400x250)",
userId, width, height);
stream.seek(nextSubPos);
continue;
@@ -383,7 +383,7 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
}
uint32 bytesRead = stream.read(fobjData, dataSize);
if (bytesRead != (uint32)dataSize) {
- debug("Rebel2: Short embedded FOBJ read: got %u of %d bytes", bytesRead, dataSize);
+ debugC(DEBUG_INSANE, "Rebel2: Short embedded FOBJ read: got %u of %d bytes", bytesRead, dataSize);
free(fobjData);
return;
}
@@ -393,17 +393,17 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
// Codec 1/3: RLE - use existing decoder (FUN_0042C590)
smushDecodeRLE(frame.pixels, fobjData, 0, 0, width, height, width);
frame.valid = true;
- debug("Rebel2: Decoded embedded HUD (codec %d/RLE): %dx%d", codec, width, height);
+ debugC(DEBUG_INSANE, "Rebel2: Decoded embedded HUD (codec %d/RLE): %dx%d", codec, width, height);
} else if (codec == 20) {
// Codec 20: Uncompressed (FUN_0042C400)
smushDecodeUncompressed(frame.pixels, fobjData, 0, 0, width, height, width);
frame.valid = true;
- debug("Rebel2: Decoded embedded HUD (codec 20/raw): %dx%d", width, height);
+ debugC(DEBUG_INSANE, "Rebel2: Decoded embedded HUD (codec 20/raw): %dx%d", width, height);
} else if (codec == 21 || codec == 44) {
// Codec 21/44: Line update (FUN_0042BD60)
smushDecodeLineUpdate(frame.pixels, fobjData, 0, 0, width, height, width, dataSize);
frame.valid = true;
- debug("Rebel2: Decoded embedded HUD (codec %d/line update): %dx%d", codec, width, height);
+ debugC(DEBUG_INSANE, "Rebel2: Decoded embedded HUD (codec %d/line update): %dx%d", codec, width, height);
} else if (codec == 45) {
// Codec 45: blur/wipe mask (FUN_0042B460 -> FUN_0042B530 -> FUN_0042DDF0)
smushDecodeRA2Blur(frame.pixels, fobjData, 0, 0, width, height, width, dataSize,
@@ -413,16 +413,16 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
// Codec 23: Skip/copy with embedded RLE (FUN_0042BBF0)
smushDecodeSkipRLE(frame.pixels, fobjData, 0, 0, width, height, width, dataSize);
frame.valid = true;
- debug("Rebel2: Decoded embedded HUD (codec 23/skip-RLE): %dx%d", width, height);
+ debugC(DEBUG_INSANE, "Rebel2: Decoded embedded HUD (codec 23/skip-RLE): %dx%d", width, height);
} else {
- debug("Rebel2: Unsupported embedded HUD codec %d", codec);
+ debugC(DEBUG_INSANE, "Rebel2: Unsupported embedded HUD codec %d", codec);
frame.valid = false;
}
// Count non-zero pixels to verify frame has content
if (frame.valid) {
int nonZeroPixels = countEmbeddedFramePixels(frame);
- debug("Rebel2: Frame userId=%d has %d non-zero pixels (%d%%)",
+ debugC(DEBUG_INSANE, "Rebel2: Frame userId=%d has %d non-zero pixels (%d%%)",
userId, nonZeroPixels, (nonZeroPixels * 100) / (width * height));
}
@@ -447,7 +447,7 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
}
}
- debug("Rebel2: No FOBJ found in embedded SAN userId=%d", userId);
+ debugC(DEBUG_INSANE, "Rebel2: No FOBJ found in embedded SAN userId=%d", userId);
}
// Spawn explosion into the shared 5-slot system.
@@ -611,7 +611,7 @@ void InsaneRebel2::spawnHandler25Shot(int x, int y) {
_turretShots[i].gunY = _rebelViewOffset2Y + 140 + _viewY;
}
- debug("Rebel2 Handler25: Spawned shot %d target (%d,%d) gun (%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 Handler25: Spawned shot %d target (%d,%d) gun (%d,%d)",
i, _turretShots[i].targetX, _turretShots[i].targetY,
_turretShots[i].gunX, _turretShots[i].gunY);
break;
@@ -1147,7 +1147,7 @@ void InsaneRebel2::initLaserTexture(NutRenderer *nut, int spriteIdx) {
}
}
- debug("Rebel2: Initialized laser texture %dx%d from sprite %d (xoff=%d yoff=%d src=%dx%d)",
+ debugC(DEBUG_INSANE, "Rebel2: Initialized laser texture %dx%d from sprite %d (xoff=%d yoff=%d src=%dx%d)",
texWidth, texHeight, spriteIdx, srcXOff, srcYOff, srcWidth, srcHeight);
}
@@ -1514,7 +1514,7 @@ void InsaneRebel2::drawLaserBeam(byte *dst, int pitch, int width, int height,
int edgeClipRight = CLIP<int>(clipRight - 1, 1, width - 2);
int edgeClipBottom = CLIP<int>(clipBottom - 1, 1, height - 2);
- debug(5, "Rebel2: drawLaserBeam gun(%d,%d) tgt(%d,%d) start(%d,%d) end(%d,%d) anim=%d/%d ws=%d hs=%d th=%d",
+ debugC(DEBUG_INSANE, "Rebel2: drawLaserBeam gun(%d,%d) tgt(%d,%d) start(%d,%d) end(%d,%d) anim=%d/%d ws=%d hs=%d th=%d",
gunX, gunY, targetX, targetY, startX, startY, endX, endY,
animFrame, maxFrames, widthScale, heightScale, thickness);
@@ -1660,16 +1660,16 @@ void InsaneRebel2::registerCollisionZone(Common::SeekableReadStream &b, int16 su
// Register zone into appropriate table based on sub-opcode
if (subOpcode == 0x0D && _primaryZoneCount < kMaxCollisionZones) {
_primaryZones[_primaryZoneCount++] = zone;
- debug("Rebel2: Registered PRIMARY zone %d: filter=%d fields=[%d,%d] quad=(%d,%d)-(%d,%d)-(%d,%d)-(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2: Registered PRIMARY zone %d: filter=%d fields=[%d,%d] quad=(%d,%d)-(%d,%d)-(%d,%d)-(%d,%d)",
_primaryZoneCount - 1, par4, field1, field2,
x1, y1, x2, y2, x3, y3, x4, y4);
} else if (subOpcode == 0x0E && _secondaryZoneCount < kMaxCollisionZones) {
_secondaryZones[_secondaryZoneCount++] = zone;
- debug("Rebel2: Registered SECONDARY zone %d: filter=%d fields=[%d,%d] quad=(%d,%d)-(%d,%d)-(%d,%d)-(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2: Registered SECONDARY zone %d: filter=%d fields=[%d,%d] quad=(%d,%d)-(%d,%d)-(%d,%d)-(%d,%d)",
_secondaryZoneCount - 1, par4, field1, field2,
x1, y1, x2, y2, x3, y3, x4, y4);
} else {
- debug("Rebel2: WARNING - Could not register zone (subOpcode=%d, primary=%d, secondary=%d)",
+ debugC(DEBUG_INSANE, "Rebel2: WARNING - Could not register zone (subOpcode=%d, primary=%d, secondary=%d)",
subOpcode, _primaryZoneCount, _secondaryZoneCount);
}
}
@@ -1793,7 +1793,7 @@ void InsaneRebel2::checkCollisionZones(byte *renderBitmap, int pitch, int width,
int collisionDamage = (dparams.dodgeDamage >= 0) ? dparams.dodgeDamage : 0;
if (applyPlayerDamage(collisionDamage)) {
- debug("Rebel2: COLLISION damage! zone=%d aim=(%d,%d) damage=%d total=%d",
+ debugC(DEBUG_INSANE, "Rebel2: COLLISION damage! zone=%d aim=(%d,%d) damage=%d total=%d",
i, aimX, aimY, collisionDamage, _playerDamage);
}
// Visual effect â FUN_00420515 (palette flash)
@@ -1899,7 +1899,7 @@ void InsaneRebel2::applyHandler7ObstacleHit(const InsaneRebel2::CollisionZone &z
initDamageFlash();
// Pan based on ship X position relative to screen center.
playSfx(1, 127, CLIP((_flyShipScreenX - 212) * 127 / 160, -127, 127));
- debug("Rebel2: Handler7 Mode0/2 OBSTACLE HIT zone=%d ship=(%d,%d) damage=%d",
+ debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode0/2 OBSTACLE HIT zone=%d ship=(%d,%d) damage=%d",
zoneIndex, _flyShipScreenX, _flyShipScreenY, collisionDamage);
}
@@ -1978,7 +1978,7 @@ void InsaneRebel2::checkHandler7TopBoundary(const InsaneRebel2::CollisionZone &z
// Ship above top wall - push down.
const bool damageApplied = applyHandler7WallDamage(wallDamage);
if (damageApplied) {
- debug("Rebel2: Handler7 Mode1/3 TOP WALL ship=(%d,%d) edgeY=%d damage=%d",
+ debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode1/3 TOP WALL ship=(%d,%d) edgeY=%d damage=%d",
_flyShipScreenX, _flyShipScreenY, edgeY, wallDamage);
}
_spaceShotDirection = 2; // Direction: pushed down
@@ -2004,7 +2004,7 @@ void InsaneRebel2::checkHandler7BottomBoundary(const InsaneRebel2::CollisionZone
// Ship below bottom wall - push up.
const bool damageApplied = applyHandler7WallDamage(wallDamage);
if (damageApplied) {
- debug("Rebel2: Handler7 Mode1/3 BOTTOM WALL ship=(%d,%d) edgeY=%d damage=%d",
+ debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode1/3 BOTTOM WALL ship=(%d,%d) edgeY=%d damage=%d",
_flyShipScreenX, _flyShipScreenY, edgeY, wallDamage);
}
_spaceShotDirection = 3; // Direction: pushed up
@@ -2034,7 +2034,7 @@ void InsaneRebel2::checkHandler7LeftBoundary(const InsaneRebel2::CollisionZone &
const bool damageApplied = applyHandler7WallDamage(wallDamage);
if (damageApplied) {
- debug("Rebel2: Handler7 Mode1/3 LEFT WALL ship=(%d,%d) edgeX=%d damage=%d",
+ debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode1/3 LEFT WALL ship=(%d,%d) edgeX=%d damage=%d",
_flyShipScreenX, _flyShipScreenY, edgeX, wallDamage);
}
_spaceShotDirection = 0; // Direction: pushed right
@@ -2061,7 +2061,7 @@ void InsaneRebel2::checkHandler7RightBoundary(const InsaneRebel2::CollisionZone
const bool damageApplied = applyHandler7WallDamage(wallDamage);
if (damageApplied) {
- debug("Rebel2: Handler7 Mode1/3 RIGHT WALL ship=(%d,%d) edgeX=%d damage=%d",
+ debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode1/3 RIGHT WALL ship=(%d,%d) edgeX=%d damage=%d",
_flyShipScreenX, _flyShipScreenY, edgeX, wallDamage);
}
_spaceShotDirection = 1; // Direction: pushed left
@@ -2454,7 +2454,7 @@ bool InsaneRebel2::handlePostRenderMenuModes(byte *renderBitmap, int pitch, int
// If a selection was confirmed, signal video to stop.
if (selection >= 0) {
- debug("Rebel2: Pilot selection confirmed: %d", selection);
+ debugC(DEBUG_INSANE, "Rebel2: Pilot selection confirmed: %d", selection);
_menuSelectionConfirmed = true;
_vm->_smushVideoShouldFinish = true;
}
@@ -2479,7 +2479,7 @@ bool InsaneRebel2::handlePostRenderMenuModes(byte *renderBitmap, int pitch, int
// If a selection was confirmed, signal video to stop.
if (selection >= 0) {
- debug("Rebel2: Chapter selection confirmed: %d", selection);
+ debugC(DEBUG_INSANE, "Rebel2: Chapter selection confirmed: %d", selection);
_menuSelectionConfirmed = true;
_vm->_smushVideoShouldFinish = true;
}
@@ -2515,7 +2515,7 @@ bool InsaneRebel2::handlePostRenderMenuModes(byte *renderBitmap, int pitch, int
// At 12fps video rate, 300 frames = ~25 seconds of inactivity.
// The original checks: if (local_8 > 299) return 0.
if (_menuInactivityTimer > 300) {
- debug("Rebel2: Menu inactivity timeout - resuming intro/demo loop");
+ debugC(DEBUG_INSANE, "Rebel2: Menu inactivity timeout - resuming intro/demo loop");
_menuInactivityTimer = 0;
_menuInactivityTimedOut = true;
_menuSelectionConfirmed = false;
@@ -2528,7 +2528,7 @@ bool InsaneRebel2::handlePostRenderMenuModes(byte *renderBitmap, int pitch, int
// If a selection was confirmed, signal video to stop.
if (selection >= 0) {
- debug("Rebel2: Menu selection confirmed: %d", selection);
+ debugC(DEBUG_INSANE, "Rebel2: Menu selection confirmed: %d", selection);
_menuSelectionConfirmed = true;
_vm->_smushVideoShouldFinish = true;
}
@@ -2559,7 +2559,7 @@ bool InsaneRebel2::handlePostRenderIntro(byte *renderBitmap, int pitch, int widt
// Track state transition for debugging.
if (!_introCursorPushed) {
_introCursorPushed = true;
- debug("Rebel2: Intro/cinematic mode (handler=0, flags=0x%x, state=%d) - HUD disabled, mouse hidden",
+ debugC(DEBUG_INSANE, "Rebel2: Intro/cinematic mode (handler=0, flags=0x%x, state=%d) - HUD disabled, mouse hidden",
_player->_curVideoFlags, _gameState);
}
@@ -2574,7 +2574,7 @@ bool InsaneRebel2::handlePostRenderIntro(byte *renderBitmap, int pitch, int widt
// Gameplay mode - handler was set by IACT opcode 6.
if (_introCursorPushed) {
_introCursorPushed = false;
- debug("Rebel2: Gameplay mode (handler=%d, flags=0x%x, state=%d) - HUD enabled",
+ debugC(DEBUG_INSANE, "Rebel2: Gameplay mode (handler=%d, flags=0x%x, state=%d) - HUD enabled",
_rebelHandler, _player->_curVideoFlags, _gameState);
}
@@ -2694,7 +2694,7 @@ void InsaneRebel2::renderGameplayPostFrame(byte *renderBitmap, int pitch, int wi
renderStatusBarBackground(renderBitmap, pitch, width, height, videoWidth, videoHeight, statusBarY);
// Ship rendering (FUN_00401ccf for Handler 8, FUN_0040d836 for Handler 7).
- debug("Rebel2 Ship Check: handler=%d shipSprite=%p flyShipSprite=%p shipLevelMode=%d numSprites=%d/%d",
+ debugC(DEBUG_INSANE, "Rebel2 Ship Check: handler=%d shipSprite=%p flyShipSprite=%p shipLevelMode=%d numSprites=%d/%d",
_rebelHandler, (void*)_shipSprite, (void*)_flyShipSprite, _shipLevelMode,
_shipSprite ? _shipSprite->getNumChars() : 0,
_flyShipSprite ? _flyShipSprite->getNumChars() : 0);
@@ -2974,7 +2974,7 @@ void InsaneRebel2::renderTextOverlay(byte *renderBitmap, int pitch, int width, i
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
const char *text = splayer->getString(_textOverlayID);
- debug(5, "Rebel2: Text overlay frame %d/%d-%d textID=0x%x text='%s'",
+ debugC(DEBUG_INSANE, "Rebel2: Text overlay frame %d/%d-%d textID=0x%x text='%s'",
curFrame, _textOverlayFadeIn, _textOverlayFadeOut, _textOverlayID,
text ? text : "(null)");
if (!text)
@@ -3171,7 +3171,7 @@ void InsaneRebel2::renderTurretHudOverlays(byte *renderBitmap, int pitch, int wi
_hudOverlayNut, animFrame);
}
- debug(5, "Rebel2 HUD: Drawing NUT overlay frame %d/%d at (%d,%d) mouseOffset=(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2 HUD: Drawing NUT overlay frame %d/%d at (%d,%d) mouseOffset=(%d,%d)",
animFrame, numSprites, hudX, hudY, mouseOffsetX, mouseOffsetY);
// Draw secondary HUD overlay if present (DAT_0047fe80)
@@ -3204,7 +3204,7 @@ void InsaneRebel2::renderEmbeddedHudOverlays(byte *renderBitmap, int pitch, int
// Skip small frames at (0,0) - likely animation patches
if (frame.renderX == 0 && frame.renderY == 0 && frame.width < 50 && frame.height < 60) {
- debug(3, "Rebel2: Skipping small embedded frame at (0,0): slot=%d size=%dx%d",
+ debugC(DEBUG_INSANE, "Rebel2: Skipping small embedded frame at (0,0): slot=%d size=%dx%d",
hudSlot, frame.width, frame.height);
continue;
}
@@ -3268,7 +3268,7 @@ void InsaneRebel2::renderEmbeddedHudOverlays(byte *renderBitmap, int pitch, int
destX += _viewX;
destY += _viewY;
- debug(3, "Rebel2: Rendering embedded HUD slot=%d size=%dx%d at (%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2: Rendering embedded HUD slot=%d size=%dx%d at (%d,%d)",
hudSlot, frame.width, frame.height, destX, destY);
blitEmbeddedFrameRegion(renderBitmap, pitch, pitch, height, frame,
@@ -3560,7 +3560,7 @@ void InsaneRebel2::renderHandler7Ship(byte *renderBitmap, int pitch, int width,
shipDraw.x, shipDraw.y, _flyTargetSprite, spriteIndex);
}
- debug("Rebel2 Handler7Ship: draw=(%d,%d) sprite=%d/%d shipPos=(%d,%d) persp=(%d,%d) smoothVel=%d vertIn=%d fxCtr=%d fxRep=%d",
+ debugC(DEBUG_INSANE, "Rebel2 Handler7Ship: draw=(%d,%d) sprite=%d/%d shipPos=(%d,%d) persp=(%d,%d) smoothVel=%d vertIn=%d fxCtr=%d fxRep=%d",
drawX, drawY, spriteIndex, numSprites, _flyShipScreenX, _flyShipScreenY,
_perspectiveX, _perspectiveY, _smoothedVelocity, _verticalInput, _flyEffectAnimCounter, _flyOverlayRepeatCount);
}
@@ -3618,7 +3618,7 @@ void InsaneRebel2::renderHandler8Ship(byte *renderBitmap, int pitch, int width,
int sprW = _shipSprite->getCharWidth(spriteIndex);
int sprH = _shipSprite->getCharHeight(spriteIndex);
- debug("Rebel2 Handler8: Ship at (%d,%d) raw(%d,%d) offset(%d,%d) nutOff(%d,%d) size(%d,%d) bottom=%d view(%d,%d) sprite=%d/%d",
+ debugC(DEBUG_INSANE, "Rebel2 Handler8: Ship at (%d,%d) raw(%d,%d) offset(%d,%d) nutOff(%d,%d) size(%d,%d) bottom=%d view(%d,%d) sprite=%d/%d",
drawX, drawY, _shipPosX, _shipPosY, displayOffsetX, displayOffsetY,
spriteXOffset, spriteYOffset, sprW, sprH, drawY + sprH,
_viewX, _viewY, spriteIndex, numSprites);
@@ -3749,7 +3749,7 @@ void InsaneRebel2::renderHandler25ShipPre(byte *renderBitmap, int pitch, int wid
scaledClipLeft, 0, scaledClipRight, renderHeight,
drawX, drawY, _grd001Sprite, 0, false, renderScale, false);
- debug("Rebel2 Handler25 PRE: GRD001 at (%d,%d) nutOff(%d,%d) viewOff(%d,%d) size(%d,%d) mode=%d dmg=%d halfW=%d rightHalf=%d clip=[%d,%d) scale=%d",
+ debugC(DEBUG_INSANE, "Rebel2 Handler25 PRE: GRD001 at (%d,%d) nutOff(%d,%d) viewOff(%d,%d) size(%d,%d) mode=%d dmg=%d halfW=%d rightHalf=%d clip=[%d,%d) scale=%d",
drawX, drawY, spriteXOffset, spriteYOffset, _rebelViewOffset2X, _rebelViewOffset2Y,
spriteW, spriteH, _grdSpriteMode, _rebelDamageLevel, useHalfWidth ? 1 : 0, useRightHalf ? 1 : 0, scaledClipLeft, scaledClipRight, renderScale);
@@ -3769,7 +3769,7 @@ void InsaneRebel2::renderHandler25ShipPre(byte *renderBitmap, int pitch, int wid
0, 0, width, renderHeight,
overlayDrawX, overlayDrawY, _grd005Sprite, overlayIdx, false, renderScale, false);
- debug("Rebel2 Handler25 PRE: GRD005 at (%d,%d) nutOff(%d,%d) viewOff(%d,%d) size(%d,%d) mode=%d scale=%d",
+ debugC(DEBUG_INSANE, "Rebel2 Handler25 PRE: GRD005 at (%d,%d) nutOff(%d,%d) viewOff(%d,%d) size(%d,%d) mode=%d scale=%d",
overlayDrawX, overlayDrawY, overlayXOffset, overlayYOffset,
_rebelViewOffset2X, _rebelViewOffset2Y, overlayW, overlayH, _grdSpriteMode, renderScale);
}
@@ -3924,7 +3924,7 @@ void InsaneRebel2::renderHandler25Ship(byte *renderBitmap, int pitch, int width,
0, 0, width, renderHeight,
drawX, drawY, _grd002Sprite, spriteIdx, shouldMirror, renderScale, true);
- debug("Rebel2 Handler25: GRD002 at (%d,%d) nutOffset(%d,%d) viewOffset(%d,%d) size(%d,%d) spriteIdx=%d damage=%d dir=%d mirror=%d scale=%d",
+ debugC(DEBUG_INSANE, "Rebel2 Handler25: GRD002 at (%d,%d) nutOffset(%d,%d) viewOffset(%d,%d) size(%d,%d) spriteIdx=%d damage=%d dir=%d mirror=%d scale=%d",
drawX, drawY, spriteXOffset, spriteYOffset, _rebelViewOffset2X, _rebelViewOffset2Y, spriteW, spriteH, spriteIdx, _rebelDamageLevel, _rebelFlightDir, shouldMirror ? 1 : 0, renderScale);
}
}
@@ -3979,7 +3979,7 @@ void InsaneRebel2::renderFallbackShip(byte *renderBitmap, int pitch, int width,
blitEmbeddedFrameRegion(renderBitmap, pitch, width, height, shipFrame,
drawX, drawY, srcX, srcY, spriteW, spriteH);
- debug("Rebel2: Ship (fallback) at (%d,%d) strip=(%d,%d) of (%dx%d) dir=(%d,%d)",
+ debugC(DEBUG_INSANE, "Rebel2: Ship (fallback) at (%d,%d) strip=(%d,%d) of (%dx%d) dir=(%d,%d)",
drawX, drawY, srcX, srcY, numHorizontal, numVertical, _shipDirectionH, _shipDirectionV);
}
@@ -4277,7 +4277,7 @@ void InsaneRebel2::renderSpaceExplosions(byte *renderBitmap, int pitch, int widt
drawX - ew / 2, drawY - eh / 2, _smush_iconsNut, spriteIndex);
}
- debug("Rebel2 H7 corridor explosion: dir=%d frame=%d pos=(%d,%d) cooldown=%d",
+ debugC(DEBUG_INSANE, "Rebel2 H7 corridor explosion: dir=%d frame=%d pos=(%d,%d) cooldown=%d",
_spaceShotDirection, spriteIndex, drawX, drawY, _hitCooldown);
}
}
@@ -4573,7 +4573,7 @@ void InsaneRebel2::renderHandler25LaserShots(byte *renderBitmap, int pitch, int
_turretShots[i].counter--;
- debug("Rebel2 Handler25: Laser shot %d from (%d,%d) to (%d,%d) progress=%d/%d",
+ debugC(DEBUG_INSANE, "Rebel2 Handler25: Laser shot %d from (%d,%d) to (%d,%d) progress=%d/%d",
i, gunX, gunY, targetX, targetY, progress, maxDuration);
}
}
diff --git a/engines/scumm/insane/rebel2/runlevels.cpp b/engines/scumm/insane/rebel2/runlevels.cpp
index d09d5bb4b4c..c81b5626fc7 100644
--- a/engines/scumm/insane/rebel2/runlevels.cpp
+++ b/engines/scumm/insane/rebel2/runlevels.cpp
@@ -57,14 +57,14 @@ int InsaneRebel2::runLevel1() {
if (_playerShield > 0) {
// Level completed!
- debug("Rebel2: Level 1 completed!");
+ debugC(DEBUG_INSANE, "Rebel2: Level 1 completed!");
playLevelEnd(1);
_levelUnlocked[1] = true; // Unlock level 2
return kLevelNextLevel;
}
// Player died - play death video with random A/B variant
- debug("Rebel2: Level 1 death at frame %d, lives=%d", _deathFrame, _playerLives - 1);
+ debugC(DEBUG_INSANE, "Rebel2: Level 1 death at frame %d, lives=%d", _deathFrame, _playerLives - 1);
playLevelDeathVariant(1, 1, _deathFrame);
if (_vm->shouldQuit())
@@ -104,7 +104,7 @@ InsaneRebel2::WaveEndResult InsaneRebel2::processWaveEnd(int16 mask, int16 *budg
_skipSectionRequested = false;
_rebelPhaseState = mask;
_rebelWaveState = mask;
- debug("Rebel2 processWaveEnd: movie mode completed gameplay wave (mask=0x%x)", (uint16)mask);
+ debugC(DEBUG_INSANE, "Rebel2 processWaveEnd: movie mode completed gameplay wave (mask=0x%x)", (uint16)mask);
result.completed = true;
result.skipped = true;
return result;
@@ -115,7 +115,7 @@ InsaneRebel2::WaveEndResult InsaneRebel2::processWaveEnd(int16 mask, int16 *budg
_skipSectionRequested = false;
_rebelPhaseState = mask;
_rebelWaveState = mask;
- debug("Rebel2 processWaveEnd: Shift+S skip consumed (mask=0x%x)", (uint16)mask);
+ debugC(DEBUG_INSANE, "Rebel2 processWaveEnd: Shift+S skip consumed (mask=0x%x)", (uint16)mask);
result.completed = true;
result.skipped = true;
return result;
@@ -133,7 +133,7 @@ InsaneRebel2::WaveEndResult InsaneRebel2::processWaveEnd(int16 mask, int16 *budg
// Step 2: Copy wave state to phase state (line 33)
// DAT_0047ab9c = DAT_0047ab98
_rebelPhaseState = _rebelWaveState;
- debug("Rebel2 processWaveEnd: waveState=0x%x -> phaseState=0x%x mask=0x%x budget=%d threshold=%d flags=%d",
+ debugC(DEBUG_INSANE, "Rebel2 processWaveEnd: waveState=0x%x -> phaseState=0x%x mask=0x%x budget=%d threshold=%d flags=%d",
_rebelWaveState, _rebelPhaseState, mask, budget ? *budget : -1, threshold, flags);
// Step 3: Kill redistribution - add random unkilled types (lines 34-47)
@@ -187,7 +187,7 @@ InsaneRebel2::WaveEndResult InsaneRebel2::processWaveEnd(int16 mask, int16 *budg
creditCount++;
}
- debug("Rebel2 processWaveEnd: result=0x%x phaseState=0x%x (after redistribution) budget=%d",
+ debugC(DEBUG_INSANE, "Rebel2 processWaveEnd: result=0x%x phaseState=0x%x (after redistribution) budget=%d",
result.creditedBits, _rebelPhaseState, budget ? *budget : -1);
// Step 5: Stop conditions (lines 74-78)
@@ -203,7 +203,7 @@ bool InsaneRebel2::playLevelSegment(const char *filename, uint16 flags, bool rec
const bool isRecordedGameplay = recordFrame && (flags & 0x08) != 0;
if (isRecordedGameplay && _rebelMovieMode) {
- debug("Rebel2: Movie mode skipping gameplay segment: %s", filename);
+ debugC(DEBUG_INSANE, "Rebel2: Movie mode skipping gameplay segment: %s", filename);
_gameplaySectionActive = false;
restoreIOSGamepadController();
if (recordFrame)
@@ -245,7 +245,7 @@ int InsaneRebel2::calculateAccuracy(int kills, int misses) const {
bool InsaneRebel2::handleLevelDeath(int levelId, int phase,
const char *deathVideo, const char *retryVideo, int &levelResult) {
- debug("Rebel2: Level %d Phase %d death", levelId, phase);
+ debugC(DEBUG_INSANE, "Rebel2: Level %d Phase %d death", levelId, phase);
playCinematic(deathVideo);
if (_vm->shouldQuit()) {
levelResult = kLevelQuit;
@@ -426,7 +426,7 @@ int InsaneRebel2::runLevel2() {
int16 budget = kLevel2BudgetBase[0] + _vm->_rnd.getRandomNumber(2);
// Play A.SAN (background loader) â flags 0x28 (preserve buffer, gameplay mode)
- debug("Rebel2: Level 2 Phase 1 - playing 02P01_A.SAN (background) budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 2 Phase 1 - playing 02P01_A.SAN (background) budget=%d", budget);
if (!playLevelSegment("LEV02/P1/02P01_A.SAN", 0x28))
return kLevelQuit;
@@ -446,14 +446,14 @@ int InsaneRebel2::runLevel2() {
"LEV02/P1/02P01_C.SAN",
"LEV02/P1/02P01_D.SAN"
};
- debug("Rebel2: Phase 1 wave - playing %s (state=0x%x budget=%d)", variants[variant], _rebelPhaseState, budget);
+ debugC(DEBUG_INSANE, "Rebel2: Phase 1 wave - playing %s (state=0x%x budget=%d)", variants[variant], _rebelPhaseState, budget);
// Wave videos use flags 0x428 (original: FUN_0041f4d0 param_2=0x428)
if (!playLevelSegment(variants[variant], 0x428))
return kLevelQuit;
// processWaveEnd with threshold=0x14 (20) â enables early exit when enemies killed
processWaveEnd(0x36, &budget, 0x14, 0);
- debug("Rebel2: Phase 1 wave done - state=0x%x (need 0x06) budget=%d", _rebelPhaseState, budget);
+ debugC(DEBUG_INSANE, "Rebel2: Phase 1 wave done - state=0x%x (need 0x06) budget=%d", _rebelPhaseState, budget);
}
// Check for bonus (bit 4 = 0x10)
@@ -492,7 +492,7 @@ int InsaneRebel2::runLevel2() {
_rebelHandler = 8;
// Play A.SAN (background loader)
- debug("Rebel2: Level 2 Phase 2 - playing 02P02_A.SAN (background) budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 2 Phase 2 - playing 02P02_A.SAN (background) budget=%d", budget);
if (!playLevelSegment("LEV02/P2/02P02_A.SAN", 0x28))
return kLevelQuit;
@@ -529,7 +529,7 @@ int InsaneRebel2::runLevel2() {
filename = "LEV02/P2/02P02_D.SAN"; break;
}
- debug("Rebel2: Phase 2 wave - playing %s (state=0x%x sel=0x%x budget=%d)", filename, _rebelPhaseState, waveSelect, budget);
+ debugC(DEBUG_INSANE, "Rebel2: Phase 2 wave - playing %s (state=0x%x sel=0x%x budget=%d)", filename, _rebelPhaseState, waveSelect, budget);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
}
@@ -569,7 +569,7 @@ int InsaneRebel2::runLevel2() {
_rebelHandler = 8;
// Play A.SAN (background loader)
- debug("Rebel2: Level 2 Phase 3 - playing 02P03_A.SAN (background) budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 2 Phase 3 - playing 02P03_A.SAN (background) budget=%d", budget);
if (!playLevelSegment("LEV02/P3/02P03_A.SAN", 0x28))
return kLevelQuit;
@@ -614,13 +614,13 @@ int InsaneRebel2::runLevel2() {
filename = "LEV02/P3/02P03_I.SAN"; break;
}
- debug("Rebel2: Phase 3 wave - playing %s (state=0x%x sel=0x%x budget=%d)", filename, _rebelPhaseState, waveSelect, budget);
+ debugC(DEBUG_INSANE, "Rebel2: Phase 3 wave - playing %s (state=0x%x sel=0x%x budget=%d)", filename, _rebelPhaseState, waveSelect, budget);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
// processWaveEnd at BOTTOM with threshold=0x14
waveEnd = processWaveEnd(0x3e, &budget, 0x14, 0);
- debug("Rebel2: Phase 3 wave done - state=0x%x (need 0x0e) budget=%d", _rebelPhaseState, budget);
+ debugC(DEBUG_INSANE, "Rebel2: Phase 3 wave done - state=0x%x (need 0x0e) budget=%d", _rebelPhaseState, budget);
}
}
@@ -643,7 +643,7 @@ int InsaneRebel2::runLevel2() {
{
totalMisses += _rebelHitCounter;
int accuracy = calculateAccuracy(totalKills, totalMisses);
- debug("Rebel2: Level 2 completed! kills=%d misses=%d accuracy=%d%% bonus=%d",
+ debugC(DEBUG_INSANE, "Rebel2: Level 2 completed! kills=%d misses=%d accuracy=%d%% bonus=%d",
totalKills, totalMisses, accuracy, bonusCount);
}
@@ -682,7 +682,7 @@ int InsaneRebel2::runLevel3() {
resetHandler7FlightState();
// Play phase 1 gameplay (03PLAY1.SAN)
- debug("Rebel2: Level 3 Phase 1");
+ debugC(DEBUG_INSANE, "Rebel2: Level 3 Phase 1");
if (!playLevelSegment("LEV03/03PLAY1.SAN", 0x28))
return kLevelQuit;
@@ -693,7 +693,7 @@ int InsaneRebel2::runLevel3() {
}
// Died in phase 1 - frame-based death video
- debug("Rebel2: Level 3 Phase 1 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 3 Phase 1 death at frame %d", _deathFrame);
playLevelDeathVariant(3, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -736,20 +736,20 @@ int InsaneRebel2::runLevel3() {
resetHandler7FlightState();
// Play phase 2 gameplay (03PLAY2.SAN)
- debug("Rebel2: Level 3 Phase 2");
+ debugC(DEBUG_INSANE, "Rebel2: Level 3 Phase 2");
if (!playLevelSegment("LEV03/03PLAY2.SAN", 0x28))
return kLevelQuit;
if (_playerShield > 0) {
// Level completed!
- debug("Rebel2: Level 3 completed!");
+ debugC(DEBUG_INSANE, "Rebel2: Level 3 completed!");
playLevelEnd(3);
_levelUnlocked[3] = true; // Unlock level 4
return kLevelNextLevel;
}
// Died in phase 2 - frame-based death video
- debug("Rebel2: Level 3 Phase 2 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 3 Phase 2 death at frame %d", _deathFrame);
playLevelDeathVariant(3, 2, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -796,20 +796,20 @@ int InsaneRebel2::runLevel4() {
clearBit(0);
// Play gameplay (04PLAY.SAN)
- debug("Rebel2: Level 4 gameplay");
+ debugC(DEBUG_INSANE, "Rebel2: Level 4 gameplay");
if (!playLevelSegment("LEV04/04PLAY.SAN", 0x28))
return kLevelQuit;
if (_playerShield > 0) {
// Level completed!
- debug("Rebel2: Level 4 completed!");
+ debugC(DEBUG_INSANE, "Rebel2: Level 4 completed!");
playLevelEnd(4);
_levelUnlocked[4] = true; // Unlock level 5
return kLevelNextLevel;
}
// Died - play death video (04DIE.SAN, no variants)
- debug("Rebel2: Level 4 death");
+ debugC(DEBUG_INSANE, "Rebel2: Level 4 death");
playLevelDeathVariant(4, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -851,20 +851,20 @@ int InsaneRebel2::runLevel5() {
// Play gameplay (05PLAY.SAN)
// Original: FUN_0041f4d0("05PLAY.SAN", 8, -1, -1, 0)
- debug("Rebel2: Level 5 gameplay");
+ debugC(DEBUG_INSANE, "Rebel2: Level 5 gameplay");
if (!playLevelSegment("LEV05/05PLAY.SAN", 0x08))
return kLevelQuit;
if (_playerShield > 0) {
// Level completed!
- debug("Rebel2: Level 5 completed!");
+ debugC(DEBUG_INSANE, "Rebel2: Level 5 completed!");
playLevelEnd(5);
_levelUnlocked[5] = true; // Unlock level 6
return kLevelNextLevel;
}
// Died - play death video with random A/B variant
- debug("Rebel2: Level 5 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 5 death at frame %d", _deathFrame);
playLevelDeathVariant(5, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -918,7 +918,7 @@ int InsaneRebel2::runLevel6() {
_rebelLevelType = 5; // DAT_0047a7f8 = 5
_currentPhase = 1;
- debug("Rebel2: Level 6 Phase 1");
+ debugC(DEBUG_INSANE, "Rebel2: Level 6 Phase 1");
if (!playLevelSegment("LEV06/06PLAY1.SAN", 0x28))
return kLevelQuit;
// TODO: Mid-level switch at frame 0x2a8 to 06PLAY1B.SAN (flags 0x468)
@@ -926,7 +926,7 @@ int InsaneRebel2::runLevel6() {
if (_playerShield <= 0) {
// Died in phase 1
- debug("Rebel2: Level 6 Phase 1 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 6 Phase 1 death at frame %d", _deathFrame);
playLevelDeathVariant(6, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -959,20 +959,20 @@ int InsaneRebel2::runLevel6() {
_playerScore = phase1Score;
clearBit(0); // FUN_00407d10
- debug("Rebel2: Level 6 Phase 2");
+ debugC(DEBUG_INSANE, "Rebel2: Level 6 Phase 2");
if (!playLevelSegment("LEV06/06PLAY2.SAN", 0x28))
return kLevelQuit;
if (_playerShield > 0) {
// Level completed!
- debug("Rebel2: Level 6 completed!");
+ debugC(DEBUG_INSANE, "Rebel2: Level 6 completed!");
playLevelEnd(6);
_levelUnlocked[6] = true;
return kLevelNextLevel;
}
// Died in phase 2
- debug("Rebel2: Level 6 Phase 2 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 6 Phase 2 death at frame %d", _deathFrame);
playLevelDeathVariant(6, 2, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -1036,7 +1036,7 @@ int InsaneRebel2::runLevel7() {
return kLevelQuit;
if (_playerShield > 0) {
- debug("Rebel2: Level 7 completed!");
+ debugC(DEBUG_INSANE, "Rebel2: Level 7 completed!");
playLevelEnd(7);
_levelUnlocked[7] = true;
return kLevelNextLevel;
@@ -1044,7 +1044,7 @@ int InsaneRebel2::runLevel7() {
// Death video: DIE_B if fork reached, DIE_A if not
// Original: s_LEV07_07DIE_B + ((DAT_0047ab8c != 0) - 1 & 0x14)
- debug("Rebel2: Level 7 death at frame %d, fork=%d", _deathFrame, reachedFork);
+ debugC(DEBUG_INSANE, "Rebel2: Level 7 death at frame %d, fork=%d", _deathFrame, reachedFork);
if (reachedFork) {
playCinematic("LEV07/07DIE_B.SAN");
} else {
@@ -1098,7 +1098,7 @@ int InsaneRebel2::runLevel8() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debug("Rebel2: Level 8 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Rebel2: Level 8 completed! accuracy=%d%%", accuracy);
playLevelEnd(8);
_levelUnlocked[8] = true;
return kLevelNextLevel;
@@ -1106,7 +1106,7 @@ int InsaneRebel2::runLevel8() {
// Death: random A or B
// Original: random(2) â A or B via string pointer arithmetic
- debug("Rebel2: Level 8 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 8 death at frame %d", _deathFrame);
playLevelDeathVariant(8, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -1162,7 +1162,7 @@ int InsaneRebel2::runLevel9() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debug("Rebel2: Level 9 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Rebel2: Level 9 completed! accuracy=%d%%", accuracy);
playLevelEnd(9);
_levelUnlocked[9] = true;
return kLevelNextLevel;
@@ -1170,7 +1170,7 @@ int InsaneRebel2::runLevel9() {
// Death: based on DAT_0047ab94 (death cause tracking)
// Original: 0âDIE_A, 1âDIE_C, elseâDIE_B
- debug("Rebel2: Level 9 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 9 death at frame %d", _deathFrame);
playLevelDeathVariant(9, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -1225,7 +1225,7 @@ int InsaneRebel2::runLevel10() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debug("Rebel2: Level 10 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Rebel2: Level 10 completed! accuracy=%d%%", accuracy);
playLevelEnd(10);
_levelUnlocked[10] = true;
return kLevelNextLevel;
@@ -1233,7 +1233,7 @@ int InsaneRebel2::runLevel10() {
// Death + Retry: original plays both in sequence
// Original: lives--, if 0 break to game over, else DIE+RETRY
- debug("Rebel2: Level 10 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 10 death at frame %d", _deathFrame);
_playerLives--;
if (_playerLives <= 0) {
playLevelGameOver(10);
@@ -1297,7 +1297,7 @@ int InsaneRebel2::runLevel11() {
int16 budget = kLevel11BudgetBase[0] + _vm->_rnd.getRandomNumber(2);
// Play A.SAN (background loader)
- debug("Rebel2: Level 11 Phase 1 - playing 11P01_A.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 1 - playing 11P01_A.SAN budget=%d", budget);
if (!playLevelSegment("LEV11/P1/11P01_A.SAN", 0x28))
return kLevelQuit;
@@ -1327,7 +1327,7 @@ int InsaneRebel2::runLevel11() {
default: filename = "LEV11/P1/11P01_D.SAN"; break; // sel == 0
}
- debug("Rebel2: Level 11 Phase 1 wave - %s (state=0x%x sel=%d)", filename, _rebelPhaseState, sel);
+ debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 1 wave - %s (state=0x%x sel=%d)", filename, _rebelPhaseState, sel);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1361,7 +1361,7 @@ int InsaneRebel2::runLevel11() {
_rebelHandler = 8;
// Play A.SAN (background loader)
- debug("Rebel2: Level 11 Phase 2 - playing 11P02_A.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 2 - playing 11P02_A.SAN budget=%d", budget);
if (!playLevelSegment("LEV11/P2/11P02_A.SAN", 0x28))
return kLevelQuit;
@@ -1383,7 +1383,7 @@ int InsaneRebel2::runLevel11() {
default: filename = "LEV11/P2/11P02_D.SAN"; break;
}
- debug("Rebel2: Level 11 Phase 2 wave - %s (state=0x%x)", filename, _rebelPhaseState);
+ debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 2 wave - %s (state=0x%x)", filename, _rebelPhaseState);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1418,7 +1418,7 @@ int InsaneRebel2::runLevel11() {
budget = kLevel11BudgetBase[2] + _vm->_rnd.getRandomNumber(2);
_rebelHandler = 8;
- debug("Rebel2: Level 11 Phase 3 first half - playing 11P03_A.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 3 first half - playing 11P03_A.SAN budget=%d", budget);
if (!playLevelSegment("LEV11/P3/11P03_A.SAN", 0x28))
return kLevelQuit;
@@ -1456,7 +1456,7 @@ int InsaneRebel2::runLevel11() {
default: filename = "LEV11/P3/11P03_E.SAN"; break; // duplicate E
}
- debug("Rebel2: Level 11 Phase 3a wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 3a wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1508,7 +1508,7 @@ int InsaneRebel2::runLevel11() {
budget = kLevel11BudgetBase[3] + _vm->_rnd.getRandomNumber(2);
// Play G.SAN (background loader for second half)
- debug("Rebel2: Level 11 Phase 3 second half - playing 11P03_G.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 3 second half - playing 11P03_G.SAN budget=%d", budget);
if (!playLevelSegment("LEV11/P3/11P03_G.SAN", 0x28))
return kLevelQuit;
@@ -1541,7 +1541,7 @@ int InsaneRebel2::runLevel11() {
default: filename = "LEV11/P3/11P03_L.SAN"; break;
}
- debug("Rebel2: Level 11 Phase 3b wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 3b wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1565,7 +1565,7 @@ int InsaneRebel2::runLevel11() {
{
totalMisses += _rebelHitCounter;
int accuracy = calculateAccuracy(totalKills, totalMisses);
- debug("Rebel2: Level 11 completed! kills=%d misses=%d accuracy=%d%%",
+ debugC(DEBUG_INSANE, "Rebel2: Level 11 completed! kills=%d misses=%d accuracy=%d%%",
totalKills, totalMisses, accuracy);
}
@@ -1617,7 +1617,7 @@ int InsaneRebel2::runLevel12() {
int16 budget = kLevel12BudgetBase[0] + _vm->_rnd.getRandomNumber(2);
// Initialization video (12P05.SAN)
- debug("Rebel2: Level 12 Phase 1 - init 12P05.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 1 - init 12P05.SAN budget=%d", budget);
if (!playLevelSegment("LEV12/12P05.SAN", 0x28, false))
return kLevelQuit;
processWaveEnd(1, &budget, 0, 0);
@@ -1644,7 +1644,7 @@ int InsaneRebel2::runLevel12() {
default: filename = "LEV12/P1/12P01_B.SAN"; break;
}
- debug("Rebel2: Level 12 Phase 1 wave - %s (state=0x%x sel=%d)", filename, _rebelPhaseState, sel);
+ debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 1 wave - %s (state=0x%x sel=%d)", filename, _rebelPhaseState, sel);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1668,7 +1668,7 @@ int InsaneRebel2::runLevel12() {
budget = kLevel12BudgetBase[1] + _vm->_rnd.getRandomNumber(3);
// Initialization video (12P06.SAN)
- debug("Rebel2: Level 12 Phase 2 - init 12P06.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 2 - init 12P06.SAN budget=%d", budget);
if (!playLevelSegment("LEV12/12P06.SAN", 0x428, false))
return kLevelQuit;
processWaveEnd(1, &budget, 0, 0);
@@ -1704,7 +1704,7 @@ int InsaneRebel2::runLevel12() {
default: filename = "LEV12/P2/12P02_F.SAN"; break;
}
- debug("Rebel2: Level 12 Phase 2 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 2 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1730,7 +1730,7 @@ int InsaneRebel2::runLevel12() {
budget = kLevel12BudgetBase[2] + _vm->_rnd.getRandomNumber(3);
// Initialization video (12P07.SAN)
- debug("Rebel2: Level 12 Phase 3 - init 12P07.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 3 - init 12P07.SAN budget=%d", budget);
if (!playLevelSegment("LEV12/12P07.SAN", 0x428, false))
return kLevelQuit;
processWaveEnd(1, &budget, 0, 0);
@@ -1764,7 +1764,7 @@ int InsaneRebel2::runLevel12() {
default: filename = "LEV12/P3/12P03_F.SAN"; break; // duplicate F
}
- debug("Rebel2: Level 12 Phase 3 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 3 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1788,7 +1788,7 @@ int InsaneRebel2::runLevel12() {
budget = kLevel12BudgetBase[3] + _vm->_rnd.getRandomNumber(3);
// Initialization video (12P08.SAN)
- debug("Rebel2: Level 12 Phase 4 - init 12P08.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 4 - init 12P08.SAN budget=%d", budget);
if (!playLevelSegment("LEV12/12P08.SAN", 0x428, false))
return kLevelQuit;
processWaveEnd(1, &budget, 0, 0);
@@ -1821,7 +1821,7 @@ int InsaneRebel2::runLevel12() {
default: filename = "LEV12/P4/12P04_F.SAN"; break;
}
- debug("Rebel2: Level 12 Phase 4 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 4 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1846,7 +1846,7 @@ int InsaneRebel2::runLevel12() {
// ----- LEVEL COMPLETED -----
{
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debug("Rebel2: Level 12 completed! kills=%d misses=%d accuracy=%d%%",
+ debugC(DEBUG_INSANE, "Rebel2: Level 12 completed! kills=%d misses=%d accuracy=%d%%",
_rebelKillCounter, _rebelHitCounter, accuracy);
}
@@ -1908,14 +1908,14 @@ int InsaneRebel2::runLevel13() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debug("Rebel2: Level 13 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Rebel2: Level 13 completed! accuracy=%d%%", accuracy);
playLevelEnd(13);
_levelUnlocked[13] = true;
return kLevelNextLevel;
}
// Death: frame-based variant selection (FUN_0041B3E1 lines 47-61)
- debug("Rebel2: Level 13 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 13 death at frame %d", _deathFrame);
playLevelDeathVariant(13, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -1964,14 +1964,14 @@ int InsaneRebel2::runLevel14() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debug("Rebel2: Level 14 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Rebel2: Level 14 completed! accuracy=%d%%", accuracy);
playLevelEnd(14);
_levelUnlocked[14] = true;
return kLevelNextLevel;
}
// Death: single video (14DIE.SAN)
- debug("Rebel2: Level 14 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 14 death at frame %d", _deathFrame);
playCinematic("LEV14/14DIE.SAN");
if (_vm->shouldQuit())
return kLevelQuit;
@@ -2036,7 +2036,7 @@ int InsaneRebel2::runLevel15() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debug("Rebel2: Level 15 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Rebel2: Level 15 completed! accuracy=%d%%", accuracy);
playLevelEnd(15);
_levelUnlocked[15] = true;
// Level 15 completion leads to credits (FUN_0041BBE8)
@@ -2044,7 +2044,7 @@ int InsaneRebel2::runLevel15() {
}
// Death: frame-based variant selection (FUN_0041B8D7 lines 46-65)
- debug("Rebel2: Level 15 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Rebel2: Level 15 death at frame %d", _deathFrame);
playLevelDeathVariant(15, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
diff --git a/engines/scumm/smush/rebel/font_rebel2.cpp b/engines/scumm/smush/rebel/font_rebel2.cpp
index a9f69d0cbdb..df5179f7332 100644
--- a/engines/scumm/smush/rebel/font_rebel2.cpp
+++ b/engines/scumm/smush/rebel/font_rebel2.cpp
@@ -154,7 +154,7 @@ void Rebel2NutRenderer::loadRebel2Font(const char *filename) {
if (_numChars <= 0 || decodedLength == 0)
error("Rebel2NutRenderer::loadRebel2Font(%s) no decodable characters", filename);
- debug(1, "Rebel2NutRenderer::loadRebel2Font('%s') - decodedLength = %d", filename, decodedLength);
+ debugC(DEBUG_SMUSH, "Rebel2NutRenderer::loadRebel2Font('%s') - decodedLength = %d", filename, decodedLength);
_decodedData = new byte[decodedLength];
byte *decodedPtr = _decodedData;
@@ -370,7 +370,7 @@ void Rebel2NutRenderer::loadRebel2SpriteFromData(const byte *data, int32 dataSiz
decodeRebel2Frame(_chars[i].src, frame, codec45Palette, codec45Lookup);
}
- debug(1, "Rebel2NutRenderer::loadRebel2SpriteFromData() - numChars=%d decodedLength=%u", _numChars, (uint32)decodedLength);
+ debugC(DEBUG_SMUSH, "Rebel2NutRenderer::loadRebel2SpriteFromData() - numChars=%d decodedLength=%u", _numChars, (uint32)decodedLength);
}
NutRenderer *makeRebel2Font(ScummEngine *vm, const char *filename) {
diff --git a/engines/scumm/smush/rebel/smush_player_ra1.cpp b/engines/scumm/smush/rebel/smush_player_ra1.cpp
index 55667d15056..e882c9788cb 100644
--- a/engines/scumm/smush/rebel/smush_player_ra1.cpp
+++ b/engines/scumm/smush/rebel/smush_player_ra1.cpp
@@ -856,7 +856,7 @@ bool SmushPlayerRebel1::ra1HandleUnknownFrameChunk(uint32 subType, int32 subSize
byte tb2 = (subType >> 8) & 0xFF, tb3 = subType & 0xFF;
if (tb0 > 0x40 && tb0 < 0x5B && tb1 > 0x40 && tb1 < 0x5B &&
tb2 > 0x40 && tb2 < 0x5B && tb3 > 0x40 && tb3 < 0x5B) {
- debug(5, "RA1: unknown uppercase tag %s at frame %d, stopping frame parse", tag2str(subType), _frame);
+ debugC(DEBUG_SMUSH, "RA1: unknown uppercase tag %s at frame %d, stopping frame parse", tag2str(subType), _frame);
return true;
}
Commit: 9ef0dfae2debdd325736ea2556dff658ef9293a3
https://github.com/scummvm/scummvm/commit/9ef0dfae2debdd325736ea2556dff658ef9293a3
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2026-06-09T21:14:12+02:00
Commit Message:
SCUMM: RA: removed redundant tags from debug messages
Changed paths:
engines/scumm/insane/rebel1/iact.cpp
engines/scumm/insane/rebel1/menu.cpp
engines/scumm/insane/rebel1/rebel.cpp
engines/scumm/insane/rebel1/render.cpp
engines/scumm/insane/rebel1/runlevels.cpp
engines/scumm/insane/rebel1/saveload.cpp
engines/scumm/insane/rebel2/iact.cpp
engines/scumm/insane/rebel2/levels.cpp
engines/scumm/insane/rebel2/menu.cpp
engines/scumm/insane/rebel2/rebel.cpp
engines/scumm/insane/rebel2/render.cpp
engines/scumm/insane/rebel2/runlevels.cpp
engines/scumm/smush/rebel/smush_player_ra1.cpp
diff --git a/engines/scumm/insane/rebel1/iact.cpp b/engines/scumm/insane/rebel1/iact.cpp
index dada01703ef..16fb90cce40 100644
--- a/engines/scumm/insane/rebel1/iact.cpp
+++ b/engines/scumm/insane/rebel1/iact.cpp
@@ -636,7 +636,7 @@ bool InsaneRebel1::handleFrameObjectTarget(int16 objectId, int16 left, int16 top
// replacement/death frame. This is used heavily by Level 9 troopers.
_frameObjectState[byteIndex] &= ~bit;
_frameObjectHitRevealPending = false;
- debugC(DEBUG_INSANE, "RA1 FOBJ reveal: object=%d frameObjectByte=%d bit=0x%02x",
+ debugC(DEBUG_INSANE, "FOBJ reveal: object=%d frameObjectByte=%d bit=0x%02x",
objectId, byteIndex, bit);
}
@@ -717,7 +717,7 @@ void InsaneRebel1::checkDynamicLevelBranch(int32 curFrame) {
_vm->_smushVideoShouldFinish = true;
const int32 resumeFrame = (_currentLevel == 6 && _pendingRouteStartFrame < 0) ?
0 : _pendingRouteStartFrame;
- debugC(DEBUG_INSANE, "RA1 L%d cutover: route=%d -> %d at %s=%u (resumeFrame=%d)",
+ debugC(DEBUG_INSANE, "L%d cutover: route=%d -> %d at %s=%u (resumeFrame=%d)",
_currentLevel + 1, _levelRouteIndex, _pendingRouteIndex,
_currentLevel == 6 ? "localFrame" : "frame",
(unsigned)routeFrame, (int)resumeFrame);
@@ -759,7 +759,7 @@ void InsaneRebel1::checkDynamicLevelBranch(int32 curFrame) {
: (branchX < kLevel7BranchThreshold[nextRoute]);
if (!takeBranch) {
if (routeFrame == decisionFrame)
- debugC(DEBUG_INSANE, "RA1 L7 branch miss: route=%d candidate=%d localFrame=%u gameFrame=%d shipX=%d dir=%d threshold=%d",
+ debugC(DEBUG_INSANE, "L7 branch miss: route=%d candidate=%d localFrame=%u gameFrame=%d shipX=%d dir=%d threshold=%d",
route, nextRoute, (unsigned)routeFrame, (int)_gameCounter, branchX,
kLevel7BranchDir[nextRoute], kLevel7BranchThreshold[nextRoute]);
continue;
@@ -770,7 +770,7 @@ void InsaneRebel1::checkDynamicLevelBranch(int32 curFrame) {
_pendingRouteStartFrame = (int32)routeFrame;
_pendingRouteVideoStartFrame = 1 + (_pendingRouteCutoverFrame - _pendingRouteStartFrame);
_level7WarningFrames = 0;
- debugC(DEBUG_INSANE, "RA1 L7 branch: route=%d -> %d at localFrame=%u gameFrame=%d decisionFrame=%u shipX=%d resumeSourceFrame=%d cutoverFrame=%d destFrame=%d",
+ debugC(DEBUG_INSANE, "L7 branch: route=%d -> %d at localFrame=%u gameFrame=%d decisionFrame=%u shipX=%d resumeSourceFrame=%d cutoverFrame=%d destFrame=%d",
route, nextRoute, (unsigned)routeFrame, (int)_gameCounter, (unsigned)decisionFrame, branchX,
(int)_pendingRouteStartFrame, (int)_pendingRouteCutoverFrame,
(int)_pendingRouteVideoStartFrame);
@@ -868,7 +868,7 @@ void InsaneRebel1::updateFlightVariantCursor() {
_flightAimY = CLIP<int32>(shipBaseY + ((liftTerm * kRA1Op09AimYScale[bucket]) >> 8),
kRA1MinY, kRA1MaxY);
- debugC(DEBUG_INSANE, "RA1 op09 cursor: frame=%d shipBase=(%d,%d) shipPos=(%d,%d) aim=(%d,%d) roll=%d lift=%d bucket=%d dir=%d persp=(%d,%d)",
+ debugC(DEBUG_INSANE, "op09 cursor: frame=%d shipBase=(%d,%d) shipPos=(%d,%d) aim=(%d,%d) roll=%d lift=%d bucket=%d dir=%d persp=(%d,%d)",
_gameCounter, shipBaseX, shipBaseY, _shipPosX, _shipPosY, _flightAimX, _flightAimY,
_rollAccum, _liftSmooth, bucket, _shipDirIndex, _perspectiveX, _perspectiveY);
}
@@ -1199,7 +1199,7 @@ void InsaneRebel1::updateShipPhysics() {
if (_shipBank.numSprites > 0)
_shipDirIndex = CLIP<int16>((int16)(vComponent + hComponent), 0, _shipBank.numSprites - 1);
- debugC(DEBUG_INSANE, "RA1 ship input: frame=%d source=%s controls=%s turbulence=%d usedJoystick=%d raw=(%d,%d) clipped=(%d,%d) storedAxis=(%d,%d) actionState(L,R,U,D)=(%d,%d,%d,%d) roll=%d lift=%d pos=(%d,%d) view=(%d,%d) dir=%d level=%d mode=%d opcode=0x%X",
+ debugC(DEBUG_INSANE, "ship input: frame=%d source=%s controls=%s turbulence=%d usedJoystick=%d raw=(%d,%d) clipped=(%d,%d) storedAxis=(%d,%d) actionState(L,R,U,D)=(%d,%d,%d,%d) roll=%d lift=%d pos=(%d,%d) view=(%d,%d) dir=%d level=%d mode=%d opcode=0x%X",
_gameCounter, inputSourceName,
"enhanced", 0, usedJoystick,
rawInputX, rawInputY, inputX, inputY,
@@ -1283,9 +1283,9 @@ void InsaneRebel1::updateShipPhysics() {
_rightPathSelected = true;
preserveInteractiveVideoAudioState();
_vm->_smushVideoShouldFinish = true;
- debugC(DEBUG_INSANE, "RA1: Right path selected (counter=%d, shipX=%d)", _gameCounter, _shipPosX);
+ debugC(DEBUG_INSANE, "Right path selected (counter=%d, shipX=%d)", _gameCounter, _shipPosX);
} else {
- debugC(DEBUG_INSANE, "RA1: Left path retained (counter=%d, shipX=%d)", _gameCounter, _shipPosX);
+ debugC(DEBUG_INSANE, "Left path retained (counter=%d, shipX=%d)", _gameCounter, _shipPosX);
}
_pathBranchEnabled = false;
}
@@ -1293,7 +1293,7 @@ void InsaneRebel1::updateShipPhysics() {
if (_currentLevel != 6)
checkDynamicLevelBranch();
- debugC(DEBUG_INSANE, "RA1 ship: pos=(%d,%d) roll=%d lift=%d accX=%d accY=%d dir=%d health=%d corridor=[%d,%d]-[%d,%d]",
+ debugC(DEBUG_INSANE, "ship: pos=(%d,%d) roll=%d lift=%d accX=%d accY=%d dir=%d health=%d corridor=[%d,%d]-[%d,%d]",
_shipPosX, _shipPosY, _rollAccum, _liftSmooth,
_posAccumX, _posAccumY, _shipDirIndex, _health,
_corridorLeftX, _corridorTopY, _corridorRightX, _corridorBottomY);
@@ -1441,7 +1441,7 @@ void InsaneRebel1::updateTurretPhysics() {
inputY /= 2;
}
- debugC(DEBUG_INSANE, "RA1 turret input: source=%s controls=%s mouse=(%d,%d) actions(L,R,U,D)=(%d,%d,%d,%d) raw=(%d,%d) final=(%d,%d) level=%d mode=%d opcode=0x%X",
+ debugC(DEBUG_INSANE, "turret input: source=%s controls=%s mouse=(%d,%d) actions(L,R,U,D)=(%d,%d,%d,%d) raw=(%d,%d) final=(%d,%d) level=%d mode=%d opcode=0x%X",
usedJoystick ? "joystick-actions" : "mouse-path",
"enhanced",
_vm->_mouse.x, _vm->_mouse.y,
@@ -1623,13 +1623,13 @@ void InsaneRebel1::updateGameOp0BPhysics() {
// FUN_1CDA7 dispatches g_sfxDamageHit, initialized from SYS/BOOM.SAD.
playSfx(kSfxBoom, 127, 0);
if (_currentLevel == 1) {
- debugC(DEBUG_INSANE, "RA1 L2 player hit: frame=%u view=(%d,%d) latch=%u asteroid=%d flags=0x%02x health=%d->%d",
+ debugC(DEBUG_INSANE, "L2 player hit: frame=%u view=(%d,%d) latch=%u asteroid=%d flags=0x%02x health=%d->%d",
(unsigned)(uint16)_gameCounter, _perspectiveX, _perspectiveY,
(unsigned)_gameLatch5D, level2AsteroidHit ? 1 : 0,
appliedDamageFlags, oldHealth, _health);
}
if (level8WalkerPlayerHit) {
- debugC(DEBUG_INSANE, "RA1 L8 player hit by walker: route=%d frame=%u view=(%d,%d) flags=0x%02x health=%d->%d",
+ debugC(DEBUG_INSANE, "L8 player hit by walker: route=%d frame=%u view=(%d,%d) flags=0x%02x health=%d->%d",
CLIP<int>(_levelRouteIndex, 0, 2), (unsigned)(uint16)_gameCounter,
_perspectiveX, _perspectiveY, appliedDamageFlags, oldHealth, _health);
}
@@ -1701,7 +1701,7 @@ void InsaneRebel1::updateGameOp0BPhysics() {
}
_inputAxisDeltaX = inputX;
- debugC(DEBUG_INSANE, "RA1 GAME 0x0B input: frame=%d source=%s controls=%s window=%d precisionPad=%d view=(%d,%d) health=%d prevFlags=0x%02x axis=(%d,%d) mouse=(%d,%d) actions(L,R,U,D)=(%d,%d,%d,%d) raw=(%d,%d) final=(%d,%d) level=%d opcode=0x%X",
+ debugC(DEBUG_INSANE, "GAME 0x0B input: frame=%d source=%s controls=%s window=%d precisionPad=%d view=(%d,%d) health=%d prevFlags=0x%02x axis=(%d,%d) mouse=(%d,%d) actions(L,R,U,D)=(%d,%d,%d,%d) raw=(%d,%d) final=(%d,%d) level=%d opcode=0x%X",
_gameCounter,
inputSourceName,
"enhanced",
@@ -1774,7 +1774,7 @@ void InsaneRebel1::updateGameOp0BPhysics() {
const bool target215Destroyed = isFrameObjectPrimarySet(215);
if (!target211Destroyed || !target213Destroyed || !target215Destroyed) {
_levelGameplayPhase = 1;
- debugC(DEBUG_INSANE, "RA1 L12 retry armed: frame=0x%04x targets=(%d,%d,%d)",
+ debugC(DEBUG_INSANE, "L12 retry armed: frame=0x%04x targets=(%d,%d,%d)",
_frameCounter,
target211Destroyed ? 1 : 0,
target213Destroyed ? 1 : 0,
@@ -1858,7 +1858,7 @@ void InsaneRebel1::updateGameOp0BPhysics() {
checkDynamicLevelBranch();
- debugC(DEBUG_INSANE, "RA1 GAME 0x0B: pos=(%d,%d) avg=(%d,%d) view=(%d,%d) health=%d flash=%d",
+ debugC(DEBUG_INSANE, "GAME 0x0B: pos=(%d,%d) avg=(%d,%d) view=(%d,%d) health=%d flash=%d",
_shipPosX, _shipPosY, _avgInputX, _avgInputY,
_perspectiveX, _perspectiveY, _health, _screenFlash);
}
@@ -2046,7 +2046,7 @@ void InsaneRebel1::updateOnFootSequence() {
_damageCooldown = 3;
playSfx(kSfxBoom, 127, 0);
_screenFlash = 5;
- debugC(DEBUG_INSANE, "RA1 on-foot player hit: frame=%u latch=%u flags=0x%02x health=%d->%d",
+ debugC(DEBUG_INSANE, "on-foot player hit: frame=%u latch=%u flags=0x%02x health=%d->%d",
(unsigned)(uint16)_gameCounter, (unsigned)_gameLatch5D, _damageFlags, oldHealth, _health);
}
}
@@ -2103,7 +2103,7 @@ void InsaneRebel1::handleGameOpcode5EReset(uint32 param1) {
// RA1 dispatcher inline reset/init path (FUN_1BE1B case 0x5E).
// This is not a pure control-mode assignment.
if (_frameDispatchFlags & 0x40) {
- debugC(DEBUG_INSANE, "RA1 GAME 0x5E: reset suppressed by dispatch flags=0x%02x",
+ debugC(DEBUG_INSANE, "GAME 0x5E: reset suppressed by dispatch flags=0x%02x",
_frameDispatchFlags);
return;
}
@@ -2177,7 +2177,7 @@ void InsaneRebel1::handleGameOpcode5EReset(uint32 param1) {
if (_currentLevel == 7)
memset(_frameObjectState + 150, 0xFF, 150);
- debugC(DEBUG_INSANE, "RA1 GAME 0x5E: reset state field1=%d mode=%d", (int32)param1, (int)_flyControlMode);
+ debugC(DEBUG_INSANE, "GAME 0x5E: reset state field1=%d mode=%d", (int32)param1, (int)_flyControlMode);
}
void InsaneRebel1::handleGameOpcode5DLinkLatch(uint32 param1) {
@@ -2192,7 +2192,7 @@ void InsaneRebel1::handleGameOpcode5DLinkLatch(uint32 param1) {
}
}
- debugC(DEBUG_INSANE, "RA1 GAME 0x5D (link/event latch) param=%u", _gameLatch5D);
+ debugC(DEBUG_INSANE, "GAME 0x5D (link/event latch) param=%u", _gameLatch5D);
}
void InsaneRebel1::handleGameOpcode5FRandomHitLatch(uint32 param1) {
@@ -2205,7 +2205,7 @@ void InsaneRebel1::handleGameOpcode5FRandomHitLatch(uint32 param1) {
}
}
- debugC(DEBUG_INSANE, "RA1 GAME 0x5F (random-hit latch) param=%u", _gameLatch5F);
+ debugC(DEBUG_INSANE, "GAME 0x5F (random-hit latch) param=%u", _gameLatch5F);
}
void InsaneRebel1::handleGameOpcode07ShipFlight(int32 subSize, Common::SeekableReadStream &b, uint32 param1) {
@@ -2219,7 +2219,7 @@ void InsaneRebel1::handleGameOpcode07ShipFlight(int32 subSize, Common::SeekableR
b.readUint32BE(); // f2 (max frames, unused in physics)
_driftParam = (int16)(int32)b.readUint32BE();
b.readUint32BE(); // f4 (unused in original assembly)
- debugC(DEBUG_INSANE, "RA1 GAME 0x07: counter=%d driftParam=%d", _gameCounter, _driftParam);
+ debugC(DEBUG_INSANE, "GAME 0x07: counter=%d driftParam=%d", _gameCounter, _driftParam);
}
}
@@ -2285,13 +2285,13 @@ void InsaneRebel1::handleGameOpcode0DCorridor(int32 subSize, Common::SeekableRea
}
}
if ((_damageFlags & 0x0F) != oldDirectionalFlags) {
- debugC(DEBUG_INSANE, "RA1 0x0D hit: ship=(%d,%d) corridor=[%d,%d]-[%d,%d] flags=0x%02x zoneSuppressed=%d",
+ debugC(DEBUG_INSANE, "0x0D hit: ship=(%d,%d) corridor=[%d,%d]-[%d,%d] flags=0x%02x zoneSuppressed=%d",
collisionShipX, collisionShipY,
_corridorLeftX, _corridorTopY, _corridorRightX, _corridorBottomY,
_damageFlags, suppressDirectionalDamage ? 1 : 0);
}
- debugC(DEBUG_INSANE, "RA1 GAME 0x0D: raw=[%d,%d]+(%d,%d) cam=(%d,%d) transformed=[%d,%d]-[%d,%d]",
+ debugC(DEBUG_INSANE, "GAME 0x0D: raw=[%d,%d]+(%d,%d) cam=(%d,%d) transformed=[%d,%d]-[%d,%d]",
corridorLeft, corridorTop, corridorWidth, corridorHeight,
_perspectiveX, _perspectiveY,
_corridorLeftX, _corridorTopY, _corridorRightX, _corridorBottomY);
@@ -2327,12 +2327,12 @@ void InsaneRebel1::handleGameOpcode0EZone(int32 subSize, Common::SeekableReadStr
collisionShipX > zoneLeft && collisionShipX < zoneRight &&
collisionShipY > zoneTop && collisionShipY < zoneBottom) {
_damageFlags |= 0x10;
- debugC(DEBUG_INSANE, "RA1 0x0E hit: ship=(%d,%d) zone=[%d,%d]-[%d,%d] raw=[%d,%d]+(%d,%d) cam=(%d,%d) flags=0x%02x",
+ debugC(DEBUG_INSANE, "0x0E hit: ship=(%d,%d) zone=[%d,%d]-[%d,%d] raw=[%d,%d]+(%d,%d) cam=(%d,%d) flags=0x%02x",
collisionShipX, collisionShipY, zoneLeft, zoneTop, zoneRight, zoneBottom,
rawZoneLeft, rawZoneTop, zoneWidth, zoneHeight,
_perspectiveX, _perspectiveY, _damageFlags);
}
- debugC(DEBUG_INSANE, "RA1 GAME 0x0E: ship=(%d,%d) zone=[%d,%d]-[%d,%d] cam=(%d,%d) flags=0x%02x",
+ debugC(DEBUG_INSANE, "GAME 0x0E: ship=(%d,%d) zone=[%d,%d]-[%d,%d] cam=(%d,%d) flags=0x%02x",
collisionShipX, collisionShipY, zoneLeft, zoneTop, zoneRight, zoneBottom,
_perspectiveX, _perspectiveY, _damageFlags);
}
@@ -2353,10 +2353,10 @@ void InsaneRebel1::handleGameOpcode0BFirstPerson(int32 subSize, Common::Seekable
if (_interactiveVideoActive && maxFrames > 0 &&
_gameCounter >= (int32)maxFrames - 1) {
_vm->_smushVideoShouldFinish = true;
- debugC(DEBUG_INSANE, "RA1: finishing 0x0B interactive video at counter=%d/%u", _gameCounter, maxFrames);
+ debugC(DEBUG_INSANE, "finishing 0x0B interactive video at counter=%d/%u", _gameCounter, maxFrames);
}
}
- debugC(DEBUG_INSANE, "RA1 GAME 0x0B: counter=%d", _gameCounter);
+ debugC(DEBUG_INSANE, "GAME 0x0B: counter=%d", _gameCounter);
if (!_gameOp0BPhysicsUpdatedThisFrame) {
updateGameOp0BPhysics();
_gameOp0BPhysicsUpdatedThisFrame = true;
@@ -2396,7 +2396,7 @@ void InsaneRebel1::handleGameOpcode5ATarget(int32 subSize, Common::SeekableReadS
checkTargetHit(targetIdx, left, top, right, bottom);
}
}
- debugC(DEBUG_INSANE, "RA1 GAME 0x5A: target=%d rect=[%d,%d]-[%d,%d] prox=%d",
+ debugC(DEBUG_INSANE, "GAME 0x5A: target=%d rect=[%d,%d]-[%d,%d] prox=%d",
targetIdx, left, top, right, bottom, _targetProximity);
}
@@ -2409,10 +2409,10 @@ void InsaneRebel1::handleGameCounterOpcode(uint32 opcode, int32 subSize, Common:
uint32 param3 = b.readUint32BE();
uint32 param4 = b.readUint32BE();
if (opcode == 0x09) {
- debugC(DEBUG_INSANE, "RA1 GAME 0x09: counter=%d params=(%d,%d,%d) opcodeMask=0x%08x",
+ debugC(DEBUG_INSANE, "GAME 0x09: counter=%d params=(%d,%d,%d) opcodeMask=0x%08x",
_gameCounter, param2, param3, param4, _frameGameOpcodeMask);
} else {
- debugC(DEBUG_INSANE, "RA1 GAME 0x%02x: counter=%d params=(%d,%d,%d)",
+ debugC(DEBUG_INSANE, "GAME 0x%02x: counter=%d params=(%d,%d,%d)",
opcode, _gameCounter, param2, param3, param4);
}
}
@@ -2433,14 +2433,14 @@ void InsaneRebel1::handleGameChunk(int32 subSize, Common::SeekableReadStream &b,
// g_combatModeFlags skips gameplay dispatch entirely; bit 5 of g_hudDisableFlags
// suppresses the handlers while still requesting HUD refresh for a few opcodes.
if (_gameplayFlags75ff & 1) {
- debugC(DEBUG_INSANE, "RA1 GAME 0x%02x: skipped by combat mode flags=0x%02x",
+ debugC(DEBUG_INSANE, "GAME 0x%02x: skipped by combat mode flags=0x%02x",
opcode, _gameplayFlags75ff);
return;
}
if (_gameplayFlags75fe & 0x20) {
if (ra1DispatcherHudOnlyWhenDisabled(opcode))
_hudRenderFlag = 0xFF;
- debugC(DEBUG_INSANE, "RA1 GAME 0x%02x: skipped by HUD disable flags=0x%02x",
+ debugC(DEBUG_INSANE, "GAME 0x%02x: skipped by HUD disable flags=0x%02x",
opcode, _gameplayFlags75fe);
return;
}
@@ -2488,7 +2488,7 @@ void InsaneRebel1::handleGameChunk(int32 subSize, Common::SeekableReadStream &b,
break;
default:
- debugC(DEBUG_INSANE, "RA1 GAME unknown 0x%02x size=%d", opcode, subSize);
+ debugC(DEBUG_INSANE, "GAME unknown 0x%02x size=%d", opcode, subSize);
break;
}
}
@@ -2562,11 +2562,11 @@ void InsaneRebel1::processShot() {
playSfx(torpedoMode ? kSfxAlert : kSfxLaserShot, 127, 0);
if (effectiveOpcode == 0x09 || _currentLevel == 4) {
- debugC(DEBUG_INSANE, "RA1 shot: opcode=0x%02x frame=%d slot=%d cursor=(%d,%d) origin=(%d,%d) dir=%d mode=%d",
+ debugC(DEBUG_INSANE, "shot: opcode=0x%02x frame=%d slot=%d cursor=(%d,%d) origin=(%d,%d) dir=%d mode=%d",
effectiveOpcode, _gameCounter, slot, cursorX, cursorY, originX, originY,
_shipDirIndex, _flyControlMode);
} else {
- debugC(DEBUG_INSANE, "RA1 shot: slot=%d pos=(%d,%d) origin=(%d,%d)", slot,
+ debugC(DEBUG_INSANE, "shot: slot=%d pos=(%d,%d) origin=(%d,%d)", slot,
cursorX, cursorY, originX, originY);
}
}
@@ -2610,7 +2610,7 @@ void InsaneRebel1::checkTargetHit(int16 targetIdx, int16 left, int16 top, int16
if (slot < kMaxTargetBoxes)
_targetBoxVariant[slot] = CLIP<int16>((int16)(_targetBoxVariant[slot] + 3), 0, 5);
- debugC(DEBUG_INSANE, "RA1 target near: opcode=0x%02x target=%d raw=[%d,%d]-[%d,%d] cursorScreen=(%d,%d) cursorTest=(%d,%d) snap=%d prox=%d view=(%d,%d)",
+ debugC(DEBUG_INSANE, "target near: opcode=0x%02x target=%d raw=[%d,%d]-[%d,%d] cursorScreen=(%d,%d) cursorTest=(%d,%d) snap=%d prox=%d view=(%d,%d)",
effectiveOpcode, targetIdx, left, top, right, bottom,
screenCursorX, screenCursorY, curX, curY, snap, _targetProximity,
_perspectiveX, _perspectiveY);
@@ -2667,7 +2667,7 @@ void InsaneRebel1::checkTargetHit(int16 targetIdx, int16 left, int16 top, int16
damagedState += Common::String::format("%d,", objectId);
}
- debugC(DEBUG_INSANE, "RA1 L8 armor: hitObject=%d damaged=[%s] hidden=[%s]",
+ debugC(DEBUG_INSANE, "L8 armor: hitObject=%d damaged=[%s] hidden=[%s]",
targetIdx + 1, damagedState.c_str(), hiddenState.c_str());
}
@@ -2678,7 +2678,7 @@ void InsaneRebel1::checkTargetHit(int16 targetIdx, int16 left, int16 top, int16
if ((_gameplayFlags75fe & 0x10) == 0)
playSfx(kSfxExplode, 127, sfxPan);
- debugC(DEBUG_INSANE, "RA1 HIT: target=%d gost=%d pos=(%d,%d) score=%d kills=%d bangSprites=%d",
+ debugC(DEBUG_INSANE, "HIT: target=%d gost=%d pos=(%d,%d) score=%d kills=%d bangSprites=%d",
targetIdx, gi, _gostSlots[gi].posX, _gostSlots[gi].posY,
_score, _killCount, _bangBank.numSprites);
return;
diff --git a/engines/scumm/insane/rebel1/menu.cpp b/engines/scumm/insane/rebel1/menu.cpp
index f0613e5c408..6a02456d482 100644
--- a/engines/scumm/insane/rebel1/menu.cpp
+++ b/engines/scumm/insane/rebel1/menu.cpp
@@ -714,7 +714,7 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
_gameplayMouseSettleUntil = now + kRA1GameplayMouseSettleExtendMs;
warpGameplayMouseNow(recenterX, recenterY);
- debugC(DEBUG_INSANE, "RA1 mouse settle: suppress pos=(%d,%d) rel=(%d,%d) current=(%d,%d) until=%u opcode=0x%X",
+ debugC(DEBUG_INSANE, "mouse settle: suppress pos=(%d,%d) rel=(%d,%d) current=(%d,%d) until=%u opcode=0x%X",
event.mouse.x, event.mouse.y, event.relMouse.x, event.relMouse.y,
_vm->_mouse.x, _vm->_mouse.y, _gameplayMouseSettleUntil,
getEffectiveGameOpcode());
@@ -745,14 +745,14 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
if (event.type == Common::EVENT_JOYAXIS_MOTION) {
_lastJoystickAxisEventTime = _vm->_system->getMillis();
- debugC(DEBUG_INSANE, "RA1 input raw-joy-axis: axis=%d pos=%d menu=%d gameplay=%d storedAxis=(%d,%d)",
+ debugC(DEBUG_INSANE, "input raw-joy-axis: axis=%d pos=%d menu=%d gameplay=%d storedAxis=(%d,%d)",
event.joystick.axis, event.joystick.position,
_menuActive, _interactiveVideoActive && !_menuActive,
_joystickAxisX, _joystickAxisY);
}
if (event.type == Common::EVENT_JOYBUTTON_DOWN || event.type == Common::EVENT_JOYBUTTON_UP) {
- debugC(DEBUG_INSANE, "RA1 input raw-joy-button: button=%d pressed=%d menu=%d gameplay=%d storedAxis=(%d,%d)",
+ debugC(DEBUG_INSANE, "input raw-joy-button: button=%d pressed=%d menu=%d gameplay=%d storedAxis=(%d,%d)",
event.joystick.button, event.type == Common::EVENT_JOYBUTTON_DOWN,
_menuActive, _interactiveVideoActive && !_menuActive,
_joystickAxisX, _joystickAxisY);
@@ -768,12 +768,12 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
switch (event.customType) {
case kScummBackendActionRebel1AxisUp:
if (event.joystick.position == 0 && _joystickAxisY > 0) {
- debugC(DEBUG_INSANE, "RA1 input mapped-axis ignored-reset: %s pos=0 current=(%d,%d)",
+ debugC(DEBUG_INSANE, "input mapped-axis ignored-reset: %s pos=0 current=(%d,%d)",
getRebel1BackendAxisName(event.customType), _joystickAxisX, _joystickAxisY);
return true;
}
_joystickAxisY = -axisPosition;
- debugC(DEBUG_INSANE, "RA1 input mapped-axis: %s pos=%d rawPos=%d old=(%d,%d) new=(%d,%d) menu=%d gameplay=%d",
+ debugC(DEBUG_INSANE, "input mapped-axis: %s pos=%d rawPos=%d old=(%d,%d) new=(%d,%d) menu=%d gameplay=%d",
getRebel1BackendAxisName(event.customType), axisPosition, event.joystick.position,
oldAxisX, oldAxisY, _joystickAxisX, _joystickAxisY,
_menuActive, _interactiveVideoActive && !_menuActive);
@@ -782,12 +782,12 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
return true;
case kScummBackendActionRebel1AxisDown:
if (event.joystick.position == 0 && _joystickAxisY < 0) {
- debugC(DEBUG_INSANE, "RA1 input mapped-axis ignored-reset: %s pos=0 current=(%d,%d)",
+ debugC(DEBUG_INSANE, "input mapped-axis ignored-reset: %s pos=0 current=(%d,%d)",
getRebel1BackendAxisName(event.customType), _joystickAxisX, _joystickAxisY);
return true;
}
_joystickAxisY = axisPosition;
- debugC(DEBUG_INSANE, "RA1 input mapped-axis: %s pos=%d rawPos=%d old=(%d,%d) new=(%d,%d) menu=%d gameplay=%d",
+ debugC(DEBUG_INSANE, "input mapped-axis: %s pos=%d rawPos=%d old=(%d,%d) new=(%d,%d) menu=%d gameplay=%d",
getRebel1BackendAxisName(event.customType), axisPosition, event.joystick.position,
oldAxisX, oldAxisY, _joystickAxisX, _joystickAxisY,
_menuActive, _interactiveVideoActive && !_menuActive);
@@ -796,12 +796,12 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
return true;
case kScummBackendActionRebel1AxisLeft:
if (event.joystick.position == 0 && _joystickAxisX > 0) {
- debugC(DEBUG_INSANE, "RA1 input mapped-axis ignored-reset: %s pos=0 current=(%d,%d)",
+ debugC(DEBUG_INSANE, "input mapped-axis ignored-reset: %s pos=0 current=(%d,%d)",
getRebel1BackendAxisName(event.customType), _joystickAxisX, _joystickAxisY);
return true;
}
_joystickAxisX = -axisPosition;
- debugC(DEBUG_INSANE, "RA1 input mapped-axis: %s pos=%d rawPos=%d old=(%d,%d) new=(%d,%d) menu=%d gameplay=%d",
+ debugC(DEBUG_INSANE, "input mapped-axis: %s pos=%d rawPos=%d old=(%d,%d) new=(%d,%d) menu=%d gameplay=%d",
getRebel1BackendAxisName(event.customType), axisPosition, event.joystick.position,
oldAxisX, oldAxisY, _joystickAxisX, _joystickAxisY,
_menuActive, _interactiveVideoActive && !_menuActive);
@@ -810,12 +810,12 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
return true;
case kScummBackendActionRebel1AxisRight:
if (event.joystick.position == 0 && _joystickAxisX < 0) {
- debugC(DEBUG_INSANE, "RA1 input mapped-axis ignored-reset: %s pos=0 current=(%d,%d)",
+ debugC(DEBUG_INSANE, "input mapped-axis ignored-reset: %s pos=0 current=(%d,%d)",
getRebel1BackendAxisName(event.customType), _joystickAxisX, _joystickAxisY);
return true;
}
_joystickAxisX = axisPosition;
- debugC(DEBUG_INSANE, "RA1 input mapped-axis: %s pos=%d rawPos=%d old=(%d,%d) new=(%d,%d) menu=%d gameplay=%d",
+ debugC(DEBUG_INSANE, "input mapped-axis: %s pos=%d rawPos=%d old=(%d,%d) new=(%d,%d) menu=%d gameplay=%d",
getRebel1BackendAxisName(event.customType), axisPosition, event.joystick.position,
oldAxisX, oldAxisY, _joystickAxisX, _joystickAxisY,
_menuActive, _interactiveVideoActive && !_menuActive);
@@ -831,7 +831,7 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
event.type == Common::EVENT_CUSTOM_ENGINE_ACTION_END) {
const bool pressed = (event.type == Common::EVENT_CUSTOM_ENGINE_ACTION_START);
- debugC(DEBUG_INSANE, "RA1 input mapped-action: action=%s custom=%u pressed=%d menu=%d gameplay=%d storedAxis=(%d,%d) actionState(L,R,U,D)=(%d,%d,%d,%d)",
+ debugC(DEBUG_INSANE, "input mapped-action: action=%s custom=%u pressed=%d menu=%d gameplay=%d storedAxis=(%d,%d) actionState(L,R,U,D)=(%d,%d,%d,%d)",
getRebel1ActionName(event.customType), event.customType, pressed,
_menuActive, _interactiveVideoActive && !_menuActive,
_joystickAxisX, _joystickAxisY,
@@ -947,10 +947,10 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
const uint32 elapsedSinceAxis = _lastJoystickAxisEventTime ? now - _lastJoystickAxisEventTime : 0xffffffffu;
if (_interactiveVideoActive && !_menuActive) {
- debugC(DEBUG_INSANE, "RA1 input mainmenu-event: gameplay=1 elapsedSinceAxis=%u storedAxis=(%d,%d)",
+ debugC(DEBUG_INSANE, "input mainmenu-event: gameplay=1 elapsedSinceAxis=%u storedAxis=(%d,%d)",
elapsedSinceAxis, _joystickAxisX, _joystickAxisY);
if (elapsedSinceAxis <= kRA1JoystickAxisEscGuardMs) {
- debugC(DEBUG_INSANE, "RA1 input ignored mainmenu event after recent joystick axis movement (%u ms)", elapsedSinceAxis);
+ debugC(DEBUG_INSANE, "input ignored mainmenu event after recent joystick axis movement (%u ms)", elapsedSinceAxis);
return true;
}
@@ -966,11 +966,11 @@ bool InsaneRebel1::notifyEvent(const Common::Event &event) {
event.kbd.keycode == Common::KEYCODE_ESCAPE) {
const uint32 now = _vm->_system->getMillis();
const uint32 elapsedSinceAxis = _lastJoystickAxisEventTime ? now - _lastJoystickAxisEventTime : 0xffffffffu;
- debugC(DEBUG_INSANE, "RA1 input keydown-escape: gameplay=1 ascii=%d flags=0x%x repeat=%d elapsedSinceAxis=%u storedAxis=(%d,%d)",
+ debugC(DEBUG_INSANE, "input keydown-escape: gameplay=1 ascii=%d flags=0x%x repeat=%d elapsedSinceAxis=%u storedAxis=(%d,%d)",
event.kbd.ascii, event.kbd.flags, event.kbdRepeat,
elapsedSinceAxis, _joystickAxisX, _joystickAxisY);
if (elapsedSinceAxis <= kRA1JoystickAxisEscGuardMs) {
- debugC(DEBUG_INSANE, "RA1 input ignored ESC after recent joystick axis movement (%u ms)", elapsedSinceAxis);
+ debugC(DEBUG_INSANE, "input ignored ESC after recent joystick axis movement (%u ms)", elapsedSinceAxis);
return true;
}
@@ -1282,7 +1282,7 @@ int InsaneRebel1::runPasscodeEntryDialog() {
_maxChapterUnlocked = MAX<int16>(_maxChapterUnlocked, i);
if (targetLevel <= kRA1NumLevels)
_startLevel = targetLevel;
- debugC(DEBUG_INSANE, "RA1 passcode accepted: slot=%d password=%s difficulty=%d target=%d",
+ debugC(DEBUG_INSANE, "passcode accepted: slot=%d password=%s difficulty=%d target=%d",
i, password, _difficulty, targetLevel);
return targetLevel;
}
@@ -1298,13 +1298,13 @@ int InsaneRebel1::runPasscodeEntryDialog() {
_difficulty = getRebel1ThreeDOPasscodeDifficulty(i);
if (targetLevel <= kRA1NumLevels)
_startLevel = targetLevel;
- debugC(DEBUG_INSANE, "RA1 3DO passcode accepted: slot=%d password=%s difficulty=%d target=%d",
+ debugC(DEBUG_INSANE, "3DO passcode accepted: slot=%d password=%s difficulty=%d target=%d",
i, password, _difficulty, targetLevel);
return targetLevel;
}
}
- debugC(DEBUG_INSANE, "RA1 passcode rejected: '%s'", _textEntryBuffer);
+ debugC(DEBUG_INSANE, "passcode rejected: '%s'", _textEntryBuffer);
return 0;
}
@@ -1331,7 +1331,7 @@ bool InsaneRebel1::runHighScoreNameEntry() {
Common::strlcpy(_highScores[slot].name, storedName.c_str(), sizeof(_highScores[slot].name));
_highScores[slot].difficulty = _difficulty;
_highScoreEntryIndex = -1;
- debugC(DEBUG_INSANE, "RA1 high score inserted: slot=%d name=%s score=%ld difficulty=%d",
+ debugC(DEBUG_INSANE, "high score inserted: slot=%d name=%s score=%ld difficulty=%d",
slot, _highScores[slot].name, (long)_highScores[slot].score, _highScores[slot].difficulty);
return true;
}
diff --git a/engines/scumm/insane/rebel1/rebel.cpp b/engines/scumm/insane/rebel1/rebel.cpp
index e4bfb41ef65..b1e67bafc9c 100644
--- a/engines/scumm/insane/rebel1/rebel.cpp
+++ b/engines/scumm/insane/rebel1/rebel.cpp
@@ -193,7 +193,7 @@ void InsaneRebel1::loadTuningForLevel(int level) {
_protectedTargetA = 0;
_protectedTargetB = 0;
- debugC(DEBUG_INSANE, "RA1: Loaded tuning level=%d diff=%d: roll=%d lift=%d slide=%d drift=%d snap=%d "
+ debugC(DEBUG_INSANE, "Loaded tuning level=%d diff=%d: roll=%d lift=%d slide=%d drift=%d snap=%d "
"miss=%d wham=%d shot=%d kill=%d time=%d levelPts=%d bonus=%d flags=0x%x",
level, d, _tuning.roll, _tuning.lift, _tuning.slide, _tuning.drift, _tuning.snap,
_tuning.miss, _tuning.wham, _tuning.shot, _tuning.kill,
diff --git a/engines/scumm/insane/rebel1/render.cpp b/engines/scumm/insane/rebel1/render.cpp
index aafe827bde7..a485368963a 100644
--- a/engines/scumm/insane/rebel1/render.cpp
+++ b/engines/scumm/insane/rebel1/render.cpp
@@ -1355,7 +1355,7 @@ void InsaneRebel1::renderLaserShots(byte *dst, int pitch, int width, int height)
const int start1Y = shipBaseY + emit.y1;
const int start2X = shipBaseX + emit.x2;
const int start2Y = shipBaseY + emit.y2;
- debugC(DEBUG_INSANE, "RA1 op09 shotRender: frame=%d timer=%d shipBase=(%d,%d) target=(%d,%d) emit1=(%d,%d) emit2=(%d,%d) dir=%d variant=%d mode=%d",
+ debugC(DEBUG_INSANE, "op09 shotRender: frame=%d timer=%d shipBase=(%d,%d) target=(%d,%d) emit1=(%d,%d) emit2=(%d,%d) dir=%d variant=%d mode=%d",
_gameCounter, timer, shipBaseX, shipBaseY, targetX, targetY,
start1X, start1Y, start2X, start2Y, _shipDirIndex,
_shotSlots[i].variant, _flyControlMode);
@@ -2006,7 +2006,7 @@ void InsaneRebel1::updateLevel8WalkerState() {
_pendingRouteIndex = newRoute;
_pendingRouteCutoverFrame = _gameCounter + 7;
_pendingRouteStartFrame = _pendingRouteCutoverFrame;
- debugC(DEBUG_INSANE, "RA1 L8 branch: route=%d -> %d at frame=%u shipX=%d resumeTimelineFrame=%d cutoverFrame=%d",
+ debugC(DEBUG_INSANE, "L8 branch: route=%d -> %d at frame=%u shipX=%d resumeTimelineFrame=%d cutoverFrame=%d",
route, newRoute, (unsigned)_gameCounter, _shipPosX,
(int)_pendingRouteStartFrame, (int)_pendingRouteCutoverFrame);
}
diff --git a/engines/scumm/insane/rebel1/runlevels.cpp b/engines/scumm/insane/rebel1/runlevels.cpp
index 02b741f8a74..b4bc7849507 100644
--- a/engines/scumm/insane/rebel1/runlevels.cpp
+++ b/engines/scumm/insane/rebel1/runlevels.cpp
@@ -576,7 +576,7 @@ bool InsaneRebel1::runLevel4() {
if (shieldGeneratorsDestroyed)
break;
- debugC(DEBUG_INSANE, "RA1 L4 replaying shield-generator phase: hits=(%d,%d) protected=(%d,%d)",
+ debugC(DEBUG_INSANE, "L4 replaying shield-generator phase: hits=(%d,%d) protected=(%d,%d)",
(int)_shieldGenHitsA, (int)_shieldGenHitsB,
(int)_protectedTargetA, (int)_protectedTargetB);
replayingShieldGeneratorPhase = true;
@@ -892,7 +892,7 @@ bool InsaneRebel1::runLevel8() {
// shield register is nonzero. ScummVM's blocking SMUSH play returns
// when one route pass ends, so explicitly replay that route and
// preserve the accumulated walker damage.
- debugC(DEBUG_INSANE, "RA1 L8 replaying route=%d walkerHealth=%d killCount=%d",
+ debugC(DEBUG_INSANE, "L8 replaying route=%d walkerHealth=%d killCount=%d",
route, (int)_walkerHealth, (int)_killCount);
routeStartFrame = 0;
_walkerTimer = 0;
@@ -958,7 +958,7 @@ bool InsaneRebel1::runLevel9() {
if (_killCount > 0)
return (_shipPosX < kRA1CenterX) ? 0 : 1;
- debugC(DEBUG_INSANE, "RA1 L9 selector '%s' ended without target hit; replaying", filename);
+ debugC(DEBUG_INSANE, "L9 selector '%s' ended without target hit; replaying", filename);
}
return -1;
};
@@ -1342,7 +1342,7 @@ bool InsaneRebel1::runLevel14() {
if (level14Phase1Complete)
break;
- debugC(DEBUG_INSANE, "RA1 L14 replaying phase 1: successFrames=%d targetsDestroyed=%d",
+ debugC(DEBUG_INSANE, "L14 replaying phase 1: successFrames=%d targetsDestroyed=%d",
(int)_level14SuccessFrames, areLevel14Phase1TargetsDestroyed() ? 1 : 0);
replayingLevel14Phase1 = true;
}
@@ -1401,7 +1401,7 @@ bool InsaneRebel1::runLevel14() {
if (level14Phase2Complete)
break;
- debugC(DEBUG_INSANE, "RA1 L14 replaying phase 2: video=%s successFrames=%d targetsDestroyed=%d",
+ debugC(DEBUG_INSANE, "L14 replaying phase 2: video=%s successFrames=%d targetsDestroyed=%d",
level14Phase2Video, (int)_level14SuccessFrames,
areLevel14Phase2TargetsDestroyed() ? 1 : 0);
replayingLevel14Phase2 = true;
@@ -1735,30 +1735,30 @@ void InsaneRebel1::resolveSeek(const char *filename, int32 startFrame, int32 &vi
_pendingRouteVideoStartFrame : 1;
videoOffset = findAnimFrameChunkOffset(_vm, filename, videoStartFrame);
if (videoOffset < 0) {
- debugC(DEBUG_INSANE, "RA1 L7 route switch: route=%d destinationFrame=%d offset lookup failed",
+ debugC(DEBUG_INSANE, "L7 route switch: route=%d destinationFrame=%d offset lookup failed",
_levelRouteIndex, (int)videoStartFrame);
videoStartFrame = 0;
videoOffset = 0;
} else {
- debugC(DEBUG_INSANE, "RA1 L7 route switch: route=%d decisionLocalFrame=%d opens destination at localFrame=%d offset=0x%x",
+ debugC(DEBUG_INSANE, "L7 route switch: route=%d decisionLocalFrame=%d opens destination at localFrame=%d offset=0x%x",
_levelRouteIndex, (int)_pendingRouteStartFrame,
(int)videoStartFrame, (unsigned)videoOffset);
}
} else if (_currentLevel == 7 && resumingRoute) {
videoOffset = findAnimFrameChunkOffsetByGameCounter(_vm, filename, startFrame, videoStartFrame);
if (videoOffset < 0) {
- debugC(DEBUG_INSANE, "RA1 L8 resume: route=%d timelineFrame=%d GAME counter lookup failed",
+ debugC(DEBUG_INSANE, "L8 resume: route=%d timelineFrame=%d GAME counter lookup failed",
_levelRouteIndex, (int)startFrame);
videoStartFrame = startFrame;
videoOffset = findAnimFrameChunkOffset(_vm, filename, videoStartFrame);
}
if (videoOffset < 0) {
- debugC(DEBUG_INSANE, "RA1 L8 resume: route=%d timelineFrame=%d localFrame=%d offset lookup failed",
+ debugC(DEBUG_INSANE, "L8 resume: route=%d timelineFrame=%d localFrame=%d offset lookup failed",
_levelRouteIndex, (int)startFrame, (int)videoStartFrame);
videoStartFrame = 0;
videoOffset = 0;
} else {
- debugC(DEBUG_INSANE, "RA1 L8 resume: route=%d timelineFrame=%d -> localFrame=%d offset=0x%x",
+ debugC(DEBUG_INSANE, "L8 resume: route=%d timelineFrame=%d -> localFrame=%d offset=0x%x",
_levelRouteIndex, (int)startFrame, (int)videoStartFrame, (unsigned)videoOffset);
}
} else if (_currentLevel == 13 && resumingRoute) {
@@ -1766,7 +1766,7 @@ void InsaneRebel1::resolveSeek(const char *filename, int32 startFrame, int32 &vi
// oldMaxFrame-0x0F, 1, -1). That frame number belongs to L14PLAY2's
// timeline; L14PLY2B is already the continuation clip and starts at its
// matching lead-in frame. Preserve the current state, but do not seek.
- debugC(DEBUG_INSANE, "RA1 L14 splice: L14PLAY2 timelineFrame=%d -> L14PLY2B frame 0",
+ debugC(DEBUG_INSANE, "L14 splice: L14PLAY2 timelineFrame=%d -> L14PLY2B frame 0",
(int)startFrame);
}
}
@@ -1796,7 +1796,7 @@ void InsaneRebel1::captureInteractiveVideoInput() {
if (!isTouchscreenActive())
g_system->lockMouse(true);
- debugC(DEBUG_INSANE, "RA1 centerGameplayAim: mouse=(%d,%d) joystick=(%d,%d) gamepadAim=%d settleUntil=%u preserve=%d",
+ debugC(DEBUG_INSANE, "centerGameplayAim: mouse=(%d,%d) joystick=(%d,%d) gamepadAim=%d settleUntil=%u preserve=%d",
_vm->_mouse.x, _vm->_mouse.y, _joystickAxisX, _joystickAxisY,
_gamepadAimActive ? 1 : 0, _gameplayMouseSettleUntil,
preserveInputState ? 1 : 0);
diff --git a/engines/scumm/insane/rebel1/saveload.cpp b/engines/scumm/insane/rebel1/saveload.cpp
index 09335106b4d..61d7ab8bef5 100644
--- a/engines/scumm/insane/rebel1/saveload.cpp
+++ b/engines/scumm/insane/rebel1/saveload.cpp
@@ -115,7 +115,7 @@ Common::Error InsaneRebel1::writeSaveState(int slot, const Common::String &desc,
return Common::kWritingFailed;
}
- debugC(DEBUG_INSANE, "RA1: saved slot=%d level=%d lives=%d score=%d desc='%s'",
+ debugC(DEBUG_INSANE, "saved slot=%d level=%d lives=%d score=%d desc='%s'",
slot, state.resumeLevel, state.lives, state.score, desc.c_str());
return Common::kNoError;
}
@@ -219,7 +219,7 @@ Common::Error InsaneRebel1::loadGameState(int slot, bool startupLoad) {
_vm->_smushVideoShouldFinish = true;
}
- debugC(DEBUG_INSANE, "RA1: loaded slot=%d level=%d lives=%d score=%d", slot, _resumeLevel, _lives, _score);
+ debugC(DEBUG_INSANE, "loaded slot=%d level=%d lives=%d score=%d", slot, _resumeLevel, _lives, _score);
return Common::kNoError;
}
@@ -238,7 +238,7 @@ void InsaneRebel1::autosaveProgress() {
if (readSaveState(slot, oldState, &oldDesc)) {
if (oldState.resumeLevel > state.resumeLevel ||
(oldState.resumeLevel == state.resumeLevel && oldState.lives >= state.lives)) {
- debugC(DEBUG_INSANE, "RA1: skipping autosave slot=%d level=%d lives=%d; existing level=%d lives=%d",
+ debugC(DEBUG_INSANE, "skipping autosave slot=%d level=%d lives=%d; existing level=%d lives=%d",
slot, state.resumeLevel, state.lives, oldState.resumeLevel, oldState.lives);
return;
}
diff --git a/engines/scumm/insane/rebel2/iact.cpp b/engines/scumm/insane/rebel2/iact.cpp
index d1e34b8355a..b640ad26023 100644
--- a/engines/scumm/insane/rebel2/iact.cpp
+++ b/engines/scumm/insane/rebel2/iact.cpp
@@ -49,7 +49,7 @@ static bool readLevel2BackgroundChunkHeader(Common::SeekableReadStream &stream,
const int64 dataStart = stream.pos();
if ((int64)chunkSize > containerEnd - dataStart) {
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Truncated %s chunk 0x%08X at %lld: size=%u, remaining=%lld",
+ debugC(DEBUG_INSANE, "loadLevel2Background: Truncated %s chunk 0x%08X at %lld: size=%u, remaining=%lld",
context, tag, headerPos, chunkSize, containerEnd - dataStart);
return false;
}
@@ -136,7 +136,7 @@ void InsaneRebel2::procPreRendering(byte *renderBitmap) {
void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan12,
int32 setupsan13, Common::SeekableReadStream &b, int32 size, int32 flags,
int16 par1, int16 par2, int16 par3, int16 par4) {
- debugC(DEBUG_INSANE, "Rebel2 IACT: opcode=%d par2=%d par3=%d par4=%d gameState=%d sceneId=%d",
+ debugC(DEBUG_INSANE, "IACT: opcode=%d par2=%d par3=%d par4=%d gameState=%d sceneId=%d",
par1, par2, par3, par4, _gameState, _currSceneId);
if (_keyboardDisable)
@@ -146,12 +146,12 @@ void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan
// Menu IACTs have par1=8 (code), par2=46 (flags), par4>=1000 (userId)
// The embedded ANIM contains the full menu frame
if (_gameState == kStateMainMenu && par1 == 8 && par4 >= 1000) {
- debugC(DEBUG_INSANE, "Rebel2 IACT: Menu mode - processing embedded ANIM (userId=%d)", par4);
+ debugC(DEBUG_INSANE, "IACT: Menu mode - processing embedded ANIM (userId=%d)", par4);
// Scan for embedded ANIM tag in the IACT data
int64 startPos = b.pos();
int64 totalSize = b.size();
- debugC(DEBUG_INSANE, "Rebel2 IACT: stream pos=%d, size=%d, remaining=%d",
+ debugC(DEBUG_INSANE, "IACT: stream pos=%d, size=%d, remaining=%d",
(int)startPos, (int)totalSize, (int)(totalSize - startPos));
if (totalSize > startPos) {
@@ -160,7 +160,7 @@ void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan
byte *scanBuf = (byte *)malloc(scanSize);
if (scanBuf) {
int bytesRead = b.read(scanBuf, scanSize);
- debugC(DEBUG_INSANE, "Rebel2 IACT: Read %d bytes, first 16: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
+ debugC(DEBUG_INSANE, "IACT: Read %d bytes, first 16: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
bytesRead, scanBuf[0], scanBuf[1], scanBuf[2], scanBuf[3],
scanBuf[4], scanBuf[5], scanBuf[6], scanBuf[7],
scanBuf[8], scanBuf[9], scanBuf[10], scanBuf[11],
@@ -172,7 +172,7 @@ void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan
int64 animStreamPos = startPos + i;
uint32 animReportedSize = READ_BE_UINT32(scanBuf + i + 4);
int32 toCopy = (int)MIN<int64>((int64)animReportedSize + 8, totalSize - animStreamPos);
- debugC(DEBUG_INSANE, "Rebel2 IACT: Found embedded ANIM at offset %d, size %d", (int)i, (int)animReportedSize);
+ debugC(DEBUG_INSANE, "IACT: Found embedded ANIM at offset %d, size %d", (int)i, (int)animReportedSize);
if (toCopy > 0) {
byte *animData = (byte *)malloc(toCopy);
if (animData) {
@@ -189,7 +189,7 @@ void InsaneRebel2::procIACT(byte *renderBitmap, int32 codecparam, int32 setupsan
}
}
- debugC(DEBUG_INSANE, "Rebel2 IACT: No ANIM tag found in menu IACT data");
+ debugC(DEBUG_INSANE, "IACT: No ANIM tag found in menu IACT data");
b.seek(startPos);
free(scanBuf);
}
@@ -243,7 +243,7 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
// Sub-opcode 0x0D (13) = Primary collision zones (obstacles)
// Sub-opcode 0x0E (14) = Secondary collision zones (boundaries)
// par2 is the sub-opcode that determines which zone table to use
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode 5: par2=%d par3=%d par4=%d", par2, par3, par4);
+ debugC(DEBUG_INSANE, "IACT Opcode 5: par2=%d par3=%d par4=%d", par2, par3, par4);
if (par2 == 0x0D || par2 == 0x0E) {
// Register the collision zone from the remaining IACT data
@@ -275,7 +275,7 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
// DAT_00443b12 = horizontal wind, DAT_00443b14 = vertical wind
_windParamX = body0;
_windParamY = body1;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=0: wind=(%d,%d)", body0, body1);
+ debugC(DEBUG_INSANE, "Opcode 7 par4=0: wind=(%d,%d)", body0, body1);
break;
case 1:
// Set LEFT X boundary and TOP Y boundary
@@ -287,7 +287,7 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
} else if (_flyControlMode == 0) {
_corridorLeftX += 20;
}
- debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=1: corridor left=%d top=%d (adjusted left=%d)",
+ debugC(DEBUG_INSANE, "Opcode 7 par4=1: corridor left=%d top=%d (adjusted left=%d)",
body0, body1, _corridorLeftX);
break;
case 2:
@@ -300,16 +300,16 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
} else if (_flyControlMode == 0) {
_corridorRightX -= 20;
}
- debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=2: corridor right=%d bottom=%d (adjusted right=%d)",
+ debugC(DEBUG_INSANE, "Opcode 7 par4=2: corridor right=%d bottom=%d (adjusted right=%d)",
body0, body1, _corridorRightX);
break;
case 5:
// DAT_00443b52: repeats FLY002 ship overlay in FUN_40D836.
_flyOverlayRepeatCount = body0;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=5: flyOverlayRepeat=%d", _flyOverlayRepeatCount);
+ debugC(DEBUG_INSANE, "Opcode 7 par4=5: flyOverlayRepeat=%d", _flyOverlayRepeatCount);
break;
default:
- debugC(DEBUG_INSANE, "Rebel2 Opcode 7 par4=%d: body=(%d,%d) â unknown sub-opcode", par4, body0, body1);
+ debugC(DEBUG_INSANE, "Opcode 7 par4=%d: body=(%d,%d) â unknown sub-opcode", par4, body0, body1);
break;
}
@@ -324,9 +324,9 @@ void InsaneRebel2::iactRebel2Scene1(byte *renderBitmap, int32 codecparam, int32
iactRebel2Opcode9(renderBitmap, b, par2, par3, par4);
} else if (par1 == 0 || par1 == 1) {
// Low Opcodes seen in logs
- debugC(DEBUG_INSANE, "Rebel2 IACT: Low Opcode %d (par2=%d par3=%d par4=%d)", par1, par2, par3, par4);
+ debugC(DEBUG_INSANE, "IACT: Low Opcode %d (par2=%d par3=%d par4=%d)", par1, par2, par3, par4);
} else {
- debugC(DEBUG_INSANE, "Rebel2 IACT: Unknown Opcode %d (par2=%d par3=%d par4=%d)", par1, par2, par3, par4);
+ debugC(DEBUG_INSANE, "IACT: Unknown Opcode %d (par2=%d par3=%d par4=%d)", par1, par2, par3, par4);
}
}
@@ -359,13 +359,13 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
// while the parent is alive, and revealed when the parent is destroyed.
if (!isBitSet(parentId)) {
setBit(childId);
- debugC(DEBUG_INSANE, "Rebel2: Linked ID=%d to Parent=%d (Slot 0) - child DISABLED (parent alive)", childId, parentId);
+ debugC(DEBUG_INSANE, "Linked ID=%d to Parent=%d (Slot 0) - child DISABLED (parent alive)", childId, parentId);
} else {
clearBit(childId);
- debugC(DEBUG_INSANE, "Rebel2: Linked ID=%d to Parent=%d (Slot 0) - child ENABLED (parent dead)", childId, parentId);
+ debugC(DEBUG_INSANE, "Linked ID=%d to Parent=%d (Slot 0) - child ENABLED (parent dead)", childId, parentId);
}
} else {
- debugC(DEBUG_INSANE, "Rebel2: Skipping link with invalid IDs childId=%d parentId=%d", childId, parentId);
+ debugC(DEBUG_INSANE, "Skipping link with invalid IDs childId=%d parentId=%d", childId, parentId);
}
return;
} else if (par3 == 1) { // Probabilistic / counter cases: par3 == 1
@@ -385,13 +385,13 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
if (value == 100) {
// par4==100: Force enable the target (original: FUN_00423a00)
clearBit(targetId);
- debugC(DEBUG_INSANE, "Rebel2 Opcode2 (H%d): Force ENABLE target=%d (par4=100)", _rebelHandler, targetId);
+ debugC(DEBUG_INSANE, "Opcode2 (H%d): Force ENABLE target=%d (par4=100)", _rebelHandler, targetId);
} else {
// Check wave state: if enemy type has been killed, disable target
int bitMask = 1 << (value & 0x1f);
if ((_rebelWaveState & bitMask) != 0) {
setBit(targetId);
- debugC(DEBUG_INSANE, "Rebel2 Opcode2 (H%d): Disable target=%d (type %d killed, wave=0x%x)", _rebelHandler, targetId, value, _rebelWaveState);
+ debugC(DEBUG_INSANE, "Opcode2 (H%d): Disable target=%d (type %d killed, wave=0x%x)", _rebelHandler, targetId, value, _rebelWaveState);
}
}
return;
@@ -400,19 +400,19 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
if (value > 1 && value < 10) { // 1 < value < 10: random disable
if (_vm->_rnd.getRandomNumber(value) == 0) {
setBit(targetId);
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Random DISABLE target=%d (value=%d)", targetId, value);
+ debugC(DEBUG_INSANE, "IACT Opcode2: Random DISABLE target=%d (value=%d)", targetId, value);
}
} else if (value > 10 && value < 20) { // 10 < value < 20: enable/disable with special value==11 = force enable
if (value == 11) {
clearBit(targetId);
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: FORCE ENABLE target=%d (value=11)", targetId);
+ debugC(DEBUG_INSANE, "IACT Opcode2: FORCE ENABLE target=%d (value=11)", targetId);
} else {
if (_vm->_rnd.getRandomNumber(value - 10) == 0) {
clearBit(targetId);
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Random ENABLE target=%d (value=%d)", targetId, value);
+ debugC(DEBUG_INSANE, "IACT Opcode2: Random ENABLE target=%d (value=%d)", targetId, value);
} else {
setBit(targetId);
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Random DISABLE target=%d (value=%d)", targetId, value);
+ debugC(DEBUG_INSANE, "IACT Opcode2: Random DISABLE target=%d (value=%d)", targetId, value);
}
}
} else if (value > 99 && value < 110) { // 99 < value < 110: increment value counter if target active
@@ -421,7 +421,7 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
if (idx >= 0 && idx < 10) {
_rebelValueCounters[idx]++;
_rebelLastCounter = _rebelValueCounters[idx];
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Increment VAL counter[%d] -> %d (target=%d)", value, _rebelValueCounters[idx], targetId);
+ debugC(DEBUG_INSANE, "IACT Opcode2: Increment VAL counter[%d] -> %d (target=%d)", value, _rebelValueCounters[idx], targetId);
}
}
@@ -431,14 +431,14 @@ void InsaneRebel2::iactRebel2Opcode2(Common::SeekableReadStream &b, int16 par2,
if (!isBitSet(targetId)) {
_rebelMaskCounters[slot]++;
_rebelLastCounter = _rebelMaskCounters[slot];
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Increment MASK counter[%d] -> %d (target=%d)", slot, _rebelMaskCounters[slot], targetId);
+ debugC(DEBUG_INSANE, "IACT Opcode2: Increment MASK counter[%d] -> %d (target=%d)", slot, _rebelMaskCounters[slot], targetId);
}
}
}
}
// Unknown sub-type: log and return
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode2: Unhandled par3=%d par4=%d", par3, par4);
+ debugC(DEBUG_INSANE, "IACT Opcode2: Unhandled par3=%d par4=%d", par3, par4);
}
}
@@ -477,35 +477,35 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
if (par3 == 5) {
// Probabilistic damage with cover check (lines 81-92)
- debugC(DEBUG_INSANE, "Rebel2 Opcode3: H25 par3=5 srcId=%d isBitSet=%d damageLevel=%d",
+ debugC(DEBUG_INSANE, "Opcode3: H25 par3=5 srcId=%d isBitSet=%d damageLevel=%d",
srcIdBody1, isBitSet(srcIdBody1), _rebelDamageLevel);
if (_rebelDamageLevel < 2 && !isBitSet(srcIdBody1)) {
LevelDifficultyParams params = getDifficultyParams();
int probability = (params.shotAccuracy >= 0) ? params.shotAccuracy : 0;
int roll = _vm->_rnd.getRandomNumber(99);
- debugC(DEBUG_INSANE, "Rebel2 Opcode3: probability=%d roll=%d (need roll < prob)", probability, roll);
+ debugC(DEBUG_INSANE, "Opcode3: probability=%d roll=%d (need roll < prob)", probability, roll);
if (roll < probability) {
int damageAmount = (params.shotDamage >= 0) ? params.shotDamage : 0;
if (applyPlayerDamage(damageAmount)) {
- debugC(DEBUG_INSANE, "Rebel2: H25 PROBABILISTIC damage from %d. Damage=%d total=%d",
+ debugC(DEBUG_INSANE, "H25 PROBABILISTIC damage from %d. Damage=%d total=%d",
srcIdBody1, damageAmount, _playerDamage);
}
if (!_noDamage)
initDamageFlash();
}
} else {
- debugC(DEBUG_INSANE, "Rebel2 Opcode3: H25 par3=5 BLOCKED (damageLevel=%d isBitSet=%d)",
+ debugC(DEBUG_INSANE, "Opcode3: H25 par3=5 BLOCKED (damageLevel=%d isBitSet=%d)",
_rebelDamageLevel, isBitSet(srcIdBody1));
}
} else if (par3 == 1 && !isBitSet(srcIdBody0) && par4 != 4) {
// Hit counter only â NO damage (lines 94-98)
_rebelHitCounter++;
- debugC(DEBUG_INSANE, "Rebel2: H25 hit counter++ -> %d (par3=1 par4=%d, no damage)",
+ debugC(DEBUG_INSANE, "H25 hit counter++ -> %d (par3=1 par4=%d, no damage)",
_rebelHitCounter, par4);
} else {
- debugC(DEBUG_INSANE, "Rebel2 Opcode3: H25 par3=%d par4=%d (no action)", par3, par4);
+ debugC(DEBUG_INSANE, "Opcode3: H25 par3=%d par4=%d (no action)", par3, par4);
}
// Direct damage: par4==100, separate from par3 branches (lines 99-111)
@@ -513,7 +513,7 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
LevelDifficultyParams dparams = getDifficultyParams();
int directHitDamage = (dparams.missDamage >= 0) ? dparams.missDamage : 0;
if (applyPlayerDamage(directHitDamage)) {
- debugC(DEBUG_INSANE, "Rebel2: H25 DIRECT HIT par4=100 damage=%d total=%d",
+ debugC(DEBUG_INSANE, "H25 DIRECT HIT par4=100 damage=%d total=%d",
directHitDamage, _playerDamage);
}
if (!_noDamage)
@@ -523,12 +523,12 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
// Non-Handler-25 direct hit path â FUN_4092D9 lines 209-227
int16 srcId = b.readSint16LE(); // body[0] (offset +8): source enemy ID
- debugC(DEBUG_INSANE, "Rebel2 Opcode3: par3=%d par4=%d srcId=%d isBitSet=%d",
+ debugC(DEBUG_INSANE, "Opcode3: par3=%d par4=%d srcId=%d isBitSet=%d",
par3, par4, srcId, isBitSet(srcId));
if (!isBitSet(srcId)) {
_rebelHitCounter++;
- debugC(DEBUG_INSANE, "Rebel2: Incremented hit counter -> %d", _rebelHitCounter);
+ debugC(DEBUG_INSANE, "Incremented hit counter -> %d", _rebelHitCounter);
LevelDifficultyParams dparams = getDifficultyParams();
int directHitDamage = (dparams.missDamage >= 0) ? dparams.missDamage : 0;
@@ -546,7 +546,7 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
if (shouldDamage) {
if (applyPlayerDamage(directHitDamage)) {
- debugC(DEBUG_INSANE, "Rebel2: DIRECT HIT damage from enemy %d. par3=%d par4=%d damage=%d total=%d",
+ debugC(DEBUG_INSANE, "DIRECT HIT damage from enemy %d. par3=%d par4=%d damage=%d total=%d",
srcId, par3, par4, directHitDamage, _playerDamage);
}
if (!_noDamage)
@@ -559,19 +559,19 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
b.skip(2); // Skip body[0]
int16 srcId = b.readSint16LE(); // body[1] (offset +10)
- debugC(DEBUG_INSANE, "Rebel2 Opcode3: par3=5 srcId=%d isBitSet=%d", srcId, isBitSet(srcId));
+ debugC(DEBUG_INSANE, "Opcode3: par3=5 srcId=%d isBitSet=%d", srcId, isBitSet(srcId));
if (!isBitSet(srcId)) {
LevelDifficultyParams params = getDifficultyParams();
int probability = (params.shotAccuracy >= 0) ? params.shotAccuracy : 0;
int roll = _vm->_rnd.getRandomNumber(99);
- debugC(DEBUG_INSANE, "Rebel2 Opcode3: probability=%d roll=%d (need roll < prob)", probability, roll);
+ debugC(DEBUG_INSANE, "Opcode3: probability=%d roll=%d (need roll < prob)", probability, roll);
if (roll < probability) {
int damageAmount = (params.shotDamage >= 0) ? params.shotDamage : 0;
if (applyPlayerDamage(damageAmount)) {
- debugC(DEBUG_INSANE, "Rebel2: PROBABILISTIC damage from enemy %d. Damage=%d total=%d",
+ debugC(DEBUG_INSANE, "PROBABILISTIC damage from enemy %d. Damage=%d total=%d",
srcId, damageAmount, _playerDamage);
}
if (!_noDamage) {
@@ -584,7 +584,7 @@ void InsaneRebel2::iactRebel2Opcode3(Common::SeekableReadStream &b, int16 par2,
}
}
} else {
- debugC(DEBUG_INSANE, "Rebel2 Opcode3: UNHANDLED par3=%d par4=%d", par3, par4);
+ debugC(DEBUG_INSANE, "Opcode3: UNHANDLED par3=%d par4=%d", par3, par4);
}
}
@@ -597,7 +597,7 @@ void InsaneRebel2::updateOpcode6Handler(int16 par2) {
_level2BackgroundLoaded = false;
}
_rebelHandler = par2;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6: Setting handler=%d", par2);
+ debugC(DEBUG_INSANE, "Opcode 6: Setting handler=%d", par2);
}
}
@@ -634,7 +634,7 @@ void InsaneRebel2::handleOpcode6Handler8(Common::SeekableReadStream &b, int16 pa
}
_rebelWaveState = _rebelPhaseState;
_rebelOp6Initialized = true;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 8): Wave init, wave=0x%x", _rebelWaveState);
+ debugC(DEBUG_INSANE, "Opcode 6 (Handler 8): Wave init, wave=0x%x", _rebelWaveState);
}
// Skip position calculation for special modes 4 and 5
@@ -775,7 +775,7 @@ void InsaneRebel2::handleOpcode6Handler8(Common::SeekableReadStream &b, int16 pa
_vm->getActionState(kScummActionInsaneAttack);
}
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 8): mode=%d bodyFlag=%d range=%d shipPos=(%d,%d) target=(%d,%d) firing=%d dir=(%d,%d,%d)",
+ debugC(DEBUG_INSANE, "Opcode 6 (Handler 8): mode=%d bodyFlag=%d range=%d shipPos=(%d,%d) target=(%d,%d) firing=%d dir=(%d,%d,%d)",
_shipLevelMode, bodyStatusFlag, _movementRangeLimit, _shipPosX, _shipPosY, _shipTargetX, _shipTargetY, _shipFiring,
_shipDirectionH, _shipDirectionV, _shipDirectionIndex);
}
@@ -792,7 +792,7 @@ void InsaneRebel2::handleOpcode6Handler7(Common::SeekableReadStream &b, int16 pa
// Mode 2: Combat mode - shooting ENABLED, SECONDARY zones
// Mode 3: Tunnel flight - PRIMARY zones, per-edge push-back (hMargin=0x0f)
_flyControlMode = par4;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 7): Control mode set to %d (shooting %s)",
+ debugC(DEBUG_INSANE, "Opcode 6 (Handler 7): Control mode set to %d (shooting %s)",
par4, (par4 == 2) ? "ENABLED" : "DISABLED");
// Status bar: param_5[4] == 1 in original (first body word, 5th IACT word)
@@ -809,7 +809,7 @@ void InsaneRebel2::handleOpcode6Handler7(Common::SeekableReadStream &b, int16 pa
if (_smush_iconsNut && _smush_iconsNut->getNumChars() > 5) {
initLaserTexture(_smush_iconsNut, 5);
}
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 7): Status bar enabled (body flag=%d)", bodyStatusFlag);
+ debugC(DEBUG_INSANE, "Opcode 6 (Handler 7): Status bar enabled (body flag=%d)", bodyStatusFlag);
}
// Ship position update - FUN_40C3CC case 4, lines 49-327.
@@ -1084,7 +1084,7 @@ void InsaneRebel2::handleOpcode6Handler7(Common::SeekableReadStream &b, int16 pa
((_vm->VAR(_vm->VAR_LEFTBTN_HOLD) != 0) ||
_vm->getActionState(kScummActionInsaneAttack));
- debugC(DEBUG_INSANE, "Rebel2 H7: mouse=(%d,%d) raw=(%d,%d) scaled=(%d,%d) targetX=%d pos=(%d,%d) "
+ debugC(DEBUG_INSANE, "H7: mouse=(%d,%d) raw=(%d,%d) scaled=(%d,%d) targetX=%d pos=(%d,%d) "
"vel=%d vIn=%d dx=%d dir=%d mode=%d mouseTarget=%d",
mouseX, mouseY, inputX, inputY, scaledInputX, scaledInputY,
mouseFlightTargetX, _flyShipScreenX, _flyShipScreenY, _smoothedVelocity,
@@ -1125,7 +1125,7 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
}
_rebelWaveState = _rebelPhaseState;
_rebelOp6Initialized = true;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 25): Wave init, wave=0x%x autopilot=%d damageLevel=%d",
+ debugC(DEBUG_INSANE, "Opcode 6 (Handler 25): Wave init, wave=0x%x autopilot=%d damageLevel=%d",
_rebelWaveState, _rebelAutopilot, _rebelDamageLevel);
}
}
@@ -1139,7 +1139,7 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
// Mode 4: Alternative uncovered position - sprite on right
_grdSpriteMode = par4; // local_14[3] maps to par4 (offset 6-7)
- debugC(DEBUG_INSANE, "Rebel2 Handler25 Opcode6: par2=%d par3=%d par4=%d(mode) par5=%d(reset) autopilot=%d damageLevel=%d controlMode=%d",
+ debugC(DEBUG_INSANE, "Handler25 Opcode6: par2=%d par3=%d par4=%d(mode) par5=%d(reset) autopilot=%d damageLevel=%d controlMode=%d",
par2, par3, par4, par5, _rebelAutopilot, _rebelDamageLevel, _rebelControlMode);
// Autopilot logic (lines 123-146).
@@ -1150,13 +1150,13 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
// Uncovered: RIGHT button enters cover.
if ((_rebelControlMode & 2) != 0) {
_rebelAutopilot = 1;
- debugC(DEBUG_INSANE, "Rebel2 Handler25: Entering cover (right click), controlMode=%d", _rebelControlMode);
+ debugC(DEBUG_INSANE, "Handler25: Entering cover (right click), controlMode=%d", _rebelControlMode);
}
} else {
// Covered: ANY button exits cover.
if (_rebelControlMode != 0) {
_rebelAutopilot = 0;
- debugC(DEBUG_INSANE, "Rebel2 Handler25: Exiting cover (button click), controlMode=%d", _rebelControlMode);
+ debugC(DEBUG_INSANE, "Handler25: Exiting cover (button click), controlMode=%d", _rebelControlMode);
}
}
@@ -1191,7 +1191,7 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
}
}
if (_rebelDamageLevel != prevDamageLevel) {
- debugC(DEBUG_INSANE, "Rebel2 Handler25: damageLevel transition %d -> %d (autopilot=%d)",
+ debugC(DEBUG_INSANE, "Handler25: damageLevel transition %d -> %d (autopilot=%d)",
prevDamageLevel, _rebelDamageLevel, _rebelAutopilot);
}
@@ -1263,10 +1263,10 @@ void InsaneRebel2::handleOpcode6Handler25(byte *renderBitmap, Common::SeekableRe
_rebelViewOffset2X = _rebelDamageLevel * -22;
_rebelViewOffsetY = 0;
_rebelViewOffset2Y = 0;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 25): Unknown mode %d, using Mode 1 fallback", _grdSpriteMode);
+ debugC(DEBUG_INSANE, "Opcode 6 (Handler 25): Unknown mode %d, using Mode 1 fallback", _grdSpriteMode);
}
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 25): mode=%d damage=%d dir=%d autopilot=%d viewOff=(%d,%d) spritePos=(%d,%d)",
+ debugC(DEBUG_INSANE, "Opcode 6 (Handler 25): mode=%d damage=%d dir=%d autopilot=%d viewOff=(%d,%d) spritePos=(%d,%d)",
_grdSpriteMode, _rebelDamageLevel, _rebelFlightDir, _rebelAutopilot,
_rebelViewOffsetX, _rebelViewOffsetY, _rebelViewOffset2X, _rebelViewOffset2Y);
@@ -1314,7 +1314,7 @@ void InsaneRebel2::handleOpcode6Turret(Common::SeekableReadStream &b, int16 par4
_rebelWaveState = _rebelPhaseState;
_rebelHitCounter = 0;
_rebelOp6Initialized = true;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6 (Handler 0x26): Wave init, levelType=%d waveState=0x%x",
+ debugC(DEBUG_INSANE, "Opcode 6 (Handler 0x26): Wave init, levelType=%d waveState=0x%x",
_rebelLevelType, _rebelWaveState);
}
}
@@ -1339,7 +1339,7 @@ void InsaneRebel2::handleOpcode6GenericInit(int16 par4) {
_rebelWaveState = _rebelPhaseState;
_rebelHitCounter = 0;
_rebelOp6Initialized = true;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6: Wave init - cleared bits/links, waveState=0x%x", _rebelWaveState);
+ debugC(DEBUG_INSANE, "Opcode 6: Wave init - cleared bits/links, waveState=0x%x", _rebelWaveState);
}
}
}
@@ -1458,7 +1458,7 @@ void InsaneRebel2::updateOpcode6GenericFlightState() {
break;
}
- debugC(DEBUG_INSANE, "Rebel2 Opcode 6: levelType=%d autopilot=%d damageLevel=%d viewOffset=(%d,%d)",
+ debugC(DEBUG_INSANE, "Opcode 6: levelType=%d autopilot=%d damageLevel=%d viewOffset=(%d,%d)",
_rebelLevelType, _rebelAutopilot, _rebelDamageLevel, _rebelViewOffsetX, _rebelViewOffsetY);
}
@@ -1522,7 +1522,7 @@ void InsaneRebel2::iactRebel2Opcode6(byte *renderBitmap, Common::SeekableReadStr
// - Handler-specific status/reset word
// - Different view offset calculations
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode 6: par2=%d par3=%d par4=%d", par2, par3, par4);
+ debugC(DEBUG_INSANE, "IACT Opcode 6: par2=%d par3=%d par4=%d", par2, par3, par4);
updateOpcode6Handler(par2);
@@ -1610,7 +1610,7 @@ bool InsaneRebel2::loadOpcode8EdgeTable(Common::SeekableReadStream &b, int64 sta
b.read(edgeData, 8 + 32896);
initEdgeTable(edgeData);
free(edgeData);
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loaded per-level edge blend table (par4=1000)");
+ debugC(DEBUG_INSANE, "Opcode 8: Loaded per-level edge blend table (par4=1000)");
}
b.seek(startPos);
return true;
@@ -1651,11 +1651,11 @@ bool InsaneRebel2::loadOpcode8AuxSfx(Common::SeekableReadStream &b, int64 startP
b.read(soundData, dataSize);
loadAuxSfx(auxBuffer, soundData, dataSize);
free(soundData);
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loaded %u bytes into aux sound buffer %d (par4=%d)",
+ debugC(DEBUG_INSANE, "Opcode 8: Loaded %u bytes into aux sound buffer %d (par4=%d)",
dataSize, auxBuffer, par4);
}
} else {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Aux sound par4=%d dataSize=%u exceeds remaining=%lld",
+ debugC(DEBUG_INSANE, "Opcode 8: Aux sound par4=%d dataSize=%u exceeds remaining=%lld",
par4, dataSize, (long long)remaining);
}
}
@@ -1682,7 +1682,7 @@ bool InsaneRebel2::loadOpcode8ShotOriginTable(Common::SeekableReadStream &b, int
// ScummVM refactor helper for opcode 8 embedded ANIM scanning, not a separate retail function.
void InsaneRebel2::loadOpcode8EmbeddedAnim(byte *renderBitmap, Common::SeekableReadStream &b, int64 startPos, int64 remaining, int16 par3, int16 par4) {
// Remaining handlers require finding ANIM tag in the stream.
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Scanning for ANIM tag (startPos=%lld remaining=%lld)",
+ debugC(DEBUG_INSANE, "Opcode 8: Scanning for ANIM tag (startPos=%lld remaining=%lld)",
(long long)startPos, (long long)remaining);
if (remaining <= 0) {
@@ -1696,19 +1696,19 @@ void InsaneRebel2::loadOpcode8EmbeddedAnim(byte *renderBitmap, Common::SeekableR
}
int bytesRead = b.read(scanBuf, scanSize);
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Read %d bytes for ANIM scan", bytesRead);
+ debugC(DEBUG_INSANE, "Opcode 8: Read %d bytes for ANIM scan", bytesRead);
int animOffset = -1;
for (int i = 0; i + 8 <= bytesRead; ++i) {
if (READ_BE_UINT32(scanBuf + i) == MKTAG('A','N','I','M')) {
animOffset = i;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Found ANIM at offset %d", i);
+ debugC(DEBUG_INSANE, "Opcode 8: Found ANIM at offset %d", i);
break;
}
}
if (animOffset < 0) {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: No ANIM tag found");
+ debugC(DEBUG_INSANE, "Opcode 8: No ANIM tag found");
free(scanBuf);
b.seek(startPos);
return;
@@ -1779,7 +1779,7 @@ bool InsaneRebel2::handleOpcode8EmbeddedAnim(byte *renderBitmap, byte *animData,
} else if (par4 == 5) {
handled = loadLevel2Background(animData, animDataSize, renderBitmap);
} else if (par4 == 4 || par4 == 6 || par4 == 7) {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Handler 25 overlay par4=%d - drawing to screen", par4);
+ debugC(DEBUG_INSANE, "Opcode 8: Handler 25 overlay par4=%d - drawing to screen", par4);
loadEmbeddedSan(par4, animData, animDataSize, renderBitmap);
handled = true;
}
@@ -1793,7 +1793,7 @@ bool InsaneRebel2::handleOpcode8EmbeddedAnim(byte *renderBitmap, byte *animData,
const bool lowResHud = (par3 == 1 || par3 == 3);
if ((!highRes && highResHud) || (highRes && lowResHud)) {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Skipping %s HUD par3=%d while running in %s mode",
+ debugC(DEBUG_INSANE, "Opcode 8: Skipping %s HUD par3=%d while running in %s mode",
highResHud ? "high-res" : "low-res", par3, highRes ? "high-res" : "low-res");
handled = true;
} else {
@@ -1807,7 +1807,7 @@ bool InsaneRebel2::handleOpcode8EmbeddedAnim(byte *renderBitmap, byte *animData,
// Skip audio tracks (userId >= 1000).
if (userId > 0 && userId < 1000) {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loading embedded SAN HUD userId=%d (handler=%d par3=%d par4=%d)",
+ debugC(DEBUG_INSANE, "Opcode 8: Loading embedded SAN HUD userId=%d (handler=%d par3=%d par4=%d)",
userId, _rebelHandler, par3, par4);
loadEmbeddedSan(userId, animData, animDataSize, renderBitmap);
handled = true;
@@ -1816,14 +1816,14 @@ bool InsaneRebel2::handleOpcode8EmbeddedAnim(byte *renderBitmap, byte *animData,
}
if (!handled) {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Unhandled case - handler=%d par3=%d par4=%d", _rebelHandler, par3, par4);
+ debugC(DEBUG_INSANE, "Opcode 8: Unhandled case - handler=%d par3=%d par4=%d", _rebelHandler, par3, par4);
}
return handled;
}
void InsaneRebel2::iactRebel2Opcode8(byte *renderBitmap, Common::SeekableReadStream &b, int32 chunkSize, int16 par2, int16 par3, int16 par4) {
- debugC(DEBUG_INSANE, "Rebel2 IACT Opcode 8: handler=%d par2=%d par3=%d par4=%d (gameState=%d)",
+ debugC(DEBUG_INSANE, "IACT Opcode 8: handler=%d par2=%d par3=%d par4=%d (gameState=%d)",
_rebelHandler, par2, par3, par4, _gameState);
int64 startPos = b.pos();
@@ -1914,7 +1914,7 @@ bool InsaneRebel2::loadHandler25ShotOriginTable(Common::SeekableReadStream &b, i
b.seek(savedPos);
if (count < 20) {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Handler25 par4=8 parse failed (count=%d, expected up to 30)", count);
+ debugC(DEBUG_INSANE, "Opcode 8: Handler25 par4=8 parse failed (count=%d, expected up to 30)", count);
return false;
}
@@ -1930,7 +1930,7 @@ bool InsaneRebel2::loadHandler25ShotOriginTable(Common::SeekableReadStream &b, i
}
_grdShotOriginTableLoaded = true;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loaded Handler25 shot-origin table (pairs=%d) idx5=(%d,%d) idx14=(%d,%d)",
+ debugC(DEBUG_INSANE, "Opcode 8: Loaded Handler25 shot-origin table (pairs=%d) idx5=(%d,%d) idx14=(%d,%d)",
count / 2, _grdShotOriginX[5], _grdShotOriginY[5], _grdShotOriginX[14], _grdShotOriginY[14]);
return true;
}
@@ -1998,7 +1998,7 @@ bool InsaneRebel2::loadHandler7ShotTable(Common::SeekableReadStream &b, int64 st
b.seek(savedPos);
if (count < 70) {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Handler7 par4=%d shot table parse failed (count=%d)", par4, count);
+ debugC(DEBUG_INSANE, "Opcode 8: Handler7 par4=%d shot table parse failed (count=%d)", par4, count);
return false;
}
@@ -2014,7 +2014,7 @@ bool InsaneRebel2::loadHandler7ShotTable(Common::SeekableReadStream &b, int64 st
else
_flyRightGunTableLoaded = true;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 8: Loaded Handler7 %s gun table idx0=(%d,%d) idx17=(%d,%d) idx34=(%d,%d)",
+ debugC(DEBUG_INSANE, "Opcode 8: Loaded Handler7 %s gun table idx0=(%d,%d) idx17=(%d,%d) idx34=(%d,%d)",
(par4 == 12) ? "left" : "right",
tableX[0], tableY[0], tableX[17], tableY[17], tableX[34], tableY[34]);
return true;
@@ -2050,13 +2050,13 @@ bool InsaneRebel2::loadHandler7FlySprites(Common::SeekableReadStream &b, int64 r
return false;
}
- debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: header bytes: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
+ debugC(DEBUG_INSANE, "loadHandler7FlySprites: header bytes: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
header[0], header[1], header[2], header[3], header[4],
header[5], header[6], header[7], header[8], header[9]);
// Size is at offset 14 from IACT start = bytes 6-9 of our header buffer
uint32 nutSize = READ_LE_UINT32(header + 6);
- debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: par4=%d nutSize=%u remaining=%lld",
+ debugC(DEBUG_INSANE, "loadHandler7FlySprites: par4=%d nutSize=%u remaining=%lld",
par4, nutSize, (long long)remaining);
if (nutSize == 0 || nutSize > (uint32)(remaining - 10)) {
@@ -2069,7 +2069,7 @@ bool InsaneRebel2::loadHandler7FlySprites(Common::SeekableReadStream &b, int64 r
}
int bytesRead = b.read(nutData, nutSize);
- debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: Read %d/%u bytes, first 16: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
+ debugC(DEBUG_INSANE, "loadHandler7FlySprites: Read %d/%u bytes, first 16: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X",
bytesRead, nutSize,
bytesRead > 0 ? nutData[0] : 0, bytesRead > 1 ? nutData[1] : 0,
bytesRead > 2 ? nutData[2] : 0, bytesRead > 3 ? nutData[3] : 0,
@@ -2099,13 +2099,13 @@ bool InsaneRebel2::loadHandler7FlySprites(Common::SeekableReadStream &b, int64 r
// Load as a Rebel2 embedded sprite ANIM.
NutRenderer *newNut = makeRebel2SpriteFromData(_vm, nutData, bytesRead);
if (!newNut || newNut->getNumChars() <= 0) {
- debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: NUT load failed for par4=%d", par4);
+ debugC(DEBUG_INSANE, "loadHandler7FlySprites: NUT load failed for par4=%d", par4);
delete newNut;
free(nutData);
return false;
}
- debugC(DEBUG_INSANE, "Rebel2 loadHandler7FlySprites: Loaded FLY NUT par4=%d with %d sprites",
+ debugC(DEBUG_INSANE, "loadHandler7FlySprites: Loaded FLY NUT par4=%d with %d sprites",
par4, newNut->getNumChars());
// Assign to appropriate slot based on par4 (matches FUN_0040c3cc case 6 switch)
@@ -2114,7 +2114,7 @@ bool InsaneRebel2::loadHandler7FlySprites(Common::SeekableReadStream &b, int64 r
case 1: // FLY001 - Ship direction sprites (35 frames)
delete _flyShipSprite;
_flyShipSprite = newNut;
- debugC(DEBUG_INSANE, "Rebel2: _flyShipSprite set with %d sprites", newNut->getNumChars());
+ debugC(DEBUG_INSANE, "_flyShipSprite set with %d sprites", newNut->getNumChars());
break;
case 2: // FLY003 - Targeting overlay
delete _flyTargetSprite;
@@ -2156,7 +2156,7 @@ bool InsaneRebel2::loadTurretHudOverlay(byte *animData, int32 size, int16 select
const int secondarySlot = highRes ? 4 : 3;
if (selector >= 1 && selector <= 4 && selector != primarySlot && selector != secondarySlot) {
- debugC(DEBUG_INSANE, "Rebel2 loadTurretHudOverlay: Skipping %s HUD selector=%d (running in %s mode)",
+ debugC(DEBUG_INSANE, "loadTurretHudOverlay: Skipping %s HUD selector=%d (running in %s mode)",
(selector == 2 || selector == 4) ? "high-res" : "low-res", selector,
highRes ? "high-res" : "low-res");
return true;
@@ -2168,12 +2168,12 @@ bool InsaneRebel2::loadTurretHudOverlay(byte *animData, int32 size, int16 select
NutRenderer *newNut = makeRebel2SpriteFromData(_vm, animData, size);
if (!newNut || newNut->getNumChars() <= 0) {
- debugC(DEBUG_INSANE, "Rebel2 loadTurretHudOverlay: NUT load failed for selector=%d", selector);
+ debugC(DEBUG_INSANE, "loadTurretHudOverlay: NUT load failed for selector=%d", selector);
delete newNut;
return false;
}
- debugC(DEBUG_INSANE, "Rebel2 loadTurretHudOverlay: Loaded turret HUD NUT selector=%d with %d sprites",
+ debugC(DEBUG_INSANE, "loadTurretHudOverlay: Loaded turret HUD NUT selector=%d with %d sprites",
selector, newNut->getNumChars());
if (selector == primarySlot) {
@@ -2207,12 +2207,12 @@ bool InsaneRebel2::loadHandler8ShipSprites(byte *animData, int32 size, int16 par
NutRenderer *newNut = makeRebel2SpriteFromData(_vm, animData, size);
if (!newNut || newNut->getNumChars() <= 0) {
- debugC(DEBUG_INSANE, "Rebel2 loadHandler8ShipSprites: NUT load failed for par4=%d", par4);
+ debugC(DEBUG_INSANE, "loadHandler8ShipSprites: NUT load failed for par4=%d", par4);
delete newNut;
return false;
}
- debugC(DEBUG_INSANE, "Rebel2 loadHandler8ShipSprites: Loaded ship NUT par4=%d with %d sprites",
+ debugC(DEBUG_INSANE, "loadHandler8ShipSprites: Loaded ship NUT par4=%d with %d sprites",
par4, newNut->getNumChars());
switch (par4) {
@@ -2259,29 +2259,29 @@ bool InsaneRebel2::loadHandler25GrdSprites(byte *animData, int32 size, int16 par
NutRenderer *newNut = makeRebel2SpriteFromData(_vm, animData, size);
if (!newNut || newNut->getNumChars() <= 0) {
- debugC(DEBUG_INSANE, "Rebel2 loadHandler25GrdSprites: NUT load failed for par4=%d", par4);
+ debugC(DEBUG_INSANE, "loadHandler25GrdSprites: NUT load failed for par4=%d", par4);
delete newNut;
return false;
}
- debugC(DEBUG_INSANE, "Rebel2 loadHandler25GrdSprites: Loaded GRD NUT par4=%d with %d sprites",
+ debugC(DEBUG_INSANE, "loadHandler25GrdSprites: Loaded GRD NUT par4=%d with %d sprites",
par4, newNut->getNumChars());
switch (par4) {
case 1: // GRD001 - Primary ship sprite
delete _grd001Sprite;
_grd001Sprite = newNut;
- debugC(DEBUG_INSANE, "Rebel2: _grd001Sprite set with %d sprites", newNut->getNumChars());
+ debugC(DEBUG_INSANE, "_grd001Sprite set with %d sprites", newNut->getNumChars());
break;
case 2: // GRD002 - Secondary ship sprite
delete _grd002Sprite;
_grd002Sprite = newNut;
- debugC(DEBUG_INSANE, "Rebel2: _grd002Sprite set with %d sprites", newNut->getNumChars());
+ debugC(DEBUG_INSANE, "_grd002Sprite set with %d sprites", newNut->getNumChars());
break;
case 10: // GRD005 - Mode 3 overlay sprite
delete _grd005Sprite;
_grd005Sprite = newNut;
- debugC(DEBUG_INSANE, "Rebel2: _grd005Sprite set with %d sprites", newNut->getNumChars());
+ debugC(DEBUG_INSANE, "_grd005Sprite set with %d sprites", newNut->getNumChars());
break;
default:
delete newNut;
@@ -2301,7 +2301,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
return false;
}
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Loading Level 2 background (animSize=%d)", size);
+ debugC(DEBUG_INSANE, "loadLevel2Background: Loading Level 2 background (animSize=%d)", size);
// Allocate background buffer if needed (320x200 = 64000 bytes)
if (_level2Background == nullptr) {
@@ -2317,7 +2317,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
uint32 animTag = stream.readUint32BE();
if (animTag != MKTAG('A','N','I','M')) {
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Missing ANIM tag, got 0x%08X", animTag);
+ debugC(DEBUG_INSANE, "loadLevel2Background: Missing ANIM tag, got 0x%08X", animTag);
return false;
}
@@ -2326,10 +2326,10 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
if ((int64)animSize <= streamEnd - 8) {
animEnd = 8 + (int64)animSize;
} else {
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: ANIM truncated: reported size=%u, actual=%lld",
+ debugC(DEBUG_INSANE, "loadLevel2Background: ANIM truncated: reported size=%u, actual=%lld",
animSize, streamEnd - 8);
}
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Found ANIM tag, size=%u", animSize);
+ debugC(DEBUG_INSANE, "loadLevel2Background: Found ANIM tag, size=%u", animSize);
bool foundBackground = false;
while (!stream.eos() && stream.pos() + 8 <= animEnd && !foundBackground) {
@@ -2345,7 +2345,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
continue;
}
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Found FRME at %lld, size=%u", stream.pos() - 8, chunkSize);
+ debugC(DEBUG_INSANE, "loadLevel2Background: Found FRME at %lld, size=%u", stream.pos() - 8, chunkSize);
while (stream.pos() + 8 <= chunkDataEnd && !stream.eos() && !foundBackground) {
uint32 subTag;
@@ -2361,7 +2361,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
}
if (subSize < 14) {
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: FOBJ too small: size=%u", subSize);
+ debugC(DEBUG_INSANE, "loadLevel2Background: FOBJ too small: size=%u", subSize);
stream.seek(nextSubPos);
continue;
}
@@ -2375,7 +2375,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
stream.readUint16LE(); // unknown
stream.readUint16LE(); // unknown
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Found FOBJ: codec=%d pos=(%d,%d) size=%dx%d",
+ debugC(DEBUG_INSANE, "loadLevel2Background: Found FOBJ: codec=%d pos=(%d,%d) size=%dx%d",
codec, fobjX, fobjY, fobjW, fobjH);
// Decode codec 3 (RLE) into the original 320x200 background buffer.
@@ -2389,7 +2389,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
smushDecodeRLEOpaque(_level2Background, rleData, fobjX, fobjY, drawW, drawH, 320,
(int)(subDataEnd - stream.pos()));
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Decoded Level 2 background (%dx%d at %d,%d, clipped to %dx%d)",
+ debugC(DEBUG_INSANE, "loadLevel2Background: Decoded Level 2 background (%dx%d at %d,%d, clipped to %dx%d)",
fobjW, fobjH, fobjX, fobjY, drawW, drawH);
_level2BackgroundLoaded = true;
foundBackground = true;
@@ -2402,9 +2402,9 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
for (int by = 0; by < 200; by++) {
memcpy(renderBitmap + by * 320, _level2Background + by * 320, 320);
}
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Copied to renderBitmap (pitch=%d)", bufferPitch);
+ debugC(DEBUG_INSANE, "loadLevel2Background: Copied to renderBitmap (pitch=%d)", bufferPitch);
} else {
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Skipping renderBitmap copy (pitch=%d != 320)", bufferPitch);
+ debugC(DEBUG_INSANE, "loadLevel2Background: Skipping renderBitmap copy (pitch=%d != 320)", bufferPitch);
}
}
}
@@ -2416,7 +2416,7 @@ bool InsaneRebel2::loadLevel2Background(byte *animData, int32 size, byte *render
}
if (!foundBackground) {
- debugC(DEBUG_INSANE, "Rebel2 loadLevel2Background: Failed to find/decode background FOBJ");
+ debugC(DEBUG_INSANE, "loadLevel2Background: Failed to find/decode background FOBJ");
}
return foundBackground;
@@ -2471,9 +2471,9 @@ void InsaneRebel2::iactRebel2Opcode9(byte *renderBitmap, Common::SeekableReadStr
// Try to get string from SMUSH player's string resource
if (_player && _player->getString(stringIndex)) {
textStr = _player->getString(stringIndex);
- debugC(DEBUG_INSANE, "Rebel2 Opcode 9: TRES string index=%d -> \"%s\"", stringIndex, textStr);
+ debugC(DEBUG_INSANE, "Opcode 9: TRES string index=%d -> \"%s\"", stringIndex, textStr);
} else {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 9: TRES string index=%d not found", stringIndex);
+ debugC(DEBUG_INSANE, "Opcode 9: TRES string index=%d not found", stringIndex);
return;
}
@@ -2513,11 +2513,11 @@ void InsaneRebel2::iactRebel2Opcode9(byte *renderBitmap, Common::SeekableReadStr
textBuffer[textLen] = '\0';
textStr = textBuffer;
- debugC(DEBUG_INSANE, "Rebel2 Opcode 9: Inline text at (%d,%d) flags=0x%x -> \"%s\"", posX, posY, textFlags, textStr);
+ debugC(DEBUG_INSANE, "Opcode 9: Inline text at (%d,%d) flags=0x%x -> \"%s\"", posX, posY, textFlags, textStr);
}
if (!textStr || textStr[0] == '\0') {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 9: Empty text string, skipping");
+ debugC(DEBUG_INSANE, "Opcode 9: Empty text string, skipping");
return;
}
@@ -2542,7 +2542,7 @@ void InsaneRebel2::iactRebel2Opcode9(byte *renderBitmap, Common::SeekableReadStr
// Use the message font loaded during initialization (DIHIFONT.NUT)
if (!_rebelMsgFont) {
- debugC(DEBUG_INSANE, "Rebel2 Opcode 9: No message font loaded (_rebelMsgFont is null)");
+ debugC(DEBUG_INSANE, "Opcode 9: No message font loaded (_rebelMsgFont is null)");
return;
}
@@ -2655,7 +2655,7 @@ void InsaneRebel2::iactRebel2Opcode9(byte *renderBitmap, Common::SeekableReadStr
}
}
- debugC(DEBUG_INSANE, "Rebel2 Opcode 9: Rendered subtitle at (%d,%d) flags=0x%x clip=(%d,%d,%d,%d)",
+ debugC(DEBUG_INSANE, "Opcode 9: Rendered subtitle at (%d,%d) flags=0x%x clip=(%d,%d,%d,%d)",
posX, posY, textFlags, clipX, clipY, clipW, clipH);
}
@@ -2675,7 +2675,7 @@ void InsaneRebel2::enemyUpdate(byte *renderBitmap, Common::SeekableReadStream &b
// If disabled, stop processing this object
if (disabled) {
- // debugC(DEBUG_INSANE, "Rebel2: Skipping Opcode 4 for disabled enemy ID=%d", enemyId);
+ // debugC(DEBUG_INSANE, "Skipping Opcode 4 for disabled enemy ID=%d", enemyId);
return;
}
@@ -2691,7 +2691,7 @@ void InsaneRebel2::enemyUpdate(byte *renderBitmap, Common::SeekableReadStream &b
// In the original (FUN_004028C5/FUN_0041E7C2): sVar5/sVar2 = *(short *)(*local + 6)
// This maps to par4 (userId field). Used for DAT_0047ab98 wave state bitmask:
// DAT_0047ab98 |= 1 << (type & 0x1f)
- debugC(DEBUG_INSANE, "Rebel2 Opcode4: handler=%d enemyId=%d par2=%d par3=%d par4/type=%d pos=(%d,%d) size=(%d,%d)",
+ debugC(DEBUG_INSANE, "Opcode4: handler=%d enemyId=%d par2=%d par3=%d par4/type=%d pos=(%d,%d) size=(%d,%d)",
_rebelHandler, enemyId, par2, par3, par4, x, y, w, h);
bool found = false;
diff --git a/engines/scumm/insane/rebel2/levels.cpp b/engines/scumm/insane/rebel2/levels.cpp
index ea7e586e033..57e786378cf 100644
--- a/engines/scumm/insane/rebel2/levels.cpp
+++ b/engines/scumm/insane/rebel2/levels.cpp
@@ -154,7 +154,7 @@ void InsaneRebel2::runGame() {
// We skip the easter eggs and play both O_OPEN_A + O_OPEN_B unconditionally.
//
void InsaneRebel2::playIntroSequence() {
- debugC(DEBUG_INSANE, "Rebel2: Playing intro sequence");
+ debugC(DEBUG_INSANE, "Playing intro sequence");
_gameState = kStateIntro;
_menuInputActive = false;
@@ -163,7 +163,7 @@ void InsaneRebel2::playIntroSequence() {
// Play main intro (OPEN/O_OPEN_A.SAN)
// Original: FUN_0041f4d0("OPEN/O_OPEN_A.SAN", 0x28, 0xffff, 0xffff, 0)
- debugC(DEBUG_INSANE, "Rebel2: Playing main intro (O_OPEN_A.SAN)");
+ debugC(DEBUG_INSANE, "Playing main intro (O_OPEN_A.SAN)");
splayer->setCurVideoFlags(0x28);
splayer->play("OPEN/O_OPEN_A.SAN", 15);
@@ -173,7 +173,7 @@ void InsaneRebel2::playIntroSequence() {
// Play additional intro (OPEN/O_OPEN_B.SAN)
// Original: conditional on DAT_0047ab45 || DAT_0047ab47
// We play unconditionally (matches "Continue Intro" menu behavior)
- debugC(DEBUG_INSANE, "Rebel2: Playing additional intro (O_OPEN_B.SAN)");
+ debugC(DEBUG_INSANE, "Playing additional intro (O_OPEN_B.SAN)");
splayer->setCurVideoFlags(0x28);
splayer->play("OPEN/O_OPEN_B.SAN", 15);
}
@@ -181,7 +181,7 @@ void InsaneRebel2::playIntroSequence() {
// playMissionBriefing -- Mission briefing screen (FUN_00415CF8).
void InsaneRebel2::playMissionBriefing() {
- debugC(DEBUG_INSANE, "Rebel2: Playing mission briefing");
+ debugC(DEBUG_INSANE, "Playing mission briefing");
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
splayer->setCurVideoFlags(0x08); // Briefing mode flag
@@ -268,7 +268,7 @@ void InsaneRebel2::playLevelBegin(int levelId) {
Common::String prefix = getLevelPrefix(levelId);
Common::String filename = Common::String::format("%s/%sBEG.SAN", dir.c_str(), prefix.c_str());
- debugC(DEBUG_INSANE, "Rebel2: Playing level %d beginning: %s", levelId, filename.c_str());
+ debugC(DEBUG_INSANE, "Playing level %d beginning: %s", levelId, filename.c_str());
if (levelId >= 1 && levelId <= 15 && levelTextParams[levelId].textID >= 0) {
const TextOverlayParams &p = levelTextParams[levelId];
@@ -292,7 +292,7 @@ void InsaneRebel2::playLevelEnd(int levelId) {
Common::String prefix = getLevelPrefix(levelId);
Common::String filename = Common::String::format("%s/%sEND.SAN", dir.c_str(), prefix.c_str());
- debugC(DEBUG_INSANE, "Rebel2: Playing level %d end: %s", levelId, filename.c_str());
+ debugC(DEBUG_INSANE, "Playing level %d end: %s", levelId, filename.c_str());
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417327 adds | 8, so flags = 0x20 | 0x08 = 0x28
@@ -313,7 +313,7 @@ void InsaneRebel2::playLevelRetry(int levelId) {
Common::String prefix = getLevelPrefix(levelId);
Common::String filename = Common::String::format("%s/%sRETRY.SAN", dir.c_str(), prefix.c_str());
- debugC(DEBUG_INSANE, "Rebel2: Playing level %d retry: %s", levelId, filename.c_str());
+ debugC(DEBUG_INSANE, "Playing level %d retry: %s", levelId, filename.c_str());
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417168 adds | 8, so flags = 0x20 | 0x08 = 0x28
@@ -334,7 +334,7 @@ void InsaneRebel2::playLevelGameOver(int levelId) {
Common::String prefix = getLevelPrefix(levelId);
Common::String filename = Common::String::format("%s/%sOVER.SAN", dir.c_str(), prefix.c_str());
- debugC(DEBUG_INSANE, "Rebel2: Playing level %d game over: %s", levelId, filename.c_str());
+ debugC(DEBUG_INSANE, "Playing level %d game over: %s", levelId, filename.c_str());
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417ab2 adds | 8, so flags = 0x20 | 0x08 = 0x28
@@ -355,7 +355,7 @@ void InsaneRebel2::playLevelGameOver(int levelId) {
//
void InsaneRebel2::playEndingSequence() {
- debugC(DEBUG_INSANE, "Rebel2: Playing ending sequence (difficulty=%d)", _difficulty);
+ debugC(DEBUG_INSANE, "Playing ending sequence (difficulty=%d)", _difficulty);
// Switch to gameplay state to stop menu overlay rendering
_gameState = kStateGameplay;
@@ -392,7 +392,7 @@ void InsaneRebel2::playEndingSequence() {
// This is the credits accessible from the main menu, NOT the ending credits.
void InsaneRebel2::playCreditsSequence() {
- debugC(DEBUG_INSANE, "Rebel2: Playing menu credits");
+ debugC(DEBUG_INSANE, "Playing menu credits");
resetVideoAudio();
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
@@ -412,7 +412,7 @@ void InsaneRebel2::centerGameplayAim() {
purgeRebel2GameplayInputEvents(eventMan);
_gameplayMouseSettleUntil = _vm->_system->getMillis() + kRebel2GameplayMouseSettleMs;
- debugC(DEBUG_INSANE, "Rebel2 centerGameplayAim: mouse=(%d,%d) joystick=(%d,%d) gamepadAim=%d settleUntil=%u",
+ debugC(DEBUG_INSANE, "centerGameplayAim: mouse=(%d,%d) joystick=(%d,%d) gamepadAim=%d settleUntil=%u",
_vm->_mouse.x, _vm->_mouse.y,
_joystickAxisX, _joystickAxisY, _gamepadAimActive ? 1 : 0,
_gameplayMouseSettleUntil);
@@ -439,7 +439,7 @@ void InsaneRebel2::warpGameplayMouseNow(int x, int y) {
// runLevel -- Main level dispatcher, calls per-level handlers.
int InsaneRebel2::runLevel(int levelId) {
- debugC(DEBUG_INSANE, "Rebel2: Starting level %d", levelId);
+ debugC(DEBUG_INSANE, "Starting level %d", levelId);
// Validate level ID
if (levelId < 1 || levelId > 15) {
@@ -755,7 +755,7 @@ void InsaneRebel2::playLevelDeathVariant(int levelId, int phase, int frame) {
filename = Common::String::format("%s/%sDIE_%s.SAN", dir.c_str(), prefix.c_str(), variant.c_str());
}
- debugC(DEBUG_INSANE, "Rebel2: Playing death video: %s (phase=%d, frame=%d)", filename.c_str(), phase, frame);
+ debugC(DEBUG_INSANE, "Playing death video: %s (phase=%d, frame=%d)", filename.c_str(), phase, frame);
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417168 adds | 8, so flags = 0x20 | 0x08 = 0x28
@@ -784,7 +784,7 @@ void InsaneRebel2::playLevelRetryVariant(int levelId, int phase) {
filename = Common::String::format("%s/%sRETRY.SAN", dir.c_str(), prefix.c_str());
}
- debugC(DEBUG_INSANE, "Rebel2: Playing retry video: %s (phase=%d)", filename.c_str(), phase);
+ debugC(DEBUG_INSANE, "Playing retry video: %s (phase=%d)", filename.c_str(), phase);
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
// Original: FUN_00417168 adds | 8, so flags = 0x20 | 0x08 = 0x28
diff --git a/engines/scumm/insane/rebel2/menu.cpp b/engines/scumm/insane/rebel2/menu.cpp
index e40c088534d..ad27d5c391d 100644
--- a/engines/scumm/insane/rebel2/menu.cpp
+++ b/engines/scumm/insane/rebel2/menu.cpp
@@ -84,7 +84,7 @@ void InsaneRebel2::updateMenuVirtualKeyboard() {
// unlockAllChapters -- Debug mode unlock (FUN_00415CF8 lines 60-71, DAT_0047ab34=='d').
void InsaneRebel2::unlockAllChapters() {
- debugC(DEBUG_INSANE, "Rebel2: Unlocking all chapters for testing");
+ debugC(DEBUG_INSANE, "Unlocking all chapters for testing");
for (int i = 0; i < 16; i++) {
_chapterUnlocked[i] = true;
_levelUnlocked[i] = true;
@@ -106,7 +106,7 @@ Common::String InsaneRebel2::getRandomMenuVideo() {
// Map 0-14 to A-O (case 0/default = A, 1 = B, etc.)
char letter = 'A' + variant;
- debugC(DEBUG_INSANE, "Rebel2: Selected menu variant %c", letter);
+ debugC(DEBUG_INSANE, "Selected menu variant %c", letter);
return Common::String::format("OPEN/O_MENU_%c.SAN", letter);
}
@@ -595,7 +595,7 @@ void InsaneRebel2::showPauseOverlay() {
// Returns kMenuNewGame, kMenuResumeDemo, or kMenuQuit.
int InsaneRebel2::runMainMenu() {
- debugC(DEBUG_INSANE, "Rebel2: Entering main menu");
+ debugC(DEBUG_INSANE, "Entering main menu");
resetMenu();
_gameState = kStateMainMenu;
@@ -617,7 +617,7 @@ int InsaneRebel2::runMainMenu() {
// Select and play a random menu video
Common::String menuVideo = getRandomMenuVideo();
- debugC(DEBUG_INSANE, "Rebel2: Playing menu video: %s", menuVideo.c_str());
+ debugC(DEBUG_INSANE, "Playing menu video: %s", menuVideo.c_str());
// Set video flags for menu (0x20 = intro/menu flag)
// This tells procPostRendering we're in menu mode
@@ -635,7 +635,7 @@ int InsaneRebel2::runMainMenu() {
}
if (_menuInactivityTimedOut) {
- debugC(DEBUG_INSANE, "Rebel2: Main menu inactivity - resuming intro/demo loop");
+ debugC(DEBUG_INSANE, "Main menu inactivity - resuming intro/demo loop");
_menuInactivityTimedOut = false;
_menuInputActive = false;
return kMenuResumeDemo;
@@ -652,7 +652,7 @@ int InsaneRebel2::runMainMenu() {
_menuSelectionConfirmed = false;
// A selection was made - process it
- debugC(DEBUG_INSANE, "Rebel2: Menu video ended with selection=%d", _menuSelection);
+ debugC(DEBUG_INSANE, "Menu video ended with selection=%d", _menuSelection);
// Process the menu result based on current selection
// Menu items matching GAME.TRS indices 11-17 (FUN_004147B2):
@@ -665,34 +665,34 @@ int InsaneRebel2::runMainMenu() {
// case 6 (TRS 17): Return to Launcher -> quit, returns 0
switch (_menuSelection) {
case 0: // Start Game -> go to pilot selection
- debugC(DEBUG_INSANE, "Rebel2: Start Game selected - going to pilot selection");
+ debugC(DEBUG_INSANE, "Start Game selected - going to pilot selection");
_gameState = kStatePilotSelect;
_menuInputActive = false;
return kMenuNewGame; // Return 2 (kMenuNewGame)
case 1: // Options -> show options menu (FUN_00416787)
- debugC(DEBUG_INSANE, "Rebel2: Options selected");
+ debugC(DEBUG_INSANE, "Options selected");
showOptionsMenu();
break;
case 2: // Calibrate Joystick
- debugC(DEBUG_INSANE, "Rebel2: Calibrate Joystick selected - no-op for modern joystick support");
+ debugC(DEBUG_INSANE, "Calibrate Joystick selected - no-op for modern joystick support");
// Modern controller support uses live keymapper actions; no explicit
// joystick calibration flow is required here.
break;
case 3: // Continue Intro -> return to intro/demo loop
- debugC(DEBUG_INSANE, "Rebel2: Continue Intro selected - resuming intro/demo loop");
+ debugC(DEBUG_INSANE, "Continue Intro selected - resuming intro/demo loop");
_menuInputActive = false;
return kMenuResumeDemo;
case 4: // Show Top Pilots -> high score display (FUN_00420116(-1))
- debugC(DEBUG_INSANE, "Rebel2: Show Top Pilots selected");
+ debugC(DEBUG_INSANE, "Show Top Pilots selected");
showTopPilots();
break;
case 5: // Show Credits -> play credits video
- debugC(DEBUG_INSANE, "Rebel2: Show Credits selected - playing O_CREDIT.SAN");
+ debugC(DEBUG_INSANE, "Show Credits selected - playing O_CREDIT.SAN");
_gameState = kStateCredits;
_menuInputActive = false;
splayer->setCurVideoFlags(0x20);
@@ -703,12 +703,12 @@ int InsaneRebel2::runMainMenu() {
break;
case 6: // Return to Launcher -> quit game
- debugC(DEBUG_INSANE, "Rebel2: Return to Launcher selected");
+ debugC(DEBUG_INSANE, "Return to Launcher selected");
_menuInputActive = false;
return kMenuQuit;
default:
- debugC(DEBUG_INSANE, "Rebel2: Unknown menu selection %d", _menuSelection);
+ debugC(DEBUG_INSANE, "Unknown menu selection %d", _menuSelection);
break;
}
}
@@ -725,7 +725,7 @@ int InsaneRebel2::runMainMenu() {
// Returns kChapterSelectPlay, kChapterSelectBack, or kChapterSelectQuit.
int InsaneRebel2::runChapterSelect() {
- debugC(DEBUG_INSANE, "Rebel2: Entering chapter selection (FUN_00415CF8)");
+ debugC(DEBUG_INSANE, "Entering chapter selection (FUN_00415CF8)");
// Enable menu input capture
_menuInputActive = true;
@@ -769,7 +769,7 @@ int InsaneRebel2::runChapterSelect() {
while (!_vm->shouldQuit()) {
_vm->_smushVideoShouldFinish = false;
- debugC(DEBUG_INSANE, "Rebel2: Playing chapter select background: OPEN/O_LEVEL.SAN");
+ debugC(DEBUG_INSANE, "Playing chapter select background: OPEN/O_LEVEL.SAN");
// Flags: 0x20 (overlay/menu rendering) | 0x08 (preserve buffer, suppress
// AHDR speed override). Matches original FUN_0041f4d0 parameter 8.
@@ -795,12 +795,12 @@ int InsaneRebel2::runChapterSelect() {
_vm->_smushVideoShouldFinish = false;
_menuSelectionConfirmed = false;
- debugC(DEBUG_INSANE, "Rebel2: Chapter selection made: %d", _chapterSelection);
+ debugC(DEBUG_INSANE, "Chapter selection made: %d", _chapterSelection);
// Process chapter selection (lines 134-236 of FUN_00415CF8)
if (_chapterSelection == 16) {
// BACK selected (index 16 = 17th item)
- debugC(DEBUG_INSANE, "Rebel2: BACK to main menu selected");
+ debugC(DEBUG_INSANE, "BACK to main menu selected");
setVirtualKeyboardVisible(false);
_menuInputActive = false;
return kChapterSelectBack;
@@ -810,7 +810,7 @@ int InsaneRebel2::runChapterSelect() {
if (_chapterUnlocked[_chapterSelection]) {
// Unlocked chapter â play it
_selectedChapter = _chapterSelection;
- debugC(DEBUG_INSANE, "Rebel2: Chapter %d selected (unlocked)", _selectedChapter + 1);
+ debugC(DEBUG_INSANE, "Chapter %d selected (unlocked)", _selectedChapter + 1);
setVirtualKeyboardVisible(false);
_menuInputActive = false;
return kChapterSelectPlay;
@@ -834,13 +834,13 @@ int InsaneRebel2::runChapterSelect() {
setBit(16 - _chapterSelection);
_passwordInput.clear();
updateMenuVirtualKeyboard();
- debugC(DEBUG_INSANE, "Rebel2: Chapter %d unlocked via password", _chapterSelection + 1);
+ debugC(DEBUG_INSANE, "Chapter %d unlocked via password", _chapterSelection + 1);
continue; // Re-render with updated unlock state
}
}
// Wrong password or no password entered
_passwordInput.clear();
- debugC(DEBUG_INSANE, "Rebel2: Password rejected for chapter %d", _chapterSelection + 1);
+ debugC(DEBUG_INSANE, "Password rejected for chapter %d", _chapterSelection + 1);
}
}
@@ -1222,7 +1222,7 @@ void InsaneRebel2::drawChapterSelectOverlay(byte *renderBitmap, int pitch, int w
// Returns kLevelSelectPlay, kLevelSelectBack, or kLevelSelectQuit.
int InsaneRebel2::runLevelSelect() {
- debugC(DEBUG_INSANE, "Rebel2: Entering pilot selection (FUN_00414A41), %d pilots loaded", _numPilots);
+ debugC(DEBUG_INSANE, "Entering pilot selection (FUN_00414A41), %d pilots loaded", _numPilots);
_menuInputActive = true;
while (!_menuEventQueue.empty())
@@ -1303,7 +1303,7 @@ int InsaneRebel2::runLevelSelect() {
copyPilot(pilotIndex);
savePilots();
_levelSelection = pilotIndex;
- debugC(DEBUG_INSANE, "Rebel2: Copied pilot %d, now %d pilots", pilotIndex, _numPilots);
+ debugC(DEBUG_INSANE, "Copied pilot %d, now %d pilots", pilotIndex, _numPilots);
} else {
deletePilot(pilotIndex);
savePilots();
@@ -1312,7 +1312,7 @@ int InsaneRebel2::runLevelSelect() {
} else {
_levelSelection = 0;
}
- debugC(DEBUG_INSANE, "Rebel2: Deleted pilot %d, %d remaining", pilotIndex, _numPilots);
+ debugC(DEBUG_INSANE, "Deleted pilot %d, %d remaining", pilotIndex, _numPilots);
}
}
_pilotMenuMode = kPilotModeSelect;
@@ -1322,7 +1322,7 @@ int InsaneRebel2::runLevelSelect() {
}
// --- Normal pilot menu selection ---
- debugC(DEBUG_INSANE, "Rebel2: Pilot selection: %d (numPilots=%d)", _levelSelection, _numPilots);
+ debugC(DEBUG_INSANE, "Pilot selection: %d (numPilots=%d)", _levelSelection, _numPilots);
if (_levelSelection < _numPilots) {
// Existing pilot selected â activate and go to chapter select
@@ -1334,7 +1334,7 @@ int InsaneRebel2::runLevelSelect() {
_chapterUnlocked[i] = _debugUnlockAll || (_pilots[_activePilot].damage[i] < 0xFF);
}
- debugC(DEBUG_INSANE, "Rebel2: Pilot '%s' selected (slot %d, difficulty %d)",
+ debugC(DEBUG_INSANE, "Pilot '%s' selected (slot %d, difficulty %d)",
_pilots[_activePilot].name, _activePilot, _difficulty);
setVirtualKeyboardVisible(false);
_menuInputActive = false;
@@ -1349,7 +1349,7 @@ int InsaneRebel2::runLevelSelect() {
_pilotMenuMode = kPilotModeNameInput;
_levelItemCount = _numPilots + 4;
updateMenuVirtualKeyboard();
- debugC(DEBUG_INSANE, "Rebel2: NEW PILOT - entering name for slot %d", newIdx);
+ debugC(DEBUG_INSANE, "NEW PILOT - entering name for slot %d", newIdx);
}
continue;
@@ -1359,7 +1359,7 @@ int InsaneRebel2::runLevelSelect() {
_pilotMenuMode = kPilotModeCopySelect;
_levelSelection = 0;
_levelItemCount = _numPilots;
- debugC(DEBUG_INSANE, "Rebel2: COPY PILOT - selecting source");
+ debugC(DEBUG_INSANE, "COPY PILOT - selecting source");
}
continue;
@@ -1369,7 +1369,7 @@ int InsaneRebel2::runLevelSelect() {
_pilotMenuMode = kPilotModeDeleteSelect;
_levelSelection = 0;
_levelItemCount = _numPilots;
- debugC(DEBUG_INSANE, "Rebel2: DELETE PILOT - selecting target");
+ debugC(DEBUG_INSANE, "DELETE PILOT - selecting target");
}
continue;
@@ -1731,7 +1731,7 @@ void InsaneRebel2::insertRanking(const char *name, int32 score, int32 rating,
}
void InsaneRebel2::showTopPilots() {
- debugC(DEBUG_INSANE, "Rebel2: Showing Top Pilots screen (FUN_00420116)");
+ debugC(DEBUG_INSANE, "Showing Top Pilots screen (FUN_00420116)");
_menuInputActive = true;
while (!_menuEventQueue.empty())
@@ -1754,7 +1754,7 @@ void InsaneRebel2::showTopPilots() {
_gameState = kStateMainMenu;
_menuInputActive = true;
- debugC(DEBUG_INSANE, "Rebel2: Top Pilots screen finished");
+ debugC(DEBUG_INSANE, "Top Pilots screen finished");
}
void InsaneRebel2::drawTopPilotsOverlay(byte *renderBitmap, int pitch, int width, int height) {
@@ -1838,7 +1838,7 @@ void InsaneRebel2::drawTopPilotsOverlay(byte *renderBitmap, int pitch, int width
// showOptionsMenu -- Options menu loop (FUN_00416787).
void InsaneRebel2::showOptionsMenu() {
- debugC(DEBUG_INSANE, "Rebel2: Showing Options menu (FUN_00416787)");
+ debugC(DEBUG_INSANE, "Showing Options menu (FUN_00416787)");
_menuInputActive = true;
while (!_menuEventQueue.empty())
@@ -1864,7 +1864,7 @@ void InsaneRebel2::showOptionsMenu() {
_gameState = kStateMainMenu;
_menuInputActive = true;
- debugC(DEBUG_INSANE, "Rebel2: Options menu finished");
+ debugC(DEBUG_INSANE, "Options menu finished");
}
int InsaneRebel2::processOptionsInput() {
diff --git a/engines/scumm/insane/rebel2/rebel.cpp b/engines/scumm/insane/rebel2/rebel.cpp
index 3b98f147377..df84162a961 100644
--- a/engines/scumm/insane/rebel2/rebel.cpp
+++ b/engines/scumm/insane/rebel2/rebel.cpp
@@ -689,7 +689,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
// Retail DAT_0047ab60: Yoda-mode Movie Mode skips playable
// sections and keeps the story/cutscene sequence moving.
_rebelMovieMode = !_rebelMovieMode;
- debugC(DEBUG_INSANE, "Rebel2: Movie mode %s", _rebelMovieMode ? "enabled" : "disabled");
+ debugC(DEBUG_INSANE, "Movie mode %s", _rebelMovieMode ? "enabled" : "disabled");
if (_rebelMovieMode && splayer && _gameState == kStateGameplay && _rebelHandler != 0)
_vm->_smushVideoShouldFinish = true;
return true;
@@ -698,7 +698,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
// Retail DAT_0047ab64: Yoda-mode Auto Play makes gameplay
// computer controlled.
_rebelAutoPlay = !_rebelAutoPlay;
- debugC(DEBUG_INSANE, "Rebel2: Auto play %s", _rebelAutoPlay ? "enabled" : "disabled");
+ debugC(DEBUG_INSANE, "Auto play %s", _rebelAutoPlay ? "enabled" : "disabled");
return true;
default:
@@ -731,7 +731,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
_gameplayMouseSettleUntil = now + kRA2Handler7MouseSettleExtendMs;
warpGameplayMouseNow(recenter.x, recenter.y);
- debugC(DEBUG_INSANE, "Rebel2 H7 mouse settle: suppress pos=(%d,%d) rel=(%d,%d) current=(%d,%d) until=%u",
+ debugC(DEBUG_INSANE, "H7 mouse settle: suppress pos=(%d,%d) rel=(%d,%d) current=(%d,%d) until=%u",
event.mouse.x, event.mouse.y, event.relMouse.x, event.relMouse.y,
_vm->_mouse.x, _vm->_mouse.y, _gameplayMouseSettleUntil);
return true;
@@ -741,7 +741,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
_gameplayMouseSettleUntil = 0;
}
- debugC(DEBUG_INSANE, "Rebel2 H7 mouse event: pos=(%d,%d) rel=(%d,%d) gamepadAim=%d menuInput=%d",
+ debugC(DEBUG_INSANE, "H7 mouse event: pos=(%d,%d) rel=(%d,%d) gamepadAim=%d menuInput=%d",
event.mouse.x, event.mouse.y, event.relMouse.x, event.relMouse.y,
_gamepadAimActive ? 1 : 0, _menuInputActive ? 1 : 0);
}
@@ -901,11 +901,11 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
}
if (_gameState == kStateGameplay && _rebelHandler != 0) {
- debugC(DEBUG_INSANE, "Rebel2: Skip/back action ignored during gameplay");
+ debugC(DEBUG_INSANE, "Skip/back action ignored during gameplay");
return true;
}
- debugC(DEBUG_INSANE, "Rebel2: Skip/back action - skipping video");
+ debugC(DEBUG_INSANE, "Skip/back action - skipping video");
_vm->_smushVideoShouldFinish = true;
return true;
}
@@ -915,7 +915,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
return true;
if (_menuInputActive && menuState) {
- debugC(DEBUG_INSANE, "Rebel2: Back/menu action in menu - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "Back/menu action in menu - opening ScummVM menu");
openMenuMainMenu(splayer);
return true;
}
@@ -924,23 +924,23 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
if (_lastGameplayMenuCloseTime != 0) {
const uint32 elapsedSinceMenuClose = _vm->_system->getMillis() - _lastGameplayMenuCloseTime;
if (elapsedSinceMenuClose < 500) {
- debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated gameplay menu action (%u ms)", elapsedSinceMenuClose);
+ debugC(DEBUG_INSANE, "Ignoring repeated gameplay menu action (%u ms)", elapsedSinceMenuClose);
return true;
}
}
- debugC(DEBUG_INSANE, "Rebel2: Back/menu action during gameplay - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "Back/menu action during gameplay - opening ScummVM menu");
openGameplayMainMenu(splayer);
return true;
}
- debugC(DEBUG_INSANE, "Rebel2: Back/menu action - skipping video");
+ debugC(DEBUG_INSANE, "Back/menu action - skipping video");
_vm->_smushVideoShouldFinish = true;
return true;
}
if (pressed && splayer && splayer->_paused && _gameState == kStateGameplay) {
- debugC(DEBUG_INSANE, "Rebel2: Joystick action while paused - unpausing");
+ debugC(DEBUG_INSANE, "Joystick action while paused - unpausing");
if (_pauseOverlayActive) {
_vm->_system->getPaletteManager()->setPalette(_savedPausePalette, 0, 256);
_pauseOverlayActive = false;
@@ -1032,11 +1032,11 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
(event.type == Common::EVENT_MAINMENU ||
(event.type == Common::EVENT_KEYDOWN && event.kbd.keycode == Common::KEYCODE_ESCAPE))) {
if (event.type == Common::EVENT_KEYDOWN && event.kbdRepeat) {
- debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated ESC keydown in menu");
+ debugC(DEBUG_INSANE, "Ignoring repeated ESC keydown in menu");
return true;
}
- debugC(DEBUG_INSANE, "Rebel2: Opening ScummVM menu from menu state");
+ debugC(DEBUG_INSANE, "Opening ScummVM menu from menu state");
openMenuMainMenu(splayer);
return true;
}
@@ -1051,14 +1051,14 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
if (gameplayMenuTrigger && _gameState == kStateGameplay && _lastGameplayMenuCloseTime != 0) {
const uint32 elapsedSinceMenuClose = _vm->_system->getMillis() - _lastGameplayMenuCloseTime;
if (elapsedSinceMenuClose < 500) {
- debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated gameplay menu trigger (%u ms)", elapsedSinceMenuClose);
+ debugC(DEBUG_INSANE, "Ignoring repeated gameplay menu trigger (%u ms)", elapsedSinceMenuClose);
return true;
}
}
if (event.type == Common::EVENT_MAINMENU && splayer &&
_gameState == kStateGameplay && _rebelHandler != 0) {
- debugC(DEBUG_INSANE, "Rebel2: Main menu action during gameplay - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "Main menu action during gameplay - opening ScummVM menu");
openGameplayMainMenu(splayer);
return true;
}
@@ -1068,7 +1068,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
// leaving the key repeat source to synthesize another ESC immediately after
// returning to gameplay. Treat repeats as part of the original press.
if (event.kbd.keycode == Common::KEYCODE_ESCAPE && event.kbdRepeat) {
- debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated ESC keydown");
+ debugC(DEBUG_INSANE, "Ignoring repeated ESC keydown");
return true;
}
if (_menuInputActive && event.kbdRepeat &&
@@ -1076,14 +1076,14 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
event.kbd.keycode == Common::KEYCODE_DOWN ||
event.kbd.keycode == Common::KEYCODE_LEFT ||
event.kbd.keycode == Common::KEYCODE_RIGHT)) {
- debugC(DEBUG_INSANE, "Rebel2: Ignoring repeated menu direction keydown");
+ debugC(DEBUG_INSANE, "Ignoring repeated menu direction keydown");
return true;
}
// When paused during gameplay, ANY key unpauses (FUN_405A21 line 360-365).
// ESC additionally opens the ScummVM menu (original: quit key exits level).
if (splayer && splayer->_paused && _gameState == kStateGameplay) {
- debugC(DEBUG_INSANE, "Rebel2: Key pressed while paused - unpausing");
+ debugC(DEBUG_INSANE, "Key pressed while paused - unpausing");
// Restore the original palette saved by showPauseOverlay
if (_pauseOverlayActive) {
_vm->_system->getPaletteManager()->setPalette(_savedPausePalette, 0, 256);
@@ -1091,7 +1091,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
}
splayer->unpause();
if (event.kbd.keycode == Common::KEYCODE_ESCAPE && _rebelHandler != 0) {
- debugC(DEBUG_INSANE, "Rebel2: ESC during pause - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "ESC during pause - opening ScummVM menu");
openGameplayMainMenu(splayer);
}
return true;
@@ -1106,11 +1106,11 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
if (splayer) {
if (_gameState == kStateGameplay && _rebelHandler != 0) {
// During active gameplay (handler != 0): pause and open ScummVM menu.
- debugC(DEBUG_INSANE, "Rebel2: ESC pressed during gameplay - opening ScummVM menu");
+ debugC(DEBUG_INSANE, "ESC pressed during gameplay - opening ScummVM menu");
openGameplayMainMenu(splayer);
} else {
// During cutscenes/intros/mission briefings: skip video
- debugC(DEBUG_INSANE, "Rebel2: ESC pressed - skipping video");
+ debugC(DEBUG_INSANE, "ESC pressed - skipping video");
_vm->_smushVideoShouldFinish = true;
}
return true; // Consume the event
@@ -1121,7 +1121,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
// SPACE pauses during gameplay (FUN_405A21).
// Unpausing is handled above (any key while paused).
if (splayer && _gameState == kStateGameplay && !splayer->_paused) {
- debugC(DEBUG_INSANE, "Rebel2: SPACE pressed - pausing");
+ debugC(DEBUG_INSANE, "SPACE pressed - pausing");
splayer->pause();
showPauseOverlay();
return true;
@@ -1135,7 +1135,7 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
_rebelHandler != 0 &&
event.kbd.hasFlags(Common::KBD_SHIFT)) {
_skipSectionRequested = true;
- debugC(DEBUG_INSANE, "Rebel2: Shift+S pressed - requesting gameplay section skip");
+ debugC(DEBUG_INSANE, "Shift+S pressed - requesting gameplay section skip");
_vm->_smushVideoShouldFinish = true;
return true; // Consume the event
}
@@ -1150,10 +1150,10 @@ bool InsaneRebel2::notifyEvent(const Common::Event &event) {
if (!_noDamage) {
_playerDamage = 255;
_playerShield = 0;
- debugC(DEBUG_INSANE, "Rebel2: Shift+D pressed - forcing player death");
+ debugC(DEBUG_INSANE, "Shift+D pressed - forcing player death");
_vm->_smushVideoShouldFinish = true;
} else {
- debugC(DEBUG_INSANE, "Rebel2: Shift+D pressed - no damage mode prevents forced death");
+ debugC(DEBUG_INSANE, "Shift+D pressed - no damage mode prevents forced death");
}
return true; // Consume the event
}
@@ -1385,13 +1385,13 @@ void InsaneRebel2::addScore(int points) {
// Award bonus life
_playerLives++;
// TODO: Play bonus life sound (FUN_0041189e(5, 0, 0x7f, 0, 0))
- debugC(DEBUG_INSANE, "Rebel2: BONUS LIFE! Score crossed %d threshold. Lives=%d", threshold, _playerLives);
+ debugC(DEBUG_INSANE, "BONUS LIFE! Score crossed %d threshold. Lives=%d", threshold, _playerLives);
}
}
// Add points to score
_playerScore += points;
- debugC(DEBUG_INSANE, "Rebel2: Score +%d = %d", points, _playerScore);
+ debugC(DEBUG_INSANE, "Score +%d = %d", points, _playerScore);
}
// Render score text to HUD (part of FUN_0041c012)
@@ -1478,7 +1478,7 @@ bool InsaneRebel2::loadPilots() {
_numPilots = i + 1;
}
- debugC(DEBUG_INSANE, "Rebel2: Loaded %d pilot(s)", _numPilots);
+ debugC(DEBUG_INSANE, "Loaded %d pilot(s)", _numPilots);
return _numPilots > 0;
}
@@ -1520,7 +1520,7 @@ bool InsaneRebel2::savePilots() {
_vm->_saveFileMan->removeSavefile(filename);
}
- debugC(DEBUG_INSANE, "Rebel2: Saved %d pilot(s)", _numPilots);
+ debugC(DEBUG_INSANE, "Saved %d pilot(s)", _numPilots);
return ok;
}
@@ -1671,7 +1671,7 @@ int32 InsaneRebel2::processMouse() {
mousePos = getGameplayAimPoint();
}
Common::Point gameplayAim = getGameplayAimPoint();
- debugC(DEBUG_INSANE, "Rebel2 Click: Mouse=(%d,%d) Target=(%d,%d) Enemies=%d",
+ debugC(DEBUG_INSANE, "Click: Mouse=(%d,%d) Target=(%d,%d) Enemies=%d",
gameplayAim.x, gameplayAim.y, mousePos.x, mousePos.y, _enemies.size());
// Spawn visual shot immediately
@@ -1699,7 +1699,7 @@ int32 InsaneRebel2::processMouse() {
// Enemy hit!
it->active = false;
it->destroyed = true; // Mark as destroyed so IACT won't re-activate
- debugC(DEBUG_INSANE, "Rebel2: HIT enemy ID=%d type=%d at (%d,%d) - Rect: (%d,%d)-(%d,%d)",
+ debugC(DEBUG_INSANE, "HIT enemy ID=%d type=%d at (%d,%d) - Rect: (%d,%d)-(%d,%d)",
it->id, it->type, mousePos.x, mousePos.y,
it->rect.left, it->rect.top, it->rect.right, it->rect.bottom);
@@ -1749,7 +1749,7 @@ int32 InsaneRebel2::processMouse() {
// This tracks which enemy GROUPS have been killed in this wave
if (it->type > 0 && it->type < 32) {
_rebelWaveState |= (1 << it->type);
- debugC(DEBUG_INSANE, "Rebel2: Wave state updated: 0x%x (set bit %d)", _rebelWaveState, it->type);
+ debugC(DEBUG_INSANE, "Wave state updated: 0x%x (set bit %d)", _rebelWaveState, it->type);
}
// Increment kill counter (DAT_0047ab88)
@@ -1766,17 +1766,17 @@ int32 InsaneRebel2::processMouse() {
// Slot 2: Enable (Explosion?)
if (_rebelLinks[id][2] != 0) {
clearBit(_rebelLinks[id][2]);
- debugC(DEBUG_INSANE, "Rebel2: Enabled dependency Slot 2 (ID=%d) for Parent %d", _rebelLinks[id][2], id);
+ debugC(DEBUG_INSANE, "Enabled dependency Slot 2 (ID=%d) for Parent %d", _rebelLinks[id][2], id);
}
// Slot 1: Enable (Explosion?)
if (_rebelLinks[id][1] != 0) {
clearBit(_rebelLinks[id][1]);
- debugC(DEBUG_INSANE, "Rebel2: Enabled dependency Slot 1 (ID=%d) for Parent %d", _rebelLinks[id][1], id);
+ debugC(DEBUG_INSANE, "Enabled dependency Slot 1 (ID=%d) for Parent %d", _rebelLinks[id][1], id);
}
// Slot 0: Disable (Shots?)
if (_rebelLinks[id][0] != 0) {
setBit(_rebelLinks[id][0]);
- debugC(DEBUG_INSANE, "Rebel2: Disabled dependency Slot 0 (ID=%d) for Parent %d", _rebelLinks[id][0], id);
+ debugC(DEBUG_INSANE, "Disabled dependency Slot 0 (ID=%d) for Parent %d", _rebelLinks[id][0], id);
}
}
@@ -2061,7 +2061,7 @@ void InsaneRebel2::procSKIP(int32 subSize, Common::SeekableReadStream &b) {
if (bit1) {
_player->_skipNext = true;
}
- debugC(DEBUG_INSANE, "Rebel2 SKIP: single ID=%d bit=%d skip=%d frame=%d", par1, bit1 ? 1 : 0, _player->_skipNext ? 1 : 0, _player->_frame);
+ debugC(DEBUG_INSANE, "SKIP: single ID=%d bit=%d skip=%d frame=%d", par1, bit1 ? 1 : 0, _player->_skipNext ? 1 : 0, _player->_frame);
} else {
// Dual ID mode: skip if bits are different (XOR logic)
bool bit1 = isBitSet(par1);
@@ -2069,7 +2069,7 @@ void InsaneRebel2::procSKIP(int32 subSize, Common::SeekableReadStream &b) {
if (bit1 != bit2) {
_player->_skipNext = true;
}
- debugC(DEBUG_INSANE, "Rebel2 SKIP: dual ID1=%d(bit=%d) ID2=%d(bit=%d) skip=%d frame=%d", par1, bit1 ? 1 : 0, par2, bit2 ? 1 : 0, _player->_skipNext ? 1 : 0, _player->_frame);
+ debugC(DEBUG_INSANE, "SKIP: dual ID1=%d(bit=%d) ID2=%d(bit=%d) skip=%d frame=%d", par1, bit1 ? 1 : 0, par2, bit2 ? 1 : 0, _player->_skipNext ? 1 : 0, _player->_frame);
}
}
diff --git a/engines/scumm/insane/rebel2/render.cpp b/engines/scumm/insane/rebel2/render.cpp
index a33ef1aa849..4256f4e6638 100644
--- a/engines/scumm/insane/rebel2/render.cpp
+++ b/engines/scumm/insane/rebel2/render.cpp
@@ -168,7 +168,7 @@ static bool readEmbeddedSanChunkHeader(Common::SeekableReadStream &stream, int64
const int64 dataStart = stream.pos();
if ((int64)chunkSize > containerEnd - dataStart) {
- debugC(DEBUG_INSANE, "Rebel2: Truncated embedded SAN %s chunk 0x%08X at %lld: size=%u, remaining=%lld",
+ debugC(DEBUG_INSANE, "Truncated embedded SAN %s chunk 0x%08X at %lld: size=%u, remaining=%lld",
context, tag, headerPos, chunkSize, containerEnd - dataStart);
return false;
}
@@ -204,12 +204,12 @@ void InsaneRebel2::renderEmbeddedFrame(byte *renderBitmap, const EmbeddedSanFram
}
if (_rebelHandler == 0x19 && (userId == 6 || userId == 7)) {
skipImmediateDraw = false;
- debugC(DEBUG_INSANE, "Rebel2: Handler 25 static overlay userId=%d - forcing immediate draw", userId);
+ debugC(DEBUG_INSANE, "Handler 25 static overlay userId=%d - forcing immediate draw", userId);
}
if (!frame.valid || !renderBitmap || skipImmediateDraw) {
if (skipImmediateDraw && frame.valid) {
- debugC(DEBUG_INSANE, "Rebel2: Skipped immediate draw for Handler %d HUD %d (will render during post-processing)",
+ debugC(DEBUG_INSANE, "Skipped immediate draw for Handler %d HUD %d (will render during post-processing)",
_rebelHandler, userId);
}
return;
@@ -220,7 +220,7 @@ void InsaneRebel2::renderEmbeddedFrame(byte *renderBitmap, const EmbeddedSanFram
blitEmbeddedFrameRegion(renderBitmap, pitch, pitch, bufHeight, frame,
frame.renderX, frame.renderY, 0, 0, frame.width, frame.height);
- debugC(DEBUG_INSANE, "Rebel2: Rendered embedded HUD %d at (%d,%d)", userId, frame.renderX, frame.renderY);
+ debugC(DEBUG_INSANE, "Rendered embedded HUD %d at (%d,%d)", userId, frame.renderX, frame.renderY);
}
void InsaneRebel2::drawHandler25CorridorOverlay(byte *renderBitmap) {
@@ -269,7 +269,7 @@ void InsaneRebel2::drawHandler25CorridorOverlay(byte *renderBitmap) {
drawWidth);
}
- debugC(DEBUG_INSANE, "Rebel2 Handler25: Corridor overlay drawn at (%d,%d) size(%d,%d)",
+ debugC(DEBUG_INSANE, "Handler25: Corridor overlay drawn at (%d,%d) size(%d,%d)",
_rebelViewOffsetX, _rebelViewOffsetY, corridorOverlay.width, corridorOverlay.height);
}
@@ -282,7 +282,7 @@ void InsaneRebel2::drawHandler25CorridorOverlay(byte *renderBitmap) {
void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte *renderBitmap) {
// Validate userId - Level 3 uses slots 0-11, allow up to 15 for safety
if (userId < 0 || userId > 15 || !animData || size < 8) {
- debugC(DEBUG_INSANE, "Rebel2: Invalid embedded SAN: userId=%d, size=%d", userId, size);
+ debugC(DEBUG_INSANE, "Invalid embedded SAN: userId=%d, size=%d", userId, size);
return;
}
@@ -292,7 +292,7 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
// Read ANIM header
uint32 animTag = stream.readUint32BE();
if (animTag != MKTAG('A','N','I','M')) {
- debugC(DEBUG_INSANE, "Rebel2: Embedded SAN missing ANIM tag, got 0x%08X", animTag);
+ debugC(DEBUG_INSANE, "Embedded SAN missing ANIM tag, got 0x%08X", animTag);
return;
}
uint32 animSize = stream.readUint32BE();
@@ -300,9 +300,9 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
if ((int64)animSize <= streamEnd - 8) {
animEnd = 8 + (int64)animSize;
} else {
- debugC(DEBUG_INSANE, "Rebel2: Embedded ANIM truncated: reported size=%u, actual=%lld", animSize, streamEnd - 8);
+ debugC(DEBUG_INSANE, "Embedded ANIM truncated: reported size=%u, actual=%lld", animSize, streamEnd - 8);
}
- debugC(DEBUG_INSANE, "Rebel2: Parsing embedded ANIM: userId=%d, reported size=%u, actual=%lld", userId, animSize, streamEnd - 8);
+ debugC(DEBUG_INSANE, "Parsing embedded ANIM: userId=%d, reported size=%u, actual=%lld", userId, animSize, streamEnd - 8);
// Iterate through chunks to find FRME -> FOBJ
while (!stream.eos() && stream.pos() + 8 <= animEnd) {
@@ -325,7 +325,7 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
if (subTag == MKTAG('F','O','B','J')) {
if (subSize < 14) {
- debugC(DEBUG_INSANE, "Rebel2: Embedded FOBJ too small: userId=%d, size=%u", userId, subSize);
+ debugC(DEBUG_INSANE, "Embedded FOBJ too small: userId=%d, size=%u", userId, subSize);
stream.seek(nextSubPos);
continue;
}
@@ -339,13 +339,13 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
stream.readUint16LE(); // unknown
stream.readUint16LE(); // unknown
- debugC(DEBUG_INSANE, "Rebel2: Embedded HUD frame: userId=%d, %dx%d at (%d,%d), codec=%d",
+ debugC(DEBUG_INSANE, "Embedded HUD frame: userId=%d, %dx%d at (%d,%d), codec=%d",
userId, width, height, left, top, codec);
// High-resolution HUD frames are used when the RA2 high-res option
// selects a 640x400 virtual screen. Keep skipping them in low-res mode.
if (!isHiRes() && (width > 400 || height > 250)) {
- debugC(DEBUG_INSANE, "Rebel2: SKIPPING high-res embedded frame: userId=%d, %dx%d (exceeds 400x250)",
+ debugC(DEBUG_INSANE, "SKIPPING high-res embedded frame: userId=%d, %dx%d (exceeds 400x250)",
userId, width, height);
stream.seek(nextSubPos);
continue;
@@ -383,7 +383,7 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
}
uint32 bytesRead = stream.read(fobjData, dataSize);
if (bytesRead != (uint32)dataSize) {
- debugC(DEBUG_INSANE, "Rebel2: Short embedded FOBJ read: got %u of %d bytes", bytesRead, dataSize);
+ debugC(DEBUG_INSANE, "Short embedded FOBJ read: got %u of %d bytes", bytesRead, dataSize);
free(fobjData);
return;
}
@@ -393,17 +393,17 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
// Codec 1/3: RLE - use existing decoder (FUN_0042C590)
smushDecodeRLE(frame.pixels, fobjData, 0, 0, width, height, width);
frame.valid = true;
- debugC(DEBUG_INSANE, "Rebel2: Decoded embedded HUD (codec %d/RLE): %dx%d", codec, width, height);
+ debugC(DEBUG_INSANE, "Decoded embedded HUD (codec %d/RLE): %dx%d", codec, width, height);
} else if (codec == 20) {
// Codec 20: Uncompressed (FUN_0042C400)
smushDecodeUncompressed(frame.pixels, fobjData, 0, 0, width, height, width);
frame.valid = true;
- debugC(DEBUG_INSANE, "Rebel2: Decoded embedded HUD (codec 20/raw): %dx%d", width, height);
+ debugC(DEBUG_INSANE, "Decoded embedded HUD (codec 20/raw): %dx%d", width, height);
} else if (codec == 21 || codec == 44) {
// Codec 21/44: Line update (FUN_0042BD60)
smushDecodeLineUpdate(frame.pixels, fobjData, 0, 0, width, height, width, dataSize);
frame.valid = true;
- debugC(DEBUG_INSANE, "Rebel2: Decoded embedded HUD (codec %d/line update): %dx%d", codec, width, height);
+ debugC(DEBUG_INSANE, "Decoded embedded HUD (codec %d/line update): %dx%d", codec, width, height);
} else if (codec == 45) {
// Codec 45: blur/wipe mask (FUN_0042B460 -> FUN_0042B530 -> FUN_0042DDF0)
smushDecodeRA2Blur(frame.pixels, fobjData, 0, 0, width, height, width, dataSize,
@@ -413,16 +413,16 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
// Codec 23: Skip/copy with embedded RLE (FUN_0042BBF0)
smushDecodeSkipRLE(frame.pixels, fobjData, 0, 0, width, height, width, dataSize);
frame.valid = true;
- debugC(DEBUG_INSANE, "Rebel2: Decoded embedded HUD (codec 23/skip-RLE): %dx%d", width, height);
+ debugC(DEBUG_INSANE, "Decoded embedded HUD (codec 23/skip-RLE): %dx%d", width, height);
} else {
- debugC(DEBUG_INSANE, "Rebel2: Unsupported embedded HUD codec %d", codec);
+ debugC(DEBUG_INSANE, "Unsupported embedded HUD codec %d", codec);
frame.valid = false;
}
// Count non-zero pixels to verify frame has content
if (frame.valid) {
int nonZeroPixels = countEmbeddedFramePixels(frame);
- debugC(DEBUG_INSANE, "Rebel2: Frame userId=%d has %d non-zero pixels (%d%%)",
+ debugC(DEBUG_INSANE, "Frame userId=%d has %d non-zero pixels (%d%%)",
userId, nonZeroPixels, (nonZeroPixels * 100) / (width * height));
}
@@ -447,7 +447,7 @@ void InsaneRebel2::loadEmbeddedSan(int userId, byte *animData, int32 size, byte
}
}
- debugC(DEBUG_INSANE, "Rebel2: No FOBJ found in embedded SAN userId=%d", userId);
+ debugC(DEBUG_INSANE, "No FOBJ found in embedded SAN userId=%d", userId);
}
// Spawn explosion into the shared 5-slot system.
@@ -611,7 +611,7 @@ void InsaneRebel2::spawnHandler25Shot(int x, int y) {
_turretShots[i].gunY = _rebelViewOffset2Y + 140 + _viewY;
}
- debugC(DEBUG_INSANE, "Rebel2 Handler25: Spawned shot %d target (%d,%d) gun (%d,%d)",
+ debugC(DEBUG_INSANE, "Handler25: Spawned shot %d target (%d,%d) gun (%d,%d)",
i, _turretShots[i].targetX, _turretShots[i].targetY,
_turretShots[i].gunX, _turretShots[i].gunY);
break;
@@ -1147,7 +1147,7 @@ void InsaneRebel2::initLaserTexture(NutRenderer *nut, int spriteIdx) {
}
}
- debugC(DEBUG_INSANE, "Rebel2: Initialized laser texture %dx%d from sprite %d (xoff=%d yoff=%d src=%dx%d)",
+ debugC(DEBUG_INSANE, "Initialized laser texture %dx%d from sprite %d (xoff=%d yoff=%d src=%dx%d)",
texWidth, texHeight, spriteIdx, srcXOff, srcYOff, srcWidth, srcHeight);
}
@@ -1514,7 +1514,7 @@ void InsaneRebel2::drawLaserBeam(byte *dst, int pitch, int width, int height,
int edgeClipRight = CLIP<int>(clipRight - 1, 1, width - 2);
int edgeClipBottom = CLIP<int>(clipBottom - 1, 1, height - 2);
- debugC(DEBUG_INSANE, "Rebel2: drawLaserBeam gun(%d,%d) tgt(%d,%d) start(%d,%d) end(%d,%d) anim=%d/%d ws=%d hs=%d th=%d",
+ debugC(DEBUG_INSANE, "drawLaserBeam gun(%d,%d) tgt(%d,%d) start(%d,%d) end(%d,%d) anim=%d/%d ws=%d hs=%d th=%d",
gunX, gunY, targetX, targetY, startX, startY, endX, endY,
animFrame, maxFrames, widthScale, heightScale, thickness);
@@ -1660,16 +1660,16 @@ void InsaneRebel2::registerCollisionZone(Common::SeekableReadStream &b, int16 su
// Register zone into appropriate table based on sub-opcode
if (subOpcode == 0x0D && _primaryZoneCount < kMaxCollisionZones) {
_primaryZones[_primaryZoneCount++] = zone;
- debugC(DEBUG_INSANE, "Rebel2: Registered PRIMARY zone %d: filter=%d fields=[%d,%d] quad=(%d,%d)-(%d,%d)-(%d,%d)-(%d,%d)",
+ debugC(DEBUG_INSANE, "Registered PRIMARY zone %d: filter=%d fields=[%d,%d] quad=(%d,%d)-(%d,%d)-(%d,%d)-(%d,%d)",
_primaryZoneCount - 1, par4, field1, field2,
x1, y1, x2, y2, x3, y3, x4, y4);
} else if (subOpcode == 0x0E && _secondaryZoneCount < kMaxCollisionZones) {
_secondaryZones[_secondaryZoneCount++] = zone;
- debugC(DEBUG_INSANE, "Rebel2: Registered SECONDARY zone %d: filter=%d fields=[%d,%d] quad=(%d,%d)-(%d,%d)-(%d,%d)-(%d,%d)",
+ debugC(DEBUG_INSANE, "Registered SECONDARY zone %d: filter=%d fields=[%d,%d] quad=(%d,%d)-(%d,%d)-(%d,%d)-(%d,%d)",
_secondaryZoneCount - 1, par4, field1, field2,
x1, y1, x2, y2, x3, y3, x4, y4);
} else {
- debugC(DEBUG_INSANE, "Rebel2: WARNING - Could not register zone (subOpcode=%d, primary=%d, secondary=%d)",
+ debugC(DEBUG_INSANE, "WARNING - Could not register zone (subOpcode=%d, primary=%d, secondary=%d)",
subOpcode, _primaryZoneCount, _secondaryZoneCount);
}
}
@@ -1793,7 +1793,7 @@ void InsaneRebel2::checkCollisionZones(byte *renderBitmap, int pitch, int width,
int collisionDamage = (dparams.dodgeDamage >= 0) ? dparams.dodgeDamage : 0;
if (applyPlayerDamage(collisionDamage)) {
- debugC(DEBUG_INSANE, "Rebel2: COLLISION damage! zone=%d aim=(%d,%d) damage=%d total=%d",
+ debugC(DEBUG_INSANE, "COLLISION damage! zone=%d aim=(%d,%d) damage=%d total=%d",
i, aimX, aimY, collisionDamage, _playerDamage);
}
// Visual effect â FUN_00420515 (palette flash)
@@ -1899,7 +1899,7 @@ void InsaneRebel2::applyHandler7ObstacleHit(const InsaneRebel2::CollisionZone &z
initDamageFlash();
// Pan based on ship X position relative to screen center.
playSfx(1, 127, CLIP((_flyShipScreenX - 212) * 127 / 160, -127, 127));
- debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode0/2 OBSTACLE HIT zone=%d ship=(%d,%d) damage=%d",
+ debugC(DEBUG_INSANE, "Handler7 Mode0/2 OBSTACLE HIT zone=%d ship=(%d,%d) damage=%d",
zoneIndex, _flyShipScreenX, _flyShipScreenY, collisionDamage);
}
@@ -1978,7 +1978,7 @@ void InsaneRebel2::checkHandler7TopBoundary(const InsaneRebel2::CollisionZone &z
// Ship above top wall - push down.
const bool damageApplied = applyHandler7WallDamage(wallDamage);
if (damageApplied) {
- debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode1/3 TOP WALL ship=(%d,%d) edgeY=%d damage=%d",
+ debugC(DEBUG_INSANE, "Handler7 Mode1/3 TOP WALL ship=(%d,%d) edgeY=%d damage=%d",
_flyShipScreenX, _flyShipScreenY, edgeY, wallDamage);
}
_spaceShotDirection = 2; // Direction: pushed down
@@ -2004,7 +2004,7 @@ void InsaneRebel2::checkHandler7BottomBoundary(const InsaneRebel2::CollisionZone
// Ship below bottom wall - push up.
const bool damageApplied = applyHandler7WallDamage(wallDamage);
if (damageApplied) {
- debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode1/3 BOTTOM WALL ship=(%d,%d) edgeY=%d damage=%d",
+ debugC(DEBUG_INSANE, "Handler7 Mode1/3 BOTTOM WALL ship=(%d,%d) edgeY=%d damage=%d",
_flyShipScreenX, _flyShipScreenY, edgeY, wallDamage);
}
_spaceShotDirection = 3; // Direction: pushed up
@@ -2034,7 +2034,7 @@ void InsaneRebel2::checkHandler7LeftBoundary(const InsaneRebel2::CollisionZone &
const bool damageApplied = applyHandler7WallDamage(wallDamage);
if (damageApplied) {
- debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode1/3 LEFT WALL ship=(%d,%d) edgeX=%d damage=%d",
+ debugC(DEBUG_INSANE, "Handler7 Mode1/3 LEFT WALL ship=(%d,%d) edgeX=%d damage=%d",
_flyShipScreenX, _flyShipScreenY, edgeX, wallDamage);
}
_spaceShotDirection = 0; // Direction: pushed right
@@ -2061,7 +2061,7 @@ void InsaneRebel2::checkHandler7RightBoundary(const InsaneRebel2::CollisionZone
const bool damageApplied = applyHandler7WallDamage(wallDamage);
if (damageApplied) {
- debugC(DEBUG_INSANE, "Rebel2: Handler7 Mode1/3 RIGHT WALL ship=(%d,%d) edgeX=%d damage=%d",
+ debugC(DEBUG_INSANE, "Handler7 Mode1/3 RIGHT WALL ship=(%d,%d) edgeX=%d damage=%d",
_flyShipScreenX, _flyShipScreenY, edgeX, wallDamage);
}
_spaceShotDirection = 1; // Direction: pushed left
@@ -2454,7 +2454,7 @@ bool InsaneRebel2::handlePostRenderMenuModes(byte *renderBitmap, int pitch, int
// If a selection was confirmed, signal video to stop.
if (selection >= 0) {
- debugC(DEBUG_INSANE, "Rebel2: Pilot selection confirmed: %d", selection);
+ debugC(DEBUG_INSANE, "Pilot selection confirmed: %d", selection);
_menuSelectionConfirmed = true;
_vm->_smushVideoShouldFinish = true;
}
@@ -2479,7 +2479,7 @@ bool InsaneRebel2::handlePostRenderMenuModes(byte *renderBitmap, int pitch, int
// If a selection was confirmed, signal video to stop.
if (selection >= 0) {
- debugC(DEBUG_INSANE, "Rebel2: Chapter selection confirmed: %d", selection);
+ debugC(DEBUG_INSANE, "Chapter selection confirmed: %d", selection);
_menuSelectionConfirmed = true;
_vm->_smushVideoShouldFinish = true;
}
@@ -2515,7 +2515,7 @@ bool InsaneRebel2::handlePostRenderMenuModes(byte *renderBitmap, int pitch, int
// At 12fps video rate, 300 frames = ~25 seconds of inactivity.
// The original checks: if (local_8 > 299) return 0.
if (_menuInactivityTimer > 300) {
- debugC(DEBUG_INSANE, "Rebel2: Menu inactivity timeout - resuming intro/demo loop");
+ debugC(DEBUG_INSANE, "Menu inactivity timeout - resuming intro/demo loop");
_menuInactivityTimer = 0;
_menuInactivityTimedOut = true;
_menuSelectionConfirmed = false;
@@ -2528,7 +2528,7 @@ bool InsaneRebel2::handlePostRenderMenuModes(byte *renderBitmap, int pitch, int
// If a selection was confirmed, signal video to stop.
if (selection >= 0) {
- debugC(DEBUG_INSANE, "Rebel2: Menu selection confirmed: %d", selection);
+ debugC(DEBUG_INSANE, "Menu selection confirmed: %d", selection);
_menuSelectionConfirmed = true;
_vm->_smushVideoShouldFinish = true;
}
@@ -2559,7 +2559,7 @@ bool InsaneRebel2::handlePostRenderIntro(byte *renderBitmap, int pitch, int widt
// Track state transition for debugging.
if (!_introCursorPushed) {
_introCursorPushed = true;
- debugC(DEBUG_INSANE, "Rebel2: Intro/cinematic mode (handler=0, flags=0x%x, state=%d) - HUD disabled, mouse hidden",
+ debugC(DEBUG_INSANE, "Intro/cinematic mode (handler=0, flags=0x%x, state=%d) - HUD disabled, mouse hidden",
_player->_curVideoFlags, _gameState);
}
@@ -2574,7 +2574,7 @@ bool InsaneRebel2::handlePostRenderIntro(byte *renderBitmap, int pitch, int widt
// Gameplay mode - handler was set by IACT opcode 6.
if (_introCursorPushed) {
_introCursorPushed = false;
- debugC(DEBUG_INSANE, "Rebel2: Gameplay mode (handler=%d, flags=0x%x, state=%d) - HUD enabled",
+ debugC(DEBUG_INSANE, "Gameplay mode (handler=%d, flags=0x%x, state=%d) - HUD enabled",
_rebelHandler, _player->_curVideoFlags, _gameState);
}
@@ -2694,7 +2694,7 @@ void InsaneRebel2::renderGameplayPostFrame(byte *renderBitmap, int pitch, int wi
renderStatusBarBackground(renderBitmap, pitch, width, height, videoWidth, videoHeight, statusBarY);
// Ship rendering (FUN_00401ccf for Handler 8, FUN_0040d836 for Handler 7).
- debugC(DEBUG_INSANE, "Rebel2 Ship Check: handler=%d shipSprite=%p flyShipSprite=%p shipLevelMode=%d numSprites=%d/%d",
+ debugC(DEBUG_INSANE, "Ship Check: handler=%d shipSprite=%p flyShipSprite=%p shipLevelMode=%d numSprites=%d/%d",
_rebelHandler, (void*)_shipSprite, (void*)_flyShipSprite, _shipLevelMode,
_shipSprite ? _shipSprite->getNumChars() : 0,
_flyShipSprite ? _flyShipSprite->getNumChars() : 0);
@@ -2974,7 +2974,7 @@ void InsaneRebel2::renderTextOverlay(byte *renderBitmap, int pitch, int width, i
SmushPlayer *splayer = ((ScummEngine_v7 *)_vm)->_splayer;
const char *text = splayer->getString(_textOverlayID);
- debugC(DEBUG_INSANE, "Rebel2: Text overlay frame %d/%d-%d textID=0x%x text='%s'",
+ debugC(DEBUG_INSANE, "Text overlay frame %d/%d-%d textID=0x%x text='%s'",
curFrame, _textOverlayFadeIn, _textOverlayFadeOut, _textOverlayID,
text ? text : "(null)");
if (!text)
@@ -3171,7 +3171,7 @@ void InsaneRebel2::renderTurretHudOverlays(byte *renderBitmap, int pitch, int wi
_hudOverlayNut, animFrame);
}
- debugC(DEBUG_INSANE, "Rebel2 HUD: Drawing NUT overlay frame %d/%d at (%d,%d) mouseOffset=(%d,%d)",
+ debugC(DEBUG_INSANE, "HUD: Drawing NUT overlay frame %d/%d at (%d,%d) mouseOffset=(%d,%d)",
animFrame, numSprites, hudX, hudY, mouseOffsetX, mouseOffsetY);
// Draw secondary HUD overlay if present (DAT_0047fe80)
@@ -3204,7 +3204,7 @@ void InsaneRebel2::renderEmbeddedHudOverlays(byte *renderBitmap, int pitch, int
// Skip small frames at (0,0) - likely animation patches
if (frame.renderX == 0 && frame.renderY == 0 && frame.width < 50 && frame.height < 60) {
- debugC(DEBUG_INSANE, "Rebel2: Skipping small embedded frame at (0,0): slot=%d size=%dx%d",
+ debugC(DEBUG_INSANE, "Skipping small embedded frame at (0,0): slot=%d size=%dx%d",
hudSlot, frame.width, frame.height);
continue;
}
@@ -3268,7 +3268,7 @@ void InsaneRebel2::renderEmbeddedHudOverlays(byte *renderBitmap, int pitch, int
destX += _viewX;
destY += _viewY;
- debugC(DEBUG_INSANE, "Rebel2: Rendering embedded HUD slot=%d size=%dx%d at (%d,%d)",
+ debugC(DEBUG_INSANE, "Rendering embedded HUD slot=%d size=%dx%d at (%d,%d)",
hudSlot, frame.width, frame.height, destX, destY);
blitEmbeddedFrameRegion(renderBitmap, pitch, pitch, height, frame,
@@ -3560,7 +3560,7 @@ void InsaneRebel2::renderHandler7Ship(byte *renderBitmap, int pitch, int width,
shipDraw.x, shipDraw.y, _flyTargetSprite, spriteIndex);
}
- debugC(DEBUG_INSANE, "Rebel2 Handler7Ship: draw=(%d,%d) sprite=%d/%d shipPos=(%d,%d) persp=(%d,%d) smoothVel=%d vertIn=%d fxCtr=%d fxRep=%d",
+ debugC(DEBUG_INSANE, "Handler7Ship: draw=(%d,%d) sprite=%d/%d shipPos=(%d,%d) persp=(%d,%d) smoothVel=%d vertIn=%d fxCtr=%d fxRep=%d",
drawX, drawY, spriteIndex, numSprites, _flyShipScreenX, _flyShipScreenY,
_perspectiveX, _perspectiveY, _smoothedVelocity, _verticalInput, _flyEffectAnimCounter, _flyOverlayRepeatCount);
}
@@ -3618,7 +3618,7 @@ void InsaneRebel2::renderHandler8Ship(byte *renderBitmap, int pitch, int width,
int sprW = _shipSprite->getCharWidth(spriteIndex);
int sprH = _shipSprite->getCharHeight(spriteIndex);
- debugC(DEBUG_INSANE, "Rebel2 Handler8: Ship at (%d,%d) raw(%d,%d) offset(%d,%d) nutOff(%d,%d) size(%d,%d) bottom=%d view(%d,%d) sprite=%d/%d",
+ debugC(DEBUG_INSANE, "Handler8: Ship at (%d,%d) raw(%d,%d) offset(%d,%d) nutOff(%d,%d) size(%d,%d) bottom=%d view(%d,%d) sprite=%d/%d",
drawX, drawY, _shipPosX, _shipPosY, displayOffsetX, displayOffsetY,
spriteXOffset, spriteYOffset, sprW, sprH, drawY + sprH,
_viewX, _viewY, spriteIndex, numSprites);
@@ -3749,7 +3749,7 @@ void InsaneRebel2::renderHandler25ShipPre(byte *renderBitmap, int pitch, int wid
scaledClipLeft, 0, scaledClipRight, renderHeight,
drawX, drawY, _grd001Sprite, 0, false, renderScale, false);
- debugC(DEBUG_INSANE, "Rebel2 Handler25 PRE: GRD001 at (%d,%d) nutOff(%d,%d) viewOff(%d,%d) size(%d,%d) mode=%d dmg=%d halfW=%d rightHalf=%d clip=[%d,%d) scale=%d",
+ debugC(DEBUG_INSANE, "Handler25 PRE: GRD001 at (%d,%d) nutOff(%d,%d) viewOff(%d,%d) size(%d,%d) mode=%d dmg=%d halfW=%d rightHalf=%d clip=[%d,%d) scale=%d",
drawX, drawY, spriteXOffset, spriteYOffset, _rebelViewOffset2X, _rebelViewOffset2Y,
spriteW, spriteH, _grdSpriteMode, _rebelDamageLevel, useHalfWidth ? 1 : 0, useRightHalf ? 1 : 0, scaledClipLeft, scaledClipRight, renderScale);
@@ -3769,7 +3769,7 @@ void InsaneRebel2::renderHandler25ShipPre(byte *renderBitmap, int pitch, int wid
0, 0, width, renderHeight,
overlayDrawX, overlayDrawY, _grd005Sprite, overlayIdx, false, renderScale, false);
- debugC(DEBUG_INSANE, "Rebel2 Handler25 PRE: GRD005 at (%d,%d) nutOff(%d,%d) viewOff(%d,%d) size(%d,%d) mode=%d scale=%d",
+ debugC(DEBUG_INSANE, "Handler25 PRE: GRD005 at (%d,%d) nutOff(%d,%d) viewOff(%d,%d) size(%d,%d) mode=%d scale=%d",
overlayDrawX, overlayDrawY, overlayXOffset, overlayYOffset,
_rebelViewOffset2X, _rebelViewOffset2Y, overlayW, overlayH, _grdSpriteMode, renderScale);
}
@@ -3924,7 +3924,7 @@ void InsaneRebel2::renderHandler25Ship(byte *renderBitmap, int pitch, int width,
0, 0, width, renderHeight,
drawX, drawY, _grd002Sprite, spriteIdx, shouldMirror, renderScale, true);
- debugC(DEBUG_INSANE, "Rebel2 Handler25: GRD002 at (%d,%d) nutOffset(%d,%d) viewOffset(%d,%d) size(%d,%d) spriteIdx=%d damage=%d dir=%d mirror=%d scale=%d",
+ debugC(DEBUG_INSANE, "Handler25: GRD002 at (%d,%d) nutOffset(%d,%d) viewOffset(%d,%d) size(%d,%d) spriteIdx=%d damage=%d dir=%d mirror=%d scale=%d",
drawX, drawY, spriteXOffset, spriteYOffset, _rebelViewOffset2X, _rebelViewOffset2Y, spriteW, spriteH, spriteIdx, _rebelDamageLevel, _rebelFlightDir, shouldMirror ? 1 : 0, renderScale);
}
}
@@ -3979,7 +3979,7 @@ void InsaneRebel2::renderFallbackShip(byte *renderBitmap, int pitch, int width,
blitEmbeddedFrameRegion(renderBitmap, pitch, width, height, shipFrame,
drawX, drawY, srcX, srcY, spriteW, spriteH);
- debugC(DEBUG_INSANE, "Rebel2: Ship (fallback) at (%d,%d) strip=(%d,%d) of (%dx%d) dir=(%d,%d)",
+ debugC(DEBUG_INSANE, "Ship (fallback) at (%d,%d) strip=(%d,%d) of (%dx%d) dir=(%d,%d)",
drawX, drawY, srcX, srcY, numHorizontal, numVertical, _shipDirectionH, _shipDirectionV);
}
@@ -4277,7 +4277,7 @@ void InsaneRebel2::renderSpaceExplosions(byte *renderBitmap, int pitch, int widt
drawX - ew / 2, drawY - eh / 2, _smush_iconsNut, spriteIndex);
}
- debugC(DEBUG_INSANE, "Rebel2 H7 corridor explosion: dir=%d frame=%d pos=(%d,%d) cooldown=%d",
+ debugC(DEBUG_INSANE, "H7 corridor explosion: dir=%d frame=%d pos=(%d,%d) cooldown=%d",
_spaceShotDirection, spriteIndex, drawX, drawY, _hitCooldown);
}
}
@@ -4573,7 +4573,7 @@ void InsaneRebel2::renderHandler25LaserShots(byte *renderBitmap, int pitch, int
_turretShots[i].counter--;
- debugC(DEBUG_INSANE, "Rebel2 Handler25: Laser shot %d from (%d,%d) to (%d,%d) progress=%d/%d",
+ debugC(DEBUG_INSANE, "Handler25: Laser shot %d from (%d,%d) to (%d,%d) progress=%d/%d",
i, gunX, gunY, targetX, targetY, progress, maxDuration);
}
}
diff --git a/engines/scumm/insane/rebel2/runlevels.cpp b/engines/scumm/insane/rebel2/runlevels.cpp
index c81b5626fc7..b0e9a677f18 100644
--- a/engines/scumm/insane/rebel2/runlevels.cpp
+++ b/engines/scumm/insane/rebel2/runlevels.cpp
@@ -57,14 +57,14 @@ int InsaneRebel2::runLevel1() {
if (_playerShield > 0) {
// Level completed!
- debugC(DEBUG_INSANE, "Rebel2: Level 1 completed!");
+ debugC(DEBUG_INSANE, "Level 1 completed!");
playLevelEnd(1);
_levelUnlocked[1] = true; // Unlock level 2
return kLevelNextLevel;
}
// Player died - play death video with random A/B variant
- debugC(DEBUG_INSANE, "Rebel2: Level 1 death at frame %d, lives=%d", _deathFrame, _playerLives - 1);
+ debugC(DEBUG_INSANE, "Level 1 death at frame %d, lives=%d", _deathFrame, _playerLives - 1);
playLevelDeathVariant(1, 1, _deathFrame);
if (_vm->shouldQuit())
@@ -104,7 +104,7 @@ InsaneRebel2::WaveEndResult InsaneRebel2::processWaveEnd(int16 mask, int16 *budg
_skipSectionRequested = false;
_rebelPhaseState = mask;
_rebelWaveState = mask;
- debugC(DEBUG_INSANE, "Rebel2 processWaveEnd: movie mode completed gameplay wave (mask=0x%x)", (uint16)mask);
+ debugC(DEBUG_INSANE, "processWaveEnd: movie mode completed gameplay wave (mask=0x%x)", (uint16)mask);
result.completed = true;
result.skipped = true;
return result;
@@ -115,7 +115,7 @@ InsaneRebel2::WaveEndResult InsaneRebel2::processWaveEnd(int16 mask, int16 *budg
_skipSectionRequested = false;
_rebelPhaseState = mask;
_rebelWaveState = mask;
- debugC(DEBUG_INSANE, "Rebel2 processWaveEnd: Shift+S skip consumed (mask=0x%x)", (uint16)mask);
+ debugC(DEBUG_INSANE, "processWaveEnd: Shift+S skip consumed (mask=0x%x)", (uint16)mask);
result.completed = true;
result.skipped = true;
return result;
@@ -133,7 +133,7 @@ InsaneRebel2::WaveEndResult InsaneRebel2::processWaveEnd(int16 mask, int16 *budg
// Step 2: Copy wave state to phase state (line 33)
// DAT_0047ab9c = DAT_0047ab98
_rebelPhaseState = _rebelWaveState;
- debugC(DEBUG_INSANE, "Rebel2 processWaveEnd: waveState=0x%x -> phaseState=0x%x mask=0x%x budget=%d threshold=%d flags=%d",
+ debugC(DEBUG_INSANE, "processWaveEnd: waveState=0x%x -> phaseState=0x%x mask=0x%x budget=%d threshold=%d flags=%d",
_rebelWaveState, _rebelPhaseState, mask, budget ? *budget : -1, threshold, flags);
// Step 3: Kill redistribution - add random unkilled types (lines 34-47)
@@ -187,7 +187,7 @@ InsaneRebel2::WaveEndResult InsaneRebel2::processWaveEnd(int16 mask, int16 *budg
creditCount++;
}
- debugC(DEBUG_INSANE, "Rebel2 processWaveEnd: result=0x%x phaseState=0x%x (after redistribution) budget=%d",
+ debugC(DEBUG_INSANE, "processWaveEnd: result=0x%x phaseState=0x%x (after redistribution) budget=%d",
result.creditedBits, _rebelPhaseState, budget ? *budget : -1);
// Step 5: Stop conditions (lines 74-78)
@@ -203,7 +203,7 @@ bool InsaneRebel2::playLevelSegment(const char *filename, uint16 flags, bool rec
const bool isRecordedGameplay = recordFrame && (flags & 0x08) != 0;
if (isRecordedGameplay && _rebelMovieMode) {
- debugC(DEBUG_INSANE, "Rebel2: Movie mode skipping gameplay segment: %s", filename);
+ debugC(DEBUG_INSANE, "Movie mode skipping gameplay segment: %s", filename);
_gameplaySectionActive = false;
restoreIOSGamepadController();
if (recordFrame)
@@ -245,7 +245,7 @@ int InsaneRebel2::calculateAccuracy(int kills, int misses) const {
bool InsaneRebel2::handleLevelDeath(int levelId, int phase,
const char *deathVideo, const char *retryVideo, int &levelResult) {
- debugC(DEBUG_INSANE, "Rebel2: Level %d Phase %d death", levelId, phase);
+ debugC(DEBUG_INSANE, "Level %d Phase %d death", levelId, phase);
playCinematic(deathVideo);
if (_vm->shouldQuit()) {
levelResult = kLevelQuit;
@@ -426,7 +426,7 @@ int InsaneRebel2::runLevel2() {
int16 budget = kLevel2BudgetBase[0] + _vm->_rnd.getRandomNumber(2);
// Play A.SAN (background loader) â flags 0x28 (preserve buffer, gameplay mode)
- debugC(DEBUG_INSANE, "Rebel2: Level 2 Phase 1 - playing 02P01_A.SAN (background) budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 2 Phase 1 - playing 02P01_A.SAN (background) budget=%d", budget);
if (!playLevelSegment("LEV02/P1/02P01_A.SAN", 0x28))
return kLevelQuit;
@@ -446,14 +446,14 @@ int InsaneRebel2::runLevel2() {
"LEV02/P1/02P01_C.SAN",
"LEV02/P1/02P01_D.SAN"
};
- debugC(DEBUG_INSANE, "Rebel2: Phase 1 wave - playing %s (state=0x%x budget=%d)", variants[variant], _rebelPhaseState, budget);
+ debugC(DEBUG_INSANE, "Phase 1 wave - playing %s (state=0x%x budget=%d)", variants[variant], _rebelPhaseState, budget);
// Wave videos use flags 0x428 (original: FUN_0041f4d0 param_2=0x428)
if (!playLevelSegment(variants[variant], 0x428))
return kLevelQuit;
// processWaveEnd with threshold=0x14 (20) â enables early exit when enemies killed
processWaveEnd(0x36, &budget, 0x14, 0);
- debugC(DEBUG_INSANE, "Rebel2: Phase 1 wave done - state=0x%x (need 0x06) budget=%d", _rebelPhaseState, budget);
+ debugC(DEBUG_INSANE, "Phase 1 wave done - state=0x%x (need 0x06) budget=%d", _rebelPhaseState, budget);
}
// Check for bonus (bit 4 = 0x10)
@@ -492,7 +492,7 @@ int InsaneRebel2::runLevel2() {
_rebelHandler = 8;
// Play A.SAN (background loader)
- debugC(DEBUG_INSANE, "Rebel2: Level 2 Phase 2 - playing 02P02_A.SAN (background) budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 2 Phase 2 - playing 02P02_A.SAN (background) budget=%d", budget);
if (!playLevelSegment("LEV02/P2/02P02_A.SAN", 0x28))
return kLevelQuit;
@@ -529,7 +529,7 @@ int InsaneRebel2::runLevel2() {
filename = "LEV02/P2/02P02_D.SAN"; break;
}
- debugC(DEBUG_INSANE, "Rebel2: Phase 2 wave - playing %s (state=0x%x sel=0x%x budget=%d)", filename, _rebelPhaseState, waveSelect, budget);
+ debugC(DEBUG_INSANE, "Phase 2 wave - playing %s (state=0x%x sel=0x%x budget=%d)", filename, _rebelPhaseState, waveSelect, budget);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
}
@@ -569,7 +569,7 @@ int InsaneRebel2::runLevel2() {
_rebelHandler = 8;
// Play A.SAN (background loader)
- debugC(DEBUG_INSANE, "Rebel2: Level 2 Phase 3 - playing 02P03_A.SAN (background) budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 2 Phase 3 - playing 02P03_A.SAN (background) budget=%d", budget);
if (!playLevelSegment("LEV02/P3/02P03_A.SAN", 0x28))
return kLevelQuit;
@@ -614,13 +614,13 @@ int InsaneRebel2::runLevel2() {
filename = "LEV02/P3/02P03_I.SAN"; break;
}
- debugC(DEBUG_INSANE, "Rebel2: Phase 3 wave - playing %s (state=0x%x sel=0x%x budget=%d)", filename, _rebelPhaseState, waveSelect, budget);
+ debugC(DEBUG_INSANE, "Phase 3 wave - playing %s (state=0x%x sel=0x%x budget=%d)", filename, _rebelPhaseState, waveSelect, budget);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
// processWaveEnd at BOTTOM with threshold=0x14
waveEnd = processWaveEnd(0x3e, &budget, 0x14, 0);
- debugC(DEBUG_INSANE, "Rebel2: Phase 3 wave done - state=0x%x (need 0x0e) budget=%d", _rebelPhaseState, budget);
+ debugC(DEBUG_INSANE, "Phase 3 wave done - state=0x%x (need 0x0e) budget=%d", _rebelPhaseState, budget);
}
}
@@ -643,7 +643,7 @@ int InsaneRebel2::runLevel2() {
{
totalMisses += _rebelHitCounter;
int accuracy = calculateAccuracy(totalKills, totalMisses);
- debugC(DEBUG_INSANE, "Rebel2: Level 2 completed! kills=%d misses=%d accuracy=%d%% bonus=%d",
+ debugC(DEBUG_INSANE, "Level 2 completed! kills=%d misses=%d accuracy=%d%% bonus=%d",
totalKills, totalMisses, accuracy, bonusCount);
}
@@ -682,7 +682,7 @@ int InsaneRebel2::runLevel3() {
resetHandler7FlightState();
// Play phase 1 gameplay (03PLAY1.SAN)
- debugC(DEBUG_INSANE, "Rebel2: Level 3 Phase 1");
+ debugC(DEBUG_INSANE, "Level 3 Phase 1");
if (!playLevelSegment("LEV03/03PLAY1.SAN", 0x28))
return kLevelQuit;
@@ -693,7 +693,7 @@ int InsaneRebel2::runLevel3() {
}
// Died in phase 1 - frame-based death video
- debugC(DEBUG_INSANE, "Rebel2: Level 3 Phase 1 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 3 Phase 1 death at frame %d", _deathFrame);
playLevelDeathVariant(3, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -736,20 +736,20 @@ int InsaneRebel2::runLevel3() {
resetHandler7FlightState();
// Play phase 2 gameplay (03PLAY2.SAN)
- debugC(DEBUG_INSANE, "Rebel2: Level 3 Phase 2");
+ debugC(DEBUG_INSANE, "Level 3 Phase 2");
if (!playLevelSegment("LEV03/03PLAY2.SAN", 0x28))
return kLevelQuit;
if (_playerShield > 0) {
// Level completed!
- debugC(DEBUG_INSANE, "Rebel2: Level 3 completed!");
+ debugC(DEBUG_INSANE, "Level 3 completed!");
playLevelEnd(3);
_levelUnlocked[3] = true; // Unlock level 4
return kLevelNextLevel;
}
// Died in phase 2 - frame-based death video
- debugC(DEBUG_INSANE, "Rebel2: Level 3 Phase 2 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 3 Phase 2 death at frame %d", _deathFrame);
playLevelDeathVariant(3, 2, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -796,20 +796,20 @@ int InsaneRebel2::runLevel4() {
clearBit(0);
// Play gameplay (04PLAY.SAN)
- debugC(DEBUG_INSANE, "Rebel2: Level 4 gameplay");
+ debugC(DEBUG_INSANE, "Level 4 gameplay");
if (!playLevelSegment("LEV04/04PLAY.SAN", 0x28))
return kLevelQuit;
if (_playerShield > 0) {
// Level completed!
- debugC(DEBUG_INSANE, "Rebel2: Level 4 completed!");
+ debugC(DEBUG_INSANE, "Level 4 completed!");
playLevelEnd(4);
_levelUnlocked[4] = true; // Unlock level 5
return kLevelNextLevel;
}
// Died - play death video (04DIE.SAN, no variants)
- debugC(DEBUG_INSANE, "Rebel2: Level 4 death");
+ debugC(DEBUG_INSANE, "Level 4 death");
playLevelDeathVariant(4, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -851,20 +851,20 @@ int InsaneRebel2::runLevel5() {
// Play gameplay (05PLAY.SAN)
// Original: FUN_0041f4d0("05PLAY.SAN", 8, -1, -1, 0)
- debugC(DEBUG_INSANE, "Rebel2: Level 5 gameplay");
+ debugC(DEBUG_INSANE, "Level 5 gameplay");
if (!playLevelSegment("LEV05/05PLAY.SAN", 0x08))
return kLevelQuit;
if (_playerShield > 0) {
// Level completed!
- debugC(DEBUG_INSANE, "Rebel2: Level 5 completed!");
+ debugC(DEBUG_INSANE, "Level 5 completed!");
playLevelEnd(5);
_levelUnlocked[5] = true; // Unlock level 6
return kLevelNextLevel;
}
// Died - play death video with random A/B variant
- debugC(DEBUG_INSANE, "Rebel2: Level 5 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 5 death at frame %d", _deathFrame);
playLevelDeathVariant(5, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -918,7 +918,7 @@ int InsaneRebel2::runLevel6() {
_rebelLevelType = 5; // DAT_0047a7f8 = 5
_currentPhase = 1;
- debugC(DEBUG_INSANE, "Rebel2: Level 6 Phase 1");
+ debugC(DEBUG_INSANE, "Level 6 Phase 1");
if (!playLevelSegment("LEV06/06PLAY1.SAN", 0x28))
return kLevelQuit;
// TODO: Mid-level switch at frame 0x2a8 to 06PLAY1B.SAN (flags 0x468)
@@ -926,7 +926,7 @@ int InsaneRebel2::runLevel6() {
if (_playerShield <= 0) {
// Died in phase 1
- debugC(DEBUG_INSANE, "Rebel2: Level 6 Phase 1 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 6 Phase 1 death at frame %d", _deathFrame);
playLevelDeathVariant(6, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -959,20 +959,20 @@ int InsaneRebel2::runLevel6() {
_playerScore = phase1Score;
clearBit(0); // FUN_00407d10
- debugC(DEBUG_INSANE, "Rebel2: Level 6 Phase 2");
+ debugC(DEBUG_INSANE, "Level 6 Phase 2");
if (!playLevelSegment("LEV06/06PLAY2.SAN", 0x28))
return kLevelQuit;
if (_playerShield > 0) {
// Level completed!
- debugC(DEBUG_INSANE, "Rebel2: Level 6 completed!");
+ debugC(DEBUG_INSANE, "Level 6 completed!");
playLevelEnd(6);
_levelUnlocked[6] = true;
return kLevelNextLevel;
}
// Died in phase 2
- debugC(DEBUG_INSANE, "Rebel2: Level 6 Phase 2 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 6 Phase 2 death at frame %d", _deathFrame);
playLevelDeathVariant(6, 2, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -1036,7 +1036,7 @@ int InsaneRebel2::runLevel7() {
return kLevelQuit;
if (_playerShield > 0) {
- debugC(DEBUG_INSANE, "Rebel2: Level 7 completed!");
+ debugC(DEBUG_INSANE, "Level 7 completed!");
playLevelEnd(7);
_levelUnlocked[7] = true;
return kLevelNextLevel;
@@ -1044,7 +1044,7 @@ int InsaneRebel2::runLevel7() {
// Death video: DIE_B if fork reached, DIE_A if not
// Original: s_LEV07_07DIE_B + ((DAT_0047ab8c != 0) - 1 & 0x14)
- debugC(DEBUG_INSANE, "Rebel2: Level 7 death at frame %d, fork=%d", _deathFrame, reachedFork);
+ debugC(DEBUG_INSANE, "Level 7 death at frame %d, fork=%d", _deathFrame, reachedFork);
if (reachedFork) {
playCinematic("LEV07/07DIE_B.SAN");
} else {
@@ -1098,7 +1098,7 @@ int InsaneRebel2::runLevel8() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debugC(DEBUG_INSANE, "Rebel2: Level 8 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Level 8 completed! accuracy=%d%%", accuracy);
playLevelEnd(8);
_levelUnlocked[8] = true;
return kLevelNextLevel;
@@ -1106,7 +1106,7 @@ int InsaneRebel2::runLevel8() {
// Death: random A or B
// Original: random(2) â A or B via string pointer arithmetic
- debugC(DEBUG_INSANE, "Rebel2: Level 8 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 8 death at frame %d", _deathFrame);
playLevelDeathVariant(8, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -1162,7 +1162,7 @@ int InsaneRebel2::runLevel9() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debugC(DEBUG_INSANE, "Rebel2: Level 9 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Level 9 completed! accuracy=%d%%", accuracy);
playLevelEnd(9);
_levelUnlocked[9] = true;
return kLevelNextLevel;
@@ -1170,7 +1170,7 @@ int InsaneRebel2::runLevel9() {
// Death: based on DAT_0047ab94 (death cause tracking)
// Original: 0âDIE_A, 1âDIE_C, elseâDIE_B
- debugC(DEBUG_INSANE, "Rebel2: Level 9 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 9 death at frame %d", _deathFrame);
playLevelDeathVariant(9, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -1225,7 +1225,7 @@ int InsaneRebel2::runLevel10() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debugC(DEBUG_INSANE, "Rebel2: Level 10 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Level 10 completed! accuracy=%d%%", accuracy);
playLevelEnd(10);
_levelUnlocked[10] = true;
return kLevelNextLevel;
@@ -1233,7 +1233,7 @@ int InsaneRebel2::runLevel10() {
// Death + Retry: original plays both in sequence
// Original: lives--, if 0 break to game over, else DIE+RETRY
- debugC(DEBUG_INSANE, "Rebel2: Level 10 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 10 death at frame %d", _deathFrame);
_playerLives--;
if (_playerLives <= 0) {
playLevelGameOver(10);
@@ -1297,7 +1297,7 @@ int InsaneRebel2::runLevel11() {
int16 budget = kLevel11BudgetBase[0] + _vm->_rnd.getRandomNumber(2);
// Play A.SAN (background loader)
- debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 1 - playing 11P01_A.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 11 Phase 1 - playing 11P01_A.SAN budget=%d", budget);
if (!playLevelSegment("LEV11/P1/11P01_A.SAN", 0x28))
return kLevelQuit;
@@ -1327,7 +1327,7 @@ int InsaneRebel2::runLevel11() {
default: filename = "LEV11/P1/11P01_D.SAN"; break; // sel == 0
}
- debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 1 wave - %s (state=0x%x sel=%d)", filename, _rebelPhaseState, sel);
+ debugC(DEBUG_INSANE, "Level 11 Phase 1 wave - %s (state=0x%x sel=%d)", filename, _rebelPhaseState, sel);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1361,7 +1361,7 @@ int InsaneRebel2::runLevel11() {
_rebelHandler = 8;
// Play A.SAN (background loader)
- debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 2 - playing 11P02_A.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 11 Phase 2 - playing 11P02_A.SAN budget=%d", budget);
if (!playLevelSegment("LEV11/P2/11P02_A.SAN", 0x28))
return kLevelQuit;
@@ -1383,7 +1383,7 @@ int InsaneRebel2::runLevel11() {
default: filename = "LEV11/P2/11P02_D.SAN"; break;
}
- debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 2 wave - %s (state=0x%x)", filename, _rebelPhaseState);
+ debugC(DEBUG_INSANE, "Level 11 Phase 2 wave - %s (state=0x%x)", filename, _rebelPhaseState);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1418,7 +1418,7 @@ int InsaneRebel2::runLevel11() {
budget = kLevel11BudgetBase[2] + _vm->_rnd.getRandomNumber(2);
_rebelHandler = 8;
- debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 3 first half - playing 11P03_A.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 11 Phase 3 first half - playing 11P03_A.SAN budget=%d", budget);
if (!playLevelSegment("LEV11/P3/11P03_A.SAN", 0x28))
return kLevelQuit;
@@ -1456,7 +1456,7 @@ int InsaneRebel2::runLevel11() {
default: filename = "LEV11/P3/11P03_E.SAN"; break; // duplicate E
}
- debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 3a wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Level 11 Phase 3a wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1508,7 +1508,7 @@ int InsaneRebel2::runLevel11() {
budget = kLevel11BudgetBase[3] + _vm->_rnd.getRandomNumber(2);
// Play G.SAN (background loader for second half)
- debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 3 second half - playing 11P03_G.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 11 Phase 3 second half - playing 11P03_G.SAN budget=%d", budget);
if (!playLevelSegment("LEV11/P3/11P03_G.SAN", 0x28))
return kLevelQuit;
@@ -1541,7 +1541,7 @@ int InsaneRebel2::runLevel11() {
default: filename = "LEV11/P3/11P03_L.SAN"; break;
}
- debugC(DEBUG_INSANE, "Rebel2: Level 11 Phase 3b wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Level 11 Phase 3b wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1565,7 +1565,7 @@ int InsaneRebel2::runLevel11() {
{
totalMisses += _rebelHitCounter;
int accuracy = calculateAccuracy(totalKills, totalMisses);
- debugC(DEBUG_INSANE, "Rebel2: Level 11 completed! kills=%d misses=%d accuracy=%d%%",
+ debugC(DEBUG_INSANE, "Level 11 completed! kills=%d misses=%d accuracy=%d%%",
totalKills, totalMisses, accuracy);
}
@@ -1617,7 +1617,7 @@ int InsaneRebel2::runLevel12() {
int16 budget = kLevel12BudgetBase[0] + _vm->_rnd.getRandomNumber(2);
// Initialization video (12P05.SAN)
- debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 1 - init 12P05.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 12 Phase 1 - init 12P05.SAN budget=%d", budget);
if (!playLevelSegment("LEV12/12P05.SAN", 0x28, false))
return kLevelQuit;
processWaveEnd(1, &budget, 0, 0);
@@ -1644,7 +1644,7 @@ int InsaneRebel2::runLevel12() {
default: filename = "LEV12/P1/12P01_B.SAN"; break;
}
- debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 1 wave - %s (state=0x%x sel=%d)", filename, _rebelPhaseState, sel);
+ debugC(DEBUG_INSANE, "Level 12 Phase 1 wave - %s (state=0x%x sel=%d)", filename, _rebelPhaseState, sel);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1668,7 +1668,7 @@ int InsaneRebel2::runLevel12() {
budget = kLevel12BudgetBase[1] + _vm->_rnd.getRandomNumber(3);
// Initialization video (12P06.SAN)
- debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 2 - init 12P06.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 12 Phase 2 - init 12P06.SAN budget=%d", budget);
if (!playLevelSegment("LEV12/12P06.SAN", 0x428, false))
return kLevelQuit;
processWaveEnd(1, &budget, 0, 0);
@@ -1704,7 +1704,7 @@ int InsaneRebel2::runLevel12() {
default: filename = "LEV12/P2/12P02_F.SAN"; break;
}
- debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 2 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Level 12 Phase 2 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1730,7 +1730,7 @@ int InsaneRebel2::runLevel12() {
budget = kLevel12BudgetBase[2] + _vm->_rnd.getRandomNumber(3);
// Initialization video (12P07.SAN)
- debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 3 - init 12P07.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 12 Phase 3 - init 12P07.SAN budget=%d", budget);
if (!playLevelSegment("LEV12/12P07.SAN", 0x428, false))
return kLevelQuit;
processWaveEnd(1, &budget, 0, 0);
@@ -1764,7 +1764,7 @@ int InsaneRebel2::runLevel12() {
default: filename = "LEV12/P3/12P03_F.SAN"; break; // duplicate F
}
- debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 3 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Level 12 Phase 3 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1788,7 +1788,7 @@ int InsaneRebel2::runLevel12() {
budget = kLevel12BudgetBase[3] + _vm->_rnd.getRandomNumber(3);
// Initialization video (12P08.SAN)
- debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 4 - init 12P08.SAN budget=%d", budget);
+ debugC(DEBUG_INSANE, "Level 12 Phase 4 - init 12P08.SAN budget=%d", budget);
if (!playLevelSegment("LEV12/12P08.SAN", 0x428, false))
return kLevelQuit;
processWaveEnd(1, &budget, 0, 0);
@@ -1821,7 +1821,7 @@ int InsaneRebel2::runLevel12() {
default: filename = "LEV12/P4/12P04_F.SAN"; break;
}
- debugC(DEBUG_INSANE, "Rebel2: Level 12 Phase 4 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
+ debugC(DEBUG_INSANE, "Level 12 Phase 4 wave - %s (state=0x%x variantIdx=%d)", filename, _rebelPhaseState, variantIdx);
if (!playLevelSegment(filename, 0x428))
return kLevelQuit;
@@ -1846,7 +1846,7 @@ int InsaneRebel2::runLevel12() {
// ----- LEVEL COMPLETED -----
{
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debugC(DEBUG_INSANE, "Rebel2: Level 12 completed! kills=%d misses=%d accuracy=%d%%",
+ debugC(DEBUG_INSANE, "Level 12 completed! kills=%d misses=%d accuracy=%d%%",
_rebelKillCounter, _rebelHitCounter, accuracy);
}
@@ -1908,14 +1908,14 @@ int InsaneRebel2::runLevel13() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debugC(DEBUG_INSANE, "Rebel2: Level 13 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Level 13 completed! accuracy=%d%%", accuracy);
playLevelEnd(13);
_levelUnlocked[13] = true;
return kLevelNextLevel;
}
// Death: frame-based variant selection (FUN_0041B3E1 lines 47-61)
- debugC(DEBUG_INSANE, "Rebel2: Level 13 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 13 death at frame %d", _deathFrame);
playLevelDeathVariant(13, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
@@ -1964,14 +1964,14 @@ int InsaneRebel2::runLevel14() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debugC(DEBUG_INSANE, "Rebel2: Level 14 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Level 14 completed! accuracy=%d%%", accuracy);
playLevelEnd(14);
_levelUnlocked[14] = true;
return kLevelNextLevel;
}
// Death: single video (14DIE.SAN)
- debugC(DEBUG_INSANE, "Rebel2: Level 14 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 14 death at frame %d", _deathFrame);
playCinematic("LEV14/14DIE.SAN");
if (_vm->shouldQuit())
return kLevelQuit;
@@ -2036,7 +2036,7 @@ int InsaneRebel2::runLevel15() {
if (_playerShield > 0) {
int accuracy = calculateAccuracy(_rebelKillCounter, _rebelHitCounter);
- debugC(DEBUG_INSANE, "Rebel2: Level 15 completed! accuracy=%d%%", accuracy);
+ debugC(DEBUG_INSANE, "Level 15 completed! accuracy=%d%%", accuracy);
playLevelEnd(15);
_levelUnlocked[15] = true;
// Level 15 completion leads to credits (FUN_0041BBE8)
@@ -2044,7 +2044,7 @@ int InsaneRebel2::runLevel15() {
}
// Death: frame-based variant selection (FUN_0041B8D7 lines 46-65)
- debugC(DEBUG_INSANE, "Rebel2: Level 15 death at frame %d", _deathFrame);
+ debugC(DEBUG_INSANE, "Level 15 death at frame %d", _deathFrame);
playLevelDeathVariant(15, 1, _deathFrame);
if (_vm->shouldQuit())
return kLevelQuit;
diff --git a/engines/scumm/smush/rebel/smush_player_ra1.cpp b/engines/scumm/smush/rebel/smush_player_ra1.cpp
index e882c9788cb..8a9fc94d781 100644
--- a/engines/scumm/smush/rebel/smush_player_ra1.cpp
+++ b/engines/scumm/smush/rebel/smush_player_ra1.cpp
@@ -296,13 +296,13 @@ bool SmushPlayerRebel1::handleGameFetch(int32 subSize, Common::SeekableReadStrea
}
}
- debugC(DEBUG_SMUSH, "RA1 FTCH: frame=%d id=0x%08x pos=(%d,%d) using stored FOBJ codec=%d size=%dx%d",
+ debugC(DEBUG_SMUSH, "FTCH: frame=%d id=0x%08x pos=(%d,%d) using stored FOBJ codec=%d size=%dx%d",
_frame, fetchId, left, top, storedCodec, _storedFobjWidth, _storedFobjHeight);
decodeFrameObject(storedCodec, _storedFobjData, left, top,
_storedFobjWidth, _storedFobjHeight, _storedFobjDataSize,
storedParam, _storedFobjParm2);
} else {
- debugC(DEBUG_SMUSH, "RA1 FTCH: frame=%d id=0x%08x with no stored FOBJ data", _frame, fetchId);
+ debugC(DEBUG_SMUSH, "FTCH: frame=%d id=0x%08x with no stored FOBJ data", _frame, fetchId);
}
return true;
@@ -319,7 +319,7 @@ void SmushPlayerRebel1::ra1HandleGost(int32 subSize, Common::SeekableReadStream
const int32 ghostY = b.readSint32BE();
if (!_hasFrameFobjForGost || _lastFobjData == nullptr || _lastFobjDataSize <= 0) {
- debugC(DEBUG_SMUSH, "RA1 GOST: frame=%d ignored type=0x%08x pos=(%d,%d) (no current-frame FOBJ cached)",
+ debugC(DEBUG_SMUSH, "GOST: frame=%d ignored type=0x%08x pos=(%d,%d) (no current-frame FOBJ cached)",
_frame, ghostType, ghostX, ghostY);
return;
}
@@ -336,12 +336,12 @@ void SmushPlayerRebel1::ra1HandleGost(int32 subSize, Common::SeekableReadStream
priorityFlags = 0x6000;
break;
default:
- debugC(DEBUG_SMUSH, "RA1 GOST: frame=%d ignored unknown type=0x%08x pos=(%d,%d)",
+ debugC(DEBUG_SMUSH, "GOST: frame=%d ignored unknown type=0x%08x pos=(%d,%d)",
_frame, ghostType, ghostX, ghostY);
return;
}
- debugC(DEBUG_SMUSH, "RA1 GOST: frame=%d type=0x%08x flags=0x%04x pos=(%d,%d) size=%dx%d codec=%d",
+ debugC(DEBUG_SMUSH, "GOST: frame=%d type=0x%08x flags=0x%04x pos=(%d,%d) size=%dx%d codec=%d",
_frame, ghostType, priorityFlags, ghostX, ghostY,
_lastFobjWidth, _lastFobjHeight, _lastFobjCodec);
@@ -638,7 +638,7 @@ bool SmushPlayerRebel1::handleGameStoreFrame() {
}
void SmushPlayerRebel1::handleGameFrameObjectPre(int codec, int left, int top, int width, int height, int dataSize) {
- debugC(DEBUG_SMUSH, "RA1 FOBJ: frame=%d codec=%d pos=(%d,%d) size=%dx%d dataSize=%d storeFrame=%d",
+ debugC(DEBUG_SMUSH, "FOBJ: frame=%d codec=%d pos=(%d,%d) size=%dx%d dataSize=%d storeFrame=%d",
_frame, codec, left, top, width, height, dataSize, _storeFrame);
}
@@ -856,7 +856,7 @@ bool SmushPlayerRebel1::ra1HandleUnknownFrameChunk(uint32 subType, int32 subSize
byte tb2 = (subType >> 8) & 0xFF, tb3 = subType & 0xFF;
if (tb0 > 0x40 && tb0 < 0x5B && tb1 > 0x40 && tb1 < 0x5B &&
tb2 > 0x40 && tb2 < 0x5B && tb3 > 0x40 && tb3 < 0x5B) {
- debugC(DEBUG_SMUSH, "RA1: unknown uppercase tag %s at frame %d, stopping frame parse", tag2str(subType), _frame);
+ debugC(DEBUG_SMUSH, "unknown uppercase tag %s at frame %d, stopping frame parse", tag2str(subType), _frame);
return true;
}
More information about the Scummvm-git-logs
mailing list