Compare commits

..

No commits in common. "b51d5058145b35e8a7fb8ffd15341c6498c0e73e" and "5b7ed2f3e59661ba2193336b809087a7a999cd8a" have entirely different histories.

2 changed files with 24 additions and 24 deletions

View File

@ -44,21 +44,18 @@ ENUMIDS_TILETYPE_MAPPING = {
'Urchin': 25, 'Urchin': 25,
} }
REC_DRAW_FUNCTION = lambda ctx,x,y,s,c : ctx.rectangle(((x,y), (x+s-1, y+s-1)), c) REC_DRAW_FUNCTION = lambda ctx,x,y,s,c : ctx.rectangle(((x,y), (x+s, y+s)), c)
UPHALFREC_DRAW_FUNCTION = lambda ctx,x,y,s,c : ctx.rectangle(((x,y), (x+s-1, y+s//2-1)), c) HALFREC_DRAW_FUNCTION = lambda ctx,x,y,s,c : ctx.rectangle(((x,y), (x+s, y+s//2)), c)
DOWNHALFREC_DRAW_FUNCTION = lambda ctx,x,y,s,c : ctx.rectangle(((x, y+s//2), (x+s-1,y+s-1)), c)
LEFTHALFREC_DRAW_FUNCTION = lambda ctx,x,y,s,c : ctx.rectangle(((x,y), (x+s//2-1, y+s-1)), c)
RIGHTHALFREC_DRAW_FUNCTION = lambda ctx,x,y,s,c : ctx.rectangle(((x+s//2,y), (x+s-1, y+s-1)), c)
CIRCLE_DRAW_FUNCTION = lambda ctx,x,y,s,c : ctx.circle((x+s//2, y+s//2), s//2, c) CIRCLE_DRAW_FUNCTION = lambda ctx,x,y,s,c : ctx.circle((x+s//2, y+s//2), s//2, c)
TILETYPE_SHAPE_MAP = { TILETYPE_SHAPE_MAP = {
'Solid': (REC_DRAW_FUNCTION, (0,0,0,255)), 'Solid': (REC_DRAW_FUNCTION, (0,0,0,255)),
'WoodenPlat': (UPHALFREC_DRAW_FUNCTION, (128,64,0,255)), 'WoodenPlat': (HALFREC_DRAW_FUNCTION, (128,64,0,255)),
'Ladder': (REC_DRAW_FUNCTION, (214,141,64,255)), 'Ladder': (REC_DRAW_FUNCTION, (214,141,64,255)),
'LSpike': (LEFTHALFREC_DRAW_FUNCTION, (239,79,81,255)), #'LSpike': 4,
'RSpike': (RIGHTHALFREC_DRAW_FUNCTION, (239,79,81,255)), #'RSpike': 5,
'USpike': (UPHALFREC_DRAW_FUNCTION, (239,79,81,255)), 'USpike': (HALFREC_DRAW_FUNCTION, (64,0,0,255)),
'DSpike': (DOWNHALFREC_DRAW_FUNCTION, (239,79,81,255)), #'DSpike': 7,
'EmptyWCrate': (REC_DRAW_FUNCTION, (160,117,48,255)), 'EmptyWCrate': (REC_DRAW_FUNCTION, (160,117,48,255)),
#'LArrowWCrate': 9, #'LArrowWCrate': 9,
#'RArrowWCrate': 10, #'RArrowWCrate': 10,
@ -73,6 +70,7 @@ TILETYPE_SHAPE_MAP = {
#'BombMCrate': 19, #'BombMCrate': 19,
'Boulder': (CIRCLE_DRAW_FUNCTION, (45,45,45,255)), 'Boulder': (CIRCLE_DRAW_FUNCTION, (45,45,45,255)),
#'Runner': 21, #'Runner': 21,
#'Player': 22,
'Player': (REC_DRAW_FUNCTION, (255,0,255,255)), 'Player': (REC_DRAW_FUNCTION, (255,0,255,255)),
'Chest': (REC_DRAW_FUNCTION, (255,255,0,255)), 'Chest': (REC_DRAW_FUNCTION, (255,255,0,255)),
'Exit': (REC_DRAW_FUNCTION, (0,255,0,255)), 'Exit': (REC_DRAW_FUNCTION, (0,255,0,255)),
@ -126,7 +124,7 @@ converted_filename = '.'.join(fileparts)
TILE_SIZE = 8 TILE_SIZE = 8
# Each level should be packed as: [width, 2 bytes][height, 2 bytes][tile_type,entity,water,padding 1,1,1,1 bytes][tile_type,entity,water,padding 1,1,1,1 bytes]... # Each level should be packed as: [width, 2 bytes][height, 2 bytes][tile_type,entity,water,padding 1,1,1,1 bytes][tile_type,entity,water,padding 1,1,1,1 bytes]...
# Then loop the levels. Read the layerIndstances # Then loop the levels. Read the layerIndstances
for level in all_levels[17:18]: for level in all_levels[3:4]:
n_chests : int = 0 n_chests : int = 0
# Search for __identifier for the level layout # Search for __identifier for the level layout
level_name = "" level_name = ""
@ -173,8 +171,7 @@ for level in all_levels[17:18]:
else: else:
print(ids_tiletype_map[tile["t"]], "is not mapped"); print(ids_tiletype_map[tile["t"]], "is not mapped");
except Exception as e: except Exception as e:
print("Error on tile", x, y) print("Error on tile", i, x, y)
render_ctx.circle((x,y), 2,(255,0,0,255))
print(e) print(e)
lvl_render.show() lvl_render.show()
#for i, water_level in enumerate(water_layout["intGridCsv"]): #for i, water_level in enumerate(water_layout["intGridCsv"]):
@ -195,6 +192,9 @@ for level in all_levels[17:18]:
# tiles_info[y*width + x][0] += spd_encoding # tiles_info[y*width + x][0] += spd_encoding
break
#for y in range(height): #for y in range(height):
# for x in range(width): # for x in range(width):
# print(tiles_info[y*width + x], end=" ") # print(tiles_info[y*width + x], end=" ")

View File

@ -322,20 +322,20 @@ void change_a_tile(TileGrid_t* tilemap, unsigned int tile_idx, TileType_t new_ty
break; break;
case LADDER: case LADDER:
{ {
//int up_tile = tile_idx - tilemap->width; int up_tile = tile_idx - tilemap->width;
//if (up_tile > 0 && tilemap->tiles[up_tile].tile_type != LADDER) if (up_tile > 0 && tilemap->tiles[up_tile].tile_type != LADDER)
//{ {
// tilemap->tiles[tile_idx].solid = ONE_WAY; tilemap->tiles[tile_idx].solid = ONE_WAY;
//} }
//else else
{ {
tilemap->tiles[tile_idx].solid = NOT_SOLID; tilemap->tiles[tile_idx].solid = NOT_SOLID;
} }
//unsigned int down_tile = tile_idx + tilemap->width; unsigned int down_tile = tile_idx + tilemap->width;
//if (down_tile < tilemap->n_tiles && tilemap->tiles[down_tile].tile_type == LADDER) if (down_tile < tilemap->n_tiles && tilemap->tiles[down_tile].tile_type == LADDER)
//{ {
// tilemap->tiles[down_tile].solid = (tilemap->tiles[tile_idx].tile_type != LADDER)? ONE_WAY : NOT_SOLID; tilemap->tiles[down_tile].solid = (tilemap->tiles[tile_idx].tile_type != LADDER)? ONE_WAY : NOT_SOLID;
//} }
} }
break; break;
case SPIKES: case SPIKES: