Parallel Worlds Pikit Shield Palette Glitch

Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Fri 29 Apr 2016 - 0:13

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.

Parallel Worlds Pikit Shield Palette Glitch EQCRVyd
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by Conn Fri 29 Apr 2016 - 4:33

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?
Conn
Conn

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2013-06-30

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Fri 29 Apr 2016 - 15:10

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...

Parallel Worlds Pikit Shield Palette Glitch 5HLk2cH
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Fri 29 Apr 2016 - 15:30

Well, here's the result of various palette values I tried:

Parallel Worlds Pikit Shield Palette Glitch OQPxW5h
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by Conn Fri 29 Apr 2016 - 15:35

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.
Conn
Conn

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2013-06-30

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Fri 29 Apr 2016 - 16:07

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

Parallel Worlds Pikit Shield Palette Glitch SYgvNLG

So, I guess the million dollar question is... where is that palette?
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by Conn Fri 29 Apr 2016 - 16:21

No, it is this here:

Parallel Worlds Pikit Shield Palette Glitch Image911

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
Conn

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2013-06-30

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Fri 29 Apr 2016 - 17:24

Well, if nothing else, I managed a halfway decent repixel of palette D9

Parallel Worlds Pikit Shield Palette Glitch NjDd5jb

Parallel Worlds Pikit Shield Palette Glitch O8MFSMB
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by Conn Fri 29 Apr 2016 - 18:32

Awesome job Razz
Conn
Conn

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2013-06-30

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Mon 13 Jun 2016 - 17:48

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.

Parallel Worlds Pikit Shield Palette Glitch J8jBJOB
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Tue 14 Jun 2016 - 15:50

Huzzah

Code:
0x0F7423: $04->$0A

Parallel Worlds Pikit Shield Palette Glitch LMxORoQ
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by Puzzledude Wed 15 Jun 2016 - 7:35

Great, since that shield on the floor, when being sold, is always a pain to get to correct pals in all Alttp hacks.
Puzzledude
Puzzledude

Parallel Worlds Pikit Shield Palette Glitch Image213

Since : 2012-06-20

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Fri 17 Jun 2016 - 17:13

Oh joy, more sprite palette issues...

Parallel Worlds Pikit Shield Palette Glitch AP7zjuX

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 Sad
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by Conn Fri 17 Jun 2016 - 21:32

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:
Code:


$8D/B863 B9 59 B3    LDA $B359,y[$8D:B37B]
$8D/B866 9D 60 0E    STA $0E60,x[$8D:0E6D]
  
Conn
Conn

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2013-06-30

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Sat 2 Jul 2016 - 0:18

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
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Thu 11 Aug 2016 - 20:06

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...

Parallel Worlds Pikit Shield Palette Glitch It11DXl
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by qwertymodo Fri 12 Aug 2016 - 14:25

Aha!  Those palettes were located in the code, not in a table. Load immediate really is the bane of reverse engineering >_<

Code:
858932 lda #$09
858934 jsr $8cd3
858937 lda #$0b
858939 jsr $8cd3
85893c lda #$0f
85893e jsr $8cd3

Another one bites the dust Very Happy

Parallel Worlds Pikit Shield Palette Glitch 3qfoAct

Edit: For some odd reason, it swapped the Goron's Ruby and Zora's Sapphire, but I'm not going to complain...
qwertymodo
qwertymodo

Parallel Worlds Pikit Shield Palette Glitch Image212

Since : 2014-10-21

Back to top Go down

Parallel Worlds Pikit Shield Palette Glitch Empty Re: Parallel Worlds Pikit Shield Palette Glitch

Post by K4yr4h Tue 4 Sep 2018 - 16:51

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.
Parallel Worlds Pikit Shield Palette Glitch Screen19
Parallel Worlds Pikit Shield Palette Glitch Screen18


(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)
Parallel Worlds Pikit Shield Palette Glitch Screen15
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.
Parallel Worlds Pikit Shield Palette Glitch Screen20


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

Parallel Worlds Pikit Shield Palette Glitch Item_p10
the 01-04 palette can be found in hm world colors 2
Parallel Worlds Pikit Shield Palette Glitch Screen17
changed pink to dark red to have a better palette. (its the faeries hair)

dont know yet where 05-07 is though Very Happy

redraw the shield/item on the sheet with the adjusted colors.

dont have a screenshot of the overworld shield yet Very Happy, 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
K4yr4h
Hardhat Beetle
Hardhat Beetle

Since : 2018-08-15

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum