[Scummvm-git-logs] scummvm master -> 76bf73ff461bb4b67f93dc711f874e67369cbffd

bluegr bluegr at gmail.com
Wed Mar 3 00:15:09 UTC 2021


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
93eeffc84d JANITORIAL: Update old bug tracker numbers
76bf73ff46 NEWS: Retroactively update old bug tracker numbers


Commit: 93eeffc84dd64461b8267a732baa569262828e27
    https://github.com/scummvm/scummvm/commit/93eeffc84dd64461b8267a732baa569262828e27
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2021-03-03T02:15:05+02:00

Commit Message:
JANITORIAL: Update old bug tracker numbers

Changed paths:
    audio/mididrv.cpp
    audio/midiparser.cpp
    backends/platform/sdl/sdl.cpp
    backends/platform/sdl/win32/win32-main.cpp
    common/archive.cpp
    common/config-manager.cpp
    common/file.cpp
    common/keyboard.h
    common/serializer.h
    devtools/create_access/create_access_dat.cpp
    devtools/create_cryo/create_cryo_dat.cpp
    devtools/create_cryomni3d/create_cryomni3d_dat.cpp
    devtools/create_drascula/create_drascula.cpp
    devtools/create_glk/create_glk.cpp
    devtools/create_hugo/create_hugo.cpp
    devtools/create_kyradat/create_kyradat.cpp
    devtools/create_lure/create_lure_dat.cpp
    devtools/create_mortdat/create_mortdat.cpp
    devtools/create_myst3/create_myst3.cpp
    devtools/create_neverhood/create_neverhood.cpp
    devtools/create_project/create_project.cpp
    devtools/create_supernova/create_image/create_image.cpp
    devtools/create_supernova/create_supernova.cpp
    devtools/create_teenagent/create_teenagent.cpp
    devtools/create_titanic/create_titanic_dat.cpp
    devtools/create_titanic/script_preresponses.cpp
    devtools/create_titanic/script_quotes.cpp
    devtools/create_titanic/script_ranges.cpp
    devtools/create_titanic/script_responses.cpp
    devtools/create_titanic/script_states.cpp
    devtools/create_titanic/tag_maps.cpp
    devtools/create_tony/create_tony.cpp
    devtools/create_toon/create_toon.cpp
    devtools/create_translations/create_translations.cpp
    devtools/create_ultima/create_ultima.cpp
    devtools/create_xeen/cc.cpp
    devtools/create_xeen/clouds.cpp
    devtools/create_xeen/constants.cpp
    devtools/create_xeen/create_xeen.cpp
    devtools/create_xeen/map.cpp
    devtools/create_xeen/swords.cpp
    devtools/extract_mort/extract_mort.cpp
    devtools/qtable/qtable.cpp
    devtools/scumm-md5.txt
    devtools/skycpt/AsciiCptCompile.cpp
    engines/agi/agi.cpp
    engines/agi/cycle.cpp
    engines/agi/detection_tables.h
    engines/agi/graphics.cpp
    engines/agi/keyboard.cpp
    engines/agi/objects.cpp
    engines/agi/op_cmd.cpp
    engines/agi/opcodes.cpp
    engines/agi/saveload.cpp
    engines/agi/words.cpp
    engines/agos/midi.cpp
    engines/agos/script_e2.cpp
    engines/agos/script_s1.cpp
    engines/agos/string.cpp
    engines/cge/fileio.cpp
    engines/cge2/fileio.cpp
    engines/cine/anim.cpp
    engines/cine/gfx.cpp
    engines/cine/script_fw.cpp
    engines/composer/detection_tables.h
    engines/drascula/detection.cpp
    engines/drascula/drascula.cpp
    engines/drascula/sound.cpp
    engines/dreamweb/detection_tables.h
    engines/dreamweb/saveload.cpp
    engines/engine.cpp
    engines/engine.h
    engines/gob/detection/tables_bargon.h
    engines/gob/detection/tables_fascin.h
    engines/gob/detection/tables_geisha.h
    engines/gob/detection/tables_gob1.h
    engines/gob/detection/tables_gob2.h
    engines/gob/detection/tables_gob3.h
    engines/gob/detection/tables_lit.h
    engines/gob/detection/tables_playtoons.h
    engines/gob/detection/tables_urban.h
    engines/gob/detection/tables_ween.h
    engines/gob/detection/tables_woodruff.h
    engines/gob/inter_v1.cpp
    engines/gob/inter_v3.cpp
    engines/grim/imuse/imuse_track.cpp
    engines/groovie/font.cpp
    engines/groovie/script.cpp
    engines/hopkins/detection_tables.h
    engines/kyra/detection_tables.h
    engines/kyra/engine/darkmoon.cpp
    engines/kyra/engine/scene_eob.cpp
    engines/kyra/gui/saveload_lok.cpp
    engines/kyra/resource/staticres.cpp
    engines/kyra/script/script_hof.cpp
    engines/kyra/script/script_lok.cpp
    engines/kyra/sound/sound.cpp
    engines/made/detection_tables.h
    engines/mohawk/detection_tables.h
    engines/obsolete.cpp
    engines/parallaction/callables_ns.cpp
    engines/parallaction/exec_br.cpp
    engines/parallaction/parallaction_ns.cpp
    engines/parallaction/parser_ns.cpp
    engines/queen/command.cpp
    engines/queen/grid.cpp
    engines/queen/sound.cpp
    engines/saga/actor.cpp
    engines/saga/actor_path.cpp
    engines/saga/actor_walk.cpp
    engines/saga/events.cpp
    engines/saga/font.cpp
    engines/saga/gfx.cpp
    engines/saga/interface.cpp
    engines/saga/objectmap.cpp
    engines/saga/palanim.cpp
    engines/saga/render.cpp
    engines/saga/saga.cpp
    engines/saga/scene.cpp
    engines/saga/script.cpp
    engines/saga/sfuncs.cpp
    engines/saga/sndres.cpp
    engines/saga/sound.cpp
    engines/scumm/actor.cpp
    engines/scumm/boxes.cpp
    engines/scumm/charset.cpp
    engines/scumm/costume.cpp
    engines/scumm/cursor.cpp
    engines/scumm/detection_internal.h
    engines/scumm/gfx.cpp
    engines/scumm/imuse/imuse.cpp
    engines/scumm/imuse/imuse_part.cpp
    engines/scumm/imuse/imuse_player.cpp
    engines/scumm/imuse/sysex_scumm.cpp
    engines/scumm/imuse_digi/dimuse_music.cpp
    engines/scumm/imuse_digi/dimuse_script.cpp
    engines/scumm/imuse_digi/dimuse_track.cpp
    engines/scumm/input.cpp
    engines/scumm/midiparser_ro.cpp
    engines/scumm/object.cpp
    engines/scumm/palette.cpp
    engines/scumm/players/player_v3m.cpp
    engines/scumm/resource.cpp
    engines/scumm/room.cpp
    engines/scumm/saveload.cpp
    engines/scumm/script.cpp
    engines/scumm/script_v2.cpp
    engines/scumm/script_v4.cpp
    engines/scumm/script_v5.cpp
    engines/scumm/script_v6.cpp
    engines/scumm/script_v8.cpp
    engines/scumm/scumm.cpp
    engines/scumm/smush/smush_player.cpp
    engines/scumm/sound.cpp
    engines/scumm/string.cpp
    engines/scumm/verbs.cpp
    engines/sky/autoroute.cpp
    engines/sky/logic.cpp
    engines/sky/music/gmchannel.cpp
    engines/sky/sound.cpp
    engines/sky/text.cpp
    engines/sword1/detection.cpp
    engines/sword1/objectman.cpp
    engines/sword1/screen.cpp
    engines/sword1/sound.cpp
    engines/sword2/detection.cpp
    engines/sword2/interpreter.cpp
    engines/sword25/detection_tables.h
    engines/tinsel/detection_tables.h
    engines/tinsel/metaengine.cpp
    engines/tinsel/music.cpp
    engines/tinsel/pcode.cpp
    engines/tinsel/saveload.cpp
    engines/tinsel/scene.cpp
    engines/toltecs/detection.cpp
    engines/toltecs/script.cpp
    engines/toltecs/toltecs.cpp
    engines/tony/detection_tables.h
    engines/touche/detection.cpp
    engines/touche/opcodes.cpp
    engines/touche/resource.cpp
    engines/touche/staticres.cpp
    engines/touche/touche.cpp
    engines/tucker/locations.cpp
    engines/tucker/tucker.cpp
    gui/dialog.cpp
    gui/gui-manager.cpp
    gui/options.cpp
    test/cxxtest_mingw.h


diff --git a/audio/mididrv.cpp b/audio/mididrv.cpp
index 01827d95e0..c2c15ee068 100644
--- a/audio/mididrv.cpp
+++ b/audio/mididrv.cpp
@@ -568,7 +568,7 @@ void MidiDriver_BASE::stopAllNotes(bool stopSustainedNotes) {
 	for (int i = 0; i < 16; ++i) {
 		send(0xB0 | i, MIDI_CONTROLLER_ALL_NOTES_OFF, 0);
 		if (stopSustainedNotes)
-			send(0xB0 | i, MIDI_CONTROLLER_SUSTAIN, 0); // Also send a sustain off event (bug #3116608)
+			send(0xB0 | i, MIDI_CONTROLLER_SUSTAIN, 0); // Also send a sustain off event (bug #5524)
 	}
 }
 
diff --git a/audio/midiparser.cpp b/audio/midiparser.cpp
index f1b3c4e307..c60045a91c 100644
--- a/audio/midiparser.cpp
+++ b/audio/midiparser.cpp
@@ -483,7 +483,7 @@ bool MidiParser::jumpToTick(uint32 tick, bool fireEvents, bool stopNotes, bool d
 			// Some special processing for the fast-forward case
 			if (info.command() == 0x9 && dontSendNoteOn) {
 				// Don't send note on; doing so creates a "warble" with
-				// some instruments on the MT-32. Refer to patch #3117577
+				// some instruments on the MT-32. Refer to bug #9262
 			} else if (info.event == 0xFF && info.ext.type == 0x2F) {
 				// End of track
 				// This means that we failed to find the right tick.
diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp
index 782e877e28..df64d8cf02 100644
--- a/backends/platform/sdl/sdl.cpp
+++ b/backends/platform/sdl/sdl.cpp
@@ -563,7 +563,7 @@ Common::String OSystem_SDL::getSystemLanguage() const {
 
 	// Restore default C locale to prevent issues with
 	// portability of sscanf(), atof(), etc.
-	// See bug #3615148
+	// See bug #6434
 	setlocale(LC_ALL, "C");
 
 	// Detect the language from the locale
@@ -730,7 +730,7 @@ bool OSystem_SDL::setGraphicsMode(int mode, uint flags) {
 		// Very hacky way to set up the old graphics manager state, in case we
 		// switch from SDL->OpenGL or OpenGL->SDL.
 		//
-		// This is a probably temporary workaround to fix bugs like #3368143
+		// This is a probably temporary workaround to fix bugs like #5799
 		// "SDL/OpenGL: Crash when switching renderer backend".
 		//
 		// It's also used to restore state from 3D to 2D GFX manager
diff --git a/backends/platform/sdl/win32/win32-main.cpp b/backends/platform/sdl/win32/win32-main.cpp
index aa234efc8d..afbab212c0 100644
--- a/backends/platform/sdl/win32/win32-main.cpp
+++ b/backends/platform/sdl/win32/win32-main.cpp
@@ -27,7 +27,7 @@
 
 #ifdef WIN32
 
-// Fix for bug #2895217 "MSVC compilation broken with r47595":
+// Fix for bug #4700 "MSVC compilation broken with r47595":
 // We need to keep this on top of the "common/scummsys.h"(base/main.h) include,
 // otherwise we will get errors about the windows headers redefining
 // "ARRAYSIZE" for example.
diff --git a/common/archive.cpp b/common/archive.cpp
index ae89a9edcf..4f70ac2796 100644
--- a/common/archive.cpp
+++ b/common/archive.cpp
@@ -281,7 +281,7 @@ void SearchManager::clear() {
 
 #ifndef __ANDROID__
 	// Add the current dir as a very last resort.
-	// See also bug #2137680.
+	// See also bug #3984.
 	// But don't do this for Android platform, since it may lead to crashes
 	addDirectory(".", ".", -2);
 #endif
diff --git a/common/config-manager.cpp b/common/config-manager.cpp
index 28a0798a76..cac7a41db9 100644
--- a/common/config-manager.cpp
+++ b/common/config-manager.cpp
@@ -313,7 +313,7 @@ void ConfigManager::writeDomain(WriteStream &stream, const String &name, const D
 	if (domain.empty())
 		return; // Don't bother writing empty domains.
 
-	// WORKAROUND: Fix for bug #1972625 "ALL: On-the-fly targets are
+	// WORKAROUND: Fix for bug #3746 "ALL: On-the-fly targets are
 	// written to the config file": Do not save domains that came from
 	// the command line
 	if (domain.contains("id_came_from_command_line"))
diff --git a/common/file.cpp b/common/file.cpp
index 6228c6640b..86b4994f32 100644
--- a/common/file.cpp
+++ b/common/file.cpp
@@ -51,7 +51,7 @@ bool File::open(const String &filename, Archive &archive) {
 	if ((stream = archive.createReadStreamForMember(filename))) {
 		debug(8, "Opening hashed: %s", filename.c_str());
 	} else if ((stream = archive.createReadStreamForMember(filename + "."))) {
-		// WORKAROUND: Bug #1458388: "SIMON1: Game Detection fails"
+		// WORKAROUND: Bug #2548: "SIMON1: Game Detection fails"
 		// sometimes instead of "GAMEPC" we get "GAMEPC." (note trailing dot)
 		debug(8, "Opening hashed: %s.", filename.c_str());
 	}
@@ -91,7 +91,7 @@ bool File::exists(const String &filename) {
 	if (SearchMan.hasFile(filename)) {
 		return true;
 	} else if (SearchMan.hasFile(filename + ".")) {
-		// WORKAROUND: Bug #1458388: "SIMON1: Game Detection fails"
+		// WORKAROUND: Bug #2548: "SIMON1: Game Detection fails"
 		// sometimes instead of "GAMEPC" we get "GAMEPC." (note trailing dot)
 		return true;
 	}
diff --git a/common/keyboard.h b/common/keyboard.h
index b06a309bae..4947ceced7 100644
--- a/common/keyboard.h
+++ b/common/keyboard.h
@@ -27,7 +27,7 @@
 
 #if defined(__amigaos4__) || defined(__MORPHOS__)
 // KEYCODE_LESS and KEYCODE_GREATER are already defined in AmigaOS, inside
-// include/include_h/intuition/intuition.h (bug #3121350)
+// include/include_h/intuition/intuition.h (bug #5532)
 #if defined(KEYCODE_LESS) && defined(KEYCODE_GREATER)
 #undef KEYCODE_LESS
 #undef KEYCODE_GREATER
diff --git a/common/serializer.h b/common/serializer.h
index ea2cda91d0..62a53fb176 100644
--- a/common/serializer.h
+++ b/common/serializer.h
@@ -111,8 +111,8 @@ public:
 	inline bool isSaving() { return (_saveStream != 0); }
 	inline bool isLoading() { return (_loadStream != 0); }
 
-	// WORKAROUND for bugs #2892515 "BeOS: tinsel does not compile" and
-	// #2892510 "BeOS: Cruise does not compile". gcc 2.95.3, which is used
+	// WORKAROUND for bugs #4698 "BeOS: tinsel does not compile" and
+	// #4697 "BeOS: Cruise does not compile". gcc 2.95.3, which is used
 	// for BeOS fails due to an internal compiler error, when we place the
 	// following function definitions in another place. Before this work-
 	// around the following SYNC_AS definitions were placed at the end
diff --git a/devtools/create_access/create_access_dat.cpp b/devtools/create_access/create_access_dat.cpp
index 85d90a9d08..fa00a3139b 100644
--- a/devtools/create_access/create_access_dat.cpp
+++ b/devtools/create_access/create_access_dat.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_cryo/create_cryo_dat.cpp b/devtools/create_cryo/create_cryo_dat.cpp
index af3de21794..53798ad5ff 100644
--- a/devtools/create_cryo/create_cryo_dat.cpp
+++ b/devtools/create_cryo/create_cryo_dat.cpp
@@ -21,7 +21,7 @@
  */
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_cryomni3d/create_cryomni3d_dat.cpp b/devtools/create_cryomni3d/create_cryomni3d_dat.cpp
index c25c9c2241..55b99712fd 100644
--- a/devtools/create_cryomni3d/create_cryomni3d_dat.cpp
+++ b/devtools/create_cryomni3d/create_cryomni3d_dat.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_drascula/create_drascula.cpp b/devtools/create_drascula/create_drascula.cpp
index 0254fe3979..9fcbf6ecd0 100644
--- a/devtools/create_drascula/create_drascula.cpp
+++ b/devtools/create_drascula/create_drascula.cpp
@@ -23,7 +23,7 @@
  */
 
  // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_glk/create_glk.cpp b/devtools/create_glk/create_glk.cpp
index d6b313b156..c3c1de7c68 100644
--- a/devtools/create_glk/create_glk.cpp
+++ b/devtools/create_glk/create_glk.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_hugo/create_hugo.cpp b/devtools/create_hugo/create_hugo.cpp
index 8afadef740..9f3f4d5e64 100644
--- a/devtools/create_hugo/create_hugo.cpp
+++ b/devtools/create_hugo/create_hugo.cpp
@@ -26,7 +26,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_kyradat/create_kyradat.cpp b/devtools/create_kyradat/create_kyradat.cpp
index 80d55232c1..8dd77bdfd8 100644
--- a/devtools/create_kyradat/create_kyradat.cpp
+++ b/devtools/create_kyradat/create_kyradat.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_lure/create_lure_dat.cpp b/devtools/create_lure/create_lure_dat.cpp
index d8247d3e9d..6d56f56617 100644
--- a/devtools/create_lure/create_lure_dat.cpp
+++ b/devtools/create_lure/create_lure_dat.cpp
@@ -28,7 +28,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_mortdat/create_mortdat.cpp b/devtools/create_mortdat/create_mortdat.cpp
index 4dc1a92f2f..e3051869cb 100644
--- a/devtools/create_mortdat/create_mortdat.cpp
+++ b/devtools/create_mortdat/create_mortdat.cpp
@@ -28,7 +28,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_myst3/create_myst3.cpp b/devtools/create_myst3/create_myst3.cpp
index 4b5b2da945..2118185cc8 100644
--- a/devtools/create_myst3/create_myst3.cpp
+++ b/devtools/create_myst3/create_myst3.cpp
@@ -21,7 +21,7 @@
  */
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_neverhood/create_neverhood.cpp b/devtools/create_neverhood/create_neverhood.cpp
index 4e00bf1a4d..acafcccc1c 100644
--- a/devtools/create_neverhood/create_neverhood.cpp
+++ b/devtools/create_neverhood/create_neverhood.cpp
@@ -25,7 +25,7 @@
 
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp
index 1552d06c3d..09411202f1 100644
--- a/devtools/create_project/create_project.cpp
+++ b/devtools/create_project/create_project.cpp
@@ -23,7 +23,7 @@
 #define ENABLE_XCODE
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_supernova/create_image/create_image.cpp b/devtools/create_supernova/create_image/create_image.cpp
index e2499f954c..2c6937ab1c 100644
--- a/devtools/create_supernova/create_image/create_image.cpp
+++ b/devtools/create_supernova/create_image/create_image.cpp
@@ -1,5 +1,5 @@
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_supernova/create_supernova.cpp b/devtools/create_supernova/create_supernova.cpp
index bef8f6ad2c..d7a7d0b460 100644
--- a/devtools/create_supernova/create_supernova.cpp
+++ b/devtools/create_supernova/create_supernova.cpp
@@ -5,7 +5,7 @@
 #include <iostream>
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_teenagent/create_teenagent.cpp b/devtools/create_teenagent/create_teenagent.cpp
index 732532f9b2..be9a7ec6a9 100644
--- a/devtools/create_teenagent/create_teenagent.cpp
+++ b/devtools/create_teenagent/create_teenagent.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_titanic/create_titanic_dat.cpp b/devtools/create_titanic/create_titanic_dat.cpp
index a5e813a977..f0570b4e18 100644
--- a/devtools/create_titanic/create_titanic_dat.cpp
+++ b/devtools/create_titanic/create_titanic_dat.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_titanic/script_preresponses.cpp b/devtools/create_titanic/script_preresponses.cpp
index cb5beba90d..e0b65b8a91 100644
--- a/devtools/create_titanic/script_preresponses.cpp
+++ b/devtools/create_titanic/script_preresponses.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_titanic/script_quotes.cpp b/devtools/create_titanic/script_quotes.cpp
index 2a8b16c59f..41365de437 100644
--- a/devtools/create_titanic/script_quotes.cpp
+++ b/devtools/create_titanic/script_quotes.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_titanic/script_ranges.cpp b/devtools/create_titanic/script_ranges.cpp
index c00c30da47..c69ec2b42d 100644
--- a/devtools/create_titanic/script_ranges.cpp
+++ b/devtools/create_titanic/script_ranges.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_titanic/script_responses.cpp b/devtools/create_titanic/script_responses.cpp
index 7bf09e618e..2411d62885 100644
--- a/devtools/create_titanic/script_responses.cpp
+++ b/devtools/create_titanic/script_responses.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_titanic/script_states.cpp b/devtools/create_titanic/script_states.cpp
index 3166ca7ea3..a958cc4c73 100644
--- a/devtools/create_titanic/script_states.cpp
+++ b/devtools/create_titanic/script_states.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_titanic/tag_maps.cpp b/devtools/create_titanic/tag_maps.cpp
index 598ed47e7b..7e96c6f675 100644
--- a/devtools/create_titanic/tag_maps.cpp
+++ b/devtools/create_titanic/tag_maps.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_tony/create_tony.cpp b/devtools/create_tony/create_tony.cpp
index cb76e954c9..505aec4eb8 100644
--- a/devtools/create_tony/create_tony.cpp
+++ b/devtools/create_tony/create_tony.cpp
@@ -26,7 +26,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_toon/create_toon.cpp b/devtools/create_toon/create_toon.cpp
index 08f8d8c543..e98f29e41d 100644
--- a/devtools/create_toon/create_toon.cpp
+++ b/devtools/create_toon/create_toon.cpp
@@ -26,7 +26,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_translations/create_translations.cpp b/devtools/create_translations/create_translations.cpp
index 713387588e..7b9498fc04 100644
--- a/devtools/create_translations/create_translations.cpp
+++ b/devtools/create_translations/create_translations.cpp
@@ -31,7 +31,7 @@
 #include <vector>
 
  // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_ultima/create_ultima.cpp b/devtools/create_ultima/create_ultima.cpp
index a5651a5362..98ea4c9c9a 100644
--- a/devtools/create_ultima/create_ultima.cpp
+++ b/devtools/create_ultima/create_ultima.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_xeen/cc.cpp b/devtools/create_xeen/cc.cpp
index eac0925de5..33dd5ce675 100644
--- a/devtools/create_xeen/cc.cpp
+++ b/devtools/create_xeen/cc.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_xeen/clouds.cpp b/devtools/create_xeen/clouds.cpp
index 9ed69d9379..f8aba7b7d6 100644
--- a/devtools/create_xeen/clouds.cpp
+++ b/devtools/create_xeen/clouds.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_xeen/constants.cpp b/devtools/create_xeen/constants.cpp
index 3d18438cc6..27d99810bb 100644
--- a/devtools/create_xeen/constants.cpp
+++ b/devtools/create_xeen/constants.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_xeen/create_xeen.cpp b/devtools/create_xeen/create_xeen.cpp
index 3518b89177..fef1412af9 100644
--- a/devtools/create_xeen/create_xeen.cpp
+++ b/devtools/create_xeen/create_xeen.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_xeen/map.cpp b/devtools/create_xeen/map.cpp
index 178cd99291..07436a8c0c 100644
--- a/devtools/create_xeen/map.cpp
+++ b/devtools/create_xeen/map.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/create_xeen/swords.cpp b/devtools/create_xeen/swords.cpp
index 151989cfa0..cb223e10f1 100644
--- a/devtools/create_xeen/swords.cpp
+++ b/devtools/create_xeen/swords.cpp
@@ -24,7 +24,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/extract_mort/extract_mort.cpp b/devtools/extract_mort/extract_mort.cpp
index b4df533150..4002b72cf9 100644
--- a/devtools/extract_mort/extract_mort.cpp
+++ b/devtools/extract_mort/extract_mort.cpp
@@ -28,7 +28,7 @@
 #define FORBIDDEN_SYMBOL_ALLOW_ALL
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/qtable/qtable.cpp b/devtools/qtable/qtable.cpp
index a659698688..51937ee256 100644
--- a/devtools/qtable/qtable.cpp
+++ b/devtools/qtable/qtable.cpp
@@ -1,5 +1,5 @@
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/devtools/scumm-md5.txt b/devtools/scumm-md5.txt
index ec9ec461f8..fd7f912383 100644
--- a/devtools/scumm-md5.txt
+++ b/devtools/scumm-md5.txt
@@ -222,7 +222,7 @@ monkey	The Secret of Monkey Island
 	45152f7cf2ba8f43cf8a8ea2e740ae09	8357	es	DOS	VGA	VGA	4 disk	Fingolfin
 	a01fab4a64d47b96e2e58e6b0f825cc7	8347	fr	DOS	VGA	VGA	8 disk v1.0, 6/4/91 II	Sebast26
 
-	8776caed014c321272af407c1502a2df	8955	en	Mac	CD	-	Mac v2.4	Petr Maruska (#1749232)
+	8776caed014c321272af407c1502a2df	8955	en	Mac	CD	-	Mac v2.4	Petr Maruska (#3295)
 
 	2d1e891fe52df707c30185e52c50cd92	8955	en	DOS	CD	CD	CD-ROM v2.3	Fingolfin
 	aa8a0cb65f3afbbe2c14c3f9f92775a3	8955	fr	DOS	CD	CD	CD-ROM v2.3	Fingolfin, Andrej Sinicyn, Andrea Petrucci
@@ -301,7 +301,7 @@ atlantis	Indiana Jones and the Fate of Atlantis
 	1a6e5ae2777a6a33f06ffc0226210934	-1	en	Mac	-	CD	-	Scott Summers
 	2d9d46f23cb07bbc90b8ad464d3e4ff8	-1	en	Mac	-	CD	Mac bundle	Joachim Eberhard
 	8e9417564f33790815445b2136efa667	11915	jp	Mac	-	CD	-	Petr Maruska
-	e8d0697906e53fee8b7e9f5652696da8	11915	jp	DOS	-	CD	-	Petr Maruska, tracker #3017219
+	e8d0697906e53fee8b7e9f5652696da8	11915	jp	DOS	-	CD	-	Petr Maruska, tracker #4900
 	55b4494051b06e95bcaa0d6d8f6fb757	286720	en	Windows	Steam	Humble	Actually Humble version - Mataniko
 	986691371756f3be570bd8c10df82990	290816	en	Windows	Steam	Discord	Actually Discord version - Mataniko
 
diff --git a/devtools/skycpt/AsciiCptCompile.cpp b/devtools/skycpt/AsciiCptCompile.cpp
index 3d638b6c35..708a711840 100644
--- a/devtools/skycpt/AsciiCptCompile.cpp
+++ b/devtools/skycpt/AsciiCptCompile.cpp
@@ -21,7 +21,7 @@
  */
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 644394ae60..1ea0af5483 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -118,7 +118,7 @@ int AgiEngine::agiInit() {
 	// some scripts expect that the game strings remain unaffected after a
 	// restart. An example is script 98 in SQ2, which is not invoked on restart
 	// to ask Ego's name again. The name is supposed to be maintained in string 1.
-	// Fixes bug #3292784.
+	// Fixes bug #5673.
 	if (!_restartGame) {
 		for (i = 0; i < MAX_STRINGS; i++)
 			_game.strings[i][0] = 0;
diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp
index d06266ea93..99369e7bef 100644
--- a/engines/agi/cycle.cpp
+++ b/engines/agi/cycle.cpp
@@ -316,7 +316,7 @@ int AgiEngine::playGame() {
 	// We need to do this accurately and reset the AGI priorityscreen to 4
 	// otherwise at least the fan game Nick's Quest will go into an endless
 	// loop, because the game draws views before it draws the first background picture.
-	// For further study see bug #3451122
+	// For further study see bug #5916
 	_gfx->clear(0, 4);
 
 	_game.horizon = 36;
diff --git a/engines/agi/detection_tables.h b/engines/agi/detection_tables.h
index cf0475e0d4..068403aa0d 100644
--- a/engines/agi/detection_tables.h
+++ b/engines/agi/detection_tables.h
@@ -258,7 +258,7 @@ static const AGIGameDescription gameDescriptions[] = {
 	// Menus not tested
 	GAME("ddp", "1.0A 1986-08-08", "64388812e25dbd75f7af1103bc348596", 0x2272, GID_DDP),
 
-	// reported by Filippos (thebluegr) in bugreport #1654500
+	// reported by Filippos (thebluegr) in bugreport #3048
 	// Menus not tested
 	GAME_PS("ddp", "1.0C 1986-06-09", "550971d196f65190a5c760d2479406ef", 132, 0x2272, GID_DDP, Common::kPlatformDOS),
 
@@ -381,8 +381,8 @@ static const AGIGameDescription gameDescriptions[] = {
 
 	// King's Quest 3 (Amiga) 2.15 11/15/89 # 2.333
 	// Original pauses with ESC, has menus accessible with mouse.
-	// ver = 0x3086 -> menus accessible with ESC or mouse, bug #2835581 (KQ3: Game Crash When Leaving Tavern as Fly).
-	// ver = 0x3149 -> menus accessible with mouse, ESC pauses game, bug #2835581 disappears.
+	// ver = 0x3086 -> menus accessible with ESC or mouse, bug #4528 (KQ3: Game Crash When Leaving Tavern as Fly).
+	// ver = 0x3149 -> menus accessible with mouse, ESC pauses game, bug #4528 disappears.
 	GAME3_PSO("kq3", "2.15 1989-11-15", "dirs", "8e35bded2bc5cf20f5eec2b15523b155", 1805, 0x3149, 0, GID_KQ3, Common::kPlatformAmiga, GAMEOPTIONS_AMIGA),
 
 	// King's Quest 3 (PC) 1.01 11/08/86 [AGI 2.272]
@@ -468,7 +468,7 @@ static const AGIGameDescription gameDescriptions[] = {
 	// Manhunter NY (Amiga) 1.06 3/18/89
 	GAME3_PO("mh1", "1.06 1989-03-18", "dirs", "92c6183042d1c2bb76236236a7d7a847", 0x3149, GF_OLDAMIGAV20, GID_MH1, Common::kPlatformAmiga, GAMEOPTIONS_AMIGA),
 
-	// reported by Filippos (thebluegr) in bugreport #1654500
+	// reported by Filippos (thebluegr) in bugreport #3048
 	// Manhunter NY (PC 5.25") 1.22 8/31/88 [AGI 3.002.107]
 	GAME3_PS("mh1", "1.22 1988-08-31", "mhdir", "0c7b86f05fe02c2e26cff1b07450b82a", 2123, 0x3149, 0, GID_MH1, Common::kPlatformDOS),
 
@@ -627,11 +627,11 @@ static const AGIGameDescription gameDescriptions[] = {
 	// Space Quest 2 (Mac) 2.0D
 	GAME_P("sq2", "2.0D 1988-04-04", "bfbebe0b59d83f931f2e1c62ce9484a7", 0x2936, GID_SQ2, Common::kPlatformMacintosh),
 
-	// reported by Filippos (thebluegr) in bugreport #1654500
+	// reported by Filippos (thebluegr) in bugreport #3048
 	// Space Quest 2 (PC 5.25") 2.0A [AGI 2.912]
 	GAME_PS("sq2", "2.0A 1987-11-06 5.25\"", "ad7ce8f800581ecc536f3e8021d7a74d", 423, 0x2917, GID_SQ2, Common::kPlatformDOS),
 
-	// reported by RadG (radg123) in bug report #3260349
+	// reported by RadG (radg123) in bug report #5617
 	// Space Quest 2 (Spanish)
 	GAME_LPS("sq2", "", "1ae7640dd4d253c3ac2d708d61a35379", 426, Common::ES_ESP, 0x2917, GID_SQ2, Common::kPlatformDOS),
 
diff --git a/engines/agi/graphics.cpp b/engines/agi/graphics.cpp
index d08e9bb99a..3e1028352c 100644
--- a/engines/agi/graphics.cpp
+++ b/engines/agi/graphics.cpp
@@ -1313,7 +1313,7 @@ int16 GfxMgr::priorityToY(int16 priority) {
 	//  Dwarf is screen object 13 (view 152), gets fixed priority of 8, which would normally
 	//  result in a Y of 101. Ego is priority (non-fixed) 8, which would mean that dwarf is
 	//  drawn first, followed by ego, which would then draw ego over the dwarf.
-	//  For more information see bug #1712585 (dwarf sprite priority)
+	//  For more information see bug #3182 (dwarf sprite priority)
 	//
 	// This glitch is definitely present in 2.425, 2.936 and 3.002.086.
 	//
diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp
index c4235c4e29..0f86438907 100644
--- a/engines/agi/keyboard.cpp
+++ b/engines/agi/keyboard.cpp
@@ -502,7 +502,7 @@ bool AgiEngine::handleController(uint16 key) {
 				if (key == AGI_MOUSE_BUTTON_LEFT) {
 					if (getGameID() == GID_PQ1 && getVar(VM_VAR_CURRENT_ROOM) == 116) {
 						// WORKAROUND: Special handling for mouse clicks in the newspaper
-						// screen of PQ1. Fixes bug #3018770.
+						// screen of PQ1. Fixes bug #4908.
 						newDirection = 3;   // fake a right arrow key (next page)
 
 					} else {
diff --git a/engines/agi/objects.cpp b/engines/agi/objects.cpp
index 3a7bfc98f6..c4ecfb090b 100644
--- a/engines/agi/objects.cpp
+++ b/engines/agi/objects.cpp
@@ -70,7 +70,7 @@ int AgiEngine::decodeObjects(uint8 *mem, uint32 flen) {
 		}
 
 		// Don't show the invalid "?" object in ego's inventory in the fanmade
-		// game Beyond the Titanic 2 (bug #3116541).
+		// game Beyond the Titanic 2 (bug #5523).
 		if (_objects[i].name == "?" && _objects[i].location == EGO_OWNED)
 			_objects[i].location = 0;
 	}
diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp
index 23eca70470..55e8d300e5 100644
--- a/engines/agi/op_cmd.cpp
+++ b/engines/agi/op_cmd.cpp
@@ -78,7 +78,7 @@ void cmdAssignN(AgiGame *state, AgiEngine *vm, uint8 *parameter) {
 	// is then incorrectly assigned to 0. Thus, when the game
 	// is restarted, "Points 0 of 0" is shown. We set the
 	// variable to the correct value here
-	// Fixes bug #1942476 - "AGI: Fan(Get Outta SQ) - Score
+	// Fixes bug #3696 - "AGI: Fan(Get Outta SQ) - Score
 	// is lost on restart"
 	if (vm->getGameID() == GID_GETOUTTASQ && varNr == 7)
 		vm->setVar(varNr, 8);
@@ -2145,7 +2145,7 @@ void cmdClearLines(AgiGame *state, AgiEngine *vm, uint8 *parameter) {
 
 	// Residence 44 calls clear.lines(24,0,0), see Sarien bug #558423
 	// Agent06 incorrectly calls clear.lines(1,150,0), see ScummVM bugs
-	// #1935838 and #1935842
+	// #3679 and #3680
 	if (textRowUpper > textRowLower) {
 		warning("cmdClearLines: RowUpper higher than RowLower");
 		textRowLower = textRowUpper;
diff --git a/engines/agi/opcodes.cpp b/engines/agi/opcodes.cpp
index f622997b67..3bb0bf3277 100644
--- a/engines/agi/opcodes.cpp
+++ b/engines/agi/opcodes.cpp
@@ -428,7 +428,7 @@ void AgiEngine::setupOpCodes(uint16 version) {
 	// TODO: This could be either turned into a game feature, or a version
 	// specific check, instead of a game version check
 	// The Apple IIGS versions of MH1 and Goldrush both have a parameter for
-	// show.mouse and hide.mouse. Fixes bugs #3577754 and #3426946.
+	// show.mouse and hide.mouse. Fixes bugs #6161 and #5885.
 	if ((getGameID() == GID_MH1 || getGameID() == GID_GOLDRUSH) &&
 	        getPlatform() == Common::kPlatformApple2GS) {
 		_opCodes[176].parameters = "n";  // hide.mouse
diff --git a/engines/agi/saveload.cpp b/engines/agi/saveload.cpp
index 1f23154106..c781f00d7c 100644
--- a/engines/agi/saveload.cpp
+++ b/engines/agi/saveload.cpp
@@ -123,7 +123,7 @@ int AgiEngine::saveGame(const Common::String &fileName, const Common::String &de
 	debugC(5, kDebugLevelMain | kDebugLevelSavegame, "Writing game id (%s, %s)", gameIDstring, _game.id);
 
 	const char *tmp = getGameMD5();
-	// As reported in bug report #2849084 "AGI: Crash when saving fallback-matched game"
+	// As reported in bug report #4582 "AGI: Crash when saving fallback-matched game"
 	// getGameMD5 will return NULL for fallback matched games. Since there is also no
 	// filename available we can not compute any MD5 here either. Thus we will just set
 	// the MD5 sum in the savegame to all zero, when getGameMD5 returns NULL.
@@ -789,7 +789,7 @@ int AgiEngine::doSave(int slot, const Common::String &desc) {
 	debugC(8, kDebugLevelMain | kDebugLevelResources, "file is [%s]", fileName.c_str());
 
 	// Make sure all graphics was blitted to screen. This fixes bug
-	// #2960567: "AGI: Ego partly erased in Load/Save thumbnails"
+	// #4790: "AGI: Ego partly erased in Load/Save thumbnails"
 	_gfx->updateScreen();
 //	_gfx->doUpdate();
 
diff --git a/engines/agi/words.cpp b/engines/agi/words.cpp
index 9e4e3eb09b..2e34e1c410 100644
--- a/engines/agi/words.cpp
+++ b/engines/agi/words.cpp
@@ -100,7 +100,7 @@ int Words::loadDictionary(const char *fname) {
 			// WORKAROUND:
 			// The SQ0 fan game stores words starting with numbers (like '7up')
 			// in its dictionary under the 'a' entry. We skip these.
-			// See bug #3615061
+			// See bug #6415
 			if (str[0] == 'a' + i) {
 				// And store it in our internal dictionary
 				WordEntry *newWord = new WordEntry;
@@ -114,7 +114,7 @@ int Words::loadDictionary(const char *fname) {
 			// Are there more words with an already known prefix?
 			// WORKAROUND: We only break after already seeing words with the
 			// right prefix, for the SQ0 words starting with digits filed under
-			// 'a'. See above comment and bug #3615061.
+			// 'a'. See above comment and bug #6415.
 			if (k == 0 && str[0] >= 'a' + i)
 				break;
 		}
diff --git a/engines/agos/midi.cpp b/engines/agos/midi.cpp
index 2f9d2bb971..8ea69c462b 100644
--- a/engines/agos/midi.cpp
+++ b/engines/agos/midi.cpp
@@ -662,7 +662,7 @@ void MidiPlayer::loadSMF(Common::SeekableReadStream *in, int song, bool sfx) {
 			// this should be the right way to calculate it.
 			timerRate = (4 * _driver->getBaseTempo()) / p->data[5];
 
-			// According to bug #1004919 calling setLoop() from
+			// According to bug #1706 calling setLoop() from
 			// within a lock causes a lockup, though I have no
 			// idea when this actually happens.
 			_loopTrack = (p->data[6] != 0);
diff --git a/engines/agos/script_e2.cpp b/engines/agos/script_e2.cpp
index d0cd015ce9..a4d4ac54d7 100644
--- a/engines/agos/script_e2.cpp
+++ b/engines/agos/script_e2.cpp
@@ -414,7 +414,7 @@ void AGOSEngine_Elvira2::oe2_ifDoorOpen() {
 	uint16 d = getVarOrByte();
 
 	if (getGameType() == GType_WW) {
-		// WORKAROUND bug #2686883: A NULL item can occur when
+		// WORKAROUND bug #4229: A NULL item can occur when
 		// walking through Jack the Ripper scene
 		if (i == NULL) {
 			setScriptCondition(false);
@@ -646,7 +646,7 @@ void AGOSEngine_Elvira2::oe2_isAdjNoun() {
 	int16 n = getNextWord();
 
 	if (getGameType() == GType_ELVIRA2 && item == NULL) {
-		// WORKAROUND bug #1745996: A NULL item can occur when
+		// WORKAROUND bug #3281: A NULL item can occur when
 		// interacting with items in the dinning room
 		setScriptCondition(false);
 		return;
diff --git a/engines/agos/script_s1.cpp b/engines/agos/script_s1.cpp
index 53f549b2df..d7133ee5be 100644
--- a/engines/agos/script_s1.cpp
+++ b/engines/agos/script_s1.cpp
@@ -361,7 +361,7 @@ void AGOSEngine_Simon1::os1_screenTextMsg() {
 	}
 
 	// WORKAROUND: Several strings in the French version of Simon the Sorcerer 1 set the incorrect width,
-	// causing crashes, or glitches in subtitles. See bug #3512776 for example.
+	// causing crashes, or glitches in subtitles. See bug #6014 for example.
 	if (getGameType() == GType_SIMON1 && _language == Common::FR_FRA) {
 		if ((getFeatures() & GF_TALKIE) && stringId == 33219)
 			tl->width = 96;
diff --git a/engines/agos/string.cpp b/engines/agos/string.cpp
index 036ee5683a..2685fa1752 100644
--- a/engines/agos/string.cpp
+++ b/engines/agos/string.cpp
@@ -136,7 +136,7 @@ const byte *AGOSEngine::getStringPtrByID(uint16 stringId, bool upperCase) {
 		Common::strlcpy((char *)dst, (const char *)stringPtr, 180);
 	}
 
-	// WORKAROUND bug #1538873: The French version of Simon 1 and the
+	// WORKAROUND bug #2780: The French version of Simon 1 and the
 	// Polish version of Simon 2 used excess spaces, at the end of many
 	// messages, so we strip off those excess spaces.
 	if ((getGameType() == GType_SIMON1 && _language == Common::FR_FRA) ||
diff --git a/engines/cge/fileio.cpp b/engines/cge/fileio.cpp
index 2a0540c57f..bb60c525f8 100644
--- a/engines/cge/fileio.cpp
+++ b/engines/cge/fileio.cpp
@@ -218,7 +218,7 @@ EncryptedStream::EncryptedStream(CGEEngine *vm, const char *name) : _vm(vm) {
 		// SPR files have some inconsistencies. Some have extra 0x1A at the end, some others
 		// do not have a carriage return at the end of the last line
 		// Therefore, we remove this ending 0x1A and add extra new lines.
-		// This fixes bug #3537527
+		// This fixes bug #6060
 		dataBuffer = (byte *)malloc(kp->_size + 2);
 		_vm->_resman->read(dataBuffer, kp->_size);
 		if (dataBuffer[kp->_size - 1] == 0x1A)
diff --git a/engines/cge2/fileio.cpp b/engines/cge2/fileio.cpp
index 9fe468ea66..2d11d5f365 100644
--- a/engines/cge2/fileio.cpp
+++ b/engines/cge2/fileio.cpp
@@ -211,7 +211,7 @@ EncryptedStream::EncryptedStream(CGE2Engine *vm, const char *name) : _vm(vm), _l
 		// SPR files have some inconsistencies. Some have extra 0x1A at the end, some others
 		// do not have a carriage return at the end of the last line
 		// Therefore, we remove this ending 0x1A and add extra new lines.
-		// This fixes bug #3537527
+		// This fixes bug #6060
 		dataBuffer = (byte *)malloc(kp->_size + 2);
 		_vm->_resman->read(dataBuffer, kp->_size);
 		if (dataBuffer[kp->_size - 1] == 0x1A)
diff --git a/engines/cine/anim.cpp b/engines/cine/anim.cpp
index 517cff9ab5..6615cce41e 100644
--- a/engines/cine/anim.cpp
+++ b/engines/cine/anim.cpp
@@ -683,7 +683,7 @@ int loadAni(const char *resourceName, int16 idx, int16 frameIndex) {
 	// TODO: Merge this special case hack into getAnimTransparentColor somehow.
 	// HACK: Versions of TITRE.ANI with height 37 use color 0xF for transparency.
 	//       Versions of TITRE.ANI with height 57 use color 0x0 for transparency.
-	//       Fixes bug #2057619: FW: Glitches in title display of demo (regression).
+	//       Fixes bug #3875: FW: Glitches in title display of demo (regression).
 	if (hacksEnabled && scumm_stricmp(resourceName, "TITRE.ANI") == 0 && animHeader.frameHeight == 37) {
 		transparentColor = 0xF;
 	}
diff --git a/engines/cine/gfx.cpp b/engines/cine/gfx.cpp
index c7a30f7d32..b178b014cc 100644
--- a/engines/cine/gfx.cpp
+++ b/engines/cine/gfx.cpp
@@ -260,7 +260,7 @@ void FWRenderer::incrustSprite(const BGIncrust &incrust) {
 	height = g_cine->_animDataTable[obj.frame]._height;
 
 	// There was an assert(mask) here before but it made savegame loading
-	// in Future Wars sometimes fail the assertion (e.g. see bug #2055912).
+	// in Future Wars sometimes fail the assertion (e.g. see bug #3868).
 	// Not drawing sprites that have no mask seems to work, but not sure
 	// if this is really a correct way to fix this.
 	if (mask) {
diff --git a/engines/cine/script_fw.cpp b/engines/cine/script_fw.cpp
index f7bea6c679..50c77a1376 100644
--- a/engines/cine/script_fw.cpp
+++ b/engines/cine/script_fw.cpp
@@ -1085,7 +1085,7 @@ int FWScript::o1_divVar() {
 int FWScript::o1_compareVar() {
 	// WORKAROUND: A workaround for a script bug in script file CODE2.PRC
 	// in at least some of the Amiga and Atari ST versions of Future Wars.
-	// Fixes bug #2016647 (FW: crash with italian amiga version). A local
+	// Fixes bug #3806 (FW: crash with italian amiga version). A local
 	// variable 251 is compared against value 0 although it's quite apparent
 	// from the context in the script that instead global variable 251 should
 	// be compared against value 0. So looks like someone made a typo when
@@ -1523,7 +1523,7 @@ int FWScript::o1_palRotate() {
 int FWScript::o1_break() {
 	debugC(5, kCineDebugScript, "Line: %d: break", _line);
 
-	// WORKAROUND for bug #2669415 ("FW: half walking speed in a screen").
+	// WORKAROUND for bug #4213 ("FW: half walking speed in a screen").
 	// The problem was that in Amiga/Atari ST versions of Future Wars the
 	// walking speed has halved in a forest scene where a monk's robe hangs
 	// on a tree branch (Up and to the left from the medieval castle's front).
@@ -1659,7 +1659,7 @@ int FWScript::o1_compareGlobalVar() {
 
 		debugC(5, kCineDebugScript, "Line: %d: compare globalVars[%d] and %d", _line, varIdx, value);
 
-		// WORKAROUND for bug #2054882. Without this, the monks will always
+		// WORKAROUND for bug #3866. Without this, the monks will always
 		// kill you as an impostor, even if you enter the monastery in disguise.
 		//
 		// TODO: Check whether this might be worked around in some other way
@@ -2034,7 +2034,7 @@ int16 getZoneFromPosition(byte *page, int16 x, int16 y, int16 width) {
 }
 
 byte getZoneFromPositionRaw(byte *page, int16 x, int16 y, int16 width) {
-	// WORKAROUND for bug #2848940 ("ScummVM crashes with Future wars"):
+	// WORKAROUND for bug #4581 ("ScummVM crashes with Future wars"):
 	// Vertical positions outside the 320x200 screen (e.g. in range 200-232)
 	// are accessed after teleporting Lo'Ann to the future using the pendant
 	// and walking down the slope and out of the screen (This causes a crash
diff --git a/engines/composer/detection_tables.h b/engines/composer/detection_tables.h
index 84d79b4765..a2f6d3b4c1 100644
--- a/engines/composer/detection_tables.h
+++ b/engines/composer/detection_tables.h
@@ -23,7 +23,7 @@
 namespace Composer {
 
 static const ComposerGameDescription gameDescriptions[] = {
-	// Magic Tales: Baba Yaga and the Magic Geese - from bug #3485018
+	// Magic Tales: Baba Yaga and the Magic Geese - from bug #5964
 	{
 		{
 			"babayaga",
@@ -40,7 +40,7 @@ static const ComposerGameDescription gameDescriptions[] = {
 		GType_ComposerV1
 	},
 
-	// Magic Tales: Baba Yaga and the Magic Geese Mac - from bug #3466402, #7025
+	// Magic Tales: Baba Yaga and the Magic Geese Mac - from bug #5934, #7025
 	{
 		{
 			"babayaga",
@@ -75,7 +75,7 @@ static const ComposerGameDescription gameDescriptions[] = {
 		GType_ComposerV1
 	},
 
-	// Magic Tales: Imo and the King - from bug #3485018
+	// Magic Tales: Imo and the King - from bug #5964
 	{
 		{
 			"imoking",
@@ -194,7 +194,7 @@ static const ComposerGameDescription gameDescriptions[] = {
 		GType_ComposerV1
 	},
 
-	// Magic Tales: Imo and the King Mac - from bug #3466402
+	// Magic Tales: Imo and the King Mac - from bug #5934
 	{
 		{
 			"imoking",
@@ -229,7 +229,7 @@ static const ComposerGameDescription gameDescriptions[] = {
 		GType_ComposerV1
 	},
 
-	// Magic Tales: The Little Samurai - from bug #3485018
+	// Magic Tales: The Little Samurai - from bug #5964
 	{
 		{
 			"littlesamurai",
@@ -246,7 +246,7 @@ static const ComposerGameDescription gameDescriptions[] = {
 		GType_ComposerV1
 	},
 
-	// Magic Tales: The Little Samurai Mac - from bug #3466402
+	// Magic Tales: The Little Samurai Mac - from bug #5934
 	{
 		{
 			"littlesamurai",
@@ -365,7 +365,7 @@ static const ComposerGameDescription gameDescriptions[] = {
 		GType_ComposerV2
 	},
 
-	// Liam Finds a Story Mac - from bug #3463201
+	// Liam Finds a Story Mac - from bug #5931
 	{
 		{
 			"liam",
@@ -581,7 +581,7 @@ static const ComposerGameDescription gameDescriptions[] = {
 		GType_ComposerV2
 	},
 
-	// The Princess and the Crab Mac - From Bug #3461984
+	// The Princess and the Crab Mac - From Bug #5928
 	{
 		{
 			"princess",
@@ -616,7 +616,7 @@ static const ComposerGameDescription gameDescriptions[] = {
 		GType_ComposerV2
 	},
 
-	// Sleeping Cub Mac - From Bug #3461369
+	// Sleeping Cub Mac - From Bug #5927
 	{
 		{
 			"sleepingcub",
diff --git a/engines/drascula/detection.cpp b/engines/drascula/detection.cpp
index 538cd95cd6..89d206b80a 100644
--- a/engines/drascula/detection.cpp
+++ b/engines/drascula/detection.cpp
@@ -216,7 +216,7 @@ static const DrasculaGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Drascula French version (updated - bug #3612236)
+		// Drascula French version (updated - bug #6303)
 		{
 			"drascula",
 			0,
@@ -255,7 +255,7 @@ static const DrasculaGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Drascula Italian version (updated - bug #3612236)
+		// Drascula Italian version (updated - bug #6303)
 		{
 			"drascula",
 			0,
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp
index 6a257c1abc..b18e245ec6 100644
--- a/engines/drascula/drascula.cpp
+++ b/engines/drascula/drascula.cpp
@@ -602,7 +602,7 @@ bool DrasculaEngine::runCurrentChapter() {
 
 		// Do not show the inventory screen in chapter 5, if the right mouse button is clicked
 		// while the plug (object 16) is held
-		// Fixes bug #2059621 - "DRASCULA: Plug bug"
+		// Fixes bug #3885 - "DRASCULA: Plug bug"
 		if (_rightMouseButton == 1 && !_menuScreen &&
 			!(currentChapter == 5 && pickedObject == 16)) {
 			_rightMouseButton = 0;
diff --git a/engines/drascula/sound.cpp b/engines/drascula/sound.cpp
index 70916caffe..237b5501cb 100644
--- a/engines/drascula/sound.cpp
+++ b/engines/drascula/sound.cpp
@@ -229,7 +229,7 @@ void DrasculaEngine::playFile(const char *fname) {
 			// WORKAROUND: File 3.als with English speech files has a big silence at
 			// its beginning and end. We seek past the silence at the beginning,
 			// and ignore the silence at the end
-			// Fixes bug #2111815 - "DRASCULA: Voice delayed"
+			// Fixes bug #3969 - "DRASCULA: Voice delayed"
 			startOffset = 73959;
 			soundSize = soundSize - startOffset - 26306;
 		}
diff --git a/engines/dreamweb/detection_tables.h b/engines/dreamweb/detection_tables.h
index 7a854e0427..450191d4c9 100644
--- a/engines/dreamweb/detection_tables.h
+++ b/engines/dreamweb/detection_tables.h
@@ -64,7 +64,7 @@ static const DreamWebGameDescription gameDescriptions[] = {
 		},
 	},
 
-	// UK-V (Early UK) CD Release - From bug #3526483
+	// UK-V (Early UK) CD Release - From bug #6035
 	// Note: r00 and r02 files are identical to international floppy release
 	//       so was misidentified as floppy, resulting in disabled CD speech.
 	//       Added executable to detection to avoid this.
@@ -114,7 +114,7 @@ static const DreamWebGameDescription gameDescriptions[] = {
 	},
 
 	// French CD release
-	// From bug #3524362
+	// From bug #6030
 	{
 		{
 			"dreamweb",
@@ -185,7 +185,7 @@ static const DreamWebGameDescription gameDescriptions[] = {
 	},
 
 	// Spanish CD release
-	// From bug #3524362
+	// From bug #6030
 	{
 		{
 			"dreamweb",
diff --git a/engines/dreamweb/saveload.cpp b/engines/dreamweb/saveload.cpp
index c869c13b3a..98ca2f4547 100644
--- a/engines/dreamweb/saveload.cpp
+++ b/engines/dreamweb/saveload.cpp
@@ -160,7 +160,7 @@ void DreamWebEngine::doLoad(int savegameId) {
 			// Wait till both mouse buttons are up. We should wait till the user
 			// releases the mouse button, otherwise the follow-up mouseup event
 			// will trigger a load of the save slot under the mouse cursor. Fixes
-			// bug #3582582.
+			// bug #6175.
 			while (_oldMouseState > 0) {
 				readMouse();
 				g_system->delayMillis(10);
@@ -253,7 +253,7 @@ void DreamWebEngine::saveGame() {
 		// Wait till both mouse buttons are up. We should wait till the user
 		// releases the mouse button, otherwise the follow-up mouseup event
 		// will trigger a save into the save slot under the mouse cursor. Fixes
-		// bug #3582582.
+		// bug #6175.
 		while (_oldMouseState > 0) {
 			readMouse();
 			g_system->delayMillis(10);
@@ -665,7 +665,7 @@ void DreamWebEngine::loadPosition(unsigned int slot) {
 
 
 	// Do a sanity check on exFrames data to detect exFrames corruption
-	// caused by a (now fixed) bug in emergencyPurge. See bug #3591088.
+	// caused by a (now fixed) bug in emergencyPurge. See bug #6196.
 	// Gather the location of frame data of all used ex object frames.
 	Common::List<FrameExtent> flist;
 	for (unsigned int i = 0; i < kNumexobjects; ++i) {
@@ -900,7 +900,7 @@ void DreamWebEngine::showOpBox() {
 	// This call displays half of the ops dialog in the CD version. It's not
 	// in the floppy version, and if it's called, a stray red dot is shown in
 	// the game dialogs. It is included in the early UK CD release, which had
-	// similar data files as the floppy release (bug #3528160).
+	// similar data files as the floppy release (bug #6039).
 	if (isCD() && getLanguage() != Common::EN_GRB)
 		showFrame(_saveGraphics, kOpsx, kOpsy + 55, 4, 0);
 }
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 096e4997dd..dcd14f4d9f 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -622,7 +622,7 @@ void Engine::openMainMenuDialog() {
 	// Load savegame after main menu execution
 	// (not from inside the menu loop to avoid
 	// mouse cursor glitches and similar bugs,
-	// e.g. #2822778).
+	// e.g. #4420).
 	if (_saveSlotToLoad >= 0) {
 		Common::Error status = loadGameState(_saveSlotToLoad);
 		if (status.getCode() != Common::kNoError) {
diff --git a/engines/engine.h b/engines/engine.h
index e250e3082d..af1704cdac 100644
--- a/engines/engine.h
+++ b/engines/engine.h
@@ -209,7 +209,7 @@ private:
 	 * Save slot selected via the global main menu.
 	 *
 	 * This slot will be loaded after the main menu execution (not from inside
-	 * the menu loop, to avoid bugs like #2822778).
+	 * the menu loop, to avoid bugs like #4420).
 	 */
 	int _saveSlotToLoad;
 
@@ -408,7 +408,7 @@ public:
 	 * main menu execution.
 	 *
 	 * This is to avoid loading a savegame from
-	 * inside the menu loop which causes bugs like #2822778.
+	 * inside the menu loop which causes bugs like #4420.
 	 *
 	 * @param slot	The slot from which a save state should be loaded.
 	 */
diff --git a/engines/gob/detection/tables_bargon.h b/engines/gob/detection/tables_bargon.h
index 429b7c85e3..9ac44b5639 100644
--- a/engines/gob/detection/tables_bargon.h
+++ b/engines/gob/detection/tables_bargon.h
@@ -41,7 +41,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by cesardark in bug #1681649
+{ // Supplied by cesardark in bug #3123
 	{
 		"bargon",
 		"",
@@ -55,7 +55,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by paul66 in bug #1692667
+{ // Supplied by paul66 in bug #3143
 	{
 		"bargon",
 		"",
@@ -69,7 +69,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by kizkoool in bugreport #2089734
+{ // Supplied by kizkoool in bugreport #3926
 	{
 		"bargon",
 		"",
@@ -83,7 +83,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by glorfindel in bugreport #1722142
+{ // Supplied by glorfindel in bugreport #3193
 	{
 		"bargon",
 		"Fanmade",
@@ -114,7 +114,7 @@
 
 // -- Amiga --
 
-{ // Supplied by pwigren in bugreport #1764174
+{ // Supplied by pwigren in bugreport #3355
 	{
 		"bargon",
 		"",
diff --git a/engines/gob/detection/tables_fascin.h b/engines/gob/detection/tables_fascin.h
index 92272e9852..499cd385e5 100644
--- a/engines/gob/detection/tables_fascin.h
+++ b/engines/gob/detection/tables_fascin.h
@@ -58,7 +58,7 @@
 
 // -- DOS VGA Floppy (3 disks) --
 
-{ // Supplied by alex86r in bug report #3297633
+{ // Supplied by alex86r in bug report #5691
 	{
 		"fascination",
 		"VGA 3 disks edition",
@@ -100,7 +100,7 @@
 	kFeaturesAdLib,
 	"intro.stk", 0, 0
 },
-{ // Supplied by windlepoons in bug report #2809247
+{ // Supplied by windlepoons in bug report #4371
 	{
 		"fascination",
 		"VGA 3 disks edition",
diff --git a/engines/gob/detection/tables_geisha.h b/engines/gob/detection/tables_geisha.h
index 01e2ec9ad0..3b5e0d8962 100644
--- a/engines/gob/detection/tables_geisha.h
+++ b/engines/gob/detection/tables_geisha.h
@@ -55,7 +55,7 @@
 	kFeaturesEGA | kFeaturesAdLib,
 	"disk1.stk", "intro.tot", 0
 },
-{ // Supplied by misterhands in bug report #3539797
+{ // Supplied by misterhands in bug report #6079
 	{
 		"geisha",
 		"",
@@ -69,7 +69,7 @@
 	kFeaturesEGA | kFeaturesAdLib,
 	"disk1.stk", "intro.tot", 0
 },
-{ // Supplied by einstein95 in bug report #3544449
+{ // Supplied by einstein95 in bug report #6102
 	{
 		"geisha",
 		"",
@@ -83,7 +83,7 @@
 	kFeaturesEGA | kFeaturesAdLib,
 	"disk1.stk", "intro.tot", 0
 },
-{ // Supplied by einstein95 in bug report #3544449
+{ // Supplied by einstein95 in bug report #6102
 	{
 		"geisha",
 		"",
@@ -97,7 +97,7 @@
 	kFeaturesEGA | kFeaturesAdLib,
 	"disk1.stk", "intro.tot", 0
 },
-{ // Supplied by alestedx in bug report #3610207
+{ // Supplied by alestedx in bug report #6269
 	{
 		"geisha",
 		"",
diff --git a/engines/gob/detection/tables_gob1.h b/engines/gob/detection/tables_gob1.h
index 42a27b86b7..2635c4dcbc 100644
--- a/engines/gob/detection/tables_gob1.h
+++ b/engines/gob/detection/tables_gob1.h
@@ -58,7 +58,7 @@
 
 // -- DOS VGA Floppy --
 
-{ // Supplied by Theruler76 in bug report #1201233
+{ // Supplied by Theruler76 in bug report #2024
 	{
 		"gob1",
 		"VGA",
@@ -72,7 +72,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by raziel_ in bug report #1891864
+{ // Supplied by raziel_ in bug report #3620
 	{
 		"gob1",
 		"VGA",
@@ -243,7 +243,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob1cd",
 		"v1.02",
@@ -257,7 +257,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob1cd",
 		"v1.02",
@@ -271,7 +271,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob1cd",
 		"v1.02",
@@ -285,7 +285,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob1cd",
 		"v1.02",
@@ -316,7 +316,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by paul66 in bug report #1652352
+{ // Supplied by paul66 in bug report #3045
 	{
 		"gob1",
 		"",
@@ -330,7 +330,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by paul66 in bug report #1652352
+{ // Supplied by paul66 in bug report #3045
 	{
 		"gob1",
 		"",
@@ -344,7 +344,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by paul66 in bug report #1652352
+{ // Supplied by paul66 in bug report #3045
 	{
 		"gob1",
 		"",
@@ -358,7 +358,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by paul66 in bug report #1652352
+{ // Supplied by paul66 in bug report #3045
 	{
 		"gob1",
 		"",
@@ -372,7 +372,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by paul66 in bug report #1652352
+{ // Supplied by paul66 in bug report #3045
 	{
 		"gob1",
 		"",
@@ -668,7 +668,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2785958
+{ // Supplied by goodoldgeorg in bug report #4324
 	{
 		"gob1",
 		"Interactive Demo",
diff --git a/engines/gob/detection/tables_gob2.h b/engines/gob/detection/tables_gob2.h
index 7c167593ca..af64c1c560 100644
--- a/engines/gob/detection/tables_gob2.h
+++ b/engines/gob/detection/tables_gob2.h
@@ -55,7 +55,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by raziel_ in bug report #1891867
+{ // Supplied by raziel_ in bug report #3621
 	{
 		"gob2",
 		"",
@@ -83,7 +83,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by blackwhiteeagle in bug report #1605235
+{ // Supplied by blackwhiteeagle in bug report #2934
 	{
 		"gob2",
 		"",
@@ -111,7 +111,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2602017
+{ // Supplied by goodoldgeorg in bug report #4163
 	{
 		"gob2",
 		"",
@@ -139,7 +139,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by arcepi in bug report #1659884
+{ // Supplied by arcepi in bug report #3060
 	{
 		"gob2",
 		"",
@@ -170,7 +170,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by pykman in bug report #3067489
+{ // Supplied by pykman in bug report #5365
 	{
 		"gob2cd",
 		"v2.01 Polish",
@@ -254,7 +254,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob2cd",
 		"v1.02",
@@ -268,7 +268,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob2cd",
 		"v1.02",
@@ -282,7 +282,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob2cd",
 		"v1.02",
@@ -296,7 +296,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob2cd",
 		"v1.02",
@@ -310,7 +310,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob2cd",
 		"v1.02",
@@ -466,7 +466,7 @@
 
 // -- Mac --
 
-{ // Supplied by fac76 in bug report #1673397
+{ // Supplied by fac76 in bug report #3108
 	{
 		"gob2",
 		"",
@@ -484,7 +484,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by koalet in bug report #2478585
+{ // Supplied by koalet in bug report #4064
 	{
 		"gob2",
 		"",
@@ -505,7 +505,7 @@
 
 // -- Amiga --
 
-{ // Supplied by fac76 in bug report #1883808
+{ // Supplied by fac76 in bug report #3608
 	{
 		"gob2",
 		"",
@@ -533,7 +533,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2602057
+{ // Supplied by goodoldgeorg in bug report #4164
 	{
 		"gob2",
 		"",
@@ -564,7 +564,7 @@
 
 // -- Atari ST --
 
-{ // Supplied by bgk in bug report #1706861
+{ // Supplied by bgk in bug report #3161
 	{
 		"gob2",
 		"",
@@ -623,7 +623,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by polluks in bug report #1895126
+{ // Supplied by polluks in bug report #3628
 	{
 		"gob2",
 		"Interactive Demo",
diff --git a/engines/gob/detection/tables_gob3.h b/engines/gob/detection/tables_gob3.h
index 0202a06a52..13662c4a04 100644
--- a/engines/gob/detection/tables_gob3.h
+++ b/engines/gob/detection/tables_gob3.h
@@ -55,7 +55,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by raziel_ in bug report #1891869
+{ // Supplied by raziel_ in bug report #3622
 	{
 		"gob3",
 		"",
@@ -83,7 +83,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by paul66 in bug report #1652352
+{ // Supplied by paul66 in bug report #3045
 	{
 		"gob3",
 		"",
@@ -153,7 +153,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by SiRoCs in bug report #2098621
+{ // Supplied by SiRoCs in bug report #3949
 	{
 		"gob3",
 		"",
@@ -295,7 +295,7 @@
 
 // -- Mac --
 
-{ // Supplied by fac76 in bug report #1742716
+{ // Supplied by fac76 in bug report #3272
 	{
 		"gob3",
 		"",
@@ -361,7 +361,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by pykman in bug report #3067489
+{ // Supplied by pykman in bug report #5365
 	{
 		"gob3cd",
 		"v1.02 Polish",
@@ -375,7 +375,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by paul66 and noizert in bug reports #1652352 and #1691230
+{ // Supplied by paul66 and noizert in bug reports #3045 and #3137
 	{
 		"gob3cd",
 		"v1.02",
@@ -389,7 +389,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by paul66 and noizert in bug reports #1652352 and #1691230
+{ // Supplied by paul66 and noizert in bug reports #3045 and #3137
 	{
 		"gob3cd",
 		"v1.02",
@@ -403,7 +403,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by paul66 and noizert in bug reports #1652352 and #1691230
+{ // Supplied by paul66 and noizert in bug reports #3045 and #3137
 	{
 		"gob3cd",
 		"v1.02",
@@ -417,7 +417,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by paul66 and noizert in bug reports #1652352 and #1691230
+{ // Supplied by paul66 and noizert in bug reports #3045 and #3137
 	{
 		"gob3cd",
 		"v1.02",
@@ -431,7 +431,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by paul66 and noizert in bug reports #1652352 and #1691230
+{ // Supplied by paul66 and noizert in bug reports #3045 and #3137
 	{
 		"gob3cd",
 		"v1.02",
@@ -445,7 +445,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob3cd",
 		"v1.02",
@@ -459,7 +459,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob3cd",
 		"v1.02",
@@ -473,7 +473,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob3cd",
 		"v1.02",
@@ -487,7 +487,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2810082
+{ // Supplied by goodoldgeorg in bug report #4375
 	{
 		"gob3cd",
 		"v1.02",
diff --git a/engines/gob/detection/tables_lit.h b/engines/gob/detection/tables_lit.h
index baf877bc56..7e7c295007 100644
--- a/engines/gob/detection/tables_lit.h
+++ b/engines/gob/detection/tables_lit.h
@@ -69,7 +69,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2105220
+{ // Supplied by goodoldgeorg in bug report #3960
 	{
 		"lit",
 		"",
@@ -167,7 +167,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by SiRoCs in bug report #2093672
+{ // Supplied by SiRoCs in bug report #3943
 	{
 		"lit",
 		"",
@@ -181,7 +181,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by SiRoCs in bug report #2093672
+{ // Supplied by SiRoCs in bug report #3943
 	{
 		"lit",
 		"",
@@ -195,7 +195,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by SiRoCs in bug report #2093672
+{ // Supplied by SiRoCs in bug report #3943
 	{
 		"lit",
 		"",
@@ -209,7 +209,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by SiRoCs in bug report #2093672
+{ // Supplied by SiRoCs in bug report #3943
 	{
 		"lit",
 		"",
@@ -223,7 +223,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by SiRoCs in bug report #2093672
+{ // Supplied by SiRoCs in bug report #3943
 	{
 		"lit",
 		"",
@@ -237,7 +237,7 @@
 	kFeaturesCD,
 	0, 0, 0
 },
-{ // Supplied by SiRoCs in bug report #2093672
+{ // Supplied by SiRoCs in bug report #3943
 	{
 		"lit",
 		"",
@@ -405,7 +405,7 @@
 
 // -- Mac (Part I and II) --
 
-{ // Supplied by koalet in bug report #2479034
+{ // Supplied by koalet in bug report #4066
 	{
 		"lit",
 		"",
diff --git a/engines/gob/detection/tables_playtoons.h b/engines/gob/detection/tables_playtoons.h
index aa56bb69f0..2ba88b64c1 100644
--- a/engines/gob/detection/tables_playtoons.h
+++ b/engines/gob/detection/tables_playtoons.h
@@ -357,7 +357,7 @@
 	kFeatures640x480,
 	"intro2.stk", 0, 0
 },
-{ //Supplied by goodoldgeorg in bug report #2820006
+{ //Supplied by goodoldgeorg in bug report #4390
 	{
 		"playtoons4",
 		"",
diff --git a/engines/gob/detection/tables_urban.h b/engines/gob/detection/tables_urban.h
index 78fc0893ae..0b5a9b57c0 100644
--- a/engines/gob/detection/tables_urban.h
+++ b/engines/gob/detection/tables_urban.h
@@ -41,7 +41,7 @@
 	kFeatures640x480 | kFeaturesTrueColor,
 	0, 0, 0
 },
-{ // Supplied by Collector9 in bug report #3228040
+{ // Supplied by Collector9 in bug report #5611
 	{
 		"urban",
 		"",
@@ -97,7 +97,7 @@
 	kFeatures640x480 | kFeaturesTrueColor,
 	0, 0, 0
 },
-{ // Supplied by alex86r in bug report #3297602
+{ // Supplied by alex86r in bug report #5690
 	{
 		"urban",
 		"",
@@ -111,7 +111,7 @@
 	kFeatures640x480 | kFeaturesTrueColor,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2770340
+{ // Supplied by goodoldgeorg in bug report #4308
 	{
 		"urban",
 		"",
diff --git a/engines/gob/detection/tables_ween.h b/engines/gob/detection/tables_ween.h
index c53da05305..836ec04d2c 100644
--- a/engines/gob/detection/tables_ween.h
+++ b/engines/gob/detection/tables_ween.h
@@ -55,7 +55,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by cybot_tmin in bug report #1667743
+{ // Supplied by cybot_tmin in bug report #3084
 	{
 		"ween",
 		"",
@@ -97,7 +97,7 @@
 	kFeaturesAdLib,
 	0, 0, 0
 },
-{ // Supplied by glorfindel in bugreport #1722142
+{ // Supplied by glorfindel in bugreport #3193
 	{
 		"ween",
 		"",
@@ -114,7 +114,7 @@
 
 // -- Amiga --
 
-{ // Supplied by vampir_raziel in bug report #1658373
+{ // Supplied by vampir_raziel in bug report #3055
 	{
 		"ween",
 		"",
@@ -129,7 +129,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by vampir_raziel in bug report #1658373
+{ // Supplied by vampir_raziel in bug report #3055
 	{
 		"ween",
 		"",
@@ -143,7 +143,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by vampir_raziel in bug report #1658373
+{ // Supplied by vampir_raziel in bug report #3055
 	{
 		"ween",
 		"",
@@ -157,7 +157,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by vampir_raziel in bug report #1658373
+{ // Supplied by vampir_raziel in bug report #3055
 	{
 		"ween",
 		"",
@@ -171,7 +171,7 @@
 	kFeaturesNone,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2563539
+{ // Supplied by goodoldgeorg in bug report #4139
 	{
 		"ween",
 		"",
@@ -189,7 +189,7 @@
 
 // -- Atari ST --
 
-{ // Supplied by pwigren in bug report #1764174
+{ // Supplied by pwigren in bug report #3355
 	{
 		"ween",
 		"",
diff --git a/engines/gob/detection/tables_woodruff.h b/engines/gob/detection/tables_woodruff.h
index 00ce5a4fa7..d7cb77fc16 100644
--- a/engines/gob/detection/tables_woodruff.h
+++ b/engines/gob/detection/tables_woodruff.h
@@ -265,7 +265,7 @@
 	kFeatures640x480,
 	0, 0, 0
 },
-{ // Supplied by DjDiabolik in bug report #1971294
+{ // Supplied by DjDiabolik in bug report #3737
 	{
 		"woodruff",
 		"",
@@ -279,7 +279,7 @@
 	kFeatures640x480,
 	0, 0, 0
 },
-{ // Supplied by DjDiabolik in bug report #1971294
+{ // Supplied by DjDiabolik in bug report #3737
 	{
 		"woodruff",
 		"",
@@ -293,7 +293,7 @@
 	kFeatures640x480,
 	0, 0, 0
 },
-{ // Supplied by DjDiabolik in bug report #1971294
+{ // Supplied by DjDiabolik in bug report #3737
 	{
 		"woodruff",
 		"",
@@ -307,7 +307,7 @@
 	kFeatures640x480,
 	0, 0, 0
 },
-{ // Supplied by DjDiabolik in bug report #1971294
+{ // Supplied by DjDiabolik in bug report #3737
 	{
 		"woodruff",
 		"",
@@ -321,7 +321,7 @@
 	kFeatures640x480,
 	0, 0, 0
 },
-{ // Supplied by DjDiabolik in bug report #1971294
+{ // Supplied by DjDiabolik in bug report #3737
 	{
 		"woodruff",
 		"",
@@ -335,7 +335,7 @@
 	kFeatures640x480,
 	0, 0, 0
 },
-{ // Supplied by goodoldgeorg in bug report #2098838
+{ // Supplied by goodoldgeorg in bug report #3950
 	{
 		"woodruff",
 		"",
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp
index f77b970e93..b189b1440b 100644
--- a/engines/gob/inter_v1.cpp
+++ b/engines/gob/inter_v1.cpp
@@ -830,7 +830,7 @@ void Inter_v1::o1_if(OpFuncParams &params) {
 	byte cmd;
 	bool boolRes;
 
-	// WORKAROUND: Gob1 goblin stuck on reload bugs present in original - bugs #3018918 and 3065914
+	// WORKAROUND: Gob1 goblin stuck on reload bugs present in original - bugs #4909 and 3065914
 	if ((_vm->getGameType() == kGameTypeGob1) && (_vm->_game->_script->pos() == 2933) &&
 			_vm->isCurrentTot("inter.tot") && VAR(285) != 0) {
 		warning("Workaround for Gob1 Goblin Stuck On Reload Bug applied...");
@@ -1208,7 +1208,7 @@ void Inter_v1::o1_keyFunc(OpFuncParams &params) {
 
 	handleBusyWait();
 
-	// WORKAROUND for bug #1726130: Ween busy-waits in the intro for a counter
+	// WORKAROUND for bug #3205: Ween busy-waits in the intro for a counter
 	// to become 5000. We deliberately slow down busy-waiting, so we shorten
 	// the counting, too.
 	if ((_vm->getGameType() == kGameTypeWeen) && (VAR(59) < 4000) &&
@@ -1373,7 +1373,7 @@ void Inter_v1::o1_goblinFunc(OpFuncParams &params) {
 	checking if it is zero. If it was not set, we do not return. This
 	fixes a crash in the EGA version if the life bar is depleted, because
 	interFunc is called multiple times with cmd == 39.
-	Bug #1324814
+	Bug #2246
 */
 
 	if ((cmd < 40) && objDescSet && !gobParams.objDesc)
diff --git a/engines/gob/inter_v3.cpp b/engines/gob/inter_v3.cpp
index fd729b85be..fcf0167afd 100644
--- a/engines/gob/inter_v3.cpp
+++ b/engines/gob/inter_v3.cpp
@@ -76,7 +76,7 @@ void Inter_v3::o3_speakerOn(OpFuncParams &params) {
 	// we have delay in certain places avoid 100% CPU all the time and
 	// our PC speaker emulator sometimes "swallows" very short beeper
 	// bursts issued in this way, this is in general quite wonky and
-	// prone to fail, as can be seen in bug report #3376547. Therefore,
+	// prone to fail, as can be seen in bug report #5808. Therefore,
 	// we explicitely set a length in this case and ignore the next
 	// speaker off command.
 	if (frequency == 50) {
diff --git a/engines/grim/imuse/imuse_track.cpp b/engines/grim/imuse/imuse_track.cpp
index c75641e215..617a3ff9f2 100644
--- a/engines/grim/imuse/imuse_track.cpp
+++ b/engines/grim/imuse/imuse_track.cpp
@@ -386,7 +386,7 @@ Track *Imuse::cloneToFadeOutTrack(Track *track, int fadeDelay) {
 	fadeTrack->trackId = track->trackId + MAX_IMUSE_TRACKS;
 
 	// Clone the sound.
-	// leaving bug number for now #1635361
+	// leaving bug number for now #3005
 	ImuseSndMgr::SoundDesc *soundDesc = _sound->cloneSound(track->soundDesc);
 	assert(soundDesc);
 	track->soundDesc = soundDesc;
diff --git a/engines/groovie/font.cpp b/engines/groovie/font.cpp
index 21a3bd07ae..624dafdf79 100644
--- a/engines/groovie/font.cpp
+++ b/engines/groovie/font.cpp
@@ -64,7 +64,7 @@ bool T7GFont::load(Common::SeekableReadStream &stream) {
 	_glyphs = new Glyph[numGlyphs];
 
 	// Ensure we're ready to read the first glyph. (Most versions don't
-	// need it, but the russian one does. This fixes bug #3095031.)
+	// need it, but the russian one does. This fixes bug #5481.)
 	stream.seek(glyphOffsets[0]);
 
 	// Read the glyphs
diff --git a/engines/groovie/script.cpp b/engines/groovie/script.cpp
index ede1951990..071e88350f 100644
--- a/engines/groovie/script.cpp
+++ b/engines/groovie/script.cpp
@@ -159,7 +159,7 @@ bool Script::loadScript(Common::String filename) {
 
 	// Patch the loaded code for known script bugs
 	if (filename.equals("dr.grv")) {
-		// WORKAROUND for the cake puzzle glitch (bug #2458322): Lowering the
+		// WORKAROUND for the cake puzzle glitch (bug #4050): Lowering the
 		// piece on the first column and second row updates the wrong script
 		// variable
 		assert(_codeSize == 5546);
diff --git a/engines/hopkins/detection_tables.h b/engines/hopkins/detection_tables.h
index b4335426a0..1360c801fc 100644
--- a/engines/hopkins/detection_tables.h
+++ b/engines/hopkins/detection_tables.h
@@ -88,7 +88,7 @@ static const HopkinsGameDescription gameDescriptions[] = {
 		},
 	},
 	{
-		// Hopkins FBI Win95 RU, provided by greencis in bug #3613068
+		// Hopkins FBI Win95 RU, provided by greencis in bug #6324
 		{
 			"hopkins",
 			0,
diff --git a/engines/kyra/detection_tables.h b/engines/kyra/detection_tables.h
index cc8502c8e7..9cf965e55e 100644
--- a/engines/kyra/detection_tables.h
+++ b/engines/kyra/detection_tables.h
@@ -380,7 +380,7 @@ const KYRAGameDescription adGameDescs[] = {
 		KYRA1_CD_FLAGS
 	},
 
-	{ // italian fan translation see fr#1727941 "KYRA: add Italian CD Version to kyra.dat"
+	{ // italian fan translation see bug #7567 "KYRA: add Italian CD Version to kyra.dat"
 		{
 			"kyra1",
 			"CD",
@@ -406,7 +406,7 @@ const KYRAGameDescription adGameDescs[] = {
 		KYRA1_CD_FLAGS
 	},
 
-	{ // Kyra 1 Mac CD as mentioned in fr #2766454 "KYRA1: Add support for Macintosh CD" by nnooiissee
+	{ // Kyra 1 Mac CD as mentioned in bug #7695 "KYRA1: Add support for Macintosh CD" by nnooiissee
 		{
 			"kyra1",
 			"CD",
@@ -663,7 +663,7 @@ const KYRAGameDescription adGameDescs[] = {
 		KYRA2_CD_FLAGS
 	},
 
-	// Italian fan translation, see fr#2003504 "KYRA: add support for Italian version of Kyrandia 2&3"
+	// Italian fan translation, see bug #7642 "KYRA: add support for Italian version of Kyrandia 2&3"
 	{ // CD version
 		{
 			"kyra2",
@@ -994,7 +994,7 @@ const KYRAGameDescription adGameDescs[] = {
 		KYRA3_CD_INS_FLAGS
 	},
 
-	// Spanish fan translation, see fr#1994040 "KYRA3: Add support for Spanish fan translation"
+	// Spanish fan translation, see bug #7637 "KYRA3: Add support for Spanish fan translation"
 	{
 		{
 			"kyra3",
@@ -1035,7 +1035,7 @@ const KYRAGameDescription adGameDescs[] = {
 		KYRA3_CD_FAN_FLAGS(Common::ES_ESP, Common::EN_ANY)
 	},
 
-	// Italian fan translation, see fr#2003504 "KYRA: add support for Italian version of Kyrandia 2&3"
+	// Italian fan translation, see bug #7642 "KYRA: add support for Italian version of Kyrandia 2&3"
 	{
 		{
 			"kyra3",
@@ -1389,7 +1389,7 @@ const KYRAGameDescription adGameDescs[] = {
 		LOL_FLOPPY_CMP_FLAGS
 	},
 
-	{ // French floppy version 1.20, bug #3552534 "KYRA: LOL Floppy FR version unknown"
+	{ // French floppy version 1.20, bug #6111 "KYRA: LOL Floppy FR version unknown"
 		{
 			"lol",
 			0,
@@ -1458,7 +1458,7 @@ const KYRAGameDescription adGameDescs[] = {
 		LOL_FLOPPY_FLAGS
 	},
 
-	{ // French floppy version 1.20, bug #3608967 "Lands of Lore - french version 1.20 MD5"
+	{ // French floppy version 1.20, bug #6264 "Lands of Lore - french version 1.20 MD5"
 		{
 			"lol",
 			"Extracted",
@@ -1472,7 +1472,7 @@ const KYRAGameDescription adGameDescs[] = {
 		LOL_FLOPPY_FLAGS
 	},
 
-	{ // French floppy version 1.23, bug #3552534 "KYRA: LOL Floppy FR version unknown"
+	{ // French floppy version 1.23, bug #6111 "KYRA: LOL Floppy FR version unknown"
 		{
 			"lol",
 			"Extracted",
diff --git a/engines/kyra/engine/darkmoon.cpp b/engines/kyra/engine/darkmoon.cpp
index 2b8f6b7afb..87e0ca79a5 100644
--- a/engines/kyra/engine/darkmoon.cpp
+++ b/engines/kyra/engine/darkmoon.cpp
@@ -430,7 +430,7 @@ void DarkMoonEngine::replaceMonster(int unit, uint16 block, int pos, int dir, in
 		if (_monsters[i].flags & 0x40)
 			continue;
 
-		// WORKAROUND for bug #3611077 (Dran's dragon transformation sequence triggered prematurely):
+		// WORKAROUND for bug #6277 (Dran's dragon transformation sequence triggered prematurely):
 		// The boss level and the mindflayer level share the same monster data. If you hang around
 		// long enough in the mindflayer level all 30 monster slots will be used up. When this
 		// happens it will trigger the dragon transformation sequence when Dran is moved around by script.
@@ -459,7 +459,7 @@ void DarkMoonEngine::replaceMonster(int unit, uint16 block, int pos, int dir, in
 }
 
 bool DarkMoonEngine::killMonsterExtra(EoBMonsterInPlay *m) {
-	// WORKAROUND for bug #3611077 (see DarkMoonEngine::replaceMonster())
+	// WORKAROUND for bug #6277 (see DarkMoonEngine::replaceMonster())
 	// The mindflayers have monster type 0, just like Dran. Using a monster slot occupied by a mindflayer would trigger the dragon transformation
 	// sequence when all 30 monster slots are used up. We avoid this by checking for m->sub == 1.
 	if (_currentLevel == 16 && _currentSub == 1 && m->sub == 1 && (_monsterProps[m->type].capsFlags & 4)) {
diff --git a/engines/kyra/engine/scene_eob.cpp b/engines/kyra/engine/scene_eob.cpp
index db3871bccd..e307d8dc9a 100644
--- a/engines/kyra/engine/scene_eob.cpp
+++ b/engines/kyra/engine/scene_eob.cpp
@@ -92,7 +92,7 @@ void EoBCoreEngine::loadLevel(int level, int sub) {
 		pos += 2;
 	}
 
-	// WORKAROUND for bug #3596547 (EOB1: Door Buttons Don't Work)
+	// WORKAROUND for bug #6211 (EOB1: Door Buttons Don't Work)
 	if (_flags.gameID == GI_EOB1 && level == 7 && _levelBlockProperties[0x035C].assignedObjects == 0x0E89)
 		_levelBlockProperties[0x035C].assignedObjects = 0x0E8D;
 
diff --git a/engines/kyra/gui/saveload_lok.cpp b/engines/kyra/gui/saveload_lok.cpp
index 493fcd029d..685deefeac 100644
--- a/engines/kyra/gui/saveload_lok.cpp
+++ b/engines/kyra/gui/saveload_lok.cpp
@@ -205,7 +205,7 @@ Common::Error KyraEngine_LoK::loadGameState(int slot) {
 	// We need to reset the "_noDrawShapesFlag" flag of Animator_LoK
 	// over here. Else in certain cases restoring an savegame might
 	// result in no shapes being drawn at all. See bug report
-	// #2868581 "KYRA1: Invisible Brandon" for an example of this.
+	// #4625 "KYRA1: Invisible Brandon" for an example of this.
 	_animator->_noDrawShapesFlag = 0;
 
 	enterNewScene(_currentCharacter->sceneId, _currentCharacter->facing, 0, 0, 1);
diff --git a/engines/kyra/resource/staticres.cpp b/engines/kyra/resource/staticres.cpp
index a6c1bdc0ee..4da557a2b1 100644
--- a/engines/kyra/resource/staticres.cpp
+++ b/engines/kyra/resource/staticres.cpp
@@ -817,7 +817,7 @@ void KyraEngine_LoK::initStaticResource() {
 	const int32 *cdaTable = (const int32 *)_staticres->loadRawData(k1TownsCDATable, cdaTableSize);
 
 	// FIXME: It seems Kyra1 MAC CD includes AdLib and MIDI music and sfx, thus we enable
-	// support for those for now. (Based on patch #2767489 "Support for Mac Kyrandia 1 CD" by satz).
+	// support for those for now. (Based on ticket #9008 "Support for Mac Kyrandia 1 CD" by satz).
 	if (_flags.platform == Common::kPlatformDOS || _flags.platform == Common::kPlatformMacintosh) {
 		SoundResourceInfo_PC resInfoIntro(soundFilesIntro, soundFilesIntroSize);
 		SoundResourceInfo_PC resInfoIngame(soundFiles, soundFilesSize);
diff --git a/engines/kyra/script/script_hof.cpp b/engines/kyra/script/script_hof.cpp
index 51bc962602..802a9f4603 100644
--- a/engines/kyra/script/script_hof.cpp
+++ b/engines/kyra/script/script_hof.cpp
@@ -892,16 +892,16 @@ int KyraEngine_HoF::o2_updateSceneAnim(EMCState *script) {
 	//
 	// We know currently of some different animations where this happens.
 	// - Where Marco is dangling from the flesh-eating plant (see bug
-	//   #1923638 "HoF: Marco missing animation frames").
+	//   #3667 "HoF: Marco missing animation frames").
 	// - After giving the ticket to the captain. He would move very fast
 	//   (barely noticeable) onto the ship without this delay.
 	// - The scene after giving the sandwitch to the guards in the city.
-	//   (see bug #1926838 "HoF: Animation plays too fast")
+	//   (see bug #3671 "HoF: Animation plays too fast")
 	//   This scene script calls o2_delay though, but since this updates
 	//   the scene animation scripts again there is no delay for the
 	//   animation.
 	// - When the sheriff enters the jail, either to lock you up or to throw
-	//   away the key. (see bug #1926838 "HoF: Animation plays too fast").
+	//   away the key. (see bug #3671 "HoF: Animation plays too fast").
 
 	if ((stackPos(0) == 2 && _mainCharacter.sceneId == 3) ||
 			(stackPos(0) == 3 && _mainCharacter.sceneId == 33) ||
diff --git a/engines/kyra/script/script_lok.cpp b/engines/kyra/script/script_lok.cpp
index da90c48fcc..7b40b74882 100644
--- a/engines/kyra/script/script_lok.cpp
+++ b/engines/kyra/script/script_lok.cpp
@@ -731,7 +731,7 @@ int KyraEngine_LoK::o1_displayWSASequentialFrames(EMCState *script) {
 	if (maxTime - 1 <= 0)
 		maxTime = 1;
 
-	// WORKAROUND for bug #1498221 "KYRA1: Glitches when meeting Zanthia".
+	// WORKAROUND for bug #2645 "KYRA1: Glitches when meeting Zanthia".
 	// The original did not do a forced screen update after displaying a WSA
 	// frame while we have to do it, which makes Brandon disappear for a short
 	// moment. That is not supposed to happen. So we're not updating the
@@ -1070,7 +1070,7 @@ int KyraEngine_LoK::o1_setLogicPage(EMCState *script) {
 int KyraEngine_LoK::o1_fatPrint(EMCState *script) {
 	debugC(3, kDebugLevelScriptFuncs, "KyraEngine_LoK::o1_fatPrint(%p) ('%s', %d, %d, %d, %d, %d)", (const void *)script, stackPosString(0), stackPos(1), stackPos(2), stackPos(3), stackPos(4), stackPos(5));
 
-	// Workaround for bug #1582672 ("KYRA1: Text crippled and drawn wrong")
+	// Workaround for bug #2878 ("KYRA1: Text crippled and drawn wrong")
 	// I'm not sure how the original handles this, since it seems to call
 	// printText also, maybe it fails somewhere inside...
 	// TODO: fix the reason for this workaround
@@ -1118,7 +1118,7 @@ int KyraEngine_LoK::o1_bkgdScrollSceneAndMasksRight(EMCState *script) {
 	_screen->copyBackgroundBlock2(stackPos(0));
 	// update the whole screen
 	_screen->copyRegion(7, 7, 7, 7, 305, 129, 3, 0);
-	// Don't do a screen update here, see bug #1910180 "KYRA1: Screen 'flash'"
+	// Don't do a screen update here, see bug #3650 "KYRA1: Screen 'flash'"
 	// it would cause to draw the screen with a wrong palette and thus look
 	// strange for the user. Since this opcode should be just called on scene
 	// initialization anyway, there should be no problem with not updating the
diff --git a/engines/kyra/sound/sound.cpp b/engines/kyra/sound/sound.cpp
index f89f7f550d..11396be24c 100644
--- a/engines/kyra/sound/sound.cpp
+++ b/engines/kyra/sound/sound.cpp
@@ -118,7 +118,7 @@ bool Sound::playVoiceStream(Audio::AudioStream *stream, Audio::SoundHandle *hand
 		// When we run out of handles we need to destroy the stream object,
 		// this is to avoid memory leaks in some scenes where too many sfx
 		// are started.
-		// See bug #3427240 "LOL-CD: Memory leak in caves level 3".
+		// See bug #5886 "LOL-CD: Memory leak in caves level 3".
 		delete stream;
 		return false;
 	}
diff --git a/engines/made/detection_tables.h b/engines/made/detection_tables.h
index 2bbdfa973f..fe7027e0f0 100644
--- a/engines/made/detection_tables.h
+++ b/engines/made/detection_tables.h
@@ -35,7 +35,7 @@ static const MadeGameDescription gameDescriptions[] = {
 		// directly, which is the "official" way.
 
 		// Return to Zork - English CD version 1.0 9/15/93 (installed)
-		// Patch #1953654 submitted by spookypeanut
+		// Ticket #8858 submitted by spookypeanut
 		{
 			"rtz",
 			"V1.0, 9/15/93, installed, CD",
@@ -53,7 +53,7 @@ static const MadeGameDescription gameDescriptions[] = {
 
 	{
 		// Return to Zork - English CD version 1.0 9/15/93
-		// Patch #1953654 submitted by spookypeanut
+		// Ticket #8858 submitted by spookypeanut
 		{
 			"rtz",
 			"V1.0, 9/15/93, CD",
@@ -197,7 +197,7 @@ static const MadeGameDescription gameDescriptions[] = {
 
 	{
 		// Return to Zork - Italian CD version 1.2 3/31/95 (installed)
-		// Patch #2685032 submitted by goodoldgeorg
+		// Patch #4225 submitted by goodoldgeorg
 		{
 			"rtz",
 			"V1.2, 3/31/95, installed, CD",
@@ -215,7 +215,7 @@ static const MadeGameDescription gameDescriptions[] = {
 
 	{
 		// Return to Zork - Italian CD version 1.2 3/31/95
-		// Patch #2685032 submitted by goodoldgeorg
+		// Patch #4225 submitted by goodoldgeorg
 		{
 			"rtz",
 			"V1.2, 3/31/95, CD",
@@ -233,7 +233,7 @@ static const MadeGameDescription gameDescriptions[] = {
 
 	{
 		// Return to Zork - French CD version 1.2 5/13/95 (installed)
-		// Patch #2685032 submitted by goodoldgeorg
+		// Patch #4225 submitted by goodoldgeorg
 		{
 			"rtz",
 			"V1.2, 5/13/95, installed, CD",
@@ -251,7 +251,7 @@ static const MadeGameDescription gameDescriptions[] = {
 
 	{
 		// Return to Zork - French CD version 1.2 5/13/95
-		// Patch #2685032 submitted by goodoldgeorg
+		// Patch #4225 submitted by goodoldgeorg
 		{
 			"rtz",
 			"V1.2, 3/31/95, CD",
@@ -450,7 +450,7 @@ static const MadeGameDescription gameDescriptions[] = {
 
 	{
 		// Leather Goddesses of Phobos 2 (German)
-		// Supplied by windlepoons (bug tracker #2675695)
+		// Supplied by windlepoons (bug tracker #4218)
 		{
 			"lgop2",
 			"",
@@ -468,7 +468,7 @@ static const MadeGameDescription gameDescriptions[] = {
 
 	{
 		// Leather Goddesses of Phobos 2 (French)
-		// Supplied by goodoldgeorg (bug tracker #2675759)
+		// Supplied by goodoldgeorg (bug tracker #4219)
 		{
 			"lgop2",
 			"",
@@ -486,7 +486,7 @@ static const MadeGameDescription gameDescriptions[] = {
 
 	{
 		// Leather Goddesses of Phobos 2 (Spanish)
-		// Supplied by goodoldgeorg (bug tracker #2675759)
+		// Supplied by goodoldgeorg (bug tracker #4219)
 		{
 			"lgop2",
 			"",
diff --git a/engines/mohawk/detection_tables.h b/engines/mohawk/detection_tables.h
index 8e47846e0c..238e75e914 100644
--- a/engines/mohawk/detection_tables.h
+++ b/engines/mohawk/detection_tables.h
@@ -741,7 +741,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"harryhh",
@@ -757,7 +757,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"harryhh",
@@ -773,7 +773,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"harryhh",
@@ -807,7 +807,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 	},
 
 	// part of "Super Living Books" compilation
-	// from rgemini, bug #3309343
+	// from rgemini, bug #5726
 	{
 		{
 			"harryhh",
@@ -853,7 +853,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug #3309306
+	// From afholman in bug #5723
 	{
 		{
 			"lbsampler",
@@ -1022,7 +1022,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 	},
 
 	// part of "Super Living Books" compilation
-	// from rgemini, bug #3309343
+	// from rgemini, bug #5726
 	{
 		{
 			"tortoise",
@@ -1038,7 +1038,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"TORTOISE.EXE"
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"tortoise",
@@ -1054,7 +1054,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From Torsten in bug#3422652
+	// From Torsten in bug#5876
 	{
 		{
 			"tortoise",
@@ -1070,7 +1070,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// Tortoise and the Hare Hebrew variant - From georgeqgreg on bug #3441928
+	// Tortoise and the Hare Hebrew variant - From georgeqgreg on bug #5904
 	{
 		{
 			"tortoise",
@@ -1086,7 +1086,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"tortoise",
@@ -1102,7 +1102,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From Torsten in bug#3422652
+	// From Torsten in bug#5876
 	{
 		{
 			"tortoise",
@@ -1118,7 +1118,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"tortoise",
@@ -1134,7 +1134,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From Torsten in bug#3422652
+	// From Torsten in bug#5876
 	{
 		{
 			"tortoise",
@@ -1196,7 +1196,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"TORTOISE.EXE"
 	},
 
-	// From Scarlatti in bug #3275626
+	// From Scarlatti in bug #5636
 	{
 		{
 			"tortoise",
@@ -1243,7 +1243,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 	},
 
 	// part of "Super Living Books" compilation
-	// from rgemini, bug #3309343
+	// from rgemini, bug #5726
 	{
 		{
 			"arthur",
@@ -1259,7 +1259,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"ARTHUR.EXE"
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"arthur",
@@ -1275,7 +1275,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"Arthur's Teacher Trouble"
 	},
 
-	// From darthbo in bug#3301791
+	// From darthbo in bug#5699
 	{
 		{
 			"arthur",
@@ -1321,7 +1321,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"ARTHUR.EXE"
 	},
 
-	// From Scarlatti in bug #3275626
+	// From Scarlatti in bug #5636
 	{
 		{
 			"arthur",
@@ -1402,7 +1402,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 	},
 
 	// Just Grandma and Me 2.0 Macintosh
-	// From aluff in bug #3461368
+	// From aluff in bug #5926
 	{
 		{
 			"grandma",
@@ -1452,7 +1452,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 	},
 
 	// Just Grandma and Me 1.1 Mac
-	// From eisnerguy1 in bug#3610725
+	// From eisnerguy1 in bug#6274
 	{
 		{
 			"grandma",
@@ -1468,7 +1468,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// from jjnryan in bug #3389857
+	// from jjnryan in bug #5827
 	{
 		{
 			"grandma",
@@ -1484,7 +1484,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"GRANDMA.EXE"
 	},
 
-	// From Torsten in bug#3422652
+	// From Torsten in bug#5876
 	{
 		{
 			"grandma",
@@ -1500,7 +1500,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From Torsten in bug#3422652
+	// From Torsten in bug#5876
 	{
 		{
 			"grandma",
@@ -1516,7 +1516,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From Torsten in bug#3422652
+	// From Torsten in bug#5876
 	{
 		{
 			"grandma",
@@ -1562,7 +1562,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"GRANDMA.EXE"
 	},
 
-	// From Scarlatti in bug #3275626
+	// From Scarlatti in bug #5636
 	{
 		{
 			"grandma",
@@ -1641,7 +1641,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"RUFF.EXE"
 	},
 
-	// From aluff in bug#3307785
+	// From aluff in bug#5715
 	{
 		{
 			"ruff",
@@ -1672,7 +1672,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"RUFF.EXE"
 	},
 
-	// From Scarlatti in bug #3275626
+	// From Scarlatti in bug #5636
 	{
 		{
 			"ruff",
@@ -1703,7 +1703,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"Living Books Player"
 	},
 
-	// From aluff in bug#3309981
+	// From aluff in bug#5731
 	{
 		{
 			"newkid",
@@ -1720,7 +1720,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 	},
 
 	// part of "Super Living Books" compilation
-	// from rgemini, bug #3309343
+	// from rgemini, bug #5726
 	{
 		{
 			"newkid",
@@ -1736,7 +1736,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"NEWKID.EXE"
 	},
 
-	// From aluff in bug#3309981
+	// From aluff in bug#5731
 	{
 		{
 			"newkid",
@@ -1782,7 +1782,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"NEWKID.EXE"
 	},
 
-	// From Scarlatti in bug #3275626
+	// From Scarlatti in bug #5636
 	{
 		{
 			"newkid",
@@ -1859,7 +1859,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From zerep in bug #3287894
+	// From zerep in bug #5647
 	{
 		{
 			"arthurbday",
@@ -1891,7 +1891,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"BIRTHDAY.EXE"
 	},
 
-	// From aluff in bug#3309936
+	// From aluff in bug#5729
 	{
 		{
 			"arthurbday",
@@ -1924,7 +1924,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From Torsten in bug#3422652
+	// From Torsten in bug#5876
 	{
 		{
 			"arthurbday",
@@ -1940,7 +1940,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From Torsten in bug#3422652
+	// From Torsten in bug#5876
 	{
 		{
 			"arthurbday",
@@ -1956,7 +1956,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0,
 	},
 
-	// From Torsten in bug#3422652
+	// From Torsten in bug#5876
 	{
 		{
 			"arthurbday",
@@ -1973,7 +1973,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 	},
 
 	// Arthur Birthday (English) Version 2.0 Windows(R) August 8, 1997
-	// From jacecen in bug #3413119
+	// From jacecen in bug #5847
 	{
 		{
 			"arthurbday",
@@ -1990,7 +1990,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 	},
 
 	// Arthur Birthday (English) Version 2.0 Macintosh
-	// From aluff in bug #3461368
+	// From aluff in bug #5926
 	{
 		{
 			"arthurbday",
@@ -2021,7 +2021,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"BIRTHDAY.EXE"
 	},
 
-	// From Scarlatti in bug #3275626
+	// From Scarlatti in bug #5636
 	{
 		{
 			"arthurbday",
@@ -2082,7 +2082,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"Little Monster at School"
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"lilmonster",
@@ -2098,7 +2098,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"lilmonster",
@@ -2114,7 +2114,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"lilmonster",
@@ -2130,7 +2130,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"lilmonster",
@@ -2162,7 +2162,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"lilmonster",
@@ -2178,7 +2178,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"lilmonster",
@@ -2194,7 +2194,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From Scarlatti in bug #3275626
+	// From Scarlatti in bug #5636
 	{
 		{
 			"lilmonster",
@@ -2429,7 +2429,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 	},
 
 	// The Berenstain Bears Get in a Fight (English and Spanish) Version 1.0 1995
-	// From jacecen in bug #3413119
+	// From jacecen in bug #5847
 	{
 		{
 			"bearfight",
@@ -2460,7 +2460,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		"Bears Get in a Fight"
 	},
 
-	// From bkennimer in bug #3284930
+	// From bkennimer in bug #5645
 	{
 		{
 			"beardark",
@@ -2476,7 +2476,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From bkennimer in bug #3284930
+	// From bkennimer in bug #5645
 	// 32-bit version of the previous entry
 	{
 		{
@@ -2493,7 +2493,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From bkennimer in bug #3284930
+	// From bkennimer in bug #5645
 	{
 		{
 			"beardark",
@@ -2509,7 +2509,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From aluff in bug #3461368
+	// From aluff in bug #5926
 	{
 		{
 			"beardark",
@@ -2589,7 +2589,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From aluff in bug#3306722
+	// From aluff in bug#5711
 	{
 		{
 			"stellaluna",
@@ -2605,7 +2605,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From aluff in bug#3306722
+	// From aluff in bug#5711
 	{
 		{
 			"stellaluna",
@@ -2638,7 +2638,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From aluff in bug#3309934
+	// From aluff in bug#5728
 	{
 		{
 			"sheila",
@@ -2654,7 +2654,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"sheila",
@@ -2670,7 +2670,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"sheila",
@@ -2686,7 +2686,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"sheila",
@@ -2702,7 +2702,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"sheila",
@@ -2718,7 +2718,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"sheila",
@@ -2734,7 +2734,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 		0
 	},
 
-	// From afholman in bug#3309308
+	// From afholman in bug#5724
 	{
 		{
 			"sheila",
diff --git a/engines/obsolete.cpp b/engines/obsolete.cpp
index 40fe8323f1..73b33336f4 100644
--- a/engines/obsolete.cpp
+++ b/engines/obsolete.cpp
@@ -43,7 +43,7 @@ void upgradeTargetIfNecessary(const ObsoleteGameID *obsoleteList) {
 
 			warning("Target upgraded from %s to %s", o->from, o->to);
 
-			// WORKAROUND: Fix for bug #1719463: "DETECTOR: Launching
+			// WORKAROUND: Fix for bug #3192: "DETECTOR: Launching
 			// undefined target adds launcher entry"
 			if (ConfMan.hasKey("id_came_from_command_line")) {
 				warning("Target came from command line. Skipping save");
diff --git a/engines/parallaction/callables_ns.cpp b/engines/parallaction/callables_ns.cpp
index 280cccd15f..66e3fd6fd9 100644
--- a/engines/parallaction/callables_ns.cpp
+++ b/engines/parallaction/callables_ns.cpp
@@ -327,7 +327,7 @@ void Parallaction_ns::_c_endComment(void *param) {
 		button. If the input is reconciled with the main
 		loop then the command sequence must be suspended
 		to avoid executing QUIT before this actual
-		routine gets a chance to be run. See bug #2619824
+		routine gets a chance to be run. See bug #4184
 		for a similar situation.
 	*/
 
@@ -454,7 +454,7 @@ void Parallaction_ns::_c_endIntro(void *parm) {
 		// NOTE: suspend command execution queue, to
 		// avoid running the QUIT command before
 		// credits are displayed. This solves bug
-		// #2619824.
+		// #4184.
 		// Execution of the command list will resume
 		// as soon as runGameFrame is run.
 		_cmdExec->suspend();
diff --git a/engines/parallaction/exec_br.cpp b/engines/parallaction/exec_br.cpp
index a81b05dc87..0fd2ed37ab 100644
--- a/engines/parallaction/exec_br.cpp
+++ b/engines/parallaction/exec_br.cpp
@@ -335,7 +335,7 @@ DECLARE_COMMAND_OPCODE(clear) {
 
 DECLARE_COMMAND_OPCODE(speak) {
 	// WORKAROUND: this avoids crashing when the zone is not parsed, like in the case
-	// of script bug in ticket #2718449.
+	// of script bug in ticket #4251.
 	if (!ctxt._cmd->_zone) {
 		return;
 	}
@@ -532,7 +532,7 @@ DECLARE_INSTRUCTION_OPCODE(stop) {
 	ZonePtr z = ctxt._inst->_z;
 
 	// Prevent execution if zone is missing. The known case is "PART2/insegui.scr", which has
-	// "STOP insegui", which doesn't exist (see ticket #3021744 for the gory details)
+	// "STOP insegui", which doesn't exist (see ticket #9193 for the gory details)
 	if (!z) return;
 
 	if (ACTIONTYPE(z) == kZoneHear) {
diff --git a/engines/parallaction/parallaction_ns.cpp b/engines/parallaction/parallaction_ns.cpp
index c08c1d393c..25e5778393 100644
--- a/engines/parallaction/parallaction_ns.cpp
+++ b/engines/parallaction/parallaction_ns.cpp
@@ -404,7 +404,7 @@ void Parallaction_ns::changeLocation() {
 	_gfx->setBlackPalette();
 	_gfx->updateScreen();
 
-	// BUG #1837503: kEngineChangeLocation flag must be cleared *before* commands
+	// BUG #3459: kEngineChangeLocation flag must be cleared *before* commands
 	// and acommands are executed, so that it can be set again if needed.
 	g_engineFlags &= ~kEngineChangeLocation;
 
@@ -485,7 +485,7 @@ void Parallaction_ns::changeCharacter(const char *name) {
 		}
 
 		// The original engine used to reload 'common' only on loadgames. We are reloading here since 'common'
-		// contains character specific stuff. This causes crashes like bug #1816899, because parseLocation tries
+		// contains character specific stuff. This causes crashes like bug #3440, because parseLocation tries
 		// to reload scripts but the data archive selected is occasionally wrong. This has been solved by having
 		// parseLocation only load scripts when they aren't already loaded - which it should have done since the
 		// beginning nevertheless.
diff --git a/engines/parallaction/parser_ns.cpp b/engines/parallaction/parser_ns.cpp
index 622682651a..d6717d0adb 100644
--- a/engines/parallaction/parser_ns.cpp
+++ b/engines/parallaction/parser_ns.cpp
@@ -1335,7 +1335,7 @@ void LocationParser_ns::parseGetData(ZonePtr z) {
 		obj->y = z->getY();
 		obj->_prog = _zoneProg;
 
-		// WORKAROUND for script bug #2969913
+		// WORKAROUND for script bug #4816
 		// The katana object has the same default z index (kGfxObjGetZ or -100)
 		// as the cripta object (the safe) - a script bug.
 		// Game scripts do not set an explicit z for the katana (as it isn't an
diff --git a/engines/queen/command.cpp b/engines/queen/command.cpp
index 48b3c581a3..affd10723d 100644
--- a/engines/queen/command.cpp
+++ b/engines/queen/command.cpp
@@ -236,7 +236,7 @@ void Command::executeCurrentAction() {
 
 		comId = matchingCmds[i - 1];
 
-		// WORKAROUND bug #1497280: This command is triggered in room 56 (the
+		// WORKAROUND bug #2636: This command is triggered in room 56 (the
 		// room with two waterfalls in the maze part of the game) if the user
 		// tries to walk through the left waterfall (object 423).
 		//
@@ -363,7 +363,7 @@ void Command::readCommandsFrom(byte *&ptr) {
 		for (i = 1; i <= _numCmdObject; i++) {
 			_cmdObject[i].readFromBE(ptr);
 
-			// WORKAROUND bug #1858081: Fix an off by one error in the object
+			// WORKAROUND bug #3536: Fix an off by one error in the object
 			// command 175. Object 309 should be copied to 308 (disabled).
 			//
 			// _objectData[307].name = -195
diff --git a/engines/queen/grid.cpp b/engines/queen/grid.cpp
index 01a3716376..956128caab 100644
--- a/engines/queen/grid.cpp
+++ b/engines/queen/grid.cpp
@@ -138,7 +138,7 @@ void Grid::setupNewRoom(uint16 room, uint16 firstRoomObjNum) {
 		if (_vm->logic()->objectData(i)->name != 0) {
 			if (room == 41 && i == 303) {
 
-				// WORKAROUND bug #1599009: In the room 41, the bounding box of the
+				// WORKAROUND bug #2913: In the room 41, the bounding box of the
 				// stairs (object 303) doesn't match with the room picture. With the
 				// original box dimensions, Joe could walk "above" the stairs, giving
 				// the impression of floating in the air.
diff --git a/engines/queen/sound.cpp b/engines/queen/sound.cpp
index 0b3c57a452..ecf8f6cfa3 100644
--- a/engines/queen/sound.cpp
+++ b/engines/queen/sound.cpp
@@ -309,7 +309,7 @@ void PCSound::playSound(const char *base, bool isSpeech) {
 
 void SBSound::playSoundData(Common::File *f, uint32 size, Audio::SoundHandle *soundHandle) {
 	// In order to simplify the code, we don't parse the .sb header but hard-code the
-	// values. Refer to tracker item #1876741 for details on the format/fields.
+	// values. Refer to tracker item #3590 for details on the format/fields.
 	int headerSize;
 	f->seek(2, SEEK_CUR);
 	uint16 version = f->readUint16LE();
diff --git a/engines/saga/actor.cpp b/engines/saga/actor.cpp
index 602ee6e194..866e806430 100644
--- a/engines/saga/actor.cpp
+++ b/engines/saga/actor.cpp
@@ -1061,7 +1061,7 @@ void Actor::drawActors() {
 	}
 
 	// WORKAROUND
-	// Bug #2928923: 'ITE: Graphic Glitches during racoon death "Cut Scene"'
+	// Bug #4746: 'ITE: Graphic Glitches during racoon death "Cut Scene"'
 	if (_vm->_anim->hasCutaway()  || _vm->_scene->currentSceneNumber() == 287 || _vm->_scene->currentSceneNumber() == 286) {
 		drawSpeech();
 		return;
diff --git a/engines/saga/actor_path.cpp b/engines/saga/actor_path.cpp
index 7cf834ded1..db268389cd 100644
--- a/engines/saga/actor_path.cpp
+++ b/engines/saga/actor_path.cpp
@@ -100,7 +100,7 @@ void Actor::findActorPath(ActorData *actor, const Point &fromPoint, const Point
 	_debugPointsCount = 0;
 #endif
 
-	// WORKAROUND for bug #3360396. Path finding in IHNM is a bit buggy
+	// WORKAROUND for bug #5793. Path finding in IHNM is a bit buggy
 	// compared to the original, which occasionally leads to the player
 	// leaving the room instead of interacting with an object. So far, no
 	// one has figured out how to fix this properly. As a temporary [*]
diff --git a/engines/saga/actor_walk.cpp b/engines/saga/actor_walk.cpp
index c640bb854a..1d34bdd27a 100644
--- a/engines/saga/actor_walk.cpp
+++ b/engines/saga/actor_walk.cpp
@@ -232,7 +232,7 @@ void Actor::updateActorsScene(int actorsEntrance) {
 			_protagonist->_location.y = sceneEntry->location.y * ACTOR_LMULT;
 			_protagonist->_location.z = sceneEntry->location.z * ACTOR_LMULT;
 		}
-		// Workaround for bug #1328045:
+		// Workaround for bug #2264:
 		// "When entering any of the houses at the start of the
 		// game if you click on anything inside the building you
 		// start walking through the door, turn around and leave."
@@ -1166,7 +1166,7 @@ void Actor::moveDragon(ActorData *actor) {
 		dir0 = actor->_actionDirection;
 		dir1 = actor->_tileDirections[actor->_walkStepIndex++];
 		dir2 = actor->_tileDirections[actor->_walkStepIndex];
-		// Fix for Bug #3324850 ("ITE (SAGA): crash in dog sewers")
+		// Fix for Bug #5767 ("ITE (SAGA): crash in dog sewers")
 		// If there were more than two steps left, get the third (next) step.
 		// Otherwise, store the second step again so the anim looks right.
 		// (If you stop the move instead, Rif isn't automatically knocked into
diff --git a/engines/saga/events.cpp b/engines/saga/events.cpp
index fbe91bd826..a9eff1184e 100644
--- a/engines/saga/events.cpp
+++ b/engines/saga/events.cpp
@@ -620,7 +620,7 @@ void Events::clearList(bool playQueuedMusic) {
 		if (!(eventi->front().code & kEvFNoDestory)) {
 			// Handle queued music change events before deleting them
 			// This can happen in IHNM by music events set by sfQueueMusic()
-			// Fixes bug #2057987 - "IHNM: Music stops in Ellen's chapter"
+			// Fixes bug #3880 - "IHNM: Music stops in Ellen's chapter"
 			if (playQueuedMusic && ((eventi->front().code & EVENT_MASK) == kMusicEvent)) {
 				_vm->_music->stop();
 				if (eventi->front().op == kEventPlay)
diff --git a/engines/saga/font.cpp b/engines/saga/font.cpp
index 4f4c193a5d..48dc619ff8 100644
--- a/engines/saga/font.cpp
+++ b/engines/saga/font.cpp
@@ -453,7 +453,7 @@ void DefaultFont::outFont(const FontStyle &drawFont, const char *text, size_t co
 			// It seems that this font mapping causes problems with non-english
 			// versions of IHNM, so it has been changed to apply for ITE only.
 			// It doesn't make any difference for the English version of IHNM.
-			// Fixes bug #1796045: "IHNM: Spanish font wrong".
+			// Fixes bug #3405: "IHNM: Spanish font wrong".
 			if (!(flags & kFontDontmap) && _vm->getGameId() == GID_ITE) {
 				if (_vm->getLanguage() != Common::IT_ITA) {
 					c_code = translateChar(c_code);
diff --git a/engines/saga/gfx.cpp b/engines/saga/gfx.cpp
index baef59af4e..269519f027 100644
--- a/engines/saga/gfx.cpp
+++ b/engines/saga/gfx.cpp
@@ -216,7 +216,7 @@ void Gfx::setPalette(const PalEntry *pal, bool full) {
 	if (_vm->getGameId() == GID_IHNM)
 		memset(&_currentPal[0 * 3], 0, 3);
 
-	// Make 256th color black. See bug #1256368
+	// Make 256th color black. See bug #2120
 	if ((_vm->getPlatform() == Common::kPlatformMacintosh) && !_vm->_scene->isInIntro())
 		memset(&_currentPal[255 * 3], 0, 3);
 
@@ -320,7 +320,7 @@ void Gfx::palToBlack(PalEntry *srcPal, double percent) {
 	if (_vm->getGameId() == GID_IHNM)
 		memset(&_currentPal[0 * 3], 0, 3);
 
-	// Make 256th color black. See bug #1256368
+	// Make 256th color black. See bug #2120
 	if ((_vm->getPlatform() == Common::kPlatformMacintosh) && !_vm->_scene->isInIntro())
 		memset(&_currentPal[255 * 3], 0, 3);
 
@@ -386,7 +386,7 @@ void Gfx::blackToPal(PalEntry *srcPal, double percent) {
 	if (_vm->getGameId() == GID_IHNM)
 		memset(&_currentPal[0 * 3], 0, 3);
 
-	// Make 256th color black. See bug #1256368
+	// Make 256th color black. See bug #2120
 	if ((_vm->getPlatform() == Common::kPlatformMacintosh) && !_vm->_scene->isInIntro())
 		memset(&_currentPal[255 * 3], 0, 3);
 
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp
index 4855b533f3..2e2b5eeea3 100644
--- a/engines/saga/interface.cpp
+++ b/engines/saga/interface.cpp
@@ -1901,7 +1901,7 @@ void Interface::drawStatusBar() {
 	int stringWidth;
 	int color;
 	// The default colors in the Spanish version of IHNM are shifted by one
-	// Fixes bug #1848016 - "IHNM: Wrong Subtitles Color (Spanish)". This
+	// Fixes bug #3498 - "IHNM: Wrong Subtitles Color (Spanish)". This
 	// also applies to the German and French versions (bug #7064 - "IHNM:
 	// text mistake in german version").
 	int offset = (_vm->getFeatures() & GF_IHNM_COLOR_FIX) ? 1 : 0;
diff --git a/engines/saga/objectmap.cpp b/engines/saga/objectmap.cpp
index ad5167209c..cd4ae6a911 100644
--- a/engines/saga/objectmap.cpp
+++ b/engines/saga/objectmap.cpp
@@ -60,7 +60,7 @@ void HitZone::load(SagaEngine *vm, Common::MemoryReadStreamEndian *readStream, i
 			j->x = readStream->readSint16();
 			j->y = readStream->readSint16();
 
-			// WORKAROUND: bug #1259608: "ITE: Riff ignores command in Ferret merchant center"
+			// WORKAROUND: bug #2154: "ITE: Riff ignores command in Ferret merchant center"
 			// Apparently ITE Mac version has bug in game data. Both ObjectMap and ActionMap
 			// for exit area are little taller (y = 123) and thus Riff goes to exit
 			// when clicked on barrel of nails.
diff --git a/engines/saga/palanim.cpp b/engines/saga/palanim.cpp
index b5178a3d75..d46ecf3e1b 100644
--- a/engines/saga/palanim.cpp
+++ b/engines/saga/palanim.cpp
@@ -125,7 +125,7 @@ void PalAnim::cycleStep(int vectortime) {
 	}
 
 	// Don't cycle the palette when the map is open
-	// Fixes bug #1900258 - "ITE: Glitch when looking at the map while at the docks"
+	// Fixes bug #3636 - "ITE: Glitch when looking at the map while at the docks"
 	if (_vm->_interface->getMode() != kPanelMap)
 		_vm->_gfx->setPalette(pal);
 
diff --git a/engines/saga/render.cpp b/engines/saga/render.cpp
index eb345aa98e..adfefe95f5 100644
--- a/engines/saga/render.cpp
+++ b/engines/saga/render.cpp
@@ -113,7 +113,7 @@ void Render::drawScene() {
 			}
 
 			// WORKAROUND
-			// Bug #2886130: "ITE: Graphic Glitches during Cat Tribe Celebration"
+			// Bug #4684: "ITE: Graphic Glitches during Cat Tribe Celebration"
 			if (_vm->_scene->currentSceneNumber() == 274) {
 				_vm->_interface->drawStatusBar();
 			}
diff --git a/engines/saga/saga.cpp b/engines/saga/saga.cpp
index 4905cfcd2c..96369fd809 100644
--- a/engines/saga/saga.cpp
+++ b/engines/saga/saga.cpp
@@ -420,7 +420,7 @@ void SagaEngine::loadStrings(StringsTable &stringsTable, const ByteArray &string
 		// In some rooms in IHNM, string offsets can be greater than the maximum value than a 16-bit integer can hold
 		// We detect this by checking the previous offset, and if it was bigger than the current one, an overflow
 		// occurred (since the string offsets are sequential), so we're adding the missing part of the number
-		// Fixes bug #1895205 - "IHNM: end game text/caption error"
+		// Fixes bug #3629 - "IHNM: end game text/caption error"
 		if (prevOffset > offset)
 			offset += 65536;
 		prevOffset = offset;
@@ -595,7 +595,7 @@ ColorId SagaEngine::KnownColor2ColorId(KnownColor knownColor) {
 #ifdef ENABLE_IHNM
 	} else if (getGameId() == GID_IHNM) {
 		// The default colors in the Spanish, version of IHNM are shifted by one
-		// Fixes bug #1848016 - "IHNM: Wrong Subtitles Color (Spanish)". This
+		// Fixes bug #3498 - "IHNM: Wrong Subtitles Color (Spanish)". This
 		// also applies to the German and French versions (bug #7064 - "IHNM:
 		// text mistake in german version").
 		int offset = (getFeatures() & GF_IHNM_COLOR_FIX) ? 1 : 0;
diff --git a/engines/saga/scene.cpp b/engines/saga/scene.cpp
index 496cdef18f..b9a0f765aa 100644
--- a/engines/saga/scene.cpp
+++ b/engines/saga/scene.cpp
@@ -1131,7 +1131,7 @@ void Scene::endScene() {
 	_vm->_script->abortAllThreads();
 	_vm->_script->_skipSpeeches = false;
 
-	// WORKAROUND: Bug #2886151: "ITE: Mouse stops responding at Boar Castle"
+	// WORKAROUND: Bug #4689: "ITE: Mouse stops responding at Boar Castle"
 	// This is bug in original engine
 	if (_sceneNumber == 50) {
 		_vm->_interface->activate();
diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp
index 8ad6e1484f..8a99c490cb 100644
--- a/engines/saga/script.cpp
+++ b/engines/saga/script.cpp
@@ -945,7 +945,7 @@ void Script::opSpeak(SCRIPTOP_PARAMS) {
 	}
 
 #ifdef ENABLE_IHNM
-	// WORKAROUND for script bug #3358007 in IHNM. When the zeppelin is landing
+	// WORKAROUND for script bug #5788 in IHNM. When the zeppelin is landing
 	// and the player attempts to exit from the right door in room 13, the game
 	// scripts change to scene 5, but do not clear the cutaway that appears
 	// before Gorrister's speech starts, resulting in a deadlock. We do this
@@ -1397,7 +1397,7 @@ void Script::doVerb() {
 	// Edna" action altogether, because if the player wants to kill Edna, he can do that by talking to her and
 	// choosing "[Cut out Edna's heart]", which works correctly. To disable this action, if the knife is used on Edna, we
 	// change the action here to "use knife with the knife", which yields a better reply ("I'd just dull my knife").
-	// Fixes bug #1826871 - "IHNM: Edna's got two hearts but loves to be on the hook"
+	// Fixes bug #3449 - "IHNM: Edna's got two hearts but loves to be on the hook"
 	if (_vm->getGameId() == GID_IHNM && _pendingObject[0] == 16385 && _pendingObject[1] == 8197 && _pendingVerb == 4)
 		_pendingObject[1] = 16385;
 
@@ -1573,7 +1573,7 @@ void Script::playfieldClick(const Point& mousePoint, bool leftButton) {
 		if (hitZone->getFlags() & kHitZoneProject) {
 			if (!hitZone->getSpecialPoint(specialPoint)) {
 				// Original behaved this way and this prevents from crash
-				// at ruins. See bug #1257459
+				// at ruins. See bug #2134
 				specialPoint.x = specialPoint.y = 0;
 			}
 
diff --git a/engines/saga/sfuncs.cpp b/engines/saga/sfuncs.cpp
index 32005601bf..ecbe49582e 100644
--- a/engines/saga/sfuncs.cpp
+++ b/engines/saga/sfuncs.cpp
@@ -164,8 +164,8 @@ void Script::sfTakeObject(SCRIPTFUNC_PARAMS) {
 		// Normally, when objects are picked up, they should always have the same
 		// _spriteListResourceId as their _index value. Some don't in IHNM, so
 		// we fix their sprite here
-		// Fixes bugs #2057200 - "IHNM: Invisible inventory objects",
-		// #1861126 - "IHNM: Crash when Gorrister cuts sheet in the mooring ring"
+		// Fixes bugs #3873 - "IHNM: Invisible inventory objects",
+		// #3540 - "IHNM: Crash when Gorrister cuts sheet in the mooring ring"
 		// and some incorrect objects in the IHNM demo
 		if (_vm->getGameId() == GID_IHNM)
 			obj->_spriteListResourceId = obj->_index;
@@ -266,7 +266,7 @@ void Script::sfScriptDoAction(SCRIPTFUNC_PARAMS) {
 	// If the player uses an object and then immediately reuses that object
 	// (without it being shown in the verb area), the object returned is wrong (0),
 	// so we make it equal to the second object here.
-	// Fixes bug #1861863 - "ITE: Crash when using Eeah with Eeah"
+	// Fixes bug #3545 - "ITE: Crash when using Eeah with Eeah"
 	if (theObject == 0 && objectId == 0 && withObject > 0)
 		theObject = objectId = withObject;
 
diff --git a/engines/saga/sndres.cpp b/engines/saga/sndres.cpp
index ab4468edde..f9cff2b19b 100644
--- a/engines/saga/sndres.cpp
+++ b/engines/saga/sndres.cpp
@@ -307,7 +307,7 @@ bool SndRes::load(ResourceContext *context, uint32 resourceId, SoundBuffer &buff
 		// In ITE CD German, some voices are absent and contain just 5 zero bytes.
 		// Round down to an even number when the audio is 16-bit so makeRawStream
 		// will accept the data (needs to be an even size for 16-bit data).
-		// See bug #1256701
+		// See bug #2123
 
 		if ((soundResourceLength & 1) && (rawFlags & Audio::FLAG_16BITS))
 			soundResourceLength &= ~1;
diff --git a/engines/saga/sound.cpp b/engines/saga/sound.cpp
index f4e31542fe..cbf0caf195 100644
--- a/engines/saga/sound.cpp
+++ b/engines/saga/sound.cpp
@@ -71,7 +71,7 @@ void Sound::playSoundBuffer(Audio::SoundHandle *handle, const SoundBuffer &buffe
 void Sound::playSound(SoundBuffer &buffer, int volume, bool loop, int resId) {
 	// WORKAROUND
 	// Prevent playing same looped sound for several times
-	// Fixes bug #2886141: "ITE: Cumulative Snoring sounds in Prince's Bedroom"
+	// Fixes bug #4686: "ITE: Cumulative Snoring sounds in Prince's Bedroom"
 	for (int i = 0; i < SOUND_HANDLES; i++)
 		if (_handles[i].type == kEffectHandle && _handles[i].resId == resId) {
 			debug(1, "Skipped playing SFX #%d", resId);
diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp
index 06d47b09f8..fe05297df8 100644
--- a/engines/scumm/actor.cpp
+++ b/engines/scumm/actor.cpp
@@ -383,7 +383,7 @@ void Actor::setBox(int box) {
 }
 
 void Actor_v3::setupActorScale() {
-	// WORKAROUND bug #1463598: Under certain circumstances, it is possible
+	// WORKAROUND bug #2556: Under certain circumstances, it is possible
 	// for Henry Sr. to reach the front side of Castle Brunwald (following
 	// Indy there). But it seems the game has no small costume for Henry,
 	// hence he is shown as a giant, triple in size compared to Indy.
@@ -2061,11 +2061,11 @@ void ScummEngine::processActors() {
 	// 'optimization' wouldn't yield a useful gain anyway.
 	//
 	// In particular, changing this loop caused a number of bugs in the
-	// past, including bugs #758167, #775097, and #1093867.
+	// past, including bugs #758167, #775097, and #1864.
 	//
 	// Note that Sam & Max uses a stable sorting method. Older games don't
 	// and, according to cyx, neither do newer ones. At least not FT and
-	// COMI. See bug #1220168 for more details.
+	// COMI. See bug #2064 for more details.
 
 	if (_game.id == GID_SAMNMAX) {
 		for (int j = 0; j < numactors; ++j) {
@@ -2634,7 +2634,7 @@ void ScummEngine::setActorRedrawFlags() {
 	int i, j;
 
 	// Redraw all actors if a full redraw was requested.
-	// Also redraw all actors in COMI (see bug #1066329 for details).
+	// Also redraw all actors in COMI (see bug #1825 for details).
 	if (_fullRedraw || _game.version == 8 || (VAR_REDRAW_ALL_ACTORS != 0xFF && VAR(VAR_REDRAW_ALL_ACTORS) != 0)) {
 		for (j = 1; j < _numActors; j++) {
 			_actors[j]->_needRedraw = true;
diff --git a/engines/scumm/boxes.cpp b/engines/scumm/boxes.cpp
index b5caec3c4f..812a9eb41e 100644
--- a/engines/scumm/boxes.cpp
+++ b/engines/scumm/boxes.cpp
@@ -516,7 +516,7 @@ bool ScummEngine::checkXYInBoxBounds(int boxnum, int x, int y) {
 	// Since this method is called by many other methods that take params
 	// from e.g. script opcodes, but do not validate the boxnum, we
 	// make a check here to filter out invalid boxes.
-	// See also bug #1599113.
+	// See also bug #2914.
 	if (boxnum < 0 || boxnum == Actor::kInvalidBox)
 		return false;
 
@@ -1254,7 +1254,7 @@ void Actor_v3::findPathTowardsOld(byte box1, byte box2, byte finalBox, Common::P
 	// next box (box2) = final box?
 	if (box2 == finalBox) {
 		// In Indy3, the masks (= z-level) have to match, too -- needed for the
-		// 'maze' in the zeppelin (see bug #1032964).
+		// 'maze' in the zeppelin (see bug #1778).
 		if (_vm->_game.id != GID_INDY3 || _vm->getMaskFromBox(box1) == _vm->getMaskFromBox(box2)) {
 			// Is the actor (x,y) between both gates?
 			if (compareSlope(_pos, _walkdata.dest, gateA[0]) !=
diff --git a/engines/scumm/charset.cpp b/engines/scumm/charset.cpp
index 3f97ec6192..173213539b 100644
--- a/engines/scumm/charset.cpp
+++ b/engines/scumm/charset.cpp
@@ -836,9 +836,9 @@ void CharsetRendererPCE::setColor(byte color) {
 #endif
 
 void CharsetRendererV3::printChar(int chr, bool ignoreCharsetMask) {
-	// WORKAROUND for bug #1509509: Indy3 Mac does not show black
+	// WORKAROUND for bug #2703: Indy3 Mac does not show black
 	// characters (such as in the grail diary) if ignoreCharsetMask
-	// is true. See also patch #1851568.
+	// is true. See also bug #8759.
 	if (_vm->_game.id == GID_INDY3 && _vm->_game.platform == Common::kPlatformMacintosh && _color == 0)
 		ignoreCharsetMask = false;
 
diff --git a/engines/scumm/costume.cpp b/engines/scumm/costume.cpp
index 7eab3c2ba3..23c2359c99 100644
--- a/engines/scumm/costume.cpp
+++ b/engines/scumm/costume.cpp
@@ -133,7 +133,7 @@ byte ClassicCostumeRenderer::mainRoutine(int xmoveCur, int ymoveCur) {
 		// It's possible that the scale indexes will overflow and wrap
 		// around to zero, so it's important that we use the same
 		// method of accessing it both when calculating the size of the
-		// scaled costume, and when drawing it. See bug #1519667.
+		// scaled costume, and when drawing it. See bug #2729.
 
 		if (_mirror) {
 			/* Adjust X position */
diff --git a/engines/scumm/cursor.cpp b/engines/scumm/cursor.cpp
index 1eec04bdb0..21ffc2ae7f 100644
--- a/engines/scumm/cursor.cpp
+++ b/engines/scumm/cursor.cpp
@@ -425,7 +425,7 @@ void ScummEngine_v5::redefineBuiltinCursorFromChar(int index, int chr) {
 		s.init(_charset->getCharWidth(chr), _charset->getFontHeight(),
 		       _charset->getCharWidth(chr), buf,
 		       Graphics::PixelFormat::createFormatCLUT8());
-		// s.h = 17 for FM-TOWNS Loom Japanese. Fixes bug #1166917
+		// s.h = 17 for FM-TOWNS Loom Japanese. Fixes bug #1964
 		assert(s.w <= 16 && s.h <= 17);
 
 		_charset->drawChar(chr, s, 0, 0);
diff --git a/engines/scumm/detection_internal.h b/engines/scumm/detection_internal.h
index 356487bff8..5452ec37de 100644
--- a/engines/scumm/detection_internal.h
+++ b/engines/scumm/detection_internal.h
@@ -398,7 +398,7 @@ static void detectGames(const Common::FSList &fslist, Common::List<DetectorResul
 	DescMap fileMD5Map;
 	DetectorResult dr;
 
-	// Dive one level down since mac indy3/loom have their files split into directories. See Bug #1438631.
+	// Dive one level down since mac indy3/loom have their files split into directories. See Bug #2507.
 	// Dive two levels down for Mac Steam games.
 	composeFileHashMap(fileMD5Map, fslist, 3, directoryGlobs);
 
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index 86d58679ff..9cc1b8548b 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -306,7 +306,7 @@ void GdiV1::roomChanged(byte *roomptr) {
 	decodeV1Gfx(roomptr + READ_LE_UINT16(roomptr + 16), _V1.maskMap, roomptr[4] * roomptr[5]);
 
 	// Read the mask data. The 16bit length value seems to always be 8 too big.
-	// See bug #1837375 for details on this.
+	// See bug #3458 for details on this.
 	const byte *maskPtr = roomptr + READ_LE_UINT16(roomptr + 18);
 	decodeV1Gfx(maskPtr + 2, _V1.maskChar, READ_LE_UINT16(maskPtr) - 8);
 	_objectMode = true;
@@ -1318,7 +1318,7 @@ void ScummEngine::drawBox(int x, int y, int x2, int y2, int color) {
 	width = x2 - x;
 	height = y2 - y;
 
-	// This will happen in the Sam & Max intro - see bug #1039162 - where
+	// This will happen in the Sam & Max intro - see bug #1797 - where
 	// it would trigger an assertion in blit().
 
 	if (width <= 0 || height <= 0)
@@ -3752,7 +3752,7 @@ void GdiHE16bit::writeRoomColor(byte *dst, byte color) const {
 #endif
 
 void Gdi::writeRoomColor(byte *dst, byte color) const {
-	// As described in bug #1294513 "FOA/Amiga: Palette problem (Regression)"
+	// As described in bug #2204 "FOA/Amiga: Palette problem (Regression)"
 	// the original AMIGA version of Indy4: The Fate of Atlantis allowed
 	// overflowing of the palette index. To have the same result in our code,
 	// we need to do an logical AND 0xFF here to keep the result in [0, 255].
diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp
index 61d24b67f7..2d46c37e2c 100644
--- a/engines/scumm/imuse/imuse.cpp
+++ b/engines/scumm/imuse/imuse.cpp
@@ -949,7 +949,7 @@ int32 IMuseInternal::doCommand_internal(int numargs, int a[]) {
 			player->setDetune(a[2]);
 			return 0;
 		case 6:
-			// WORKAROUND for bug #1324106. When playing the
+			// WORKAROUND for bug #2242. When playing the
 			// "flourishes" as Rapp's body appears from his ashes,
 			// MI2 sets up triggers to pause the music, in case the
 			// animation plays too slowly, and then the music is
diff --git a/engines/scumm/imuse/imuse_part.cpp b/engines/scumm/imuse/imuse_part.cpp
index 1495e869a7..c3c37dbcb7 100644
--- a/engines/scumm/imuse/imuse_part.cpp
+++ b/engines/scumm/imuse/imuse_part.cpp
@@ -424,7 +424,7 @@ void Part::sendPanPosition(uint8 value) {
 	if (!_mc)
 		return;
 
-	// As described in bug report #1088045 "MI2: Minor problems in native MT-32 mode"
+	// As described in bug report #1849 "MI2: Minor problems in native MT-32 mode"
 	// the original iMuse MT-32 driver did revert the panning. So we do the same
 	// here in our code to have correctly panned sound output.
 	if (_player->_se->isNativeMT32())
@@ -437,7 +437,7 @@ void Part::sendEffectLevel(uint8 value) {
 	if (!_mc)
 		return;
 
-	// As described in bug report #1088045 "MI2: Minor problems in native MT-32 mode"
+	// As described in bug report #1849 "MI2: Minor problems in native MT-32 mode"
 	// for the MT-32 one has to use a sysEx event to change the effect level (rather
 	// the reverb setting).
 	if (_player->_se->isNativeMT32()) {
diff --git a/engines/scumm/imuse/imuse_player.cpp b/engines/scumm/imuse/imuse_player.cpp
index 5e5c6ae351..a449335afe 100644
--- a/engines/scumm/imuse/imuse_player.cpp
+++ b/engines/scumm/imuse/imuse_player.cpp
@@ -390,7 +390,7 @@ void Player::sysEx(const byte *p, uint16 len) {
 		} else {
 			// SysEx manufacturer 0x97 has been spotted in the
 			// Monkey Island 2 AdLib music, so don't make this a
-			// fatal error. See bug #1481383.
+			// fatal error. See bug #2595.
 			// The Macintosh version of Monkey Island 2 simply
 			// ignores these SysEx events too.
 			if (a == 0)
diff --git a/engines/scumm/imuse/sysex_scumm.cpp b/engines/scumm/imuse/sysex_scumm.cpp
index d2bf857b7a..0fc54cdcca 100644
--- a/engines/scumm/imuse/sysex_scumm.cpp
+++ b/engines/scumm/imuse/sysex_scumm.cpp
@@ -54,14 +54,14 @@ void sysexHandler_Scumm(Player *player, const byte *msg, uint16 len) {
 		// Here is what we know about them so far:
 		//   BYTE 0: Channel #
 		//   BYTE 1: BIT 01(0x01): Part on?(1 = yes)
-		//            BIT 02(0x02): Reverb? (1 = yes) [bug #1088045]
+		//            BIT 02(0x02): Reverb? (1 = yes) [bug #1849]
 		//   BYTE 2: Priority adjustment
 		//   BYTE 3: Volume [guessing]
-		//   BYTE 4: Pan [bug #1088045]
+		//   BYTE 4: Pan [bug #1849]
 		//   BYTE 5: BIT 8(0x80): Percussion?(1 = yes) [guessed?]
 		//   BYTE 5: Transpose, if set to 0x80(=-1) it means no transpose
 		//   BYTE 6: Detune
-		//   BYTE 7: Pitchbend factor [bug #1088045]
+		//   BYTE 7: Pitchbend factor [bug #1849]
 		//   BYTE 8: Program
 
 		part = player->getPart(p[0] & 0x0F);
diff --git a/engines/scumm/imuse_digi/dimuse_music.cpp b/engines/scumm/imuse_digi/dimuse_music.cpp
index 9a20d2fe0a..1984c9b6f7 100644
--- a/engines/scumm/imuse_digi/dimuse_music.cpp
+++ b/engines/scumm/imuse_digi/dimuse_music.cpp
@@ -201,7 +201,7 @@ void IMuseDigital::playDigMusic(const char *songName, const imuseDigTable *table
 void IMuseDigital::setComiMusicState(int stateId) {
 	int l, num = -1;
 
-	if (stateId == 4) // look into #1881415 bug, ignore stateId == 4 it's seems needed after all
+	if (stateId == 4) // look into #3604 bug, ignore stateId == 4 it's seems needed after all
 		return;
 
 	if (stateId == 0)
diff --git a/engines/scumm/imuse_digi/dimuse_script.cpp b/engines/scumm/imuse_digi/dimuse_script.cpp
index 77078fa8bf..231295ed40 100644
--- a/engines/scumm/imuse_digi/dimuse_script.cpp
+++ b/engines/scumm/imuse_digi/dimuse_script.cpp
@@ -194,7 +194,7 @@ void IMuseDigital::refreshScripts() {
 			fadeOutMusic(60);
 			return;
 		}
-		// small delay, it seems help for fix bug #1757010
+		// small delay, it seems help for fix bug #3325
 		if (_stopingSequence++ > 120) {
 			debug(5, "refreshScripts() Force restore music state");
 			parseScriptCmds(0x1001, 0, 0, 0, 0, 0, 0, 0);
diff --git a/engines/scumm/imuse_digi/dimuse_track.cpp b/engines/scumm/imuse_digi/dimuse_track.cpp
index f81adc2caa..e571fffa69 100644
--- a/engines/scumm/imuse_digi/dimuse_track.cpp
+++ b/engines/scumm/imuse_digi/dimuse_track.cpp
@@ -427,7 +427,7 @@ Track *IMuseDigital::cloneToFadeOutTrack(Track *track, int fadeDelay) {
 	fadeTrack->trackId = track->trackId + MAX_DIGITAL_TRACKS;
 
 	// Clone the sound.
-	// leaving bug number for now #1635361
+	// leaving bug number for now #3005
 	ImuseDigiSndMgr::SoundDesc *soundDesc = _sound->cloneSound(track->soundDesc);
 	if (!soundDesc) {
 		// it fail load open old song after switch to different CDs
diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp
index 98068b62ab..bee589d889 100644
--- a/engines/scumm/input.cpp
+++ b/engines/scumm/input.cpp
@@ -161,7 +161,7 @@ void ScummEngine::parseEvent(Common::Event event) {
 			// On most (all?) keyboards it is safe to assume that
 			// both upper and lower letters are unpressed on keyup event
 			//
-			// Fixes bug #1709430: "FT: CAPSLOCK + V enables cheating for all fights"
+			// Fixes bug #3173: "FT: CAPSLOCK + V enables cheating for all fights"
 			//
 			// Fingolfin remarks: This wouldn't be a problem if we used keycodes.
 			_keyDownMap[toupper(event.kbd.ascii)] = false;
@@ -200,7 +200,7 @@ void ScummEngine::parseEvent(Common::Event event) {
 
 	// The following two cases enable dialog choices to be scrolled
 	// through in the SegaCD version of MI. Values are taken from script-14.
-	// See bug report #1193185 for details.
+	// See bug report #2013 for details.
 	case Common::EVENT_WHEELDOWN:
 		if (_game.id == GID_MONKEY && _game.platform == Common::kPlatformSegaCD)
 			_keyPressed = Common::KeyState(Common::KEYCODE_7, 55);	// '7'
@@ -628,7 +628,7 @@ void ScummEngine::processKeyboard(Common::KeyState lastKeyHit) {
 		          lastKeyHit.keycode <= Common::KEYCODE_LEFT) {
 			if (_game.id == GID_MONKEY && _game.platform == Common::kPlatformSegaCD) {
 				// Map arrow keys to number keys in the SEGA version of MI to support
-				// scrolling to conversation choices. See bug report #1193185 for details.
+				// scrolling to conversation choices. See bug report #2013 for details.
 				_mouseAndKeyboardStat = lastKeyHit.keycode - Common::KEYCODE_UP + 54;
 			} else if (_game.id == GID_LOOM && _game.platform == Common::kPlatformPCEngine) {
 				// Map arrow keys to number keys in the PCEngine version of Loom to support
diff --git a/engines/scumm/midiparser_ro.cpp b/engines/scumm/midiparser_ro.cpp
index a829a87c98..600b2ea7b4 100644
--- a/engines/scumm/midiparser_ro.cpp
+++ b/engines/scumm/midiparser_ro.cpp
@@ -73,7 +73,7 @@ void MidiParser_RO::parseNextEvent (EventInfo &info) {
 				// to determine, only used in one single song
 				// in EGA Loom. It seems to be meant for adding
 				// values greater than 255 to info.delta. See
-				// bug #1498785.
+				// bug #2650.
 				info.delta += 256;
 			}
 			continue;
diff --git a/engines/scumm/object.cpp b/engines/scumm/object.cpp
index b373a0a9f4..f83e4a29ff 100644
--- a/engines/scumm/object.cpp
+++ b/engines/scumm/object.cpp
@@ -106,7 +106,7 @@ void ScummEngine::setOwnerOf(int obj, int owner) {
 
 	int arg = (_game.version >= 6) ? obj : 0;
 
-	// WORKAROUND for bug #1917981: Game crash when finishing Indy3 demo.
+	// WORKAROUND for bug #3657: Game crash when finishing Indy3 demo.
 	// Script 94 tries to empty the inventory but does so in a bogus way.
 	// This causes it to try to remove object 0 from the inventory.
 	if (_game.id == GID_PASS && obj == 0 && vm.slot[_currentScript].number == 94)
@@ -126,7 +126,7 @@ void ScummEngine::setOwnerOf(int obj, int owner) {
 	if (owner == 0) {
 		clearOwnerOf(obj);
 
-		// FIXME: See bug #1535358 and many others. Essentially, the following
+		// FIXME: See bug #2771 and many others. Essentially, the following
 		// code, while matching disasm of various versions of the SCUMM engine,
 		// is total bullocks, and leads to odd crashes due to out-of-bounds
 		// array (read) access. Three "famous" crashes were caused by this:
@@ -456,7 +456,7 @@ void ScummEngine::getObjectXYPos(int object, int &x, int &y, int &dir) {
 		// Adjust x, y when no actor direction is set, but only perform this
 		// adjustment for V0 games (e.g. MM C64), otherwise certain scenes in
 		// newer games are affected as well (e.g. the interior of the Shuttle
-		// Bus scene in Zak V2, where no actor is present). Refer to bug #3526089.
+		// Bus scene in Zak V2, where no actor is present). Refer to bug #6034.
 		if (!od.actordir && _game.version == 0) {
 			x = od.x_pos + od.width / 2;
 			y = od.y_pos + od.height / 2;
diff --git a/engines/scumm/palette.cpp b/engines/scumm/palette.cpp
index a3e7bcd593..a28cd3fdd9 100644
--- a/engines/scumm/palette.cpp
+++ b/engines/scumm/palette.cpp
@@ -55,7 +55,7 @@ uint16 ScummEngine::get16BitColor(uint8 r, uint8 g, uint8 b) {
 
 void ScummEngine::resetPalette() {
 	static const byte tableC64Palette[] = {
-#if 1  // VICE-based palette. See bug #2847001
+#if 1  // VICE-based palette. See bug #4576
 		0x00, 0x00, 0x00,	0xFF, 0xFF, 0xFF,	0x7E, 0x35, 0x2B,	0x6E, 0xB7, 0xC1,
 		0x7F, 0x3B, 0xA6,	0x5C, 0xA0, 0x35,	0x33, 0x27, 0x99,	0xCB, 0xD7, 0x65,
 		0x85, 0x53, 0x1C,	0x50, 0x3C, 0x00,	0xB4, 0x6B, 0x61,	0x4A, 0x4A, 0x4A,
diff --git a/engines/scumm/players/player_v3m.cpp b/engines/scumm/players/player_v3m.cpp
index bfe6144b6f..cede032102 100644
--- a/engines/scumm/players/player_v3m.cpp
+++ b/engines/scumm/players/player_v3m.cpp
@@ -150,7 +150,7 @@ bool Player_V3M::loadMusic(const byte *ptr) {
 	if (ptr[4] != 's' || ptr[5] != 'o') {
 		// Like the original we ignore all sound resources which do not have
 		// a 'so' tag in them.
-		// See bug #3602239 ("Mac Loom crashes using opening spell on
+		// See bug #6238 ("Mac Loom crashes using opening spell on
 		// gravestone") for a case where this is required. Loom Mac tries to
 		// play resource 11 here. This resource is no Mac sound resource
 		// though, it is a PC Speaker resource. A test with the original
diff --git a/engines/scumm/resource.cpp b/engines/scumm/resource.cpp
index 45de5be53f..c9888a56a2 100644
--- a/engines/scumm/resource.cpp
+++ b/engines/scumm/resource.cpp
@@ -822,7 +822,7 @@ byte *ResourceManager::createResource(ResType type, ResId idx, uint32 size) {
 	if (_vm->_game.version <= 2) {
 		// Nuking and reloading a resource can be harmful in some
 		// cases. For instance, Zak tries to reload the intro music
-		// while it's playing. See bug #1253171.
+		// while it's playing. See bug #2115.
 
 		if (_types[type][idx]._address && (type == rtSound || type == rtScript || type == rtCostume))
 			return _types[type][idx]._address;
diff --git a/engines/scumm/room.cpp b/engines/scumm/room.cpp
index 4b59e22408..f46db5b5b5 100644
--- a/engines/scumm/room.cpp
+++ b/engines/scumm/room.cpp
@@ -442,7 +442,7 @@ void ScummEngine::setupRoomSubBlocks() {
 	}
 
 
-	// WORKAROUND bug #1074444: The dreaded DOTT "Can't get teeth" bug
+	// WORKAROUND bug #1831: The dreaded DOTT "Can't get teeth" bug
 	// makes it impossible to go on playing w/o cheating in some way.
 	// It's not quite clear what causes it, but the effect is that object
 	// 182, the teeth, are still in class 32 (kObjectClassUntouchable),
diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp
index a05e632680..786f39e37b 100644
--- a/engines/scumm/saveload.cpp
+++ b/engines/scumm/saveload.cpp
@@ -85,7 +85,7 @@ bool ScummEngine::canLoadGameStateCurrently() {
 	// aware of *any* spots where loading is not supported?
 
 	// HE games are limited to original load and save interface only,
-	// due to numerous glitches (see bug #1726909) that can occur.
+	// due to numerous glitches (see bug #3210) that can occur.
 	//
 	// Except the earliest HE Games (3DO and initial DOS version of
 	// puttputt), which didn't offer scripted load/save screens.
@@ -119,7 +119,7 @@ bool ScummEngine::canSaveGameStateCurrently() {
 	// original EXE allowed this.
 
 	// HE games are limited to original load and save interface only,
-	// due to numerous glitches (see bug #1726909) that can occur.
+	// due to numerous glitches (see bug #3210) that can occur.
 	//
 	// Except the earliest HE Games (3DO and initial DOS version of
 	// puttputt), which didn't offer scripted load/save screens.
@@ -580,7 +580,7 @@ bool ScummEngine::loadState(int slot, bool compat, Common::String &filename) {
 	// after game load, and o2_loadRoomWithEgo() does as well
 	// this script starts character-dependent music
 	//
-	// Fixes bug #1766072: MANIACNES: Music Doesn't Start On Load Game
+	// Fixes bug #3362: MANIACNES: Music Doesn't Start On Load Game
 	if (_game.platform == Common::kPlatformNES) {
 		runScript(5, 0, 0, 0);
 
@@ -1482,7 +1482,7 @@ void ScummEngine::saveLoadWithSerializer(Common::Serializer &s) {
 			_charset->setCurID(curId);
 		} else {
 			// Before V72, the charset id wasn't saved. This used to cause issues such
-			// as the one described in the bug report #1722153. For these savegames,
+			// as the one described in the bug report #3194. For these savegames,
 			// we reinitialize the id using a, hopefully, sane value.
 			_charset->setCurID(_string[0]._default.charset);
 		}
@@ -1571,7 +1571,7 @@ void ScummEngine_v7::saveLoadWithSerializer(Common::Serializer &s) {
 	s.syncAsSint32LE(_verbLineSpacing, VER(68));
 
 	if (s.getVersion() <= VER(68) && s.isLoading()) {
-		// WORKAROUND bug #1846049: Reset the default charset color to a sane value.
+		// WORKAROUND bug #3483: Reset the default charset color to a sane value.
 		_string[0]._default.charset = 1;
 	}
 }
diff --git a/engines/scumm/script.cpp b/engines/scumm/script.cpp
index 2cb00842f3..84d78030a7 100644
--- a/engines/scumm/script.cpp
+++ b/engines/scumm/script.cpp
@@ -152,7 +152,7 @@ int ScummEngine::getVerbEntrypoint(int obj, int entry) {
 	const byte *objptr, *verbptr;
 	int verboffs;
 
-	// WORKAROUND for bug #1555938: Disallow pulling the rope if it's
+	// WORKAROUND for bug #2826: Disallow pulling the rope if it's
 	// already in the player's inventory.
 	if (_game.id == GID_MONKEY2 && obj == 1047 && entry == 6 && whereIsObject(obj) == WIO_INVENTORY) {
 		return 0;
@@ -428,7 +428,7 @@ void ScummEngine::getScriptBaseAddress() {
 		error("Bad type while getting base address");
 	}
 
-	// The following fixes bug #1202487. Confirmed against disasm.
+	// The following fixes bug #2028. Confirmed against disasm.
 	if (_game.version <= 2 && _scriptOrgPointer == NULL) {
 		ss->status = ssDead;
 		_currentScript = 0xFF;
@@ -640,7 +640,7 @@ void ScummEngine::writeVar(uint var, int value) {
 			// Otherwise, use the value specified by the game script.
 			// Note: To determine whether there was a user override, we only
 			// look at the target specific settings, assuming that any global
-			// value is likely to be bogus. See also bug #2251765.
+			// value is likely to be bogus. See also bug #4008.
 			if (ConfMan.hasKey("talkspeed", _targetName)) {
 				value = getTalkSpeed();
 			} else {
@@ -1113,7 +1113,7 @@ void ScummEngine::checkAndRunSentenceScript() {
 
 
 		if (_game.id == GID_FT && !isValidActor(localParamList[1]) && !isValidActor(localParamList[2])) {
-			// WORKAROUND for bug #1407789. The buggy script clearly
+			// WORKAROUND for bug #2466. The buggy script clearly
 			// assumes that one of the two objects is an actor. If that's
 			// not the case, fall back on the default sentence script.
 
diff --git a/engines/scumm/script_v2.cpp b/engines/scumm/script_v2.cpp
index a07d1f7015..7318315734 100644
--- a/engines/scumm/script_v2.cpp
+++ b/engines/scumm/script_v2.cpp
@@ -1113,7 +1113,7 @@ void ScummEngine_v2::o2_walkActorTo() {
 
 	int act = getVarOrDirectByte(PARAM_1);
 
-	// WORKAROUND bug #1252606
+	// WORKAROUND bug #2110
 	if (_game.id == GID_ZAK && _game.version == 1 && vm.slot[_currentScript].number == 115 && act == 249) {
 		act = VAR(VAR_EGO);
 	}
@@ -1149,7 +1149,7 @@ void ScummEngine_v2::o2_startScript() {
 			return;
 	}
 
-	// WORKAROUND bug #1447058: In Maniac Mansion, when the door bell
+	// WORKAROUND bug #2524: In Maniac Mansion, when the door bell
 	// rings, then this normally causes Ted Edison to leave his room.
 	// This is controlled by script 87. On the other hand, when the
 	// player enters Ted's room while Ted is in it, then Ted captures
diff --git a/engines/scumm/script_v4.cpp b/engines/scumm/script_v4.cpp
index 63eb26d301..3c482996fc 100644
--- a/engines/scumm/script_v4.cpp
+++ b/engines/scumm/script_v4.cpp
@@ -68,7 +68,7 @@ void ScummEngine_v4::o4_ifState() {
 	int a = getVarOrDirectWord(PARAM_1);
 	int b = getVarOrDirectByte(PARAM_2);
 
-	// WORKAROUND bug #3306145 (also occurs in original): Some old versions of
+	// WORKAROUND bug #5709 (also occurs in original): Some old versions of
 	// Indy3 sometimes fail to allocate IQ points correctly. To quote:
 	// "About the points error leaving Castle Brunwald: It seems to "reversed"!
 	// When you get caught, free yourself and escape, you get 25 IQ points even
@@ -151,7 +151,7 @@ enum StringIds {
 	// The string IDs used by Indy3 to store the episode resp. series IQ points.
 	// Note that we save the episode IQ points but load the series IQ points,
 	// which matches the original Indy3 save/load code. See also the notes
-	// on Feature Request #1666521.
+	// on bug #7547.
 	STRINGID_IQ_EPISODE = 7,
 	STRINGID_IQ_SERIES = 9,
 	// The string IDs of the first savegame name, used as an offset to determine
diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp
index 21dea366ae..24693bd58c 100644
--- a/engines/scumm/script_v5.cpp
+++ b/engines/scumm/script_v5.cpp
@@ -543,7 +543,7 @@ void ScummEngine_v5::o5_setClass() {
 	while ((_opcode = fetchScriptByte()) != 0xFF) {
 		cls = getVarOrDirectWord(PARAM_1);
 
-		// WORKAROUND bug #1668393: Due to a script bug, the wrong opcode is
+		// WORKAROUND bug #3099: Due to a script bug, the wrong opcode is
 		// used to test and set the state of various objects (e.g. the inside
 		// door (object 465) of the of the Hostel on Mars), when opening the
 		// Hostel door from the outside.
@@ -1177,7 +1177,7 @@ void ScummEngine_v5::o5_ifClassOfIs() {
 	while ((_opcode = fetchScriptByte()) != 0xFF) {
 		cls = getVarOrDirectWord(PARAM_1);
 
-		// WORKAROUND bug #1668393: Due to a script bug, the wrong opcode is
+		// WORKAROUND bug #3099: Due to a script bug, the wrong opcode is
 		// used to test and set the state of various objects (e.g. the inside
 		// door (object 465) of the of the Hostel on Mars), when opening the
 		// Hostel door from the outside.
@@ -2130,12 +2130,12 @@ void ScummEngine_v5::o5_startScript() {
 
 	getWordVararg(data);
 
-	// WORKAROUND bug #1290485: Script 171 loads a complete room resource,
+	// WORKAROUND bug #2198: Script 171 loads a complete room resource,
 	// instead of the actual script, causing invalid opcode cases
 	if (_game.id == GID_ZAK && _game.platform == Common::kPlatformFMTowns && script == 171)
 		return;
 
-	// WORKAROUND bug #3306145 (also occurs in original): Some old versions of
+	// WORKAROUND bug #5709 (also occurs in original): Some old versions of
 	// Indy3 sometimes fail to allocate IQ points correctly. To quote:
 	// "In the Amiga version you get the 15 points for puzzle 30 if you give the
 	// book or KO the guy. The PC version correctly gives 10 points for puzzle
@@ -2187,7 +2187,7 @@ void ScummEngine_v5::o5_stopScript() {
 
 	if (_game.id == GID_INDY4 && script == 164 &&
 		_roomResource == 50 && vm.slot[_currentScript].number == 213 && VAR(VAR_HAVE_MSG)) {
-		// WORKAROUND bug #1308033: Due to a script bug, a line of text is skipped
+		// WORKAROUND bug #2215: Due to a script bug, a line of text is skipped
 		// which Indy is supposed to speak when he finds Orichalcum in some old
 		// bones in the caves below Crete.
 		_scriptPointer = oldaddr;
@@ -2685,7 +2685,7 @@ void ScummEngine_v5::decodeParseString() {
 					printString(textSlot, (const byte *) "I am Chaos.");
 				} else if (_game.id == GID_INDY4 && _roomResource == 23 && vm.slot[_currentScript].number == 167 &&
 						len == 24 && 0==memcmp(_scriptPointer+16, "pregod", 6)) {
-					// WORKAROUND for bug #1621210.
+					// WORKAROUND for bug #2961.
 					byte tmpBuf[25];
 					memcpy(tmpBuf, _scriptPointer, 25);
 					if (tmpBuf[22] == '8')
@@ -2695,7 +2695,7 @@ void ScummEngine_v5::decodeParseString() {
 					printString(textSlot, tmpBuf);
 				} else if (_game.id == GID_MONKEY_EGA && _roomResource == 30 && vm.slot[_currentScript].number == 411 &&
 							strstr((const char *)_scriptPointer, "NCREDIT-NOTE-AMOUNT")) {
-					// WORKAROUND for bug #3003643 (MI1EGA German: Credit text incorrect)
+					// WORKAROUND for bug #4886 (MI1EGA German: Credit text incorrect)
 					// The script contains buggy text.
 					const char *tmp = strstr((const char *)_scriptPointer, "NCREDIT-NOTE-AMOUNT");
 					char tmpBuf[256];
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index d3d80ed187..db7690bb1c 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -718,7 +718,7 @@ void ScummEngine_v6::o6_jump() {
 			_scummVars[202] = 35;
 	}
 
-	// WORKAROUND bug #2826144: Talking to the guard at the bigfoot party, after
+	// WORKAROUND bug #4464: Talking to the guard at the bigfoot party, after
 	// he's let you inside, will cause the game to hang, if you end the conversation.
 	// This is a script bug, due to a missing jump in one segment of the script.
 	if (_game.id == GID_SAMNMAX && vm.slot[_currentScript].number == 101 && readVar(0x8000 + 97) == 1 && offset == 1) {
@@ -782,7 +782,7 @@ void ScummEngine_v6::o6_startScript() {
 		return;
 	}
 
-	// WORKAROUND bug #1878514: When turning pages in the recipe book
+	// WORKAROUND bug #3591: When turning pages in the recipe book
 	// (found on Blood Island), there is a brief moment where it displays
 	// text from two different pages at the same time.
 	//
@@ -869,7 +869,7 @@ void ScummEngine_v6::o6_drawObjectAt() {
 	int x = pop();
 	int obj = pop();
 
-	// WORKAROUND bug #1846746 : Adjust x and y position of
+	// WORKAROUND bug #3487 : Adjust x and y position of
 	// objects in credits sequence, to match other ports
 	if (_game.id == GID_PUTTMOON && _game.platform == Common::kPlatform3DO &&
 		_roomResource == 38 && vm.slot[_currentScript].number == 206) {
@@ -1243,7 +1243,7 @@ void ScummEngine_v6::o6_animateActor() {
 	}
 	if (_game.id == GID_SAMNMAX && _roomResource == 35 &&
 		vm.slot[_currentScript].number == 202 && act == 4 && anim == 14) {
-		// WORKAROUND bug #1223621 (Animation glitch at World of Fish).
+		// WORKAROUND bug #2068 (Animation glitch at World of Fish).
 		// Before starting animation 14 of the fisherman, make sure he isn't
 		// talking anymore. This appears to be a bug in the original game as well.
 		if (getTalkingActor() == 4) {
@@ -2228,7 +2228,7 @@ void ScummEngine_v6::o6_soundKludge() {
 
 	_sound->soundKludge(list, num);
 
-	// WORKAROUND for bug #1398195: The room-11-2016 script contains a
+	// WORKAROUND for bug #2438: The room-11-2016 script contains a
 	// slight bug causing it to busy-wait for a sound to finish. Even under
 	// the best of circumstances, this will cause the game to hang briefly.
 	// On platforms where threading is cooperative, it will cause the game
@@ -2350,7 +2350,7 @@ void ScummEngine_v6::o6_talkActor() {
 
 	_actorToPrintStrFor = pop();
 
-	// WORKAROUND for bug #2016521: "DOTT: Bernard impersonating LaVerne"
+	// WORKAROUND for bug #3803: "DOTT: Bernard impersonating LaVerne"
 	// Original script did not check for VAR_EGO == 2 before executing
 	// a talkActor opcode.
 	if (_game.id == GID_TENTACLE && vm.slot[_currentScript].number == 307
diff --git a/engines/scumm/script_v8.cpp b/engines/scumm/script_v8.cpp
index 03a6d13886..bdc9eadd62 100644
--- a/engines/scumm/script_v8.cpp
+++ b/engines/scumm/script_v8.cpp
@@ -295,7 +295,7 @@ void ScummEngine_v8::writeVar(uint var, int value) {
 			// Otherwise, use the value specified by the game script.
 			// Note: To determine whether there was a user override, we only
 			// look at the target specific settings, assuming that any global
-			// value is likely to be bogus. See also bug #2251765.
+			// value is likely to be bogus. See also bug #4008.
 			if (ConfMan.hasKey("talkspeed", _targetName)) {
 				value = getTalkSpeed();
 			} else {
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index cdb58bf8da..7960f813be 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -2002,7 +2002,7 @@ void ScummEngine::setupMusic(int midi) {
 	} else if (_game.platform == Common::kPlatformDOS && (_sound->_musicType == MDT_ADLIB) && (_game.id == GID_LOOM || _game.id == GID_INDY3)) {
 		// For Indy3 DOS and Loom DOS we use an implementation of the original
 		// AD player when AdLib is selected. This fixes sound effects in those
-		// games (see for example bug #2027877 "INDY3: Non-Looping Sound
+		// games (see for example bug #3830 "INDY3: Non-Looping Sound
 		// Effects"). The player itself is also used in Monkey Island DOS
 		// EGA/VGA. However, we support multi MIDI for that game and we cannot
 		// support this with the Player_AD code at the moment. The reason here
@@ -2439,9 +2439,9 @@ void ScummEngine::scummLoop_updateScummVars() {
 		// WORKAROUND:
 		// Since there are 2 2-stripes wide borders in MM NES screen,
 		// we have to compensate for it here. This fixes paning effects.
-		// Fixes bug #1328120: "MANIACNES: Screen width incorrect, camera halts sometimes"
+		// Fixes bug #2266: "MANIACNES: Screen width incorrect, camera halts sometimes"
 		// But do not do it when only scrolling right to left, since otherwise Ed will not show
-		// up on the doorbell (Bug #3039004)
+		// up on the doorbell (Bug #5126)
 		if (VAR(VAR_CAMERA_POS_X) < (camera._cur.x >> V12_X_SHIFT) + 2)
 			VAR(VAR_CAMERA_POS_X) = (camera._cur.x >> V12_X_SHIFT) + 2;
 		else
@@ -2467,7 +2467,7 @@ void ScummEngine::scummLoop_updateScummVars() {
 	} else if (_game.version >= 1) {
 		// We use shifts below instead of dividing by V12_X_MULTIPLIER resp.
 		// V12_Y_MULTIPLIER to handle negative coordinates correctly.
-		// This fixes e.g. bugs #1328131 and #1537595.
+		// This fixes e.g. bugs #2268 and #2777.
 		VAR(VAR_VIRT_MOUSE_X) = _virtualMouse.x >> V12_X_SHIFT;
 		VAR(VAR_VIRT_MOUSE_Y) = _virtualMouse.y >> V12_Y_SHIFT;
 
diff --git a/engines/scumm/smush/smush_player.cpp b/engines/scumm/smush/smush_player.cpp
index 2858066687..23f2ad977e 100644
--- a/engines/scumm/smush/smush_player.cpp
+++ b/engines/scumm/smush/smush_player.cpp
@@ -275,7 +275,7 @@ void SmushPlayer::init(int32 speed) {
 	_dst = vs->getPixels(0, 0);
 
 	// HACK HACK HACK: This is an *evil* trick, beware!
-	// We do this to fix bug #1037052. A proper solution would change all the
+	// We do this to fix bug #1792. A proper solution would change all the
 	// drawing code to use the pitch value specified by the virtual screen.
 	// However, since a lot of the SMUSH code currently assumes the screen
 	// width and pitch to be equal, this will require lots of changes. So
@@ -535,7 +535,7 @@ void SmushPlayer::handleTextResource(uint32 subType, int32 subSize, Common::Seek
 	//
 	// Query ConfMan here. However it may be slower, but
 	// player may want to switch the subtitles on or off during the
-	// playback. This fixes bug #1550974
+	// playback. This fixes bug #2812
 	if ((!ConfMan.getBool("subtitles")) && ((flags & 8) == 8))
 		return;
 
@@ -579,7 +579,7 @@ void SmushPlayer::handleTextResource(uint32 subType, int32 subSize, Common::Seek
 		}
 	}
 
-	// HACK. This is to prevent bug #1310846. In updated Win95 dig
+	// HACK. This is to prevent bug #2220. In updated Win95 dig
 	// there is such line:
 	//
 	// ^f01^c001LEAD TESTER
@@ -1249,7 +1249,7 @@ void SmushPlayer::play(const char *filename, int32 speed, int32 offset, int32 st
 			skipped = 0;
 		if (_updateNeeded) {
 			if (!skipFrame) {
-				// Workaround for bug #1386333: "FT DEMO: assertion triggered
+				// Workaround for bug #2415: "FT DEMO: assertion triggered
 				// when playing movie". Some frames there are 384 x 224
 				int w = MIN(_width, _vm->_screenWidth);
 				int h = MIN(_height, _vm->_screenHeight);
diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp
index ec3e318865..b935ce4360 100644
--- a/engines/scumm/sound.cpp
+++ b/engines/scumm/sound.cpp
@@ -198,7 +198,7 @@ void Sound::playSound(int soundID) {
 			// The original game had hard-coded lengths for all
 			// tracks, but this one track is the only one (as far
 			// as we know) where this actually matters. See bug
-			// #3024173 - LOOM-PCE: Music stops prematurely.
+			// #4914 - LOOM-PCE: Music stops prematurely.
 
 			int track = tracks[soundID - 13];
 			if (track == 6) {
diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp
index db76b18c85..b8c66db7f7 100644
--- a/engines/scumm/string.cpp
+++ b/engines/scumm/string.cpp
@@ -184,7 +184,7 @@ void ScummEngine_v6::drawBlastTexts() {
 			do {
 				c = *buf++;
 
-				// FIXME: This is a workaround for bugs #864030 and #1399843:
+				// FIXME: This is a workaround for bugs #864030 and #2440:
 				// In COMI, some text contains ASCII character 11 = 0xB. It's
 				// not quite clear what it is good for; so for now we just ignore
 				// it, which seems to match the original engine (BTW, traditionally,
@@ -762,7 +762,7 @@ void ScummEngine::CHARSET_1() {
 			continue;
 		}
 
-		// Handle line overflow for V3. See also bug #1306269.
+		// Handle line overflow for V3. See also bug #2213.
 		if (_game.version == 3 && _nextLeft >= _screenWidth) {
 			_nextLeft = _screenWidth;
 		}
@@ -1023,7 +1023,7 @@ void ScummEngine::drawString(int a, const byte *msg) {
 	_charset->setCurID(_string[a].charset);
 
 	// HACK: Correct positions of text in books in Indy3 Mac.
-	// See also patch #1851568.
+	// See also bug #8759.
 	if (_game.id == GID_INDY3 && _game.platform == Common::kPlatformMacintosh && a == 1) {
 		if (_currentRoom == 75) {
 			// Grail Diary Page 1 (Library)
@@ -1279,7 +1279,7 @@ int ScummEngine::convertMessageToString(const byte *msg, byte *dst, int dstSize)
 				continue;
 			}
 
-			// WORKAROUND for bug #1514457: Yet another script bug in Indy3.
+			// WORKAROUND for bug #2715: Yet another script bug in Indy3.
 			// Once more a german 'sz' was encoded incorrectly, but this time
 			// they simply encoded it as 0xFF instead of 0xE1. Happens twice
 			// in script 71.
@@ -1424,7 +1424,7 @@ int ScummEngine::convertVerbMessage(byte *dst, int dstSize, int var) {
 	num = readVar(var);
 	if (num) {
 		for (k = 1; k < _numVerbs; k++) {
-			// Fix ZAK FM-TOWNS bug #1013617 by emulating exact (inconsistant?) behavior of the original code
+			// Fix ZAK FM-TOWNS bug #1734 by emulating exact (inconsistant?) behavior of the original code
 			if (num == _verbs[k].verbid && !_verbs[k].type && (!_verbs[k].saveid || (_game.version == 3 && _game.platform == Common::kPlatformFMTowns))) {
 				// Process variation of Korean postpositions
 				// Used by Korean fan translated games (monkey1, monkey2)
@@ -1826,7 +1826,7 @@ void ScummEngine_v7::translateText(const byte *text, byte *trans_buff) {
 		_lastStringTag[i] = 0;
 	}
 
-	// WORKAROUND for bug #1172655.
+	// WORKAROUND for bug #1977.
 	if (_game.id == GID_DIG) {
 		// Based on the second release of The Dig
 		// Only applies to the subtitles and not speech
diff --git a/engines/scumm/verbs.cpp b/engines/scumm/verbs.cpp
index b8706f8258..6a5c9904e2 100644
--- a/engines/scumm/verbs.cpp
+++ b/engines/scumm/verbs.cpp
@@ -555,7 +555,7 @@ void ScummEngine::checkExecVerbs() {
 		if (!(_game.id == GID_MONKEY && _game.platform == Common::kPlatformSegaCD)) {
 			// This is disabled in the SegaCD version as the "vs->key" values setup
 			// by script-17 conflict with the values expected by the generic keyboard
-			// input script. See tracker item #1193185.
+			// input script. See tracker item #2013.
 			vs = &_verbs[1];
 			for (i = 1; i < _numVerbs; i++, vs++) {
 				if (vs->verbid && vs->saveid == 0 && vs->curmode == 1) {
@@ -617,7 +617,7 @@ void ScummEngine::checkExecVerbs() {
 		const byte code = _mouseAndKeyboardStat & MBS_LEFT_CLICK ? 1 : 2;
 
 		// This could be kUnkVirtScreen.
-		// Fixes bug #1536932: "MANIACNES: Crash on click in speechtext-area"
+		// Fixes bug #2773: "MANIACNES: Crash on click in speechtext-area"
 		if (!zone)
 			return;
 
@@ -699,7 +699,7 @@ void ScummEngine_v2::checkExecVerbs() {
 		const int inventoryArea = (_game.platform == Common::kPlatformNES) ? 48: 32;
 
 		// This could be kUnkVirtScreen.
-		// Fixes bug #1536932: "MANIACNES: Crash on click in speechtext-area"
+		// Fixes bug #2773: "MANIACNES: Crash on click in speechtext-area"
 		if (!zone)
 			return;
 
diff --git a/engines/sky/autoroute.cpp b/engines/sky/autoroute.cpp
index 877090f6b8..de448cb1f8 100644
--- a/engines/sky/autoroute.cpp
+++ b/engines/sky/autoroute.cpp
@@ -250,7 +250,7 @@ uint16 AutoRoute::autoRoute(Compact *cpt) {
 	if (_routeGrid[(destY + 1) * ROUTE_GRID_WIDTH + destX + 1]) {
 		//if ((cpt == &Sky::SkyCompact::foster) && (cptScreen == 12) && (destX == 2) && (destY == 14)) {
 		if (_skyCompact->cptIsId(cpt, CPT_FOSTER) && (cptScreen == 12) && (destX == 2) && (destY == 14)) {
-			/* workaround for Scriptbug #1043047
+			/* workaround for Scriptbug #1804
 			   In screen 12 (the pipe factory) Joey can block Foster's target
 			   coordinates (2/14). This is normally not too tragic, but in the
 			   scene when foster gets thrown out by Lamb (first time you enter
diff --git a/engines/sky/logic.cpp b/engines/sky/logic.cpp
index 44be85bc28..c862582a2c 100644
--- a/engines/sky/logic.cpp
+++ b/engines/sky/logic.cpp
@@ -200,7 +200,7 @@ void Logic::autoRoute() {
 	_compact->downFlag = _skyAutoRoute->autoRoute(_compact);
 	if ((_compact->downFlag == 2) && _skyCompact->cptIsId(_compact, CPT_JOEY) &&
 	   (_compact->mode == 0) && (_compact->baseSub == JOEY_OUT_OF_LIFT)) {
-		   // workaround for script bug #1064113. Details unclear...
+		   // workaround for script bug #1823. Details unclear...
 		   _compact->downFlag = 0;
 	}
 	if (_compact->downFlag != 1) { // route ok
@@ -1176,7 +1176,7 @@ uint16 Logic::mouseScript(uint32 scrNum, Compact *scriptComp) {
 	_compact = tmpComp;
 
 	if (scrNum == MENU_SELECT || (scrNum >= LINC_MENU_SELECT && scrNum <= DOC_MENU_SELECT)) {
-		// HACK: See patch #1689516 for details. The short story:
+		// HACK: See bug #8627 for details. The short story:
 		// The user has clicked on an inventory item.  We update the
 		// mouse cursor instead of waiting for the script to update it.
 		// In the original game the cursor is just updated when the mouse
@@ -1216,7 +1216,7 @@ uint16 Logic::script(uint16 scriptNo, uint16 offset) {
 
 		debug(3, "Doing Script: %d:%d:%x", moduleNo, scriptNo & 0xFFF, offset ? (offset - moduleStart[scriptNo & 0xFFF]) : 0);
 
-		// WORKAROUND for bug #3149412: "Invalid Mode when giving shades to travel agent"
+		// WORKAROUND for bug #5567: "Invalid Mode when giving shades to travel agent"
 		// Using the dark glasses on Trevor (travel agent) multiple times in succession would
 		// wreck the trevor compact's mode, as the script in question doesn't account for using
 		// this item at this point in the game (you will only have it here if you play the game
@@ -1683,7 +1683,7 @@ bool Logic::fnQuit(uint32 a, uint32 b, uint32 c) {
 }
 
 bool Logic::fnSpeakMe(uint32 targetId, uint32 mesgNum, uint32 animNum) {
-	/* WORKAROUND for #2687172: When Mrs. Piermont is talking
+	/* WORKAROUND for #4230: When Mrs. Piermont is talking
 	   on the phone in her apartment, ignore her fnSpeakMe calls
 	   on other screens, as the lack of speech files for these lines
 	   will cause Foster's speech to be aborted if the timing is bad.
diff --git a/engines/sky/music/gmchannel.cpp b/engines/sky/music/gmchannel.cpp
index 85a381de53..549adde8d0 100644
--- a/engines/sky/music/gmchannel.cpp
+++ b/engines/sky/music/gmchannel.cpp
@@ -62,7 +62,7 @@ void GmChannel::updateVolume(uint16 pVolume) {
 void GmChannel::stopNote() {
 	// All Notes Off
 	_midiDrv->send((0xB0 | _channelData.midiChannelNumber) | 0x7B00 | 0 | 0x79000000);
-	// Reset the Pitch Wheel. See bug #1016556.
+	// Reset the Pitch Wheel. See bug #1742.
 	_midiDrv->send((0xE0 | _channelData.midiChannelNumber) | 0x400000);
 }
 
diff --git a/engines/sky/sound.cpp b/engines/sky/sound.cpp
index 1da2c10bcc..beafbf2f43 100644
--- a/engines/sky/sound.cpp
+++ b/engines/sky/sound.cpp
@@ -1101,7 +1101,7 @@ void Sound::playSound(uint16 sound, uint16 volume, uint8 channel) {
 
 	// Note: All those tables are big endian. Don't ask me why. *sigh*
 
-	// Use the sample rate from game data, see bug #1507757.
+	// Use the sample rate from game data, see bug #2688.
 	uint16 sampleRate = READ_BE_UINT16(_sampleRates + (sound << 2));
 	if (sampleRate > 11025)
 		sampleRate = 11025;
diff --git a/engines/sky/text.cpp b/engines/sky/text.cpp
index f31a70f5ae..0598cec419 100644
--- a/engines/sky/text.cpp
+++ b/engines/sky/text.cpp
@@ -249,7 +249,7 @@ DisplayedText Text::displayText(char *textPtr, uint8 *dest, bool center, uint16
 	if (tmpPtr)
 		strcpy(tmpPtr, "MUND BEATMUNG!");
 
-	// work around bug #1151924 (line width exceeded when talking to gardener using spanish text)
+	// work around bug #1940 (line width exceeded when talking to gardener using spanish text)
 	// This text apparently only is broken in the floppy versions, the CD versions contain
 	// the correct string "MANIFESTACION - ARTISTICA.", which doesn't break the algorithm/game.
 	tmpPtr = strstr(textPtr, "MANIFESTACION-ARTISTICA.");
diff --git a/engines/sword1/detection.cpp b/engines/sword1/detection.cpp
index 3889888397..23ccc36562 100644
--- a/engines/sword1/detection.cpp
+++ b/engines/sword1/detection.cpp
@@ -149,7 +149,7 @@ DetectedGames SwordMetaEngineDetection::detectGames(const Common::FSList &fslist
 	// video data files will be ignored. Note that this fix will skip the game
 	// data files if the user has placed them inside a "clusters" subdirectory,
 	// or if he/she points ScummVM directly to the "clusters" directory of the
-	// game CD. Fixes bug #3049346.
+	// game CD. Fixes bug #5274.
 	if (!fslist.empty()) {
 		Common::String directory = fslist[0].getParent().getName();
 		if (directory.hasPrefixIgnoreCase("clusters") && directory.size() <= 9)
diff --git a/engines/sword1/objectman.cpp b/engines/sword1/objectman.cpp
index c976b700af..56b73f2da9 100644
--- a/engines/sword1/objectman.cpp
+++ b/engines/sword1/objectman.cpp
@@ -162,7 +162,7 @@ char *ObjectMan::lockText(uint32 textId, uint8 lang) {
 	}
 	uint32 offset = _resMan->readUint32(addr + ((textId & ITM_ID) + 1) * 4);
 	if (offset == 0) {
-		// Workaround bug for missing sentence in some languages in Syria (see bug #1977094).
+		// Workaround bug for missing sentence in some languages in Syria (see bug #3753).
 		// We use the hardcoded text in this case.
 		if (textId == 2950145)
 			return const_cast<char *>(_translationId2950145[lang]);
@@ -226,12 +226,12 @@ void ObjectMan::saveLiveList(uint16 *dest) {
 
 // String displayed when a subtitle sentence is missing in the cluster file.
 // It happens with at least one sentence in Syria in some languages (see bug
-// #1977094).
+// #3753).
 // Note: an empty string or a null pointer causes a crash.
 
 char ObjectMan::_missingSubTitleStr[] = " ";
 
-// Missing translation for textId 2950145 (see bug #1977094).
+// Missing translation for textId 2950145 (see bug #3753).
 // Currently text is missing for Portuguese languages. (It's possible that it
 // is not needed. The English version of the game does not include Portuguese
 // so I cannot check.)
diff --git a/engines/sword1/screen.cpp b/engines/sword1/screen.cpp
index 507f4f0884..1fa5b23886 100644
--- a/engines/sword1/screen.cpp
+++ b/engines/sword1/screen.cpp
@@ -130,7 +130,7 @@ void Screen::setScrolling(int16 offsetX, int16 offsetY) {
 	} else {
 		// SCROLL_FLAG == 0, this usually means that the screen is smaller than 640x400 and doesn't need scrolling at all
 		// however, it can also mean that the gamescript overwrote the scrolling flag to take care of scrolling directly,
-		// (see bug report #1345130) so we ignore the offset arguments in this case
+		// (see bug report #2327) so we ignore the offset arguments in this case
 		Logic::_scriptVars[SCROLL_OFFSET_X] = CLIP<int32>(Logic::_scriptVars[SCROLL_OFFSET_X], 0, Logic::_scriptVars[MAX_SCROLL_OFFSET_X]);
 		Logic::_scriptVars[SCROLL_OFFSET_Y] = CLIP<int32>(Logic::_scriptVars[SCROLL_OFFSET_Y], 0, Logic::_scriptVars[MAX_SCROLL_OFFSET_Y]);
 		if ((Logic::_scriptVars[SCROLL_OFFSET_X] != _oldScrollX) || (Logic::_scriptVars[SCROLL_OFFSET_Y] != _oldScrollY)) {
@@ -158,7 +158,7 @@ void Screen::fnSetPalette(uint8 start, uint16 length, uint32 id, bool fadeUp) {
 	if (start == 0) // force color 0 to black
 		palData[0] = palData[1] = palData[2] = 0;
 
-	if (SwordEngine::isMac()) {  // see bug #1701058
+	if (SwordEngine::isMac()) {  // see bug #8636
 		if (start != 0 && start + length == 256) // and force color 255 to black as well
 			palData[(length - 1) * 3 + 0] = palData[(length - 1) * 3 + 1] = palData[(length - 1) * 3 + 2] = 0;
 	}
@@ -408,7 +408,7 @@ void Screen::draw() {
 			for (uint16 cnty = scrnScrlY; (cnty < _scrnSizeY) && (cnty < scrnHeight + scrnScrlY); cnty++)
 				for (uint16 cntx = 0; cntx < _scrnSizeX; cntx++) {
 					if (*src)
-						if (!(SwordEngine::isMac()) || *src != 255) // see bug #1701058
+						if (!(SwordEngine::isMac()) || *src != 255) // see bug #8636
 							*dest = *src;
 					src++;
 					dest++;
diff --git a/engines/sword1/sound.cpp b/engines/sword1/sound.cpp
index 30e0ce239d..6de6a405e9 100644
--- a/engines/sword1/sound.cpp
+++ b/engines/sword1/sound.cpp
@@ -477,7 +477,7 @@ int16 *Sound::uncompressSpeech(uint32 index, uint32 cSize, uint32 *size, bool* o
 			// the demo speech files have the uncompressed size
 			// embedded in the compressed stream *sigh*
 			//
-			// But not always, apparently. See bug #2182450. Is
+			// But not always, apparently. See bug #4002. Is
 			// there any way to figure out the size other than
 			// decoding the sound in that case?
 
diff --git a/engines/sword2/detection.cpp b/engines/sword2/detection.cpp
index a0fb38975b..648ec6c9b4 100644
--- a/engines/sword2/detection.cpp
+++ b/engines/sword2/detection.cpp
@@ -91,7 +91,7 @@ DetectedGames Sword2MetaEngineDetection::detectGames(const Common::FSList &fslis
 	// video data files will be ignored. Note that this fix will skip the game
 	// data files if the user has placed them inside a "clusters" subdirectory,
 	// or if he/she points ScummVM directly to the "clusters" directory of the
-	// game CD. Fixes bug #3049336.
+	// game CD. Fixes bug #5273.
 	if (!fslist.empty()) {
 		Common::String directory = fslist[0].getParent().getName();
 		if (directory.hasPrefixIgnoreCase("clusters") && directory.size() <= 9)
diff --git a/engines/sword2/interpreter.cpp b/engines/sword2/interpreter.cpp
index a13161625c..63ee789445 100644
--- a/engines/sword2/interpreter.cpp
+++ b/engines/sword2/interpreter.cpp
@@ -481,7 +481,7 @@ int Logic::runScript2(byte *scriptData, byte *objectData, byte *offsetPtr) {
 			Read16ip(parameter);
 			value = stack.pop();
 
-			// WORKAROUND for bug #1214168: The not-at-all dreaded
+			// WORKAROUND for bug #2058: The not-at-all dreaded
 			// mop bug.
 			//
 			// At the London Docks, global variable 1003 keeps
diff --git a/engines/sword25/detection_tables.h b/engines/sword25/detection_tables.h
index f7bede7f43..fba35de280 100644
--- a/engines/sword25/detection_tables.h
+++ b/engines/sword25/detection_tables.h
@@ -105,7 +105,7 @@ static const ADGameDescription gameDescriptions[] = {
 		GUIO1(GUIO_NOASPECT)
 	},
 	// Hungarian "psylog" version.
-	// Submitted by goodoldgeorg in bug report #3428644.
+	// Submitted by goodoldgeorg in bug report #5888.
 	{
 		"sword25",
 		"psylog version",
diff --git a/engines/tinsel/detection_tables.h b/engines/tinsel/detection_tables.h
index 8266f0185d..bcf8d63eaf 100644
--- a/engines/tinsel/detection_tables.h
+++ b/engines/tinsel/detection_tables.h
@@ -73,7 +73,7 @@ static const TinselGameDescription gameDescriptions[] = {
 		TINSEL_V1,
 	},
 
-	{	// Macintosh CD Demo V1 version, with *.scn files, see tracker #3110936
+	{	// Macintosh CD Demo V1 version, with *.scn files, see tracker #5517
 		{
 			"dw",
 			"CD Demo",
@@ -477,7 +477,7 @@ static const TinselGameDescription gameDescriptions[] = {
 		TINSEL_V1,
 	},
 
-	{	// Mac English CD, see tracker #3614864
+	{	// Mac English CD, see tracker #6384
 		{
 			"dw",
 			"CD",
diff --git a/engines/tinsel/metaengine.cpp b/engines/tinsel/metaengine.cpp
index 8594acf36f..6edb4bf03d 100644
--- a/engines/tinsel/metaengine.cpp
+++ b/engines/tinsel/metaengine.cpp
@@ -179,7 +179,7 @@ int TinselMetaEngine::getMaximumSaveSlot() const { return 99; }
 void TinselMetaEngine::removeSaveState(const char *target, int slot) const {
 	Tinsel::setNeedLoad();
 	// Same issue here as with loadGameState(): we need the physical savegame
-	// slot. Refer to bug #3387551.
+	// slot. Refer to bug #5819.
 	int listSlot = -1;
 	const int numStates = Tinsel::getList(g_system->getSavefileManager(), target);
 	for (int i = 0; i < numStates; ++i) {
diff --git a/engines/tinsel/music.cpp b/engines/tinsel/music.cpp
index 9c812b3064..58e5a0c0f3 100644
--- a/engines/tinsel/music.cpp
+++ b/engines/tinsel/music.cpp
@@ -193,7 +193,7 @@ bool Music::PlayMidiSequence(uint32 dwFileOffset, bool bLoop) {
 		if (midiStream.read(_midiBuffer.pDat, dwSeqLen) != dwSeqLen)
 			error(FILE_IS_CORRUPT, MIDI_FILE);
 
-		// WORKAROUND for bug #2820054 "DW1: No intro music at first start on Wii",
+		// WORKAROUND for bug #4393 "DW1: No intro music at first start on Wii",
 		// which actually affects all ports, since it's specific to the GRA version.
 		//
 		// The GRA version does not seem to set the channel volume at all for the first
diff --git a/engines/tinsel/pcode.cpp b/engines/tinsel/pcode.cpp
index 8e27f78a5f..1b319beb51 100644
--- a/engines/tinsel/pcode.cpp
+++ b/engines/tinsel/pcode.cpp
@@ -173,7 +173,7 @@ const WorkaroundEntry workaroundList[] = {
 	// restoring the game, it will error if you try to move. This
 	// fragment turns off NPC blocking for the Outside Inn rooms so that
 	// the luggage won't block Past Outside Inn.
-	// See bug report #2525010.
+	// See bug report #4101.
 	{TINSEL_V1, false, false, Common::kPlatformUnknown, 444622076, 0,  sizeof(fragment2), fragment2},
 	// Present Outside Inn
 	{TINSEL_V1, false, false, Common::kPlatformUnknown, 352600876, 0,  sizeof(fragment2), fragment2},
@@ -182,7 +182,7 @@ const WorkaroundEntry workaroundList[] = {
 	// STRING||| - this happens if you initiate dialog with one of the
 	// guards, but not the other. So these fragments provide the correct
 	// talk parameters where needed.
-	// See bug report #2831159.
+	// See bug report #4512.
 	{TINSEL_V1, false, false, Common::kPlatformUnknown, 310506872, 463, sizeof(fragment4), fragment4},
 	{TINSEL_V1, false, false, Common::kPlatformUnknown, 310506872, 485, sizeof(fragment5), fragment5},
 	{TINSEL_V1, false, false, Common::kPlatformUnknown, 310506872, 513, sizeof(fragment6), fragment6},
@@ -202,8 +202,8 @@ const WorkaroundEntry workaroundList[] = {
 	// which try to disable the bees animation, since they wait
 	// indefinitely for the global to be cleared, incorrectly believing
 	// the animation is currently playing. This includes:
-	//  * Giving the brochure to the beekeeper (bug #2680397)
-	//  * Stealing the mallets from the wizards (bug #2820788).
+	//  * Giving the brochure to the beekeeper (bug #4222)
+	//  * Stealing the mallets from the wizards (bug #4404).
 	// This fix ensures that the global is reset when the Garden scene
 	// is loaded (both entering and restoring a game).
 	{TINSEL_V2, true, false, Common::kPlatformUnknown, 2888147476U, 0, sizeof(fragment3), fragment3},
@@ -214,7 +214,7 @@ const WorkaroundEntry workaroundList[] = {
 
 	// DW1-GRA/SCN: Corrects the dead-end of being able to give the
 	// whistle back to the pirate before giving him the parrot.
-	// See bug report #2934211.
+	// See bug report #4755.
 	{TINSEL_V1, true, false, Common::kPlatformUnknown, 352601285, 1569, sizeof(fragment11), fragment11},
 	{TINSEL_V1, false, false, Common::kPlatformUnknown, 352602304, 1488, sizeof(fragment12), fragment12},
 
diff --git a/engines/tinsel/saveload.cpp b/engines/tinsel/saveload.cpp
index f81170ff96..1eee8d839e 100644
--- a/engines/tinsel/saveload.cpp
+++ b/engines/tinsel/saveload.cpp
@@ -181,7 +181,7 @@ static bool syncSaveGameHeader(Common::Serializer &s, SaveGameHeader &hdr) {
 	// NOTE: We can't use SAVEGAME_ID here when attempting to remove a saved game from the launcher,
 	// as there is no TinselEngine initialized then. This means that we can't check if this is a DW1
 	// or DW2 savegame in this case, but it doesn't really matter, as the saved game is about to be
-	// deleted anyway. Refer to bug #3387551.
+	// deleted anyway. Refer to bug #5819.
 	bool correctID = _vm ? (hdr.id == SAVEGAME_ID) : (hdr.id == DW1_SAVEGAME_ID || hdr.id == DW2_SAVEGAME_ID);
 
 	// Perform sanity check
@@ -208,7 +208,7 @@ static bool syncSaveGameHeader(Common::Serializer &s, SaveGameHeader &hdr) {
 		hdr.numInterpreters = NUM_INTERPRET;
 		s.syncAsUint16LE(hdr.numInterpreters);
 	} else {
-		if(_vm) // See comment above about bug #3387551
+		if(_vm) // See comment above about bug #5819
 			hdr.numInterpreters = (TinselV2 ? 70 : 64) - 20;
 		else
 			hdr.numInterpreters = 50; // This value doesn't matter since the saved game is being deleted.
diff --git a/engines/tinsel/scene.cpp b/engines/tinsel/scene.cpp
index 641c48c766..fe6a2b8913 100644
--- a/engines/tinsel/scene.cpp
+++ b/engines/tinsel/scene.cpp
@@ -192,7 +192,7 @@ static void SceneTinselProcess(CORO_PARAM, const void *param) {
 
 	// The following myEscape value setting is used for enabling title screen skipping in DW1
 	if (TinselV1 && (g_sceneCtr == 1)) g_initialMyEscape = GetEscEvents();
-	// DW1 PSX has its own scene skipping script code for scenes 2 and 3 (bug #3541542).
+	// DW1 PSX has its own scene skipping script code for scenes 2 and 3 (bug #6094).
 	// Same goes for DW1 Mac.
 	_ctx->myEscape = (TinselV1 && (g_sceneCtr < ((TinselV1PSX || TinselV1Mac) ? 2 : 4))) ? g_initialMyEscape : 0;
 
diff --git a/engines/toltecs/detection.cpp b/engines/toltecs/detection.cpp
index ca7a26d63b..5becc84c0f 100644
--- a/engines/toltecs/detection.cpp
+++ b/engines/toltecs/detection.cpp
@@ -58,7 +58,7 @@ static const ToltecsGameDescription gameDescriptions[] = {
 
 	{
 		// 3 Skulls of the Toltecs English version (alternate)
-		// From bug #3614933
+		// From bug #6393
 		{
 			"toltecs",
 			0,
@@ -152,7 +152,7 @@ static const ToltecsGameDescription gameDescriptions[] = {
 
 	{
 		// 3 Skulls of the Toltecs Hungarian version
-		// From bug #3440641
+		// From bug #5902
 		{
 			"toltecs",
 			0,
diff --git a/engines/toltecs/script.cpp b/engines/toltecs/script.cpp
index 01149a14b7..69bc9579b9 100644
--- a/engines/toltecs/script.cpp
+++ b/engines/toltecs/script.cpp
@@ -484,7 +484,7 @@ void ScriptInterpreter::execOpcode(byte opcode) {
 		break;
 	default:
 		// Most likely a script bug. Throw a warning and ignore it.
-		// The original ignores invalid opcodes as well - bug #3604025.
+		// The original ignores invalid opcodes as well - bug #6244.
 		warning("Invalid opcode %d", opcode);
 	}
 
diff --git a/engines/toltecs/toltecs.cpp b/engines/toltecs/toltecs.cpp
index 7d8a6221b9..a224dd0dd9 100644
--- a/engines/toltecs/toltecs.cpp
+++ b/engines/toltecs/toltecs.cpp
@@ -483,7 +483,7 @@ void ToltecsEngine::talk(int16 slotIndex, int16 slotOffset) {
 	byte *scanData = _script->getSlotData(slotIndex) + slotOffset;
 
 	// If there's another talk text at the requested slot and it's still
-	// active, don't overwrite it. Fixes bug #3600166.
+	// active, don't overwrite it. Fixes bug #6224.
 	if (_screen->isTalkTextActive(slotIndex))
 		return;
 
diff --git a/engines/tony/detection_tables.h b/engines/tony/detection_tables.h
index 9e3ac6e9e8..94b9c4d1a5 100644
--- a/engines/tony/detection_tables.h
+++ b/engines/tony/detection_tables.h
@@ -165,7 +165,7 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough German "Gamestar" provided in bug #3566035
+		// Tony Tough German "Gamestar" provided in bug #6138
 		{
 			"tony",
 			0,
@@ -179,7 +179,7 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough Czech provided in bug #3565765
+		// Tony Tough Czech provided in bug #6137
 		{
 			"tony",
 			0,
@@ -207,7 +207,7 @@ static const TonyGameDescription gameDescriptions[] = {
 	},
 
 	{
-		// Tony Tough German "Shoe Box", reported in bug #3582420
+		// Tony Tough German "Shoe Box", reported in bug #6174
 		{
 			"tony",
 			0,
diff --git a/engines/touche/detection.cpp b/engines/touche/detection.cpp
index 765df9cba4..96db953255 100644
--- a/engines/touche/detection.cpp
+++ b/engines/touche/detection.cpp
@@ -41,7 +41,7 @@ static const ADGameDescription gameDescriptions[] = {
 		ADGF_NO_FLAGS,
 		GUIO0()
 	},
-	{ // retail version - tracker item #1601818
+	{ // retail version - tracker item #2923
 		"touche",
 		"",
 		AD_ENTRY1s("touche.dat", "95967f0b51d2e813e99ca00325098340", 26350190),
@@ -59,7 +59,7 @@ static const ADGameDescription gameDescriptions[] = {
 		ADGF_NO_FLAGS,
 		GUIO0()
 	},
-	{ // retail version - tracker item #1598643
+	{ // retail version - tracker item #2912
 		"touche",
 		"",
 		AD_ENTRY1s("touche.dat", "be2ae6454b3325e410946f2322547cd4", 26625537),
@@ -68,7 +68,7 @@ static const ADGameDescription gameDescriptions[] = {
 		ADGF_NO_FLAGS,
 		GUIO0()
 	},
-	{ // retail version - tracker item #1681643
+	{ // retail version - tracker item #3121
 		"touche",
 		"",
 		AD_ENTRY1s("touche.dat", "64e95ba1decf5a5a60f8fa1840f40c62", 26529523),
@@ -77,7 +77,7 @@ static const ADGameDescription gameDescriptions[] = {
 		ADGF_NO_FLAGS,
 		GUIO0()
 	},
-	{ // fan-made translation (http://www.iagtg.net/) - tracker item #1602360
+	{ // fan-made translation (http://www.iagtg.net/) - tracker item #2927
 		"touche",
 		"",
 		AD_ENTRY1s("touche.dat", "1f442331d4b327c3488a9f6ffe9bdd25", 26367792),
@@ -86,7 +86,7 @@ static const ADGameDescription gameDescriptions[] = {
 		ADGF_NO_FLAGS,
 		GUIO0()
 	},
-	{ // retail version - tracker item #1800500
+	{ // retail version - tracker item #3409
 		"touche",
 		"",
 		AD_ENTRY1s("touche.dat", "42d19a0bef65465109020440a9caa228", 26487370),
diff --git a/engines/touche/opcodes.cpp b/engines/touche/opcodes.cpp
index 5c29d82f94..0cf0f5929e 100644
--- a/engines/touche/opcodes.cpp
+++ b/engines/touche/opcodes.cpp
@@ -484,7 +484,7 @@ void ToucheEngine::op_updateRoom() {
 	int16 area = _script.readNextWord();
 	updateRoomAreas(area, 0);
 
-	// Workaround for bug #1618700. Beggar sign (area 25) should be displayed even
+	// Workaround for bug #2952. Beggar sign (area 25) should be displayed even
 	// if Henri isn't present in the room.
 	//
 	//  [00B3] (1D) ST[0] = FLAGS[2]
@@ -551,7 +551,7 @@ void ToucheEngine::op_initKeyCharScript() {
 	setKeyCharTextColor(keyChar, color);
 	initKeyCharScript(keyChar, f1, f2, f3);
 
-	// Workaround for bug #1622114. KeyChar 3 script must be running in order to complete the
+	// Workaround for bug #2962. KeyChar 3 script must be running in order to complete the
 	// rope+torch puzzle.
 	//
 	// FLAG[500] : 1 if Cardinal cutscene has already been played
@@ -782,7 +782,7 @@ void ToucheEngine::op_addItemToInventoryAndRedraw() {
 		keyChar = _currentKeyCharNum;
 	}
 
-	// Workaround for bug #1623356. The original script allows you to either use the
+	// Workaround for bug #2966. The original script allows you to either use the
 	// "waxy knife" (object 72) or the dagger (object 7) on the rope. But in both
 	// situations, only the dagger is put back in the inventory.
 	//
@@ -842,7 +842,7 @@ void ToucheEngine::op_fadePalette() {
 	debugC(9, kDebugOpcodes, "ToucheEngine::op_fadePalette()");
 	int16 fadeOut = _script.readNextWord();
 	int colorsCount = 240;
-	// Workaround for bug #1751149. Script triggers a palette fading, but some
+	// Workaround for bug #3305. Script triggers a palette fading, but some
 	// of the room graphics use palette colors >= 240.
 	if (_currentEpisodeNum == 104 && _currentRoomNum == 68) {
 		colorsCount = 256;
diff --git a/engines/touche/resource.cpp b/engines/touche/resource.cpp
index 49c342cde0..5acc89dfb3 100644
--- a/engines/touche/resource.cpp
+++ b/engines/touche/resource.cpp
@@ -539,7 +539,7 @@ void ToucheEngine::res_loadBackdrop() {
 			break;
 		}
 	}
-	// Workaround for bug #1751149 (original bitmap has a white pixel in its transparent area).
+	// Workaround for bug #3305 (original bitmap has a white pixel in its transparent area).
 	if (_currentRoomNum == 8 && _currentBitmapWidth == 860) {
 		_backdropBuffer[120 * _currentBitmapWidth + 734] = 0;
 	}
diff --git a/engines/touche/staticres.cpp b/engines/touche/staticres.cpp
index d2359dd130..94df792bed 100644
--- a/engines/touche/staticres.cpp
+++ b/engines/touche/staticres.cpp
@@ -889,7 +889,7 @@ const uint8 Graphics::_freGerFontData[] = {
 	0xC0, 0x00, 0x00,
 };
 
-// spanish charset differs from original executable, see tracker item #2040311.
+// spanish charset differs from original executable, see tracker item #3851.
 // We remap missing accented upper case letters from CP850 to their unaccented
 // ASCII variants. Specifically, 0xB5 -> A, 0xD6 -> I, 0xE0 -> O, 0xE9 -> U,
 // 0xEF -> '
diff --git a/engines/touche/touche.cpp b/engines/touche/touche.cpp
index 61fbc49351..b8b4bfbc2c 100644
--- a/engines/touche/touche.cpp
+++ b/engines/touche/touche.cpp
@@ -2039,7 +2039,7 @@ void ToucheEngine::updateRoomAreas(int num, int flags) {
 		if (_programAreaTable[i].id == num) {
 			Area area = _programAreaTable[i].area;
 			if (i == 14 && _currentRoomNum == 8 && area.r.left == 715) {
-				// Workaround for bug #1751170. area[14].r.left (update rect) should
+				// Workaround for bug #3306. area[14].r.left (update rect) should
 				// be equal to area[7].r.left (redraw rect) but it's one off, which
 				// leads to a glitch when that room area needs to be redrawn.
 				area.r.left = 714;
diff --git a/engines/tucker/locations.cpp b/engines/tucker/locations.cpp
index d78eacc55d..f1a771010b 100644
--- a/engines/tucker/locations.cpp
+++ b/engines/tucker/locations.cpp
@@ -2481,7 +2481,7 @@ void TuckerEngine::updateSprite_locationNum58(int i) {
 }
 
 void TuckerEngine::execData3PreUpdate_locationNum58() {
-	// workaround original game glitch #2872348: do not change position on location change
+	// workaround original game glitch #4638: do not change position on location change
 	if (_nextLocation == kLocationNone && _flagsTable[190] < 3 && _xPosCurrent > 310) {
 		_xPosCurrent = 310;
 		_panelLockedFlag = false;
diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index 986fabd6fc..fc02064be8 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -1316,7 +1316,7 @@ void TuckerEngine::updateData3() {
 				a->_drawFlag = false;
 			}
 			if (_location == kLocationStoreRoom && i == 0) {
-				// workaround bug #2872385: update fish animation sequence for correct
+				// workaround bug #4642: update fish animation sequence for correct
 				// position in aquarium.
 				if (a->_animInitCounter == 505 && a->_animCurrentCounter == 513) {
 					a->_animCurrentCounter = 525;
diff --git a/gui/dialog.cpp b/gui/dialog.cpp
index 1cea4a6f81..57612f7f09 100644
--- a/gui/dialog.cpp
+++ b/gui/dialog.cpp
@@ -62,8 +62,8 @@ Dialog::Dialog(const Common::String &name)
 	// resolution change, so widgets will be off screen. This forces it to
 	// recompute
 	//
-	// Fixes bug #1590596: "HE: When 3x graphics are choosen, F5 crashes game"
-	// and bug #1595627: "SCUMM: F5 crashes game (640x480)"
+	// Fixes bug #2892: "HE: When 3x graphics are choosen, F5 crashes game"
+	// and bug #2903: "SCUMM: F5 crashes game (640x480)"
 	g_gui.checkScreenChange();
 
 	_result = -1;
diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp
index e7a8563b35..8d582d2261 100644
--- a/gui/gui-manager.cpp
+++ b/gui/gui-manager.cpp
@@ -421,7 +421,7 @@ void GuiManager::runLoop() {
 
 	// WORKAROUND: When quitting we might not properly close the dialogs on
 	// the dialog stack, thus we do this here to avoid any problems.
-	// This is most noticable in bug #3481395 "LAUNCHER: Can't quit from unsupported game dialog".
+	// This is most noticable in bug #5954 "LAUNCHER: Can't quit from unsupported game dialog".
 	// It seems that Dialog::runModal never removes the dialog from the dialog
 	// stack, thus if the dialog does not call Dialog::close to close itself
 	// it will never be removed. Since we can have multiple run loops being
diff --git a/gui/options.cpp b/gui/options.cpp
index 969cd3e882..cf09c5543b 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -655,7 +655,7 @@ void OptionsDialog::apply() {
 		// the GUI a chance to update it's internal state. Otherwise we might
 		// get a crash when the GUI tries to grab the overlay.
 		//
-		// This fixes bug #3303501 "Switching from HQ2x->HQ3x crashes ScummVM"
+		// This fixes bug #5703 "Switching from HQ2x->HQ3x crashes ScummVM"
 		//
 		// It is important that this is called *before* any of the current
 		// dialog's widgets are destroyed (for example before
diff --git a/test/cxxtest_mingw.h b/test/cxxtest_mingw.h
index 380f638640..922598825a 100644
--- a/test/cxxtest_mingw.h
+++ b/test/cxxtest_mingw.h
@@ -3,7 +3,7 @@
 #define CXXTEST_MINGW
 
 // HACK to allow building with the SDL backend on MinGW
-// see bug #1800764 "TOOLS: MinGW tools building broken"
+// see bug #3412 "TOOLS: MinGW tools building broken"
 #ifdef main
 #undef main
 #endif // main


Commit: 76bf73ff461bb4b67f93dc711f874e67369cbffd
    https://github.com/scummvm/scummvm/commit/76bf73ff461bb4b67f93dc711f874e67369cbffd
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2021-03-03T02:15:05+02:00

Commit Message:
NEWS: Retroactively update old bug tracker numbers

Changed paths:
    NEWS.md


diff --git a/NEWS.md b/NEWS.md
index defda690fe..30bf91ce54 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1211,7 +1211,7 @@ For a more comprehensive changelog of the latest experimental code, see:
    - Implemented Roland MT-32 output driver.
 
  Drascula:
-   - Added Spanish subtitles in the Von Braun cutscene (#3069981: no subtitles
+   - Added Spanish subtitles in the Von Braun cutscene (#5372: no subtitles
      in scene with "von Braun").
 
  Gob:
@@ -1398,7 +1398,7 @@ For a more comprehensive changelog of the latest experimental code, see:
      glitches remain so not official supported.
 
  Drascula:
-   - Added German and French subtitles in the Von Braun cutscene (#3069981:
+   - Added German and French subtitles in the Von Braun cutscene (#5372:
      no subtitles in scene with "von Braun").
    - Improved French translation of the game.
    - Added support for "Return To Launcher".
@@ -1593,7 +1593,7 @@ For a more comprehensive changelog of the latest experimental code, see:
  Broken Sword 2:
    - Fixed missing speech in some cutscenes.
    - Fixed a memory leak that would eventually cause the game to hang.
-     (#2976008 - BS2: Game lockup in British Museum)
+     (#4828 - BS2: Game lockup in British Museum)
 
  Drascula:
    - Fixed number of GFX glitches.
@@ -1658,7 +1658,7 @@ For a more comprehensive changelog of the latest experimental code, see:
 
  Drascula:
    - Fixed regression that caused some texts to always be in English, even when
-     using another language. (#2970211 - DRASCULA: missing german translation)
+     using another language. (#4819 - DRASCULA: missing german translation)
 
  KYRA:
    - Fixed a bug which caused the DOS versions to crash before the credits when
@@ -2328,7 +2328,7 @@ For a more comprehensive changelog of the latest experimental code, see:
    - Fixed last-minute crash when playing sound effects.
 
  WinCE Port:
-   - Should fix weird crashes with DOTT stamp and in FOA. (#1399830 #1392815)
+   - Should fix weird crashes with DOTT stamp and in FOA. (#2439 #2430)
    - Fixed Monkey Island blocking keyboard panel on Smartphones. (thks Knakos)
    - Fixed QVGA Smartphone detection (mean it this time :p).
    - Fixed Smartphone double right click issue.




More information about the Scummvm-git-logs mailing list