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

Joined: 20 Dec 2005 Posts: 72 Location: Datteln, Germany  |
Posted: Mon Apr 17, 2006 6:13 pm Post subject: Facility MP experiment |
 |
|
I've been working on this for a couple of hours now, but now I'm bored of it.
Anyway, it's a nice result: MP Facility with objects!
I figured how to create objects thanks zoinkity's object type data.
you might know that at 80075D0C, there's a pointer to object data (any MP level).
making it point to an empty area allows you to add as many objects to your level as you like
same goes for respawns (pointer is at 80075D08).
Code: | Facility with objects!
----------------------
"Pointer"
81075D0C 802C
81075D0E 0000
"Lockers" x14
50000E80 0000
812C0000 0100
50000E80 0000
802C0003 0003
50000E80 0000
812C0004 0060
50000E80 0001
812C0006 2725
50000E80 0000
812C000A 01E1
"13x Crate 14"
50000D80 0000
812C0700 0133
50000D80 0000
802C0703 0003
50000D80 0000
812C0704 0014
50000D80 0001
812C0706 00CF
50000D80 0000
812C070A 0101
"Vary"
812C0804 0052
812C0984 0052
812C0B04 0052
"3x Crate 52"
50000380 0000
812C0D80 0119
50000380 0000
802C0D83 0003
50000380 0000
812C0D84 0052
50000380 0001
812C0D86 00E0
50000380 0000
812C0D8A 0101
"blue chair"
812C0F00 0100
802C0F03 0003
812C0F04 0049
812C0F06 00CB
812C0F0A 0101
"a few tables"
50000380 0000
812C0F80 0100
50000380 0000
802C0F83 0003
50000380 0000
812C0F84 0026
50000380 0001
812C0F86 2722
50000380 0000
812C0F8A 01E1
"computers #1"
50000480 0000
812C1100 0100
50000480 0000
802C1103 0003
50000480 0000
812C1104 0022
50000480 0003
812C1106 2735
50000480 0000
812C110A 01A1
"computers #2"
50000480 0000
812C1580 0100
50000480 0000
802C1583 0003
50000480 0000
812C1584 0023
50000480 0003
812C1586 2736
50000480 0000
812C158A 01A1
"End"
802C1783 0030 |
I didn't place any weapons, ammos, glasses, doors etc yet, just objects.
Whoever likes to add that may do that.
I think I'll compile my very own multiplayer arena soon
NOTE: the code can be majorly shortened I believe... well, I always see that afterwards <.< |
|
|
|
|
|
 |
 |
 |
 |
 |
kcghost Hacker


Joined: 18 Jan 2006 Posts: 551
 |
Posted: Mon Apr 17, 2006 6:44 pm Post subject: |
 |
|
Awww, didn't work in my emulator. I like the idea of redirecting for objects to get as many as you want.  |
|
|
|
|
|
 |
 |
 |
 |
 |
MultiplayerX 007


Joined: 29 Jan 2006 Posts: 1210 Location: USA  |
Posted: Mon Apr 17, 2006 6:54 pm Post subject: |
 |
|
that's awesome PAD!! maybe I can try that with Jungle for more trees and plants later. _________________ [img]http://imgur.com/ud785Jq[/img] |
|
|
|
|
|
 |
 |
 |
 |
 |
PaD Agent

Joined: 20 Dec 2005 Posts: 72 Location: Datteln, Germany  |
Posted: Tue Apr 18, 2006 12:52 am Post subject: |
 |
|
@kcghost:
does it freeze once you hit "Start" in the multi menu?
it happened several times to me... try this:
enter the codes in your emulator, then end it (close it, not just end the emulation), open the game again, activate the codes, and then reset the game (F1)...
this is if you use PJ64
@theshadow:
I believe that 75D0C points to objects always, at least it does in Temple 2P and Fac 2P-4P.
Facility SP seems to have multiple pointers at random locations, so I don't know how this works exactly for SP levels, I'm still trying to figure out more.
Maybe Wreck can help a bit since he's basically doing this with Caves... |
|
|
|
|
|
 |
 |
 |
 |
 |
kcghost Hacker


Joined: 18 Jan 2006 Posts: 551
 |
Posted: Tue Apr 18, 2006 5:58 am Post subject: |
 |
|
Hmmm, strange, works in Project 64 but not 1964. 1964 goes to a standstill on map load, the music plays but nothing ever happens. I don't like Project 64 much, mostly because of its adding codes interface, it never works for me, I had to add them manually to the CHT file. Oh well, I saw the objects, and I gotta say its a very nice job, PaD. Its kinda cool, I think there may be some type of shadow layer missing for the chair and table, they are red! This method is very useful for unlimited objects on emulator, but you gotta watch the lines for console. I just did a rough count, thats around 220 lines for the objects. All the objects codes rack up quick. Not that it matters much to me, I just created a map that goes well over 255 (although I think I might be able to shave off some lines), and I don't have a good gameshark to test on console.
Nice job PaD. |
|
|
|
|
|
 |
 |
 |
 |
 |
PaD Agent

Joined: 20 Dec 2005 Posts: 72 Location: Datteln, Germany  |
Posted: Tue Apr 18, 2006 6:29 am Post subject: |
 |
|
as said, the code can still be shortened...
but this method of creating MP levels brings some serious problem with it:
weapon placement isn't possible.
the game writes the weapon objects still to the old addresses which it won't read anymore (because I changed the pointer).
that means the weapons would have to be "hard coded", which is sad.  |
|
|
|
|
|
 |
 |
 |
 |
 |
Wreck Administrator


Joined: 14 Dec 2005 Posts: 7252 Location: Ontario, Canada  |
Posted: Tue Apr 18, 2006 2:02 pm Post subject: |
 |
|
Here's a quick breakdown of the pointers in the 80075D00 area...
(not all are complete, some missing data which is for missions only)
80075D00: Path Preset ID Setup & ....?
Direct to: Pointer to.. in file, set above, ends on FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00
Note: not used in Multiplayer, must direct to terminator only!
80075D04: Paths, but used by what???
Direct to: Pointers to .. in file, set above, each ends on FF FF FF FF
Note: not used in Multiplayer, must direct to terminator only!
80075D08: Intro Block
Direct to: Intro cameras, if available, ends in 09 (unless used for other reason)
Consists of: Intro cameras, spawning point, starting inventory, outfit, opening action, into first-person camera
Note: only the respawns, starting inventory & outfit are used in Multiplayer!
80075D0C: Object Programming
Direct to: Briefing data, if available, ends in object type 30
Consists of: Briefing, objectives, characters, weapons, hats, keys, props, doors, glass, outro camera(s)
80075D10: Main Path Presets
Direct to: Pointers to Path Preset Data in File, set above, ends on 00 00 00 00 00 00 00 00
Note: not used in Multiplayer, must direct to terminator only!
80075D14: Spawning Data, etc.
Direct to: Pointers to Spawn Data, etc., set above, ends on 00 00 00 00 00 00 00 00 00 00 00 00
Note: not used in Multiplayer, must direct to terminator only!
80075D18: Basic Presets
Direct to: Preset "000" data, ends in empty slot
Consists of: XYZ Coordinates, Rotation, Plinkdata (which is read to find correct pointer)
80075D1C: Advanced Presets
Direct to: Preset "2710" data, ends in empty slot
Consists of: XYZ Coordinates, Rotation, Plinkdata (which is read to find correct pointer), Sizing information
80075D20: PAD Data?
Directs to: Pointers to PAD data in file, ends on 00 00 00 00 ?????
Note: not used in Multiplayer, leave blank or direct to terminator!
80075D24: Hall Data?
Directs to: Pointers to Hall data in file, ends on 00 00 00 00 ?????
Note: not used in Multiplayer, leave blank or direct to terminator!
That being said, you can redirect whichever you need to a blank space in memory. There is a chance that you can only use it once, however. When you try to reload the stage, the data has already been expanded. This may lock up the game. |
|
|
|
|
|
 |
 |
 |
 |
 |
PaD Agent

Joined: 20 Dec 2005 Posts: 72 Location: Datteln, Germany  |
Posted: Tue Apr 18, 2006 2:43 pm Post subject: |
 |
|
ok, thanks for this info.
that locking up is probably what I've experienced in PJ64.
I mentioned the weapon placing problem above, so I wonder whether it's either possible to make the game write the object data to any desired location (OK, ROM editing would allow this) or to use multiple object lists?
as far as I observed all this I would say in single player, there are multiple lists being used (might be wrong though).
if this was possible, it would be huge... |
|
|
|
|
|
 |
 |
 |
 |
 |
kcghost Hacker


Joined: 18 Jan 2006 Posts: 551
 |
Posted: Tue Apr 18, 2006 3:00 pm Post subject: |
 |
|
I had been thinking about that earlier, dreaming of course, lol. It would be awesome If you could just use the original objects, for say Archives , then instead of converting panes of glass or crates, and moving doors around, you could just add them in a different part of memory. My best guess at how it would be done through memory editing though would be to actually edit the part of the memory which contains the GE Engine, or something that handles other parts of the memory at a higher hierachy level, to be able to assign multiple pointers and handle both. Anyway, I cant dream for too long, I gotta get back to my new map that shall remain a secret until I figure all these presets and stuff out, and make the map.  |
|
|
|
|
|
 |
 |
 |
 |
 |
PaD Agent

Joined: 20 Dec 2005 Posts: 72 Location: Datteln, Germany  |
Posted: Wed Apr 19, 2006 1:50 am Post subject: |
 |
|
that isn't dreaming, that's all possible, you wanna know what I did with a Command & Conquer game? http://rtb.strategy-x.com/ -> features
but, it's the ROM that holds all the assembly stuff (I think so).
I'm not sure whether code is actually loaded into the RAM.
if so, you would just need to get into N64 assembly and how it accesses the RAM. |
|
|
|
|
|
 |
 |
 |
 |
 |
MultiplayerX 007


Joined: 29 Jan 2006 Posts: 1210 Location: USA  |
Posted: Wed Apr 19, 2006 5:24 am Post subject: |
 |
|
Man PAD I'm glad you came around. GoldenEye needs advanced hackers like you. Zoinkity and Subdrag have been struggling with getting the bugs worked out of a level editor that should let you upload infinite numbers of objects into a Solo-Multiplayer level with one pop using a pc. Until that time it looks like you might be on to something with you Facility Objects Pointer idea in the codes above. When Zoink pops in again you might ask him what else they're having problems with in the ROM editor. The more heads the better they say. Peace. _________________ [img]http://imgur.com/ud785Jq[/img] |
|
|
|
|
|
 |
 |
 |
 |
 |
PaD Agent

Joined: 20 Dec 2005 Posts: 72 Location: Datteln, Germany  |
Posted: Wed Apr 19, 2006 2:13 pm Post subject: |
 |
|
such an editor isn't a real hard thing to do actually, for singleplayer.
might be something I could do in the future
Multiplayer brings that weapon set problem with it.
for some reason the game reads the object data from the address at 80075D0C, but it still writes it somewhere else.
my observations were false. there's only one object data stream
what I found out is this:
80075D30 = pointer to Objective A object
80075D34 = pointer to Objective B object
80075D38 = pointer to Objective C object
[...]
till 80075D80, there's no other data at all.
this could mean you can have 20 objectives! not too sure though
80075D80 to whatever = pointers to several objects, some of them target objects (type 0016), some others (what's type 0023?)
no idea what they do |
|
|
|
|
|
 |
 |
 |
 |
 |
MultiplayerX 007


Joined: 29 Jan 2006 Posts: 1210 Location: USA  |
Posted: Thu Apr 20, 2006 2:08 pm Post subject: Yeah PAD, cool code (ABOVE) but doesn't work |
 |
|
Sweet code doc but it doesn't work. In a gameshark anyway. Even tried loading several times. Tried intro skip code to at least get into the game. Crap!! It's a no go..load. Really screws up the games intro graphics too. Sigh. One day GoldenEye. One day. _________________ [img]http://imgur.com/ud785Jq[/img] |
|
|
|
|
|
 |
 |
 |
 |
 |
Wreck Administrator


Joined: 14 Dec 2005 Posts: 7252 Location: Ontario, Canada  |
Posted: Thu Apr 20, 2006 2:34 pm Post subject: |
 |
|
Try rewriting your data to start at "80086000", which gives you until "800888BF" to place whatever you want. That's enough room for your last code, plus some. There is a chance that the beginning of it will be overwritten, however. But, considering that it's a one-shot load anyway, I don't think it matters much. |
|
|
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
|
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
|
|
|
 |