jblanked 9 месяцев назад
Родитель
Сommit
aece542982
5 измененных файлов с 32 добавлено и 33 удалено
  1. 3 3
      game/game.c
  2. 8 8
      game/level.c
  3. 1 1
      game/level.h
  4. 14 16
      game/world.c
  5. 6 5
      game/world.h

+ 3 - 3
game/game.c

@@ -53,7 +53,7 @@ static void game_start(GameManager *game_manager, void *ctx)
             {
                 if (i == 0)
                 {
-                    game_context->levels[0] = game_manager_add_level(game_manager, training_world());
+                    game_context->levels[0] = game_manager_add_level(game_manager, world_training());
                     game_context->level_count = 1;
                 }
                 break;
@@ -65,13 +65,13 @@ static void game_start(GameManager *game_manager, void *ctx)
     else if (game_context->game_mode == GAME_MODE_STORY)
     {
         // show tutorial only for now
-        game_context->levels[0] = game_manager_add_level(game_manager, training_world());
+        game_context->levels[0] = game_manager_add_level(game_manager, world_training());
         game_context->level_count = 1;
     }
     else if (game_context->game_mode == GAME_MODE_PVP)
     {
         // show pvp
-        game_context->levels[0] = game_manager_add_level(game_manager, pvp_world());
+        game_context->levels[0] = game_manager_add_level(game_manager, world_pvp());
         game_context->level_count = 1;
     }
 

+ 8 - 8
game/level.c

@@ -12,7 +12,7 @@ bool allocate_level(GameManager *manager, int index)
     if (!world_list)
     {
         FURI_LOG_E("Game", "Failed to load world list");
-        game_context->levels[0] = game_manager_add_level(manager, training_world());
+        game_context->levels[0] = game_manager_add_level(manager, world_training());
         game_context->level_count = 1;
         return false;
     }
@@ -29,7 +29,7 @@ bool allocate_level(GameManager *manager, int index)
     furi_string_free(world_list);
     return true;
 }
-void set_world(Level *level, GameManager *manager, char *id)
+void level_set_world(Level *level, GameManager *manager, char *id)
 {
     char file_path[256];
     snprintf(file_path, sizeof(file_path),
@@ -56,7 +56,7 @@ void set_world(Level *level, GameManager *manager, char *id)
     }
 
     FURI_LOG_I("Game", "Drawing world");
-    if (!draw_json_world_furi(manager, level, json_data_str))
+    if (!world_json_draw(manager, level, json_data_str))
     {
         FURI_LOG_E("Game", "Failed to draw world");
         furi_string_free(json_data_str);
@@ -90,7 +90,7 @@ void set_world(Level *level, GameManager *manager, char *id)
                 break;
             }
 
-            spawn_enemy(level, manager, single_enemy_data);
+            enemy_spawn(level, manager, single_enemy_data);
             furi_string_free(single_enemy_data);
         }
         furi_string_free(enemy_data_str);
@@ -122,7 +122,7 @@ void set_world(Level *level, GameManager *manager, char *id)
                 break;
             }
 
-            spawn_npc(level, manager, single_npc_data);
+            npc_spawn(level, manager, single_npc_data);
             furi_string_free(single_npc_data);
         }
         furi_string_free(npc_data_str);
@@ -159,7 +159,7 @@ static void level_start(Level *level, GameManager *manager, void *context)
     if (!world_exists(level_context->id))
     {
         FURI_LOG_E("Game", "World does not exist.. downloading now");
-        FuriString *world_data = fetch_world(level_context->id);
+        FuriString *world_data = world_fetch(level_context->id);
         if (!world_data)
         {
             FURI_LOG_E("Game", "Failed to fetch world data");
@@ -171,7 +171,7 @@ static void level_start(Level *level, GameManager *manager, void *context)
         }
         furi_string_free(world_data);
 
-        set_world(level, manager, level_context->id);
+        level_set_world(level, manager, level_context->id);
         FURI_LOG_I("Game", "World set.");
         // furi_delay_ms(1000);
         game_context->is_switching_level = false;
@@ -179,7 +179,7 @@ static void level_start(Level *level, GameManager *manager, void *context)
     else
     {
         FURI_LOG_I("Game", "World exists.. loading now");
-        set_world(level, manager, level_context->id);
+        level_set_world(level, manager, level_context->id);
         FURI_LOG_I("Game", "World set.");
         // furi_delay_ms(1000);
         game_context->is_switching_level = false;

+ 1 - 1
game/level.h

@@ -9,4 +9,4 @@ typedef struct
 
 const LevelBehaviour *generic_level(const char *id, int index);
 bool allocate_level(GameManager *manager, int index);
-void set_world(Level *level, GameManager *manager, char *id);
+void level_set_world(Level *level, GameManager *manager, char *id);

+ 14 - 16
game/world.c

@@ -3,7 +3,7 @@
 #include <flip_storage/storage.h>
 #include "game/icon.h"
 
-bool draw_json_world_furi(GameManager *manager, Level *level, const FuriString *json_data)
+bool world_json_draw(GameManager *manager, Level *level, const FuriString *json_data)
 {
     if (!json_data)
     {
@@ -259,9 +259,7 @@ bool draw_json_world_furi(GameManager *manager, Level *level, const FuriString *
     return true;
 }
 
-// The remainder of the file (draw_town_world, draw_pvp_world, etc.) remains unchanged.
-
-static void draw_town_world(Level *level, GameManager *manager, void *context)
+static void world_draw_town(Level *level, GameManager *manager, void *context)
 {
     UNUSED(context);
     if (!manager || !level)
@@ -278,7 +276,7 @@ static void draw_town_world(Level *level, GameManager *manager, void *context)
         FURI_LOG_E("Game", "Failed to separate world data");
     }
     furi_string_free(json_data_str);
-    set_world(level, manager, "shadow_woods_v5");
+    level_set_world(level, manager, "shadow_woods_v5");
     game_context->icon_offset = 0;
     if (!game_context->imu_present)
     {
@@ -287,20 +285,20 @@ static void draw_town_world(Level *level, GameManager *manager, void *context)
     player_spawn(level, manager);
 }
 
-static const LevelBehaviour _training_world = {
+static const LevelBehaviour _world_training = {
     .alloc = NULL,
     .free = NULL,
-    .start = draw_town_world,
+    .start = world_draw_town,
     .stop = NULL,
     .context_size = 0,
 };
 
-const LevelBehaviour *training_world()
+const LevelBehaviour *world_training()
 {
-    return &_training_world;
+    return &_world_training;
 }
 
-static void draw_pvp_world(Level *level, GameManager *manager, void *context)
+static void world_draw_pvp(Level *level, GameManager *manager, void *context)
 {
     UNUSED(context);
     if (!manager || !level)
@@ -317,7 +315,7 @@ static void draw_pvp_world(Level *level, GameManager *manager, void *context)
         FURI_LOG_E("Game", "Failed to separate world data");
     }
     furi_string_free(json_data_str);
-    set_world(level, manager, "pvp_world");
+    level_set_world(level, manager, "pvp_world");
     game_context->is_switching_level = false;
     game_context->icon_offset = 0;
     if (!game_context->imu_present)
@@ -327,20 +325,20 @@ static void draw_pvp_world(Level *level, GameManager *manager, void *context)
     player_spawn(level, manager);
 }
 
-static const LevelBehaviour _pvp_world = {
+static const LevelBehaviour _world_pvp = {
     .alloc = NULL,
     .free = NULL,
-    .start = draw_pvp_world,
+    .start = world_draw_pvp,
     .stop = NULL,
     .context_size = 0,
 };
 
-const LevelBehaviour *pvp_world()
+const LevelBehaviour *world_pvp()
 {
-    return &_pvp_world;
+    return &_world_pvp;
 }
 
-FuriString *fetch_world(const char *name)
+FuriString *world_fetch(const char *name)
 {
     if (!name)
     {

+ 6 - 5
game/world.h

@@ -9,8 +9,9 @@
 #define WORLD_HEIGHT 384
 
 // Maximum number of world objects
-#define MAX_WORLD_OBJECTS 25 // any more than that and we may run out of heap when switching worlds
-const LevelBehaviour *training_world();
-const LevelBehaviour *pvp_world();
-bool draw_json_world_furi(GameManager *manager, Level *level, const FuriString *json_data);
-FuriString *fetch_world(const char *name);
+#define MAX_WORLD_OBJECTS 25
+
+const LevelBehaviour *world_training();
+const LevelBehaviour *world_pvp();
+bool world_json_draw(GameManager *manager, Level *level, const FuriString *json_data);
+FuriString *world_fetch(const char *name);