summaryrefslogtreecommitdiff
path: root/src/map/magic-interpreter.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/magic-interpreter.hpp')
-rw-r--r--src/map/magic-interpreter.hpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/map/magic-interpreter.hpp b/src/map/magic-interpreter.hpp
index 3bb600c..cbd92a9 100644
--- a/src/map/magic-interpreter.hpp
+++ b/src/map/magic-interpreter.hpp
@@ -19,39 +19,43 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-#include "fwd.hpp"
-
#include "magic-interpreter.t.hpp"
+#include "fwd.hpp"
+
#include <cassert>
#include <memory>
-#include "../strings/fwd.hpp"
#include "../strings/rstring.hpp"
-#include "../generic/fwd.hpp"
-
#include "../sexpr/variant.hpp"
#include "../net/timer.t.hpp"
#include "../mmo/ids.hpp"
-#include "../mmo/utils.hpp"
#include "map.hpp"
-#include "script.hpp"
-#include "skill.t.hpp"
+#include "script-buffer.hpp"
+#include "../mmo/skill.t.hpp"
namespace tmwa
{
+namespace map
+{
namespace magic
{
struct location_t
{
- map_local *m;
+ Borrowed<map_local> m;
int x, y;
+
+ // This constructor exists solely to work around the design constraints
+ // of sexpr::Variant<>. See comments in variant.tcc for future plans.
+ __attribute__((deprecated))
+ location_t() noexcept : m(borrow(undefined_gat)), x(), y() {}
+ location_t(Borrowed<map_local> m_, int x_, int y_) : m(m_), x(x_), y(y_) {}
};
struct AreaUnion
@@ -622,4 +626,5 @@ struct proc_t
{}
};
} // namespace magic
+} // namespace map
} // namespace tmwa