Thanks. These kind of answers, along with the continuous begging is why I never really cared about this section. I though maybe it got better since 2007, but apparently not.
Don't mind him, he's just a kal .gb model guy.
About KSM, I can speak about it, since few days ago I implemented more or less safezones for emu.
I couldn't find any resources aswell, all I had was compiled Kal World Editor that can draw KSM zones.
First thing I did, was looking up .ksm hex:
So I found out each cell might be represented by 4 bytes.
I've made small program to read these bytes and draw it and ensure I'm right:
So now, what each byte in 4 byte cell description mean?
I tried to draw each zone in KWE, save and look up .ksm hex.
It appears that first 2 bytes are either 0x00 0x00 or 0xFF 0xFF and very rarely something in between.
0x00 0x00 stands for KWE green zone (free for mobs) and anything higher than it safezone.
Next 2 bytes (WORD) is "sub zone":
Code:
#define ZONE_ONEWAY_PORTAL 0x01
#define ZONE_TWOWAY_PORTAL 0x02
#define ZONE_PK_FREE 0x04
#define ZONE_TOWN (ZONE_TWOWAY_PORTAL | ZONE_PK_FREE)
#define ZONE_CASTLE 0x10
To get right cell using raw .ksm byte array having player/monster X & Y you can refer to my emulator source:
You must be registered to see links