Triggering spikes

Prince of Persia related subjects that do not have their own boards.
Post Reply
User avatar
Emiliano
Wizard Scribe
Wizard Scribe
Posts: 721
Joined: July 31st, 2019, 8:53 pm
Location: Mexico
Contact:

Triggering spikes

Post by Emiliano »

I know it is possible to trigger spikes enabling the option
Allow Triggering any Tile
I already did this situation in my mod Jaffar's Multi-Life but it was not very important
I'm sure some other users have seen this
Is there any way to fix it?
65536
User avatar
atrueprincefanfrom18
Site Shah
Site Shah
Posts: 1786
Joined: January 21st, 2020, 2:53 pm
Contact:

Re: Triggering spikes

Post by atrueprincefanfrom18 »

I think I have saw this before but I don't know how to fix it... Maybe try changing some things...
Love to create new MODS :)

My complete list of mods until now!

My channel. Do consider subscribing it! :)
Dh73
Vizier
Vizier
Posts: 104
Joined: October 30th, 2019, 9:20 pm
Contact:

Re: Triggering spikes

Post by Dh73 »

Emiliano Fierro wrote: June 20th, 2020, 1:18 am I know it is possible to trigger spikes enabling the option
Allow Triggering any Tile
I already did this situation in my mod Jaffar's Multi-Life but it was not very important
I'm sure some other users have seen this
Is there any way to fix it?
this happens with the harmless standing spikes, instead with all active spikes It works good :)
David
The Prince of Persia
The Prince of Persia
Posts: 2880
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: Triggering spikes

Post by David »

Emiliano Fierro wrote: June 20th, 2020, 1:18 am I know it is possible to trigger spikes enabling the option
Allow Triggering any Tile
[...]
Is there any way to fix it?
This glitch happens to spikes with modifier = 9 (or above).

Search: 80 3E 28 43 09 75 0A
Change: 75 to 7C (offset in unpacked 1.0: 0xA311)

Details:

Code: Select all

We change this in animate_spike():

(SDLPoP)
			++curr_modifier;
			if (curr_modifier == 5) {
				curr_modifier = 0x8F;
			} else if (curr_modifier == 9) { // <-- change == to >=
				curr_modifier = 0;
				trob.type = -1;
			}

(disassembly)
seg007:050C 80 3E 28 43 09           cmp  curr_modifier, 9
seg007:0511 75 0A                    jnz  loc_8A6D ; <-- change to jl
User avatar
Emiliano
Wizard Scribe
Wizard Scribe
Posts: 721
Joined: July 31st, 2019, 8:53 pm
Location: Mexico
Contact:

Re: Triggering spikes

Post by Emiliano »

Thanks David
65536
Post Reply