You are not logged in.
- Topics: Active | Unanswered
#1 Nov 23, 2014 11:20 PM
- CaptainBee
- Member
- From: Facet 5
- Registered: Aug 10, 2013
- Posts: 244
- Gems: 0
- Age: 27 years old
- Gender: Female
IN NEED OF GAMESHARK CODE
somebody please find a way to make a code where you can still walk while being talked to
Offline
#2 Nov 25, 2014 8:41 PM
- Ulfbjörn
- Member
- From: Sweden
- Registered: Sep 18, 2013
- Posts: 54
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
Chances are that will be a boolean (0 or 1) value.
You can use a memory scanning program (such as CheatEngine) along with a PSX emulator to search for bytes which are either 0 (false) when you are not in a dialog and then changes to 1 (true) when you are (do another follow-up search), or the other way around (the game's logic may either be "if canMove == true then performMovement()" or "if canNotMove == false then performMovement()"). It is possible that it is more complex than that and a range of different values are affecting whether movement is possible or that the actual flag for this is part of a larger data word in which case finding it will be harder, but chances are it's just a standalone byte value; I know the "can fly" value is at least.
As for converting it to a gameshark version you would first find a known gameshark code and then find the corresponding setting in your emulator with your memory scanner. The number of gems should be an easy one since that changes frequently and also is quite large so that it should be quick to search for without too many identical matches. Now a gameshark code looks like so:
xaaaaaaa - bbcc
The a's correspond to a hexadecimal address of the data to set. Thus you compare your gem count address from your emulator with the address stored in the official gameshark code. (Actually I couldn't find an overaching gem count cheat for gameshark but the following is the address of the total number of collected eggs, presumably in the NA version: #006C660). Now that you know the difference you can change your "canMove" address accordingly; the offset should be the same.
The next part is simply setting the value; for this the x above should be set to 3, which means to do a single byte set on the address. When setting a single byte bb should be set to 00 and cc to the hexadecimal representation of the value to set (the range is 00 through ff which corresponds to 0 through 255 in decimal). In your case you will either want to set this to true (01) or false (00) depending on whether the game uses a "canMove"-flag or a "canNotMove"-flag as described above.
Take note that constantly overwriting the value, as such a gameshark instruction will do, may have undesirable effects. For example, if you freeze the "canFly"-flag the game will crash upon entering a portal, something similar may happen with this.
As said it is also possible that there are more than a single variable controlling whether you are free to move or not (for example the camera will most likely NOT follow Spyro if you manage to move him during a cutscene unless you also set the camera override flag to false. It might be that the cutscene script will force update the camera transform continously in which case it will be even harder to bypass).
Anyway, if you find that you can get by but need to be able to turn the value on or off manually during playing, you can use a gameshark code entry with a opcode (beginning character of the left 8-digit address) of d. This checks whether the byte at the specified address is equal to whatever value you write at cc and if it is not it will skip the next instruction (which would be your "set byte to value" instruction). You can use this to check if specific keys on the controller are being pressed or not and change the value accordingly, or perhaps set it to only change based on other external factors (like what level you are in, if you are currently changing levels, etc.).
Good luck!
Last edited by Ulfbjörn (Nov 25, 2014 8:45 PM)
Offline
#3 Nov 25, 2014 11:34 PM
- LXShadow
- Member
- From: Lurker's Corner (England)
- Registered: Nov 05, 2010
- Posts: 67
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
Umm, since I'm pretty knowledgeable about this game's code I'll speak up. Do you have the PAL version Agent9? If you do I'll give it a shot; if not I can't help since the PAL version's the only one I have.
Out of curiosity, what're you planning to do with the code? I mean, if it's any easier I could just kill whoever's trying to talk to you so that you can move. Or I could move them. It's possible. =P
Offline
#4 Nov 27, 2014 12:46 AM
- CaptainBee
- Member
- From: Facet 5
- Registered: Aug 10, 2013
- Posts: 244
- Gems: 0
- Age: 27 years old
- Gender: Female
Re: IN NEED OF GAMESHARK CODE
i actually have used cheat engine before. man this stuff is confusing but thanks for the big long explanation, i think it might actually help me
if it's any easier I could just kill whoever's trying to talk to you so that you can move. Or I could move them. It's possible. =P
how u do that
Update: bleh, im not having any luck. i am finding 00000001 as a value when i search it yet i dont know what to do from there. i tried to change it to 00000000 when i open up the debugger during the current action in the game and it totally went bezerk
Last edited by CaptainBee (Nov 27, 2014 1:41 AM)
Offline
#5 Nov 27, 2014 8:48 PM
- LXShadow
- Member
- From: Lurker's Corner (England)
- Registered: Nov 05, 2010
- Posts: 67
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
LXShadow wrote:how u do that
With the epic power of karma!
Alright, I tracked down a code and it looks like it is actually possible to do this (with some funky side-effects). The code doesn't seem to work with Cheat Engine though - you ought to use something like PEC for this one.
There's two addresses for this. One of them is the real one, which is unstable and its values change from zero to nonzero rapidly. The other one seems to be a fake copy of the real one, which seems to be stable and is probably trackable with a memory scanner. The value is 4 bytes, and is 00000000 when Spyro is normal, and 10000042 (hexadecimal) when Spyro is talking to an NPC (I tried Moneybags in the Sunrise Spring).
When you find the code, you may have the fake one; in which case you should subtract 4 from the address. (It might be wise to try using both of them)
As a side-note, since a GameShark code only sets 2 bytes, you need to make it into two codes so that it can set a total of 4 bytes. In combination, they need to set the value to 00000000. Like this:
(Let's say e.g. 80001234 is the address we found)
80001234 0000
80001236 0000 (for this second code, just add 2 to the first address)
If done right you'll be able to wander around absent-mindedly while your NPC friends talk obliviously to thin air. G'luck
Offline
#6 Nov 28, 2014 12:51 AM
- CaptainBee
- Member
- From: Facet 5
- Registered: Aug 10, 2013
- Posts: 244
- Gems: 0
- Age: 27 years old
- Gender: Female
Re: IN NEED OF GAMESHARK CODE
Agent9 wrote:LXShadow wrote:how u do that
The code doesn't seem to work with Cheat Engine though - you ought to use something like PEC for this one.
I do use PEC to cheat but how would you scan memory with it?
Offline
#7 Nov 28, 2014 11:36 AM
- LXShadow
- Member
- From: Lurker's Corner (England)
- Registered: Nov 05, 2010
- Posts: 67
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
Hit Ctrl+H while playing to open up the memory scanner. Remember to set it to 4 bytes and hexadecimal before starting the search.
Offline
#8 Nov 28, 2014 5:23 PM
- CaptainBee
- Member
- From: Facet 5
- Registered: Aug 10, 2013
- Posts: 244
- Gems: 0
- Age: 27 years old
- Gender: Female
Re: IN NEED OF GAMESHARK CODE
Hit Ctrl+H while playing to open up the memory scanner. Remember to set it to 4 bytes and hexadecimal before starting the search.
it keeps telling me to run bleem! or vgs
is there a way to run it in plugin mode?
Last edited by CaptainBee (Nov 28, 2014 5:31 PM)
Offline
#9 Nov 28, 2014 7:32 PM
- Ulfbjörn
- Member
- From: Sweden
- Registered: Sep 18, 2013
- Posts: 54
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
I did some poking around and found a flag at address #6E424 in the NTSC version of the game. The address may be different in re-releases such as platinum and most definately will be different in a PAL version, but if you happen to have the same version the following should "sort of" accomplish what I gather is your objective:
D007151A - FBFF
3006E424 - 0000
This basically lets you keep moving during a dialog when pressing the L1 button (and only the L1 button, sadly we can't do any masking to see if a certain button is pressed among others); however there is a catch - the dialog won't end until you press the X button in "dialog input mode", but you are forcing the game to switch to "normal input mode". As such the dialog event will never be considered finished which have some ramifications: first, you won't be able to enter another dialog event until you actually finish the first one (with more digging around, it is probably possible to find the control variables for this and for example reset those as well when pressing the L1 button). Secondly, you won't obtain any rewards (eggs) or be able to listen to the voice acting for any subsequent dialogue pages. Third, some restrictions imposed on the dialog mode (which you are technically still considered to be in) apply, mainly that you cannot open the pause menu or the atlas.
You can change levels by going through portals though. Doing this will reset the value so that you can go back and trigger talking events again. To make this a bit easier you can also use the following instructions, which will set the "waitForDialogToFinish" flag back to true when pressing R1 (again, onlyR1). This brings the dialog up again and lets you finish / proceed it by pressing X:
D007151A - F7FF
3006E424 - 0001
it keeps telling me to run bleem! or vgs
is there a way to run it in plugin mode?
It works just fine for me in plugin mode (using ePSXe 1.7 and PEC build 1123), what is "bleem" and "vgs"?
@LXShadow: I found the address to which you referred; manually modifying (or freezing) its value does not seem to accomplish anything however, neither with PEC nor CheatEngine. Do you have any information / idea on what the data stored there is actually used for?
Offline
#10 Nov 28, 2014 10:41 PM
- LXShadow
- Member
- From: Lurker's Corner (England)
- Registered: Nov 05, 2010
- Posts: 67
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
Hey Ulfbjorn (darn I can't figure out how to do that 'o' with the dots, sorry if I accidentally changed your name's meaning there =P). The code I found are flags that affect Spyro's movement. I think they're universal flags; they let him move during short level cutscenes as well.
I'm curious about what your code is though! It might be a higher-level code that decides whether the flags I found are changed. Probably a little more reliable if that's the case
Agent9, I haven't heard of this error before. Unfortunately, a search for it led me straight back to this topic. =P Sorry if this sounds dumb (troubleshooting usually does!), but are you sure you have the right one from http://pec.duttke.de/? If so, make sure it's set as the graphics plugin. If so, are there any errors when you try to Configure it or anything like that? If not, are you running Windows? If so, what emulator are you using?
Sorry for creating a trail of questions. =P I'm not actually sure what you mean with plugin mode, since you normally need to set it up as a plugin anyway?
Last edited by LXShadow (Nov 28, 2014 10:43 PM)
Offline
#11 Nov 29, 2014 12:10 AM
- CaptainBee
- Member
- From: Facet 5
- Registered: Aug 10, 2013
- Posts: 244
- Gems: 0
- Age: 27 years old
- Gender: Female
Re: IN NEED OF GAMESHARK CODE
I did some poking around and found a flag at address #6E424 in the NTSC version of the game. The address may be different in re-releases such as platinum and most definately will be different in a PAL version
i have 2 versions of the game. version 1.1 and version 1.0. i think version 1.1 is NTSC-U and i dont know what 1.0 is. it might be a hacked version though the game works normally until i reach the sorceress lair, then the game resets and goes back to the beginning like the hacked version does. though is NTSC-U the same as NTSC?
but when i tried the the code it didn't work. i pressed L1 when i was in dialogue and it didnt do anything if thats what you meant, so i must not have that version. ill keep trying though
are there any errors when you try to Configure it or anything like that? If not, are you running Windows? If so, what emulator are you using?
i use epsxe on windows 7 and i use psx emulation cheater 2.5 for the video plugin. the graphical processing unit plugin is P.E.Op.S OpenGL Driver 1.78
for PEC, the hex editor wont work when it's in the plugin interface. i get an error saying Memory/Editing stuff is not available in plugin mode. bleem! and vgs are the only emulators it'll work with in normal interface.
update: @Ulfbjörn i actually got it to work. i wonder what i was doing wrong the first time..
Last edited by CaptainBee (Nov 29, 2014 12:21 AM)
Offline
#12 Nov 29, 2014 1:24 AM
- Ulfbjörn
- Member
- From: Sweden
- Registered: Sep 18, 2013
- Posts: 54
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
darn I can't figure out how to do that 'o' with the dots, sorry if I accidentally changed your name's meaning there =P
Haha, don't worry, that's quite usual for foreigners writing it I assure you :b
It actually literally translates into "wolf bear", "björn" being "bear". Bjorn doesn't mean anything so no change of the meaning
As for the letter I have this "¨" accent button, it is used in several other european languages as well so you might have that, if so you can press it before an O. Otherwise, using my charset, the capital letter is represented by character 153 and the small one by 148 in UTF-8, so if you have the same charset you can just hold alt and press those numbers on your numpad, assuming you like to make lots of extra trouble for yourself
The code I found are flags that affect Spyro's movement. I think they're universal flags; they let him move during short level cutscenes as well.
Ah I see, I found it a bit odd that I could find the exact pattern and that it changed as you said between being in- and out of cutscenes but that forcing its value didn't seem to have any obvious effect. I might have to give it another go to see if I might have screwed something up. Cheers.
though is NTSC-U the same as NTSC?
I think NTSC-U is USA only, excluding Canada which seems to also use the NTSC standard.
To be honest I'm not entirely sure what version the one I used was either; my original PSX disc is PAL but since you said GameShark instead of ActionReplay I figured you were from the US and thus would have the NTSC version so I downloaded an ISO of that for testing this. (Whether this is to be considered OK or not I cannot say for sure; a fact is that I couldn't buy a NTSC version of the game now 14 years after its release if I wanted to and I do own a legal copy of the PAL version as said, which should essentially be the same thing).
i use epsxe on windows 7 and i use psx emulation cheater 2.5 for the video plugin. the graphical processing unit plugin is P.E.Op.S OpenGL Driver 1.78
for PEC, the hex editor wont work when it's in the plugin interface. i get an error saying Memory/Editing stuff is not available in plugin mode.
Hm... standard support question, have you disabled UAC and / or set your emulator to be run with administrative privileges? It might be that it is blocked by the OS otherwise, though I find that unlikely.
I use the same as you only with Pete's OpenGL Driver 2.9 instead (which shouldn't affect PEC).
update: @Ulfbjörn i actually got it to work. i wonder what i was doing wrong the first time..
Ah, nice
And look who could type the 'ö'... ;D
(Though I bet you cheated and just copied it didn't you?)
Offline
#13 Nov 29, 2014 3:53 AM
- CaptainBee
- Member
- From: Facet 5
- Registered: Aug 10, 2013
- Posts: 244
- Gems: 0
- Age: 27 years old
- Gender: Female
Re: IN NEED OF GAMESHARK CODE
Hm... standard support question, have you disabled UAC and / or set your emulator to be run with administrative privileges? It might be that it is blocked by the OS otherwise, though I find that unlikely.
I use the same as you only with Pete's OpenGL Driver 2.9 instead (which shouldn't affect PEC).
i'll try driver 2.9 and see what that does.
Ah, nice
And look who could type the 'ö'... ;D
(Though I bet you cheated and just copied it didn't you?)
...NO!! ...yes
btw all this code stuff makes me even more curious. now im gonna try and find a way to play as different characters in different areas if even remotely possible
Offline
#14 Nov 29, 2014 7:16 AM
- 36IStillLikeSpyro36
- Member
- Registered: Aug 15, 2008
- Posts: 17,365
- Gems: -4,018
- Website
Re: IN NEED OF GAMESHARK CODE
btw all this code stuff makes me even more curious. now im gonna try and find a way to play as different characters in different areas if even remotely possible
i heard - but can't verify - that the game has some kind of process in place where it only loads the bare amount of abilities necessary to complete a level, and doesn't load (thus doesn't allow you to use) other ones in the level.
which is why you can't use the superfly powerup in levels that don't have it for example, and the game just crashes if you try to use it. so i imagine it wouldn't work with using other characters either. but i'm not certain.
Last edited by 36IStillLikeSpyro36 (Nov 29, 2014 7:17 AM)
Dіsсоrd - 7Arterial7Justice7 [[HASHTAG]] 6565
DeviantArt - https://www.deviantart.com/arterialblack716
YouTube - https://www.youtube.com/user/spyrotheet … ght/videos
imperfect sinner saved by Christ.
Offline
#15 Nov 29, 2014 3:07 PM
- RangerOfIthilien
- Member
- From: Illinois
- Registered: May 12, 2010
- Posts: 5,025
- Gems: -495
- Birthday: 30 March
- Age: 33 years old
- Gender: Male
Re: IN NEED OF GAMESHARK CODE
that would make sense. That way they can utilize the hardware as much as possible
Chessmaster
Level 67
Offline
#16 Nov 30, 2014 12:36 AM
- Ulfbjörn
- Member
- From: Sweden
- Registered: Sep 18, 2013
- Posts: 54
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
I don't know how easy it would be to change the player character; as 36 suggests you probably wouldn't be able to change it on the fly, however you can probably make the game load a different character upon entering a level.
A good place to start looking for this is probably Enchanted Towers since it allows you to play as both Spyro and Sgt. Byrd in the same scene. I would change back and forth between them and to begin with look for a byte value that has one consistent value when playing as Spyro and another as Byrd. Spyro's value is likely 0 and the penguins can be guessed to be 2, but neither of those are certain, especially not the second. If you find anything of interrest you could try doing a pointer scan for that value to see what might be accessing it.
Offline
#17 Nov 30, 2014 12:52 AM
- LXShadow
- Member
- From: Lurker's Corner (England)
- Registered: Nov 05, 2010
- Posts: 67
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
i heard - but can't verify - that the game has some kind of process in place where it only loads the bare amount of abilities necessary to complete a level, and doesn't load (thus doesn't allow you to use) other ones in the level.
I can verify this completely. In fact, it's not only models and animations that are loaded specifically in the levels that need them, but also code (game logic). You can actually make a SuperFly code that doesn't crash by adding in an animation code to stop Spyro from using his SuperFly animation, but then there's another problem: Spyro just freezes in place, 'cause the game has no idea how to use it in those levels.
So the Insomniac games are actually pretty inflexible when it comes to hacking. Actually, the unique code data loaded for each level even made the game's infamous piracy protection even stronger than it would have been otherwise. All in all, the programmers at Insomniac were basically geniuses. =P
@Ulfbjörn: That's really cool, that's taught me something new about Swedish! About the flag code, try messing with the ones four bytes below and/or above it. Oh--and if you freeze it, make sure PEC is set to update every frame. I'm not sure why the value changes all the time; if yours still won't work, maybe it has something to do with the PAL version's lower frame rate or something..?
RE: NTSC-U; just a piece of trivia: AFAIK NTSC-U is just used to differentiate from NTSC-JP in games. Version 1.1 of Spyro 3 is actually the Greatest Hits version with all the bugfixes and stuff; version 1.0 is the original black-label.
Last edited by LXShadow (Nov 30, 2014 12:53 AM)
Offline
#18 Nov 30, 2014 3:14 PM
- Ulfbjörn
- Member
- From: Sweden
- Registered: Sep 18, 2013
- Posts: 54
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
It does indeed seem character data is not available in levels where it doesn't "belong", ie. it will not be loaded even if you set the character id to another as you step through a portal.
All I could come up with is this which lets you start Enchanted Towers as Sgt. Byrd:
80C2C1B8 - 0180
30C2C1C8 - 0003
If you try something similar in levels where a character isn't supposed to appear you will play as an invisible Spyro instead.
Also the above doesn't work in any of the sub-sections of the level that only Spyro is supposed to be played in (the skate park and the Wolfie mini game).
@Ulfbjörn: That's really cool, that's taught me something new about Swedish! About the flag code, try messing with the ones four bytes below and/or above it. Oh--and if you freeze it, make sure PEC is set to update every frame. I'm not sure why the value changes all the time; if yours still won't work, maybe it has something to do with the PAL version's lower frame rate or something..?
Might be, my freeze rate should be high enough...
It could be that it's just a local variable that at some part of the main loop is used to represent that and then re-used at another point for something else perchance?
Last edited by Ulfbjörn (Nov 30, 2014 3:15 PM)
Offline
#19 Dec 01, 2014 8:45 AM
- CaptainBee
- Member
- From: Facet 5
- Registered: Aug 10, 2013
- Posts: 244
- Gems: 0
- Age: 27 years old
- Gender: Female
Re: IN NEED OF GAMESHARK CODE
Bleh I wasnt really expecting it to work anyway
That's too bad it would be fun to play as different characters in other stage tho
But good research nonetheless, do you work in the video game industry by any chance?
Offline
#20 Dec 01, 2014 1:11 PM
- Ulfbjörn
- Member
- From: Sweden
- Registered: Sep 18, 2013
- Posts: 54
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
But good research nonetheless, do you work in the video game industry by any chance?
Thanks and no, not officially yet anyway. I did however study game development and am currently writing my final thesis before graduating. I don't really have enough delusions of grandeur to believe I will actually be able to land a job in the industry, but of course that is a goal. If we look away from the "work" part then yes, I have made a few games on my free time. At the moment I'm working on a DirectX 11 game engine that with any luck will be completed and hopefully sold to a brittish company within the next year
Offline
#21 Dec 01, 2014 7:41 PM
- LXShadow
- Member
- From: Lurker's Corner (England)
- Registered: Nov 05, 2010
- Posts: 67
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
Might be, my freeze rate should be high enough...
It could be that it's just a local variable that at some part of the main loop is used to represent that and then re-used at another point for something else perchance?
Darn, well it was a weird code to begin with TBH (I wanted to make an ASM mod, but it couldn't really be done with a memory scanner that way =/ ). It's not a local variable by definition (codes that modify the stack are very rare!), but it's really unclear how it's used. Since you found an alternative though I'm gonna throw in the towel for this one
Well, looks to me like this is mostly solved- unless anyone wants to make this the official Spyro 3 hacking topic?- but one more piece of trivia: the lowest-level character code, IIRC, can actually be used for any object in the environment, so long as some code for alternative character control is in the level file. I played as a frog once in Sheila's part of Sunny Villa using that trick, I can't find the old screenshot but it was pretty funny. =P (Didn't have all the animations though)
P.S Agent9: Not sure if you were asking me, but I also did a game dev course! Helped me out a lot; made my own little multiplayer game with its help too. Not working in the industry officially either--pretty much the same as Ulfbjörn in all!
Last edited by LXShadow (Dec 01, 2014 7:45 PM)
Offline
#22 Dec 05, 2014 3:57 AM
- CaptainBee
- Member
- From: Facet 5
- Registered: Aug 10, 2013
- Posts: 244
- Gems: 0
- Age: 27 years old
- Gender: Female
Re: IN NEED OF GAMESHARK CODE
This one should be super easy for you guys to solve; im trying to find the address that links to health. I already found the egg, life and gem counts. But I'm having trouble with the health count for some reason. I know sparx's full health is 75, right? So I get hit and do 50 for the next scan and nothing pops up. I even tried it with agent 9 because it shows your health amount and still nothing. I'm probably doing it all wrong any ideas?
Offline
#23 Dec 05, 2014 4:12 AM
- 36IStillLikeSpyro36
- Member
- Registered: Aug 15, 2008
- Posts: 17,365
- Gems: -4,018
- Website
Re: IN NEED OF GAMESHARK CODE
normal health (with Spyro, anyway) is actually 3, and when you have the powerup that makes Sparx glow it's 4.
Dіsсоrd - 7Arterial7Justice7 [[HASHTAG]] 6565
DeviantArt - https://www.deviantart.com/arterialblack716
YouTube - https://www.youtube.com/user/spyrotheet … ght/videos
imperfect sinner saved by Christ.
Offline
#24 Dec 05, 2014 11:20 AM
- LXShadow
- Member
- From: Lurker's Corner (England)
- Registered: Nov 05, 2010
- Posts: 67
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
Haven't tried this out myself but it's worth a shot: Sparx's health in his levels goes from 1 to 25 to 50 to 75 to 100, right? Try searching using the numbers 0 to 4 (with 0 being 1, 1 being 25, etc.). If that doesn't work, try using 1 to 5 instead (where similarly 1 is 1, 2 is 25, etc.). It might even be the same as Spyro's normal health like IStillLikeSpyro mentioned.
And if all else fails just do an Increased/Decreased/Unchanged search
Offline
#25 Dec 05, 2014 4:02 PM
- Ulfbjörn
- Member
- From: Sweden
- Registered: Sep 18, 2013
- Posts: 54
- Gems: 0
Re: IN NEED OF GAMESHARK CODE
As 36 said, the health value is in the range 0..4, not 25, 50, etc.
As a funny side note, merely changing this value doesn't only affect how many hits Spyro / Sparx can take but it actually directly affects the visual appearance of Sparx as well. Setting it to anything above 4 (which is the highest you can normally get in the game) will cause some interesting visuals on Sparx, some higher values cause him to fly upside down, others change his colours to gray or greatly increase the size of his glowing rays. I don't know why this would happen, it's just a byte value so it shouldn't overflow into his transform; I suppose the latter is set by some calculation using the previous. Also, setting the value to for example 5 will allow you to survive 5 hits, it is only clamped by the game upon eating a butterfly.
To find the address, just determine your current health: no Sparx - 0, green - 1, blue - 2, yellow - 3, "special" - 4.
Then get hit by stuff, search for values that have decreased, eat butterflies, search for values that have increased. Repeat until you have narrowed it down to find the address by trial and error.
Or if you're too lazy, here's a guesstimated GS code for permanently freezing the value to four hit points (not tested but should theoretically be correct):
30070688 - 0004
Edit: for some reason a four snuck in instead of a zero in the above code. It should be fixed now.
Last edited by Ulfbjörn (Dec 05, 2014 11:57 PM)
Offline