ShootersForever.com Forum Index

GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion
GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community


Is there a Patch or Documentation for the Random Guard Heads

 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Goldfinger 64
View previous topic :: View next topic  
StupidMarioBros1Fan
Agent
Agent


Joined: 07 Dec 2017
Posts: 38

 PostPosted: Thu Jul 14, 2022 1:24 pm    Post subject: Is there a Patch or Documentation for the Random Guard Heads Reply with quote Back to top

I was messing around with Goldfinger 64 in the Editor and found out that there were changes made to the mechanic used for Random Guard Heads.
Normally there's 1 Head Set each for Male & Female Guards but Goldfinger 64 has 2 for Males. Using HxD's Data Comparison feature (Hex Editor) I found that the Head Sets were moved to a different part of the rom and that there are quite a lot of differences made to the surrounding code, I'm assuming to allow for Multiple Head Sets.



Goldfinger 64 actually supports up to 4 Head Sets each for Male & Female with the Editor fully supporting it in the Visual Editor & Action Blocks.

58198: Number of Heads per Set
Female 3, Female 2, Female 1, Female 0, Male 3, Male 2, Male 1, Male 0

581A0: RAM Address of Head Sets
Female 0, Male 0, Female 1, Male 1, Female 2, Male 2, Female 3, Male 3





Assuming that there aren't too many textures loaded (normal Allocations stuff) the game works perfectly fine.



This is a really cool feature that I want to see get a stand alone patch that can be applied to a regular GoldenEye rom, so I'd like to know if one already exists or if there's any documentation on what was changed/moved around so I can try to create a patch myself.

Without any documentation to go off of, the best I currently have is comparing the Goldfinger 64 rom to the GoldenEye rom where most of the changed code is located from 580DC to 582CC. However I don't know where the new Random Guard Head mechanic starts & ends, any references/jumps to this Data or what Data is normally located there for GoldenEye.
Out of curiosity I tried just replacing that Data & while the Editor seemed to work fine, the game either froze when trying to load certain Guards or "successfully" loaded those Guards with 0000 as their Heads (Jungle Commando, tiny, glitched body on emulator) so clearly there's other data scattered outside of 580DC-582CC that needs editing.

This is a really awesome feature that would allow a lot of creativity & freedom for GoldenEye mods, especially when paired with the Guard Chunk Extension.
_________________
Stupid Mario Brothers is a YouTube series, get asked about my username a lot.
 
View user's profile Send private message Visit poster's website
SubDrag
Administrator
Administrator


Joined: 16 Aug 2006
Posts: 6061

 PostPosted: Thu Jul 14, 2022 2:02 pm    Post subject: Reply with quote Back to top

Yes we needed two random head sets, one for Korean guards, one for normal. Intro heads in the character parade were too difficult to sort so they can't set multiple groups. It was fully supported by editor, so in theory will work in any ROM. I forget what it checks, but it was something part of patch.

I think it's this one, fully by Zoinkity for Goldfinger 64; though...it's not really a patch that was every really released because it's very manual and Zoinkity didn't believe it was done in a really great reusable way. Use at your own risk
https://www.mediafire.com/file/nn7mjxb52y2batu/2headed.zip/file

"Adding another set isn't too difficult. The order of everything is by gender, so women first. Since you're adding male heads, we'll go through that. Offsets are in the text file alongside the patch.
1) Add some heads at the next available spot, in this case 7F0236AF (0x581DF). One byte each, optionally ending in 0xFF.
2) 7F023668 (0x58198) gives how many entries there are in the list, not counting 0xFF. Set the byte at 7F02366E to that number.
3) Add a pointer to the set in the table at 7F023670 (0x581A0). The second male list goes at 7F02367C, and in this case would be 7F0236AF.
4) Cross fingers."

"Here's an example in text form:
@ 7F023668: 58198 number of entries in each set; fem4, fem3, fem2, fem1, male4, male3, male2, male1
00000004 00000719
@ 7F023670: 581A0 pointers to sets: set1(female, male), ..., setn(female, male)
7F023690 7F023695 00000000 7F0236AF
00000000 00000000 00000000 00000000
@ 7F023690: 581C0 female head set 1
(Note: the 0xFFs are unnecessary. Only left them in for the sake of your tool.)
46474849 FF
@ 7F023695: 581C5 male head set 1
3936373E 3B383A35 34332A2B 2C2D2E2F
3031323F 40414243 44FF
@ 7F0236AF: second male set using random numbers
2C2D2E2F 3A2A2CFF
@ 7F0236B3: room for further sets
...
@ 7F02370C

That should work for a second male set. Set number of entries, a pointer to the head list, and a list of heads."
 
View user's profile Send private message
StupidMarioBros1Fan
Agent
Agent


Joined: 07 Dec 2017
Posts: 38

 PostPosted: Thu Jul 14, 2022 9:29 pm    Post subject: Reply with quote Back to top

I've applied the Patch to a few GoldenEye mods (Original Game, Footsteps Patch, Alfredo Lamberra, Tomorrow Never Dies v4 & TND Expanded) and have edited a level in each to use Female Guards & all of the Head Sets. Other than typical Allocation issues from the number of Textures loaded, I didn't come across anything wrong while playing through the edited levels.

The coding at the following Hex Addresses get changed with the Patch you provided, I've compared the pre-patched mods I tested and these Hex Addresses are rarely changed.

34C88-34C90
Identical between all the mods listed above.

35AC4-35B30
Identical between all the mods listed above.

4D3F8-4D400
Identical between all the mods listed above.

580DC-5823C
Tomorrow Never Dies Expanded is slightly different, seemed fine after patch but if need be, most of the changed values are moved instead of being overwritten.
580EB: 04 -> 70, Patch moves this to 580EF
580F2: DE20 -> 2E10, Patch moves this to 580F6
58117: 03 -> 07, Patch moves this to 58127
5819F: 04 -> 70, Patch overwrites this
581A6: DE20 -> 2E10, Patch overwrites this
Multiple mods change 58117 because it's the Number of Heads loaded during a Mission.

582E8-582FC
Identical between all the mods listed above.

68CB4-68CBC
Identical between all the mods listed above.

While I have nowhere close to the knowledge that Zoinkity has on GoldenEye's programming, based off what I can understand from the included Text File, everything seems to be self-contained to the Random Guard Heads mechanic. At the very least, the coding in the above Hex Addresses rarely changing means that most mods will have the same coding, and I do know that IPS Patches can be safely applied to different files if the targeted code is identical.

So I think it's safe to use the Patch with mods that don't have a lot of custom coding. Level and/or model edits of GoldenEye should be perfectly fine.
_________________
Stupid Mario Brothers is a YouTube series, get asked about my username a lot.
 
View user's profile Send private message Visit poster's website
Wreck
Administrator
Administrator


Joined: 14 Dec 2005
Posts: 7116
Location: Ontario, Canada

 PostPosted: Fri Jul 15, 2022 9:34 am    Post subject: Reply with quote Back to top

I had recently modified the random male head list for TND64. It repurposes three duplicate IDs from the random body list (stored before the heads) and uses them to extend the heads. I can't remember if that was part of an official release or not, but if it was included in the version you tried patching to, it may explain the differences.
 
View user's profile Send private message Visit poster's website
StupidMarioBros1Fan
Agent
Agent


Joined: 07 Dec 2017
Posts: 38

 PostPosted: Fri Jul 15, 2022 10:14 am    Post subject: Reply with quote Back to top

That's probably it. I used the most recent version of TND Expanded (6-22) for testing the Patch, the "archived releases" (OG, 4-22 and 5-22) have the same data for 580DC-5823C as the other mods.
_________________
Stupid Mario Brothers is a YouTube series, get asked about my username a lot.
 
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Goldfinger 64 All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Cobalt 2.0 BB theme/template by Jakob Persson.
Copyright 2002-2004 Jakob Persson


Powered by BB 01, 02 BB Group

 


Please Visit My Other Sites: GoldenEyeForever.com | GrandTheftAutoForever.com

Got kids? Check out my Dora The Explorer site with games and coloring pages!

Our forums feature Nintendo 64 games, GoldenEye 007 N64 New Maps and Missions, GoldenEye Cheats, N64 Emulator, Gameshark, GoldenEye Multiplayer and more!

[ Privacy Policy ]