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


GE Documentation
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department
View previous topic :: View next topic  
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1736

 PostPosted: Thu Apr 01, 2010 6:06 am    Post subject: Reply with quote Back to top

Hooray! Update!

This update includes:

  • Documentation on the explosion and smoke entry formats. 21 different explosions, 11 types of smoke.
  • Annotated dASM for player control routine. Controller configs are handled messily here.
  • Bugger that handles when explosive objects detonate. Didn't bother with the smoke or explosion code itself yet.
  • About a dozen different controller pak access routines, including some to pull mempak blocks 1 and 7 for no obvious reason.
  • Shifted around a bunch of docs. The "addresses" doc now contains all the address indexes originally found in the "editor WIP".
  • Bunch of stuff on controller pak access and support.


Now for some neat explosion tidbits. 80052A94 is the proximity detection range, squared. This saves them using an expensive SQRT command on the distance. You can set the smoke colour to any crazy thing, even yellow or red. If you set bitflag 10000000 in the first bitfield of a ammo clip, it will explode!
Remote mines detonate differently in Cuba than every other stage. Ever wonder why they didn't have pickups for remote mines, etc outside of ammo boxes? Player 1 can detonate them at any time, which was fixed in later releases. Also interesting is that only in NGEE can you detonate a mine before it has "activated" and after it has detonated.
Oh, incidentally, there's a patch to correct this. It's part one of a patch to update stuff in NGEE bugfixed in later versions. I don't have it reading the timer--the timers are nominal anyway--but it doesn't re-detonate any mine with a timer at -1.

Somewhat important to modders:
Plastique, when it explodes, sets a unique lock bit on the on-screen clock. In other words, if you ever destroy plastique, it will automatically trigger explosions around the player at a 2 second delay, then immediately remove the on-screen clock in a way you have to manually recover.

As far as strange controller pak stuff, rumble support should be pretty well documented in the TLB index and address file. There's about 20 different registers for it, each player-specific: one to denote if you have a rumble pak, another to say how many milliseconds you'll rumble for, and another to tell the strobe state.
Don't know why, but when a mempak is first discovered it pulls block 1 and 7. These are saved and apparently never used. Other devices aren't caught.

-Zoinkity
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
EternallyAries
007
007


Joined: 05 Oct 2009
Posts: 1943
Location: Las Vegas

 PostPosted: Thu Apr 01, 2010 7:19 pm    Post subject: Reply with quote Back to top

Wow good job zoinkity. But i can find the download link?
_________________
There totally nothing to read here.
 
View user's profile Send private message
SubDrag
Administrator
Administrator


Joined: 16 Aug 2006
Posts: 6179

 PostPosted: Fri Apr 02, 2010 4:59 am    Post subject: Reply with quote Back to top

It's on page 1 of this
 
View user's profile Send private message
EternallyAries
007
007


Joined: 05 Oct 2009
Posts: 1943
Location: Las Vegas

 PostPosted: Fri Apr 02, 2010 11:56 am    Post subject: Reply with quote Back to top

Ok thanks SubDrag
_________________
There totally nothing to read here.
 
View user's profile Send private message
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1736

 PostPosted: Sat Sep 25, 2010 8:26 am    Post subject: Xthost ate some sharapnel. Xthost is no more. Reply with quote Back to top

This is the new link.
http://www.mediafire.com/?dxvz2ygi675i22f

I'm not certain if that's the most current file, but I'll update it at the next opportunity.
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1736

 PostPosted: Tue Dec 28, 2010 9:06 am    Post subject: Reply with quote Back to top

Hooray! Update! About time...
New link:
http://www.mediafire.com/?755zss9i33d75qi
Sadly it looks like I'll have to use new links all the time...

This update includes:

  • Documentation on how the C0- pseudomicrocode command is processed. The basic format was updated at the bottom of image declarations.txt in the images text and font folder. Also look for the posts around this board.
  • A little on how "joy2 detail edit" works, which was again summed up in a thread on this board.
  • A tiny amount of work on how certain images are caught as "light fixtures", as well as the special microcode linked to lights and basic water textures.


Light textures--as in the ones on walls you can shoot and they shatter, dulling the texture--are believe it or not a special case. 80082660 is an index of all detected instances of certain images set as lights. 7F0BB630 sorts that out, and currently that's hardcoded to accept only the following images: 0C9, 0CB, 0CD, 0FC, 0FE, 0FF, 100, 1AC, 3D6, and 567. Naturally, this is going to change in the future. In actual fact you can set any image to be detected as a light, including new ones.

As mentioned above two other textures are linked to special case microcode. Textures 5E4 and 5E7 both link special microcode after loading the texture to handle the special nature of enviroment textures. When 5E4 is used 7F09343C will either DL branch to the code at 8003FCC0 or directly copy data, and if 5E7 is used 7F09365C does the same with 8003FD28. Of course, the irony is via enviroment blocks (fog stuff) you can swap the default texture IDs here with other ones, but then they never used anything but defaults.
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1736

 PostPosted: Sat Mar 03, 2012 6:15 pm    Post subject: Two years since last update!? Reply with quote Back to top

http://www.mediafire.com/download.php?755zss9i33d75qi
Hopefully nothing was retro'd or necro'd. Can't keep anything straight anymore.

Most things are reorgainized and there's a few new annotated disassemblies. Tried to make NSNA's document tree roughly the same as the uneditted tree. Have half a mind to place all uneditted in a single folder. I'm still sorting through other documents to fit them in and need to put the big annotation of the 70- TLB segment in there.
Aegh...

Still many more files to split and others to update. Eventually want only uneditted code in the normal segment.

Oh, if you're into forbidden knowledge there's a couple workpads in there for unreleased patches in alpha state.
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
Trevor
007
007


Joined: 15 Jan 2010
Posts: 926
Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest

 PostPosted: Sun Mar 04, 2012 6:29 am    Post subject: Reply with quote Back to top

"21 different explosions, 11 types of smoke"

Wow, I wounder if we can mod one to look real for a Frag Grenade.
In reality Frags dont 'fireball' :lol

Trev

P.S. Actually what we also need is a different sound for the last round of the M1 Garand in the Goldfinger Project.
As many are aware the Garand makes a identifiably Unique sound on its last shot as it also ejects the clip that held the 8 cartriges together on insert.

The Garand is currently (Unlikly to change due to all slots being filled) in the GoldenGun Slot.

Thanks, heh, I only ask here incase Sub forgets to ask Razz
_________________
 
View user's profile Send private message
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1736

 PostPosted: Sun Mar 04, 2012 5:08 pm    Post subject: Reply with quote Back to top

Also, 20 scorches, 100 bullet impacts, and a player-dependant number of casings (200/#players, except Depot and Streets that halve that) despite it not using casings in MP...

Concidering you have to hack it so it can't be reloaded (only autoreloaded) you might as well just trigger the sound within the reload routine. Granted, technically you can wedge a key or piece of metal to trigger the release and eject it early (or use one of several questionable field modifications) but hey, that's cheating. Oh, and you'll need to dedicate a register for the current remaining shots in each player's rifle.

The only issue with a frag is that GE handles explosion damage dealt using the explosion itself. Interestingly, only explosions above a certain size cause damage. This is essential, since gunfire impacts generate both the impact image and a small explosion, in turn generating smoke.

Best bet would be to make a throwable item with a time-delay remove + proximity injury + sharapnel effect, maybe a little smoke too. In other words, do a search for an actor within a given radius and do random damage to them multiplied against their distance from source. Not really accurate, since a real frag should simulate sharapnel damage as a ray-projection. You could make a random ray-projector...

As for a smoke grenade (as useless as that would be without an AI overhaul) that's remarkably simple. Take the hardcoded explosion register and funnel it into the smokegen instead. Heck, you can do random colors as well for signal flares.
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!


Last edited by zoinkity on Wed Mar 28, 2012 11:14 am; edited 1 time in total
 
View user's profile Send private message Send e-mail
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1736

 PostPosted: Wed Mar 28, 2012 7:53 am    Post subject: Reply with quote Back to top

Updated again. Contains some Spectrum stuff now ;*)
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
SubDrag
Administrator
Administrator


Joined: 16 Aug 2006
Posts: 6179

 PostPosted: Wed Mar 28, 2012 8:31 am    Post subject: Reply with quote Back to top

Sweet, which folder held Spectrum stuff? Didn't see it offhand.
 
View user's profile Send private message
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1736

 PostPosted: Wed Mar 28, 2012 11:12 am    Post subject: Reply with quote Back to top

Mostly Gameplay and Misc\System. That's the big partial disassembly. Also, the TLB index was revised to have links to each of the JR'd subroutines for the opcodes. 21990 index labels some of the reserved and dependant data.

Main Menus\Main and Misc\menu 19 - Spectrum emulator (removed) contains disassembled samples of the menu used to load the thing.

Some of the other files that test or initialize variables now are properly labeled. Main program loop is one of them.

After all those projects are done I'll come back and really, properly annotate the snot out of the thing. Want to know precisely how it works and how it can be made better! Wouldn't it be awesome to have a 128x emu as well?

[edit]
Completely forgot to drop the changed data file in there someplace. Aegh... I'll catch it in the next iteration.
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1736

 PostPosted: Mon May 21, 2012 7:38 pm    Post subject: Reply with quote Back to top

http://www.mediafire.com/download.php?755zss9i33d75qi

Biggest addition is the partially-annotated 70000400 NGEE.txt. Still need to crossreference everything with the TLB index, and there's still a whole stack of work to do.
Note the amazing 64DD initialization routine. Before anyone gets too bent out of shape they never intended to use it. It's just a fluke of being compiled with some of the debug libraries. Could be hijacked to use FLASHram though, saving replays and other cool stuff like that.
Anyone who wants to figure out the specifics behind the thread system are more than welcome to do that. Please, please do.

Oh, the address ranges doc finally has all the same references as the 21990 offset table.

Also, Background File Data\Global Visibility Microcode\commands.txt is a complete list of all the global visibility commands. It should even be accurate ;*) I'll be making an update to visiscript to account for the better info. Last couple types just fell into place suddenly. Most commands aren't used, but you can totally make some trippy custom multi-conditional tests with the thing.
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department All times are GMT - 8 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
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 ]