levels 2-1, 2-2 and 2-3

This commit is contained in:
Lephenixnoir 2023-04-23 16:54:33 +02:00
parent 15982b079f
commit f938d76711
Signed by: Lephenixnoir
GPG Key ID: 1BBA026E13FC0495
9 changed files with 99 additions and 19 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ __pycache__
/build-*/
*.g3a
*.mp4
*.jpg

View File

@ -19,7 +19,10 @@ if(AZUR_PLATFORM STREQUAL gint)
assets/font.png
assets/1_1.txt
assets/1_2.txt
assets/1_3.txt)
assets/1_3.txt
assets/2_1.txt
assets/2_2.txt
assets/2_3.txt)
endif()
if(AZUR_PLATFORM STREQUAL linux)

View File

@ -1,20 +1,20 @@
name: 1-3
finish: 36
finish: 39
1-4: text "Oh, we have mirrors too.\nAbsolutely not for safety reasons."
1-6: text "Oh, we have mirrors too.\nAbsolutely not for safety reasons."
3-33: mirror
6: plane DAMAGE BOX
8: plane DAMAGE BIGDOT
10: plane DAMAGE BOX_DOT
8: plane DAMAGE BOX
10: plane DAMAGE BIGDOT
12: plane DAMAGE BOX_DOT
12-15: text "Ok, I lied.\n\nThere MIGHT be invisible red stuff."
15-18: text "Ok, I lied.\n\nThere MIGHT be invisible red stuff."
18: plane INVIS BOX
20: plane INVIS BIGDOT
22: plane ARROW ARROW_+X
24: plane ARROW ARROW_-X
26: plane INVIS BOX_DOT
21: plane INVIS BOX
23: plane INVIS BIGDOT
25: plane ARROW ARROW_+X
27: plane ARROW ARROW_-X
29: plane INVIS VLINES_2_4
28-30: text "Wow, you're good.\nYou're gonna run the lab\ninto the ground."
32-34: text "The DROP. *"
31-33: text "Wow, you're good.\nYou're gonna run the lab\ninto the ground."
35-37: text "The DROP. *"

View File

@ -1,4 +1,20 @@
name: 2-1
finish: 10
finish: 32
1-4: text "You don't have a reflection\nin the mirror.\n\nWhat does that tell us\nabout you?"
1-4: text "Falling in 3, 2...\nOh, wait, you're already falling."
6: plane DAMAGE DIAGONAL+
8: plane DAMAGE DIAGONAL-
10: plane ARROW ARROW_+Z
12: plane DAMAGE BOX
13: plane ARROW ARROW_-X
14: plane ARROW ARROW_+X
16-30: mirror
18: plane DAMAGE RING
20: plane ARROW ARROW_-Z
21: plane DAMAGE BOX
22: plane ARROW ARROW_-X
23: plane DAMAGE DOT
24: plane ARROW ARROW_+X
27: plane DAMAGE VLINES_2_4

19
assets/2_2.txt Normal file
View File

@ -0,0 +1,19 @@
name: 2-2
finish: 34
1-30: mirror
2-5: text "You don't have a reflection\nin the mirror.\n\nWhat does that tell us\nabout you?"
7: plane ARROW ARROW_+X
9: plane DAMAGE HLINES_1_5
11: plane DAMAGE VLINES_2_4
13: plane ARROW ARROW_-Z
15: plane DAMAGE BIGDOT
16: plane DAMAGE BOX
18: plane DAMAGE BIGDOT
20: plane ARROW ARROW_-X
22: plane DAMAGE VLINES_2_4
24: plane ARROW ARROW_+Z
26: plane DAMAGE HLINES_2_4
30-33: text "Look at you, all dizzy\njust from rolling a bit.\n\nFocus, I need some results!"

30
assets/2_3.txt Normal file
View File

@ -0,0 +1,30 @@
name: 2-3
finish: 57
1-3: text "Let's see if you can\nthread the needle here."
5: plane DAMAGE 0b11111'11101'11111'11111'11111
7: plane DAMAGE 0b11111'11111'11111'10111'11111
9: plane DAMAGE 0b11111'10111'11111'11111'11111
11: plane DAMAGE 0b11111'11111'11111'11101'11111
14-17: text "Trick question!\nYou just had to roll."
18-20: text "No longer though."
22: plane DAMAGE 0b01111'11111'11111'11111'11111
24: plane DAMAGE 0b11111'10111'11111'11111'11111
26: plane DAMAGE 0b11111'11111'11011'11111'11111
28: plane DAMAGE 0b11111'11111'11111'11101'11111
30: plane DAMAGE 0b11111'11111'11011'11111'11111
34: plane DAMAGE 0b11111'11101'11111'11111'11111
36: plane ARROW ARROW_+Z
38: plane DAMAGE 0b11111'10111'11111'11111'11111
40: plane ARROW ARROW_+X
42: plane DAMAGE 0b01111'11111'11111'11111'11111
44: plane ARROW ARROW_-X
46: plane DAMAGE 0b11111'11111'11111'11101'11111
48: plane ARROW ARROW_+Z
50: plane DAMAGE 0b11111'11111'11111'11101'11111
52-55: text "Not bad...\nFinally someone promising."

View File

@ -88,9 +88,16 @@ def convert_level(input, params):
predef_shapes = {
"VLINES_1_5": 0b1000110001100011000110001,
"VLINES_2_4": 0b0101001010010100101001010,
"HLINES_1_5": 0b1111100000000000000011111,
"HLINES_2_4": 0b0000011111000001111100000,
"BOX": 0b1111110001100011000111111,
"BOX_DOT": 0b1111110001101011000111111,
"BIGDOT": 0b0000001110011100111000000,
"DOT": 0b0000000000001000000000000,
"RING": 0b0000001110010100111000000,
"DIAGONAL+": 0b0001100111011101110011000,
"DIAGONAL-": 0b1100011100011100011100011,
"ARROW_+X": 0b0010000010111110001000100,
"ARROW_-X": 0b0010001000111110100000100,
"ARROW_+Z": 0b0010001110101010010000100,

View File

@ -237,7 +237,7 @@ vec3 operator * (mat3 const &M, vec3 const &u)
return v;
}
__attribute__((maybe_unused))
__attribute__((unused))
static void print_text(int x, int y, char const *fmt, ...)
{
static char str[128];
@ -277,8 +277,11 @@ static bool debug = false;
#ifdef AZUR_TOOLKIT_GINT
extern struct level level_1_1, level_1_2, level_1_3;
extern struct level level_2_1, level_2_2, level_2_3;
extern struct level level_3_1, level_3_2, level_3_3;
static struct level const *levels[] = {
&level_1_1, &level_1_2, &level_1_3,
&level_2_1, &level_2_2, &level_2_3,
};
#else
/* Basic basic level */
@ -508,7 +511,8 @@ int update(void)
// End of level
if(!w->mirror && !w->plane && !w->text && w->depth >= level->finish) {
if(!w->mirror && !w->plane && !w->text && w->depth >= level->finish
&& !reset_frames) {
if(is_final_level(current_level)) {
// TODO: Main menu
return 1;

View File

@ -27,7 +27,7 @@ bool camera_rolling(struct camera const *camera)
if(camera->roll > 6.0 && camera->roll_quadrant == 0)
distance = fabsf(target_roll - (camera->roll - 2*M_PI));
return distance > 0.2;
return distance > 0.3;
}
void camera_roll(struct camera *camera, float snap_factor)