Staredit Network > Forums > SC1 Terrain > Topic: ISOM?
Oct 31 2013, 1:41 pm
By: trgk  

Oct 31 2013, 1:41 pm trgk Post #1

This is incomplete work. Will be updated.

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.

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.


Oct 31 2013, 3:01 pm jjf28 Post #2

Cartography Artisan

Nice to see someone else is interested in this as well :)

SI confirms that the dat files are used in ISOM or ISOM to TILE calculations, so we're prolly going to need this: CV5 documentation.

I've attached a copy of some images SI used during his attempts at understanding ISOM (AFAIK they were unsuccessful in completely capturing the algorithms so feel free to ignore).

There's a lot of discussion here: -- VanMirken claims to have solved it (in another thread), but I cannot get in contact with him.

Here's how you take an MTXM value ("TileValue") and get its CV5 ref:

cv5Reference = group*52

        where:  group = mtxmValue / 16  = high 12 bits
                tile  = mtxmValue & 0xF = low 4 bits (used to get VF4 and VX4 refs)

I haven't started to work on figuring out ISOM / ISOM to TILE myself yet but i'll probably join you at some point.

Hits: 7 Size: 2930.33kb

Post has been edited 2 time(s), last time on Oct 31 2013, 3:44 pm by jjf28.

Rs_yes-im4real - Clan Aura -

Reached the top of StarCraft theory crafting 2:12 AM CST, August 2nd, 2014.

Jan 2 2014, 2:28 pm trgk Post #3

Thanks to SPA (Not member of SEN I think) for 'finding' this prj.
+ Thanks to the author, whom I don't know much about yet.

Isom code section analysis, maybe.
It's comment are written in chinese.

Post has been edited 1 time(s), last time on Jan 2 2014, 2:31 pm by trgk. Reason: Slight grammer fix


Oct 15 2014, 12:56 am trgk Post #4

Google translated version of isomap.c

Hits: 3 Size: 80.32kb

Post has been edited 1 time(s), last time on Oct 15 2014, 1:03 am by trgk.


  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[07:41 am]
Black_Overseer -- so cool
[07:41 am]
Black_Overseer -- remind me brood war beta.
[03:01 am]
Corbo -- That was just a photshop. About to implement it right now
[03:00 am]
Corbo -- No, i took them from scmdraft lmao, just copypasted a single one
[12:45 am]
Pr0nogo -- and yes imo the second image looks better
[12:43 am]
Pr0nogo -- that does seem pretty useful, but thinking about it geographically, the layer before would have to replace the low dirt
[12:42 am]
Pr0nogo -- did you take those cliffs from the shitty stack blend lmao
[11:55 pm]
Corbo -- which probably looks better xD
[11:55 pm]
Corbo -- alternatively white:
[11:46 pm]
Corbo -- like foggy, not able to see the bottom kind of high. Those doodads are gonna parallax. to give the 3d ness of the height because fuck yeah
Please log in to shout.

Members Online: Roy, yzazahu, kevinjonespro