fix secretarea and sequencetrigger loading bugs
authorMatthias Braun <matze@braunis.de>
Wed, 1 Dec 2004 23:26:31 +0000 (23:26 +0000)
committerMatthias Braun <matze@braunis.de>
Wed, 1 Dec 2004 23:26:31 +0000 (23:26 +0000)
SVN-Revision: 2234

src/sector.cpp
src/trigger/secretarea_trigger.cpp
src/trigger/secretarea_trigger.h

index 2a56628..0081982 100644 (file)
@@ -121,6 +121,8 @@ Sector::parse_object(const std::string& name, const lisp::Lisp& reader)
     return new Door(reader);
   } else if(name == "secretarea") {
     return new SecretAreaTrigger(reader);
+  } else if(name == "sequencetrigger") {
+    return new SequenceTrigger(reader);
   } else if(name == "platform") {
     return new Platform(reader);
   } else if(name == "jumpy" || name == "money") {
index 53bbf8d..475103e 100644 (file)
@@ -12,16 +12,18 @@ SecretAreaTrigger::SecretAreaTrigger(const lisp::Lisp& reader)
 {
   reader.get("x", bbox.p1.x);
   reader.get("y", bbox.p1.y);
-  bbox.set_size(32, 32);
+  float w = 32, h = 32;
+  reader.get("width", w);
+  reader.get("height", h);
+  bbox.set_size(w, h);
 
   reader.get("message", message);
   message_displayed = false;
 }
 
-SecretAreaTrigger::SecretAreaTrigger(const Vector& pos)
+SecretAreaTrigger::SecretAreaTrigger(const Rectangle& area)
 {
-  bbox.set_pos(pos);
-  bbox.set_size(32, 32);
+  bbox = area;
   message = "You found a secret area!";
   message_displayed = false;
 }
index 43b10a8..442b93d 100644 (file)
@@ -12,7 +12,7 @@ class SecretAreaTrigger : public TriggerBase, public Serializable
 {
 public:
   SecretAreaTrigger(const lisp::Lisp& reader);
-  SecretAreaTrigger(const Vector& pos);
+  SecretAreaTrigger(const Rectangle& area);
   ~SecretAreaTrigger();
  
   void write(lisp::Writer& writer);