Permalink
Browse files

SCI: Restrict some workarounds to certain temps

Also add a bit more documentation / Fix some documentation
  • Loading branch information...
m-kiewitz committed Oct 8, 2017
1 parent 2b8cd34 commit 656de5e360eab8aeedb7635ba2a492d2fc116fe6
Showing with 5 additions and 4 deletions.
  1. +5 −4 engines/sci/engine/workarounds.cpp
@@ -282,6 +282,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
{ GID_CNICK_LAURABOW, -1, 700, 0, NULL, "open", NULL, -1, -1, { WORKAROUND_FAKE, 0 } }, // when entering control menu - bug #6423 (same as the gcWindow workaround for Hoyle 3)
{ GID_CNICK_LAURABOW,100, 100, 0, NULL, "<noname144>", NULL, 1, 1, { WORKAROUND_FAKE, 0 } }, // while playing domino - bug #6429 (same as the dominoHand2 workaround for Hoyle 3)
{ GID_CNICK_LAURABOW,100, 110, 0, NULL, "doit", NULL, -1, -1, { WORKAROUND_FAKE, 0 } }, // when changing the "Dominoes per hand" setting - bug #6430
{ GID_CNICK_LSL, 250, 250, 0, "increase", "handleEvent", NULL, 2, 2, { WORKAROUND_FAKE, 0 } }, // when increasing bet for blackjack - bug #10184
{ GID_CNICK_LONGBOW, 0, 0, 0, "RH Budget", "init", NULL, 1, 1, { WORKAROUND_FAKE, 0 } }, // when starting the game
{ GID_ECOQUEST, -1, -1, 0, NULL, "doVerb", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // almost clicking anywhere triggers this in almost all rooms
{ GID_FANMADE, 516, 979, 0, "", "export 0", NULL, 20, 20, { WORKAROUND_FAKE, 0 } }, // Happens in Grotesteing after the logos
@@ -328,14 +329,14 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
{ GID_ISLANDBRAIN, 180, 190, 0, "word", "dispatchEvent", NULL, 14, 15, { WORKAROUND_FAKE, 0 } }, // holding down enter key during the word search puzzle, temps 14 and 15
{ GID_ISLANDBRAIN, 200, 268, 0, "anElement", "select", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // elements puzzle, gets used before super TextIcon
{ GID_JONES, 1, 232, 0, "weekendText", "draw", sig_uninitread_jones_1, 0, 0, { WORKAROUND_FAKE, 0 } }, // jones/cd only - gets called during the game
{ GID_JONES, 1, 255, 0, "", "export 0", NULL, -1, -1, { WORKAROUND_FAKE, 0 } }, // jones/cd only - called when a game ends, temps 13 and 14
{ GID_JONES, 764, 255, 0, "", "export 0", NULL, -1, -1, { WORKAROUND_FAKE, 0 } }, // jones/ega&vga only - called when the game starts, temps 13 and 14
{ GID_JONES, 1, 255, 0, "", "export 0", NULL, 13, 14, { WORKAROUND_FAKE, 0 } }, // jones/cd only - called when a game ends, temps 13 and 14
{ GID_JONES, 764, 255, 0, "", "export 0", NULL, 13, 14, { WORKAROUND_FAKE, 0 } }, // jones/ega&vga only - called when the game starts, temps 13 and 14
//{ GID_KQ5, -1, 0, 0, "", "export 29", NULL, 3, 3, { WORKAROUND_FAKE, 0xf } }, // called when playing harp for the harpies or when aborting dialog in toy shop, is used for kDoAudio - bug #4961
// ^^ shouldn't be needed anymore, we got a script patch instead (kq5PatchCdHarpyVolume)
{ GID_KQ5, 25, 25, 0, "rm025", "doit", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // inside witch forest, when going to the room where the walking rock is
{ GID_KQ5, 55, 55, 0, "helpScript", "doit", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // when giving the tambourine to the monster in the labyrinth (only happens at one of the locations) - bug #5198
{ GID_KQ5, -1, 755, 0, "gcWin", "open", NULL, -1, -1, { WORKAROUND_FAKE, 0 } }, // when entering control menu in the FM-Towns version
{ GID_KQ6, -1, 30, 0, "rats", "changeState", NULL, -1, -1, { WORKAROUND_FAKE, 0 } }, // rats in the catacombs (temps 1 - 5) - bugs #4958, #4998, #5017
{ GID_KQ6, -1, 30, 0, "rats", "changeState", NULL, 0, 5, { WORKAROUND_FAKE, 0 } }, // rats in the catacombs (temps 0-5, all temps!) - bugs #4958, #4998, #5017
{ GID_KQ6, 210, 210, 0, "rm210", "scriptCheck", NULL, 0, 0, { WORKAROUND_FAKE, 1 } }, // using inventory in that room - bug #4953
{ GID_KQ6, 500, 500, 0, "rm500", "init", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // going to island of the beast
{ GID_KQ6, 520, 520, 0, "rm520", "init", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // going to boiling water trap on beast isle
@@ -363,7 +364,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
{ GID_LSL2, 38, 38, 0, "cloudScript", "changeState", NULL, 1, 1, { WORKAROUND_FAKE, 0 } }, // entering the room in the middle deck of the ship - bug #5034
{ GID_LSL3, 340, 340, 0, "ComicScript", "changeState", NULL, -1, -1, { WORKAROUND_FAKE, 0 } }, // right after entering the 3 ethnic groups inside comedy club (temps 200, 201, 202, 203)
{ GID_LSL3, -1, 997, 0, "TheMenuBar", "handleEvent", NULL, 1, 1, { WORKAROUND_FAKE, 0xf } }, // when setting volume the first time, this temp is used to set volume on entry (normally it would have been initialized to 's')
{ GID_LSL6, 820, 82, 0, "", "export 0", NULL, -1, -1, { WORKAROUND_FAKE, 0 } }, // when touching the electric fence - bug #5103
{ GID_LSL6, 820, 82, 0, "", "export 0", NULL, 0, 326, { WORKAROUND_FAKE, 0 } }, // when touching the electric fence (temp 193 for English release, temp 293 for French/German, temp 313 for Spanish - used for setting the loop of the death animation), it's not setting it for this death - bug #5103
{ GID_LSL6, -1, 85, 0, "washcloth", "doVerb", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // washcloth in inventory
{ GID_LSL6, -1, 928, -1, "Narrator", "startText", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // used by various objects that are even translated in foreign versions, that's why we use the base-class
{ GID_LSL6HIRES, -1, 85, 0, "LL6Inv", "init", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // when creating a new game

0 comments on commit 656de5e

Please sign in to comment.