|
|
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
|
|
|
|
|
|
|
|
|
|
kcghost Hacker
Joined: 18 Jan 2006 Posts: 551
|
Posted: Sat Dec 23, 2006 11:16 pm Post subject: From Gameshark Mod to Setup Mod |
|
|
I have been trying to mess around with the Dam setup file to permanetley incorporate some beta stuff. Since Im lazy, I figured I would use already made Gameshark codes, copy the setup file off memory, then recompress it. I found there are a good amount of changes made when it is in memory, and made the necessary changes to make sure only the gameshark code mods make the differences. It didn't work. Then I tried singling out one batch of codes to make the boat appear, finding the offset and modding it myself. Still didn't work, but I think it was because it used a Room Pointer. I then made one, extremely small gameshark change that did not involve a Room pointer (A beta door mod), and alas! Just to prove the damn thing would actually ever work, it worked!
Is there any major differences that need to be taken into account when trying to make a Gameshark mod a ROM mod? Are the room pointers (801C etc.) the same? (Cause I suspect not).
Is there a way to get a perfect useable Setup file from a Gameshark mod? Is there a good method for re-making Gameshark mods into ROM mods? (Particularily Setup). |
|
|
|
|
|
|
|
|
|
|
Wreck Administrator
Joined: 14 Dec 2005 Posts: 7212 Location: Ontario, Canada |
Posted: Sat Dec 23, 2006 11:38 pm Post subject: |
|
|
Room pointers in an actual setup file don't exist. What does exist is an offset to a plink at the end of the file, which corresponds to the appropriate room tile. I'll show you how it is done. First, here's how a preset normally appears in a setup file...
Example from Dam:
45 6D F0 00 C1 90 00 00
45 3B 50 00 00 00 00 00
3F 80 00 00 00 00 00 00
3F 80 00 00 36 06 37 BD
00 01 1C B0 00 00 00 00
The "00 01 1C B0" is an offset to "p1988e".
When the plink is converted, you end up with "07C4 20".
That value is a tile inside of the corresponding room.
The "00 00 00 00" following the offset to the plink is then filled in with an address linking to the tile supplied, as the stage loads. You must leave that part blank in your setup. Just offset your preset to a modified plink with your new room tile. For more information on how to convert room pointers to plinks, check out Shell's Wikipedia. The tutorial I wrote should still be available there.
You need to grab the data from your cartridge as the stage is first loading. Otherwise, presets will have already begun expanding and pointers will fill in. Any codes that redirect a room pointer can not be used. Manual modifications will still be required. Unless you go through a series of activators, which would help. My suggestion would be to use the GoldenEye Setup Editor. Just grab a preset from PJ64, create a new object, set it up to the new position, then save your setup. It's quite easy and will save you on time. _________________
YOUTUBE | FACEBOOK | VAULT | MOD DB | RHDN |
|
|
|
|
|
|
|
|
|
|
kcghost Hacker
Joined: 18 Jan 2006 Posts: 551
|
Posted: Sun Dec 24, 2006 8:42 am Post subject: |
|
|
Thanks, I completley forgot your tutorial existed, lol.
Do the other files change when grabbed off memory too? Like Clipping?
Update: Setup Mod worked, now Im trying to do clipping (for walking across the water: Jesus Mod!), without much luck. It appeared there was some memory differences at the very top of the file, looked like room pointer expansions, so I fixed that, but the rest seemed like it was part of the mod, so I left it. It crashes, both with its accompaning gameshark codes and not. |
|
|
|
|
|
|
|
|
|
|
Wreck Administrator
Joined: 14 Dec 2005 Posts: 7212 Location: Ontario, Canada |
Posted: Sun Dec 24, 2006 11:31 am Post subject: |
|
|
The entire object list sees a lot of changes as the stage loads up. Also, anything that is used as an offset within the setup usually becomes a pointer to the appropriate position in RAM. That includes the presets, paths, and action blocks. When all of that is taken into account, it's often difficult to get a good grab from console. If anything has expanded, you'll have to manually correct it. Some stages are much harder than others, as they start expanding faster.
I believe there is atleast one change to the clipping file, though quite possibly more. There's an offset at the beginning that points to the first entry, which becomes an address pointer in RAM. Other than that, I'm not sure what else may be effected. _________________
YOUTUBE | FACEBOOK | VAULT | MOD DB | RHDN |
|
|
|
|
|
|
|
|
|
|
kcghost Hacker
Joined: 18 Jan 2006 Posts: 551
|
Posted: Sun Dec 24, 2006 11:53 am Post subject: |
|
|
Looks like just the begining, clipping isn't too bad. My crash was a fluke, the compressor messed up on me. I re-did it and the Jesus mod worked fine, lol.
It seems like when trying to make Setup mods from Gameshark mods, sometimes its easier to just modify it manually, sometimes not. Im using a utility called HexCmp to find the differences between Hex Files, so I can pretty easily revert specific differences, although I have to go through every expanded pointer. For big codes you dont want to parse through, although you still have to convert coordinates, its easier to just use the code and grab the modified setup and fix it. For small ones, its much easier to just find the memory offset and mod the original setup. |
|
|
|
|
|
|
|
|
|
|
zoinkity 007
Joined: 24 Nov 2005 Posts: 1697
|
Posted: Wed Dec 27, 2006 7:55 am Post subject: |
|
|
This is the order of files in memory:
stage background information - always static unless you move it with Krijy's code
clipping data
stage setup
stage-specific text
guard information
etc.
Change something at the bottom of the list and everything above it moves. Altering a setup file will inevitably move around dozens of addresses. The editor does streamline most setup file information, so under no circumstances expect the two to match. _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
|
|
|
|
|
00zero Agent
Joined: 10 Jan 2007 Posts: 32
|
Posted: Sun Feb 11, 2007 2:13 pm Post subject: |
|
|
i want to get the clipping data and the tile data for each level so i can plot them out along with the exact preset locations and rotations.
can you tell me where the static locations of the clipping and room data (boundaries?) are, and what format are they in?
i'm assuming that this data can be grabbed at any time, and when a stage loads, it just gets pointed to. is that correct? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|