Large diffs are not rendered by default.

3 main.c
@@ -9,6 +9,7 @@
#include "sprite.h"
#include "resources.h"
#include "gamelogic.h"
#include "option.h"


void init();
@@ -21,7 +22,7 @@ s8 do_scroll = TRUE;

extern _mods mods;

int main(int argc, char** argv) {
int main() {


init();
1 map.h
@@ -38,6 +38,7 @@ extern u16 current_map[];
void setMap(VDPPlan plan, const u8 *map, u8 game_mode);
void setMapEx(VDPPlan plan, const u8 *map, u8 game_mode, u8 fake);
void setFakeMap(const u8 *map, u8 game_mode);
void setMapLevel(u8 lvl);
void setFakeMapLevel(u8 lvl);
void setMenuMap();
void setEmptyEditorMap();
@@ -19,11 +19,7 @@ void showModText() {
// u16 mods[MODS_COUNT];
u16 pos[] = {0, 0, 0, 0, 0, 0, 0};
u16 nums = 0;
u16 p;
s16 rnd = 0;
s16 old_rnd = 0;
// char *txt[] = {"", "", "", "", "", "", "", "", "", ""};
u8 i;


// int16ToStr(rnd, txt, 10);
@@ -47,8 +47,6 @@ void startOption() {
opt_selected_item = -1;
selector = 0;

u16 joy1;

VDP_resetSprites();


@@ -411,8 +409,6 @@ void customGameOption() {
opt_selected_item = -1;
selector = 0;

u16 joy1;

VDP_resetSprites();


@@ -26,32 +26,37 @@ void spriteInit() {

void drawSprite2x2(u16 sprite_atr, s16 x, s16 y) {

VDP_setSpriteFull(sprite_counter++, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, SPRITE_SIZE(2, 2), sprite_atr, sprite_counter+1);
VDP_setSpriteFull(sprite_counter, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, SPRITE_SIZE(2, 2), sprite_atr, sprite_counter+1);
sprite_counter++;

}

void drawSprite8x8(u16 sprite_atr, s16 x, s16 y) {

VDP_setSpriteFull(sprite_counter++, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, SPRITE_SIZE(8, 8), sprite_atr, sprite_counter+1);
VDP_setSpriteFull(sprite_counter, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, SPRITE_SIZE(8, 8), sprite_atr, sprite_counter+1);
sprite_counter++;

}

void drawSprite1x2(u16 sprite_atr, s16 x, s16 y) {

VDP_setSpriteFull(sprite_counter++, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, SPRITE_SIZE(1, 2), sprite_atr, sprite_counter+1);
VDP_setSpriteFull(sprite_counter, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, SPRITE_SIZE(1, 2), sprite_atr, sprite_counter+1);
sprite_counter++;

}

void drawSprite4x1(u16 sprite_atr, s16 x, s16 y) {

VDP_setSpriteFull(sprite_counter++, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, SPRITE_SIZE(4, 1), sprite_atr | TILE_ATTR(0, 1, 0, 0), sprite_counter+1);
VDP_setSpriteFull(sprite_counter, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, SPRITE_SIZE(4, 1), sprite_atr | TILE_ATTR(0, 1, 0, 0), sprite_counter+1);
sprite_counter++;

}


void drawSpritePixel(u16 sprite_atr, s16 x, s16 y) {

VDP_setSpriteFull(sprite_counter++, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, 0, sprite_atr, sprite_counter+1);
VDP_setSpriteFull(sprite_counter, x + MAP_PIXEL_X, y + MAP_PIXEL_Y, 0, sprite_atr, sprite_counter+1);
sprite_counter++;

}

@@ -60,13 +65,17 @@ void updateSprite() {
ani_counter++;
color_strobe++;

VDP_setSpriteFull(sprite_counter++, -8, -8, SPRITE_SIZE(1, 1), 0, sprite_counter+1);
VDP_setSpriteFull(sprite_counter, -8, -8, SPRITE_SIZE(1, 1), 0, sprite_counter+1);
sprite_counter++;

if (sprite_counter<spr_kl) {
int ttt;
int spr_kl2 = sprite_counter;

for (ttt=0; ttt<(spr_kl-sprite_counter)+2; ttt++) VDP_setSpriteFull(sprite_counter++, -8, -8, SPRITE_SIZE(1, 1), 0, sprite_counter+1);
for (ttt=0; ttt<(spr_kl-sprite_counter)+2; ttt++) {
VDP_setSpriteFull(sprite_counter, -8, -8, SPRITE_SIZE(1, 1), 0, sprite_counter+1);
sprite_counter++;
}
spr_kl=spr_kl2;
}

@@ -76,7 +85,7 @@ void updateSprite() {

if (sprite_counter>spr_kl) spr_kl = sprite_counter;

u16 num_index = VDP_refreshHighestAllocatedSpriteIndex();
VDP_refreshHighestAllocatedSpriteIndex();


VDP_updateSprites(sprite_counter, 1);