Steven Mahasin / Mbed 2 deprecated DreamDungeon

Dependencies:   mbed MotionSensor

Revision:
33:4f3948dcd2f7
Parent:
32:fe6359ef9916
Child:
34:1d5b4da3935e
--- a/Entity/Mobs/Snake/Snake.cpp	Mon May 06 08:56:48 2019 +0000
+++ b/Entity/Mobs/Snake/Snake.cpp	Mon May 06 13:27:26 2019 +0000
@@ -18,8 +18,8 @@
     position.y = pos_y;
     sprite_size.width = 6;
     sprite_size.height = 12;
-    sprite_size.offset_x = 1;
-    sprite_size.offset_y = 6;
+    sprite_size.offset_x = -1;
+    sprite_size.offset_y = -6;
     frame.count = 0;
     frame.number = 0;
     frame.max = 6;
@@ -74,16 +74,16 @@
     // Movement
     if (face == 0) {
         position.y += velocity;
-        update_hitbox(4, 7, 6, 12, 1, 6, 6);
+        update_hitbox(4, 7, 6, 12, -1, -6, 6);
     } else if (face == 1) {
         position.x += velocity;
-        update_hitbox(7, 4, 12, 7, 6, 4, 4);
+        update_hitbox(7, 4, 12, 7, -6, -4, 4);
     } else if (face == 2) {
         position.y -= velocity;
-        update_hitbox(4, 7, 6, 12, 1, 5, 6);
+        update_hitbox(4, 7, 6, 12, -1, -5, 6);
     } else if (face == 3) {
         position.x -= velocity;
-        update_hitbox(7, 4, 12, 7, 0, 4, 4);
+        update_hitbox(7, 4, 12, 7, -0, -4, 4);
     }
 
     undo_move_x(entity_to_map_collision_test(position.x, prev_pos.y, map, doorways));
@@ -108,24 +108,24 @@
     hp -= damage;
 }
 
-int * Snake::get_frame()
+char * Snake::get_frame()
 {
     if(face == 0) {
-        return (int *) sprite_snake_y[1][frame.number];
+        return (char *) sprite_snake_y[1][frame.number];
     } else if(face == 1) {
-        return (int *) sprite_snake_x[0][frame.number];
+        return (char *) sprite_snake_x[0][frame.number];
     } else if(face == 2) {
-        return (int *) sprite_snake_y[0][frame.number];
+        return (char *) sprite_snake_y[0][frame.number];
     } else if(face == 3) {
-        return (int *) sprite_snake_x[1][frame.number];
+        return (char *) sprite_snake_x[1][frame.number];
     }
     return 0;
 }
 
 void Snake::draw(N5110 &lcd)
 {
-    lcd.drawSpriteTransparent(position.x-sprite_size.offset_x,
-                              position.y-sprite_size.offset_y,
+    lcd.drawSpriteTransparent(position.x+sprite_size.offset_x,
+                              position.y+sprite_size.offset_y,
                               sprite_size.height,
                               sprite_size.width,
                               get_frame());