From 87253b7212d66c466be26d820f21ea8151bda89f Mon Sep 17 00:00:00 2001 From: Julie Marchant Date: Sun, 26 May 2019 19:41:31 -0400 Subject: [PATCH] Always show the arrow as red in Classic difficulty. --- README.txt | 5 ----- src/game.c | 32 ++++++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/README.txt b/README.txt index cfc5125..b25468d 100644 --- a/README.txt +++ b/README.txt @@ -54,11 +54,6 @@ as possible. However, there are several minor differences in addition to the changes to graphics, sound, and dialog. Here you can fine a list of notable differences. -* The arrow pointing toward the current target is colored green if the - target is an ally, whereas version 1.1 always showed a red arrow. - The arrow is also positioned lower than in version 1.1 and does not - disappear when radio messages are broadcast. - * Life bars for named characters are labeled with the respective character's name instead of "Target". diff --git a/src/game.c b/src/game.c index 620e9df..edede66 100644 --- a/src/game.c +++ b/src/game.c @@ -1720,25 +1720,41 @@ static void game_doArrow(int i) if (aliens[i].x + aliens[i].image[0]->w < 0) { if (aliens[i].y + aliens[i].image[0]->h < 0) - arrow = (aliens[i].flags & FL_FRIEND) ? SP_ARROW_FRIEND_NORTHWEST : SP_ARROW_NORTHWEST; + arrow = (((game.difficulty != DIFFICULTY_ORIGINAL) && + (aliens[i].flags & FL_FRIEND)) ? + SP_ARROW_FRIEND_NORTHWEST : SP_ARROW_NORTHWEST); else if (aliens[i].y > screen->h) - arrow = (aliens[i].flags & FL_FRIEND) ? SP_ARROW_FRIEND_SOUTHWEST : SP_ARROW_SOUTHWEST; + arrow = (((game.difficulty != DIFFICULTY_ORIGINAL) && + (aliens[i].flags & FL_FRIEND)) ? + SP_ARROW_FRIEND_SOUTHWEST : SP_ARROW_SOUTHWEST); else - arrow = (aliens[i].flags & FL_FRIEND) ? SP_ARROW_FRIEND_WEST : SP_ARROW_WEST; + arrow = (((game.difficulty != DIFFICULTY_ORIGINAL) && + (aliens[i].flags & FL_FRIEND)) ? + SP_ARROW_FRIEND_WEST : SP_ARROW_WEST); } else if (aliens[i].x > screen->w) { if (aliens[i].y + aliens[i].image[0]->h < 0) - arrow = (aliens[i].flags & FL_FRIEND) ? SP_ARROW_FRIEND_NORTHEAST : SP_ARROW_NORTHEAST; + arrow = (((game.difficulty != DIFFICULTY_ORIGINAL) && + (aliens[i].flags & FL_FRIEND)) ? + SP_ARROW_FRIEND_NORTHEAST : SP_ARROW_NORTHEAST); else if (aliens[i].y > screen->h) - arrow = (aliens[i].flags & FL_FRIEND) ? SP_ARROW_FRIEND_SOUTHEAST : SP_ARROW_SOUTHEAST; + arrow = (((game.difficulty != DIFFICULTY_ORIGINAL) && + (aliens[i].flags & FL_FRIEND)) ? + SP_ARROW_FRIEND_SOUTHEAST : SP_ARROW_SOUTHEAST); else - arrow = (aliens[i].flags & FL_FRIEND) ? SP_ARROW_FRIEND_EAST : SP_ARROW_EAST; + arrow = (((game.difficulty != DIFFICULTY_ORIGINAL) && + (aliens[i].flags & FL_FRIEND)) ? + SP_ARROW_FRIEND_EAST : SP_ARROW_EAST); } else if (aliens[i].y + aliens[i].image[0]->h < 0) - arrow = (aliens[i].flags & FL_FRIEND) ? SP_ARROW_FRIEND_NORTH : SP_ARROW_NORTH; + arrow = (((game.difficulty != DIFFICULTY_ORIGINAL) && + (aliens[i].flags & FL_FRIEND)) ? + SP_ARROW_FRIEND_NORTH : SP_ARROW_NORTH); else if (aliens[i].y > screen->h) - arrow = (aliens[i].flags & FL_FRIEND) ? SP_ARROW_FRIEND_SOUTH : SP_ARROW_SOUTH; + arrow = (((game.difficulty != DIFFICULTY_ORIGINAL) && + (aliens[i].flags & FL_FRIEND)) ? + SP_ARROW_FRIEND_SOUTH : SP_ARROW_SOUTH); if (arrow != -1) {