From: <Kha...@us...> - 2009-03-16 06:42:55
|
Revision: 3223 http://planeshift.svn.sourceforge.net/planeshift/?rev=3223&view=rev Author: KhakiLord Date: 2009-03-16 06:42:36 +0000 (Mon, 16 Mar 2009) Log Message: ----------- Initialized current_need in NPC Behavior. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2009-03-16 02:11:29 UTC (rev 3222) +++ trunk/src/npcclient/npcbehave.cpp 2009-03-16 06:42:36 UTC (rev 3223) @@ -1,7 +1,7 @@ /* * npcbehave.cpp by Keith Fulton <ke...@pa...> * -* Copyright (C) 2003 Atomic Blue (in...@pl..., http://www.atomicblue.org) +* Copyright (C) 2003 Atomic Blue (in...@pl..., http://www.atomicblue.org) * * * This program is free software; you can redistribute it and/or @@ -124,7 +124,7 @@ csString velStr = node->GetAttributeValue("vel"); velStr.Upcase(); - + if (velStr.IsEmpty()) { // Do nothing. Use velSource from constructor default value @@ -296,7 +296,7 @@ { max_need = -999; bool behaviours_changed = false; - + // Go through and update needs based on time for (size_t i=0; i<behaviors.GetSize(); i++) { @@ -304,15 +304,15 @@ if (b->ApplicableToNPCState(npc)) { b->Advance(delta,npc,eventmgr); - + if (behaviors[i]->CurrentNeed() != behaviors[i]->NewNeed()) { - npc->Printf(4, "Advancing %-30s:\t%1.1f ->%1.1f", + npc->Printf(4, "Advancing %-30s:\t%1.1f ->%1.1f", behaviors[i]->GetName(), behaviors[i]->CurrentNeed(), behaviors[i]->NewNeed() ); } - + if (b->NewNeed() > max_need) // the advance causes re-ordering { if (i!=0) // trivial swap if same element @@ -331,25 +331,25 @@ { npc->DumpBehaviorList(); } - + // now that behaviours are correctly sorted, select the first one Behavior *new_behaviour = behaviors[0]; - + // use it only if need > 0 if (new_behaviour->CurrentNeed()<=0 || !new_behaviour->ApplicableToNPCState(npc)) { npc->Printf(15,"NO Active applicable behavior." ); return active; } - + if (new_behaviour != active) { if (active) // if there is a behavior allready assigned to this npc { npc->Printf(1,"Switching behavior from '%s' to '%s'", - active->GetName(), + active->GetName(), new_behaviour->GetName() ); - + // Interrupt and stop current behaviour active->InterruptScript(npc,eventmgr); active->SetActive(false); @@ -375,7 +375,7 @@ break; } } - + npc->Printf(15,"Active behavior is '%s'", active->GetName() ); return active; } @@ -420,7 +420,7 @@ void BehaviorSet::DumpBehaviorList(NPC *npc) { CPrintf(CON_CMDOUTPUT, "Appl. %-30s %5s %5s\n","Behavior","Curr","New"); - + for (size_t i=0; i<behaviors.GetSize(); i++) { char applicable = 'N'; @@ -428,7 +428,7 @@ { applicable = 'Y'; } - + CPrintf(CON_CMDOUTPUT, "%c %s%-30s %5.1f %5.1f\n",applicable, (behaviors[i]->IsInterrupted()?"*":" "), behaviors[i]->GetName(),behaviors[i]->CurrentNeed(), @@ -449,6 +449,8 @@ interrupted = false; resume_after_interrupt = false; current_step = 0; + init_need = 0; + current_need = init_need; } Behavior::Behavior(const char *n) @@ -463,6 +465,8 @@ resume_after_interrupt = false; current_step = 0; name = n; + init_need = 0; + current_need = init_need; } void Behavior::DeepCopy(Behavior& other) @@ -609,7 +613,7 @@ else if ( strcmp( node->GetValue(), "resurrect" ) == 0 ) { op = new ResurrectOperation; - } + } else if ( strcmp( node->GetValue(), "rotate" ) == 0 ) { op = new RotateOperation; @@ -727,13 +731,13 @@ return RunScript(npc,eventmgr,false); } } - + Behavior* BehaviorSet::Find(Behavior *key) { size_t found = behaviors.Find(key); return (found = SIZET_NOT_FOUND) ? NULL : behaviors[found]; } - + bool Behavior::RunScript(NPC *npc, EventManager *eventmgr, bool interrupted) { size_t start_step = current_step; @@ -746,7 +750,7 @@ (interrupted?" Interrupted":"")); sequence[current_step]->SetCompleted(false); if (!sequence[current_step]->Run(npc,eventmgr,interrupted)) // Run returning false means that - { // op is not finished but should + { // op is not finished but should // relinquish npc->Printf(2, "Behavior %s step %d - %s will complete later...", name.GetData(),current_step,sequence[current_step]->GetName()); @@ -755,7 +759,7 @@ interrupted = false; // Only the first script operation should be interrupted. current_step++; } - + if (current_step >= sequence.GetSize()) { current_step = 0; // behaviors automatically loop around to the top @@ -764,12 +768,12 @@ { npc->Printf(1, "Loop back to start of behaviour '%s'",GetName()); } - else + else { if (completion_decay) { float delta_decay = completion_decay; - + if (completion_decay == -1) { delta_decay = current_need; @@ -789,7 +793,7 @@ npc->Printf(3,"Terminating behavior '%s' since it has looped all once.",GetName()); return true; // This behavior is done } - + } return true; // This behavior is done } @@ -809,7 +813,7 @@ bool Behavior::ResumeScript(NPC *npc,EventManager *eventmgr) { if (current_step < sequence.GetSize()) - { + { npc->Printf(3, "Resuming behavior %s at step %d - %s.", name.GetData(),current_step,sequence[current_step]->GetName()); @@ -824,7 +828,7 @@ { return false; // This behavior isn't done yet } - + } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Kha...@us...> - 2009-03-20 22:48:20
|
Revision: 3257 http://planeshift.svn.sourceforge.net/planeshift/?rev=3257&view=rev Author: KhakiLord Date: 2009-03-20 22:48:19 +0000 (Fri, 20 Mar 2009) Log Message: ----------- Fixed mistake in last commit. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2009-03-20 22:46:35 UTC (rev 3256) +++ trunk/src/npcclient/npcbehave.cpp 2009-03-20 22:48:19 UTC (rev 3257) @@ -261,10 +261,10 @@ void BehaviorSet::ClearState(NPC *npc) { + // Ensure any existing script is ended correctly. + Interrupt(npc); for (size_t i = 0; i<behaviors.GetSize(); i++) { - // Ensure any existing script is ended correctly. - Interrupt(npc); behaviors[i]->ResetNeed(); behaviors[i]->SetActive(false); behaviors[i]->ClearInterrupted(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Kha...@us...> - 2009-05-07 17:10:59
|
Revision: 3631 http://planeshift.svn.sourceforge.net/planeshift/?rev=3631&view=rev Author: Khakilord Date: 2009-05-07 17:10:49 +0000 (Thu, 07 May 2009) Log Message: ----------- Changed NPC turning speed to be more deadly. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2009-05-07 08:44:18 UTC (rev 3630) +++ trunk/src/npcclient/npcbehave.cpp 2009-05-07 17:10:49 UTC (rev 3631) @@ -238,7 +238,7 @@ } else { - return 90*TWO_PI/360; + return 360*TWO_PI/360; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Kha...@us...> - 2010-02-06 21:48:03
|
Revision: 5462 http://planeshift.svn.sourceforge.net/planeshift/?rev=5462&view=rev Author: Khakilord Date: 2010-02-06 21:47:56 +0000 (Sat, 06 Feb 2010) Log Message: ----------- Fixed an infinite loop in some cases when resuming NPC behaviour scripts. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2010-02-06 19:26:11 UTC (rev 5461) +++ trunk/src/npcclient/npcbehave.cpp 2010-02-06 21:47:56 UTC (rev 5462) @@ -737,6 +737,9 @@ bool Behavior::RunScript(NPC *npc, EventManager *eventmgr, bool interrupted) { size_t start_step = current_step; + // Without this, we will get an infinite loop. + if (start_step >= sequence.GetSize()) + start_step = 0; while (true) { if (current_step < sequence.GetSize() ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-04-22 17:21:07
|
Revision: 5824 http://planeshift.svn.sourceforge.net/planeshift/?rev=5824&view=rev Author: weltall2 Date: 2010-04-22 17:21:01 +0000 (Thu, 22 Apr 2010) Log Message: ----------- better error output Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2010-04-21 04:29:49 UTC (rev 5823) +++ trunk/src/npcclient/npcbehave.cpp 2010-04-22 17:21:01 UTC (rev 5824) @@ -190,8 +190,8 @@ // Should probably delete and cleare out here // to allow for overriding of event,affected pairs. // Though now give error, unntil needed. - Error3("Reaction of type '%s' allready connected to '%s'", - r->GetEventType(),reactions[i]->affected[j]->GetName()); + Error4("Reaction of type '%s' allready connected to '%s' in '%s'", + r->GetEventType(),reactions[i]->affected[j]->GetName(), name.GetDataSafe()); return false; // delete reactions[i]; //reactions.DeleteIndex(i); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-04-22 17:21:49
|
Revision: 5825 http://planeshift.svn.sourceforge.net/planeshift/?rev=5825&view=rev Author: weltall2 Date: 2010-04-22 17:21:44 +0000 (Thu, 22 Apr 2010) Log Message: ----------- fixed english Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2010-04-22 17:21:01 UTC (rev 5824) +++ trunk/src/npcclient/npcbehave.cpp 2010-04-22 17:21:44 UTC (rev 5825) @@ -187,10 +187,10 @@ { if (!strcmp(r->affected[k]->GetName(),reactions[i]->affected[j]->GetName())) { - // Should probably delete and cleare out here - // to allow for overriding of event,affected pairs. - // Though now give error, unntil needed. - Error4("Reaction of type '%s' allready connected to '%s' in '%s'", + // Should probably delete and clear out here + // to allow for overiding of event,affected pairs. + // Though now give error, until needed. + Error4("Reaction of type '%s' already connected to '%s' in '%s'", r->GetEventType(),reactions[i]->affected[j]->GetName(), name.GetDataSafe()); return false; // delete reactions[i]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-09-05 06:20:38
|
Revision: 6179 http://planeshift.svn.sourceforge.net/planeshift/?rev=6179&view=rev Author: weltall2 Date: 2010-09-05 06:20:30 +0000 (Sun, 05 Sep 2010) Log Message: ----------- reduced deepness of getters Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2010-09-02 18:22:14 UTC (rev 6178) +++ trunk/src/npcclient/npcbehave.cpp 2010-09-05 06:20:30 UTC (rev 6179) @@ -1073,17 +1073,19 @@ CPrintf(CON_ERROR,"ERROR! NO MESH FOUND FOR OBJECT %s!\n",object->GetName()); return; } + + iMovable* npcMovable = pcmesh->GetMesh()->GetMovable(); - pos = pcmesh->GetMesh()->GetMovable()->GetPosition(); + pos = npcMovable->GetPosition(); // rotation - csMatrix3 transf = pcmesh->GetMesh()->GetMovable()->GetTransform().GetT2O(); + csMatrix3 transf = npcMovable->GetTransform().GetT2O(); yrot = psWorld::Matrix2YRot(transf); // Sector - if (pcmesh->GetMesh()->GetMovable()->GetSectors()->GetCount()) + if (npcMovable->GetSectors()->GetCount()) { - sector = pcmesh->GetMesh()->GetMovable()->GetSectors()->Get(0); + sector = npcMovable->GetSectors()->Get(0); } else { @@ -1102,12 +1104,14 @@ return; } - pos = pcmesh->GetMesh()->GetMovable()->GetPosition(); + iMovable* npcMovable = pcmesh->GetMesh()->GetMovable(); + pos = npcMovable->GetPosition(); + // Sector - if (pcmesh->GetMesh()->GetMovable()->GetSectors()->GetCount()) + if (npcMovable->GetSectors()->GetCount()) { - sector = pcmesh->GetMesh()->GetMovable()->GetSectors()->Get(0); + sector = npcMovable->GetSectors()->Get(0); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-02-07 18:59:27
|
Revision: 6883 http://planeshift.svn.sourceforge.net/planeshift/?rev=6883&view=rev Author: weltall2 Date: 2011-02-07 18:59:21 +0000 (Mon, 07 Feb 2011) Log Message: ----------- fixed possible null pointer reference. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2011-02-07 18:34:31 UTC (rev 6882) +++ trunk/src/npcclient/npcbehave.cpp 2011-02-07 18:59:21 UTC (rev 6883) @@ -1065,10 +1065,10 @@ csString psResumeScriptEvent::ToString() const { csString result; - result.Format("Resuming script operation %s for %s",scriptOp->GetName(),npc->GetName()); + result.Format("Resuming script operation %s",scriptOp->GetName()); if (npc) { - result.AppendFmt("(%s)", ShowID(npc->GetEID())); + result.AppendFmt("for %s (%s)", npc->GetName(), ShowID(npc->GetEID())); } return result; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-11-05 03:36:06
|
Revision: 7709 http://planeshift.svn.sourceforge.net/planeshift/?rev=7709&view=rev Author: weltall2 Date: 2011-11-05 03:35:59 +0000 (Sat, 05 Nov 2011) Log Message: ----------- typo fix Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2011-11-03 19:36:10 UTC (rev 7708) +++ trunk/src/npcclient/npcbehave.cpp 2011-11-05 03:35:59 UTC (rev 7709) @@ -146,7 +146,7 @@ } collisionPerception = row.GetString("collision"); - outOfBoundsPerception = row.GetString("out_of_ounds"); + outOfBoundsPerception = row.GetString("out_of_bounds"); inBoundsPerception = row.GetString("in_bounds"); fallingPerception = row.GetString("falling"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2011-12-19 14:24:32
|
Revision: 7850 http://planeshift.svn.sourceforge.net/planeshift/?rev=7850&view=rev Author: magodra Date: 2011-12-19 14:24:26 +0000 (Mon, 19 Dec 2011) Log Message: ----------- - Added <empty/> keyword to behavior scripts. Server didn't allow for empty string, so with this the user can make it explicit that the script should be empty. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2011-12-19 14:22:49 UTC (rev 7849) +++ trunk/src/npcclient/npcbehave.cpp 2011-12-19 14:24:26 UTC (rev 7850) @@ -229,6 +229,9 @@ reactions.Insert(0,r); // reactions get inserted at beginning so subclass ones take precedence over superclass. } + else if(strcmp( node->GetValue(), "empty" ) == 0) + { + } else { Error1("Node under NPCType is not 'behavior' or 'react'. Error in DB XML"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2011-12-31 14:43:34
|
Revision: 7956 http://planeshift.svn.sourceforge.net/planeshift/?rev=7956&view=rev Author: magodra Date: 2011-12-31 14:43:28 +0000 (Sat, 31 Dec 2011) Log Message: ----------- - Removed unused variable. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2011-12-31 14:36:29 UTC (rev 7955) +++ trunk/src/npcclient/npcbehave.cpp 2011-12-31 14:43:28 UTC (rev 7956) @@ -558,7 +558,6 @@ while (true) { float max_need = -999.0; - bool behaviours_changed = false; // Go through and update needs based on time for (size_t i=0; i<behaviors.GetSize(); i++) @@ -582,7 +581,6 @@ { behaviors[i] = behaviors[0]; behaviors[0] = b; // now highest need is elem 0 - behaviours_changed = true; } max_need = b->NewNeed(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2011-12-31 15:31:58
|
Revision: 7957 http://planeshift.svn.sourceforge.net/planeshift/?rev=7957&view=rev Author: weltall2 Date: 2011-12-31 15:31:52 +0000 (Sat, 31 Dec 2011) Log Message: ----------- avoid some function calls Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2011-12-31 14:43:28 UTC (rev 7956) +++ trunk/src/npcclient/npcbehave.cpp 2011-12-31 15:31:52 UTC (rev 7957) @@ -1462,6 +1462,8 @@ iMovable* npcMovable = pcmesh->GetMesh()->GetMovable(); + iSectorList *npcSectors = npcMovable->GetSectors(); + pos = npcMovable->GetPosition(); // rotation @@ -1473,9 +1475,9 @@ } // Sector - if (npcMovable->GetSectors()->GetCount()) + if (npcSectors->GetCount()) { - sector = npcMovable->GetSectors()->Get(0); + sector = npcSectors->Get(0); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2012-01-01 21:52:17
|
Revision: 7968 http://planeshift.svn.sourceforge.net/planeshift/?rev=7968&view=rev Author: magodra Date: 2012-01-01 21:52:11 +0000 (Sun, 01 Jan 2012) Log Message: ----------- - Added db id to error outputs from parsing sc_npctypes. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2012-01-01 21:51:14 UTC (rev 7967) +++ trunk/src/npcclient/npcbehave.cpp 2012-01-01 21:52:11 UTC (rev 7968) @@ -107,8 +107,8 @@ } else { - Error2("Specified parent npctype '%s' could not be found.", - parent[i].GetDataSafe()); + Error3("NPCType(%s) specified parent npctype '%s' could not be found.", + row["id"],parent[i].GetDataSafe()); return false; } } @@ -117,7 +117,7 @@ name = row.GetString("name"); if(name.Length() == 0) { - Error1("NPCType has no name attribute. Error in DB"); + Error2("NPCType(%s) has no name attribute. Error in DB",row["id"]); return false; } @@ -155,13 +155,13 @@ const char* error = doc->Parse(row.GetString("script")); if(error) { - Error3("NPCType script parsing error:%s in %s", error, name.GetData()); + Error4("NPCType(%s) script parsing error:%s in %s", row["id"], error, name.GetData()); return false; } csRef<iDocumentNode> node = doc->GetRoot(); if(!node) { - Error2("No XML root in npc type script of %s", name.GetData()); + Error3("NPCType(%s) no XML root in npc type script of %s", row["id"], name.GetData()); return false; } @@ -180,7 +180,7 @@ Behavior *b = new Behavior; if(!b->Load(node)) { - Error3("Could not load behavior '%s'. Error in DB XML in node '%s'.", + Error4("NPCType(%s) could not load behavior '%s'. Error in DB XML in node '%s'.", row["id"], b->GetName(),node->GetValue()); delete b; return false; @@ -193,7 +193,7 @@ Reaction *r = new Reaction; if(!r->Load(node,behaviors)) { - Error1("Could not load reaction. Error in DB XML"); + Error2("NPCType(%s) could not load reaction. Error in DB XML", row["id"]); delete r; return false; } @@ -215,7 +215,7 @@ // Should probably delete and clear out here // to allow for overiding of event,affected pairs. // Though now give error, until needed. - Error4("Reaction of type '%s' already connected to '%s' in '%s'", + Error5("NPCType(%s) reaction of type '%s' already connected to '%s' in '%s'", row["id"], r->GetEventType(NULL).GetDataSafe(),reactions[i]->affected[j]->GetName(), name.GetDataSafe()); return false; // delete reactions[i]; @@ -234,7 +234,7 @@ } else { - Error1("Node under NPCType is not 'behavior' or 'react'. Error in DB XML"); + Error2("NPCType(%s) node is not 'behavior', 'react', or 'empty'. Error in DB XML", row["id"]); return false; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2012-01-07 16:32:01
|
Revision: 7982 http://planeshift.svn.sourceforge.net/planeshift/?rev=7982&view=rev Author: magodra Date: 2012-01-07 16:31:55 +0000 (Sat, 07 Jan 2012) Log Message: ----------- - Added display of values for reactions in the /info output. This will show usefull info for time events. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2012-01-07 16:28:52 UTC (rev 7981) +++ trunk/src/npcclient/npcbehave.cpp 2012-01-07 16:31:55 UTC (rev 7982) @@ -407,23 +407,30 @@ csString NPCType::InfoReactions(NPC *npc) { csString reply; - const char* delim = ", "; for (size_t i=0; i<reactions.GetSize(); i++) { - if (i == (reactions.GetSize()-1)) + + reply.AppendFmt("%s",reactions[i]->GetEventType(npc).GetDataSafe()); + + if (!reactions[i]->GetType().IsEmpty()) { - delim = "."; + reply.AppendFmt("[%s]",reactions[i]->GetType().GetDataSafe()); } - - if (reactions[i]->GetType().IsEmpty()) + if (!reactions[i]->GetValue().IsEmpty()) { - reply.AppendFmt("%s%s",reactions[i]->GetEventType(npc).GetDataSafe(),delim); + reply.AppendFmt("(%s)",reactions[i]->GetValue().GetDataSafe()); } + + if (i == (reactions.GetSize()-1)) + { + reply.Append("."); + } else { - reply.AppendFmt("%s[%s]%s",reactions[i]->GetEventType(npc).GetDataSafe(),reactions[i]->GetType().GetDataSafe(),delim); + reply.Append(", "); } + } return reply; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2012-01-20 20:43:28
|
Revision: 8020 http://planeshift.svn.sourceforge.net/planeshift/?rev=8020&view=rev Author: weltall2 Date: 2012-01-20 20:43:22 +0000 (Fri, 20 Jan 2012) Log Message: ----------- fixed warning Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2012-01-20 20:14:44 UTC (rev 8019) +++ trunk/src/npcclient/npcbehave.cpp 2012-01-20 20:43:22 UTC (rev 8020) @@ -1404,7 +1404,7 @@ { if (step < 0 || step >= sequence.GetSize()) { - Error3("Behavior trying to set current step to value %d that is outside sequence 0..%d", + Error3("Behavior trying to set current step to value %d that is outside sequence 0..%zu", step,sequence.GetSize()); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2012-07-20 21:59:33
|
Revision: 8392 http://planeshift.svn.sourceforge.net/planeshift/?rev=8392&view=rev Author: magodra Date: 2012-07-20 21:59:26 +0000 (Fri, 20 Jul 2012) Log Message: ----------- - Removed reference to unused external reference running. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2012-07-20 15:06:25 UTC (rev 8391) +++ trunk/src/npcclient/npcbehave.cpp 2012-07-20 21:59:26 UTC (rev 8392) @@ -59,8 +59,6 @@ #include "gem.h" #include "globals.h" -extern bool running; - NPCType::NPCType() :ang_vel(999),vel(999),velSource(VEL_DEFAULT) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2013-03-22 16:42:00
|
Revision: 8641 http://planeshift.svn.sourceforge.net/planeshift/?rev=8641&view=rev Author: weltall2 Date: 2013-03-22 16:41:53 +0000 (Fri, 22 Mar 2013) Log Message: ----------- floor the need to > 999.0 Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2013-03-13 20:12:27 UTC (rev 8640) +++ trunk/src/npcclient/npcbehave.cpp 2013-03-22 16:41:53 UTC (rev 8641) @@ -1446,6 +1446,12 @@ new_need = maxLimit; } + + // Floor behaviours to -998.0. (the -999.0 is an invalid uninit value). + if(new_need < -998.0) + { + new_need = -998.0; + } } void Behavior::ApplyNeedAbsolute(NPC *npc, float absoluteDesire) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2013-03-29 23:31:30
|
Revision: 8649 http://planeshift.svn.sourceforge.net/planeshift/?rev=8649&view=rev Author: magodra Date: 2013-03-29 23:31:18 +0000 (Fri, 29 Mar 2013) Log Message: ----------- - Added $resource_area to NPC variables. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2013-03-29 22:45:46 UTC (rev 8648) +++ trunk/src/npcclient/npcbehave.cpp 2013-03-29 23:31:18 UTC (rev 8649) @@ -1812,6 +1812,7 @@ result.ReplaceAll("$tribe",npc->GetTribe()->GetName()); result.ReplaceAll("$member_type",npc->GetTribeMemberType()); + result.ReplaceAll("$resource_area",npc->GetTribe()->GetNeededResourceAreaType()); } result.ReplaceAll("$name",npc->GetName()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2013-07-03 14:29:18
|
Revision: 8731 http://sourceforge.net/p/planeshift/code/8731 Author: lpancallo Date: 2013-07-03 14:29:16 +0000 (Wed, 03 Jul 2013) Log Message: ----------- changed deprecated function MAX to csMax. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2013-07-01 19:55:34 UTC (rev 8730) +++ trunk/src/npcclient/npcbehave.cpp 2013-07-03 14:29:16 UTC (rev 8731) @@ -1823,7 +1823,7 @@ if (npc->GetRaceInfo()) { csString size; - size.Append(MAX(npc->GetRaceInfo()->size.x,npc->GetRaceInfo()->size.y)); + size.Append(csMax(npc->GetRaceInfo()->size.x,npc->GetRaceInfo()->size.y)); result.ReplaceAll("$race_size",size); result.ReplaceAll("$race",npc->GetRaceInfo()->name.GetDataSafe()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ral...@us...> - 2014-09-01 20:59:18
|
Revision: 9553 http://sourceforge.net/p/planeshift/code/9553 Author: ralphcampbell Date: 2014-09-01 20:59:10 +0000 (Mon, 01 Sep 2014) Log Message: ----------- Make sure stepCount is initialized. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2014-09-01 20:34:31 UTC (rev 9552) +++ trunk/src/npcclient/npcbehave.cpp 2014-09-01 20:59:10 UTC (rev 9553) @@ -988,6 +988,7 @@ // Instance local variables. No need to copy. current_step = 0; + stepCount = 0; } bool Behavior::Load(iDocumentNode* node) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ral...@us...> - 2014-10-09 05:10:48
|
Revision: 9597 http://sourceforge.net/p/planeshift/code/9597 Author: ralphcampbell Date: 2014-10-09 05:10:40 +0000 (Thu, 09 Oct 2014) Log Message: ----------- Copy stepCount when changing 'brains'. This should keep continuity when executing behaviors. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2014-10-07 21:46:39 UTC (rev 9596) +++ trunk/src/npcclient/npcbehave.cpp 2014-10-09 05:10:40 UTC (rev 9597) @@ -961,6 +961,7 @@ void Behavior::DeepCopy(Behavior &other) { name = other.name; + stepCount = other.stepCount; loop = other.loop; isActive = other.isActive; is_applicable_when_dead = other.is_applicable_when_dead; @@ -988,7 +989,6 @@ // Instance local variables. No need to copy. current_step = 0; - stepCount = 0; } bool Behavior::Load(iDocumentNode* node) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ral...@us...> - 2015-02-22 05:05:44
|
Revision: 9715 http://sourceforge.net/p/planeshift/code/9715 Author: ralphcampbell Date: 2015-02-22 05:05:37 +0000 (Sun, 22 Feb 2015) Log Message: ----------- Add current step to NPC behavior error message. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2015-02-22 01:14:04 UTC (rev 9714) +++ trunk/src/npcclient/npcbehave.cpp 2015-02-22 05:05:37 UTC (rev 9715) @@ -1398,8 +1398,8 @@ } else { - Error5("Don't know how to advance sequence in behavior %s for %s(%s) in state %d", - GetName(),npc->GetName(),ShowID(npc->GetEID()),sequence[current_step]->GetState()); + Error6("Don't know how to advance sequence in behavior %s for %s(%s) step %zu state %d", + GetName(),npc->GetName(),ShowID(npc->GetEID()),current_step,sequence[current_step]->GetState()); return BEHAVIOR_FAILED; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ral...@us...> - 2015-03-15 19:15:11
|
Revision: 9734 http://sourceforge.net/p/planeshift/code/9734 Author: ralphcampbell Date: 2015-03-15 19:15:04 +0000 (Sun, 15 Mar 2015) Log Message: ----------- Fix 2 more typos. Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2015-03-15 17:53:23 UTC (rev 9733) +++ trunk/src/npcclient/npcbehave.cpp 2015-03-15 19:15:04 UTC (rev 9734) @@ -611,7 +611,7 @@ { float max_need = -999.0; - // Move the behavior with higest need on top of list. + // Move the behavior with highest need on top of list. for(size_t i=0; i<behaviors.GetSize(); i++) { Behavior* b = behaviors[i]; @@ -749,7 +749,7 @@ // If the interrupt has change the needs, try once if(GetHighestNeed(npc) > active->CurrentNeed()) { - NPCDebug(npc, 3, "Need to rechedule since a new need is higest"); + NPCDebug(npc, 3, "Need to reschedule since a new need is highest"); continue; // Start the check once more. } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ral...@us...> - 2015-03-15 19:26:45
|
Revision: 9735 http://sourceforge.net/p/planeshift/code/9735 Author: ralphcampbell Date: 2015-03-15 19:26:42 +0000 (Sun, 15 Mar 2015) Log Message: ----------- Reduce output text for /debugnpc 1 Modified Paths: -------------- trunk/src/npcclient/npcbehave.cpp Modified: trunk/src/npcclient/npcbehave.cpp =================================================================== --- trunk/src/npcclient/npcbehave.cpp 2015-03-15 19:15:04 UTC (rev 9734) +++ trunk/src/npcclient/npcbehave.cpp 2015-03-15 19:26:42 UTC (rev 9735) @@ -1590,12 +1590,12 @@ if(loop) { - NPCDebug(npc, 1, "Loop back to start of behaviour '%s'",GetName()); + NPCDebug(npc, 2, "Loop back to start of behaviour '%s'",GetName()); } else { DoCompletionDecay(npc); - NPCDebug(npc, 1, "End of non looping behaviour '%s'",GetName()); + NPCDebug(npc, 2, "End of non looping behaviour '%s'",GetName()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |