I can't believe I didn't know what this is until now.
gamedev
Replaced the wood tiles with charcoal colored ones. Wood didn't look good mixed with the metal-like walls.
I've also changed the tile format for the levels. 1st digit is the tile type, while the 2nd digit is the tile that appears on screen. It broke compatibility with my level files, obviously, but it's worth it because now the tile maps are readable.
Also, the first level you see in this video was just some sample output generated from a procedural generated cave algorithm on the roguebasin wiki. I just converted it to my level format. It kind of looks without a cave tileset though.
gamedev
Door now has a sound effect.
I've also realized that the way I'm storing assets in RAM is inefficient (I've actually knew that since the beginning but I haven't bothered to fixed it). I need to implement an asset manager class and have each object store pointers to said assets. Right now, each object stores entire textures/sounds when they should be storing pointers instead.
gamedev
Enemies are no longer hard coded into the map. They are now loaded from the map file. Ignore the enemy placement. It moved before I could take the screenshot. (My screenshot utility is probably delayed)
The first two numbers defined the level width and height.
The block of numbers are the tiles.
Everything after that are objects. They are listed by object type and then the x and y coordinates.