diff --git a/assets-cg/converters.py b/assets-cg/converters.py index 86eb58b..6393e9b 100644 --- a/assets-cg/converters.py +++ b/assets-cg/converters.py @@ -61,7 +61,8 @@ def convert_level(input, params): "item": re.compile(r'[a-zA-Z_][a-zA-Z0-9_]*'), } with open(input, "r") as fp: - lines = [l for l in fp.read().splitlines() if l] + lines = [l for l in fp.read().splitlines() if l + and not l.startswith("#")] for i, l in enumerate(lines): if ":" not in l: raise fxconv.FxconvError(f"invalid line {l}: not a key/value") diff --git a/assets-cg/levels/lv1.txt b/assets-cg/levels/lv1.txt index d74d8f3..e0cff64 100644 --- a/assets-cg/levels/lv1.txt +++ b/assets-cg/levels/lv1.txt @@ -7,15 +7,25 @@ spawner: 18,5 spawner: 5,7 wave: 9s 3*slime/1 -wave: 12s 6*slime/1 item: armor1 -wave: 2s 1*bat/2 -wave: 20s 10*slime/1 -wave: 8s 4*bat/2 +wave: 12s 4*slime/1 +wave: 4s 1*bat/2 +wave: 20s 8*slime/1 item: sword1 -wave: 8s 12*slime/1 4*bat/2 +wave: 8s 2*bat/2 delay: 4s + +# "Boss" wave #1 +item: potion_hp +wave: 8s 12*slime/1 4*bat/2 +delay: 8s + +wave: 10s 10*slime/1 +wave: 12s 4*slime/1 4*bat/2 +wave: 4s 2*fire_slime/4 + +# "Boss" wave #2 item: potion_hp wave: 6s 8*slime/1 8*bat/2 2*fire_slime/4 -delay: 6s +delay: 5s wave: 8s 12*bat/2 4*fire_slime/4 1*gunslinger/8 diff --git a/assets-cg/tilesets/fxconv-metadata.txt b/assets-cg/tilesets/fxconv-metadata.txt index 2f10498..7b09773 100644 --- a/assets-cg/tilesets/fxconv-metadata.txt +++ b/assets-cg/tilesets/fxconv-metadata.txt @@ -1,4 +1,4 @@ *.tsx: custom-type: tiled-tileset name_regex: (.*)\.tsx tileset_\1 - profile: p4 + profile: p4_rgb565a diff --git a/src/main.c b/src/main.c index 0bb17cd..a28567f 100644 --- a/src/main.c +++ b/src/main.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include @@ -280,7 +279,7 @@ int main(void) /* Instead of dupdate(); for accurate performance measurements. Leaving the DMA running during the simulation affects the results in extreme proportions (can turn 1 ms of simulation into 11 ms measured) */ - r61524_display(gint_vram, 0, DHEIGHT, R61524_DMA_WAIT); + dupdate(); prof_leave(perf_render); time_render = prof_time(perf_render); diff --git a/src/menu.c b/src/menu.c index e468ea5..fb1c353 100644 --- a/src/menu.c +++ b/src/menu.c @@ -7,7 +7,6 @@ #include #include #include -#include #include typedef struct { @@ -125,7 +124,7 @@ int menu_level_select(int start) dsubimage(ARROW2_X, 93, &img_menu_arrows, 35, 0, 35, 42, DIMAGE_NONE); - r61524_display(gint_vram, 0, DHEIGHT, R61524_DMA_WAIT); + dupdate(); for(int i = 0; i < OPTION_COUNT; i++) menu_update_animations(options[i], dt); diff --git a/src/player.c b/src/player.c index aef76d0..8c0c525 100644 --- a/src/player.c +++ b/src/player.c @@ -4,7 +4,7 @@ static int xp_to_next_level(int level) { - return 3 * (level + 2) * (level + 2); + return 5 * (level + 2) * (level + 2); } bool player_add_xp(entity_t *e, int points) diff --git a/src/render.c b/src/render.c index 7fd520a..5cbed1e 100644 --- a/src/render.c +++ b/src/render.c @@ -631,7 +631,6 @@ void render_game(game_t const *g, bool show_hitboxes) prof_leave(ctx); time_render_hud = prof_time(ctx); - dfont(old_font); } diff --git a/src/skills.c b/src/skills.c index 5248edd..b0aeff6 100644 --- a/src/skills.c +++ b/src/skills.c @@ -13,7 +13,7 @@ fixed_t skill_cooldown(int skill) else if(skill == AOE_PROJECTILE) return fix(2.0); else if(skill == AOE_SHOCK) - return fix(4.0); + return fix(8.0); else if(skill == AOE_JUDGEMENT) return fix(3.0); else if(skill == AOE_BULLET)