Browse Source

Try to pull in the good stuff from master

Nathaniel van Diepen 3 years ago
parent
commit
f8c2b8beb7
7 changed files with 19 additions and 19 deletions
  1. 1 1
      makefile
  2. 1 0
      src/lib/object.c
  3. 1 0
      src/lib/scene.c
  4. 7 6
      src/lib/scene.h
  5. 1 0
      src/lib/vector.c
  6. 8 7
      src/objects/player.c
  7. 0 5
      src/objects/player.h

+ 1 - 1
makefile

@@ -12,7 +12,7 @@ ARCHIVED     ?= NO
 # Debug Options
 # ----------------------------
 
-OUTPUT_MAP   ?= NO
+OUTPUT_MAP   ?= YES
 
 include $(CEDEV)/include/.makefile
 

+ 1 - 0
src/lib/object.c

@@ -1,6 +1,7 @@
 #include "object.h"
 #include "scene.h"
 #include <debug.h>
+#include <stdlib.h>
 
 #define Object_log(msg) dbg_sprintf(dbgout, "[Object %d] %s\n", self->id, msg)
 

+ 1 - 0
src/lib/scene.c

@@ -2,6 +2,7 @@
 #include "scene.h"
 #include <debug.h>
 #include <keypadc.h>
+#include <stdlib.h>
 
 #define Scene_log(msg) dbg_sprintf(dbgout, "[Scene %s] %s\n", self->name, msg)
 

+ 7 - 6
src/lib/scene.h

@@ -5,10 +5,11 @@
 #include "sprite.h"
 #include "object.h"
 
-typedef void (*Scene_func)(struct Scene*);
-typedef bool (*Scene_func_add_object)(struct Scene*, struct Object*);
-typedef bool (*Scene_func_add_sprite)(struct Scene*, struct Sprite*);
-typedef struct Scene {
+typedef struct Scene Scene;
+typedef void (*Scene_func)(Scene*);
+typedef bool (*Scene_func_add_object)(Scene*, Object*);
+typedef bool (*Scene_func_add_sprite)(Scene*, Sprite*);
+struct Scene {
     char* name;
     Vector* objects;
     Vector* sprites;
@@ -18,9 +19,9 @@ typedef struct Scene {
     Scene_func update;
     Scene_func draw;
     Scene_func load;
-} Scene;
+};
 
-void free_Scene(struct Scene* self);
+void free_Scene(Scene* self);
 Scene* new_Scene(const char* name);
 Scene* current_Scene();
 

+ 1 - 0
src/lib/vector.c

@@ -1,5 +1,6 @@
 #include "vector.h"
 #include <debug.h>
+#include <stdlib.h>
 
 #define Vector_log(msg) dbg_sprintf(dbgout, "[Vector] %s\n", msg)
 

+ 8 - 7
src/objects/player.c

@@ -1,9 +1,10 @@
 #include <keypadc.h>
 #include "../main.h"
+#include <stdlib.h>
 
 #define Player_log(msg) dbg_sprintf(dbgout, "[Object(Player) %d] %s\n", self->id, msg)
 
-void Player_update(Player* self){
+void Player_update(Object* self){
     Scene* scene = self->scene;
     Vector* sprites = scene->sprites;
     Sprite* sprite;
@@ -76,19 +77,19 @@ void Player_update(Player* self){
     }
 }
 
-void Player_load(Player* self){
+void Player_load(Object* self){
     Player_log("Loading player");
 }
 
-void Player_free(Player* self){
+void Player_free(Object* self){
     Player_log("Freeing player");
-    free(self->sprites);
+    // free(self->sprites);
     free_Object(self);
 }
 
-Player* new_Player(){
-    Player* self = new_Object(0,0);
-    Vector* self->sprites = new_Vector(0, sizeof(Sprite), &free_Sprite);
+Object* new_Player(){
+    Object* self = new_Object(0,0);
+    // Vector* self->sprites = new_Vector(0, sizeof(Sprite), &free_Sprite);
     self->update = &Player_update;
     self->free = &Player_free;
     self->load = &Player_load;

+ 0 - 5
src/objects/player.h

@@ -2,11 +2,6 @@
 #define PLAYER_H_
 #include "../lib/object.h"
 
-typedef struct Player {
-    struct Object;
-    Vector* sprites;
-} Player;
-
 Object* new_Player();
 
 #endif