Where do I fix the enemy sheet in hex editor?
Zeldix :: Zelda III Hacking :: Requests
Page 1 of 1
Where do I fix the enemy sheet in hex editor?
Where in the hex editor do I change what sheet the triceratops use? What value do I set it to?
Devan2002- Since : 2017-10-30
Re: Where do I fix the enemy sheet in hex editor?
Triceritops is using EnemyBlk number 25, and the initial PAL for them is 6, but you can change the Pal. This can be changed directly in Hyrule Magic.
Puzzledude- Since : 2012-06-20
Re: Where do I fix the enemy sheet in hex editor?
The problem is that this is being done on a randomizer rom (JP 1.0), so HM is unable to change it. This is why I asked where it could be changed via a hex editor. Also, the palette change is intended (because the triceratops is graphically changed to be Pac-Man as a joke (even if he shoots fireballs)).
Devan2002- Since : 2017-10-30
Re: Where do I fix the enemy sheet in hex editor?
So the little message which shows the addresses of where each sprite is at $0E20?
Devan2002- Since : 2017-10-30
Re: Where do I fix the enemy sheet in hex editor?
I'm not sure what you want to achieve. This is a tutorial how to manually give a sprite a specific palette without hm
Conn- Since : 2013-06-30
Re: Where do I fix the enemy sheet in hex editor?
I'm attempting to fix the triceratops so they display the correct graphics, right now they're using the wrong sprite sheet.
Devan2002- Since : 2017-10-30
Re: Where do I fix the enemy sheet in hex editor?
Yes, unfortunately this is not an easy task with the JP rom. First you need to know the exact indoor room or overworld area, where you want this to be edited.
Assuming it is the indoor room 20 for instance.
Now you find the primary pointer for the indoor-room-header.
Code should be in close proximity to US version, at 00B5DC, and the pointer will start with BF, thus something like BF, 02 F5 04, 85 0D, where
02 F5 04 is the address 02F504 in SNES or 27502 in HEX. JP should have this address in proximity of the US one.
Here are the secondary pointers. Then you have 2 byte pointers. So for room 20 the two pointers are room0 +20 rooms is 21x2= 42th pair.
*Pointer read is (example):
82 F7 = F7 82 = 04 F7 82 (snes) = 27782 (hex)
So this is the location for room-header for room 20.
Now you need to focus on 2nd byte from this address on, which is PAL setting for the room, and 4th byte, which is enemyBLK for this room. Set the second byte to dec06= hex 06 (is pal for triceratops) and the 4th byte to dec25= hex 19 (is spriteBLK for triceratops). That's it.
Conn's method on the other hand changes the default PAL for a sprite, which is adifferent thing, bacisally making triceratops blue for instance, while still having the same enemyBLK value.
Assuming it is the indoor room 20 for instance.
Now you find the primary pointer for the indoor-room-header.
Code should be in close proximity to US version, at 00B5DC, and the pointer will start with BF, thus something like BF, 02 F5 04, 85 0D, where
02 F5 04 is the address 02F504 in SNES or 27502 in HEX. JP should have this address in proximity of the US one.
Here are the secondary pointers. Then you have 2 byte pointers. So for room 20 the two pointers are room0 +20 rooms is 21x2= 42th pair.
*Pointer read is (example):
82 F7 = F7 82 = 04 F7 82 (snes) = 27782 (hex)
So this is the location for room-header for room 20.
Now you need to focus on 2nd byte from this address on, which is PAL setting for the room, and 4th byte, which is enemyBLK for this room. Set the second byte to dec06= hex 06 (is pal for triceratops) and the 4th byte to dec25= hex 19 (is spriteBLK for triceratops). That's it.
Conn's method on the other hand changes the default PAL for a sprite, which is adifferent thing, bacisally making triceratops blue for instance, while still having the same enemyBLK value.
Puzzledude- Since : 2012-06-20
Re: Where do I fix the enemy sheet in hex editor?
Ok, tested this for JP version for you:
JP version is:
primary pointer at
(same location)
00B5DC
BF 42 F0 04
so sec pointers at (different from US):
027042
room20 (for instance) is
71 F3 = 04 F3 71= 027371
next room is 78 F3= 027378
room code is
20 18 0D 26 00 00 00
where 18 is PAL and 26 is enemy BLK
---------
try room 85 to test it (meet uncle room)
A2 F5 (next is A9 F5)
0275A2, but 0275A9 is next room, so 7 bytes
code is
01 01 10 0D 00 00 00
change to
01 06 10 19 00 00 00
now this room is compatible with the triceratops sprite
Testing: (works)
JP version is:
primary pointer at
(same location)
00B5DC
BF 42 F0 04
so sec pointers at (different from US):
027042
room20 (for instance) is
71 F3 = 04 F3 71= 027371
next room is 78 F3= 027378
room code is
20 18 0D 26 00 00 00
where 18 is PAL and 26 is enemy BLK
---------
try room 85 to test it (meet uncle room)
A2 F5 (next is A9 F5)
0275A2, but 0275A9 is next room, so 7 bytes
code is
01 01 10 0D 00 00 00
change to
01 06 10 19 00 00 00
now this room is compatible with the triceratops sprite
Testing: (works)
Puzzledude- Since : 2012-06-20
Re: Where do I fix the enemy sheet in hex editor?
I'm not just wanting this for one room, I want it for all rooms that have a triceratops in it (Tower of Hera main floor and big chest floor and Palace of Darkness dark maze room). I don't know if the message(s) above involve changing which of the 4 loaded sheets for an enemy will be used (because the triceratops is using the special effects sheet instead of the normal one it uses in the base game).
Sheet that all the triceratops are using (wrong one):
Sheet I want all triceratop sprites to use (right one):
tl;dr I'm trying to change the sprite itself, not the room header in any sort of way.
Sheet that all the triceratops are using (wrong one):
Sheet I want all triceratop sprites to use (right one):
tl;dr I'm trying to change the sprite itself, not the room header in any sort of way.
Devan2002- Since : 2017-10-30
Re: Where do I fix the enemy sheet in hex editor?
Your main problem is that you want to change something, which is not even documented on US version, probably on some rando modified JP rom.
Triceratops already uses the correct sheet by default in US version and this is not anyone would ever want to change (and it can not be changed using HM, since HM can only change overworld sprite graphic schemes and some main BLKs).
I now know what you want to do, but this is not documented, specially not for some custom JP rom. The values of gfx sets loaded (in groups of 4) to then form an EnemyBLK (or other BLK) values (numbers) is not a subject to change, and should remain the same as it was in the original game.
Triceratops already uses the correct sheet by default in US version and this is not anyone would ever want to change (and it can not be changed using HM, since HM can only change overworld sprite graphic schemes and some main BLKs).
I now know what you want to do, but this is not documented, specially not for some custom JP rom. The values of gfx sets loaded (in groups of 4) to then form an EnemyBLK (or other BLK) values (numbers) is not a subject to change, and should remain the same as it was in the original game.
Puzzledude- Since : 2012-06-20
Re: Where do I fix the enemy sheet in hex editor?
Oh my god, I found the address:
$06B3D/0F (correct value was 1D, incorrect value was 1A)
Though how do I make the triceratops this palette?
Or in case you don't know:
Even when looking at this image, it's not as easy to set it to 1A since that's what caused it to display the wrong sprite sheet:
If I set it to 1B instead, the pac-man gfx (that I manually changed the triceratops to will be a dark yellow instead of a bright yellow).
$06B3D/0F (correct value was 1D, incorrect value was 1A)
Though how do I make the triceratops this palette?
Or in case you don't know:
Even when looking at this image, it's not as easy to set it to 1A since that's what caused it to display the wrong sprite sheet:
If I set it to 1B instead, the pac-man gfx (that I manually changed the triceratops to will be a dark yellow instead of a bright yellow).
Devan2002- Since : 2017-10-30
Re: Where do I fix the enemy sheet in hex editor?
The color palette is 4-parted.
upper half is background,etc. In the lower part, the first 8 colors of the palette are used for monsters, the right part for items.
I never found out how this is coupled, but you can only use the left part for monsters (odd numbers). If you use an even number it gets messed up since it tries to load the right part, which is the offset of an item. - like the one you try to use is preserved for book mudora and such.
You need to repixel your sprite using yychar or snesedit, after decompressing with zcompress, using the global palette you have assigned (e.g. 1b).
If you need to have a better yellow I'll post a tutorial how to change the palette manually,
But then I need an image of the palette you need to change (which color to which color). But be aware, all color changes influence all monsters using this palette
upper half is background,etc. In the lower part, the first 8 colors of the palette are used for monsters, the right part for items.
I never found out how this is coupled, but you can only use the left part for monsters (odd numbers). If you use an even number it gets messed up since it tries to load the right part, which is the offset of an item. - like the one you try to use is preserved for book mudora and such.
You need to repixel your sprite using yychar or snesedit, after decompressing with zcompress, using the global palette you have assigned (e.g. 1b).
If you need to have a better yellow I'll post a tutorial how to change the palette manually,
But then I need an image of the palette you need to change (which color to which color). But be aware, all color changes influence all monsters using this palette
Conn- Since : 2013-06-30
Re: Where do I fix the enemy sheet in hex editor?
If that's the case, I'll just resort to 1B since it technically makes it yellow (both in Hera and PoD, though Hera's triceratops are dark yellow while PoD's are a slightly brighter yellow).
PoD
Hera
PoD
Hera
Devan2002- Since : 2017-10-30
Similar topics
» How to use empty sheet gfx?
» enemy sprite data
» Changing price packs that enemy use
» The flying floor tiles enemy to be less annoying!
» editing enemy damage class weaknesses/immunities
» enemy sprite data
» Changing price packs that enemy use
» The flying floor tiles enemy to be less annoying!
» editing enemy damage class weaknesses/immunities
Zeldix :: Zelda III Hacking :: Requests
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum