Shadow Lives (Snes) and Immortals Guards.

Discussions about all other tools (CusPop, SAV/HOF editors) and hex editing.

Moderator: English Moderator Team

User avatar
elveskz
Sheikh
Sheikh
Posts: 31
Joined: January 6th, 2017, 9:01 pm

Shadow Lives (Snes) and Immortals Guards.

Post by elveskz » January 23rd, 2017, 10:54 pm

How do I change the initial lives of the shadow I would like to initiate with only two lives? I would also like to know how I can remove the life marker of a guard equal to the immortal skeletons.

User avatar
Norbert
The Prince of Persia
The Prince of Persia
Posts: 3164
Joined: April 9th, 2009, 10:58 pm
Contact:

Re: Shadow Lives (Snes) and Immortals Guards.

Post by Norbert » January 24th, 2017, 2:50 am

elveskz wrote:How do I change the initial lives of the shadow I would like to initiate with only two lives?
Pr1SnesLevEd:
Place a guard anywhere: right click and select "Guard here".
Right click again and use "Guard type..." to choose "shadow".
Then use the menu option Guards->Settings... to change the "hit points" from 4 to 2.
Finally, you can remove the shadow: right click and select "Delete guard".

apoplexy:
Press F2 on the main screen.
On the right, select the "hit points" tab.
Modify the shadow's hit points from 4 to 2.
Press the "Save" button.
elveskz wrote:I would also like to know how I can remove the life marker of a guard equal to the immortal skeletons.
It's not clear from your question if you just want the visual, triangle markers removed or if you also want the guard(s) to be immortal.

Either way, I can't help with this.
Kaslghnoon or David might now.

It is, of course, possible to change the appearance of all the silver skeletons.
They can be modified to look like regular guards, and would still be immortal.

User avatar
elveskz
Sheikh
Sheikh
Posts: 31
Joined: January 6th, 2017, 9:01 pm

Re: Shadow Lives (Snes) and Immortals Guards.

Post by elveskz » January 24th, 2017, 3:47 pm

Norbert wrote:
elveskz wrote:How do I change the initial lives of the shadow I would like to initiate with only two lives?
Pr1SnesLevEd:
Place a guard anywhere: right click and select "Guard here".
Right click again and use "Guard type..." to choose "shadow".
Then use the menu option Guards->Settings... to change the "hit points" from 4 to 2.
Finally, you can remove the shadow: right click and select "Delete guard".

apoplexy:
Press F2 on the main screen.
On the right, select the "hit points" tab.
Modify the shadow's hit points from 4 to 2.
Press the "Save" button.
elveskz wrote:I would also like to know how I can remove the life marker of a guard equal to the immortal skeletons.
It's not clear from your question if you just want the visual, triangle markers removed or if you also want the guard(s) to be immortal.

Either way, I can't help with this.
Kaslghnoon or David might now.

It is, of course, possible to change the appearance of all the silver skeletons.
They can be modified to look like regular guards, and would still be immortal.

Many thanks Norbert !! It worked with Shadow, in this case of the skeletons, I need a specific guard to have the same immortality of the skeletons, if I change the sprite of the skeletons, they all have the same sprite is not that the purpose to change the sprite of the skeletons, I would like to withdraw the life pots of a single soldier, not necessarily turn him into immortal, I will increase his lives to 255 and would like to remove the pots that show on the screen.
In short I just want to hide the pots of a soldier's life.

salvadorc17
Calif
Calif
Posts: 525
Joined: August 27th, 2011, 2:04 am

Re: Shadow Lives (Snes) and Immortals Guards.

Post by salvadorc17 » January 24th, 2017, 9:16 pm

I remember trying this in some mod i wanted to create, called Castle of Ghost, all guards looked like ghost (trasparency) and they were inmune to damage except the falls.

User avatar
elveskz
Sheikh
Sheikh
Posts: 31
Joined: January 6th, 2017, 9:01 pm

Re: Shadow Lives (Snes) and Immortals Guards.

Post by elveskz » January 24th, 2017, 10:34 pm

salvadorc17 wrote:I remember trying this in some mod i wanted to create, called Castle of Ghost, all guards looked like ghost (trasparency) and they were inmune to damage except the falls.
But would it be possible to hide the life marker that shows on the screen of a guard the same skeletons that do not have markers? But without changing the sprites.

David
The Prince of Persia
The Prince of Persia
Posts: 1505
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Shadow Lives (Snes) and Immortals Guards.

Post by David » January 28th, 2017, 4:27 pm

elveskz wrote:But would it be possible to hide the life marker that shows on the screen of a guard the same skeletons that do not have markers? But without changing the sprites.
I assume this is about SNES.

I have a hack that changes "dead purple" guards to be immortal: viewtopic.php?p=16407#p16407
You also need to set more than zero HP in Guards->Settings.

From your PM:
elveskz wrote:I'm also having problems with a color palette that sits on the edges of the screen. Always when prince gets a wound she always goes back to black. I have not found where this color changes.
I assume this is about SNES as well.

I'm not sure what do you mean here, but I have a guess:
If I change the first (top-left) color of the environment palette, it will change the background color.
But it returns to black after the screen flashes for any reason. (hurt, pick up sword)
Is this what you mean?

I already found where does the game set palette slot 0 to black after flashing:

Code: Select all

do or remove flash:
00:A4C9: 08          PHP
00:A4CA: ad c4 04    LDA $04c4 ; flash color ; lightcolor
00:A4CD: 30 10       BMI $a4df ; do flash
remove flash:
00:A4CF: a9 1f       LDA #$1f
00:A4D1: 8d 2c 21    STA $212c ; TM
00:A4D4: 9c 21 21    STZ $2121 ; CGADD ; Select palette slot 0.
00:A4D7: 9c 22 21    STZ $2122 ; CGDATA ; First $00.
00:A4DA: 9c 22 21    STZ $2122 ; CGDATA ; Second $00. Together: $0000 = black.
00:A4DD: 80 1e       BRA $a4fd

do flash:
00:A4DF: e2 30       SEP #$30
00:A4E1: 4a          LSR
00:A4E2: 4a          LSR
00:A4E3: 4a          LSR
00:A4E4: 29 0e       AND #$0e
00:A4E6: aa          TAX
00:A4E7: a9 08       LDA #$08
00:A4E9: 8d 2c 21    STA $212c ; TM
00:A4EC: 9c 21 21    STZ $2121 ; CGADD
00:A4EF: bf ac ab 02 LDA $02:abac,X ; flash colors
00:A4F3: 8d 22 21    STA $2122 ; CGDATA
00:A4F6: bf ad ab 02 LDA $02:abad,X
00:A4FA: 8d 22 21    STA $2122 ; CGDATA
00:A4FD: 28          PLP
00:A4FE: 60          RTS

flash colors:
02:ABAC: WORD $0000,$7c00,$001f,$7c1f,$03e0,$7fe0,$03ff,$7fff
I see these possible solutions:
  1. Use flash color 0 instead of black. (Which is currently $0000, i.e. black as well.)
    But then it has to be edited as well, to match the environment palette.
    And then all levels must have the same background color.
  2. Save the background color before making a flash.
    Is there enough space for that?
  3. Just disable flashing altogether.

David
The Prince of Persia
The Prince of Persia
Posts: 1505
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Shadow Lives (Snes) and Immortals Guards.

Post by David » January 29th, 2017, 10:17 am

David wrote: Save the background color before making a flash.
Is there enough space for that?
I went for that solution.

This is what you need to change:
At offset x24D7 (or if your ROM is headered: x26D7) write: 20 00 FF EA EA EA
At offset x24EC (or if your ROM is headered: x26EC) write: 20 10 FF
At offset x7F00 (or if your ROM is headered: x8100) write: AD 00 01 8D 22 21 AD 01 01 8D 22 21 60
At offset x7F10 (or if your ROM is headered: x8110) write: 9C 21 21 AD 3B 21 8D 00 01 AD 3B 21 8D 01 01 9C 21 21 60

User avatar
elveskz
Sheikh
Sheikh
Posts: 31
Joined: January 6th, 2017, 9:01 pm

Re: Shadow Lives (Snes) and Immortals Guards.

Post by elveskz » January 29th, 2017, 6:40 pm

David wrote:
elveskz wrote:But would it be possible to hide the life marker that shows on the screen of a guard the same skeletons that do not have markers? But without changing the sprites.
I assume this is about SNES.

I have a hack that changes "dead purple" guards to be immortal: viewtopic.php?p=16407#p16407
You also need to set more than zero HP in Guards->Settings.

From your PM:
elveskz wrote:I'm also having problems with a color palette that sits on the edges of the screen. Always when prince gets a wound she always goes back to black. I have not found where this color changes.
I assume this is about SNES as well.

I'm not sure what do you mean here, but I have a guess:
If I change the first (top-left) color of the environment palette, it will change the background color.
But it returns to black after the screen flashes for any reason. (hurt, pick up sword)
Is this what you mean?

I already found where does the game set palette slot 0 to black after flashing:

Code: Select all

do or remove flash:
00:A4C9: 08          PHP
00:A4CA: ad c4 04    LDA $04c4 ; flash color ; lightcolor
00:A4CD: 30 10       BMI $a4df ; do flash
remove flash:
00:A4CF: a9 1f       LDA #$1f
00:A4D1: 8d 2c 21    STA $212c ; TM
00:A4D4: 9c 21 21    STZ $2121 ; CGADD ; Select palette slot 0.
00:A4D7: 9c 22 21    STZ $2122 ; CGDATA ; First $00.
00:A4DA: 9c 22 21    STZ $2122 ; CGDATA ; Second $00. Together: $0000 = black.
00:A4DD: 80 1e       BRA $a4fd

do flash:
00:A4DF: e2 30       SEP #$30
00:A4E1: 4a          LSR
00:A4E2: 4a          LSR
00:A4E3: 4a          LSR
00:A4E4: 29 0e       AND #$0e
00:A4E6: aa          TAX
00:A4E7: a9 08       LDA #$08
00:A4E9: 8d 2c 21    STA $212c ; TM
00:A4EC: 9c 21 21    STZ $2121 ; CGADD
00:A4EF: bf ac ab 02 LDA $02:abac,X ; flash colors
00:A4F3: 8d 22 21    STA $2122 ; CGDATA
00:A4F6: bf ad ab 02 LDA $02:abad,X
00:A4FA: 8d 22 21    STA $2122 ; CGDATA
00:A4FD: 28          PLP
00:A4FE: 60          RTS

flash colors:
02:ABAC: WORD $0000,$7c00,$001f,$7c1f,$03e0,$7fe0,$03ff,$7fff
I see these possible solutions:
  1. Use flash color 0 instead of black. (Which is currently $0000, i.e. black as well.)
    But then it has to be edited as well, to match the environment palette.
    And then all levels must have the same background color.
  2. Save the background color before making a flash.
    Is there enough space for that?
  3. Just disable flashing altogether.

Perfect!! Everything works !! Many thanks David! But the mouse is now of another color, even though I change its color palette, it continues yellow with pink outline. Strange, can you find the location where I can reset the default mouse color?

User avatar
elveskz
Sheikh
Sheikh
Posts: 31
Joined: January 6th, 2017, 9:01 pm

Re: Shadow Lives (Snes) and Immortals Guards.

Post by elveskz » January 29th, 2017, 6:43 pm

David wrote:
David wrote: Save the background color before making a flash.
Is there enough space for that?
I went for that solution.

This is what you need to change:
At offset x24D7 (or if your ROM is headered: x26D7) write: 20 00 FF EA EA EA
At offset x24EC (or if your ROM is headered: x26EC) write: 20 10 FF
At offset x7F00 (or if your ROM is headered: x8100) write: AD 00 01 8D 22 21 AD 01 01 8D 22 21 60
At offset x7F10 (or if your ROM is headered: x8110) write: 9C 21 21 AD 3B 21 8D 00 01 AD 3B 21 8D 01 01 9C 21 21 60

I must have altered some other offset by mistake, I did the test and everything you gave me about the skeletons and about the color of the flash, everything is correct, this mouse color has no connection, but I would like you to help me more once!!

David
The Prince of Persia
The Prince of Persia
Posts: 1505
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Shadow Lives (Snes) and Immortals Guards.

Post by David » February 4th, 2017, 12:35 pm

elveskz wrote:everything is correct, this mouse color has no connection, but I would like you to help me more once!!
So did you fix the mouse colors, or do you still need help with that?

User avatar
elveskz
Sheikh
Sheikh
Posts: 31
Joined: January 6th, 2017, 9:01 pm

Re: Shadow Lives (Snes) and Immortals Guards.

Post by elveskz » February 6th, 2017, 8:13 pm

David wrote:
elveskz wrote:everything is correct, this mouse color has no connection, but I would like you to help me more once!!
So did you fix the mouse colors, or do you still need help with that?
I still have not corrected the error with the colors of the mouse and there is a detail that is still missing, the flash correction that you gave me, I did not change the black color of the shadow mirror flash, it still has the original black color, The original color when you cross it. If possible could you change it as you did with the other flashes?

David
The Prince of Persia
The Prince of Persia
Posts: 1505
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Shadow Lives (Snes) and Immortals Guards.

Post by David » February 11th, 2017, 5:35 pm

elveskz wrote: I still have not corrected the error with the colors of the mouse
Maybe you could send me your ROM image? (In a PM if you don't want to make it public yet.)
So I can see what happened to the mouse.
elveskz wrote: and there is a detail that is still missing, the flash correction that you gave me, I did not change the black color of the shadow mirror flash, it still has the original black color, The original color when you cross it. If possible could you change it as you did with the other flashes?
I tried that, and for me it's even weirder than that: The screen becomes *purple* after the mirror's flash.
It looks like the game tries to restore the flash color before it was saved...

David
The Prince of Persia
The Prince of Persia
Posts: 1505
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Shadow Lives (Snes) and Immortals Guards.

Post by David » February 11th, 2017, 7:05 pm

David wrote: It looks like the game tries to restore the flash color before it was saved...
I think I found what causes this: The mirror check is between flash on and flash off.

Code: Select all

01:EF15: 22 d0 cb 01 JSR $01:cbd0 ; flash on
01:EF19: 20 4a f4    JSR $f44a ; stuff... including mirror check
01:EF1C: 22 ea cb 01 JSR $01:cbea ; flash off
So just move mirror check out of that place by swapping two calls.

This is what you need to change:
At offset xEF15 (or if your ROM is headered: xF115) write: 20 4A F4 22 D0 CB 01
This seems to fix the problem.

User avatar
elveskz
Sheikh
Sheikh
Posts: 31
Joined: January 6th, 2017, 9:01 pm

Re: Shadow Lives (Snes) and Immortals Guards.

Post by elveskz » February 13th, 2017, 3:14 pm

David wrote:
David wrote: It looks like the game tries to restore the flash color before it was saved...
I think I found what causes this: The mirror check is between flash on and flash off.

Code: Select all

01:EF15: 22 d0 cb 01 JSR $01:cbd0 ; flash on
01:EF19: 20 4a f4    JSR $f44a ; stuff... including mirror check
01:EF1C: 22 ea cb 01 JSR $01:cbea ; flash off
So just move mirror check out of that place by swapping two calls.

This is what you need to change:
At offset xEF15 (or if your ROM is headered: xF115) write: 20 4A F4 22 D0 CB 01
This seems to fix the problem.
The mirror flash worked perfectly, thank you very much. As for the colors of the mouse, no matter how much I change the color of the mouse palette, in the animation before starting Level 14 where the princess sends the mouse it changes colors, but during its appearance at level 14 it does not change Always remains in that image color: See in PM!!

David
The Prince of Persia
The Prince of Persia
Posts: 1505
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Shadow Lives (Snes) and Immortals Guards.

Post by David » February 19th, 2017, 2:42 pm

elveskz wrote:As for the colors of the mouse, no matter how much I change the color of the mouse palette, in the animation before starting Level 14 where the princess sends the mouse it changes colors, but during its appearance at level 14 it does not change Always remains in that image color: See in PM!!
I think I found out what happens.
For the mouse on level 13, the game uses the palette of the "dead" guard type.
Originally it's 21 (0x15), which is the palette row of the mouse.
In your mod it is 12 (0x0C), which is the palette row of the green guard.

To change this:

Code: Select all

00:F60D: a2 11 00    LDX #$0011
00:F610: bf a0 f5 00 LDA $00:f5a0,X ; table for guard palettes
At x760D write: A9 15 EA EA EA EA EA
This will force the game to use palette row 21 (0x15) for the mouse.

Post Reply