Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
I'm sorry guys but I am a little lost when it comes to ICE tilemaps. Could somebody please give me a step by step on how to use TileMapE to implement a one? (I don't have the access to a computer to use the regular ConvPNG meathod)
johnbchron wrote:
I'm sorry guys but I am a little lost when it comes to ICE tilemaps. Could somebody please give me a step by step on how to use TileMapE to implement a one? (I don't have the access to a computer to use the regular ConvPNG meathod)


TileMapE is used for creating tilemaps and tilesets, on calc.
I am going to release a new version soon, with many bugfixes.

I don't really understand how to use a tilemap either, so I made my own routines.

Code:

0->X->XP->Y->YP
Repeat Y=16
ScaledSprite_NoClip({SPRITES+*{TILEMAP+X+Y*16}*3},XP,YP,2,2
XP+16->XP
X+1->X
If X=16
0->X->XP
Y+1->Y
YP+16->YP
End
End

This would display an 8x8 tilemap of 8x8 tiles, where the tiles are scaled up to 16x16.
SPRITES is a list of pointers:

Code:

Open(SPRITEFILE,"r->D
GetDataPtr(D->PTR
PTR+GetSize(D->MAXPTR
Close(D
Alloc(768->SPRITES
Repeat PTR>=MAXPTR
PTR->{SPRITES
PTR+66->PTR
End

Where SPRITEFILE is the name of the file exported tileset from TileMapE.

TILEMAP points to a tilemap:

Code:

Open(TILEMAPFILE,"r->D
GetDataPtr(D->PTR
PTR+GetSize(D->MAXPTR
Close(D
Repeat {P}=POS or P>=MAXPTR
P+259->P
End
If {P}=POS
P->TILEMAP
Else
0->TILEMAP
End

Where TILEMAPFILE is the name of a tilemap exported from TileMapE.
POS is the position of the tilemap you want to load.
If TILEMAP=0, tilemap does not exist.
A tilemap is basically a 2 dimmensional array of bytes, which represent tile numbers.

If you have any further questions don't hesitate to ask Smile

Please read the README, which should be included with the program Wink
Thank you for downloading TileMapE! Very Happy It took me quite some time to get it to work fully Razz
beckadamtheinventor wrote:
johnbchron wrote:
I'm sorry guys but I am a little lost when it comes to ICE tilemaps. Could somebody please give me a step by step on how to use TileMapE to implement a one? (I don't have the access to a computer to use the regular ConvPNG meathod)


TileMapE is used for creating tilemaps and tilesets, on calc.
I am going to release a new version soon, with many bugfixes.

I don't really understand how to use a tilemap either, so I made my own routines.

Code:

0->X->XP->Y->YP
Repeat Y=16
ScaledSprite_NoClip({SPRITES+*{TILEMAP+X+Y*16}*3},XP,YP,2,2
XP+16->XP
X+1->X
If X=16
0->X->XP
Y+1->Y
YP+16->YP
End
End

This would display an 8x8 tilemap of 8x8 tiles, where the tiles are scaled up to 16x16.
SPRITES is a list of pointers:

Code:

Open(SPRITEFILE,"r->D
GetDataPtr(D->PTR
PTR+GetSize(D->MAXPTR
Close(D
Alloc(768->SPRITES
Repeat PTR>=MAXPTR
PTR->{SPRITES
PTR+66->PTR
End

Where SPRITEFILE is the name of the file exported tileset from TileMapE.

TILEMAP points to a tilemap:

Code:

Open(TILEMAPFILE,"r->D
GetDataPtr(D->PTR
PTR+GetSize(D->MAXPTR
Close(D
Repeat {P}=POS or P>=MAXPTR
P+259->P
End
If {P}=POS
P->TILEMAP
Else
0->TILEMAP
End

Where TILEMAPFILE is the name of a tilemap exported from TileMapE.
POS is the position of the tilemap you want to load.
If TILEMAP=0, tilemap does not exist.
A tilemap is basically a 2 dimmensional array of bytes, which represent tile numbers.

If you have any further questions don't hesitate to ask Smile

Please read the README, which should be included with the program Wink
Thank you for downloading TileMapE! Very Happy It took me quite some time to get it to work fully Razz

This is not the right way to solve things you don't understand. ICE literally does all of this normally, there is an example program in the download, there's a wiki (which covers tilemaps as well) and I'm often online to answer questions.
Unfortunately TileMapE is not compatible with the output of the normal ICE tools. Use it at your own risk Razz
I would really like to see a 2d minecraft on my ti 84 ce. I'm trying to figure out how exactly I could use a tilemap so I can make a 2d minecraft in ice. I plan to have 16*16 blocks, a 172 long by 142 tall world, but so far I cannot figure it out
MateoConLechuga wrote:
Unfortunately TileMapE is not compatible with the output of the normal ICE tools. Use it at your own risk Razz


Unfortunately TileMapE is incomplete
It was designed to be entirely on-calc, which can be a godsend for people without frequent access to the internet or computers. Wink

The tilemaps are not, but the sprite sets are. Also, my tilmap storage method works perfectly fine IMHO.
Press the [del] key when editing tiles to export the tileset as an appvar.
Exported sprite data:
X, Y,
X*Y bytes sprite data
...
In ICE, you can load the sprites just like you would any other sprite appvar iirc, unless the toolchain appvars are written with a header, in which case I will add it in a future release of this engine.

TileMapE exported tilemaps have a 3b map number. I named the bytes of this x,y, and z inside the editor, but they can really be anything.
Exported tilemap data:
X,Y,Z,
N bytes
...
However, do note that the tilemap appvar structure requires all of the tilemaps contained in it to be the same size, and for the user program to know this size.

Searching for a map: (ICE code)

Code:

0->T
If {P}!=POS
Repeat {P}=POS
ReturnIf not(L
ReturnIf L>=|E800000
P+67->P
L-67->L
End
End
P+3->T

Inputs:
P is file data pointer
L is file length
Outputs:
T is map pointer, or zero if map is not found.

This program literally makes designing [just about] any game requiring a tilemap and tileset a whole heck of a lot easier


Also:
Do you have a quarrel with my programs or programming style Mateo?
I've poured thousands of hours of on-calc programming, on various projects, and I do not intend to appear like I am not when I am trying my best on things like this. I am doing my best to learn as much as I can, when I am able to. Due to circumstance, I have a lot less time to access computers, and the internet than the average person my age.

I just don't like having to ask, 'cause often when I need help on this kind of stuff, I am unable to seek it, due to personal matters.

So please, enlighten me what I did wrong, considering my lack of knowledge and access, which IMHO I have more than enough compensated for with willpower and alone time.


However this vent does not mean that I am not greatful. Your knowledge of these matters are of the irreplaceable kind.
Thank you for your patience with those of us that need that knowledge.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement