There should be something known about ISOM i think...
just that they are not published. So I decided to work on ISOM myself.
( I needed them in my project... )
current status.
Image
I just want to decode the numbers, and hash these isom 'diamond values' to tile.
Found :
1. ISOM length = (w/2+1) * (h+1) * 4 * 2byte
each 2*1 tiles has 4 word(ISOM values)
(see the picture for example. there's each one more tile
at right and the bottom) (known)
2. isom block (associated with each 2*1 dominos) has
4 words. These words are placed at the
Left, Up, Right, and Down
position in the domino. (see pic.)
3. Red text are TILE value. Black & White texts are
ISOM value. I've temporailly painted isom hex>=0x80 as white to indicate
border values, (not exact. some isom values have incorrect textcolor. ex)platform)
4. Horizontal/Vertical lines are normal gridsz (64px * 64px. Entire scene
are magnified by 2.) Diagonal lines are isometric grid.
5. Every isom value in the same isometric grid has same msb 12bit.
6. Every tile in 2*1 domino(seperated by white axis-parallel grids)
are different just by 0010h.
7. Each domino is an intersection of two diamonds. Only two diamond
intersecting with the domino has an effect to its value.
8. I've not yet looked into relationship with ISOM and TILE, but
- LSB 4 bits of ISOM and LSB 5 bits of TILE can be ignored. Think it as of random data.
- Maybe there might be some precedence between different tile types. dirt > water, grass and
asphalt < dirt. dirt = high dirt, and so on?
- I'm thinking that there should be some 'hash' function for ISOM-> TILE conversion, but
there's still a possibility that ISOM and TILE are just mapped with some table...
(Any programmer capable of generating my pic will be able to create their own ISOM-aware tile editor.)
( with some labor for such table... now)
(There should be some 'hash' I think... but I haven't found one.)
Expecting some replies and research of ISOM value.
This (currently) seems too easy for being 'a true unknown section of the .chk format', as mentioned here.
Works left :
1. Relationship between non-border isom values and isom values.
2. Some kind of magic to convert isom to tile.
3. Some kind of black magic to convert tile to isom.
sorry for bad english. It should be readable, however.
And please share any works derived from/ had idea from this post.
ISOM should be considered imperfect. We should designed some kind of ISOx(?) to make
- low and high cliff should merge when I want them to.
- axis-oriented cliffs. They are already available by custom tiles, but it should be better for them to be integrated into map editor.
- infinite cliff / ramp / bridge should be supported.
Post has been edited 2 time(s), last time on Nov 1 2013, 2:32 am by trgk.
EUD