summaryrefslogtreecommitdiff
path: root/src/box.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/box.c')
-rw-r--r--src/box.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/box.c b/src/box.c
new file mode 100644
index 0000000..df4b9c7
--- /dev/null
+++ b/src/box.c
@@ -0,0 +1,24 @@
+#include "entityimpl.h"
+#include "lzr.h"
+
+IMPL(draw) {
+ const LZR_ImageDrawSettings stg =
+ {0, 0, -1, -1, 1.0, 1.0, 0.0, true, false, false};
+ LZR_DrawSetColor(1, 1, 1, 1);
+ LZR_DrawImageEx(LZR_IMAGE(this->broken ? "res/boxdestroyed.bmp" : "res/box.bmp"),
+ this->pos[0], this->pos[1], stg);
+}
+
+IMPL(smash) {
+ LZR_PlaySound(2 + this->broken);
+ if (this->broken) {
+ this->type = 0;
+ this->smash = NULL;
+ }
+ this->broken = 1;
+}
+
+IMPL_INIT(box) {
+ this->width = this->height = 64;
+ this->broken = 0;
+}