diff --git a/JTMM.g3a b/JTMM.g3a index 19af671..14c56db 100644 Binary files a/JTMM.g3a and b/JTMM.g3a differ diff --git a/assets-cg/img/elevator.png b/assets-cg/img/elevator.png index 449d458..ada442e 100644 Binary files a/assets-cg/img/elevator.png and b/assets-cg/img/elevator.png differ diff --git a/project.cfg b/project.cfg index 499d5e2..5dfe3c0 100644 --- a/project.cfg +++ b/project.cfg @@ -60,7 +60,7 @@ INCLUDE := -I include # Libraries. Add one -l option for each library you are using, and also # suitable -L options if you have library files in custom folders. To use # fxlib, add libfx.a to the project directory and use "-L . -lfx". -LIBS := +LIBS := -limg-cg # Base linker flags for the fxSDK, you usually want to keep these. LDFLAGS_FX := -T fx9860g.ld -lgint-fx $(LIBS) -lgint-fx -lgcc @@ -77,12 +77,7 @@ LDFLAGS_CG += -Wl,-Map=build-cg/map # File conversion parameters #--- -#IMG.player.png = profile:p4 -#IMG.elevator.png = profile:p4 -#IMG.ground.png = profile:p4 -#IMG.jitem_popup.png = profile:p4 -#IMG.jitem.png = profile:p4 -#IMG.spike.png = profile:p4 +IMG.elevator.png = type:libimg-image name:img_elevator # Here you can add fxconv options for each converted file, individually. # The syntax is ".". For example, to specify the parameters for a diff --git a/src/draw.c b/src/draw.c index 7f48ff6..9716502 100644 --- a/src/draw.c +++ b/src/draw.c @@ -1,5 +1,6 @@ #include #include +#include #include "draw.h" #include "shared_define.h" @@ -23,7 +24,8 @@ extern image_t img_semi_solid; //semi solid texture, 16x16 extern image_t img_teleporter_0; //teleporter 0 texture, 16x16 extern image_t img_teleporter_1; //teleporter 1 texture, 16x16 //animated textures (elevator) -extern image_t img_elevator1, img_elevator2, img_elevator3, img_elevator4; +extern img_t const img_elevator; +/*extern image_t img_elevator1, img_elevator2, img_elevator3, img_elevator4; extern image_t img_elevator5, img_elevator6, img_elevator7, img_elevator8; extern image_t img_elevator9, img_elevator10, img_elevator11, img_elevator12; extern image_t img_elevator13, img_elevator14, img_elevator15, img_elevator16; @@ -31,7 +33,7 @@ const image_t * ani_elevator[16] = {&img_elevator1, &img_elevator2, &img_elevator3, &img_elevator4, &img_elevator5, &img_elevator6, &img_elevator7, &img_elevator8, &img_elevator9, &img_elevator10, &img_elevator11, &img_elevator12, &img_elevator13, &img_elevator14, - &img_elevator15, &img_elevator16}; + &img_elevator15, &img_elevator16};*/ void draw_player(int x, int y) { @@ -41,6 +43,7 @@ void draw_player(int x, int y) void draw_level(char level[], unsigned int step, char polarity, int *start_x, int *start_y, int tp_positions[]) { + int img_elevator_frame_count = img_elevator.width / 16; dclear(BG_COLOR); unsigned int i = 0; unsigned int x = 0; @@ -77,7 +80,8 @@ int *start_y, int tp_positions[]) dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_semi_solid); break; case '^': - dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, ani_elevator[(step/2)%16]); + img_render(img_sub(img_elevator, 0, 0, 16, 16), img_at(img_vram(), x, y)); + //dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, ani_elevator[(step/2)%16]); break; case 'S': erase_tile(x, y, level);