diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index c1a2832..828fb6e --- a/.gitignore +++ b/.gitignore @@ -1,55 +1 @@ -build-cg/* - -# ---> C -# Prerequisites -*.d - -# Object files -*.o -*.ko -*.obj -*.elf - -# Linker output -*.ilk -*.map -*.exp - -# Precompiled Headers -*.gch -*.pch - -# Libraries -*.lib -*.a -*.la -*.lo - -# Shared objects (inc. Windows DLLs) -*.dll -*.so -*.so.* -*.dylib - -# Executables -*.exe -*.out -*.app -*.i*86 -*.x86_64 -*.hex - -# Debug files -*.dSYM/ -*.su -*.idb -*.pdb - -# Kernel Module Compile Results -*.mod* -*.cmd -.tmp_versions/ -modules.order -Module.symvers -Mkfile.old -dkms.conf +build-cg/ diff --git a/AST3.g3a b/AST3.g3a index 536404a..ef047d5 100644 Binary files a/AST3.g3a and b/AST3.g3a differ diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/assets-cg/icon-cg-sel.png b/assets-cg/icon-cg-sel.png old mode 100644 new mode 100755 index 0885070..dff3934 Binary files a/assets-cg/icon-cg-sel.png and b/assets-cg/icon-cg-sel.png differ diff --git a/assets-cg/icon-cg-uns.png b/assets-cg/icon-cg-uns.png old mode 100644 new mode 100755 index 99f4228..0336821 Binary files a/assets-cg/icon-cg-uns.png and b/assets-cg/icon-cg-uns.png differ diff --git a/assets-cg/img/appear.png b/assets-cg/img/appear.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/appearblock.png b/assets-cg/img/appearblock.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/blackout.png b/assets-cg/img/blackout.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/chock.png b/assets-cg/img/chock.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/chrono1.png b/assets-cg/img/chrono1.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/chrono2.png b/assets-cg/img/chrono2.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/chrono2appear.png b/assets-cg/img/chrono2appear.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/coin.png b/assets-cg/img/coin.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/damaged.png b/assets-cg/img/damaged.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/dead.png b/assets-cg/img/dead.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/end.png b/assets-cg/img/end.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/endscreen.png b/assets-cg/img/endscreen.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/ice.png b/assets-cg/img/ice.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/key1.png b/assets-cg/img/key1.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/key2.png b/assets-cg/img/key2.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/key2block.png b/assets-cg/img/key2block.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/key2blockvoid.png b/assets-cg/img/key2blockvoid.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/keyblock.png b/assets-cg/img/keyblock.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/medals.png b/assets-cg/img/medals.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/menu.png b/assets-cg/img/menu.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/new.png b/assets-cg/img/new.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/player.png b/assets-cg/img/player.png old mode 100644 new mode 100755 index f1b2206..c54a509 Binary files a/assets-cg/img/player.png and b/assets-cg/img/player.png differ diff --git a/assets-cg/img/solid_0.png b/assets-cg/img/solid_0.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/speedrun.png b/assets-cg/img/speedrun.png old mode 100644 new mode 100755 diff --git a/assets-cg/img/switch.png b/assets-cg/img/switch.png old mode 100644 new mode 100755 diff --git a/build.sh b/build.sh index 3a130f2..621a9d1 100755 --- a/build.sh +++ b/build.sh @@ -1,11 +1,17 @@ -#!/usr/bin/bash +#!/bin/sh +echo "making define.h from editor" +rm include/define.h +echo "#define LEVEL_MAX $(ls editor/levels/[^0]*.lvl | wc -l) +#define PLAYER_HEIGHT 11 +#define FPS 70" > include/define.h +echo "done" echo "making setlevel.c from editor" rm src/setlevel.c -python compile_level.py +python3 compile_level.py echo "done" echo "making times.c from times.lvl" rm src/times.c -python time.py +python3 time.py echo "done" echo "building for cg" fxsdk build-cg diff --git a/compile_level.py b/compile_level.py old mode 100644 new mode 100755 index 67ba728..2b3306f --- a/compile_level.py +++ b/compile_level.py @@ -1,7 +1,7 @@ ids = 0 save = open("src/setlevel.c","w+") -save.write("#include \"setlevel.h\"\n#include \n#include \nvoid set_level(int id_level, char level[], int *startx, \ +save.write("#include \"setlevel.h\"\n#include \nvoid set_level(int id_level, char level[], int *startx, \ int *starty, char *gravity, int *appear, int *disappear){\nswitch(id_level){") while 1: try: @@ -45,23 +45,9 @@ while 1: except FileNotFoundError: break -f = open("times.lvl","r+") -lvm = open(f"include/define.h","r") -ids=f.readlines() -names=[] -for i in ids: - names.append(i.rstrip()) -for i in range(int(''.join(list(filter(str.isdigit, lvm.readline()))))): - hop=names[i].find("-") - if hop!=-1: names[i]=names[i][hop+1:] - else: names[i]="" - - save.write("}}\nvoid del_level(char level[])\n{memcpy(level,\"\ -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",350);}\n\n\ -void set_levelname(int id_level)\n{\nchar *levelname[] = {") -save.write(("\""+'","'.join(names)+'"};\ndprint_opt(180, 25, C_RED, C_BLACK, DTEXT_LEFT, DTEXT_TOP, \"%s\", levelname[id_level-1]);\n}')) +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",350);}") #copy the textures from editor import shutil -shutil.copytree("editor/img","assets-cg/img", dirs_exist_ok=True) \ No newline at end of file +shutil.copytree("editor/img","assets-cg/img", dirs_exist_ok=True) diff --git a/editor.sh b/editor.sh index 3463d43..65fa523 100755 --- a/editor.sh +++ b/editor.sh @@ -1,3 +1,3 @@ #!/usr/bin/bash echo "opening editor" -python editor/AST3generator.py +python3 editor/AST3generator.py diff --git a/editor/AST3generator.py b/editor/AST3generator.py old mode 100644 new mode 100755 index 39d20a5..b9482cf --- a/editor/AST3generator.py +++ b/editor/AST3generator.py @@ -2,6 +2,7 @@ Programme de création de niveau pour A Switch to the top fait par Tituya Pour le CPC#26 """ +# coding: utf-8 import pygame from pygame.locals import * @@ -134,7 +135,6 @@ suite=["0","1","d","s","e","k","3","K","a","c","m","t","l","b","B","i","S","h"] lvm = open(f"include/define.h","r") id_level = 0 -id_level_max = int(''.join(list(filter(str.isdigit, lvm.readline())))) gravityid = 6 disa = 10 app = 13 @@ -173,7 +173,7 @@ while securite==False: elif event.type == pygame.KEYDOWN: carac= event.dict['unicode'] if carac == "d": - if id_level_max>id_level: id_level+=1 + id_level+=1 load(id_level) place() if carac == "q": @@ -244,4 +244,4 @@ while securite==False: grille[y][x]="0" pygame.draw.rect(fenetre,(255,255,255),((52*x, 52*y), (55, 55))) place() - write() \ No newline at end of file + write() diff --git a/editor/README.md b/editor/README.md old mode 100644 new mode 100755 diff --git a/editor/img/appear.png b/editor/img/appear.png old mode 100644 new mode 100755 diff --git a/editor/img/appearblock.png b/editor/img/appearblock.png old mode 100644 new mode 100755 diff --git a/editor/img/blackout.png b/editor/img/blackout.png old mode 100644 new mode 100755 diff --git a/editor/img/chock.png b/editor/img/chock.png old mode 100644 new mode 100755 diff --git a/editor/img/chrono1.png b/editor/img/chrono1.png old mode 100644 new mode 100755 diff --git a/editor/img/chrono2.png b/editor/img/chrono2.png old mode 100644 new mode 100755 diff --git a/editor/img/chrono2appear.png b/editor/img/chrono2appear.png old mode 100644 new mode 100755 diff --git a/editor/img/coin.png b/editor/img/coin.png old mode 100644 new mode 100755 diff --git a/editor/img/damaged.png b/editor/img/damaged.png old mode 100644 new mode 100755 diff --git a/editor/img/dead.png b/editor/img/dead.png old mode 100644 new mode 100755 diff --git a/editor/img/end.png b/editor/img/end.png old mode 100644 new mode 100755 diff --git a/editor/img/ice.png b/editor/img/ice.png old mode 100644 new mode 100755 diff --git a/editor/img/key1.png b/editor/img/key1.png old mode 100644 new mode 100755 diff --git a/editor/img/key2.png b/editor/img/key2.png old mode 100644 new mode 100755 diff --git a/editor/img/key2block.png b/editor/img/key2block.png old mode 100644 new mode 100755 diff --git a/editor/img/key2blockvoid.png b/editor/img/key2blockvoid.png old mode 100644 new mode 100755 diff --git a/editor/img/keyblock.png b/editor/img/keyblock.png old mode 100644 new mode 100755 diff --git a/editor/img/player.png b/editor/img/player.png old mode 100644 new mode 100755 index f1b2206..c54a509 Binary files a/editor/img/player.png and b/editor/img/player.png differ diff --git a/editor/img/solid_0.png b/editor/img/solid_0.png old mode 100644 new mode 100755 diff --git a/editor/img/switch.png b/editor/img/switch.png old mode 100644 new mode 100755 diff --git a/editor/levels/0.lvl b/editor/levels/0.lvl old mode 100644 new mode 100755 index e7caef7..bc4b8a0 --- a/editor/levels/0.lvl +++ b/editor/levels/0.lvl @@ -1,3 +1,4 @@ 111111111111111111111111100000000c300000000000100000000000c3000000K0k0l1000111ddd1111aaa111111111h11111ddd1111aaa1ddddd00000110000001110001d000000000110s00001110001d000000000111111001110001d0011d1100110b01001110001d00e000000110S01001110001d000000000110001001110001d011111000100t01000m00001d000000000000001000m00001ddddd00000011111111111111111111111116 + 9 13 \ No newline at end of file diff --git a/editor/levels/1.lvl b/editor/levels/1.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/10.lvl b/editor/levels/10.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/11.lvl b/editor/levels/11.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/12.lvl b/editor/levels/12.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/13.lvl b/editor/levels/13.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/14.lvl b/editor/levels/14.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/15.lvl b/editor/levels/15.lvl old mode 100644 new mode 100755 index 38482e6..2113bcf --- a/editor/levels/15.lvl +++ b/editor/levels/15.lvl @@ -1,4 +1,4 @@ i011100dd1111dddm111ddmd1i01d1000000010S0011100S01i01d100000001000000000001i01d1cc111001hh1c11111001i01ddddddi00i000bddd00001i01dd1133i00i000lddd000K1100000000i00i00001d110011300000000i00100331d100003300000010i001s03t1d1000031111100hki0011111ddd1BB1110S01hh11100m0000aaa0000110001001d100m000000000001100e1001d100m0aaa000aaa0110d11001111111ddddddddd116 -5 +4 7 \ No newline at end of file diff --git a/editor/levels/2.lvl b/editor/levels/2.lvl old mode 100644 new mode 100755 index 04771e4..9097b1e --- a/editor/levels/2.lvl +++ b/editor/levels/2.lvl @@ -1,3 +1,4 @@ 1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd10000000000d1331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd16 + 12 1 \ No newline at end of file diff --git a/editor/levels/3.lvl b/editor/levels/3.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/4.lvl b/editor/levels/4.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/5.lvl b/editor/levels/5.lvl old mode 100644 new mode 100755 index 1b981f4..a248016 --- a/editor/levels/5.lvl +++ b/editor/levels/5.lvl @@ -1,3 +1,4 @@ 000000000000000000000000000000000000000000000000t000000000000000000000000000011dd111111111111111110000100000100000010000001000011cc001s0000d00000001000010000e111dd0100000dd100001001111000d0000000dd100001000001000111d000ddd1000010000000000000000ddd1000011111111111d111B11111000000000000000000000000000000000000000000000000000000000000000000000000000006 + 12 6 \ No newline at end of file diff --git a/editor/levels/6.lvl b/editor/levels/6.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/7.lvl b/editor/levels/7.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/8.lvl b/editor/levels/8.lvl old mode 100644 new mode 100755 diff --git a/editor/levels/9.lvl b/editor/levels/9.lvl old mode 100644 new mode 100755 diff --git a/include/collide.h b/include/collide.h old mode 100644 new mode 100755 diff --git a/include/drawlevel.h b/include/drawlevel.h old mode 100644 new mode 100755 diff --git a/include/menu.h b/include/menu.h old mode 100644 new mode 100755 diff --git a/include/save.h b/include/save.h old mode 100644 new mode 100755 index ec025ec..4c13d6d --- a/include/save.h +++ b/include/save.h @@ -1,5 +1,5 @@ void savefile(void); -int loadtime(int a); +int loadtime(int idlevel); void loadfile(void); void restore(void); void savetimes(float framelevel, int id_level); diff --git a/include/setlevel.h b/include/setlevel.h old mode 100644 new mode 100755 index c7b740c..09df303 --- a/include/setlevel.h +++ b/include/setlevel.h @@ -1,4 +1,3 @@ void set_level(int id_level, char level[], int *startx, int *starty, char *gravity, int *appear, int *disappear); void set_gravity(int id_level, char *default_gravity); void del_level(char level[]); -void set_levelname(int id_level); diff --git a/include/times.h b/include/times.h old mode 100644 new mode 100755 diff --git a/project.cfg b/project.cfg old mode 100644 new mode 100755 diff --git a/src/collide.c b/src/collide.c old mode 100644 new mode 100755 diff --git a/src/drawlevel.c b/src/drawlevel.c old mode 100644 new mode 100755 index 2c0f37d..5a26ea3 --- a/src/drawlevel.c +++ b/src/drawlevel.c @@ -27,7 +27,6 @@ extern bopti_image_t img_appear; //appear block extern bopti_image_t img_appearblock; //appear block extern bopti_image_t img_chrono2appear; //appear block - extern bopti_image_t img_endscreen; extern bopti_image_t img_new; @@ -101,7 +100,7 @@ void draw_level(char level[]) dimage(x,y,&img_appearblock); break; case 'y': //appear blocks - dimage(x,y,&img_appearblock); + dimage(x,y,&img_appear); break; case 'm': //chronoappear blocks dimage(x,y,&img_chrono2appear); diff --git a/src/main.c b/src/main.c old mode 100644 new mode 100755 index ccac8a6..32795cc --- a/src/main.c +++ b/src/main.c @@ -53,7 +53,7 @@ void game(int *id_level, char mode, char *type) int disappear = 13; float vspd = 1.0; - float hspd = 0; + float hspd = 0.0; if(*id_level==10 && *type!=3) *type = 2; else if(*type!=3) *type = 1; extern bopti_image_t img_speedrun; @@ -180,6 +180,8 @@ void game(int *id_level, char mode, char *type) death_count++; double_check = 1; framelevel = 0; + if(*id_level == 1 && !mode) + frame = 0; } //Collide with the end if(collide_end(player_x, player_y, level)) @@ -395,7 +397,7 @@ void game(int *id_level, char mode, char *type) float framefloat = framelevel; draw_end(framelevel, *id_level, 0); savetimes(framefloat, *id_level); - sleep_ms(5000); + sleep_ms(3000); } if(!speed_menu(id_level)) { diff --git a/src/menu.c b/src/menu.c old mode 100644 new mode 100755 index 9b68772..bbeda08 --- a/src/menu.c +++ b/src/menu.c @@ -80,7 +80,6 @@ char speed_menu(int *id_level) dprint(80,20,C_BLACK,"Level : %d",*id_level); if(sto != 0) dprint(194,60,C_RED, "%.2j", sto); else dprint(202,60,C_RED, "/"); - set_levelname(*id_level); if(*id_level == 14) dprint_opt(180, 8, C_RGB(0,255,255), C_BLACK, DTEXT_LEFT, DTEXT_TOP, "VVVVVV"); dupdate(); if (keydown_any(KEY_SHIFT, KEY_EXE, 0)) diff --git a/src/save.c b/src/save.c old mode 100644 new mode 100755 index e9383ea..a928e2f --- a/src/save.c +++ b/src/save.c @@ -2,80 +2,78 @@ #include #include "define.h" #include "drawlevel.h" - int retcode; -int valeur = 0; -int times[LEVEL_MAX]; //moche et je le sais... A essayer l'allocution dynamique +int id_leveltab = 0; +int times[LEVEL_MAX]; +static const uint16_t *filepath = u"\\\\fls0\\AST3.sav"; - -/*savefile() write the time of all the player's times in the savefile -savefile() is long to execute. That's why it must be call once per new record only to avoid loading times.*/ +/* savefile() write the time of all the player's times in the savefile. + * savefile() is long to execute. That's why it must be call once per + * new record only to avoid loading times. */ void savefile(void) { - uint16_t *filepath = u"\\\\fls0\\AST3.sav"; int descriptor; descriptor = BFile_Open(filepath, BFile_WriteOnly); - for(int i = 0; i != 15; i++) BFile_Write(descriptor, ×[i], sizeof(times[i])); + BFile_Write(descriptor, times, sizeof(times)); BFile_Close(descriptor); } -/*loadfile() is only call by the function loadtime() because loadtime() set the value of "valeur". -It store in the global retcode the time of the player. This function is call once per level -in the level selection menu to avoid loading time.*/ +/* loadfile() is only called by the function loadtime() because + * loadtime() set the value of "id_leveltab". It store in the global retcode + * the time of the player. This function is called once per level in the + * level selection menu to avoid loading time. */ void loadfile(void) { int descriptor; - uint16_t *filepath = u"\\\\fls0\\AST3.sav"; descriptor = BFile_Open(filepath, BFile_ReadOnly); - BFile_Read(descriptor, &retcode, 4, 4*valeur); + BFile_Read(descriptor, &retcode, + sizeof(times[0]), sizeof(times[0]) * id_leveltab); BFile_Close(descriptor); } -/*savetimes() is call when the player has reached the end of a level. -If his time is better than the save time, it will call the function savefile -else, nothing append to avoid loading time*/ +/* savetimes() is call when the player has reached the end of a level. + * If his time is better than the save time, it will call the function + * savefile() else, nothing append to avoid loading time. */ void savetimes(float framelevel, int id_level) { - if(times[id_level-1]>(int)(framelevel/FPS*100) || times[id_level-1]==0) + if(times[id_level - 1] > (int)(framelevel / FPS * 100) || + times[id_level - 1] == 0) { - times[id_level-1]=(int)(framelevel/FPS*100); + times[id_level - 1] = (int)(framelevel / FPS * 100); draw_end((int)framelevel, id_level, 1); gint_switch(savefile); } } -/*restore() is call when the app is load, it will create the save file if it doesn't exist. -If the file exist, it will read all times from the save and store them in the global times[]*/ -void restore() +/* restore() is call when the app is load, it will create the save file + * if it doesn't exist. If the file exist, it will read all times from + * the save and store them in the global times[] */ +void restore(void) { - uint16_t *filepath = u"\\\\fls0\\AST3.sav"; struct BFile_FileInfo fileInfo; int handle; uint16_t foundpath[30]; - int size = 80; + int size = sizeof(times); int descriptor; char checkfile = BFile_FindFirst(filepath, &handle, foundpath, &fileInfo); BFile_FindClose(handle); - if(checkfile == -1) BFile_Create(filepath, BFile_File, &size); - else - { + if(checkfile == -1) + BFile_Create(filepath, BFile_File, &size); + else { descriptor = BFile_Open(filepath, BFile_ReadOnly); - for(int i = 0; i != 15; i++) - { - BFile_Read(descriptor, &retcode, 4, 4*i); - times[i] = (int)retcode; - } + BFile_Read(descriptor, times, sizeof(times), 0); BFile_Close(descriptor); } } -/*loadtime is changing the current value of the global "valeur" to set it to the current level -then it execute loadfile and read and stock in the global retcode 4 bits -at the place 4*level (times are in 4 bits) */ -int loadtime(int a) +/* loadtime() is changing the current value of the global "id_leveltab" to + * set it to the current level then it execute loadfile and read and + * stock in the global retcode 4 bytes at the place 4*level (times are in + * 4 bytes) */ +int loadtime(int idlevel) { - valeur = a; + id_leveltab = idlevel; gint_switch(loadfile); return (int)retcode; } diff --git a/src/setlevel.c b/src/setlevel.c index 9a5b44e..9d346a3 100644 --- a/src/setlevel.c +++ b/src/setlevel.c @@ -1,6 +1,5 @@ #include "setlevel.h" #include -#include void set_level(int id_level, char level[], int *startx, int *starty, char *gravity, int *appear, int *disappear){ switch(id_level){case 0: memcpy(level,"111111111111111111111111100000000c300000000000100000000000c3000000K0k0l1000111ddd1111aaa111111111h11111ddd1111aaa1ddddd00000110000001110001d000000000110s00001110001d000000000111111001110001d0011d1100110b01001110001d00e000000110S01001110001d000000000110001001110001d011111000100t01000m00001d000000000000001000m00001ddddd0000001111111111111111111111111",350); @@ -59,7 +58,7 @@ memcpy(level,"1111111111111ddd11iK1d00100000d111000000011it1d00000000d1000000000 break; case 15: memcpy(level,"i011100dd1111dddm111ddmd1i01d1000000010S0011100S01i01d100000001000000000001i01d1cc111001hh1c11111001i01ddddddi00i000bddd00001i01dd1133i00i000lddd000K1100000000i00i00001d110011300000000i00100331d100003300000010i001s03t1d1000031111100hki0011111ddd1BB1110S01hh11100m0000aaa0000110001001d100m000000000001100e1001d100m0aaa000aaa0110d11001111111ddddddddd11",350); -*appear=5; +*appear=4; *disappear=7; break; } @@ -127,10 +126,4 @@ case 15: break; }} void del_level(char level[]) -{memcpy(level,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",350);} - -void set_levelname(int id_level) -{ -char *levelname[] = {"KikooDX","KikooDX","KikooDX","KikooDX","KikooDX","KikooDX","KikooDX","KikooDX","Massena","Massena","Tituya","Tituya","Tituya","Tituya","Tituya"}; -dprint_opt(180, 25, C_RED, C_BLACK, DTEXT_LEFT, DTEXT_TOP, "%s", levelname[id_level-1]); -} \ No newline at end of file +{memcpy(level,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",350);} \ No newline at end of file diff --git a/src/times.c b/src/times.c index 7747fc2..14c4c7d 100644 --- a/src/times.c +++ b/src/times.c @@ -4,11 +4,11 @@ #include extern bopti_image_t img_medals; +float level_time[] = {5.86,8.76,5.80,3.52,3.58,8.62,6.73,7.65,9.62,6.04,6.23,10.78,5.39,8.35,7.45}; void check_medal(unsigned int frame_level, int id_level, int x, int y) { float time=1.0; float framefloat = frame_level; -float level_time[] = {5.80,8.62,5.14,3.22,3.25,8.20,6.60,7.18,9.20,5.22,6.04,10.38,5.34,7.61,6.05}; time = level_time[id_level-1]; if(frame_level/FPS < (unsigned int)time || (frame_level/FPS <= (unsigned int)time && @@ -25,7 +25,7 @@ void draw_time(int id_level) { dclear(C_WHITE); float time=1.0; -float level_time[] = {5.80,8.62,5.14,3.22,3.25,8.20,6.60,7.18,9.20,5.22,6.04,10.38,5.34,7.61,6.05}; + time = level_time[id_level-1]; dsubimage(172,90,&img_medals,36,0,12,12,DIMAGE_NONE); diff --git a/time.py b/time.py old mode 100644 new mode 100755 index a07497d..dfb7985 --- a/time.py +++ b/time.py @@ -9,23 +9,28 @@ ids=f.readlines() times=[] for i in ids: times.append(i.rstrip()) -for i in range(int(''.join(list(filter(str.isdigit, lvm.readline()))))): - hop=times[i].find("-") - if hop!=-1: times[i]=times[i][:hop] +try: + for i in range(int(''.join(list(filter(str.isdigit, lvm.readline()))))): + hop=times[i].find("-") + if hop!=-1: times[i]=times[i][:hop] +except IndexError: + times.append("0.00") d.write("#include \"times.h\"\n\ #include \"define.h\"\n\ #include \n\ #include \n\n\ extern bopti_image_t img_medals;\n\ -void check_medal(unsigned int frame_level, int id_level, int x, int y)\n\ -{\n\ -float time=1.0;\n\ -float framefloat = frame_level;\n\ float level_time[] = {") d.write(f"{','.join(times)}") -d.write("};\ntime = level_time[id_level-1];\n\n\ +d.write("};\n\ +void check_medal(unsigned int frame_level, int id_level, int x, int y)\n\ +{\n\ +float time=1.0;\n\ +float framefloat = frame_level;") + +d.write("\ntime = level_time[id_level-1];\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))) dsubimage(x+45,y,&img_medals,36,0,12,12,DIMAGE_NONE);\n\ if(frame_level/FPS < (unsigned int)(time*"+str(gold)+") || (frame_level/FPS <= (unsigned int)(time*"+str(gold)+") && \n\ @@ -39,12 +44,9 @@ if(frame_level/FPS < (unsigned int)(time*"+str(bronze)+") || (frame_level/FPS <= void draw_time(int id_level)\n\ {\n\ dclear(C_WHITE);\n\ -float time=1.0;\n\ -float level_time[] = {") +float time=1.0;\n") -d.write(f"{','.join(times)}") - -d.write("};\ntime = level_time[id_level-1];\n\n\ +d.write("\ntime = level_time[id_level-1];\n\n\ dsubimage(172,90,&img_medals,36,0,12,12,DIMAGE_NONE);\n\ dprint(187,90,C_BLACK,\"%.2j\",(int)(time*100));\n\ dsubimage(172,110,&img_medals,24,0,12,12,DIMAGE_NONE);\n\ @@ -55,4 +57,4 @@ dsubimage(172,150,&img_medals,0,0,12,12,DIMAGE_NONE); \n\ dprint(187,150,C_BLACK,\"%.2j\",(int)(time*"+str(bronze)+"*100));\n\ dupdate();\n\ getkey();\n\ -}") \ No newline at end of file +}") diff --git a/times.lvl b/times.lvl old mode 100644 new mode 100755 index 19bb323..618de9e --- a/times.lvl +++ b/times.lvl @@ -1,15 +1,15 @@ -5.80-KikooDX -8.62-KikooDX -5.14-KikooDX -3.22-KikooDX -3.25-KikooDX -8.20-KikooDX -6.60-KikooDX -7.18-KikooDX -9.20-Massena -5.22-Massena -6.04-Tituya -10.38-Tituya -5.34-Tituya -7.61-Tituya -6.05-Tituya +5.86 +8.76 +5.80 +3.52 +3.58 +8.62 +6.73 +7.65 +9.62 +6.04 +6.23 +10.78 +5.39 +8.35 +7.45