diff options
| -rw-r--r-- | engines/hopkins/graphics.cpp | 40 | ||||
| -rw-r--r-- | engines/hopkins/graphics.h | 2 | ||||
| -rw-r--r-- | engines/hopkins/lines.cpp | 182 | 
3 files changed, 66 insertions, 158 deletions
| diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp index 93c96ab1d9..2b5eef98d7 100644 --- a/engines/hopkins/graphics.cpp +++ b/engines/hopkins/graphics.cpp @@ -48,7 +48,7 @@ GraphicsManager::GraphicsManager() {  	_lineNbr2 = 0;  	Agr_x = Agr_y = 0; -	Agr_Flag_x = Agr_Flag_y = 0; +	Agr_Flag_x = Agr_Flag_y = false;  	_fadeDefaultSpeed = 15;  	FADE_LINUX = 0;  	_skipVideoLockFl = false; @@ -455,7 +455,7 @@ void GraphicsManager::m_scroll16A(const byte *surface, int xs, int ys, int width  	yNext = height;  	Agr_x = 0;  	Agr_y = 0; -	Agr_Flag_y = 0; +	Agr_Flag_y = false;  	do {  		for (;;) { @@ -483,17 +483,17 @@ void GraphicsManager::m_scroll16A(const byte *surface, int xs, int ys, int width  			yNext = yCtr;  			srcP = srcCopyP;  			destP = WinScan + destCopyP; -			if (Agr_Flag_y == 1) +			if (Agr_Flag_y)  				break;  			if ((unsigned int)Agr_y < 100)  				break;  			Agr_y -= 100; -			Agr_Flag_y = 1; +			Agr_Flag_y = true;  		} -		Agr_Flag_y = 0; +		Agr_Flag_y = false;  		srcP = _lineNbr2 + srcCopyP;  		yNext = yCtr - 1;  	} while (yCtr != 1); @@ -1313,8 +1313,8 @@ void GraphicsManager::Affiche_Perfect(byte *surface, const byte *srcData, int xp  		Compteur_y = 0;  		Agr_x = 0;  		Agr_y = 0; -		Agr_Flag_y = 0; -		Agr_Flag_x = 0; +		Agr_Flag_y = false; +		Agr_Flag_x = false;  		_width = spriteWidth;  		int v20 = zoomIn(spriteWidth, zoom2);  		int v22 = zoomIn(spriteHeight1, zoom2); @@ -1340,12 +1340,10 @@ void GraphicsManager::Affiche_Perfect(byte *surface, const byte *srcData, int xp  			if (v20 > (uint16)clip_x1) {  				int v32 = v20 - (uint16)clip_x1;  				v29 -= v32; -				int v62 = v22;  				int v33 = 0;  				while (zoomIn(v33 + 1, zoom2) < v32)  					;  				int v34 = v33; -				v22 = v62;  				spritePixelsP += v34;  				v20 = (uint16)clip_x1;  			} @@ -1355,7 +1353,7 @@ void GraphicsManager::Affiche_Perfect(byte *surface, const byte *srcData, int xp  					v63 = v22;  					byte *v53 = v29;  					v46 = spritePixelsP; -					Agr_Flag_x = 0; +					Agr_Flag_x = false;  					Agr_x = 0;  					for (int v35 = v20; v35; v35--) {  						for (;;) { @@ -1367,14 +1365,14 @@ void GraphicsManager::Affiche_Perfect(byte *surface, const byte *srcData, int xp  								Agr_x = zoom2 + Agr_x;  							if ((uint16)Agr_x < 100)  								break; -							Agr_x = Agr_x - 100; +							Agr_x -= 100;  							--spritePixelsP; -							Agr_Flag_x = 1; +							Agr_Flag_x = true;  							--v35;  							if (!v35)  								goto R_Aff_Zoom_Larg_Cont1;  						} -						Agr_Flag_x = 0; +						Agr_Flag_x = false;  					}  R_Aff_Zoom_Larg_Cont1:  					spritePixelsP = _width + v46; @@ -1384,14 +1382,14 @@ R_Aff_Zoom_Larg_Cont1:  						Agr_y = zoom2 + Agr_y;  					if ((uint16)Agr_y < 100)  						break; -					Agr_y = Agr_y - 100; +					Agr_y -= 100;  					spritePixelsP = v46; -					Agr_Flag_y = 1; +					Agr_Flag_y = true;  					v22 = v63 - 1;  					if (v63 == 1)  						return;  				} -				Agr_Flag_y = 0; +				Agr_Flag_y = false;  				v22 = v63 - 1;  			} while (v63 != 1);  		} else { @@ -1431,7 +1429,7 @@ R_Aff_Zoom_Larg_Cont1:  					byte *v51 = dest1P;  					v45 = spritePixelsP;  					int v28 = v20; -					Agr_Flag_x = 0; +					Agr_Flag_x = false;  					Agr_x = 0;  					do {  						for (;;) { @@ -1445,12 +1443,12 @@ R_Aff_Zoom_Larg_Cont1:  								break;  							Agr_x = Agr_x - 100;  							--spritePixelsP; -							Agr_Flag_x = 1; +							Agr_Flag_x = true;  							--v28;  							if (!v28)  								goto Aff_Zoom_Larg_Cont1;  						} -						Agr_Flag_x = 0; +						Agr_Flag_x = false;  						--v28;  					} while (v28);  Aff_Zoom_Larg_Cont1: @@ -1462,12 +1460,12 @@ Aff_Zoom_Larg_Cont1:  						break;  					Agr_y = Agr_y - 100;  					spritePixelsP = v45; -					Agr_Flag_y = 1; +					Agr_Flag_y = true;  					v22 = v60 - 1;  					if (v60 == 1)  						return;  				} -				Agr_Flag_y = 0; +				Agr_Flag_y = false;  				v22 = v60 - 1;  			} while (v60 != 1);  		} diff --git a/engines/hopkins/graphics.h b/engines/hopkins/graphics.h index 2796deb685..8ff4a7c13e 100644 --- a/engines/hopkins/graphics.h +++ b/engines/hopkins/graphics.h @@ -76,7 +76,7 @@ public:  	int _scrollSpeed;  	int _lineNbr2;  	int Agr_x, Agr_y; -	int Agr_Flag_x, Agr_Flag_y; +	bool Agr_Flag_x, Agr_Flag_y;  	int _fadeDefaultSpeed;  	int FADE_LINUX;  	bool _skipVideoLockFl; diff --git a/engines/hopkins/lines.cpp b/engines/hopkins/lines.cpp index c2a56fa46d..1fb48047eb 100644 --- a/engines/hopkins/lines.cpp +++ b/engines/hopkins/lines.cpp @@ -141,12 +141,8 @@ void LinesManager::addZoneLine(int idx, int a2, int a3, int a4, int a5, int bobZ  		_zoneLine[idx].zoneData = (int16 *)_vm->_globals.freeMemory((byte *)_zoneLine[idx].zoneData); -		int v8 = a2 - a4; -		if (a2 - a4 < 0) -			v8 = -v8; -		int v9 = a3 - a5; -		if (a3 - a5 < 0) -			v9 = -v9; +		int v8 = abs(a2 - a4); +		int v9 = abs(a3 - a5);  		int v20 = 1;  		if (v8 <= v9)  			v20 += v9; @@ -230,16 +226,12 @@ void LinesManager::AJOUTE_LIGNE(int idx, int a2, int a3, int a4, int a5, int a6,  		_linesNumb = idx;  	Ligne[idx].lineData = (int16 *)_vm->_globals.freeMemory((byte *)Ligne[idx].lineData); -	v7 = a3 - a5; -	if (a3 - a5 < 0) -		v7 = -v7; +	v7 = abs(a3 - a5);  	v8 = v7 + 1; -	v9 = a4 - a6; -	if (a4 - a6 < 0) -		v9 = -v9; +	v9 = abs(a4 - a6);  	v34 = v9 + 1;  	v33 = v9 + 1; -	if (v8 > (int)(v9 + 1)) +	if (v8 > v34)  		v34 = v8;  	v10 = _vm->_globals.allocMemory(4 * v34 + 8); @@ -1059,17 +1051,13 @@ LABEL_11:  		v93 = v16[v65 - 1];  	}  LABEL_17: -	int v18 = a3 - a5; -	if (a3 - a5 < 0) -		v18 = -v18; +	int v18 = abs(a3 - a5);  	int v58 = v18 + 1; -	int v19 = a4 - a6; -	if (a4 - a6 < 0) -		v19 = -v19; +	int v19 = abs(a4 - a6);  	int v85 = v19 + 1;  	int v20 = v19 + 1;  	if (v58 > v20) -		v85 = v18 + 1; +		v85 = v58;  	int v84 = 1000 * v58 / v85;  	int v83 = 1000 * v20 / v85;  	int v21 = 1000 * a3; @@ -1222,9 +1210,7 @@ LABEL_17:  		NVPX = v78;  		NVPY = v79;  		if (a1 < v80) { -			int v40 = v80 - a1; -			if (v40 < 0) -				v40 = -v40; +			int v40 = abs(v80 - a1);  			int v41 = v40;  			int v43 = 0;  			int v52 = v92 - 1; @@ -1239,15 +1225,9 @@ LABEL_17:  			} while (v80 != v42);  			if (v41 == v43) {  				int v44 = Ligne[a1].field0 / 2; -				int v54 = Ligne[a1].field0 / 2; -				if (v44 < 0) -					v54 = -v44; +				int v54 = abs(v44);  				if (a2 > v54) { -					int v55 = Ligne[a1].field0 / 2; -					if (v44 < 0) -						v55 = -v44; -					if (a2 >= v55) -						v99 = CONTOURNE(a1, a2, a7, v80, v77, a8, a9); +					v99 = CONTOURNE(a1, a2, a7, v80, v77, a8, a9);  				} else {  					v99 = CONTOURNE1(a1, a2, a7, v80, v77, a8, a9, v92, v91);  				} @@ -1258,9 +1238,7 @@ LABEL_17:  				v99 = CONTOURNE1(a1, a2, v99, v80, v77, a8, a9, v92, v91);  		}  		if (a1 > v80) { -			int v45 = a1 - v80; -			if (v45 < 0) -				v45 = -v45; +			int v45 = abs(a1 - v80);  			int v46 = v45;  			int v47 = a1;  			int v48 = 0; @@ -1275,15 +1253,9 @@ LABEL_17:  			} while (v80 != v47);  			if (v46 == v48) {  				int v49 = Ligne[a1].field0 / 2; -				int v56 = Ligne[a1].field0 / 2; -				if (v49 < 0) -					v56 = -v49; +				int v56 = abs(v49);  				if (a2 > v56) { -					int v57 = Ligne[a1].field0 / 2; -					if (v49 < 0) -						v57 = -v49; -					if (a2 >= v57) -						v99 = CONTOURNE1(a1, a2, v99, v80, v77, a8, a9, v92, v91); +					v99 = CONTOURNE1(a1, a2, v99, v80, v77, a8, a9, v92, v91);  				} else {  					v99 = CONTOURNE(a1, a2, v99, v80, v77, a8, a9);  				} @@ -1461,33 +1433,21 @@ int16 *LinesManager::PARCOURS2(int srcX, int srcY, int destX, int destY) {  	if (destY <= 24)  		v122 = 25;  	if (!_vm->_globals.NOT_VERIF) { -		v4 = srcX - _vm->_globals.old_x1_65; -		if (v4 < 0) -			v4 = -v4; +		v4 = abs(srcX - _vm->_globals.old_x1_65);  		if (v4 <= 4) { -			v5 = srcY - _vm->_globals.old_y1_66; -			if (v5 < 0) -				v5 = -v5; +			v5 = abs(srcY - _vm->_globals.old_y1_66);  			if (v5 <= 4) { -				v6 = _vm->_globals.old_x2_67 - destX; -				if (v6 < 0) -					v6 = -v6; +				v6 = abs(_vm->_globals.old_x2_67 - destX);  				if (v6 <= 4) { -					v7 = _vm->_globals.old_y2_68 - v122; -					if (v7 < 0) -						v7 = -v7; +					v7 = abs(_vm->_globals.old_y2_68 - v122);  					if (v7 <= 4)  						return (int16 *)g_PTRNUL;  				}  			}  		} -		v8 = srcX - destX; -		if (v8 < 0) -			v8 = -v8; +		v8 = abs(srcX - destX);  		if (v8 <= 4) { -			v9 = srcY - v122; -			if (v9 < 0) -				v9 = -v9; +			v9 = abs(srcY - v122);  			if (v9 <= 4)  				return (int16 *)g_PTRNUL;  		} @@ -1510,13 +1470,9 @@ int16 *LinesManager::PARCOURS2(int srcX, int srcY, int destX, int destY) {  		v123 = _vm->_graphicsManager.max_x - 10;  	if (v122 > _vm->_globals.Max_Perso_Y)  		v122 = _vm->_globals.Max_Perso_Y; -	v10 = srcX - v123; -	if (v10 < 0) -		v10 = -v10; +	v10 = abs(srcX - v123);  	if (v10 <= 3) { -		v11 = srcY - v122; -		if (v11 < 0) -			v11 = -v11; +		v11 = abs(srcY - v122);  		if (v11 <= 3)  			return (int16 *)g_PTRNUL;  	} @@ -1735,27 +1691,19 @@ int16 *LinesManager::PARCOURS2(int srcX, int srcY, int destX, int destY) {  		}  		v131[7] = v46 + 1;  		if (v141[1] != -1) { -			v50 = v141[1] - v121; -			if (v50 < 0) -				v50 = -v50; +			v50 = abs(v141[1] - v121);  			v126[1] = v50;  		}  		if (v141[3] != -1) { -			v51 = v141[3] - v121; -			if (v51 < 0) -				v51 = -v51; +			v51 = abs(v141[3] - v121);  			v126[3] = v51;  		}  		if (v141[5] != -1) { -			v52 = v141[5] - v121; -			if (v52 < 0) -				v52 = -v52; +			v52 = abs(v141[5] - v121);  			v126[5] = v52;  		}  		if (v141[7] != -1) { -			v53 = v141[7] - v121; -			if (v53 < 0) -				v53 = -v53; +			v53 = abs(v141[7] - v121);  			v126[7] = v53;  		}  		if (v141[1] == -1 && v141[3] == -1 && v141[5] == -1 && v141[7] == -1) @@ -1927,9 +1875,7 @@ LABEL_234:  							v112 += 4;  							v76 = Ligne[v110].field0;  							if (v76 > 30) { -								v77 = v76 / 2; -								if (v77 < 0) -									v77 = -v77; +								v77 = abs(v76 / 2);  								if (v72 == v77) {  									v78 = PARC_PERS(v119, v118, v123, v122, v110, v121, v112);  									if (v78 == 1) @@ -1997,9 +1943,7 @@ LABEL_200:  								v112 += 4;  								v86 = Ligne[v109].field0;  								if (v86 > 30) { -									v87 = v86 / 2; -									if (v87 < 0) -										v87 = -v87; +									v87 = abs(v86 / 2);  									if (v83 == v87) {  										v88 = PARC_PERS(v119, v118, v123, v122, v117, v121, v112);  										if (v88 == 1) @@ -2285,13 +2229,9 @@ LABEL_150:  			}  			goto LABEL_248;  		} -		v9 = v7 - a3; -		if (v7 - a3 < 0) -			v9 = -v9; +		v9 = abs(v7 - a3);  		v10 = v9 + 1; -		v11 = v90 - a4; -		if (v90 - a4 < 0) -			v11 = -v11; +		v11 = abs(v90 - a4);  		v107 = v11 + 1;  		if (v10 > (int16)(v11 + 1))  			v107 = v10; @@ -2330,13 +2270,9 @@ LABEL_150:  		if (v91 == -1 && !VERIF_SMOOTH(v7, v109, a3, a4) && SMOOTH_MOVE(v7, v109, a3, a4) != -1)  			break;  LABEL_72: -		v19 = v111 - a3; -		if (v111 - a3 < 0) -			v19 = -v19; +		v19 = abs(v111 - a3);  		v20 = v19 + 1; -		v95 = v109 - a4; -		if (v95 < 0) -			v95 = -(v109 - a4); +		v95 = abs(v109 - a4);  		v108 = v95 + 1;  		if (v20 > (int16)(v95 + 1))  			v108 = v20; @@ -2928,13 +2864,9 @@ int LinesManager::VERIF_SMOOTH(int a1, int a2, int a3, int a4) {  	int v17;  	int v18; -	v4 = a1 - a3; -	if (a1 - a3 < 0) -		v4 = -v4; +	v4 = abs(a1 - a3);  	v5 = v4 + 1; -	v11 = a2 - a4; -	if (a2 - a4 < 0) -		v11 = -(a2 - a4); +	v11 = abs(a2 - a4);  	v13 = v11 + 1;  	if (v5 > (int)(v11 + 1))  		v13 = v5; @@ -3046,14 +2978,10 @@ int LinesManager::SMOOTH_MOVE(int a3, int a4, int a5, int a6) {  							v26 = v48;  						}  						if (v26 > 0) { -							v30 = v26; -							v31 = v26; -							if (v26 < 0) -								v31 = -v26; +							v30 = abs(v26); +							v31 = abs(v26);  							v46 = v63;  							v25 = _vm->_graphicsManager.zoomIn(v25, v31); -							if (v30 < 0) -								v30 = -v30;  							v40 = _vm->_graphicsManager.zoomIn(v40, v30);  							v63 = v46;  						} @@ -3089,28 +3017,20 @@ int LinesManager::SMOOTH_MOVE(int a3, int a4, int a5, int a6) {  					v39 = _vm->_globals.Hopkins[v52].field2;  					v15 = _vm->_globals.STAILLE[v63];  					if (v15 < 0) { -						v16 = v15; -						v17 = v15; -						if (v15 < 0) -							v17 = -v15; +						v16 = abs(v15); +						v17 = abs(v15);  						v47 = _vm->_globals.STAILLE[v63];  						v43 = v63;  						v14 = _vm->_graphicsManager.zoomOut(v14, v17); -						if (v16 < 0) -							v16 = -v16;  						v39 = _vm->_graphicsManager.zoomOut(v39, v16);  						v63 = v43;  						v15 = v47;  					}  					if (v15 > 0) { -						v19 = v15; -						v20 = v15; -						if (v15 < 0) -							v20 = -v15; +						v19 = abs(v15); +						v20 = abs(v15);  						v44 = v63;  						v14 = _vm->_graphicsManager.zoomIn(v14, v20); -						if (v19 < 0) -							v19 = -v19;  						v39 = _vm->_graphicsManager.zoomIn(v39, v19);  						v63 = v44;  					} @@ -3158,7 +3078,7 @@ int LinesManager::SMOOTH_MOVE(int a3, int a4, int a5, int a6) {  				if (v51 == 24)  					v51 = 12;  				++v55; -				if (v62 <= a5 || a6 >= (int)v63) +				if (v62 <= a5 || a6 >= v63)  					v49 = 1;  			} while (v49 != 1);  			if (v55 > 5) { @@ -3287,32 +3207,22 @@ int LinesManager::PLAN_TEST(int a1, int a2, int a3, int a4, int a5, int a6) {  	v35 = 100;  	v27 = 100;  	v8 = 0; -	v9 = a4 - a5; -	if (a4 - a5 < 0) -		v9 = -v9; +	v9 = abs(a4 - a5);  	v36 = v9;  	if (v40 != -1) { -		v10 = v50 - a5; -		if (v50 - a5 < 0) -			v10 = -v10; +		v10 = abs(v50 - a5);  		v28 = v10;  	}  	if (v39 != -1) { -		v11 = v51 - a5; -		if (v11 < 0) -			v11 = -v11; +		v11 = abs(v51 - a5);  		v7 = v11;  	}  	if (v38 != -1) { -		v12 = v52 - a5; -		if (v12 < 0) -			v12 = -v12; +		v12 = abs(v52 - a5);  		v35 = v12;  	}  	if (v37 != -1) { -		v13 = v53 - a5; -		if (v13 < 0) -			v13 = -v13; +		v13 = abs(v53 - a5);  		v27 = v13;  	}  	if (v28 < v36 && v28 <= v7 && v28 <= v35 && v28 <= v27) | 
