[Scummvm-git-logs] scummvm master -> 4d2e3611acd111f2183fab08fe1c62fa178806b0

mduggan mgithub at guarana.org
Sun Jul 4 22:30:43 UTC 2021


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

Summary:
211ecc032b ULTIMA8: Add shape replacements on death for No Regret
1ee2388f43 ULTIMA8: Stop Regret's RollingThunder if actor is dead
95745e0d6c ULTIMA8: Improved animation debug logging
30cf4bc28a ULTIMA8: Fix global constructor warning
9fa7464dcb ULTIMA8: Blank AVI frame with a RGBA-compatible black
4d2e3611ac ULTIMA8: Correct usecode mappings for ES and Demo Remorse


Commit: 211ecc032b507eaea9145d3ca1080e07286510de
    https://github.com/scummvm/scummvm/commit/211ecc032b507eaea9145d3ca1080e07286510de
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-07-05T07:28:54+09:00

Commit Message:
ULTIMA8: Add shape replacements on death for No Regret

Changed paths:
    engines/ultima/ultima8/world/actors/actor.cpp


diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index 729df400ee..4872f8dc45 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -1378,6 +1378,7 @@ ProcId Actor::dieU8(uint16 damageType) {
 ProcId Actor::dieCru(uint16 damageType, uint16 damagePts, Direction srcDir) {
 	bool is_robot = isRobotCru();
 	bool created_koresh = false;
+	const uint32 startshape = getShape();
 
 	World *world = World::get_instance();
 
@@ -1466,6 +1467,27 @@ ProcId Actor::dieCru(uint16 damageType, uint16 damagePts, Direction srcDir) {
 	if (!created_koresh) {
 		bool fall_backwards = true;
 		bool fall_random_dir = false;
+
+		if (GAME_IS_REGRET) {
+			uint32 shape = getShape();
+			if (startshape == shape) {
+				if (shape == 0x5ff || shape == 0x5d7) {
+					setShape(0x606);
+					setToStartOfAnim(Animation::fallBackwardsCru);
+				} else if (shape == 0x625 || shape == 0x626) {
+					setShape(0x62e);
+					setToStartOfAnim(Animation::fallBackwardsCru);
+				} else if (shape == 0x5f0 || shape == 0x2c3) {
+					setShape(0x5d5);
+					setToStartOfAnim(Animation::fallBackwardsCru);
+				} else if (shape == 0x62f || shape == 0x630) {
+					setShape(0x631);
+					setToStartOfAnim(Animation::fallBackwardsCru);
+				}
+			}
+		}
+
+
 		Direction dirtest[9];
 		/* 0x383 == 899 (robot), 1423 = plasma death, 1430 = fire death skeleton */
 		if (getShape() != 899 && getShape() != 0x58f && getShape() != 0x596) {


Commit: 1ee2388f430b5fb9ce64455ccf597890a9b58a7a
    https://github.com/scummvm/scummvm/commit/1ee2388f430b5fb9ce64455ccf597890a9b58a7a
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-07-05T07:28:54+09:00

Commit Message:
ULTIMA8: Stop Regret's RollingThunder if actor is dead

Changed paths:
    engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp


diff --git a/engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp b/engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp
index b91a854f0e..f76df38342 100644
--- a/engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp
+++ b/engines/ultima/ultima8/world/actors/rolling_thunder_process.cpp
@@ -57,7 +57,7 @@ RollingThunderProcess::RollingThunderProcess(Actor *actor) : _target(0), _timer(
 void RollingThunderProcess::run() {
 	Actor *actor = getActor(_itemNum);
 
-	if (!actor) {
+	if (!actor || actor->isDead()) {
 		// gone! maybe dead..
 		terminate();
 		return;


Commit: 95745e0d6cdf7d0f137e385614a6dcacc8d5409d
    https://github.com/scummvm/scummvm/commit/95745e0d6cdf7d0f137e385614a6dcacc8d5409d
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-07-05T07:28:54+09:00

Commit Message:
ULTIMA8: Improved animation debug logging

Changed paths:
    engines/ultima/ultima8/world/actors/actor_anim_process.cpp
    engines/ultima/ultima8/world/actors/animation_tracker.cpp


diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
index da723d2018..fca0b92b26 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
@@ -93,6 +93,14 @@ bool ActorAnimProcess::init() {
 	if (!actor->hasFlags(Item::FLG_FASTAREA)) {
 		// not in the fast area? Can't play an animation then.
 		// (If we do, the actor will likely fall because the floor is gone.)
+
+#ifdef WATCHACTOR
+	if (_itemNum == watchactor)
+		pout << "Animation [" << Kernel::get_instance()->getFrameNum()
+			 << "] ActorAnimProcess " << getPid() << " init failed "
+			 << "(actor " << _itemNum << "not fast)" << Std::endl;
+#endif
+
 		return false;
 	}
 
@@ -113,6 +121,14 @@ bool ActorAnimProcess::init() {
 	if (!_tracker->init(actor, _action, _dir)) {
 		delete _tracker;
 		_tracker = nullptr;
+
+#ifdef WATCHACTOR
+	if (_itemNum == watchactor)
+		pout << "Animation [" << Kernel::get_instance()->getFrameNum()
+			 << "] ActorAnimProcess " << getPid() << " init failed "
+			 << "(tracker init failed)" << Std::endl;
+#endif
+
 		return false;
 	}
 
@@ -655,7 +671,7 @@ void ActorAnimProcess::terminate() {
 	if (_itemNum == watchactor)
 		pout << "Animation ["
 		     << Kernel::get_instance()->getFrameNum()
-		     << "] ActorAnimProcess terminating"
+		     << "] ActorAnimProcess " << getPid() << " terminating"
 		     << Std::endl;
 #endif
 
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.cpp b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
index aae0e52c87..48501dbdf3 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.cpp
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
@@ -64,8 +64,15 @@ bool AnimationTracker::init(const Actor *actor, Animation::Sequence action,
 	uint32 actionnum = AnimDat::getActionNumberForSequence(action, actor);
 	_animAction = GameData::get_instance()->getMainShapes()->
 	             getAnim(shape, actionnum);
-	if (!_animAction)
+	if (!_animAction) {
+#ifdef WATCHACTOR
+		if (actor && actor->getObjId() == watchactor) {
+			debug(6, "AnimationTracker: no animation action %d for shape %d",
+				  actionnum, shape);
+		}
+#endif
 		return false;
+	}
 
 	_dir = dir;
 


Commit: 30cf4bc28a1f548cf153bba7d4e155c04c6ea1af
    https://github.com/scummvm/scummvm/commit/30cf4bc28a1f548cf153bba7d4e155c04c6ea1af
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-07-05T07:28:54+09:00

Commit Message:
ULTIMA8: Fix global constructor warning

Changed paths:
    engines/ultima/ultima8/world/fire_type_table.cpp


diff --git a/engines/ultima/ultima8/world/fire_type_table.cpp b/engines/ultima/ultima8/world/fire_type_table.cpp
index 197353971f..426ae2fd6a 100644
--- a/engines/ultima/ultima8/world/fire_type_table.cpp
+++ b/engines/ultima/ultima8/world/fire_type_table.cpp
@@ -29,64 +29,70 @@
 namespace Ultima {
 namespace Ultima8 {
 
-static FireType FIRE_TYPE_TABLE_REM[] = {
-	// Extracted from CRUSADER.EXE 1478:252a
-	//       FType      Hign Dmg  Num Shots  Sh.Mask  Cells/Rnd  Near Sprite
-	//            Low Dmg     Range   Shield Cost Accurat  Rnd Dur
-	FireType(0x0, 0,    0,    0,  0,  0,     0,   0,  0,   0,    0),
-	FireType(0x1, 0x12, 0x19, 0,  1,  0x82,  0x7, 0,  0xc, 1000, 0),
-	FireType(0x2, 0xa,  0x11, 0,  8,  0x50,  0x7, 0,  0xc, 1000, 0),
-	FireType(0x3, 0xc8, 0xc8, 10, 1,  0,     0,   1,  0x3, 1000, 1),
-	FireType(0x4, 0x96, 0x96, 10, 1,  0,     0,   0,  0x1, 1000, 1),
-	FireType(0x5, 0x19, 0x2d, 0,  1,  0x190, 0x6, 0,  0x4, 1000, 1),
-	FireType(0x6, 0xf,  0x23, 0,  1,  0x177, 0x6, 1,  0x4, 1000, 1),
-	FireType(0x7, 0x5,  0x5,  0,  1,  0,     0,   0,  0x1, 1000, 1),
-	FireType(0x8, 0x5,  0x5,  0,  1,  0,     0,   0,  0x1, 1000, 0),
-	FireType(0x9, 0xa,  0xf,  0,  1,  0x12c, 0x6, 1,  0x1, 100,  1),
-	FireType(0xa, 0x2d, 0x50, 10, 3,  0,     0,   0,  0x3, 100,  1),
-	FireType(0xb, 0xe,  0x14, 0,  1,  0x50,  0x7, 0,  0xc, 1000, 0),
-	FireType(0xc, 0x5,  0x5,  0,  1,  0,     0,   0,  0x1, 1000, 0),
-	FireType(0xd, 0xa,  0x11, 0,  5,  0x50,  0x7, 0,  0xc, 1000, 0),
-	FireType(0xe, 0xfa, 0xfa, 4,  1,  0x9c4, 0x4, 1,  0x3, 1000, 1),
-	FireType(0xf, 0x23, 0x37, 4,  1,  0x2ee, 0x4, 0,  0x3, 1000, 1),
-};
+const FireType *_getFireTypeRemorse(uint16 type) {
+	static const FireType FIRE_TYPE_TABLE_REM[] = {
+		// Extracted from CRUSADER.EXE 1478:252a
+		//       FType      Hign Dmg  Num Shots  Sh.Mask  Cells/Rnd  Near Sprite
+		//            Low Dmg     Range   Shield Cost Accurat  Rnd Dur
+		FireType(0x0, 0,    0,    0,  0,  0,     0,   0,  0,   0,    0),
+		FireType(0x1, 0x12, 0x19, 0,  1,  0x82,  0x7, 0,  0xc, 1000, 0),
+		FireType(0x2, 0xa,  0x11, 0,  8,  0x50,  0x7, 0,  0xc, 1000, 0),
+		FireType(0x3, 0xc8, 0xc8, 10, 1,  0,     0,   1,  0x3, 1000, 1),
+		FireType(0x4, 0x96, 0x96, 10, 1,  0,     0,   0,  0x1, 1000, 1),
+		FireType(0x5, 0x19, 0x2d, 0,  1,  0x190, 0x6, 0,  0x4, 1000, 1),
+		FireType(0x6, 0xf,  0x23, 0,  1,  0x177, 0x6, 1,  0x4, 1000, 1),
+		FireType(0x7, 0x5,  0x5,  0,  1,  0,     0,   0,  0x1, 1000, 1),
+		FireType(0x8, 0x5,  0x5,  0,  1,  0,     0,   0,  0x1, 1000, 0),
+		FireType(0x9, 0xa,  0xf,  0,  1,  0x12c, 0x6, 1,  0x1, 100,  1),
+		FireType(0xa, 0x2d, 0x50, 10, 3,  0,     0,   0,  0x3, 100,  1),
+		FireType(0xb, 0xe,  0x14, 0,  1,  0x50,  0x7, 0,  0xc, 1000, 0),
+		FireType(0xc, 0x5,  0x5,  0,  1,  0,     0,   0,  0x1, 1000, 0),
+		FireType(0xd, 0xa,  0x11, 0,  5,  0x50,  0x7, 0,  0xc, 1000, 0),
+		FireType(0xe, 0xfa, 0xfa, 4,  1,  0x9c4, 0x4, 1,  0x3, 1000, 1),
+		FireType(0xf, 0x23, 0x37, 4,  1,  0x2ee, 0x4, 0,  0x3, 1000, 1),
+	};
+	if (type >= ARRAYSIZE(FIRE_TYPE_TABLE_REM))
+		return nullptr;
+	return &FIRE_TYPE_TABLE_REM[type];
+}
 
-static FireType FIRE_TYPE_TABLE_REG[] = {
-	// Extracted from REGRET.EXE 1480:2b2e
-	FireType(0x0,  0,    0,    0,  0,  0,     0,   0, 0,   0,    0),
-	FireType(0x1,  0x12, 0x19, 0,  1,  0x82,  0x7, 0, 0xc, 1000, 0),
-	FireType(0x2,  0xf,  0x14, 0,  10, 0x50,  0x7, 0, 0xc, 1000, 0),
-	FireType(0x3,  0xc8, 0xc8, 10, 1,  0x0,   0x0, 1, 0x3, 1000, 1),
-	FireType(0x4,  0x96, 0x96, 10, 1,  0x0,   0x0, 0, 0x1, 1000, 1),
-	FireType(0x5,  0x2d, 0x3c, 0,  1,  0x190, 0x6, 0, 0x4, 1000, 1),
-	FireType(0x6,  0x19, 0x1e, 0,  1,  0x12c, 0x6, 1, 0x4, 1000, 1),
-	FireType(0x7,  0x5,  0x5,  0,  1,  0x0,   0x0, 0, 0x1, 1000, 1),
-	FireType(0x8,  0x5,  0x5,  0,  1,  0x0,   0x0, 0, 0x1, 1000, 0),
-	FireType(0x9,  0xa,  0xf,  0,  1,  0x12c, 0x6, 1, 0x1, 100,  1),
-	FireType(0xa,  0x2d, 0x50, 7,  3,  0x0,   0x0, 0, 0x3, 100,  1),
-	FireType(0xb,  0xe,  0x14, 0,  1,  0x50,  0x7, 0, 0xc, 1000, 0),
-	FireType(0xc,  0x5,  0x5,  0,  1,  0x0,   0x0, 0, 0x1, 1000, 0),
-	FireType(0xd,  0xf,  0x14, 0,  10, 0x50,  0x7, 0, 0xc, 1000, 0),
-	FireType(0xe,  0xfa, 0xfa, 4,  1,  0x9c4, 0x4, 1, 0x3, 1000, 1),
-	FireType(0xf,  0x32, 0x4b, 4,  1,  0x2ee, 0x4, 0, 0x3, 1000, 1),
-	FireType(0x10, 0x4b, 0x64, 3,  1,  0x1f4, 0x4, 0, 0x3, 1000, 1),
-	FireType(0x11, 0x7d, 0x96, 0,  1,  0x4e2, 0x4, 0, 0x3, 1000, 1),
-	FireType(0x12, 0x14, 0x14, 0,  1,  0x0,   0x0, 0, 0x3, 1000, 1),
-	FireType(0x13, 0x5,  0x5,  0,  1,  0x0,   0x0, 0, 0x3, 1000, 1),
-	FireType(0x14, 0x64, 0x7d, 0,  1,  0x384, 0x4, 0, 0x3, 1000, 1),
-	FireType(0x15, 0x1e, 0x32, 0,  1,  0x15e, 0x7, 0, 0x3, 1000, 1),
-	FireType(0x16, 0x2d, 0x50, 7,  1,  0x0,   0x0, 1, 0x3, 1000, 1)
-};
+const FireType *_getFireTypeRegret(uint16 type) {
+	static const FireType FIRE_TYPE_TABLE_REG[] = {
+		// Extracted from REGRET.EXE 1480:2b2e
+		FireType(0x0,  0,    0,    0,  0,  0,     0,   0, 0,   0,    0),
+		FireType(0x1,  0x12, 0x19, 0,  1,  0x82,  0x7, 0, 0xc, 1000, 0),
+		FireType(0x2,  0xf,  0x14, 0,  10, 0x50,  0x7, 0, 0xc, 1000, 0),
+		FireType(0x3,  0xc8, 0xc8, 10, 1,  0x0,   0x0, 1, 0x3, 1000, 1),
+		FireType(0x4,  0x96, 0x96, 10, 1,  0x0,   0x0, 0, 0x1, 1000, 1),
+		FireType(0x5,  0x2d, 0x3c, 0,  1,  0x190, 0x6, 0, 0x4, 1000, 1),
+		FireType(0x6,  0x19, 0x1e, 0,  1,  0x12c, 0x6, 1, 0x4, 1000, 1),
+		FireType(0x7,  0x5,  0x5,  0,  1,  0x0,   0x0, 0, 0x1, 1000, 1),
+		FireType(0x8,  0x5,  0x5,  0,  1,  0x0,   0x0, 0, 0x1, 1000, 0),
+		FireType(0x9,  0xa,  0xf,  0,  1,  0x12c, 0x6, 1, 0x1, 100,  1),
+		FireType(0xa,  0x2d, 0x50, 7,  3,  0x0,   0x0, 0, 0x3, 100,  1),
+		FireType(0xb,  0xe,  0x14, 0,  1,  0x50,  0x7, 0, 0xc, 1000, 0),
+		FireType(0xc,  0x5,  0x5,  0,  1,  0x0,   0x0, 0, 0x1, 1000, 0),
+		FireType(0xd,  0xf,  0x14, 0,  10, 0x50,  0x7, 0, 0xc, 1000, 0),
+		FireType(0xe,  0xfa, 0xfa, 4,  1,  0x9c4, 0x4, 1, 0x3, 1000, 1),
+		FireType(0xf,  0x32, 0x4b, 4,  1,  0x2ee, 0x4, 0, 0x3, 1000, 1),
+		FireType(0x10, 0x4b, 0x64, 3,  1,  0x1f4, 0x4, 0, 0x3, 1000, 1),
+		FireType(0x11, 0x7d, 0x96, 0,  1,  0x4e2, 0x4, 0, 0x3, 1000, 1),
+		FireType(0x12, 0x14, 0x14, 0,  1,  0x0,   0x0, 0, 0x3, 1000, 1),
+		FireType(0x13, 0x5,  0x5,  0,  1,  0x0,   0x0, 0, 0x3, 1000, 1),
+		FireType(0x14, 0x64, 0x7d, 0,  1,  0x384, 0x4, 0, 0x3, 1000, 1),
+		FireType(0x15, 0x1e, 0x32, 0,  1,  0x15e, 0x7, 0, 0x3, 1000, 1),
+		FireType(0x16, 0x2d, 0x50, 7,  1,  0x0,   0x0, 1, 0x3, 1000, 1)
+	};
+	if (type >= ARRAYSIZE(FIRE_TYPE_TABLE_REG))
+		return nullptr;
+	return &FIRE_TYPE_TABLE_REG[type];
+}
 
 const FireType *FireTypeTable::get(uint16 type) {
 	if (GAME_IS_REMORSE) {
-		if (type >= ARRAYSIZE(FIRE_TYPE_TABLE_REM))
-			return nullptr;
-		return &FIRE_TYPE_TABLE_REM[type];
+		return _getFireTypeRemorse(type);
 	} else {
-		if (type >= ARRAYSIZE(FIRE_TYPE_TABLE_REG))
-			return nullptr;
-		return &FIRE_TYPE_TABLE_REG[type];
+		return _getFireTypeRegret(type);
 	}
 }
 


Commit: 9fa7464dcbf1bd44ed04891032935f83a450a307
    https://github.com/scummvm/scummvm/commit/9fa7464dcbf1bd44ed04891032935f83a450a307
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-07-05T07:28:55+09:00

Commit Message:
ULTIMA8: Blank AVI frame with a RGBA-compatible black

Using color value 0 only works if there is no alpha channel, but in Regret
video decoding there is one.

Changed paths:
    engines/ultima/ultima8/graphics/avi_player.cpp


diff --git a/engines/ultima/ultima8/graphics/avi_player.cpp b/engines/ultima/ultima8/graphics/avi_player.cpp
index a693995dc6..a14c83de81 100644
--- a/engines/ultima/ultima8/graphics/avi_player.cpp
+++ b/engines/ultima/ultima8/graphics/avi_player.cpp
@@ -43,7 +43,8 @@ AVIPlayer::AVIPlayer(Common::SeekableReadStream *rs, int width, int height, cons
 	_xoff = _width / 2 - (vidWidth / 2);
 	_yoff = _height / 2 - (vidHeight / 2);
 	_currentFrame.create(vidWidth, vidHeight, _decoder->getPixelFormat());
-	_currentFrame.fillRect(Common::Rect(0, 0, vidWidth, vidHeight), 0);
+	_currentFrame.fillRect(Common::Rect(0, 0, vidWidth, vidHeight),
+						   _decoder->getPixelFormat().RGBToColor(0, 0, 0));
 }
 
 AVIPlayer::~AVIPlayer() {


Commit: 4d2e3611acd111f2183fab08fe1c62fa178806b0
    https://github.com/scummvm/scummvm/commit/4d2e3611acd111f2183fab08fe1c62fa178806b0
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-07-05T07:28:55+09:00

Commit Message:
ULTIMA8: Correct usecode mappings for ES and Demo Remorse

Changed paths:
    engines/ultima/ultima8/usecode/remorse_intrinsics.h


diff --git a/engines/ultima/ultima8/usecode/remorse_intrinsics.h b/engines/ultima/ultima8/usecode/remorse_intrinsics.h
index f41c1e4281..6bc90de7e9 100644
--- a/engines/ultima/ultima8/usecode/remorse_intrinsics.h
+++ b/engines/ultima/ultima8/usecode/remorse_intrinsics.h
@@ -388,6 +388,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Item::I_getDirToItem,
 	Actor::I_turnToward,
 	MovieGump::I_playMovieCutsceneAlt,
+	// 0x10
 	Item::I_getQLo,
 	Actor::I_getMap,
 	MusicProcess::I_playMusic,
@@ -404,10 +405,11 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Actor::I_getLastAnimSet,
 	Item::I_fireWeapon,
 	Item::I_create,
+	// 0x20
 	Item::I_popToCoords,
 	Actor::I_setDead,
 	Item::I_push,
-	0, // TODO: Intrinsic023 10a8:26a8,
+	Item::I_getEtherealTop,
 	Item::I_setShape,
 	Item::I_touch,
 	Item::I_getQHi,
@@ -420,6 +422,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Container::I_destroyContents,
 	Item::I_getQLo,
 	Item::I_inFastArea,
+	// 0x30
 	Item::I_setQHi,
 	Item::I_legalMoveToPoint,
 	CurrentMap::I_canExistAtPoint,
@@ -436,6 +439,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	AudioProcess::I_isSFXPlayingForObject,
 	Item::I_setQLo,
 	Item::I_getFamily,
+	// 0x40
 	Item::I_fall,
 	Egg::I_getEggId,
 	CameraProcess::I_moveTo,
@@ -452,6 +456,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Item::I_getQHi,
 	Item::I_isOn,
 	Item::I_getQHi,
+	// 0x50
 	Item::I_isOn,
 	Item::I_getQHi,
 	Actor::I_getCurrentActivityNo,
@@ -468,6 +473,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Item::I_legalCreateAtPoint,
 	Item::I_getPoint,
 	CruStatusGump::I_hideStatusGump,
+	// 0x60
 	MovieGump::I_playMovieOverlay,
 	CruStatusGump::I_showStatusGump,
 	Actor::I_setDead,
@@ -484,6 +490,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	UCMachine::I_true,
 	Kernel::I_resetRef,
 	Item::I_getNpcNum,
+	// 0x70
 	Item::I_andStatus,
 	Ultima8Engine::I_getUnkCrusaderFlag,
 	Ultima8Engine::I_setUnkCrusaderFlag,
@@ -500,6 +507,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Actor::I_getHp,
 	Actor::I_setActivity,
 	Item::I_getQuality,
+	// 0x80
 	Item::I_setQuality,
 	Item::I_use,
 	MainActor::I_getMaxEnergy,
@@ -516,6 +524,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Item::I_setBroken,
 	Item::I_hurl,
 	Item::I_getNpcNum,
+	// 0x90
 	PaletteFaderProcess::I_jumpToAllBlack,
 	MusicProcess::I_stopMusic,
 	0,
@@ -532,6 +541,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	PaletteFaderProcess::I_fadeFromBlack,
 	PaletteFaderProcess::I_fadeToBlack,
 	PaletteFaderProcess::I_fadeToBlack,
+	// 0xA0
 	PaletteFaderProcess::I_fadeToGivenColor,
 	Actor::I_setDead,
 	Item::I_getQLo,
@@ -548,6 +558,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Item::I_getFamilyOfType,
 	Item::I_getNpcNum,
 	Item::I_getQLo,
+	// 0xB0
 	Item::I_getQHi,
 	Item::I_unequip,
 	Item::I_avatarStoleSomething,
@@ -564,6 +575,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Item::I_isOn,
 	Item::I_hurl,
 	Item::I_getQHi,
+	// 0xC0
 	Item::I_andStatus,
 	Item::I_hurl,
 	Item::I_andStatus,
@@ -580,6 +592,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Actor::I_isInCombat,
 	Actor::I_setActivity,
 	Item::I_setQAndCombine,
+	// 0xD0
 	Item::I_use,
 	AudioProcess::I_stopAllSFX,
 	MovieGump::I_playMovieCutscene,
@@ -596,6 +609,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Actor::I_getLastActivityNo,
 	Actor::I_setCombatTactic,
 	Actor::I_getEquip,
+	// 0xE0
 	Actor::I_setEquip,
 	Actor::I_getDefaultActivity0,
 	Actor::I_getDefaultActivity1,
@@ -612,6 +626,7 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Item::I_popToContainer,
 	BatteryChargerProcess::I_create,
 	Kernel::I_getNumProcesses,
+	// 0xF0
 	Item::I_getQHi,
 	Item::I_isOn,
 	Actor::I_setActivity,
@@ -628,10 +643,11 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	MainActor::I_hasKeycard,
 	ComputerGump::I_readComputer,
 	UCMachine::I_numToStr,
+	// 0x100
 	Item::I_getNpcNum,
 	Item::I_andStatus,
 	Item::I_getNpcNum,
-	Ultima8Engine::I_moveKeyDownRecently,
+	Item::I_isCrusTypeNPC,
 	Item::I_andStatus,
 	Item::I_getNpcNum,
 	Item::I_andStatus,
@@ -681,7 +697,6 @@ Intrinsic RemorseDemoIntrinsics[] = {
 	Actor::I_getLastAnimSet,
 	Item::I_setQuality,
 	0 // Unused
-
 };
 
 
@@ -966,7 +981,7 @@ Intrinsic RemorseEsIntrinsics[] = {
 	Item::I_getNpcNum,
 	Item::I_andStatus,
 	Item::I_getNpcNum,
-	Ultima8Engine::I_moveKeyDownRecently,
+	Item::I_isCrusTypeNPC,
 	Item::I_andStatus,
 	Item::I_getNpcNum,
 	Item::I_andStatus,




More information about the Scummvm-git-logs mailing list