shithub: hexen

Download patch

ref: 63095fe7950ab830cf7ff03a2feb8a0bf4c9d348
parent: 74a4498e93ff77506e3d30b6f32c0c3f936c86db
author: Jacob Moody <moody@posixcafe.org>
date: Fri Feb 24 21:21:55 EST 2023

arm64 compilation

--- a/p_enemy.c
+++ b/p_enemy.c
@@ -517,7 +517,8 @@
 	angle_t an;
 	fixed_t dist;
 
-	if (!netgame && players[0].health <= 0)
+	player = players;
+	if (!netgame && player->health <= 0)
 	{ // Single player game and player is dead, look for monsters
 		return(P_LookForMonsters(actor));
 	}
@@ -918,7 +919,9 @@
 		mo->angle = oldMonster.angle;
 		mo->flags = oldMonster.flags;
 		mo->health = oldMonster.health;
-		mo->target = oldMonster.target;
+		//arm64 allignment
+		//mo->target = oldMonster.target;
+		memcpy(&mo->target, &oldMonster.target, sizeof mo->target);
 		mo->special = oldMonster.special;
 		mo->special1 = 5*35; // Next try in 5 seconds
 		mo->special2 = moType;
@@ -928,7 +931,9 @@
 		return false;
 	}
 	mo->angle = oldMonster.angle;
-	mo->target = oldMonster.target;
+	//arm64 allignment
+	//mo->target = oldMonster.target;
+	memcpy(&mo->target, &oldMonster.target, sizeof mo->target);
 	mo->tid = oldMonster.tid;
 	mo->special = oldMonster.special;
 	memcpy(mo->args, oldMonster.args, 5);
--- a/p_inter.c
+++ b/p_inter.c
@@ -1671,7 +1671,9 @@
 	monster->special2 = moType;
 	monster->special1 = MORPHTICS + P_Random();
 	monster->flags |= (oldMonster.flags & MF_SHADOW);
-	monster->target = oldMonster.target;
+	//monster->target = oldMonster.target;
+	//arm64 allignment
+	memcpy(&monster->target, &oldMonster.target, sizeof monster->target);
 	monster->angle = oldMonster.angle;
 	monster->tid = oldMonster.tid;
 	monster->special = oldMonster.special;