From 89b1637d460c956cfdaa04b5c4aa9663897e0ed0 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Fri, 7 Mar 2025 22:10:47 +0100 Subject: [PATCH] fixed physics on spinning platforms + added level 3 --- README.md | 2 +- bin/back | Bin 632640 -> 632792 bytes levels/level_02/room_0 | 5 +- levels/level_03/room_0 | 143 +++++++++++++++++++++++++++++++++++++++++ obj/main.o | Bin 373288 -> 373288 bytes obj/move.o | Bin 46968 -> 47720 bytes src/main.c | 2 +- src/move.c | 21 ++++-- templates/room_1 | 27 +------- templates/room_2 | 27 +------- templates/room_3 | 27 +------- templates/room_4 | 27 +------- templates/room_5 | 27 +------- 13 files changed, 167 insertions(+), 141 deletions(-) create mode 100644 levels/level_03/room_0 diff --git a/README.md b/README.md index e50e0ff..2c62ea1 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ entities: -> 0 (coin) -> damage equals the coin's value -> 1 (non-moving explosive) - -> 2 (damaging firebar) + -> 2 (damaging firebar/spinning platform (set damage to 0)) [.. hz_rps, vt_rps, x_offset, y_offset, z_offset, dps] with {hz,vt}_rps = double hz0, vt_0 = double diff --git a/bin/back b/bin/back index 7efa9c5fd17ca50f03f3b7a837713bea8a60db70..79463e86db4c774dee91bf9485805bbb20c0e2d6 100755 GIT binary patch delta 32032 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 delta 31597 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 diff --git a/levels/level_02/room_0 b/levels/level_02/room_0 index e174336..72e8827 100644 --- a/levels/level_02/room_0 +++ b/levels/level_02/room_0 @@ -30,12 +30,13 @@ Blocks : [7.0, 44.0, 2.0, 4.0, 1.0, 4.0, 0.0, 0.0, 32, 192, 32] // cp4 Entities: -[-15.0, 4.0, -15.0, 4.0, 1.0, 5.0, 0.0, 0.0, 255, 255, 255, 1, 0, 2, 0.0, 42.0, 0.0, 0.0, 2.0, 1] +[-15.0, 4.0, -10.0, 4.0, 1.0, 5.0, 0.0, 0.0, 255, 255, 255, 1, 0, 2, 0.0, 42.0, 0.0, 0.0, 2.0, 1] +[-10.0, 4.0, -20.0, 5.0, 1.0, 5.0, 0.0, 0.0, 255, 255, 255, 1, 0, 2, 3.0, 0.0, 0.0, 0.0, 0.0, 0] [8.0, 1.0 , 8.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 128, 1, 0, 8, 100, 1, 128, 128, 128] [-8.0, 1.0, 8.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 255, 1, 0, 6, get over it, 192, 192, 192] -[8.5, 1.5 , 8.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 1, 0, 7, levels/level_01/, 7, great, 192, 192, 192] +[8.5, 1.5 , 8.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 1, 0, 7, levels/level_03/, 1, excellent, 192, 192, 192] [-3.5, 13.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 128, 10, 0, 0] // cp1 coin [-3.5, 23.0, -15.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 128, 20, 0, 0] // cp2 coin diff --git a/levels/level_03/room_0 b/levels/level_03/room_0 new file mode 100644 index 0000000..f5deb35 --- /dev/null +++ b/levels/level_03/room_0 @@ -0,0 +1,143 @@ +Blocks: +[-16.0, -1.0, -16.0, 32.0, 1.0, 32.0, 0.0, 0.0, 255, 255, 255] // yeet level +[-0.5, 0.0, -0.5, 1.0, 0.5, 1.0, 0.0, 0.0, 255, 255, 0] + +[-7.0, 5.0, -7.0, 14.0, 1.0, 1.5, 0.0, 0.0, 128, 128, 128] +[-7.0, 5.0, 5.5, 14.0, 1.0, 1.5, 0.0, 0.0, 128, 128, 128] +[-7.0, 5.0, -7.0, 1.5, 1.0, 14.0, 0.0, 0.0, 128, 128, 128] +[ 5.5, 5.0, -7.0, 1.5, 1.0, 14.0, 0.0, 0.0, 128, 128, 128] + +[-3.0, 3.334, -8.5, 6.0, 1.0, 1.5, 0.0, 0.0, 128, 128, 128] +[-3.0, 3.334, 7.0, 6.0, 1.0, 1.5, 0.0, 0.0, 128, 128, 128] +[-8.5, 3.334, -3.0, 1.5, 1.0, 6.0, 0.0, 0.0, 128, 128, 128] +[ 7.0, 3.334, -3.0, 1.5, 1.0, 6.0, 0.0, 0.0, 128, 128, 128] + +[-7.0, 1.667, -8.5, 14.0, 1.0, 1.5, 0.0, 0.0, 128, 128, 128] +[-7.0, 1.667, 7.0, 14.0, 1.0, 1.5, 0.0, 0.0, 128, 128, 128] +[-8.5, 1.667, -7.0, 1.5, 1.0, 14.0, 0.0, 0.0, 128, 128, 128] +[ 7.0, 1.667, -7.0, 1.5, 1.0, 14.0, 0.0, 0.0, 128, 128, 128] + +Entities: + +[-4.0, 4.0, -0.5, 4.0, 1.0, 5.0, 0.0, 0.0, 255, 255, 255, 1, 0, 2, 0.0, 30.0, 0.0, 0.0, 2.0, 1] +[-16.0, 0.0, -16.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 192, 1, 0, 6, yeet, 255, 255, 255] + +[12.0, 0.0, 12.0, 4.0, 4.0, 4.0, 0.0, 0.0, 255, 255, 255, 1, 0, 8, 200, 1, 64, 64, 64] +[13.0, 1.0, 13.0, 2.0, 2.0, 2.0, 0.0, 0.0, 255, 255, 255, 1, 0, 7, levels/level_03/, 1, keep going, 192, 192, 192] + +[-2.5, 30.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] // I should introduce for loops in these +[-1.5, 30.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-0.5, 30.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 0.5, 30.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 1.5, 30.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 2.5, 30.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-2.5, 30.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-1.5, 30.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-0.5, 30.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 0.5, 30.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 1.5, 30.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 2.5, 30.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-2.5, 30.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-1.5, 30.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-0.5, 30.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 0.5, 30.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 1.5, 30.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 2.5, 30.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-2.5, 30.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-1.5, 30.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-0.5, 30.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 0.5, 30.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 1.5, 30.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 2.5, 30.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-2.5, 30.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-1.5, 30.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-0.5, 30.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 0.5, 30.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 1.5, 30.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 2.5, 30.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-2.5, 30.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-1.5, 30.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[-0.5, 30.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 0.5, 30.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 1.5, 30.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] +[ 2.5, 30.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 128, 128, 128, 1, 0, 0] + +[-2.5, 50.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-1.5, 50.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-0.5, 50.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 0.5, 50.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 1.5, 50.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 2.5, 50.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-2.5, 50.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-1.5, 50.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-0.5, 50.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 0.5, 50.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 1.5, 50.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 2.5, 50.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-2.5, 50.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-1.5, 50.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-0.5, 50.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 0.5, 50.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 1.5, 50.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 2.5, 50.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-2.5, 50.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-1.5, 50.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-0.5, 50.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 0.5, 50.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 1.5, 50.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 2.5, 50.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-2.5, 50.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-1.5, 50.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-0.5, 50.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 0.5, 50.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 1.5, 50.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 2.5, 50.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-2.5, 50.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-1.5, 50.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[-0.5, 50.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 0.5, 50.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 1.5, 50.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] +[ 2.5, 50.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 192, 192, 192, 2, 0, 0] + +[-2.5, 70.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-1.5, 70.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-0.5, 70.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 0.5, 70.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 1.5, 70.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 2.5, 70.0, -2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-2.5, 70.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-1.5, 70.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-0.5, 70.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 0.5, 70.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 1.5, 70.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 2.5, 70.0, -1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-2.5, 70.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-1.5, 70.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-0.5, 70.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 0.5, 70.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 1.5, 70.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 2.5, 70.0, -0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-2.5, 70.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-1.5, 70.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-0.5, 70.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 0.5, 70.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 1.5, 70.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 2.5, 70.0, 0.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-2.5, 70.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-1.5, 70.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-0.5, 70.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 0.5, 70.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 1.5, 70.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 2.5, 70.0, 1.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-2.5, 70.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-1.5, 70.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[-0.5, 70.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 0.5, 70.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 1.5, 70.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] +[ 2.5, 70.0, 2.5, 1.0, 1.0, 1.0, 0.0, 0.0, 255, 255, 255, 3, 0, 0] + + +Weight: +0 + +$ \ No newline at end of file diff --git a/obj/main.o b/obj/main.o index d61b934159fafa8fc10de538dfe8c02396838bd4..dd39f56430da244cb34987159e712016a1585627 100644 GIT binary patch delta 31 kcmZ4SL~O+qv4$;-9mg4s+dGdl0x=U1GjH!a&NBZM0Pijj8~^|S delta 31 kcmZ4SL~O+qv4$;-9mg4s+B=Uk0x=U1GjH!a&NBZM0Ph3shBA8i3C}a8MM4i|OV7%Ej@)LqxO$L{NMIH=D#q0zQyZ3o}clF$rAoM^@a-|nd9jC%pV>K%S$5lFwvvke)ST%((uGF%ef1k4t{GR5nHG8dd_SxV6 z@Bg*;d0e>jy?W!8x+PY<(R4WemP5VV)9VbY@K^J?!P-6};8NdVYFhv_cY6q8gLA!$ z`5fkc-(OL3HkRf8a{vBDW!)V$q^z-vbcBTFJR_w!8^?9W@wikx^--{Ogv>j=C?xhu zM@art_x?*0wZCVo@KASVHBc!0YBg8SOg&6q1925QdHiyG)4lkm^ z3(y`A4xxHd&zu~~=O<98Z^}pI%`I32?90r);1j&Ax*(a^7o0{T2EQ!1*&DohQApdT zi$aDqzud#RDh+{a`aQQWzC}(jd(-$%$;`gXc%9^C@7s9J<}zU}r{c^Fv-+CZ8S9f% zQTBo%tl}?;exoU@C|e_~heB;+RKItPQNg4ZnVB&OYcmPc%!e(JqZ}gNGGU^VE{+-m z_aYsp#55=M`$uh5``+>%j7sbUU&Y^LgP=7bM*Shddn+L{DC#T=5CMvoubMrp9xN^x zfHSq~lOpb$%sWFam zOcy5oDy!XwS{D2%wI3S~U*mZK+)a&U6G2alVUr;}Et+M+?6iSwI;_F#8BmwzbQG|D zg~t3QbABPTro}8?z;r<|(9Vns{DfCUF}ys>oMx!wI^_ps#)f<;8(?Pks5wdLEBc#q zphO0lSFHLgm@_&x`iGw8ICO#19&9>Z(rNhbJ;6KLxU>H`I$wR;A2QOT#)b>`ewD|~ zpq-4LF~%SM-f%y}8rPZQIBUGd91n*L=|k9DcsIQaS7y|hbk+jP$E31*aB$27_BgcR zbpym^Ji*$$?u(f0$b6$hvxsN2S(_%bYq(@6|X(K&aqDLF((lT7yB#)Rds#BX^ z(<0P(xScyYU=dpPi-LUD@LtE}kE2 z|L<0mE`S-+2L&!KUa;bYg$oyq@Oq|ysd{HVk*iR9ax|TJFB( zL)u;MnkAmd_wJi5l<+9RIpL9nKO#B43zWwRUutr=zShBN;R;4_#D|5Ggwse)6HX)f zlyDl!b;<3K_(xz^iW0Ag0?`RkroiB|a8sex!}Vu;NZWv|f#P-Cy?{t*s;dd75xz+{E!io;ss03E6q|@X#7SpXhrC zr~0p&+-)QuO(yK~F~LhX4d?{nVQA+kc`N-y_`}40fQSy8DDFrF&X)Jc4I?NIv6X9- zjp7I@0wEiX1CipO}MaQJy5=Y`i(sKYa$gNgI2iL3Fn043u_a;y$2)0CVYkB zVa*DK_D!6H8|M@_yqU8+wG9pS?Mn~D;E9p2`Uyp^+1 zhyk7vE*?bK#0m(dp<;l|NjNn+l<@xW9NLM7nyvgfC(g0z>LNPgNp0j*Z2Y+*|akU^BF%bO({r2YZ94L+~NuB^EXVhdB_$ z&I%dafuLYfMJuB3jmq6JJpXK*{UEuDvp^`W;(BO2s$vthq%Wcfs6=TDk*1-BWitVq zt9V8#ky4N22p8+K2@lbx5FQD^ReWY4Qp@HNBBj<=6HebK8+`CrMP6)&ajr2keZ$D~ zZK6*zZ89?bBazZfKNgv?b5OsHv%kTzZCt-jG->=l3LUqaV5Dl)Q!J8|T?FCu>EI+> z>@Q0{&IeEO!5=ZX`EAwtseyO&7&3vTJy~-5_Ir%z(?ZN5`gB7sAo_9Q+rr9V2@%j; z@Dky)60Z$;tATG0l=JMFkJ<0Jn|fc!Y&wA9T$_!%GkbHZt*&m*5KR^NUv{X?2;h(4uY+uQOAZAB4`xZ)eBqyLiMeQaZ&Z)ifBedl*ZAyxkw*-{%~AxbBi6-ms~Tf~-B9 zO@o3xNqU7W!A{v*p+rFao|UW@=+)UQ0*b4-eqK5*kiDf@3YFE_`YP!QY*H7rS99io zz?vks3eswlU`<>6$JKa0?~io>jIHpp*R%a_-E-e6Vqd_4w^p(Oh-u*Zm$Kkn zM1EusT!Fj>&JIFJLy~@0x{mGnpw1U?7%g;{0TtM!8E~Z`iERMKKCWMu7QV6RT!yTD zNos8zEZ;XQ(E3|i3FPhP@Zr8#eYRYK?LiMZo)2t4*B46ZQJZuNB=6_q4|J~m!`zip z>9$m2Xi4nDE8^LLtxvGoTl_o8N80#Z$tOx~ZHFvrf4WUS$^5Avue@jzq|4v%cj*EapTQvcsJ{i{;{o{j&;aD#6pz=3_Sf^HP7FO@9W&z1_y@K|h$Cwpf-A#MdY`%jQzKE#I(lmk0)% z7uFu+?vHHJujCWvf{h!W;5h4& zjt5JyLf)xdax1-mnQBTDB)`M;sWxf73~MG7zr%Bv*re9xd)db2=2JFEZY6(IF6TaI zMqiCKX|qtn_7SwBwACj4OiFJ;%po3e+a@(<;&u!3PCIl+9nm81?lp3ja4Zh%kyK~n z_~-o*hX*t950k6y^*l{$S5^+D4aWzsje9cVP2z~=FJQoo@naC!7gt~;JZ7` z(SEq-O;HQRLReF#I&(Zs!!G|YY;DR6EE{jCyaE@SQq&EHA?#>oU{Ib3heE;86g71g zY(1K(Cg;OB?DF!(KW`xRSRBiTX~#0vn@3>lv9YWW&f)n<2zxKHM{JWh|3d}i?*Csj C^+z56 delta 7080 zcmZ{p4OCTC7RT?o@IaUcyhp+HBItXBiWI({rl8;hGy_Fb6c{8O#hg-CX_!VjgNdoJv`EzVl^-gAEc zz4zJY<9_h?=9b+1AGt13?)CYSZrSDXP`@LxDp2mRKzY;{_%wR7TxWrf;Cmr4Y?^<$ zGM`Oc7$8YG)tifcx_h@;+Sn^cY@XRqdLnF#mI@W?MT`3Dvy0$6HDk!^%zl)U(-Tp2 zp(kQqM^A)(YA0mI)Ih?JAER@&ZLY)cIaO!Bk+9@!YkLNpa3tCtt?}xedo-ElROJoA zaLrIYgAH=udA zjJ#-_EMX2k)672ouo$qWKgr_tf#vE>QZ&E*S2U!zL-iVKJPU89r4HLI+O{Rq%`m;= zr}_fF7z+2KYa4A!dXbzP0Q=HoUCLRE5Kw>mMXkGdCfdz|V364pd z*+zJEQW`rAUrb76-@*{j6r7obo>aCA_IL`}XZ{SRg2@ZVj+0{$@8TsK1<`g7^JYBMS>D*;cPI=hxEx086i;5m* zHf?^g!floEl(3+H6QTas=e-atza0umB`f68SZFBuV@!U6K8M%Dy7c1wM@me}Nc68- z{GCI6cd)MWWr@S%$Gdv@0LnKi?tc(<2vKhe9*Arf;X|Q&qr%36eUrkLgAeN!yzcd> zXoQ8^KZ1wR%lm@!-qQ*H(8RePFCUw@RmW0zj9%e(Q}Hn3kI;Ff#5;&3f(I^cQq(7e zn|bi-x#~Sag3_eV5HFhac@sC1{>a3Qq(k|PVlgK@Qs-VRX})YPXl9aBARKtQL-8<1 zxq@(N-$?i{V&6tMwf~ZEhm_Xe!B0e>4xxNXv6vIO5ArG%)kRd=eGXT>`9yVK3}Z0G zghwL(L2SrI!XF~`zbAYw;eNvN2!BWCUTxav5TTbi&^tl9Ezph+aul&2&W*5e&RvZG zBoof(&EVq*Pn5j7rR5A`X-vC7f=k)8MR8NSPdni}{sY3RgU4ha@^P`tJVQ8FYlR1Dt=?AZ$P3n(lOvhX}gJGE~!2YfpeNZnzDPr%A@p?im-7VytyEasuj2Rq;&Uqqz?c@{eA74~pVXb8rBgQ(R>oJR^2NJ9ld5OIoI%^4!9{CcV#rBcMPmSk+!aX-*cf?^4vTByBj_ zy(Fem11e;pnn+YSZzBL`Y%3m&HGJOAXHv0;)8eD7vlr|{pNiE9z7+fc+-RVCdfO zLK}Otiv>YevjUmTgV-Ht*{{I!%|+}mTx?dD3$CIb0&2@b{0U@ji%VTB#!)A(M$bo~ zqeWrua2YKVVZwoIJeMC()GvkIAd#_Qe*=7|ju+VtHL16u`+$N!Qhk5Gr8bHPzc$&# zL)JkT`yNUUX2;YBo3kdHMS=dm9}Hq_h5zy^*#WoQj3 z`(gY;PbAi4QeTCv!!GtNlpa>x?};h({Nn#3{3IgJGx4#|e%Ph17wSJv>Lp;U3cCbq zt4q#Egz2rL<@^L#*ZK&{gN{}uq)_yRZ{=16dRuMIYLR1yRqvl~X1;$)`S&80E+|LK z%-3ve3*^0~cq;^t3e$DNe!JjfO}s(yhXprgC`t4?*JR%*?AMt1Cps^dDoueFh^g3P za`=pYXJ9#L;@1TKi#ZNty{@PY{JRRvw$BKEb$sjI&-sndZSxxseB%_G^)Wn!9uf0bb|B24F9V>t+=M-{K%q<$ox z0Ow46orw0K;70z(MFuxb{EXn?{BJfahJBf6->+XG_zk=Is9;8hYs6N=U&P-~yw91` zd&Nv{GVwhk!&{Y!63R&X9u)J&7QTckA=@{TFf=9|=y#o(8lxUs#S7u*;KRNeO=<@> z!{Uc-R69)S1)+WpcApaSwMo@ICFzdcKiPLw9%J0~8-y3{m>>*9P;tT&5|yQ!1j6|fDe|79Aiw1aQD^Be9;UsOBBvEV#akZvp+Y!= tm;6Hf=R-6MZXd-8VRE}imX1M1dj>0lGk9JE@<~rentity_type == 2) { - double radspeed = distance_pt_pt_3d(camx, camy, camz, ent->metad4, ent->metad5, ent->metad6)*(ent->metad1+ent->metad2); + double radspeed = distance_pt_pt_3d(camx, camy, camz, ent->metad4+ent->pos->w/2.0, camy, ent->metad6+ent->pos->d/2.0 + )*(ent->metad1); + double radspeed2 = distance_pt_pt_3d(camx, camy, camz, camx, ent->metad5+ent->pos->h/2.0, ent->metad6+ent->pos->d/2.0 + )*(ent->metad2); pt_2d camD; camD.x = camx - ent->pos->w/2.0 - ent->metad4; camD.y = 0.0; camD.z = camz - ent->pos->d/2.0 - ent->metad6; - normalize(&camD); + if(camD.x*camD.x + camD.y*camD.y + camD.z*camD.z != 0.0) { // avoid division by 0.0 + normalize(&camD); + } pt_2d utheta = cross_product(camD, normal); pt_2d camD2; camD2.x = 0.0; camD2.y = camy - ent->pos->h/2.0 - ent->metad5; camD2.z = camz - ent->pos->d/2.0 - ent->metad6; - normalize(&camD2); - pt_2d utheta2 = cross_product(camD2, normal); + if(camD2.x*camD2.x + camD2.y*camD2.y + camD2.z*camD2.z != 0.0) { // avoid division by 0.0 + normalize(&camD2); + } + pt_2d utheta2 = normal;//cross_product(camD2, normal); - camvx = u.x*normv*(blockRestitution) + utheta.x*radspeed - utheta2.x*radspeed; - camvy = u.y*normv*(blockRestitution) + utheta.y*radspeed - utheta2.y*radspeed; - camvz = u.z*normv*(blockRestitution) + utheta.z*radspeed - utheta2.z*radspeed; + camvx = u.x*normv*(blockRestitution) + utheta.x*radspeed + utheta2.x*radspeed2; + camvy = u.y*normv*(blockRestitution) + utheta.y*radspeed + utheta2.y*radspeed2; + camvz = u.z*normv*(blockRestitution) + utheta.z*radspeed + utheta2.z*radspeed2; } else { camvx = u.x*normv*(blockRestitution); camvy = u.y*normv*(blockRestitution); diff --git a/templates/room_1 b/templates/room_1 index bd3e153..70c240f 100644 --- a/templates/room_1 +++ b/templates/room_1 @@ -25,29 +25,4 @@ Entities : Weight : 50 -$ -entities: -[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..] - -if entityType = 4 (moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, mult, divd, phase] with - amplitude_{x,y,z} = double[>= 0.0] - {mult,divd} = int - {phase} = int[0, 360] - -else if entityType = 5 (linear moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, speed_x, speed_y, speed_z] with - amplitude_{x,y,z} = double[>= 0.0] - speed_{x,y,z} = double - -else if entityType = 6 (text box) - [.. text] with - text = {char*} - -else if entityType = 7 (warp text box) - [.. dest_folder, room_count, text, r, g, b] with - {dest_folder,text} = {char*} (length <= 50) - {r,g,b} = int[0-256] - -else - [..] \ No newline at end of file +$ \ No newline at end of file diff --git a/templates/room_2 b/templates/room_2 index a88b81c..1dbdf09 100644 --- a/templates/room_2 +++ b/templates/room_2 @@ -20,29 +20,4 @@ Entities : Weight : 50 -$ -entities: -[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..] - -if entityType = 4 (moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, mult, divd, phase] with - amplitude_{x,y,z} = double[>= 0.0] - {mult,divd} = int - {phase} = int[0, 360] - -else if entityType = 5 (linear moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, speed_x, speed_y, speed_z] with - amplitude_{x,y,z} = double[>= 0.0] - speed_{x,y,z} = double - -else if entityType = 6 (text box) - [.. text] with - text = {char*} - -else if entityType = 7 (warp text box) - [.. dest_folder, room_count, text, r, g, b] with - {dest_folder,text} = {char*} (length <= 50) - {r,g,b} = int[0-256] - -else - [..] \ No newline at end of file +$ \ No newline at end of file diff --git a/templates/room_3 b/templates/room_3 index 32cce61..ed59971 100644 --- a/templates/room_3 +++ b/templates/room_3 @@ -16,29 +16,4 @@ Entities : Weight : 50 -$ -entities: -[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..] - -if entityType = 4 (moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, mult, divd, phase] with - amplitude_{x,y,z} = double[>= 0.0] - {mult,divd} = int - {phase} = int[0, 360] - -else if entityType = 5 (linear moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, speed_x, speed_y, speed_z] with - amplitude_{x,y,z} = double[>= 0.0] - speed_{x,y,z} = double - -else if entityType = 6 (text box) - [.. text] with - text = {char*} - -else if entityType = 7 (warp text box) - [.. dest_folder, room_count, text, r, g, b] with - {dest_folder,text} = {char*} (length <= 50) - {r,g,b} = int[0-256] - -else - [..] \ No newline at end of file +$ \ No newline at end of file diff --git a/templates/room_4 b/templates/room_4 index 0f577ab..c00fc1e 100644 --- a/templates/room_4 +++ b/templates/room_4 @@ -15,29 +15,4 @@ Entities : Weight : 50 -$ -entities: -[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..] - -if entityType = 4 (moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, mult, divd, phase] with - amplitude_{x,y,z} = double[>= 0.0] - {mult,divd} = int - {phase} = int[0, 360] - -else if entityType = 5 (linear moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, speed_x, speed_y, speed_z] with - amplitude_{x,y,z} = double[>= 0.0] - speed_{x,y,z} = double - -else if entityType = 6 (text box) - [.. text] with - text = {char*} - -else if entityType = 7 (warp text box) - [.. dest_folder, room_count, text, r, g, b] with - {dest_folder,text} = {char*} (length <= 50) - {r,g,b} = int[0-256] - -else - [..] \ No newline at end of file +$ \ No newline at end of file diff --git a/templates/room_5 b/templates/room_5 index 06c375d..002ff12 100644 --- a/templates/room_5 +++ b/templates/room_5 @@ -16,29 +16,4 @@ Entities: Weight : 50 -$ -entities: -[x, y, z, w, h, d, rhz, rvt, red, green, blue, hp, damage, entityType ..] - -if entityType = 4 (moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, mult, divd, phase] with - amplitude_{x,y,z} = double[>= 0.0] - {mult,divd} = int - {phase} = int[0, 360] - -else if entityType = 5 (linear moving platform) - [.. amplitude_x, amplitude_y, amplitude_z, speed_x, speed_y, speed_z] with - amplitude_{x,y,z} = double[>= 0.0] - speed_{x,y,z} = double - -else if entityType = 6 (text box) - [.. text] with - text = {char*} - -else if entityType = 7 (warp text box) - [.. dest_folder, room_count, text, r, g, b] with - {dest_folder,text} = {char*} (length <= 50) - {r,g,b} = int[0-256] - -else - [..] \ No newline at end of file +$ \ No newline at end of file