aboutsummaryrefslogtreecommitdiff
path: root/world.cpp
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2017-03-20 23:20:00 +0100
committertomsmeding <tom.smeding@gmail.com>2017-03-21 22:49:30 +0100
commit7c437e1e39f73517b458aa72f9754e165f572969 (patch)
tree1ed52f6fd8fd87fb70daf2fe6b0b14d7878ee90c /world.cpp
parent32c25651f707b13f5f0c27cf807521cf163dcacb (diff)
Add debugger instruction (int3)
Just compiles to an 'int3' instruction; not a full-featured debugger...
Diffstat (limited to 'world.cpp')
-rw-r--r--world.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/world.cpp b/world.cpp
index 7b2d565..0a3c2ff 100644
--- a/world.cpp
+++ b/world.cpp
@@ -118,6 +118,7 @@ int Robot::calcDuration(Instruction &ins){
case ins_t::turn: d+=base; break;
case ins_t::scan: d+=base; break;
case ins_t::create: d+=(base+C::pen_createbank*ins.args[1].num)*C::pen_createmobilemult+C::pen_createmobile*ins.args[2].num+C::pen_createiset1*(ins.args[0].num==1)+C::pen_createiset2*(ins.args[0].num==2); break;
+ case ins_t::debugger: d+=base; break;
default: assert(false);
}
return d;
@@ -209,6 +210,10 @@ WorldAction Robot::execute(Instruction &ins,World &world){
world.createInFront(this,this->team,ins.args[0].num,ins.args[1].num,ins.args[2].num);
break;
+ case ins_t::debugger:
+ __asm("int3\n\t");
+ break;
+
default:
assert(false);
}