diff --git a/similar/main/ai.cpp b/similar/main/ai.cpp index cc84be4f6..9ac7f0427 100644 --- a/similar/main/ai.cpp +++ b/similar/main/ai.cpp @@ -4215,10 +4215,10 @@ void create_awareness_event(object *objp, enum player_awareness_type_t type) } } -sbyte New_awareness[MAX_SEGMENTS]; +struct awareness_t : public array {}; // ---------------------------------------------------------------------------------- -static void pae_aux(int segnum, int type, int level) +static void pae_aux(int segnum, int type, int level, awareness_t &New_awareness) { int j; @@ -4236,25 +4236,25 @@ static void pae_aux(int segnum, int type, int level) if (IS_CHILD(Segments[segnum].children[j])) { if (type == 4) - pae_aux(Segments[segnum].children[j], type-1, level+1); + pae_aux(Segments[segnum].children[j], type-1, level+1, New_awareness); else - pae_aux(Segments[segnum].children[j], type, level+1); + pae_aux(Segments[segnum].children[j], type, level+1, New_awareness); } } } // ---------------------------------------------------------------------------------- -static void process_awareness_events(void) +static void process_awareness_events(awareness_t &New_awareness) { int i; if (!(Game_mode & GM_MULTI) || (Game_mode & GM_MULTI_ROBOTS)) { - memset(New_awareness, 0, sizeof(New_awareness[0]) * (Highest_segment_index+1)); + New_awareness.fill(0); for (i=0; i