[Scummvm-git-logs] scummvm master -> 05d0d21abd6f4b78a400a0ca3b16cd0e439c55f1

sluicebox noreply at scummvm.org
Sat Jan 24 17:53:22 UTC 2026


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

Summary:
1d4033f842 HUGO: Fix autopilot velocity calculation
05d0d21abd HUGO: Fix HUGO2 DOS delays in static data


Commit: 1d4033f842c0e56e71eb17653d7bcab6404b946a
    https://github.com/scummvm/scummvm/commit/1d4033f842c0e56e71eb17653d7bcab6404b946a
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2026-01-24T09:48:51-08:00

Commit Message:
HUGO: Fix autopilot velocity calculation

We were truncating 32-bit integers to 8 bits before testing their sign.
This bug was introduced when converting a macro to a template function.
If an object's target was more than 127 pixels to the left then the
object would move to the right instead of the left.

- Fixes HUGO1 dog not chasing the chop
- Fixes HUGO2 bees flying away from zapper

Changed paths:
    engines/hugo/object.h
    engines/hugo/object_v1d.cpp
    engines/hugo/object_v2d.cpp


diff --git a/engines/hugo/object.h b/engines/hugo/object.h
index 573379de6d6..d327c73e463 100644
--- a/engines/hugo/object.h
+++ b/engines/hugo/object.h
@@ -116,8 +116,7 @@ protected:
 	void restoreSeq(Object *obj);
 
 	inline bool checkBoundary(int16 x, int16 y);
-	template<typename T>
-	inline int sign(T a) { if ( a < 0) return -1; else return 1; }
+	static inline int sign(int a) { return (a < 0) ? -1 : 1; }
 };
 
 class ObjectHandler_v1d : public ObjectHandler {
diff --git a/engines/hugo/object_v1d.cpp b/engines/hugo/object_v1d.cpp
index f6aeefe6c0d..7deea3ab347 100644
--- a/engines/hugo/object_v1d.cpp
+++ b/engines/hugo/object_v1d.cpp
@@ -376,11 +376,11 @@ void ObjectHandler_v1d::homeIn(int objIndex1, const int objIndex2, const int8 ob
 		dy = 1;
 
 	if (abs(dx) > abs(dy)) {
-		obj1->_vx = objDx * -sign<int8>(dx);
-		obj1->_vy = abs((objDy * dy) / dx) * -sign<int8>(dy);
+		obj1->_vx = objDx * -sign(dx);
+		obj1->_vy = abs((objDy * dy) / dx) * -sign(dy);
 	} else {
-		obj1->_vy = objDy * sign<int8>(dy);
-		obj1->_vx = abs((objDx * dx) / dy) * sign<int8>(dx);
+		obj1->_vy = objDy * sign(dy);
+		obj1->_vx = abs((objDx * dx) / dy) * sign(dx);
 	}
 }
 } // End of namespace Hugo
diff --git a/engines/hugo/object_v2d.cpp b/engines/hugo/object_v2d.cpp
index 23db45148ee..5c54e0ad5b6 100644
--- a/engines/hugo/object_v2d.cpp
+++ b/engines/hugo/object_v2d.cpp
@@ -372,11 +372,11 @@ void ObjectHandler_v2d::homeIn(const int objIndex1, const int objIndex2, const i
 		dy = 1;
 
 	if (abs(dx) > abs(dy)) {
-		obj1->_vx = objDx * -sign<int8>(dx);
-		obj1->_vy = abs((objDy * dy) / dx) * -sign<int8>(dy);
+		obj1->_vx = objDx * -sign(dx);
+		obj1->_vy = abs((objDy * dy) / dx) * -sign(dy);
 	} else {
-		obj1->_vy = objDy * -sign<int8>(dy);
-		obj1->_vx = abs((objDx * dx) / dy) * -sign<int8>(dx);
+		obj1->_vy = objDy * -sign(dy);
+		obj1->_vx = abs((objDx * dx) / dy) * -sign(dx);
 	}
 }
 } // End of namespace Hugo


Commit: 05d0d21abd6f4b78a400a0ca3b16cd0e439c55f1
    https://github.com/scummvm/scummvm/commit/05d0d21abd6f4b78a400a0ca3b16cd0e439c55f1
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2026-01-24T09:48:51-08:00

Commit Message:
HUGO: Fix HUGO2 DOS delays in static data

HUGO2 DOS runs at 8 ticks per second. We are handling this correctly
in the engine, but in the static data we declared 9 ticks per second.

Fixes delays taking too long in the introduction and elsewhere.

Previously: bf787323ab235c08819771ef2886bf6fee6e2e34

Changed paths:
    devtools/create_hugo/staticdata.h
    dists/engine-data/hugo.dat


diff --git a/devtools/create_hugo/staticdata.h b/devtools/create_hugo/staticdata.h
index 372d8886f34..7f7487bfaad 100644
--- a/devtools/create_hugo/staticdata.h
+++ b/devtools/create_hugo/staticdata.h
@@ -38,8 +38,9 @@
 #define LIPDY            8
 #define DARTTIME         70                         // This many ticks to fall asleep
 #define NORMAL_TPS_v1d   8                          // Number of ticks (frames) per second
-#define NORMAL_TPS_v2d   9                          // Number of ticks (frames) per second
-#define STORYDELAY       (5 * NORMAL_TPS_v2d)
+#define NORMAL_TPS_v3d   9                          // Number of ticks (frames) per second
+#define STORYDELAY_v2d   (5 * NORMAL_TPS_v1d)
+#define STORYDELAY_v2w   (5 * NORMAL_TPS_v3d)
 
 //***************************************************************************
 // Hugo 1 Windows
@@ -5732,31 +5733,31 @@ int openrep_1w[] = {kSTsopenr_1w, -1};
 // Action lists (suffix with 0)
 // These are the various actions, referred to in the command lists and/or
 // referenced directly as part of screen actions
-act0 areplight_1w  = {ASCHEDULE, 11 * NORMAL_TPS_v2d, kALightning_1w};
-act0 arepeye_1w    = {ASCHEDULE, 8 * NORMAL_TPS_v2d,  kALblinkeyes1_1w};
-act0 arepbat_1w    = {ASCHEDULE, 12 * NORMAL_TPS_v2d, kALbat_1w};
-act0 arepeye2_1w   = {ASCHEDULE, 8 * NORMAL_TPS_v2d,  kALblinkeyes2_1w};
-act0 arepredeye_1w = {ASCHEDULE, 6 * NORMAL_TPS_v2d,  kALrepredeye_1w};
-act0 areplips_1w   = {ASCHEDULE, 4 * NORMAL_TPS_v2d,  kALreplips_1w};
-act0 areparm_1w    = {ASCHEDULE, 5 * NORMAL_TPS_v2d,  kALreparm_1w};
+act0 areplight_1w  = {ASCHEDULE, 11 * NORMAL_TPS_v3d, kALightning_1w};
+act0 arepeye_1w    = {ASCHEDULE, 8 * NORMAL_TPS_v3d,  kALblinkeyes1_1w};
+act0 arepbat_1w    = {ASCHEDULE, 12 * NORMAL_TPS_v3d, kALbat_1w};
+act0 arepeye2_1w   = {ASCHEDULE, 8 * NORMAL_TPS_v3d,  kALblinkeyes2_1w};
+act0 arepredeye_1w = {ASCHEDULE, 6 * NORMAL_TPS_v3d,  kALrepredeye_1w};
+act0 areplips_1w   = {ASCHEDULE, 4 * NORMAL_TPS_v3d,  kALreplips_1w};
+act0 areparm_1w    = {ASCHEDULE, 5 * NORMAL_TPS_v3d,  kALreparm_1w};
 act0 adead_1w      = {ASCHEDULE, 0,                   kALdead_1w};
-act0 arepbata_1w   = {ASCHEDULE, 3 * NORMAL_TPS_v2d,  kALbatrep_1w};
+act0 arepbata_1w   = {ASCHEDULE, 3 * NORMAL_TPS_v3d,  kALbatrep_1w};
 act0 ajailrep_1w   = {ASCHEDULE, 4,                   kALjailrep_1w};
-act0 aend_1w       = {ASCHEDULE, 4 * NORMAL_TPS_v2d,  kALend_1w};
-act0 arepbox_1w    = {ASCHEDULE, NORMAL_TPS_v2d,      kALbox_1w};
+act0 aend_1w       = {ASCHEDULE, 4 * NORMAL_TPS_v3d,  kALend_1w};
+act0 arepbox_1w    = {ASCHEDULE, NORMAL_TPS_v3d,      kALbox_1w};
 act0 aweird_1w     = {ASCHEDULE, 16,                  kALweird_1w};
 act0 acycle_1w     = {ASCHEDULE, 0,                   kALcycle_1w};
 
-act1 aopendoor1a_1w  = {START_OBJ, NORMAL_TPS_v2d,         DOOR1_1w,    1, CYCLE_FORWARD};
-act1 aclosedoor1_1w  = {START_OBJ, NORMAL_TPS_v2d,         DOOR1_1w,    1, CYCLE_BACKWARD};
+act1 aopendoor1a_1w  = {START_OBJ, NORMAL_TPS_v3d,         DOOR1_1w,    1, CYCLE_FORWARD};
+act1 aclosedoor1_1w  = {START_OBJ, NORMAL_TPS_v3d,         DOOR1_1w,    1, CYCLE_BACKWARD};
 act1 ablink1a_1w     = {START_OBJ, 0,                      EYES1_1w,    0, INVISIBLE};
 act1 ablink1b_1w     = {START_OBJ, 1,                      EYES1_1w,    0, NOT_CYCLING};
 act1 ablink1c_1w     = {START_OBJ, 2,                      EYES1_1w,    0, INVISIBLE};
 act1 ablink1d_1w     = {START_OBJ, 3,                      EYES1_1w,    0, NOT_CYCLING};
-act1 ablink2a_1w     = {START_OBJ, 3 * NORMAL_TPS_v2d,     EYES2_1w,    0, INVISIBLE};
-act1 ablink2b_1w     = {START_OBJ, 3 * NORMAL_TPS_v2d + 1, EYES2_1w,    0, NOT_CYCLING};
-act1 ablink2c_1w     = {START_OBJ, 3 * NORMAL_TPS_v2d + 2, EYES2_1w,    0, INVISIBLE};
-act1 ablink2d_1w     = {START_OBJ, 3 * NORMAL_TPS_v2d + 3, EYES2_1w,    0, NOT_CYCLING};
+act1 ablink2a_1w     = {START_OBJ, 3 * NORMAL_TPS_v3d,     EYES2_1w,    0, INVISIBLE};
+act1 ablink2b_1w     = {START_OBJ, 3 * NORMAL_TPS_v3d + 1, EYES2_1w,    0, NOT_CYCLING};
+act1 ablink2c_1w     = {START_OBJ, 3 * NORMAL_TPS_v3d + 2, EYES2_1w,    0, INVISIBLE};
+act1 ablink2d_1w     = {START_OBJ, 3 * NORMAL_TPS_v3d + 3, EYES2_1w,    0, NOT_CYCLING};
 act1 aridpkin_1w     = {START_OBJ, 0,                      PKIN_1w,     0, INVISIBLE};
 act1 ashowkey_1w     = {START_OBJ, 0,                      KEY_1w,      0, NOT_CYCLING};
 act1 aridprof_1w     = {START_OBJ, 130 / DX,               PROF_1w,     0, INVISIBLE};
@@ -5766,19 +5767,19 @@ act1 ablink3a_1w     = {START_OBJ, 0,                      EYES3_1w,    0, INVIS
 act1 ablink3b_1w     = {START_OBJ, 1,                      EYES3_1w,    0, NOT_CYCLING};
 act1 ablink3c_1w     = {START_OBJ, 2,                      EYES3_1w,    0, INVISIBLE};
 act1 ablink3d_1w     = {START_OBJ, 3,                      EYES3_1w,    0, NOT_CYCLING};
-act1 ablink4a_1w     = {START_OBJ, 3 * NORMAL_TPS_v2d,     EYES4_1w,    0, INVISIBLE};
-act1 ablink4b_1w     = {START_OBJ, 3 * NORMAL_TPS_v2d + 1, EYES4_1w,    0, NOT_CYCLING};
-act1 ablink4c_1w     = {START_OBJ, 3 * NORMAL_TPS_v2d + 2, EYES4_1w,    0, INVISIBLE};
-act1 ablink4d_1w     = {START_OBJ, 3 * NORMAL_TPS_v2d + 3, EYES4_1w,    0, NOT_CYCLING};
+act1 ablink4a_1w     = {START_OBJ, 3 * NORMAL_TPS_v3d,     EYES4_1w,    0, INVISIBLE};
+act1 ablink4b_1w     = {START_OBJ, 3 * NORMAL_TPS_v3d + 1, EYES4_1w,    0, NOT_CYCLING};
+act1 ablink4c_1w     = {START_OBJ, 3 * NORMAL_TPS_v3d + 2, EYES4_1w,    0, INVISIBLE};
+act1 ablink4d_1w     = {START_OBJ, 3 * NORMAL_TPS_v3d + 3, EYES4_1w,    0, NOT_CYCLING};
 act1 a115b_1w        = {START_OBJ, 0,                      MASK_1w,     0, NOT_CYCLING};
 act1 acupknife_1w    = {START_OBJ, 0,                      KNIFE_1w,    0, NOT_CYCLING};
 act1 acupwhist_1w    = {START_OBJ, 0,                      WHISTLE_1w,  0, NOT_CYCLING};
-act1 aopenwdoorl_1w  = {START_OBJ, NORMAL_TPS_v2d,         WDOORL_1w,   1, CYCLE_FORWARD};
-act1 aopenwdoorr_1w  = {START_OBJ, NORMAL_TPS_v2d,         WDOORR_1w,   1, CYCLE_FORWARD};
-act1 aopenwd1_1w     = {START_OBJ, NORMAL_TPS_v2d,         MASK_1w,     1, NOT_CYCLING};
-act1 aclosewdoorl_1w = {START_OBJ, NORMAL_TPS_v2d,         WDOORL_1w,   1, CYCLE_BACKWARD};
-act1 aclosewdoorr_1w = {START_OBJ, NORMAL_TPS_v2d,         WDOORR_1w,   1, CYCLE_BACKWARD};
-act1 abut1_1w        = {START_OBJ, 4 * NORMAL_TPS_v2d,     BUTLER_1w,   0, CYCLE_FORWARD};
+act1 aopenwdoorl_1w  = {START_OBJ, NORMAL_TPS_v3d,         WDOORL_1w,   1, CYCLE_FORWARD};
+act1 aopenwdoorr_1w  = {START_OBJ, NORMAL_TPS_v3d,         WDOORR_1w,   1, CYCLE_FORWARD};
+act1 aopenwd1_1w     = {START_OBJ, NORMAL_TPS_v3d,         MASK_1w,     1, NOT_CYCLING};
+act1 aclosewdoorl_1w = {START_OBJ, NORMAL_TPS_v3d,         WDOORL_1w,   1, CYCLE_BACKWARD};
+act1 aclosewdoorr_1w = {START_OBJ, NORMAL_TPS_v3d,         WDOORR_1w,   1, CYCLE_BACKWARD};
+act1 abut1_1w        = {START_OBJ, 4 * NORMAL_TPS_v3d,     BUTLER_1w,   0, CYCLE_FORWARD};
 act1 abut6d_1w       = {START_OBJ, 7,                      HERO,        0, INVISIBLE};
 act1 abut6f_1w       = {START_OBJ, 7,                      HDLSHERO_1w, 0, NOT_CYCLING};
 act1 ashowchop_1w    = {START_OBJ, 0,                      CHOP_1w,     0, NOT_CYCLING};
@@ -5797,11 +5798,11 @@ act1 adead1_1w       = {START_OBJ, 0,                      HERO,        0, INVIS
 act1 adead3_1w       = {START_OBJ, 0,                      HERODEAD_1w, 0, NOT_CYCLING};
 act1 amovecarp1_1w   = {START_OBJ, 0,                      CARPET_1w,   0, INVISIBLE};
 act1 amovecarp2_1w   = {START_OBJ, 0,                      TRAP_1w,     0, NOT_CYCLING};
-act1 aopentrap_1w    = {START_OBJ, NORMAL_TPS_v2d,         TRAP_1w,     1, CYCLE_FORWARD};
-act1 aclosetrap_1w   = {START_OBJ, NORMAL_TPS_v2d,         TRAP_1w,     1, CYCLE_BACKWARD};
-act1 amdoor1_1w      = {START_OBJ, NORMAL_TPS_v2d,         MDOOR_1w,    1, CYCLE_FORWARD};
-act1 amdoor2_1w      = {START_OBJ, 3 * NORMAL_TPS_v2d,     MDOOR_1w,    0, INVISIBLE};
-act1 amum1_1w        = {START_OBJ, 2 * NORMAL_TPS_v2d,     MUMMY_1w,    0, CYCLE_FORWARD};
+act1 aopentrap_1w    = {START_OBJ, NORMAL_TPS_v3d,         TRAP_1w,     1, CYCLE_FORWARD};
+act1 aclosetrap_1w   = {START_OBJ, NORMAL_TPS_v3d,         TRAP_1w,     1, CYCLE_BACKWARD};
+act1 amdoor1_1w      = {START_OBJ, NORMAL_TPS_v3d,         MDOOR_1w,    1, CYCLE_FORWARD};
+act1 amdoor2_1w      = {START_OBJ, 3 * NORMAL_TPS_v3d,     MDOOR_1w,    0, INVISIBLE};
+act1 amum1_1w        = {START_OBJ, 2 * NORMAL_TPS_v3d,     MUMMY_1w,    0, CYCLE_FORWARD};
 act1 arock2_1w       = {START_OBJ, 0,                      HERO,        0, CYCLE_FORWARD};
 act1 arock7_1w       = {START_OBJ, 20,                     HERO,        0, NOT_CYCLING};
 act1 arock9_1w       = {START_OBJ, 40,                     HERO,        0, CYCLE_FORWARD};
@@ -5810,7 +5811,7 @@ act1 abin2_1w        = {START_OBJ, 0,                      HERO,        0, INVIS
 act1 aridbung_1w     = {START_OBJ, 0,                      BUNG_1w,     0, INVISIBLE};
 act1 about2_1w       = {START_OBJ, 0,                      HERO,        0, NOT_CYCLING};
 act1 ajail2_1w       = {START_OBJ, 0,                      HERO,        0, CYCLE_FORWARD};
-act1 atheend1_1w     = {START_OBJ, 5 * NORMAL_TPS_v2d,     HERO,        0, INVISIBLE};
+act1 atheend1_1w     = {START_OBJ, 5 * NORMAL_TPS_v3d,     HERO,        0, INVISIBLE};
 act1 aguardgo2_1w    = {START_OBJ, 0,                      GUARD_1w,    0, CYCLE_FORWARD};
 act1 alab5_1w        = {START_OBJ, 0,                      PROF_1w,     0, CYCLE_FORWARD};
 act1 alab8_1w        = {START_OBJ, 12,                     PROF_1w,     0, NOT_CYCLING};
@@ -5825,8 +5826,8 @@ act2 aheroxy14_1w   = {INIT_OBJXY, 12,                  HERO,     135, 115};
 act2 aheroxy10_1w   = {INIT_OBJXY, 0,                   HERO,     33,  134};
 act2 aheroxy13_1w   = {INIT_OBJXY, 0,                   HERO,     40,  127};
 act2 aheroxy15_1w   = {INIT_OBJXY, 0,                   HERO,     250, 120};
-act2 ahchase2_1w    = {INIT_OBJXY, 5 * NORMAL_TPS_v2d,  DOG_1w,   280, 137};
-act2 akchase2_1w    = {INIT_OBJXY, 5 * NORMAL_TPS_v2d,  DOG_1w,   30,  120};
+act2 ahchase2_1w    = {INIT_OBJXY, 5 * NORMAL_TPS_v3d,  DOG_1w,   280, 137};
+act2 akchase2_1w    = {INIT_OBJXY, 5 * NORMAL_TPS_v3d,  DOG_1w,   30,  120};
 act2 a115d_1w       = {INIT_OBJXY, 0,                   MASK_1w,  236, 91};
 act2 aheroxy115_1w  = {INIT_OBJXY, 1,                   HERO,     27,  130};
 act2 aheroxy21_1w   = {INIT_OBJXY, 0,                   HERO,     130, 56};
@@ -5841,7 +5842,7 @@ act2 aheroxy57_1w   = {INIT_OBJXY, 0,                   HERO,     245, 107};
 act2 aheroxy65_1w   = {INIT_OBJXY, 0,                   HERO,     215, 96};
 act2 aheroxy75_1w   = {INIT_OBJXY, 0,                   HERO,     25,  105};
 act2 adog4_1w       = {INIT_OBJXY, 0,                   DOG_1w,   105, 119};
-act2 aheroxy78_1w   = {INIT_OBJXY, NORMAL_TPS_v2d + 12, HERO,     80,  42};
+act2 aheroxy78_1w   = {INIT_OBJXY, NORMAL_TPS_v3d + 12, HERO,     80,  42};
 act2 aheroxy89_1w   = {INIT_OBJXY, 0,                   HERO,     276, 135};
 act2 aheroxy87_1w   = {INIT_OBJXY, 0,                   HERO,     235, 108};
 act2 aheroxy910_1w  = {INIT_OBJXY, 0,                   HERO,     50,  132};
@@ -5893,7 +5894,7 @@ act5 abatvxy3_1w    = {INIT_OBJVXY, 40,                 BAT_1w,    -1,     -1};
 act5 abatvxy4_1w    = {INIT_OBJVXY, 50,                 BAT_1w,    -5,     0};
 act5 abatvxy5_1w    = {INIT_OBJVXY, 60,                 BAT_1w,    0,      0};
 act5 astophero_1w   = {INIT_OBJVXY, 0,                  HERO,      0,      0};
-act5 abutvxy1_1w    = {INIT_OBJVXY, 4 * NORMAL_TPS_v2d, BUTLER_1w, DX - 2, 0};
+act5 abutvxy1_1w    = {INIT_OBJVXY, 4 * NORMAL_TPS_v3d, BUTLER_1w, DX - 2, 0};
 act5 adead4_1w      = {INIT_OBJVXY, 0,                  HERO,      0,      0};
 act5 arock4_1w      = {INIT_OBJVXY, 0,                  HERO,      DX,     0};
 act5 arock6_1w      = {INIT_OBJVXY, 11,                 HERO,      0,      -DY};
@@ -5934,8 +5935,8 @@ act6 ashedoil3_1w = {INIT_CARRY, 0, OILCAN_1w, true};
 act6 adropbung_1w = {INIT_CARRY, 0, BUNG_1w,   false};
 
 act7 amovekey_1w = {INIT_HF_COORD, 0,                  KEY_1w};
-act7 ahchase1_1w = {INIT_HF_COORD, 5 * NORMAL_TPS_v2d, DOG_1w};
-act7 akchase1_1w = {INIT_HF_COORD, 5 * NORMAL_TPS_v2d, DOG_1w};
+act7 ahchase1_1w = {INIT_HF_COORD, 5 * NORMAL_TPS_v3d, DOG_1w};
+act7 akchase1_1w = {INIT_HF_COORD, 5 * NORMAL_TPS_v3d, DOG_1w};
 // Those two actions were defined as act11 with a type set to INIT_HF_COORD
 act7 adog3_1w    = {INIT_HF_COORD, 0,                  DOG_1w};
 act7 alab1_1w    = {INIT_HF_COORD, 0,                  PROF_1w};
@@ -5957,7 +5958,7 @@ act8 ascr56_1w   = {NEW_SCREEN, 0,                   6};
 act8 ascr57_1w   = {NEW_SCREEN, 0,                   7};
 act8 ascr65_1w   = {NEW_SCREEN, 0,                   5};
 act8 ascr75_1w   = {NEW_SCREEN, 0,                   5};
-act8 aopen78_1w  = {NEW_SCREEN, NORMAL_TPS_v2d + 12, 8};
+act8 aopen78_1w  = {NEW_SCREEN, NORMAL_TPS_v3d + 12, 8};
 act8 ascr89_1w   = {NEW_SCREEN, 0,                   9};
 act8 ascr87_1w   = {NEW_SCREEN, 0,                   7};
 act8 ascr910_1w  = {NEW_SCREEN, 0,                   10};
@@ -5967,7 +5968,7 @@ act8 ascr1011_1w = {NEW_SCREEN, 0,                   11};
 act8 ascr1110_1w = {NEW_SCREEN, 0,                   10};
 act8 ascr1112_1w = {NEW_SCREEN, 0,                   12};
 act8 ascr1213_1w = {NEW_SCREEN, 0,                   13};
-act8 atheend2_1w = {NEW_SCREEN, 5 * NORMAL_TPS_v2d,  14};
+act8 atheend2_1w = {NEW_SCREEN, 5 * NORMAL_TPS_v3d,  14};
 act8 ascr1211_1w = {NEW_SCREEN, 0,                   11};
 act8 ascr151_1w  = {NEW_SCREEN, 0,                   1};
 
@@ -5981,10 +5982,10 @@ act9 aworn_1w       = {INIT_OBJSTATE, 0,                   MASK_1w,    1};
 act9 aremoved_1w    = {INIT_OBJSTATE, 0,                   MASK_1w,    0};
 act9 abut4a_1w      = {INIT_OBJSTATE, 0,                   BUTLER_1w,  1};
 act9 abut7a_1w      = {INIT_OBJSTATE, 0,                   BUTLER_1w,  1};
-act9 abut10_1w      = {INIT_OBJSTATE, 10 * NORMAL_TPS_v2d, BUTLER_1w,  0};
+act9 abut10_1w      = {INIT_OBJSTATE, 10 * NORMAL_TPS_v3d, BUTLER_1w,  0};
 act9 astatedoor4_1w = {INIT_OBJSTATE, 0,                   DOOR4_1w,   1};
 act9 ashedoil2_1w   = {INIT_OBJSTATE, 0,                   SHED_1w,    1};
-act9 ast78_1w       = {INIT_OBJSTATE, NORMAL_TPS_v2d + 12, TRAP_1w,    0};
+act9 ast78_1w       = {INIT_OBJSTATE, NORMAL_TPS_v3d + 12, TRAP_1w,    0};
 act9 ahin1_1w       = {INIT_OBJSTATE, 0,                   HERO,       1};
 act9 ahout_1w       = {INIT_OBJSTATE, 0,                   HERO,       0};
 act9 aboatmov_1w    = {INIT_OBJSTATE, 0,                   BOAT_1w,    2};
@@ -5996,13 +5997,13 @@ act9 aigor33_1w     = {INIT_OBJSTATE, 0,                   GDOOR_1w,   4};
 act9 aigor23_1w     = {INIT_OBJSTATE, 0,                   GDOOR_1w,   3};
 act9 aigor14_1w     = {INIT_OBJSTATE, 0,                   GDOOR_1w,   2};
 
-act10 ahchase3_1w = {INIT_PATH, 5 * NORMAL_TPS_v2d, DOG_1w,    CHASE,  DX * 2, DY * 2};
-act10 akchase3_1w = {INIT_PATH, 5 * NORMAL_TPS_v2d, DOG_1w,    CHASE,  DX * 2, DY * 2};
-act10 adef2_1w    = {INIT_PATH, NORMAL_TPS_v2d,     BAT2_1w,   WANDER, DX,     DY};
-act10 adef3_1w    = {INIT_PATH, NORMAL_TPS_v2d,     BAT3_1w,   WANDER, DX,     DY};
-act10 adef4_1w    = {INIT_PATH, NORMAL_TPS_v2d,     BAT4_1w,   WANDER, DX,     DY};
-act10 adef5_1w    = {INIT_PATH, NORMAL_TPS_v2d,     BAT5_1w,   WANDER, DX,     DY};
-act10 abut2_1w    = {INIT_PATH, 8 * NORMAL_TPS_v2d, BUTLER_1w, CHASE,  DX - 2, DY - 2};
+act10 ahchase3_1w = {INIT_PATH, 5 * NORMAL_TPS_v3d, DOG_1w,    CHASE,  DX * 2, DY * 2};
+act10 akchase3_1w = {INIT_PATH, 5 * NORMAL_TPS_v3d, DOG_1w,    CHASE,  DX * 2, DY * 2};
+act10 adef2_1w    = {INIT_PATH, NORMAL_TPS_v3d,     BAT2_1w,   WANDER, DX,     DY};
+act10 adef3_1w    = {INIT_PATH, NORMAL_TPS_v3d,     BAT3_1w,   WANDER, DX,     DY};
+act10 adef4_1w    = {INIT_PATH, NORMAL_TPS_v3d,     BAT4_1w,   WANDER, DX,     DY};
+act10 adef5_1w    = {INIT_PATH, NORMAL_TPS_v3d,     BAT5_1w,   WANDER, DX,     DY};
+act10 abut2_1w    = {INIT_PATH, 8 * NORMAL_TPS_v3d, BUTLER_1w, CHASE,  DX - 2, DY - 2};
 act10 abut3_1w    = {INIT_PATH, 0,                  HERO,      AUTO,   0,      0};
 act10 abut8_1w    = {INIT_PATH, 0,                  BUTLER_1w, WANDER, DX - 2, DY - 2};
 act10 abut9_1w    = {INIT_PATH, 0,                  HERO,      USER,   0,      0};
@@ -6015,7 +6016,7 @@ act10 abata3a_1w  = {INIT_PATH, 0,                  BAT4_1w,   CHASE,  DX * 2, D
 act10 abata3b_1w  = {INIT_PATH, 5,                  BAT4_1w,   WANDER, DX,     DY};
 act10 abata4a_1w  = {INIT_PATH, 0,                  BAT5_1w,   CHASE,  DX * 2, DY * 2};
 act10 abata4b_1w  = {INIT_PATH, 4,                  BAT5_1w,   WANDER, DX,     DY};
-act10 amum2_1w    = {INIT_PATH, 3 * NORMAL_TPS_v2d, MUMMY_1w,  CHASE,  DX * 2, DY * 2};
+act10 amum2_1w    = {INIT_PATH, 3 * NORMAL_TPS_v3d, MUMMY_1w,  CHASE,  DX * 2, DY * 2};
 act10 arock1_1w   = {INIT_PATH, 0,                  HERO,      AUTO,   0,      0};
 act10 arock16_1w  = {INIT_PATH, 55,                 HERO,      USER,   0,      0};
 act10 abin3_1w    = {INIT_PATH, 0,                  HERO,      AUTO,   0,      0};
@@ -6063,22 +6064,22 @@ act12 acuptxt1_1w    = {TEXT, 0,                      kSTsseedw_1w};
 act12 acuptxt2_1w    = {TEXT, 0,                      kSTsseepk_1w};
 act12 acuptxt3_1w    = {TEXT, 0,                      kSTesnosee_1w};
 act12 adwwhy_1w      = {TEXT, 0,                      kSTsWonder_1w};
-act12 ablowt_1w      = {TEXT, 3 * NORMAL_TPS_v2d,     kSTsBlowWhistle_1w};
-act12 adef6_1w       = {TEXT, NORMAL_TPS_v2d,         kSTsdefbat1_1w};
-act12 adef7_1w       = {TEXT, 3 * NORMAL_TPS_v2d,     kSTsdefbat2_1w};
-act12 anought_1w     = {TEXT, NORMAL_TPS_v2d,         kSTsNothing_1w};
+act12 ablowt_1w      = {TEXT, 3 * NORMAL_TPS_v3d,     kSTsBlowWhistle_1w};
+act12 adef6_1w       = {TEXT, NORMAL_TPS_v3d,         kSTsdefbat1_1w};
+act12 adef7_1w       = {TEXT, 3 * NORMAL_TPS_v3d,     kSTsdefbat2_1w};
+act12 anought_1w     = {TEXT, NORMAL_TPS_v3d,         kSTsNothing_1w};
 act12 a115e_1w       = {TEXT, 0,                      kSTsDropMask_1w};
 act12 aweartext_1w   = {TEXT, 0,                      kSTWearMask_1w};
 act12 aremovetext_1w = {TEXT, 0,                      kSTRemoveMask_1w};
 act12 abut6a_1w      = {TEXT, 0,                      kSTsButSniff_1w};
 act12 abut6b_1w      = {TEXT, 3,                      kSTsButChop_1w};
 act12 abut6c_1w      = {TEXT, 6,                      kSTsButHead_1w};
-act12 abut9a_1w      = {TEXT, NORMAL_TPS_v2d / 3,     kSTsButEnjoy_1w};
-act12 abut9b_1w      = {TEXT, NORMAL_TPS_v2d / 3 + 1, kSTsButTake_1w};
-act12 abut11_1w      = {TEXT, NORMAL_TPS_v2d / 3,     kSTsButLater_1w};
+act12 abut9a_1w      = {TEXT, NORMAL_TPS_v3d / 3,     kSTsButEnjoy_1w};
+act12 abut9b_1w      = {TEXT, NORMAL_TPS_v3d / 3 + 1, kSTsButTake_1w};
+act12 abut11_1w      = {TEXT, NORMAL_TPS_v3d / 3,     kSTsButLater_1w};
 act12 aeatchop_1w    = {TEXT, 0,                      kSTsEatChop_1w};
 act12 achopfail_1w   = {TEXT, 0,                      kSTesthrown_1w};
-act12 achopthrown_1w = {TEXT, 5 * NORMAL_TPS_v2d,     kSTsDogEat_1w};
+act12 achopthrown_1w = {TEXT, 5 * NORMAL_TPS_v3d,     kSTsDogEat_1w};
 act12 atalk1a_1w     = {TEXT, 0,                      kSTAskFrank_1w};
 act12 atalk1b_1w     = {TEXT, 0,                      kSTRepFrank_1w};
 act12 atalk2a_1w     = {TEXT, 0,                      kSTAskDrac_1w};
@@ -6127,8 +6128,8 @@ act12 ajails4_1w     = {TEXT, 0,                      kSTsRescued3_1w};
 act12 agive1_1w      = {TEXT, 0,                      kSTsGuard1_1w};
 act12 agive2_1w      = {TEXT, 0,                      kSTsGuard2_1w};
 act12 anogive_1w     = {TEXT, 0,                      kSTsNoGive_1w};
-act12 bye1_1w        = {TEXT, 2 * NORMAL_TPS_v2d,     kSTsKissy_1w};
-act12 bye2_1w        = {TEXT, 3 * NORMAL_TPS_v2d,     kSTsGoodbye_1w};
+act12 bye1_1w        = {TEXT, 2 * NORMAL_TPS_v3d,     kSTsKissy_1w};
+act12 bye2_1w        = {TEXT, 3 * NORMAL_TPS_v3d,     kSTsGoodbye_1w};
 act12 admsg3_1w      = {TEXT, 0,                      kSTsGrip_1w};
 act12 admsg2_1w      = {TEXT, 0,                      kSTsCoordinate_1w};
 act12 admsg1_1w      = {TEXT, 0,                      kSTsReach_1w};
@@ -6167,9 +6168,9 @@ act15 adogchop_1w = {AUTOPILOT, 0, DOG_1w, CHOP_1w, DX + 2, DY * 2};
 act16 aclosedoor2_1w = {INIT_OBJ_SEQ, 12,                  DOOR2_1w, 0};
 act16 aclosedoor3_1w = {INIT_OBJ_SEQ, 12,                  DOOR3_1w, 0};
 act16 adogseq_1w     = {INIT_OBJ_SEQ, 0,                   DOG_1w,   1};
-act16 adogseq2_1w    = {INIT_OBJ_SEQ, 4 * NORMAL_TPS_v2d,  DOG_1w,   2};
+act16 adogseq2_1w    = {INIT_OBJ_SEQ, 4 * NORMAL_TPS_v3d,  DOG_1w,   2};
 act16 adog5_1w       = {INIT_OBJ_SEQ, 0,                   DOG_1w,   0};
-act16 at78c_1w       = {INIT_OBJ_SEQ, NORMAL_TPS_v2d + 12, TRAP_1w,  0};
+act16 at78c_1w       = {INIT_OBJ_SEQ, NORMAL_TPS_v3d + 12, TRAP_1w,  0};
 act16 arock3_1w      = {INIT_OBJ_SEQ, 0,                   HERO,     RIGHT};
 act16 arock5_1w      = {INIT_OBJ_SEQ, 11,                  HERO,     __UP};
 act16 arock10_1w     = {INIT_OBJ_SEQ, 40,                  HERO,     __UP};
@@ -6180,7 +6181,7 @@ act16 about1_1w      = {INIT_OBJ_SEQ, 0,                   BOAT_1w,  0};
 act16 ajail3_1w      = {INIT_OBJ_SEQ, 0,                   HERO,     0};
 act16 ajail4_1w      = {INIT_OBJ_SEQ, 2,                   HERO,     1};
 act16 aguardgo3_1w   = {INIT_OBJ_SEQ, 0,                   GUARD_1w, 1};
-act16 aturnguard_1w  = {INIT_OBJ_SEQ, 2 * NORMAL_TPS_v2d,  GUARD_1w, 0};
+act16 aturnguard_1w  = {INIT_OBJ_SEQ, 2 * NORMAL_TPS_v3d,  GUARD_1w, 0};
 act16 alab4_1w       = {INIT_OBJ_SEQ, 0,                   PROF_1w,  0};
 act16 alab10_1w      = {INIT_OBJ_SEQ, 14,                  PROF_1w,  1};
 act16 alab11_1w      = {INIT_OBJ_SEQ, 18,                  IGOR_1w,  1};
@@ -6188,7 +6189,7 @@ act16 alab11_1w      = {INIT_OBJ_SEQ, 18,                  IGOR_1w,  1};
 act17 acupbpk_1w = {SET_STATE_BITS, 0, CUPBOARD_1w, 1};
 act17 acupbdw_1w = {SET_STATE_BITS, 0, CUPBOARD_1w, 2};
 
-act20 adef1_1w = {DEL_EVENTS, 1 * NORMAL_TPS_v2d, ASCHEDULE};
+act20 adef1_1w = {DEL_EVENTS, 1 * NORMAL_TPS_v3d, ASCHEDULE};
 
 act21 abut6g_1w = {GAMEOVER, 7};
 act21 adead5_1w = {GAMEOVER, 0};
@@ -6197,7 +6198,7 @@ act21 adead5_1w = {GAMEOVER, 0};
 act22 abut6e_1w   = {INIT_HH_COORD, 7, HDLSHERO_1w};
 act22 adead2_1w   = {INIT_HH_COORD, 0, HERODEAD_1w};
 
-act23 bye3_1w = {EXIT, 4 * NORMAL_TPS_v2d};
+act23 bye3_1w = {EXIT, 4 * NORMAL_TPS_v3d};
 
 act24 abonus12_1w   = {BONUS, 0, 12};
 act24 abonus1_1w    = {BONUS, 0, 1};
@@ -6213,22 +6214,22 @@ act24 abonus8_1w    = {BONUS, 0, 8};
 // The following was defined as a act27 with a type set to BONUS
 act24 abut7b_1w    = {BONUS,  0, 10};
 
-act25 achkdoor_1w = {COND_BOX, 2 * NORMAL_TPS_v2d, HERO, 25,  173, 40,  175, kALgoinside_1w, 0};
+act25 achkdoor_1w = {COND_BOX, 2 * NORMAL_TPS_v3d, HERO, 25,  173, 40,  175, kALgoinside_1w, 0};
 act25 achkbbox_1w = {COND_BOX, 0,                  HERO, 100, 153, 144, 160, kALbbox_1w,     0};
 act25 aichkbox_1w = {COND_BOX, 0,                  HERO, 100, 153, 144, 163, kALichk0_1w,    kALgobox_1w};
 
 act26 acreak_1w    = {SOUND, 0,                  DOOR_CREAK_1w};
 act26 abatsnd_1w   = {SOUND, 50,                 BAT_FLUTTER_1w};
 act26 adooropen_1w = {SOUND, 0,                  DOOR_OPEN_1w};
-act26 ahchase4_1w  = {SOUND, 5 * NORMAL_TPS_v2d, DOG_BARK_1w};
+act26 ahchase4_1w  = {SOUND, 5 * NORMAL_TPS_v3d, DOG_BARK_1w};
 act26 abutsnd_1w   = {SOUND, 3,                  BUTLER_GOTCHER_1w};
 act26 abut6h_1w    = {SOUND, 7,                  T_TRACK10};
 act26 amunch_1w    = {SOUND, 0,                  MUNCH_1w};
-act26 afork_1w     = {SOUND, 1 * NORMAL_TPS_v2d, FORK_BANG_1w};
+act26 afork_1w     = {SOUND, 1 * NORMAL_TPS_v3d, FORK_BANG_1w};
 act26 asong3_1w    = {SOUND, 0,                  DOG_BARK_1w};
 act26 afuneral_1w  = {SOUND, 0,                  T_TRACK10};
 act26 abatgot_1w   = {SOUND, 0,                  BAT_FLUTTER_1w};
-act26 asong2_1w    = {SOUND, 3 * NORMAL_TPS_v2d, MUMMY_CHASE_1w};
+act26 asong2_1w    = {SOUND, 3 * NORMAL_TPS_v3d, MUMMY_CHASE_1w};
 act26 amumgot_1w   = {SOUND, 0,                  MUMMY_GOTCHER_1w};
 act26 asplash_1w   = {SOUND, 0,                  SPLASH_1w};
 act26 afinale_1w   = {SOUND, 0,                  T_TRACK1};
@@ -6243,8 +6244,8 @@ act29 achkmask2_1w = {COND_CARRY, 0, MASK_1w, kALridmask_1w, 0};
 
 act43 abut4_1w       = {YESNO, 0,                       kSTsbut1_1w,       kALbutyes_1w,   kALbutno_1w};
 act43 achopprompt_1w = {YESNO, 0,                       kSTsChopPrompt_1w, kALeatchop_1w,  0};
-act43 ahelp1_1w      = {YESNO, 4 * 60 * NORMAL_TPS_v2d, kSTshelpp1_1w,     kALhelpy_1w,    kALhelpn_1w};
-act43 ahelp2_1w      = {YESNO, 5 * 60 * NORMAL_TPS_v2d, kSTshelpp2_1w,     kALhelpy2_1w,   kALhelpn_1w};
+act43 ahelp1_1w      = {YESNO, 4 * 60 * NORMAL_TPS_v3d, kSTshelpp1_1w,     kALhelpy_1w,    kALhelpn_1w};
+act43 ahelp2_1w      = {YESNO, 5 * 60 * NORMAL_TPS_v3d, kSTshelpp2_1w,     kALhelpy2_1w,   kALhelpn_1w};
 act43 achkboat2_1w   = {YESNO, 0,                       kSTsBoatAsk_1w,    kALpushboat_1w, kALgetoutboat_1w};
 
 act47 aviewfar_1w  = {INIT_VIEW, 107, BOAT_1w, 140, 55,  Common::KEYCODE_DOWN};
@@ -6471,13 +6472,13 @@ int whorsp_2w[] =  {kSTNobody_2w, kSTNo_one1_2w, kSTNo_one2_2w, kSTSharry_2w, -1
 
 act0 arepchk_2w   = {ASCHEDULE, 4,                    kALscr25_2w};
 act0 aclimax_2w   = {ASCHEDULE, 20,                   kALclimax_2w};
-act0 aclue09_2w   = {ASCHEDULE, 200 * NORMAL_TPS_v2d, kALchkc09_2w};
+act0 aclue09_2w   = {ASCHEDULE, 200 * NORMAL_TPS_v3d, kALchkc09_2w};
 act0 ahdrink10_2w = {ASCHEDULE, 72,                   kALhfaint_2w};
 act0 aschedbut_2w = {ASCHEDULE, 30,                   kALschedbut_2w};
-act0 arepbuga_2w  = {ASCHEDULE, 3 * NORMAL_TPS_v2d,   kALbugrep1_2w};
-act0 arepbugf_2w  = {ASCHEDULE, 2 * NORMAL_TPS_v2d,   kALbugrep2_2w};
-act0 arepblah_2w  = {ASCHEDULE, 12 * NORMAL_TPS_v2d,  kALblah_2w};
-act0 arepmsg1_2w  = {ASCHEDULE, 120 * NORMAL_TPS_v2d, kALrepmsg1_2w};
+act0 arepbuga_2w  = {ASCHEDULE, 3 * NORMAL_TPS_v3d,   kALbugrep1_2w};
+act0 arepbugf_2w  = {ASCHEDULE, 2 * NORMAL_TPS_v3d,   kALbugrep2_2w};
+act0 arepblah_2w  = {ASCHEDULE, 12 * NORMAL_TPS_v3d,  kALblah_2w};
+act0 arepmsg1_2w  = {ASCHEDULE, 120 * NORMAL_TPS_v3d, kALrepmsg1_2w};
 
 act1 aback1_2w       = {START_OBJ, 0,             CAT_2w,       0, INVISIBLE};
 act1 aback2_2w       = {START_OBJ, 2,             CAT_2w,       0, NOT_CYCLING};
@@ -6834,7 +6835,7 @@ act8 ascr11maze_2w = {NEW_SCREEN, 0,               MAZE_SCREEN + 59};// Enter ma
 act8 ascr3435_2w   = {NEW_SCREEN, DOORDELAY,       35}; // Goto to organ
 act8 ascr3436_2w   = {NEW_SCREEN, DOORDELAY,       36}; // Goto to hestroom
 act8 ascrmaze_2w   = {NEW_SCREEN, 0,               11}; // Maze exit to gatesopn
-act8 ascr01_2w     = {NEW_SCREEN, STORYDELAY + 10, 1};
+act8 ascr01_2w     = {NEW_SCREEN, STORYDELAY_v2w + 10, 1};
 act8 askip5_2w     = {NEW_SCREEN, 0,               3};
 
 act9 abanana9_2w   = {INIT_OBJSTATE, 16,        GENIE_2w,    1};
@@ -7023,7 +7024,7 @@ act12 adone15_2w   = {TEXT, 50,                      kSTSdone7_2w};
 act12 adone2_2w    = {TEXT, 10,                      kSTSdone2_2w};
 act12 adone3_2w    = {TEXT, 10,                      kSTSdone3_2w};
 act12 adone4_2w    = {TEXT, 10,                      kSTSdone4_2w};
-act12 adraught_2w  = {TEXT, 5 * 60 * NORMAL_TPS_v2d, kSTDraught_2w};
+act12 adraught_2w  = {TEXT, 5 * 60 * NORMAL_TPS_v3d, kSTDraught_2w};
 act12 adropdyn2_2w = {TEXT, 0,                       kSTDyn3_2w};
 act12 adumb12_2w   = {TEXT, 0,                       kSTDumb2_2w};
 act12 adumb2_2w    = {TEXT, 0,                       kSTDumb1_2w};
@@ -7140,16 +7141,16 @@ act12 ahole_2w     = {TEXT, 0,                       kSTFirst2_2w};
 act12 akeyhole1_2w = {TEXT, 0,                       kSTHole1_2w};
 act12 alie1_2w     = {TEXT, 13,                      kSTTired_2w};
 act12 alie2_2w     = {TEXT, 18,                      kSTTired2_2w};
-act12 amaid10_2w   = {TEXT, 90 * NORMAL_TPS_v2d,     kSTSmaid1_8_2w};
-act12 amaid11_2w   = {TEXT, 99 * NORMAL_TPS_v2d,     kSTSmaid1_9_2w};
+act12 amaid10_2w   = {TEXT, 90 * NORMAL_TPS_v3d,     kSTSmaid1_8_2w};
+act12 amaid11_2w   = {TEXT, 99 * NORMAL_TPS_v3d,     kSTSmaid1_9_2w};
 act12 amaid12_2w   = {TEXT, 0,                       kSTSmaid1_10_2w};
 act12 amaid3_2w    = {TEXT, 4,                       kSTSmaid1_1_2w};
 act12 amaid4_2w    = {TEXT, 17,                      kSTSmaid1_2_2w};
 act12 amaid5_2w    = {TEXT, 17,                      kSTSmaid1_3_2w};
 act12 amaid6_2w    = {TEXT, 17,                      kSTSmaid1_4_2w};
 act12 amaid7_2w    = {TEXT, 30,                      kSTSmaid1_5_2w};
-act12 amaid8_2w    = {TEXT, 30 * NORMAL_TPS_v2d,     kSTSmaid1_6_2w};
-act12 amaid9_2w    = {TEXT, 60 * NORMAL_TPS_v2d,     kSTSmaid1_7_2w};
+act12 amaid8_2w    = {TEXT, 30 * NORMAL_TPS_v3d,     kSTSmaid1_6_2w};
+act12 amaid9_2w    = {TEXT, 60 * NORMAL_TPS_v3d,     kSTSmaid1_7_2w};
 act12 amaidp3_2w   = {TEXT, 8,                       kSTMaid1_2w};
 act12 amaidp4_2w   = {TEXT, 8,                       kSTMaid2_2w};
 act12 amaidp5_2w   = {TEXT, 8,                       kSTMaid3_2w};
@@ -7159,7 +7160,7 @@ act12 anocarry_2w  = {TEXT, 0,                       kSTNocarry_2w};
 act12 anopurps_2w  = {TEXT, 0,                       kSTNopurps_2w};
 act12 aok_2w       = {TEXT, 0,                       kSTOkgen_2w};
 act12 ascr21_2w    = {TEXT, 0,                       kSTSfirst_2w};
-act12 astory_2w    = {TEXT, STORYDELAY,              kSTStory_2w};
+act12 astory_2w    = {TEXT, STORYDELAY_v2w,          kSTStory_2w};
 
 act13 ascr33b_2w   = {SWAP_IMAGES, 4,   HERO, PENNY_2w};
 act13 aswaphero_2w = {SWAP_IMAGES, 120, HERO, PENNY_2w};
@@ -7382,14 +7383,14 @@ act33 amaidc11_2w = {INIT_SCREEN, 30, MAID_2w,      31};
 act33 amaidc2_2w  = {INIT_SCREEN, 8,  MAID_2w,      32};
 act33 amaidp1_2w  = {INIT_SCREEN, 0,  MAID_2w,      31};
 
-act34 abang1_2w   = {AGSCHEDULE, 6 * NORMAL_TPS_v2d,   kALbang2_2w};
-act34 abite3_2w   = {AGSCHEDULE, 60 * NORMAL_TPS_v2d,  kALpois1_2w};
-act34 abite4_2w   = {AGSCHEDULE, 200 * NORMAL_TPS_v2d, kALpois2_2w};
-act34 abite5_2w   = {AGSCHEDULE, 290 * NORMAL_TPS_v2d, kALpois3_2w};
-act34 abite6_2w   = {AGSCHEDULE, 300 * NORMAL_TPS_v2d, kALpois4_2w};
-act34 acat3_2w    = {AGSCHEDULE, 8 * NORMAL_TPS_v2d,   kALchkcarry_2w};
+act34 abang1_2w   = {AGSCHEDULE, 6 * NORMAL_TPS_v3d,   kALbang2_2w};
+act34 abite3_2w   = {AGSCHEDULE, 60 * NORMAL_TPS_v3d,  kALpois1_2w};
+act34 abite4_2w   = {AGSCHEDULE, 200 * NORMAL_TPS_v3d, kALpois2_2w};
+act34 abite5_2w   = {AGSCHEDULE, 290 * NORMAL_TPS_v3d, kALpois3_2w};
+act34 abite6_2w   = {AGSCHEDULE, 300 * NORMAL_TPS_v3d, kALpois4_2w};
+act34 acat3_2w    = {AGSCHEDULE, 8 * NORMAL_TPS_v3d,   kALchkcarry_2w};
 act34 akaboom2_2w = {AGSCHEDULE, 1,                    kALkaboom3_2w};
-act34 amaidb6_2w  = {AGSCHEDULE, 8 * NORMAL_TPS_v2d,   kALmaidbk_2w};
+act34 amaidb6_2w  = {AGSCHEDULE, 8 * NORMAL_TPS_v3d,   kALmaidbk_2w};
 
 act35 amap0_2w = {REMAPPAL, 0, _TLIGHTMAGENTA, _TLIGHTMAGENTA};
 act35 amap1_2w = {REMAPPAL, 0, _TLIGHTMAGENTA, _TBLACK};
@@ -8059,7 +8060,7 @@ act9 amission1_3w    = {INIT_OBJSTATE, 0,                  PENNY_3w,    2};
 act9 amousefree_3w   = {INIT_OBJSTATE, 0,                  MOUSE_3w,    3};
 act9 aoldstate_3w    = {INIT_OBJSTATE, 0,                  MOUTH_3w,    1};
 act9 aopen2_3w       = {INIT_OBJSTATE, 0,                  CDOOR_3w,    1};
-act9 apause0_3w      = {INIT_OBJSTATE, 3 * NORMAL_TPS_v2d, NAT2_3w,     0};
+act9 apause0_3w      = {INIT_OBJSTATE, 3 * NORMAL_TPS_v3d, NAT2_3w,     0};
 act9 apause1_3w      = {INIT_OBJSTATE, 0,                  NAT2_3w,     1};
 act9 astartaction_3w = {INIT_OBJSTATE, 0,                  E_EYES_3w,   1};
 act9 astick3_3w      = {INIT_OBJSTATE, 0,                  DOCTOR_3w,   2};
@@ -8140,7 +8141,7 @@ act11 ataketest1_3w   = {COND_R, 0,                   MOUSE_3w,    2,  kALtakeit
 act11 ataketest2_3w   = {COND_R, 0,                   MOUSE_3w,    3,  kALtakeit_3w,         kALtaketest1_3w};
 act11 atalktest1_3w   = {COND_R, 0,                   NAT1_3w,     9,  kALnat9_3w,           kALnative_3w};
 act11 atdtest_3w      = {COND_R, 0,                   DOCTOR_3w,   2,  kALtalkdoc2_3w,       kALtalkdoc1_3w};
-act11 atiptest_3w     = {COND_R, 60 * NORMAL_TPS_v2d, BLOCK1_3w,   0,  kALbtipprompt_3w,     0};
+act11 atiptest_3w     = {COND_R, 60 * NORMAL_TPS_v3d, BLOCK1_3w,   0,  kALbtipprompt_3w,     0};
 act11 auntietest_3w   = {COND_R, 0,                   BLOCK1_3w,   0,  kALnottied_3w,        kALuntie_3w};
 act11 avinetest_3w    = {COND_R, 0,                   BLOCK1_3w,   0,  kALtievine_3w,        kALtied_3w};
 act11 awebtest1_3w    = {COND_R, 0,                   PENNY_3w,    0,  kALspider_3w,         kALwebtest2_3w};
@@ -9440,13 +9441,13 @@ int hestrsp_2d[] = {kSTYes_2d,    -1};
 int whorsp_2d[]  = {kSTNobody_2d, kSTNo_one1_2d, kSTNo_one2_2d, kSTSharry_2d, -1};
 
 act0 aclimax_2d   = {ASCHEDULE, 20,                   kALclimax_2d};
-act0 aclue09_2d   = {ASCHEDULE, 300 * NORMAL_TPS_v2d, kALchkc09_2d};
+act0 aclue09_2d   = {ASCHEDULE, 300 * NORMAL_TPS_v1d, kALchkc09_2d};
 act0 ahdrink10_2d = {ASCHEDULE, 52,                   kALhfaint_2d};
 act0 aschedbut_2d = {ASCHEDULE, 30,                   kALschedbut_2d};
-act0 arepbuga_2d  = {ASCHEDULE, 3 * NORMAL_TPS_v2d,   kALbugrep1_2d};
-act0 arepbugf_2d  = {ASCHEDULE, 2 * NORMAL_TPS_v2d,   kALbugrep2_2d};
-act0 arepblah_2d  = {ASCHEDULE, 12 * NORMAL_TPS_v2d,  kALblah_2d};
-act0 arepmsg1_2d  = {ASCHEDULE, 120 * NORMAL_TPS_v2d, kALrepmsg1_2d};
+act0 arepbuga_2d  = {ASCHEDULE, 3 * NORMAL_TPS_v1d,   kALbugrep1_2d};
+act0 arepbugf_2d  = {ASCHEDULE, 2 * NORMAL_TPS_v1d,   kALbugrep2_2d};
+act0 arepblah_2d  = {ASCHEDULE, 12 * NORMAL_TPS_v1d,  kALblah_2d};
+act0 arepmsg1_2d  = {ASCHEDULE, 120 * NORMAL_TPS_v1d, kALrepmsg1_2d};
 
 act1 aback1_2d       = {START_OBJ, 0,             CAT_2d,       0, ALMOST_INVISIBLE};
 act1 aback2_2d       = {START_OBJ, 2,             CAT_2d,       0, NOT_CYCLING};
@@ -9796,7 +9797,7 @@ act8 ascr3718_2d   = {NEW_SCREEN, 0,               18};
 act8 ascr3829_2d   = {NEW_SCREEN, 0,               29};
 act8 ascr3834_2d   = {NEW_SCREEN, 0,               34};
 act8 auptrap2_2d   = {NEW_SCREEN, 0,               28};
-act8 ascr01_2d     = {NEW_SCREEN, STORYDELAY + 10, 1};
+act8 ascr01_2d     = {NEW_SCREEN, STORYDELAY_v2d + 10, 1};
 act8 ascr0203_2d   = {NEW_SCREEN, 40,              3};
 act8 ascr11maze_2d = {NEW_SCREEN, 0,               MAZE_SCREEN + 59};
 act8 ascr3435_2d   = {NEW_SCREEN, DOORDELAY,       35};
@@ -9980,7 +9981,7 @@ act12 adone14_2d   = {TEXT, 50,                      kSTSdone6_2d};
 act12 adone2_2d    = {TEXT, 10,                      kSTSdone2_2d};
 act12 adone3_2d    = {TEXT, 10,                      kSTSdone3_2d};
 act12 adone4_2d    = {TEXT, 10,                      kSTSdone4_2d};
-act12 adraught_2d  = {TEXT, 5 * 60 * NORMAL_TPS_v2d, kSTDraught_2d};
+act12 adraught_2d  = {TEXT, 5 * 60 * NORMAL_TPS_v1d, kSTDraught_2d};
 act12 adropdyn2_2d = {TEXT, 0,                       kSTDyn3_2d};
 act12 adumb12_2d   = {TEXT, 0,                       kSTDumb2_2d};
 act12 adumb2_2d    = {TEXT, 0,                       kSTDumb1_2d};
@@ -10094,16 +10095,16 @@ act12 ahole_2d     = {TEXT, 0,                       kSTFirst2_2d};
 act12 akeyhole1_2d = {TEXT, 0,                       kSTHole1_2d};
 act12 alie1_2d     = {TEXT, 13,                      kSTTired_2d};
 act12 alie2_2d     = {TEXT, 18,                      kSTTired2_2d};
-act12 amaid10_2d   = {TEXT, 90 * NORMAL_TPS_v2d,     kSTSmaid1_8_2d};
-act12 amaid11_2d   = {TEXT, 99 * NORMAL_TPS_v2d,     kSTSmaid1_9_2d};
+act12 amaid10_2d   = {TEXT, 90 * NORMAL_TPS_v1d,     kSTSmaid1_8_2d};
+act12 amaid11_2d   = {TEXT, 99 * NORMAL_TPS_v1d,     kSTSmaid1_9_2d};
 act12 amaid12_2d   = {TEXT, 0,                       kSTSmaid1_10_2d};
 act12 amaid3_2d    = {TEXT, 4,                       kSTSmaid1_1_2d};
 act12 amaid4_2d    = {TEXT, 17,                      kSTSmaid1_2_2d};
 act12 amaid5_2d    = {TEXT, 17,                      kSTSmaid1_3_2d};
 act12 amaid6_2d    = {TEXT, 17,                      kSTSmaid1_4_2d};
 act12 amaid7_2d    = {TEXT, 30,                      kSTSmaid1_5_2d};
-act12 amaid8_2d    = {TEXT, 30 * NORMAL_TPS_v2d,     kSTSmaid1_6_2d};
-act12 amaid9_2d    = {TEXT, 60 * NORMAL_TPS_v2d,     kSTSmaid1_7_2d};
+act12 amaid8_2d    = {TEXT, 30 * NORMAL_TPS_v1d,     kSTSmaid1_6_2d};
+act12 amaid9_2d    = {TEXT, 60 * NORMAL_TPS_v1d,     kSTSmaid1_7_2d};
 act12 amaidp3_2d   = {TEXT, 8,                       kSTMaid1_2d};
 act12 amaidp4_2d   = {TEXT, 8,                       kSTMaid2_2d};
 act12 amaidp5_2d   = {TEXT, 8,                       kSTMaid3_2d};
@@ -10113,8 +10114,8 @@ act12 anocarry_2d  = {TEXT, 0,                       kSTNocarry_2d};
 act12 anopurps_2d  = {TEXT, 0,                       kSTNopurps_2d};
 act12 aok_2d       = {TEXT, 0,                       kSTOkgen_2d};
 act12 ascr21_2d    = {TEXT, 0,                       kSTSfirst_2d};
-act12 astory1_2d   = {TEXT, STORYDELAY,              kSTStory_2d};
-act12 astory2_2d   = {TEXT, STORYDELAY,              kSTStory1_2d};
+act12 astory1_2d   = {TEXT, STORYDELAY_v2d,          kSTStory_2d};
+act12 astory2_2d   = {TEXT, STORYDELAY_v2d,          kSTStory1_2d};
 
 act13 ascr33b_2d   = {SWAP_IMAGES, 4,  HERO, PENNY_2d};
 act13 aswaphero_2d = {SWAP_IMAGES, 23, HERO, PENNY_2d};
@@ -10309,14 +10310,14 @@ act33 amaidc11_2d = {INIT_SCREEN, 30, MAID_2d,      31};
 act33 amaidc2_2d  = {INIT_SCREEN, 8,  MAID_2d,      32};
 act33 amaidp1_2d  = {INIT_SCREEN, 0,  MAID_2d,      31};
 
-act34 abang1_2d   = {AGSCHEDULE, 5 * NORMAL_TPS_v2d,   kALbang2_2d};
-act34 abite3_2d   = {AGSCHEDULE, 60 * NORMAL_TPS_v2d,  kALpois1_2d};
-act34 abite4_2d   = {AGSCHEDULE, 200 * NORMAL_TPS_v2d, kALpois2_2d};
-act34 abite5_2d   = {AGSCHEDULE, 290 * NORMAL_TPS_v2d, kALpois3_2d};
-act34 abite6_2d   = {AGSCHEDULE, 300 * NORMAL_TPS_v2d, kALpois4_2d};
-act34 acat3_2d    = {AGSCHEDULE, 8 * NORMAL_TPS_v2d,   kALchkcarry_2d};
+act34 abang1_2d   = {AGSCHEDULE, 5 * NORMAL_TPS_v1d,   kALbang2_2d};
+act34 abite3_2d   = {AGSCHEDULE, 60 * NORMAL_TPS_v1d,  kALpois1_2d};
+act34 abite4_2d   = {AGSCHEDULE, 200 * NORMAL_TPS_v1d, kALpois2_2d};
+act34 abite5_2d   = {AGSCHEDULE, 290 * NORMAL_TPS_v1d, kALpois3_2d};
+act34 abite6_2d   = {AGSCHEDULE, 300 * NORMAL_TPS_v1d, kALpois4_2d};
+act34 acat3_2d    = {AGSCHEDULE, 8 * NORMAL_TPS_v1d,   kALchkcarry_2d};
 act34 akaboom2_2d = {AGSCHEDULE, 1,                    kALkaboom3_2d};
-act34 amaidb6_2d  = {AGSCHEDULE, 8 * NORMAL_TPS_v2d,   kALmaidbk_2d};
+act34 amaidb6_2d  = {AGSCHEDULE, 8 * NORMAL_TPS_v1d,   kALmaidbk_2d};
 
 act35 amap0_2d = {REMAPPAL, 0, _TLIGHTMAGENTA, _TLIGHTMAGENTA};
 act35 amap1_2d = {REMAPPAL, 0, _TLIGHTMAGENTA, _TBLACK};
@@ -10971,7 +10972,7 @@ act9 amission1_3d =    {INIT_OBJSTATE, 0,                  PENNY_3d,    2};
 act9 amousefree_3d =   {INIT_OBJSTATE, 0,                  MOUSE_3d,    3};
 act9 aoldstate_3d =    {INIT_OBJSTATE, 0,                  MOUTH_3d,    1};
 act9 aopen2_3d =       {INIT_OBJSTATE, 0,                  CDOOR_3d,    1};
-act9 apause0_3d =      {INIT_OBJSTATE, 3 * NORMAL_TPS_v2d, NAT2_3d,     0};
+act9 apause0_3d =      {INIT_OBJSTATE, 3 * NORMAL_TPS_v3d, NAT2_3d,     0};
 act9 apause1_3d =      {INIT_OBJSTATE, 0,                  NAT2_3d,     1};
 act9 astartaction_3d = {INIT_OBJSTATE, 0,                  E_EYES_3d,   1};
 act9 astick3_3d =      {INIT_OBJSTATE, 0,                  DOCTOR_3d,   2};
@@ -11049,7 +11050,7 @@ act11 asticktest2_3d =  {COND_R, 0,                   CLAY_3d,     1,  kALstickp
 act11 ataketest1_3d =   {COND_R, 0,                   MOUSE_3d,    2,  kALtakeit_3d,         kALcanttake_3d};
 act11 ataketest2_3d =   {COND_R, 0,                   MOUSE_3d,    3,  kALmousegone_3d,      kALtaketest1_3d};
 act11 atalktest1_3d =   {COND_R, 0,                   NAT1_3d,     9,  kALnat9_3d,           kALnative_3d};
-act11 atiptest_3d =     {COND_R, 60 * NORMAL_TPS_v2d, BLOCK1_3d,   0,  kALbtipprompt_3d,     0};
+act11 atiptest_3d =     {COND_R, 60 * NORMAL_TPS_v3d, BLOCK1_3d,   0,  kALbtipprompt_3d,     0};
 act11 auntietest_3d =   {COND_R, 0,                   BLOCK1_3d,   0,  kALnottied_3d,        kALuntie_3d};
 act11 avinetest_3d =    {COND_R, 0,                   BLOCK1_3d,   0,  kALtievine_3d,        kALtied_3d};
 act11 awebtest1_3d =    {COND_R, 0,                   PENNY_3d,    0,  kALspider_3d,         kALwebtest2_3d};
diff --git a/dists/engine-data/hugo.dat b/dists/engine-data/hugo.dat
index 4a526a9f061..cc7a3463ce7 100644
Binary files a/dists/engine-data/hugo.dat and b/dists/engine-data/hugo.dat differ




More information about the Scummvm-git-logs mailing list