This is the structure of the game graphics.

If you are going to redraw the tile set, make sure to not change any tile graphical meaning.
How the tile set is sort, is strategically for fast coding, can't be changed.

Only some notes:

-----------------------------------------------------------------------------------------

StandUpFloor is a floor that can hold up characters if them are fully avobe of it,
characters can jump through it, but not falling from it.

-----------------------------------------------------------------------------------------

This part is not important, except, if you are redrawing everything.

BitCodedWalls are tiles, which each quarter of it can be WALL or not WALL about map navigation.

which quarter is wall or not, it is tile number bit coded encoded.

The encoding is: A = tile number - 320.

Where A =  tile number - 320.

A bits
  7  6  5  4  3  2  1  0
-------------------------
-  -dr-dl-ur-ul- p- p- p-
-------------------------

ul = up left quarter.
ur = up right quarter.
dl = down left quarter.
dr = down right quarter.

bit = 0 no wall. = 1 wall.

where = ppp = is a graphical pattern, so we can draw 8 version of each wall structure.

-----------------------------------------------------------------------------------------

The keyed doors are two tiles height, the upper tile can be rock or briks,
when the door is open, the code change the tiles numbers to the graphical door opened,

which is the same tiles for any door color, so graphically it shows a total black where the door was.
But there is two versions of it, with the upper tile framed in rocks, or in bricks.

So, graphically the game code will do it match what the original door was (framed in bricks or in rocks).

When opened it use to show the tile number 448 if rock, or 449 if bricks.

	.UpDoorOpen_BaseAddress:	EQU 448				; Even = rock, odd = bricks.

The original door upper tile, goes from tile 450 up to 463. If tile number EVEN = graphically framed in rocks, if tile number ODD = graphically framed in bricks.

	.UpDoor_StartAddress:		EQU 450				; Even = rock, odd = bricks.
	.UpDoor_StopAddress:		EQU 464

Note that we are talking about the upper tile of a door, it is not the tile of the door itself.



The doors itself are in tiles number 464 up to 471,
and is the same tile graphics for both frames style,
as the door is about all the tile pattern graphically talking,
is not require to distinguish door framing.

	.Door_StartAddress:		EQU 464
	.Door_StopAddress:		EQU 471

When opened, the game code will change it to:

	.DoorOpenTile_Address:		EQU 255



The door colors is sorted in a given way, can't be changed.

This given color sort match with the keys color sort, and with the door upper tile color sort.

	.Keys_StartAddress:		EQU 42
	.Keys_StopAddress:		EQU 56

----------------------------------------------------------------------------------

The game support transportation belts, that moves characters to the right, or to the left.

Is supported up to 4 tile patterns for a belt that move characters to the left.
and 4 tile patterns for a belt that move characters to the right.

When a character is stand up on this tiles, it will be transported.

But, the transportation belt don't animate graphically by itself.
During the map edition, attributes CODE 6000 must be set on each "belt" tile in the map.



	.BeltTransportLeft_StartAddress:	EQU	496
	.BeltTransportLeft_StopAddress:		EQU	500
	.BeltTransportRight_StartAddress:	EQU	500
	.BeltTransportRight_StopAddress:	EQU	504


--------------------------------------------------------------------------------









STRUCTURE
---------






            MEANING                     TILE NUMBER
--------------------------------------------------------------

TileMap:
	.Items_StartAddress:		EQU 0
	.Fruits_StartAddress:		EQU 0
	.Fruits_StopAddress:		EQU 26
	.Fruits_Count:			EQU 13
	.Bonus_Address:			EQU 26
	.Gold_Address:			EQU 28
	.Weapons_StartAddress:		EQU 30
	.Weapons_StopAddress:		EQU 40
	.Potion_Address:		EQU 40
	.Keys_StartAddress:		EQU 42
	.Keys_StopAddress:		EQU 56
	.Shoes_StartAddress:		EQU 56
	.Shoes_StopAddress:		EQU 62
	.Armour_StartAddress:		EQU 62
	.Armour_StopAddress:		EQU 68
	.HandWeapon_StartAddress:	EQU 68
	.HandWeapon_Dagger:		EQU 68
	.HandWeapon_Axe:		EQU 70
	.HandWeapon_Knife:		EQU 72
	.HandWeapon_RamboKnife:		EQU 74
	.HandWeapon_Sword:		EQU 76
	.HandWeapon_StopAddress:	EQU 78
	.Helmet_StartAddress:		EQU 78
	.Helmet_StopAddress:		EQU 84
	.Cocktail_Address:		EQU 84
	.Jim_Address:			EQU 86
	.Vodka_Address:			EQU 88
	.Beer_Address:			EQU 90



	.Coin_Address:			EQU 94
	.Items_StopAddress:		EQU 96

	.KillTiles_StartAddress:	EQU 96
	.KillNeddles_StartAddress:	EQU 96
	.KillNeddlesDownBlack_Address:	EQU 98
	.KillNeddlesDownBlue_Address:	EQU 102
	.KillNeddles_StopAddress:	EQU 104
	.KillLava_StartAddress:		EQU 104
	.KillLava_StopAddress:		EQU 112
	.KillTiles_StopAddress:		EQU 128

	.Scenography_StartAddress:	EQU 128
	.DoorOpenTile_Address:		EQU 255
	.Scenography_StopAddress:	EQU 288

	.ClimbableLadder_StartAddress:	EQU 288
	.ClimbableLadder_StopAddress:	EQU 304

	.StandUpFloor_StartAddress:	EQU 304
	.StandUpFloor_StopAddress:	EQU 320

	.BitCodedWalls_BaseAddress:	EQU 320

	.BlackBackgroundTile_Address:	EQU 320
	.BlueBackgroundTile_Address:	EQU 324

	.SolidWalls_StartAddress:	EQU 448

	.UpDoorOpen_BaseAddress:	EQU 448				; Even = rock, odd = bricks.
	.UpDoor_StartAddress:		EQU 450				; Even = rock, odd = bricks.
	.UpDoor_StopAddress:		EQU 464
	.Door_StartAddress:		EQU 464
	.Door_StopAddress:		EQU 471

	.BeltTransportLeft_StartAddress:	EQU	496
	.BeltTransportLeft_StopAddress:		EQU	500
	.BeltTransportRight_StartAddress:	EQU	500
	.BeltTransportRight_StopAddress:	EQU	504

	.SolidWalls_StopAddress:	EQU 512