diff --git a/AST3.g3a b/AST3.g3a index b3359b3..124b84b 100644 Binary files a/AST3.g3a and b/AST3.g3a differ diff --git a/build.sh b/build.sh index 7d26d45..3a130f2 100755 --- a/build.sh +++ b/build.sh @@ -2,6 +2,11 @@ echo "making setlevel.c from editor" rm src/setlevel.c python compile_level.py +echo "done" +echo "making times.c from times.lvl" +rm src/times.c +python time.py +echo "done" echo "building for cg" fxsdk build-cg echo "done" diff --git a/src/main.c b/src/main.c index 57b3cef..b592609 100644 --- a/src/main.c +++ b/src/main.c @@ -332,7 +332,9 @@ void game(int *id_level, char mode) if(game_loop) { dclear(C_WHITE); - dprint_opt(198, 112, C_WHITE, C_BLACK, DTEXT_LEFT, DTEXT_TOP, "%u.%02u",(framelevel)/FPS, (framelevel)%FPS); + float framefloat = framelevel; + dprint_opt(198, 90, C_WHITE, C_BLACK, DTEXT_LEFT, DTEXT_TOP, "%d", framelevel); + dprint_opt(198, 112, C_WHITE, C_BLACK, DTEXT_LEFT, DTEXT_TOP, "%u.%02u",(framelevel)/FPS, (int)((framefloat)/FPS*100-framelevel/FPS*100)); check_medal(framelevel, *id_level); dupdate(); sleep_ms(5000); diff --git a/src/times.c b/src/times.c index a7181e2..e301222 100644 --- a/src/times.c +++ b/src/times.c @@ -1,7 +1,6 @@ #include "times.h" #include "define.h" #include -#include #include extern bopti_image_t img_bronze; @@ -11,120 +10,91 @@ extern bopti_image_t img_createur; void check_medal(unsigned int frame_level, int id_level) { - int time=1, time2=1; - switch(id_level) - { - case 1: - time = 5; - time2 = 60; - break; - case 2: - time = 8; - time2 = 13; - break; - case 3: - time = 6; - time2 = 12; - break; - case 4: - time = 8; - time2 = 57; - break; - case 5: - time = 4; - time2 = 15; - break; - case 6: - time = 3; - time2 = 62; - break; - case 7: - time = 8; - time2 = 25; - break; - case 8: - time = 7; - time2 = 62; - break; - case 9: - time = 12; - time2 = 26; - break; - - } - if(frame_level/FPS < (unsigned int)time || (frame_level/FPS <= (unsigned int)time && frame_level%FPS <= (unsigned int)time2)) dimage(380,8,&img_createur); - if(time2*2.5>=100) - { - if(frame_level/FPS < (unsigned int)(time*1.05+0.5+1) || (frame_level/FPS <= (unsigned int)(time*1.05+0.5+1) && frame_level%FPS <= (unsigned int)(time2*2.5+0.5-100))) dimage(360,8,&img_or); - } - else if(frame_level/FPS < (unsigned int)(time*1.05+0.5) || (frame_level/FPS <= (unsigned int)(time*1.05+0.5) && frame_level%FPS <= (unsigned int)(time2*2.5+0.5))) dimage(360,8,&img_or); - if(time2*1.2>=100) - { - if(frame_level/FPS < (unsigned int)(time*1.2+0.5)+1 || (frame_level/FPS <= (unsigned int)(time*1.2+0.5)+1 && frame_level%FPS <= (unsigned int)(time2*1.2+0.5)-100)) dimage(340,8,&img_argent); - } - else if(frame_level/FPS < (unsigned int)(time*1.2+0.5) || (frame_level/FPS <= (unsigned int)(time*1.2+0.5) && frame_level%FPS <= (unsigned int)(time2*1.2+0.5))) dimage(340,8,&img_argent); - if(time2*1.5>=100) - { - if(frame_level/FPS < (unsigned int)(time*1.5+0.5)+1 || (frame_level/FPS <= (unsigned int)(time*1.5+0.5)+1 && frame_level%FPS <= (unsigned int)(time2*1.5+0.5)-100)) dimage(320,8,&img_bronze); - } - else if(frame_level/FPS < (unsigned int)(time*1.5+0.5) || (frame_level/FPS <= (unsigned int)(time*1.5+0.5) && frame_level%FPS <= (unsigned int)(time2*1.5+0.5))) dimage(320,8,&img_bronze); - +float time=1.0; +float framefloat = frame_level; +switch(id_level) +{ + case 1: + time = 5.88; + break; + case 2: + time = 8.31; + break; + case 3: + time = 6.12; + break; + case 4: + time = 8.72; + break; + case 5: + time = 3.92; + break; + case 6: + time = 3.51; + break; + case 7: + time = 6.76; + break; + case 8: + time = 7.48; + break; + case 9: + time = 12.26; + break; +} + +if(frame_level/FPS < (unsigned int)time || (frame_level/FPS <= (unsigned int)time && +(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time)*100-(int)(time)*100))) dimage(380,8,&img_createur); +if(frame_level/FPS < (unsigned int)(time*1.1) || (frame_level/FPS <= (unsigned int)(time*1.1) && +(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.1)*100-(int)(time*1.1)*100))) dimage(360,8,&img_or); +if(frame_level/FPS < (unsigned int)(time*1.2) || (frame_level/FPS <= (unsigned int)(time*1.2) && +(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.2)*100-(int)(time*1.2)*100))) dimage(340,8,&img_argent); +if(frame_level/FPS < (unsigned int)(time*1.5) || (frame_level/FPS <= (unsigned int)(time*1.5) && +(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.1)*100-(int)(time*1.1)*100))) dimage(320,8,&img_bronze); } void draw_time(int id_level) { - dclear(C_WHITE); - int time=1, time2=1; - switch(id_level) - { - case 1: - time = 5; - time2 = 60; - break; - case 2: - time = 8; - time2 = 13; - break; - case 3: - time = 6; - time2 = 12; - break; - case 4: - time = 8; - time2 = 57; - break; - case 5: - time = 4; - time2 = 15; - break; - case 6: - time = 3; - time2 = 62; - break; - case 7: - time = 8; - time2 = 25; - break; - case 8: - time = 7; - time2 = 62; - break; - case 9: - time = 12; - time2 = 26; - break; - } - dimage(160,90,&img_createur); - dprint(175,90,C_BLACK,"%d.%02d",time,time2); - dimage(160,110,&img_or); - if(time2*2.5>=100) dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.05+0.5)+1, (int)(time2*2.5+0.5)-100); - else dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.05+0.5), (int)(time2*2.5+0.5)); - dimage(160,130,&img_argent); - if(time2*1.2>=100) dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.05+0.5)+1, (int)(time2*1.2+0.5)-100); - else dprint(175,130,C_BLACK,"%d.%02d",(int)(time*1.2+0.5), (int)(time2*1.2+0.5)); - dimage(160,150,&img_bronze); - if(time2*1.5>=100) dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.05+0.5)+1, (int)(time2*1.5+0.5)-100); - else dprint(175,150,C_BLACK,"%d.%02d",(int)(time*1.5+0.5), (int)(time2*1.5+0.5)); - dupdate(); - getkey(); +dclear(C_WHITE); +float time=1.0; +switch(id_level) +{ + case 1: + time = 5.88; + break; + case 2: + time = 8.31; + break; + case 3: + time = 6.12; + break; + case 4: + time = 8.72; + break; + case 5: + time = 3.92; + break; + case 6: + time = 3.51; + break; + case 7: + time = 6.76; + break; + case 8: + time = 7.48; + break; + case 9: + time = 12.26; + break; } +dimage(160,90,&img_createur); +dprint(175,90,C_BLACK,"%d.%02d",(int)(time),(int)((time)*100-(int)(time)*100)); +dimage(160,110,&img_or); +dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.1),(int)((time*1.1)*100-(int)(time*1.1)*100)); +dimage(160,130,&img_argent); +dprint(175,130,C_BLACK,"%d.%02d",(int)(time*1.2),(int)((time*1.2)*100-(int)(time*1.2)*100)); +dimage(160,150,&img_bronze); +dprint(175,150,C_BLACK,"%d.%02d",(int)(time*1.5),(int)((time*1.5)*100-(int)(time*1.5)*100)); +dupdate(); +getkey(); +} \ No newline at end of file diff --git a/time.py b/time.py new file mode 100644 index 0000000..c1b205a --- /dev/null +++ b/time.py @@ -0,0 +1,55 @@ +f = open("times.lvl","r+") +d = open("src/times.c","w") +ids=f.readlines() + +d.write("#include \"times.h\"\n\ +#include \"define.h\"\n\ +#include \n\ +#include \n\n\ +extern bopti_image_t img_bronze;\n\ +extern bopti_image_t img_argent;\n\ +extern bopti_image_t img_or;\n\ +extern bopti_image_t img_createur;\n\n\ +void check_medal(unsigned int frame_level, int id_level)\n\ +{\n\ +float time=1.0;\n\ +float framefloat = frame_level;\n\ +switch(id_level)\n\ +{\n") + +for i in range(len(ids)): + if ids[i]!='\n': d.write(f" case {i+1}:\n time = {ids[i].rstrip()};\n break;\n") + +d.write("}\n\n\ +if(frame_level/FPS < (unsigned int)time || (frame_level/FPS <= (unsigned int)time && \n\ +(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time)*100-(int)(time)*100))) dimage(380,8,&img_createur);\n\ +if(frame_level/FPS < (unsigned int)(time*1.1) || (frame_level/FPS <= (unsigned int)(time*1.1) && \n\ +(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.1)*100-(int)(time*1.1)*100))) dimage(360,8,&img_or);\n\ +if(frame_level/FPS < (unsigned int)(time*1.2) || (frame_level/FPS <= (unsigned int)(time*1.2) && \n\ +(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.2)*100-(int)(time*1.2)*100))) dimage(340,8,&img_argent);\n\ +if(frame_level/FPS < (unsigned int)(time*1.5) || (frame_level/FPS <= (unsigned int)(time*1.5) && \n\ +(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.1)*100-(int)(time*1.1)*100))) dimage(320,8,&img_bronze);\n\ +}\n\ +\n\ +void draw_time(int id_level)\n\ +{\n\ +dclear(C_WHITE);\n\ +float time=1.0;\n\ +switch(id_level)\n\ +{\n") + +for i in range(len(ids)): + if ids[i]!='\n': d.write(f" case {i+1}:\n time = {ids[i].rstrip()};\n break;\n") + +d.write("}\n\ +dimage(160,90,&img_createur);\n\ +dprint(175,90,C_BLACK,\"%d.%02d\",(int)(time),(int)((time)*100-(int)(time)*100));\n\ +dimage(160,110,&img_or);\n\ +dprint(175,110,C_BLACK,\"%d.%02d\",(int)(time*1.1),(int)((time*1.1)*100-(int)(time*1.1)*100));\n\ +dimage(160,130,&img_argent); \n\ +dprint(175,130,C_BLACK,\"%d.%02d\",(int)(time*1.2),(int)((time*1.2)*100-(int)(time*1.2)*100));\n\ +dimage(160,150,&img_bronze); \n\ +dprint(175,150,C_BLACK,\"%d.%02d\",(int)(time*1.5),(int)((time*1.5)*100-(int)(time*1.5)*100));\n\ +dupdate();\n\ +getkey();\n\ +}") \ No newline at end of file diff --git a/times.lvl b/times.lvl new file mode 100644 index 0000000..4c32932 --- /dev/null +++ b/times.lvl @@ -0,0 +1,9 @@ +5.88 +8.31 +6.12 +8.72 +3.92 +3.51 +6.76 +7.48 +12.26