Parallel Worlds Pikit Shield Palette Glitch
Page 1 of 1
Parallel Worlds Pikit Shield Palette Glitch
Apparently, when a Pikit steals your shield, it glitches out the palette. Unlike the similar vanilla aLttP glitch, it doesn't require you to use Ether in order to trigger it, the palette changes as it grabs the shield, and remains when it's dropped, regardless of the weapon used to kill it. Picking up the shield restores the proper palette. I'm not very familiar with the palette code, so this one might take me awhile. If anybody has any idea where to start tackling this, I'd appreciate the tips.
I've confirmed it in PWv1.1, so it's not a side effect of my patch.
I've confirmed it in PWv1.1, so it's not a side effect of my patch.
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
It's a sprite so I would probably start looking here:
https://www.zeldix.net/t444-change-global-palette-of-a-sprite
0xE6 = Shield Pickup (Fighter or Red Shield after being dropped by a Pikit)
pc 06/B359+e6=06/B43f:DF (I'd try dd, db, d9,d7 here)
This will change the color of the shield after having defeatet like-like
The one when he is stealing took me a while, it is
pc 06/D857: 2f
So basically both you need to change is
06/B43f: DF -> ??(when collecting the shield)
06/D857: 2f -> ?? (when stealing the shield)
This will change the global palette
You also unfortunately need to repixel the shield after changing the global palette via zcompress and yy-char. Maybe Puzz can assist you here?
https://www.zeldix.net/t444-change-global-palette-of-a-sprite
0xE6 = Shield Pickup (Fighter or Red Shield after being dropped by a Pikit)
pc 06/B359+e6=06/B43f:DF (I'd try dd, db, d9,d7 here)
This will change the color of the shield after having defeatet like-like
The one when he is stealing took me a while, it is
pc 06/D857: 2f
So basically both you need to change is
06/B43f: DF -> ??(when collecting the shield)
06/D857: 2f -> ?? (when stealing the shield)
This will change the global palette
You also unfortunately need to repixel the shield after changing the global palette via zcompress and yy-char. Maybe Puzz can assist you here?
Conn- Since : 2013-06-30
Re: Parallel Worlds Pikit Shield Palette Glitch
Looks like the shield in the pause menu also has issues, but it's using a different palette. I kinda wonder if the shield might be hard-coded to using a 4-color palette, since that's what the original used (and HM only displays 4 colors in the palette editor), and I'm curious how they managed to get 6 colors when Link is holding it...
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
Well, here's the result of various palette values I tried:
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
No that's the right palette. You have 2bpp tiles in the menu and 4 bpp tiles in the game.
That means, each menu tile can only have 4 colors, while the first is transparent. Then you need black, resulting in only 2 different colors to draw your stuff, where one is usually white... thus you only have one effective color. You can trick because every item is 4 tiles, but that is mainly all you can do to make the items more attractive.
Since blue is the main color of L2 shield, this is the best one can come up with.
That means, each menu tile can only have 4 colors, while the first is transparent. Then you need black, resulting in only 2 different colors to draw your stuff, where one is usually white... thus you only have one effective color. You can trick because every item is 4 tiles, but that is mainly all you can do to make the items more attractive.
Since blue is the main color of L2 shield, this is the best one can come up with.
Conn- Since : 2013-06-30
Re: Parallel Worlds Pikit Shield Palette Glitch
Ok, so the menu one is what it is, that makes sense. I think I found the palette they're using in HM, but I don't know how that corresponds to an actual palette address. From the docs I've read, the sword and shield use the upper and lower halves of a single palette. When you combine them, you get this
So, I guess the million dollar question is... where is that palette?
So, I guess the million dollar question is... where is that palette?
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
No, it is this here:
Take a time to understand this image. Top left is the complete 256 color palette, only the lower part however is used for sprites (upper part are bg layers and the most uper part is menu). From the lower sprite palette, the left part is used for monsters on screen, and also the shields. I rotated counter- clockwise to make it more clear to you which palette each shield value uses.
The right part is for Link and out of chest items.
Unfortunately, repixeling to the right (Link) palette is for reasons I do not know not possible. I already tried hard. So I cannot come up with a solution here... Puzz, is there a way to repixel monsters to the right side of the palette?
If it fails, I think it's best you use palette 5 for this problem. Even if it doesn't match, this blue is still better than palette F
Take a time to understand this image. Top left is the complete 256 color palette, only the lower part however is used for sprites (upper part are bg layers and the most uper part is menu). From the lower sprite palette, the left part is used for monsters on screen, and also the shields. I rotated counter- clockwise to make it more clear to you which palette each shield value uses.
The right part is for Link and out of chest items.
Unfortunately, repixeling to the right (Link) palette is for reasons I do not know not possible. I already tried hard. So I cannot come up with a solution here... Puzz, is there a way to repixel monsters to the right side of the palette?
If it fails, I think it's best you use palette 5 for this problem. Even if it doesn't match, this blue is still better than palette F
Conn- Since : 2013-06-30
Re: Parallel Worlds Pikit Shield Palette Glitch
Well, if nothing else, I managed a halfway decent repixel of palette D9
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
Ok, so there's one more place the palette needs to be changed: in the store. I'm trying to find the data table for that one, but so far no luck. Here's the NO$SNS OAM view, if that's in any way helpful. The palette should be OBP4 in order to match the Pikit steal/drop sprites.
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
Huzzah
- Code:
0x0F7423: $04->$0A
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
Great, since that shield on the floor, when being sold, is always a pain to get to correct pals in all Alttp hacks.
Puzzledude- Since : 2012-06-20
Re: Parallel Worlds Pikit Shield Palette Glitch
Oh joy, more sprite palette issues...
Even better, this one's a code bug. It loads the right palette for exactly 1 frame, then the next frame, when it gets to that same subroutine, the X register is incorrect, so it loads the palette from an adjacent sprite instead... this should be all kinds of fun to debug
Even better, this one's a code bug. It loads the right palette for exactly 1 frame, then the next frame, when it gets to that same subroutine, the X register is incorrect, so it loads the palette from an adjacent sprite instead... this should be all kinds of fun to debug
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
more bugs than in a rotten corpse, eh?
Luckily those palette bugs are easy to fix out of my experience, check:
https://www.zeldix.net/t444-change-global-palette-of-a-sprite
palette is stored to
$0E60[0x10] (lower 4 bit)
But guess you know it already. Strange though that you speak about the x register, usually the Y register is involved to load the palette data from the table:
Luckily those palette bugs are easy to fix out of my experience, check:
https://www.zeldix.net/t444-change-global-palette-of-a-sprite
palette is stored to
$0E60[0x10] (lower 4 bit)
But guess you know it already. Strange though that you speak about the x register, usually the Y register is involved to load the palette data from the table:
- Code:
$8D/B863 B9 59 B3 LDA $B359,y[$8D:B37B]
$8D/B866 9D 60 0E STA $0E60,x[$8D:0E6D]
Conn- Since : 2013-06-30
Re: Parallel Worlds Pikit Shield Palette Glitch
Ugh... the shield on the floor in the shop uses your currently equipped shield palette (or at least that's the only one that was the right color when I was testing), so it's right if you currently have the Hylian Shield, but if you go into the shop carrying a different shield, it's wrong. I give up on that one :/
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
Ok, so the pendant palettes are having a similar issue to the shield-on-the-overworld sprites, they can only use the first half of the palette. I'll need to repixel them as well as picking a different palette for them. It just so happens that the emerald has all of the relevant colors in the first half of its palette, so it displays correctly.
Edit: I'm having a hell of a time trying to track down those two sprite palettes. Conn, any ideas?
Edit 2: Here's the result of the repixel, if I can find those palettes...
Edit: I'm having a hell of a time trying to track down those two sprite palettes. Conn, any ideas?
Edit 2: Here's the result of the repixel, if I can find those palettes...
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
Aha! Those palettes were located in the code, not in a table. Load immediate really is the bane of reverse engineering >_<
Another one bites the dust
Edit: For some odd reason, it swapped the Goron's Ruby and Zora's Sapphire, but I'm not going to complain...
- Code:
858932 lda #$09
858934 jsr $8cd3
858937 lda #$0b
858939 jsr $8cd3
85893c lda #$0f
85893e jsr $8cd3
Another one bites the dust
Edit: For some odd reason, it swapped the Goron's Ruby and Zora's Sapphire, but I'm not going to complain...
qwertymodo- Since : 2014-10-21
Re: Parallel Worlds Pikit Shield Palette Glitch
since i recently added pw like shields to my vanilla game i also ran into the palette problems, so ill add some information here.
after qwertymodo told me the lvl 2 (and 3) shield shares palette with the swords it was quite easy to modify the items link is wearing.
(Shield and Sword palette in HM)
then you can jump into hex to change the palette used for the inventory items. (its in Orochimaru's Zelda 3 Hacking Compendium v1.4 page 347)
the blue/white/red seems the most fitting for lvl2, but the red is actually the background color and the palette is used by the hud letters. so bluewhite it is.
Changing the chest/shop stuff is as easy once you know the
hex address 0x4849C where those are located.
add the value to find the item location and change the corresponding palette
the 01-04 palette can be found in hm world colors 2
changed pink to dark red to have a better palette. (its the faeries hair)
dont know yet where 05-07 is though
redraw the shield/item on the sheet with the adjusted colors.
dont have a screenshot of the overworld shield yet , but it should have worked. It doesnt have exact color though it looks worse then the active shield, unless you recolor the whole palette and change a lot of items.
("Nothing", 0xFF)
("1 Arrow", 0x43)
("1 Rupee", 0x34)
("3 Bomb", 0x28)
("5 Rupees", 0x35)
("10 Arrows", 0x44)
("10 Bombs", 0x31)
("20 Rupees", 0x36)
("20 Rupee2", 0x47)
("50 Rupees", 0x41)
("100 Rupees", 0x40)
("300 Rupees", 0x46)
("Bee for bottle (no bottle)", 0x0E)
("Big Key", 0x32)
("Blue Mail", 0x22)
("Blue Shield", 0x04)
("Blue Potion", 0x30)
("Book of Mudora", 0x1D)
("Boomerang", 0x0C)
("Bombos", 0x0F)
("Bomb", 0x27)
("Bottle", 0x16)
("Bottle with Red Potion", 0x2B)
("Bottle with Green Potion", 0x2C)
("Bottle with Blue Potion", 0x2D)
("Bottle With Bee", 0x3C)
("Bottle With Fairy", 0x3D) 484D9
("Bottle with Gold Bee", 0x48)
("Bow And Arrows", 0x3A)
("Bow And Silver Arrows", 0x3B)
("Bow", 0x0B)
("Bug Net", 0x21)
("Cane of Somaria", 0x15)
("Cane of Byrna", 0x18)
("Compass", 0x25)
("Crystal", 0x20)
("Ether", 0x10) 484AC
("Fire Rod", 0x07)
("Flippers", 0x1E)
("Green Potion", 0x2F)
("Hammer", 0x09)
("Heart Container no dialog", 0x3E)
("Heart Container", 0x3F)
("Heart", 0x42)
("Heart Container", 0x26)
("Hookshot", 0x0A)
("Ice Rod", 0x08)
("Key", 0x24)
("L1SwordAndShield", 0x00)
("L1 Sword", 0x49)
("L2Sword - Crash the game", 0x01)
("L3Sword", 0x02)
("L4Sword", 0x03)
("Lamp", 0x12)
("Magic Cape", 0x19)
("Magic Mirror", 0x1A)
("Map", 0x33)
("Mirror Shield", 0x06)
("Mushroom", 0x29)
("Moon Pearl", 0x1F)
("Ocarina Active", 0x4A)
("Ocarina Inactive", 0x14)
("Pegasus Boots", 0x4B)
("Piece of Heart", 0x17)
("Pendant of Courage", 0x37)
("Pendant of Wisdom", 0x38)
("Pendant of Power", 0x39)
("Powder", 0x0D)
("Power Glove", 0x1B)
("Quake", 0x11)
("Red Shield", 0x05)
("Red Boomerang", 0x2A)
("Red Mail", 0x23)
("Red Potion", 0x2E)
("Shovel", 0x13)
("Small Magic", 0x45)
("Titans Mitt", 0x1C)
(provided by zarby)
after qwertymodo told me the lvl 2 (and 3) shield shares palette with the swords it was quite easy to modify the items link is wearing.
(Shield and Sword palette in HM)
then you can jump into hex to change the palette used for the inventory items. (its in Orochimaru's Zelda 3 Hacking Compendium v1.4 page 347)
the blue/white/red seems the most fitting for lvl2, but the red is actually the background color and the palette is used by the hud letters. so bluewhite it is.
Changing the chest/shop stuff is as easy once you know the
hex address 0x4849C where those are located.
add the value to find the item location and change the corresponding palette
the 01-04 palette can be found in hm world colors 2
changed pink to dark red to have a better palette. (its the faeries hair)
dont know yet where 05-07 is though
redraw the shield/item on the sheet with the adjusted colors.
dont have a screenshot of the overworld shield yet , but it should have worked. It doesnt have exact color though it looks worse then the active shield, unless you recolor the whole palette and change a lot of items.
("Nothing", 0xFF)
("1 Arrow", 0x43)
("1 Rupee", 0x34)
("3 Bomb", 0x28)
("5 Rupees", 0x35)
("10 Arrows", 0x44)
("10 Bombs", 0x31)
("20 Rupees", 0x36)
("20 Rupee2", 0x47)
("50 Rupees", 0x41)
("100 Rupees", 0x40)
("300 Rupees", 0x46)
("Bee for bottle (no bottle)", 0x0E)
("Big Key", 0x32)
("Blue Mail", 0x22)
("Blue Shield", 0x04)
("Blue Potion", 0x30)
("Book of Mudora", 0x1D)
("Boomerang", 0x0C)
("Bombos", 0x0F)
("Bomb", 0x27)
("Bottle", 0x16)
("Bottle with Red Potion", 0x2B)
("Bottle with Green Potion", 0x2C)
("Bottle with Blue Potion", 0x2D)
("Bottle With Bee", 0x3C)
("Bottle With Fairy", 0x3D) 484D9
("Bottle with Gold Bee", 0x48)
("Bow And Arrows", 0x3A)
("Bow And Silver Arrows", 0x3B)
("Bow", 0x0B)
("Bug Net", 0x21)
("Cane of Somaria", 0x15)
("Cane of Byrna", 0x18)
("Compass", 0x25)
("Crystal", 0x20)
("Ether", 0x10) 484AC
("Fire Rod", 0x07)
("Flippers", 0x1E)
("Green Potion", 0x2F)
("Hammer", 0x09)
("Heart Container no dialog", 0x3E)
("Heart Container", 0x3F)
("Heart", 0x42)
("Heart Container", 0x26)
("Hookshot", 0x0A)
("Ice Rod", 0x08)
("Key", 0x24)
("L1SwordAndShield", 0x00)
("L1 Sword", 0x49)
("L2Sword - Crash the game", 0x01)
("L3Sword", 0x02)
("L4Sword", 0x03)
("Lamp", 0x12)
("Magic Cape", 0x19)
("Magic Mirror", 0x1A)
("Map", 0x33)
("Mirror Shield", 0x06)
("Mushroom", 0x29)
("Moon Pearl", 0x1F)
("Ocarina Active", 0x4A)
("Ocarina Inactive", 0x14)
("Pegasus Boots", 0x4B)
("Piece of Heart", 0x17)
("Pendant of Courage", 0x37)
("Pendant of Wisdom", 0x38)
("Pendant of Power", 0x39)
("Powder", 0x0D)
("Power Glove", 0x1B)
("Quake", 0x11)
("Red Shield", 0x05)
("Red Boomerang", 0x2A)
("Red Mail", 0x23)
("Red Potion", 0x2E)
("Shovel", 0x13)
("Small Magic", 0x45)
("Titans Mitt", 0x1C)
(provided by zarby)
K4yr4h- Hardhat Beetle
- Since : 2018-08-15
Similar topics
» Parallel Worlds Indoor Night Palette Glitch Fix
» ALTTP - Goddess of Wisdom, Parallel Worlds, & Parallel Worlds Remodel MSU-1 Patches
» Joining the first 8 colors of link's palette to the sword and shield palettes?
» Worse Than Parallel Worlds
» Parallel Worlds Newbie
» ALTTP - Goddess of Wisdom, Parallel Worlds, & Parallel Worlds Remodel MSU-1 Patches
» Joining the first 8 colors of link's palette to the sword and shield palettes?
» Worse Than Parallel Worlds
» Parallel Worlds Newbie
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum