[Scummvm-git-logs] scummvm master -> a277b779f0828922711a855711ca4f954555c5bd

aquadran noreply at scummvm.org
Sat Jul 30 14:18:31 UTC 2022


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

Summary:
a277b779f0 ICB: More work on endian code safe


Commit: a277b779f0828922711a855711ca4f954555c5bd
    https://github.com/scummvm/scummvm/commit/a277b779f0828922711a855711ca4f954555c5bd
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2022-07-30T16:18:27+02:00

Commit Message:
ICB: More work on endian code safe

Changed paths:
    engines/icb/gfx/psx_anims.h
    engines/icb/player.cpp


diff --git a/engines/icb/gfx/psx_anims.h b/engines/icb/gfx/psx_anims.h
index ff5b6b5c597..63751a69bed 100644
--- a/engines/icb/gfx/psx_anims.h
+++ b/engines/icb/gfx/psx_anims.h
@@ -41,13 +41,7 @@ inline PXframe_PSX *PXFrameEnOfAnim(uint32 n, PXanim_PSX *pAnim) {
 		error("Should exit with error-code -1");
 		return NULL;
 	}
-	return (PXframe_PSX *)((uint8 *)pAnim + pAnim->offsets[n]);
-}
-
-static inline void psxMatrixToAngles(PXorient_PSX &orient, PXfloat &pan, PXfloat &tilt, PXfloat &cant) {
-	pan = orient.pan;
-	tilt = orient.tilt;
-	cant = orient.cant;
+	return (PXframe_PSX *)((uint8 *)pAnim + FROM_LE_16(pAnim->offsets[n]));
 }
 
 } // End of namespace ICB
diff --git a/engines/icb/player.cpp b/engines/icb/player.cpp
index ff2302374bc..27919933202 100644
--- a/engines/icb/player.cpp
+++ b/engines/icb/player.cpp
@@ -978,14 +978,14 @@ void _player::Soft_start_new_mode_no_link(_player_stat new_mode, __mega_set_name
 	                                                log->voxel_info->base_path, log->voxel_info->base_path_hash); //
 
 	// find out leg position for current frame
-	old_leg_pos = PXFrameEnOfAnim(log->anim_pc, pCurAnim)->left_foot_distance;
+	old_leg_pos = FROM_LE_16(PXFrameEnOfAnim(log->anim_pc, pCurAnim)->left_foot_distance);
 
 	// JAKE : just in case defrag has moved something about
 	PXanim *pLnkAnim = (PXanim *)rs_anims->Res_open(log->voxel_info->get_info_name(type), log->voxel_info->info_name_hash[type], log->voxel_info->base_path,
 	                                                log->voxel_info->base_path_hash); //
 	// see which has the closest leg position
 	for (j = 0; j < (pLnkAnim->frame_qty - 1); j++) {
-		int32 foot = PXFrameEnOfAnim(j, pLnkAnim)->left_foot_distance;
+		int32 foot = FROM_LE_16(PXFrameEnOfAnim(j, pLnkAnim)->left_foot_distance);
 		int32 d = twabs(foot - old_leg_pos);
 		if (d < diff) {
 			diff = d;
@@ -1027,7 +1027,7 @@ void _player::Soft_start_new_mode(_player_stat new_mode, __mega_set_names opt_li
 	                                                log->voxel_info->base_path, log->voxel_info->base_path_hash); //
 
 	// find out leg position for current frame
-	old_leg_pos = PXFrameEnOfAnim(log->anim_pc, pCurAnim)->left_foot_distance;
+	old_leg_pos = FROM_LE_16(PXFrameEnOfAnim(log->anim_pc, pCurAnim)->left_foot_distance);
 
 	// JAKE : just in case defrag has moved something about
 	PXanim *pLnkAnim = (PXanim *)rs_anims->Res_open(log->voxel_info->get_info_name(opt_link), log->voxel_info->info_name_hash[opt_link], log->voxel_info->base_path,
@@ -1035,7 +1035,7 @@ void _player::Soft_start_new_mode(_player_stat new_mode, __mega_set_names opt_li
 
 	// see which has the closest leg position
 	for (j = 0; j < (pLnkAnim->frame_qty - 1); j++) {
-		int32 foot = PXFrameEnOfAnim(j, pLnkAnim)->left_foot_distance;
+		int32 foot = FROM_LE_16(PXFrameEnOfAnim(j, pLnkAnim)->left_foot_distance);
 		int32 d = twabs(foot - old_leg_pos);
 		if (d < diff) {
 			diff = d;
@@ -1255,7 +1255,7 @@ void _player::Soft_start_new_mode(_player_stat new_mode, __mega_set_names opt_li
 	                                                log->voxel_info->base_path, log->voxel_info->base_path_hash); //
 
 	// find out leg position for current frame
-	old_leg_pos = PXFrameEnOfAnim(log->anim_pc, pCurAnim)->left_foot_distance;
+	old_leg_pos = FROM_LE_16(PXFrameEnOfAnim(log->anim_pc, pCurAnim)->left_foot_distance);
 
 	// Load the first link candidate anim
 	PXanim *pLnkAnim = (PXanim *)rs_anims->Res_open(log->voxel_info->get_info_name(opt_link), log->voxel_info->info_name_hash[opt_link], log->voxel_info->base_path,
@@ -1263,7 +1263,7 @@ void _player::Soft_start_new_mode(_player_stat new_mode, __mega_set_names opt_li
 
 	// see which has the closest leg position
 	for (j = 0; j < (pLnkAnim->frame_qty - 1); j++) {
-		int32 foot = PXFrameEnOfAnim(j, pLnkAnim)->left_foot_distance;
+		int32 foot = FROM_LE_16(PXFrameEnOfAnim(j, pLnkAnim)->left_foot_distance);
 		int32 d = twabs(foot - old_leg_pos);
 		if (d < diff) {
 			diff = d;
@@ -1278,7 +1278,7 @@ void _player::Soft_start_new_mode(_player_stat new_mode, __mega_set_names opt_li
 
 	// see which has the closest leg position
 	for (j = 0; j < (pLnkAnim->frame_qty - 1); j++) {
-		int32 foot = PXFrameEnOfAnim(j, pLnkAnim)->left_foot_distance;
+		int32 foot = FROM_LE_16(PXFrameEnOfAnim(j, pLnkAnim)->left_foot_distance);
 		int32 d = twabs(foot - old_leg_pos);
 		if (d < diff) {
 			diff = d;




More information about the Scummvm-git-logs mailing list