Skip to content

Commit

Permalink
ChangeLevel: Resolve weapon immediately
Browse files Browse the repository at this point in the history
See: issue #375
  • Loading branch information
dscharrer committed Apr 17, 2017
1 parent 5d88c04 commit d59c499
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions src/scene/ChangeLevel.cpp
Expand Up @@ -2182,8 +2182,6 @@ static Entity * ARX_CHANGELEVEL_Pop_IO(const std::string & idString, EntityInsta
return io;
}

Gaids[Gaids_Number.handleData()]->weapon[0] = '\0';

switch (ais->savesystem_type) {

case TYPE_NPC: {
Expand All @@ -2204,7 +2202,7 @@ static Entity * ARX_CHANGELEVEL_Pop_IO(const std::string & idString, EntityInsta
io->_npcdata->detect = as->detect;
io->_npcdata->fightdecision = as->fightdecision;

memcpy(Gaids[Gaids_Number.handleData()]->weapon, as->id_weapon, SIZE_ID);
io->_npcdata->weapon = ConvertToValidIO(as->id_weapon);

io->_npcdata->lastmouth = as->lastmouth;
io->_npcdata->look_around_inc = as->look_around_inc;
Expand Down Expand Up @@ -2375,8 +2373,19 @@ static Entity * ARX_CHANGELEVEL_Pop_IO(const std::string & idString, EntityInsta
long hidegore = ((io->ioflags & IO_NPC) && io->_npcdata->lifePool.current > 0.f) ? 1 : 0;
ARX_INTERACTIVE_HideGore(io, hidegore);

if((io->ioflags & IO_NPC) && io->_npcdata->behavior == BEHAVIOUR_NONE) {
io->targetinfo = EntityHandle();
if(io->ioflags & IO_NPC) {

if(io->_npcdata->weaponinhand == 1) {
SetWeapon_On(io);
} else {
SetWeapon_Back(io);
}


if(io->_npcdata->behavior == BEHAVIOUR_NONE) {
io->targetinfo = EntityHandle();
}

}

}
Expand Down Expand Up @@ -2470,16 +2479,6 @@ static void ARX_CHANGELEVEL_PopAllIO_FINISH(bool reloadflag, bool firstTime) {
}
}

if(io->ioflags & IO_NPC) {
io->_npcdata->weapon = ConvertToValidIO(aids->weapon);
converted += CONVERT_CREATED;
if(io->_npcdata->weaponinhand == 1) {
SetWeapon_On(io);
} else {
SetWeapon_Back(io);
}
}

if(io->ioflags & IO_NPC) {
for(size_t iii = 0; iii < MAX_STACKED_BEHAVIOR; iii++) {
io->_npcdata->stacked[iii].target = ReadTargetInfo(aids->stackedtarget[iii]);
Expand Down

0 comments on commit d59c499

Please sign in to comment.