yoshiman
Member
Level: 23
   
Posts: 21/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
I will put up more variables; it's very interesting to compare how different objects use the same variables in different ways. And there's stuff I've missed off such as how an ! box uses its size modifier to give the impression that it's squashed. The biggest mystery are the behaviour pointers as sometimes they don't point to ASM.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 22/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
I'm just glad you found use for it and that you got it working. I test all my codes yet some people say they don't work only for them to discover it's because of a dodgy ROM or whatever. Emulators are a pain as the codes sometimes work differently compared to a real N64.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 23/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
Right, understood! At the moment I'm trying to work my way up the tree, that is, get to the original game loop. I've come across some strange side effects when disabling calls, such as no object interaction and a lot of smoke! But that's the way I try to work out what the coding does other than look at what variables it uses.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 24/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
| Posted on 01-09-08 09:43:04 PM, in Blinking Eyes (last edited by yoshiman at 01-10-08 10:19 PM) |
Link
| |
I couldn't do the force high poly Mario trick; I searched for 17002D7C in the RAM as you said and changed it to 17002E18 but I could still see low poly Mario change to high poly Mario. Could it be that there are differences in the PAL version?
If it helps here is a sample of the Mario data in the RAM (before editing) for the PAL version:
800DCC70 1800000080268AE4
800DCC78 1200000000000000
800DCC80 040000000E000000
800DCC88 80268D5804000000
800DCC90 0E000000802689A4
800DF798 0201000017002CE0
800DF7A0 0201000017002D7C
800DF7A8 0500000018000001
800DF7B0 802691DC05000000
800DF7B8 0500000001000000
I checked that the value stayed changed.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 25/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
The only difference between the last 2 codes is the data:
8133B424 1010
8133B424 9910
I.e. the 1010 and 9910.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 26/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
The Peach code is 'mine' as can be seen in action with my videos I've uploaded to YouTube. One of the first videos I did featured Mario talking to Peach outside the castle and since then I've done many variations such as Peach killing Mario.
Moving a door shouldn't be hard once you know its position in memory.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 27/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
Thank you, vinnyboiler! So, you're British too?! You can't beat using a real N64 as people are too quick to say a code doesn't work when it turns out the fault is their emulator or ROM.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 28/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
Not happening easily, unless you know ASM! But even if it were possible to re-program the way the game handles animation for an object, something like that would take time. At least Peach has no legs to worry about...
But, I've noticed that when applying different graphics and the proper animation structure to Mario, the results aren't too bad. Without doubt the best way to change Mario into Peach is to modify his existing graphics but keep his animation the same, if possible.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 29/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
Unfortunately, I don't think it would be that easy to do a simple copy. I think it's better to modify Mario's existing model, or should I say, models.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 30/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
As can be seen from my video on YouTube 'Playing as Princess Peach in Super Mario 64' you can force the game to use Peach's graphics and animation. But as to be expected Peach only has one animation and is sometimes glitchy.
I think it will be better to alter Peach's graphics so that it's compatible with Mario's animation.
And I must add although it looks like Peach is skating across the ground you have to remember that she has no legs; a work around would be to rotate Peach's dress slightly as she moves.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 31/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
Firstly, there is a byte in an object's structure which when set to FF disables transparency so you can use that. Secondly you need Peach's animation pointer otherwise she will be messed up. Just look at my video-Playing as Peach in Super Mario 64-to see how it's done with codes.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 32/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
From looking at the RAM I know there are a number of flags stored that control certain 'channels.' E.g., you can mute Mario's voice, the sound of his feet and so on which comes in very handy for not having to put up with Mario's voice when playing as Peach or other characters.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 33/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
I created that code, stickman is a friend of mine; I'm teaching him to hack. You have to understand that I simply use one of the available animations for the object, in this case Yoshi's walking animation.
But Mario has many animations that aren't compatible with other objects without major modifications.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 34/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
I create most of my codes my studying the RAM objects. I know exactly where to look and it's a matter of copying values from one object to another. However, most objects only have one or more animations and Mario has loads.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 35/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
Nice to see my codes in action! The only thing missing is the 'L' which would require a texture change.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 36/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
I've already had a go at editing Peach's animations but it's just too difficult to do anything decent. There are many variables for Peach that affect different parts of her body and are mainly rotations. By studying the ending sequence I found that those animations are always loaded in memory while outside the castle. An example is of my video of Mario riding Peach-she looks like she's holding Mario.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 37/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
Yes, that's exactly the problem I had, there are a LOT of variables just for 1 frame of animation. It would require too many codes to edit just one animation so it would require a ROM hack.
And not all of Mario is a simple colour, the 'M' on his cap is a texture and so are his sideburns.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 38/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
What commands are these parameters used with and are they located near the text? I wonder where abouts in the RAM they are loaded. Perhaps you could give an example?
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 39/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
Yes, you can change the colour of any object but I'm still looking for Yoshi's poly data in the RAM.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |
yoshiman
Member
Level: 23
   
Posts: 40/95
EXP: 67067 For next: 656
Since: 12-21-07
From: London, England
Since last post: 13.2 years Last activity: 12.9 years
|
|
Right. I found the texture that's used for the text and the actual text but nothing else. I remember in Ocarina of Time there are text values for controlling the number of lines, colours, etc.
James S.
____________________ We English do things a little differently...Anyone for a cup of tea while we hack?! |