From 7e91e7b2e7285adf3198a1be68d63bc6411e2544 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 20 Jan 2009 23:51:22 -0500 Subject: Cleaned up Sigmod widget and now a startScript instead of warp --- sigmod/Sigmod.cpp | 49 ++++++++----------------------------------------- 1 file changed, 8 insertions(+), 41 deletions(-) (limited to 'sigmod/Sigmod.cpp') diff --git a/sigmod/Sigmod.cpp b/sigmod/Sigmod.cpp index c6eabb49..7e255e08 100644 --- a/sigmod/Sigmod.cpp +++ b/sigmod/Sigmod.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2007-2008 Ben Boeckel + * Copyright 2007-2009 Ben Boeckel * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -53,8 +53,7 @@ Sigmod::Sigmod::Sigmod() : m_version(""), m_description(""), m_singlePlayer(true), - m_startMap(INT_MAX), - m_startWarp(INT_MAX), + m_startScript("", ""), m_typechart(0, 0), m_rules(new Rules(this)) { @@ -89,14 +88,6 @@ void Sigmod::Sigmod::validate() emit(error("Version is empty")); if (m_description.isEmpty()) emit(warning("Description is empty")); - if (m_singlePlayer) - { - const Map* map = mapById(m_startMap); - if (!map) - emit(error("Invalid starting map")); - else if (!map->warpById(m_startWarp)) - emit(error("Invalid starting warp")); - } if ((m_typechart.width() != typeCount()) || (m_typechart.height() != typeCount())) emit(error("Type chart is invalid")); TEST_CHILD(m_rules); @@ -283,8 +274,7 @@ void Sigmod::Sigmod::load(const QDomElement& xml) LOAD(version); LOAD(description); LOAD(singlePlayer); - LOAD(startMap); - LOAD(startWarp); + LOAD(startScript); m_rules->load(xml.firstChildElement("Rules")); LOAD_SUB(newAbility, Ability); LOAD_SUB(newAuthor, Author); @@ -319,8 +309,7 @@ QDomElement Sigmod::Sigmod::save() const SAVE(version); SAVE(description); SAVE(singlePlayer); - SAVE(startMap); - SAVE(startWarp); + SAVE(startScript); SAVE_Rules(rules); SAVE_MATRIX(typechart); SAVE_SUB(Ability, abilities); @@ -352,8 +341,7 @@ SETTER(Sigmod, QString&, Title, title) SETTER(Sigmod, QString&, Version, version) SETTER(Sigmod, QString&, Description, description) SETTER(Sigmod, bool, SinglePlayer, singlePlayer) -SETTER(Sigmod, int, StartMap, startMap) -SETTER(Sigmod, int, StartWarp, startWarp) +SETTER(Sigmod, Sigcore::Script&, StartScript, startScript) SETTER_MATRIX(Sigmod, Sigcore::Fraction&, Typechart, typechart, multiplier) void Sigmod::Sigmod::setRules(const Rules& rules) @@ -370,8 +358,7 @@ GETTER(Sigmod, QString, title) GETTER(Sigmod, QString, version) GETTER(Sigmod, QString, description) GETTER(Sigmod, bool, singlePlayer) -GETTER(Sigmod, int, startMap) -GETTER(Sigmod, int, startWarp) +GETTER(Sigmod, Sigcore::Script, startScript) const Sigcore::Matrix* Sigmod::Sigmod::typechart() const { @@ -402,26 +389,7 @@ CHECK(Sigmod, QString&, title) CHECK(Sigmod, QString&, version) CHECK(Sigmod, QString&, description) CHECK(Sigmod, bool, singlePlayer) -CHECK_BEGIN(Sigmod, int, startMap) - if (!m_singlePlayer) - { - emit(error(unused("startMap"))); - return false; - } - if (!mapById(startMap)) - EBOUNDS_IDX(startMap); -CHECK_END() -CHECK_BEGIN(Sigmod, int, startWarp) - if (!m_singlePlayer) - { - emit(error(unused("startWarp"))); - return false; - } - const Map* map = mapById(m_startMap); - if (!map) - EBOUNDS_IDX(m_startMap); - IBOUNDS(startWarp, map, warp); -CHECK_END() +CHECK(Sigmod, Sigcore::Script&, startScript) CHECK_BOUNDS(Sigmod, Sigcore::Fraction&, typechart, 0, INT_MAX) SSUBCLASS(Sigmod, Ability, ability, abilities) @@ -540,8 +508,7 @@ Sigmod::Sigmod& Sigmod::Sigmod::operator=(const Sigmod& rhs) COPY(version); COPY(description); COPY(singlePlayer); - COPY(startMap); - COPY(startWarp); + COPY(startScript); COPY(typechart); COPY_Rules(rules); COPY_SUB(Ability, abilities); -- cgit