]> git.lizzy.rs Git - nothing.git/commitdiff
Remove Lt from Credits
authorrexim <reximkut@gmail.com>
Mon, 6 Jan 2020 01:37:49 +0000 (08:37 +0700)
committerrexim <reximkut@gmail.com>
Mon, 6 Jan 2020 01:47:03 +0000 (08:47 +0700)
src/game.c
src/game/credits.c
src/game/credits.h
src/game/level/goals.h
src/game/level/labels.h
src/game/level/level_editor.c
src/game/level/level_editor/label_layer.h
src/game/level/level_editor/point_layer.h

index 989319f84fd1faf0fe5a3ce0a0225b1b0d675596..d009528332486d6850404fb6abb5707874d11ecc 100644 (file)
@@ -27,7 +27,7 @@ typedef struct Game {
     Memory tmpmem;
     LevelPicker level_picker;
     LevelEditor level_editor;
-    Credits *credits;
+    Credits credits;
     Level *level;
     Settings settings;
     Sound_samples *sound_samples;
@@ -73,13 +73,7 @@ Game *create_game(const char *level_folder,
 
     level_picker_populate(&game->level_picker, level_folder);
 
-    game->credits = PUSH_LT(
-        lt,
-        create_credits(),
-        destroy_credits);
-    if (game->credits == NULL) {
-        RETURN_LT(lt, NULL);
-    }
+    game->credits = create_credits();
 
     game->sound_samples = PUSH_LT(
         lt,
@@ -163,7 +157,7 @@ int game_render(const Game *game)
     } break;
 
     case GAME_STATE_CREDITS: {
-        if (credits_render(game->credits, &game->camera) < 0) {
+        if (credits_render(&game->credits, &game->camera) < 0) {
             return -1;
         }
     } break;
@@ -263,7 +257,7 @@ int game_update(Game *game, float delta_time)
     } break;
 
     case GAME_STATE_CREDITS: {
-        if (credits_update(game->credits, &game->camera, delta_time) < 0) {
+        if (credits_update(&game->credits, &game->camera, delta_time) < 0) {
             return -1;
         }
     } break;
index 9cbe82181e68ad8602664f34e25d70f708775032..41d42d1cbe2c8e8f71cf01360b7b7194d6242854 100644 (file)
 
 #define TITLE_MARGIN_TOP 100.0f
 
-struct Credits
+Credits create_credits(void)
 {
-    Lt *lt;
-    Background background;
-    Vec2f camera_position;
-    WigglyText wiggly_text;
-};
-
-Credits *create_credits(void)
-{
-       Lt *lt = create_lt();
-       Credits *credits = PUSH_LT(
-        lt,
-        nth_calloc(1, sizeof(Credits)),
-        free);
-    if (credits == NULL) {
-        RETURN_LT(lt, NULL);
-    }
-    credits->lt = lt;
-
-    credits->background = create_background(hexstr("250741"));
-
-    credits->camera_position = vec(0.0f, 0.0f);
-
-    credits->wiggly_text = (WigglyText) {
+    Credits result;
+    result.background = create_background(hexstr("250741"));
+    result.camera_position = vec(0.0f, 0.0f);
+    result.wiggly_text = (WigglyText) {
         .text = "Twitch Subs/Contributors",
         .scale = {8.0f, 8.0f},
         .color = COLOR_WHITE,
     };
-
-    return credits;
-}
-
-void destroy_credits(Credits *credits)
-{
-    trace_assert(credits);
-    RETURN_LT0(credits->lt);
+    return result;
 }
 
 int credits_render(const Credits *credits, const Camera *camera)
index acff02ef1b4d580cb5dbbb363be62d9a920cc2e0..866593c9bdbbd639ad0e2552b49e91cbb2f6e54b 100644 (file)
@@ -4,15 +4,22 @@
 #include <SDL.h>
 
 #include "game/camera.h"
+#include "game/level/background.h"
+#include "ui/wiggly_text.h"
 
-typedef struct Credits Credits;
+typedef struct {
+    Background background;
+    Vec2f camera_position;
+    WigglyText wiggly_text;
+} Credits;
 
-Credits *create_credits(void);
+
+Credits create_credits(void);
 void destroy_credits(Credits *credits);
 
 int credits_render(const Credits *credits,
                    const Camera *camera);
 int credits_update(Credits *credits,
-                                  Camera *camera, float dt);
+                   Camera *camera, float dt);
 
 #endif  // CREDITS_H_
index a0374d3bcc9e36fa2b1c2c396fbac7d40ea74252..935d55e56bc0d3ffa1f8778c5b4b98569c2716a4 100644 (file)
@@ -6,6 +6,7 @@
 #include "game/camera.h"
 #include "game/level/player.h"
 #include "game/sound_samples.h"
+#include "game/level/level_editor/point_layer.h"
 #include "config.h"
 
 typedef struct Goals Goals;
index 5e36c268342138561067178e3b68f6a96b84d84d..ef12bc387050a4d585d3141b0611d79b4300bfab 100644 (file)
@@ -4,6 +4,7 @@
 #include "math/vec.h"
 #include "color.h"
 #include "config.h"
+#include "game/level/level_editor/label_layer.h"
 
 typedef struct Labels Labels;
 
index 4eab34923b6a7d1e1355d877f804c9d7036c22b8..0a434caec56b09df5e064160e142972db5069b43 100644 (file)
@@ -27,7 +27,6 @@
 #define LEVEL_EDITOR_NOTICE_SCALE vec(10.0f, 10.0f)
 #define LEVEL_EDITOR_NOTICE_DURATION 1.0f
 #define LEVEL_EDITOR_NOTICE_PADDING_TOP 100.0f
-#define LEVEL_EDITOR_TMPMEM_CAPACITY (640 * KILO)
 
 static int level_editor_dump(LevelEditor *level_editor);
 
index c76651ec721958c1336dc0d9ab92ce74ae10f3ca..718a57f44d960e8d044b5940e6fa3565bee2cedb 100644 (file)
@@ -4,6 +4,9 @@
 #include "layer.h"
 #include "color.h"
 #include "math/vec.h"
+#include "dynarray.h"
+#include "game/level/level_editor/color_picker.h"
+#include "ui/edit_field.h"
 
 #define LABELS_SIZE vec(2.0f, 2.0f)
 #define LABEL_LAYER_ID_MAX_SIZE 36
index e5c5ce8de7004da3292d4ca690e991fe5dc94009..0505fb7ef1ce7db181d15b389511a48fc2cce6fb 100644 (file)
@@ -4,6 +4,9 @@
 #include "math/vec.h"
 #include "color.h"
 #include "layer.h"
+#include "dynarray.h"
+#include "game/level/level_editor/color_picker.h"
+#include "ui/edit_field.h"
 
 #define ID_MAX_SIZE 36