The Mystery of the git Commit
parent
b0c5bea071
commit
fa7a158ec9
|
@ -0,0 +1 @@
|
|||
.*.swp
|
|
@ -1,4 +1,5 @@
|
|||
#include "map.h"
|
||||
#include "tile.h"
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
@ -124,11 +125,7 @@ int moveTile(struct Map *map, struct Tile *tile, float x, float y, float z) {
|
|||
//return 2;
|
||||
} else {
|
||||
removeTile(tile); // remove from current position
|
||||
struct Tile *target_tile = map->tiles[tile_x][tile_y][tile_z];
|
||||
while (target_tile->next != NULL) {
|
||||
target_tile = target_tile->next;
|
||||
}
|
||||
addTile(target_tile, tile);
|
||||
appendTile(map->tiles[tile_x][tile_y][tile_z], tile);
|
||||
}
|
||||
}
|
||||
tile->x = target_x;
|
||||
|
|
|
@ -22,7 +22,13 @@ void initTestState() {
|
|||
int x,y,z;
|
||||
for (x=0;x < test_map->width;x++) {
|
||||
for (y=0;y < test_map->height;y++) {
|
||||
test_map->tiles[x][y][0] = newTile(x, y, 0, getTileDataById(g_tile_data, 1, 0));
|
||||
test_map->tiles[x][y][0] = newTile(x, y, 0, getTileDataById(g_tile_data, 2, 0));
|
||||
}
|
||||
}
|
||||
|
||||
for (x=8;x < 9;x++) {
|
||||
for (y=0;y < test_map->height;y++) {
|
||||
test_map->tiles[x][y][1] = newTile(x, y, 1, getTileDataById(g_tile_data, 3, 0));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -66,23 +72,23 @@ void processTestState(int delta) {
|
|||
while(s_accumulator >= g_tick_time.n) {
|
||||
if (key_press[0] == 1) {
|
||||
test_player_tile->set = 4;
|
||||
moveTile(test_map, test_player_tile, -0.2f, 0.0f, 0.0f);
|
||||
//moveTile(test_map, test_player_tile, -1.0f, 0.0f);
|
||||
moveTile(test_map, test_player_tile, -0.1f, 0.0f, 0.0f);
|
||||
//moveTile(test_map, test_player_tile, -1.0f, 0.0f, 0.0f);
|
||||
}
|
||||
if (key_press[1] == 1) {
|
||||
test_player_tile->set = 5;
|
||||
moveTile(test_map, test_player_tile, 0.0f, 0.2f, 0.0f);
|
||||
//moveTile(test_map, test_player_tile, 0.0f, 1.0f);
|
||||
moveTile(test_map, test_player_tile, 0.0f, 0.1f, 0.0f);
|
||||
//moveTile(test_map, test_player_tile, 0.0f, 1.0f, 0.0f);
|
||||
}
|
||||
if (key_press[2] == 1) {
|
||||
test_player_tile->set = 6;
|
||||
moveTile(test_map, test_player_tile, 0.2f, 0.0f, 0.0f);
|
||||
//moveTile(test_map, test_player_tile, 1.0f, 0.0f);
|
||||
moveTile(test_map, test_player_tile, 0.1f, 0.0f, 0.0f);
|
||||
//moveTile(test_map, test_player_tile, 1.0f, 0.0f, 0.0f);
|
||||
}
|
||||
if (key_press[3] == 1) {
|
||||
test_player_tile->set = 7;
|
||||
moveTile(test_map, test_player_tile, 0.0f, -0.2f, 0.0f);
|
||||
//moveTile(test_map, test_player_tile, 0.0f, -1.0f);
|
||||
moveTile(test_map, test_player_tile, 0.0f, -0.1f, 0.0f);
|
||||
//moveTile(test_map, test_player_tile, 0.0f, -1.0f, 0.0f);
|
||||
}
|
||||
|
||||
if (test_accumulator > 4) {
|
||||
|
@ -108,12 +114,13 @@ Our render state, called a variable amount of times per second. Make render call
|
|||
void renderTestState() {
|
||||
int x, y, z;
|
||||
for(z=0;z < test_map->depth;z++) {
|
||||
for(x=0;x < test_map->width;x++) {
|
||||
for(y=test_map->height-1;y >= 0;y--) {
|
||||
for(y=0;y < test_map->height;y++) {
|
||||
for(x=test_map->width-1;x >= 0;x--) {
|
||||
struct Tile *tile = test_map->tiles[x][y][z];
|
||||
while(tile != NULL) {
|
||||
//printf("%f\n", tile->x);
|
||||
int id = tile->data->id + (tile->set * 4) + tile->frame;
|
||||
//int id = tile->data->id + (tile->set * 4) + tile->frame;
|
||||
int id = tile->data->id;
|
||||
int pix_x = tile->x * g_module_spritesheets[tile->data->tid]->s_width;
|
||||
int pix_y = (tile->y * g_module_spritesheets[tile->data->tid]->s_height)/2;
|
||||
g_renderSprite(g_module_spritesheets[tile->data->tid], g_screen, id, pix_x, pix_y);
|
||||
|
|
|
@ -23,7 +23,18 @@ void freeTile(struct Tile *tile) {
|
|||
free(tile);
|
||||
}
|
||||
|
||||
void addTile(struct Tile* tile_target, struct Tile* new_tile) {
|
||||
void appendTile(struct Tile *tile_target, struct Tile *new_tile) {
|
||||
if (new_tile == tile_target)
|
||||
return;
|
||||
struct Tile *current_tile = tile_target;
|
||||
while (current_tile->next != NULL) {
|
||||
current_tile = current_tile->next;
|
||||
}
|
||||
current_tile->next = new_tile;
|
||||
new_tile->prev = current_tile;
|
||||
}
|
||||
|
||||
void insertTile(struct Tile* tile_target, struct Tile* new_tile) {
|
||||
if (new_tile == tile_target)
|
||||
return;
|
||||
if (tile_target->next) {
|
||||
|
|
|
@ -16,7 +16,8 @@ struct Tile {
|
|||
struct Tile *newTile(float x, float y, float z, struct TileData *data);
|
||||
void freeTile(struct Tile *tile);
|
||||
|
||||
void addTile(struct Tile* tile_target, struct Tile* new_tile);
|
||||
void appendTile(struct Tile *tile_target, struct Tile *new_tile);
|
||||
void insertTile(struct Tile* tile_target, struct Tile* new_tile);
|
||||
void removeTile(struct Tile* tile);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -13,6 +13,7 @@ sprites {
|
|||
; key = TID, value = spritesheet for that TID
|
||||
0 players
|
||||
1 ground
|
||||
2 walls
|
||||
}
|
||||
; list of playable characters for character creation
|
||||
chars {
|
||||
|
|
|
@ -15,3 +15,11 @@ ground {
|
|||
set 1
|
||||
frame 1
|
||||
}
|
||||
|
||||
walls {
|
||||
width 8
|
||||
height 16
|
||||
columns 1
|
||||
set 1
|
||||
frame 1
|
||||
}
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 262 B After Width: | Height: | Size: 188 B |
Binary file not shown.
After Width: | Height: | Size: 156 B |
|
@ -9,6 +9,9 @@
|
|||
}
|
||||
}
|
||||
2 {
|
||||
0 {
|
||||
name greh brix
|
||||
}
|
||||
}
|
||||
3 {
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue