- Timestamp:
- Jul 17, 2006, 9:29:22 AM (18 years ago)
- Location:
- trunk/src
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/script_engine/script.cc
r9235 r9298 17 17 #include "script_class.h" 18 18 #include "luaincl.h" 19 19 #include "debug.h" 20 20 #include "util/loading/resource_manager.h" 21 21 … … 50 50 51 51 52 Script::Script(const std::string& filename) 53 { 54 this->setClassID(CL_SCRIPT, "Script"); 55 56 returnCount = argumentCount = 0; 57 58 luaState = lua_open(); 59 60 luaopen_base(luaState); 61 luaopen_table(luaState); 62 luaopen_io(luaState); 63 luaopen_string(luaState); 64 luaopen_math(luaState); 65 luaopen_debug(luaState); 66 67 this->loadFile(filename); 68 69 } 70 52 71 Script::~Script() 53 72 { … … 59 78 void Script::loadParams(const TiXmlElement* root) 60 79 { 61 //printf( "Loading params for %p \n",this);80 //printf(("Loading params for %p \n",this); 62 81 BaseObject::loadParams(root); 63 82 64 83 LOAD_PARAM_START_CYCLE(root, object); 65 84 { 66 85 LoadParam_CYCLE(object, "object", this, Script, addObject) 67 86 .describe("The name of an object that is needed by a script"); 68 87 } 69 88 LOAD_PARAM_END_CYCLE(object); 70 89 71 90 … … 87 106 if(currentFile.length() != 0) 88 107 { 89 printf(" Could not load %s because an other file is already loaded: %s\n",filename.c_str(), currentFile.c_str());108 printf("SCRIPT %s : ERROR: Could not load %s because an other file is already loaded: %s\n",currentFile.c_str(),filename.c_str(), currentFile.c_str()); 90 109 return false; 91 110 } … … 104 123 else 105 124 { 106 printf(" ERROR while loading file %s: \n",filename.c_str());125 printf("SCRIPT %s : ERROR: while loading file %s: \n",currentFile.c_str(),filename.c_str()); 107 126 reportError(error); 108 127 } … … 111 130 else 112 131 { 113 printf(" ERROR while loading file %s: \n",filename.c_str());132 printf("SCRIPT %s : ERROR: while loading file %s: \n",currentFile.c_str(),filename.c_str()); 114 133 reportError(error); 115 134 } … … 121 140 void Script::addObject(const std::string& className, const std::string& objectName) 122 141 { 123 //printf( "Script %s: I am about to add %s of class %s\n",this->getName(),objectName.c_str(),className.c_str());142 //printf(("Script %s: I am about to add %s of class %s\n",this->getName(),objectName.c_str(),className.c_str()); 124 143 125 144 BaseObject* scriptClass = ClassList::getObject(className, CL_SCRIPT_CLASS); 126 // printf( "The script class for %s is at %p \n",className.c_str(),scriptClass);145 // printf(("The script class for %s is at %p \n",className.c_str(),scriptClass); 127 146 WorldObject tmpObj; 128 147 if (scriptClass != NULL) … … 135 154 136 155 BaseObject* object = ClassList::getObject(objectName, className); 137 // printf( "%s is at %p \n",objectName.c_str(),object);156 // printf(("%s is at %p \n",objectName.c_str(),object); 138 157 if (object != NULL && !objectIsAdded(objectName)) 139 158 { … … 150 169 bool Script::executeFile() 151 170 { 152 printf("WARNING: script.executeFile is not implemented yet");171 PRINT(2)("WARNING: script.executeFile is not implemented yet\n"); 153 172 /*if(currentFile.length() != 0) 154 173 { … … 183 202 } 184 203 else 185 printf(" There is an other function active ( %s ) or there are unremoved return values on the stack. Please remove them first.\n",currentFunction.c_str());204 printf("SCRIPT %s : ERROR: There is an other function active ( %s ) or there are unremoved return values on the stack. Please remove them first.\n",currentFile.c_str(),currentFunction.c_str()); 186 205 return false; 187 206 } … … 195 214 if(error != 0) 196 215 { 197 printf("ERROR while executing function %s: \n",currentFunction.c_str());216 printf("SCRIPT %s : ERROR: Failed to execute function %s: \n",currentFile.c_str(),currentFunction.c_str()); 198 217 reportError(error); 199 218 //clean up … … 210 229 } 211 230 else 212 printf(" Error: no function selected.\n");231 printf("SCRIPT %s : ERROR: no function selected.\n",currentFile.c_str()); 213 232 214 233 return false; … … 227 246 else 228 247 { 229 printf("Couldn't add parameter because the wrong function is selected: %s instead of %s\n", currentFunction.c_str(), toFunction.c_str());248 printf("SCRIPT %s : ERROR: Couldn't add parameter because the wrong function is selected: %s instead of %s\n",currentFile.c_str(), currentFunction.c_str(), toFunction.c_str()); 230 249 return false; 231 250 } … … 244 263 else 245 264 { 246 printf(" Couldn't add parameter because the wrong function is selected: %s instead of %s\n", currentFunction.c_str(), toFunction.c_str());265 printf("SCRIPT %s : ERROR: Couldn't add parameter because the wrong function is selected: %s instead of %s\n",currentFile.c_str(), currentFunction.c_str(), toFunction.c_str()); 247 266 return false; 248 267 } … … 260 279 else 261 280 { 262 printf(" Couldn't add parameter because the wrong function is selected: %s instead of %s\n", currentFunction.c_str(), toFunction.c_str());281 printf("SCRIPT %s : ERROR: Couldn't add parameter because the wrong function is selected: %s instead of %s\n",currentFile.c_str(), currentFunction.c_str(), toFunction.c_str()); 263 282 return false; 264 283 } … … 295 314 } 296 315 else 297 printf(" ERROR: Form %s : trying to retreive non bolean value",this->currentFile.c_str());316 printf("SCRIPT %s : ERROR: Trying to retreive non bolean value\n",this->currentFile.c_str()); 298 317 } 299 318 return returnValue; … … 346 365 { 347 366 const char *msg = lua_tostring(luaState, -1); 348 if (msg == NULL) msg = "(error with no message) ";349 fprintf(stderr,"ERROR: %s\n", msg);367 if (msg == NULL) msg = "(error with no message)\n"; 368 printf("ERROR: %s\n", msg); 350 369 lua_pop(luaState, 1); 351 370 } … … 368 387 { 369 388 BaseObject* scriptClass = ClassList::getObject(className, CL_SCRIPT_CLASS); 370 //printf( "The script class for %s is at %p \n",className.c_str(),scriptClass);389 //printf(("The script class for %s is at %p \n",className.c_str(),scriptClass); 371 390 WorldObject tmpObj; 372 391 if (scriptClass != NULL) -
trunk/src/lib/script_engine/script.h
r9235 r9298 24 24 public: 25 25 Script(const TiXmlElement* root = NULL); 26 Script(const std::string& filename); 26 27 ~Script(); 27 28 -
trunk/src/world_entities/npcs/gate.cc
r9235 r9298 13 13 ### File Specific 14 14 main-programmer: Patrick Boenzli 15 co-programmer: 15 co-programmer: Silvan Nellen 16 16 */ 17 17 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY … … 41 41 addMethod("hide", ExecutorLua0<WorldEntity>(&WorldEntity::hide)) 42 42 ->addMethod("unhide", ExecutorLua0<WorldEntity>(&WorldEntity::unhide)) 43 // ->addMethod("destroy", ExecutorLua0<Gate>(&Gate::destroy()))43 ->addMethod("destroy", ExecutorLua0<Gate>(&Gate::destroy)) 44 44 ->addMethod("setAbsCoor", ExecutorLua3<PNode,float,float,float>(&PNode::setAbsCoor)) 45 45 ->addMethod("getAbsCoorX", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorX)) … … 66 66 this->scale = 1.0f; 67 67 this->actionRadius = 1.0; 68 this->destroyed = false; 68 69 69 70 if( root != NULL) … … 151 152 void Gate::open() 152 153 { 153 if( this->bLocked )154 if( this->bLocked || this->destroyed) 154 155 return; 155 156 … … 164 165 void Gate::close() 165 166 { 167 168 if( this->destroyed) 169 return; 170 166 171 this->setAnimation(GATE_CLOSE, MD2_ANIM_ONCE); 167 172 this->bOpen = false; … … 171 176 void Gate::destroy() 172 177 { 178 if( this->destroyed) 179 return; 180 173 181 this->setAnimation(GATE_DIE, MD2_ANIM_ONCE); 174 182 175 Explosion::explode(this, Vector(10,10,10)); 183 Explosion::explode(this, Vector(this->getScaling()/160,this->getScaling()/160,this->getScaling()/160)); 184 185 186 this->destroyed = true; 176 187 } 177 188 -
trunk/src/world_entities/npcs/gate.h
r9235 r9298 50 50 51 51 private: 52 bool destroyed; //!< true if the door is destroyed 52 53 bool bOpen; //!< true if the door is open 53 54 bool bLocked; //!< true if this door is locked -
trunk/src/world_entities/projectiles/guided_missile.cc
r9235 r9298 43 43 this->lifeSpan = 4.0; 44 44 this->agility = 3.5; 45 this->maxVelocity = 75;45 this->maxVelocity = 100; 46 46 47 47 this->emitter = new DotEmitter(100, 5, M_2_PI); -
trunk/src/world_entities/script_trigger.cc
r9235 r9298 32 32 ->addMethod("setTarget", ExecutorLua1<ScriptTrigger, const std::string&>(&ScriptTrigger::setTarget)) 33 33 ->addMethod("setTriggerParent", ExecutorLua1<ScriptTrigger, const std::string&>(&ScriptTrigger::setTriggerParent)) 34 ->addMethod("setTriggerLasts", ExecutorLua1<ScriptTrigger, bool>(&ScriptTrigger::setTriggerLasts)) 34 ->addMethod("setTriggerRemains", ExecutorLua1<ScriptTrigger, bool>(&ScriptTrigger::setTriggerRemains)) 35 ->addMethod("setActiveOnCreation", ExecutorLua1<ScriptTrigger, bool>(&ScriptTrigger::setActiveOnCreation)) 35 36 ->addMethod("setInvert", ExecutorLua1<ScriptTrigger, bool>(&ScriptTrigger::setInvert)) 36 37 ->addMethod("setRadius", ExecutorLua1<ScriptTrigger, float>(&ScriptTrigger::setRadius)) … … 48 49 */ 49 50 ScriptTrigger::ScriptTrigger(const TiXmlElement* root) 50 { 51 { PRINT(1)("testerror\n"); 51 52 this->setClassID(CL_SCRIPT_TRIGGER, "ScriptTrigger"); 52 53 this->toList(OM_COMMON); … … 59 60 scriptCalled = false; 60 61 scriptIsOk = false; 61 trigger Lasts = true;62 triggerRemains = true; 62 63 addToScript = false; 64 this->activeOnCreation = false; 63 65 64 66 if(root != NULL) … … 119 121 .describe("") 120 122 .defaultValues(false); 121 LoadParam(root, "trigger lasts", this, ScriptTrigger, setTriggerLasts)123 LoadParam(root, "triggerRemains", this, ScriptTrigger, setTriggerRemains) 122 124 .describe("") 123 125 .defaultValues(true); … … 172 174 if(scriptFinished) return; 173 175 174 if(triggerLasts && scriptCalled) 176 if(activeOnCreation) 177 { 178 executeAction(timestep); 179 return; 180 } 181 182 if(triggerRemains && scriptCalled) 175 183 { 176 184 executeAction(timestep); … … 182 190 executeAction(timestep); 183 191 scriptCalled = true; 192 return; 184 193 185 194 } … … 188 197 executeAction(timestep); 189 198 scriptCalled = true; 199 return; 190 200 } 191 201 //else … … 202 212 //testScriptingFramework(); 203 213 if(!(script->selectFunction(this->functionName,returnCount)) ) 204 printf("Error ScriptTrigger: Selection of %s in %s failed.\n",functionName.c_str(), script->getFileName().c_str());214 PRINT(1)("Error ScriptTrigger: Selection of %s in %s failed.\n",functionName.c_str(), script->getFileName().c_str()); 205 215 206 216 script->pushParam( timestep, this->functionName); 207 217 208 218 if( !(script->executeFunction()) ) 209 printf("Error ScriptTrigger: Execution of %s in %s failed.\n",functionName.c_str(), script->getFileName().c_str());219 PRINT(1)("Error ScriptTrigger: Execution of %s in %s failed.\n",functionName.c_str(), script->getFileName().c_str()); 210 220 211 221 scriptFinished = script->getReturnedBool(); -
trunk/src/world_entities/script_trigger.h
r9006 r9298 35 35 void setTarget(WorldEntity* target) { if(target!=NULL) this->target=target; } 36 36 void setTriggerParent(const std::string& name); 37 void setTriggerLasts(const bool lasts) { this->triggerLasts = lasts; } 37 void setTriggerRemains(const bool lasts) { this->triggerRemains = lasts; } 38 void setActiveOnCreation(const bool avtive) { this->activeOnCreation = avtive; } 38 39 void setInvert(const bool inv) { this->invert = invert; } 39 40 void setDelay(float delay) { this->delay = delay; }; … … 50 51 51 52 WorldEntity* target; 52 bool triggerLasts; 53 bool triggerRemains; 54 bool activeOnCreation; 53 55 bool invert; 54 56 float radius; -
trunk/src/world_entities/space_ships/spacecraft_2d.cc
r9235 r9298 498 498 this->bForward = event.bPressed; //this->shiftCoor(0,.1,0); 499 499 else if( event.type == KeyMapper::PEV_BACKWARD) 500 this->bBackward = event.bPressed;//this->shiftCoor(0,-.1,0);500 {this->bBackward = event.bPressed; printf(" %f, %f, %f \n",getAbsCoorX(),getAbsCoorY(),getAbsCoorZ());} //this->shiftCoor(0,-.1,0); 501 501 else if( event.type == EV_MOUSE_MOTION) 502 502 { -
trunk/src/world_entities/weapons/aiming_system.cc
r9235 r9298 115 115 if( this->owner != killer) 116 116 { 117 PRINTF(0)("real hit: %s\n", killer->getClassName());117 //PRINTF(0)("real hit: %s\n", killer->getClassName()); 118 118 this->selectionList.push_back(killer); 119 119 } -
trunk/src/world_entities/world_entity.h
r9235 r9298 129 129 130 130 /* --- Character Attribute Block --- */ 131 /** @returns the scaling of the model */ 132 float getScaling(){return this->scaling;} 131 133 /** @returns the damage dealt by this world entity */ 132 134 float getDamage() const { return this->damage; }
Note: See TracChangeset
for help on using the changeset viewer.