Language…
19 users online: Alex No,  AmperSam,  Anorakun, Big Brawler, GiraffeKiller, Green, h.carrell, Hammerer, JikissGamer, LadiesMan217, MaffYuu, Mecke1990, Metal-Yoshi94, Ray Hamilton,  Segment1Zone2,  StayAtHomeStegosaurus, steelsburg, Tulip Time Scholarship Games, Zatara - Guests: 303 - Bots: 476
Users: 64,795 (2,369 active)
Latest user: mathew

How to edit Iggy/Larry platform tilemap and palette?

So there are already tools by Smallhacker for this purpose, but for some reason I can't open them on my Win11 computer. Probably it's because they're nearly two decades old with no updates whatsoever. So I wanted to ask: how can I do this manually? Anything I can hex-edit or something? Yoshifanatic actually disassembled the things I need in the form of palette and .bin files, but where do I start from here? The benefit here is that if I port all of my stuff to a new ROM, I won't have to redo everything from scratch. Any help appreciated!
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Actually, spooonsss helped me with that. He just told me to go to 'Turn Windows feature on or off/Legacy Components' and turn the 'DirectPlay' checkbox on and it worked.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Thanks to Yoshifanatic for the necessary info, I found out how to successfully hex edit the platform palette! This is what I did:

Code
org $00B65E
db $DD,$7F
db $00,$00
db $C9,$08
db $4E,$19
db $D3,$29
db $78,$3E
db $1D,$53


The values here are supposed to be the vanilla ghost house FG palette. Each row consisting of a 'db' and two values dictate the SNES RGB value of each color of the platform, which can be seen by hovering over the color in LM's palette editor. However, the two values are interchanged, so if your color is, for example, 0x001F, the '1F' must be the first value in each row and '00' the second value. Hope this helps! I've yet to figure out how to manually edit the tilemap.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Luckily I managed to figure out the how to hex-edit the actual tilemap as well as the individual 8x8 tiles making up each 16x16 tiles. Basically, the tilemap is stored in this table:

Code
org $03D7EC	                      
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$15,$16,$1A,$00,$00,$00,$00,$00,$00,$15,$16,$1A,$00,$00
db $00,$00,$00,$03,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00,$00,$00
db $00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00
db $00,$00,$15,$16,$16,$16,$1A,$00,$00,$15,$16,$16,$16,$1A,$00,$00
db $00,$00,$00,$00,$03,$00,$00,$00,$00,$00,$00,$03,$00,$00,$00,$00
db $00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00
db $00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00
db $00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00
db $00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00
db $00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00
db $00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00
db $00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00
db $00,$00,$00,$00,$04,$00,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00


This table is a 256-byte table. Each byte corresponds to the tiles you 'place' (more like hex-edit) in the tilemap. Editing the tilemap with Smallhacker's tool is not a good idea nowadays (expect for illustrating what you edited) because otherwise there's no means to easily port your edits to a new ROM and you are forced to redo it from scratch.

Important Notes:

- You shouldn't put any interactive tiles (i.e., tiles 0x15-0x1A) anywhere above the fourth line in the table, otherwise the player will glitch to death upon touching it at certain angles.

- Make sure the player can't run at full speed from running, otherwise if he lands on the interactive tiles in this condition, he may 'skip' on the tiles, which once again could be fatal.

- Make sure to turn off sprite buoyancy, otherwise, regular sprites will sink in thin air at a certain Y-position.

- For some reason, certain sprites such as the YI eggplant sprite and d^4's pipe spawner will not work.

- If a platform sprite is placed in the level, the player cannot stand on it properly and instead they'll randomly teleport somewhere within the arena, potentially dying. I'm guessing this is because of the Iggy platform collision code.

Now, on to the next table:

Code
org $03D8EE                       
db $FF,$FF
db $FF,$FF,$24,$34
db $25,$0B,$26,$36
db $00,$10,$01,$11
db $10,$10,$11,$11
db $29,$39,$2A,$3A
db $2B,$3B,$26,$38
db $20,$30,$21,$31
db $27,$37,$28,$38
db $FF,$FF,$22,$32
db $0E,$33,$0C,$1C
db $0D,$1D,$0E,$3C
db $2D,$3D,$FF,$FF
db $07,$17,$0E,$23
db $0E,$04,$0C,$1C
db $0D,$1D,$0E,$09
db $0E,$2C,$0A,$1A
db $FF,$FF,$24,$34
db $2B,$3B,$FF,$FF
db $07,$17,$0E,$18
db $0E,$19,$0A,$1A
db $02,$12,$03,$13
db $02,$13,$03,$13
db $03,$05,$03,$14
db $03,$15,$03,$05
db $03,$05,$03,$08
db $02,$13,$0F,$1F


This table dictates the 8x8 tiles making up each 16x16 tile. The first line of the this table is actually for the blank 16x16 tile in the tilemap, and it's best not to touch that. The other lines following have 4 bytes each, corresponding to the 8x8 tiles for each 16x16 tile. Obviously, the values for the tiles correspond to their locations in GFX27, so you should open it with Graphic Editor and check there.

Now, I already edited the tables for my needs, which should yield something like this:



The graphics are here: https://bin.smwcentral.net/u/25222/GFX27.bin

Again, the graphics themselves are best edited with Graphics Editor. Hope I helped with this for those who are curious about this.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!