This commit is contained in:
2025-04-30 19:01:44 +02:00
parent 451e80f750
commit 429627c095
10 changed files with 100 additions and 73 deletions

View File

@@ -12,7 +12,7 @@ static int scrollFrame = 0;
unsigned long beltFrames = 0;
void renderBelt(int x, int y, int w, int h, OrientDirection dir, SDL_Renderer * renderer) {
void renderBelt(int x, int y, int w, int h, OrientDirection dir, SDL_Renderer *renderer) {
int px = x * TILE_SIZE;
int py = y * TILE_SIZE;
@@ -63,8 +63,8 @@ void renderBelt(int x, int y, int w, int h, OrientDirection dir, SDL_Renderer *
}
void renderAllBelts(SDL_Renderer * renderer) {
int scrollSpeed = 1; // pixels per step
void renderAllBelts(SDL_Renderer *renderer) {
int scrollSpeed = 0; // pixels per step
int scrollDelay = 1; // frames between steps
if (beltFrames++ % scrollDelay == 0) {
@@ -72,13 +72,27 @@ void renderAllBelts(SDL_Renderer * renderer) {
}
int tileSize = TILE_SIZE;
for (int y = (playerY / TILE_SIZE) - (DISPLAY_MAP_HEIGHT / 2); y < (playerY / TILE_SIZE) + (DISPLAY_MAP_HEIGHT / 2); y++) {
for (int x = (playerX / TILE_SIZE) - (DISPLAY_MAP_WIDTH / 2); x < (playerX / TILE_SIZE) + (DISPLAY_MAP_WIDTH / 2); x++) {
for (int y = (playerY / TILE_SIZE) - (DISPLAY_MAP_HEIGHT / 2);
y < (playerY / TILE_SIZE) + (DISPLAY_MAP_HEIGHT / 2); y++) {
for (int x = (playerX / TILE_SIZE) - (DISPLAY_MAP_WIDTH / 2);
x < (playerX / TILE_SIZE) + (DISPLAY_MAP_WIDTH / 2); x++) {
Tile t = tileMap[y][x];
if (t.type != TYPE_BELT) continue;
renderBelt(x, y, tileSize, tileSize, t.direction, renderer);
if (t.item.active) {
renderItem(t.item, renderer);
}
}
for (int y = (playerY / TILE_SIZE) - (DISPLAY_MAP_HEIGHT / 2);
y < (playerY / TILE_SIZE) + (DISPLAY_MAP_HEIGHT / 2); y++) {
for (int x = (playerX / TILE_SIZE) - (DISPLAY_MAP_WIDTH / 2);
x < (playerX / TILE_SIZE) + (DISPLAY_MAP_WIDTH / 2); x++) {
Tile t = tileMap[y][x];
if (t.type != TYPE_BELT) continue;
for (uint8_t lane = 0; lane < 2; lane++) {
for (uint8_t itemIndex = 0; itemIndex < 2; itemIndex++) {
if (t.items[lane][itemIndex].active) {
renderItem(t.items[lane][itemIndex], renderer);
}
}
}
}
}