From 0a7e4fbcab4669f75167d0dda900ca36b5d7e344 Mon Sep 17 00:00:00 2001 From: Lephenixnoir Date: Sun, 23 Jan 2022 19:11:18 +0100 Subject: [PATCH] all remaining levels (8_5 to 8_9) --- CMakeLists.txt | 5 +++++ TODO | 1 - assets-cg/font.png | Bin 12560 -> 13984 bytes assets-cg/level/level8_1.txt | 8 ++++---- assets-cg/level/level8_2.txt | 14 +++++++------- assets-cg/level/level8_3.txt | 6 +++--- assets-cg/level/level8_5.txt | 18 ++++++++---------- assets-cg/level/level8_6.txt | 10 +++++----- assets-cg/level/level8_7.txt | 16 ++++++++-------- assets-cg/level/level8_8.txt | 22 ++++++++++------------ assets-cg/level/level8_9.txt | 26 ++++++++++++++------------ src/main.c | 5 +++-- src/physics.c | 11 ++++++++++- 13 files changed, 77 insertions(+), 65 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 326b120..dabf761 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,6 +64,11 @@ set(ASSETS assets-cg/level/level8_2.txt assets-cg/level/level8_3.txt assets-cg/level/level8_4.txt + assets-cg/level/level8_5.txt + assets-cg/level/level8_6.txt + assets-cg/level/level8_7.txt + assets-cg/level/level8_8.txt + assets-cg/level/level8_9.txt ) fxconv_declare_converters(converters.py) diff --git a/TODO b/TODO index d145526..2572d35 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,3 @@ * Tighter than the original? * Count number of turns, with optimal * Add performance counters -* Check if level tempo is accounted for diff --git a/assets-cg/font.png b/assets-cg/font.png index 8b82fde99c8f1c240d49e58ac3b77ad4e589506c..9e98875404b4acda1a7f4304b2a43e5a82f27d10 100644 GIT binary patch delta 10386 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 delta 9000 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 O0000fadeout == Fadeout_2) { + if(meta->fadeout == Fadeout_1) { /* Reduce opacity to 0 between -4 and -2.5 */ if(time > -2.5) r->opacity = 0; @@ -198,6 +198,15 @@ void rect_physics(rect_t *r, rectmeta_t const *meta, float absolute_time) else r->opacity = 256; } + if(meta->fadeout == Fadeout_2) { + /* Reduce opacity to 0 between -2.5 and -1 */ + if(time > -1) + r->opacity = 0; + else if(time >= -2.5) + r->opacity = 256 * (1 - (time + 2.5) / 1.5); + else + r->opacity = 256; + } if(meta->fadeout == Fadeout_3) { /* Reduce opacity to 0 between -1 and 0.5 */ if(time > 0.5)