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


Turning a door into two other objects

 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department
View previous topic :: View next topic  
00zero
Agent
Agent


Joined: 10 Jan 2007
Posts: 32

 PostPosted: Mon Feb 05, 2007 7:26 am    Post subject: Turning a door into two other objects Reply with quote Back to top

in a previous topic by bmw (Facility Backzone plus Frontzone hybrid), Wreck talks about using a door object and replacing it with two other objects. i've tried replacing a door with two fuel barrels, but the second one doesn't load.

i've traced pointers to the 8006's, to a spot where it looks like it loads the objects in a chain sequence and the address of the object needs to be there. for each address that points to an object, there seems to be a pointer for the previous address pointer, and the next address pointer, thus the chain... in order to "create" a new object by using the last half of the door data, do we have to mod this chain, or add onto it?

Wreck - what's the little trick you learned?
 
View user's profile Send private message Send e-mail
bmw
Hacker
Hacker


Joined: 04 Jan 2006
Posts: 1366
Location: Michigan

 PostPosted: Mon Feb 05, 2007 7:30 am    Post subject: Reply with quote Back to top

I had that happen to me - if your second object is not loading but the first one is, my problem was that I didn't have the health attribute set for the second object.
 
View user's profile Send private message Visit poster's website
00zero
Agent
Agent


Joined: 10 Jan 2007
Posts: 32

 PostPosted: Mon Feb 05, 2007 7:45 am    Post subject: Reply with quote Back to top

bmw - i tried that, but maybe i didn't do it right. i'll try it again...
i also had problems with the barrels not regenerating when using a door object. did you have that problem too? how did you fix it?



adding the barrels to the multi level seems to slow it down quite a bit, with all the explosions and stuff. is there a way to turn the smoke off? and would that even help?
 
View user's profile Send private message Send e-mail
bmw
Hacker
Hacker


Joined: 04 Jan 2006
Posts: 1366
Location: Michigan

 PostPosted: Mon Feb 05, 2007 8:14 am    Post subject: Reply with quote Back to top

I had some problems getting the fuel drums to work properly - what made it even more difficult was that codes that work on the emulator don't necessarily work on the console. You might want to take a look at the code from my bottling room mod related to the fuel drums - it is console and emu tested, it explodes and regenerates properly:

50000A80 0000
811F1840 02F0
50000A80 0000
801F1843 0003
50000A80 0000
801F1845 003E
50000A80 0001
811F1846 2710
50000A80 0000
811F1848 0001
50000A80 0000
811F184A 0000
50000A80 0000
811F184E 0001
811F1934 03E8
811F1A34 03E8
811F1B34 03E8
811F1C34 03E8
811F1D34 03E8

Not sure if you've used serial repeaters before - the above code turns 5 doors into 10 fuel drums - if not I can simply explain how to mod one door into 2 drums by example:

First object from door:
811F1840 02F0 'size
801F1843 0003 'type (you HAVE to use an 80--- code here instead of an 81---)
811F1844 003E 'image
811F1846 2710 'preset
811F1848 0001 (explosivity flag)
811F184A 0000 (immobile?)
811F184E 0001 (another explosivity flag)

Second object from door:
811F18C0 02F0
801F18C3 0003
811F18C4 003E
811F18C6 2711
811F18C8 0001
811F18CA 0000
811F18CE 0001
811F1934 03E8 'health

Add 74 (hex) to your size address for the second object to calculate the address at which the health attribute is stored.

Now you say you're having framerate/lag problems as well? Which stage are you putting these in anyways? It might be a stage-specific problem.

EDIT - those final 3 flags (2 explosivity, 1 immoble) - I'm not certain if I'm correct on which flag does what, its been a while since I coded that and I don't have good notes on this. But I do know that one of those codes makes it so the drum does not move at all, the other 2 were related to getting it to explode properly)
 
View user's profile Send private message Visit poster's website
00zero
Agent
Agent


Joined: 10 Jan 2007
Posts: 32

 PostPosted: Mon Feb 05, 2007 9:44 am    Post subject: Reply with quote Back to top

i do use serial repeaters (a huge time saver b/c my GS doesn't connect to my pc)... you could shorten your code a few lines if you replace your health lines with:

50000A80 0000
811F18B4 03E8
it overwrites the already configured health, but saves a few lines of code.

i have been using 81-- for the object code... maybe that's the problem.
the flags you listed are helpful too. i used the GE Setup Editor to figure out what each flag does, but the two flags you indicated by 0001 aren't in the list i was looking at. the 0000 is actually a lack of flags, but i'm surprised it's not 0101, which should set the 'force collisions' and 'force to ground' flags.

i'm using the Facility on a console, and it slows down quite a bit with 3 or 4 people. even without barrels, but with exploding weapons, it gets skippy at times, so i thought that maybe if i could turn off the smoke it would help.
 
View user's profile Send private message Send e-mail
bmw
Hacker
Hacker


Joined: 04 Jan 2006
Posts: 1366
Location: Michigan

 PostPosted: Mon Feb 05, 2007 12:51 pm    Post subject: Reply with quote Back to top

Those flags may possibly be overwriting some flags which aren't having any negative effect (the first 2 digits, this was before I knew about using 80- codes). But at any rate, those flags should work as is.

As for your shortened serial repeater code - that will work, BUT, it does cut down on your number of available code writes (251) because every time the GS writes a code, even if its an overwrite, it still counts as a write. But obviously if you're not pushing upwards of 250 LOC then it shouldn't be a problem.

The facility varies greatly as far as framerate depending on which room you're in. Which room are you placing your barrels in? The quad room and the bottling room suffer some slowdown. Getting rid of smoke, while I don't know how to do it, probably wouldn't improve things much anyways. A much more effective way of gaining framerate is by closing off portals. I also found that in multiplayer (at least on emulator) - setting the music track to no music improves FPS by about 3 percent. I have no idea if it has any noticible effect on console.
 
View user's profile Send private message Visit poster's website
Wreck
Administrator
Administrator


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

 PostPosted: Mon Feb 05, 2007 7:04 pm    Post subject: Reply with quote Back to top

I'll try and give a brief breakdown of how it works.

(Using the "Enable All Players" code!)
"Bottling Tanks (optional)"

50000A80 0000
811F1840 0280 --> Sets the sizes for ten standard sized object blocks

50000A80 0000
801F1843 0024 --> Sets the types for ten standard sized object blocks

50000A80 0000
801F1845 0075 --> Sets the images for ten standard sized object blocks

50000A80 0001
811F1846 2710 --> Sets the presets for ten standard sized object blocks

50000A80 0000
811F1848 0002 --> Sets flags for ten standard sized object blocks

50000A80 0000
811F184A 1001 --> Sets more flags for ten standard sized object blocks

50000A80 0000
811F184E 0100 --> Sets more flags for ten standard sized object blocks

811F1934 03E8
811F1A34 03E8
811F1B34 03E8
811F1C34 03E8
811F1D34 03E8 --> Sets health for five standard sized object blocks

There are a few things you'll need to remember.
a) the byte prior to the object type in an object block tracks the bullet holes that have been put into the model. This value must not be modified by a constant 'force' code, otherwise the holes will not be shown at any time. I can't remember if the starting value matters, but you may need to make an activator that resets the number to zero.
b) always make sure that your second object has a size registered to it. If not, it won't probably won't display. That depends more on which model you're using and what flags are on, as well as the preset it is assigned to. Still, it should have a value for size.
c) get rid of any excess that is leftover from the door data in the sections that contain the object flags. If something remains as the stage is loading, it could possibly crash. And even if it doesn't, there's still a good chance that it won't load correctly.
d) in order for the secondary object to even register, you must set its health. However, using a constant 'force' code will cause your object to be invincible. This is okay if that's what you're going for, but it certainly won't be acceptable if it isn't. In that case, you'll need to make an activator for it. The default value at that location is most likely zeroes, so have it 'when detect value 0000, change to XXXX", depending on how much damage you want it to take. Default is 03E8. Here is an example of that...

Excerpt from "Glass P.2" in Facility Backzone v2.1

D11F1634 0000
811F1634 03E8 --> Detect when health value '0000', change to '03E8'

D11F1734 0000
811F1734 03E8 --> Detect when health value '0000', change to '03E8'
_________________

YOUTUBE | FACEBOOK | VAULT | MOD DB | RHDN
 
View user's profile Send private message Visit poster's website
00zero
Agent
Agent


Joined: 10 Jan 2007
Posts: 32

 PostPosted: Tue Feb 06, 2007 9:49 am    Post subject: Reply with quote Back to top

very touchy touchy... but i'm getting the hang of it now. thanks guys.

i think i found the problem i was having. i wasn't overwriting the end of the second set of binary flags on the second object, so the flags were set to 4CCC instead of 0000 or 0001. WAY OFF! once i got that in there, they work pretty good.

just so happens that i am reaching the 251 mark. i've moved some presets around and tried to make 22 fuel barrels. i'm learning more about how to effectively code, i didn't realize just how limited we are with the GS.

the level i'm working on is a small Facility Mid Zone. it starts behind the first remote operated door (which is now locked and the window is blacked out), and goes back through the locked door to the split room. the door to the Quad is locked and the door to the labs is locked. i took out the windows to the chem storage rooms completely, so you can see from one to the other and into the hallway. it's awesome for grenades and launchers to lob stuff through the windows, and the tanks are great for planting mines (as well as the hallway). i want to take some of the doors out completely because sometimes they're annoying, and i'm adding a lot of barrels because i like explosions. it's my first design, inspired by the Quad's arena style, i wanted to include the grey hallway's arena-like feel, but still have a few places to hide. it's definitely been a learning experience.

i tried laying a barrel on it's side for fun, but it always ends up halfway into the floor. i tried messing with the y-offset with no luck. can it be raised up without using 2710 preset?
 
View user's profile Send private message Send e-mail
bmw
Hacker
Hacker


Joined: 04 Jan 2006
Posts: 1366
Location: Michigan

 PostPosted: Tue Feb 06, 2007 11:34 am    Post subject: Reply with quote Back to top

When you say you're moving presets around, are you using wreck's preset map? Or are you actually modifying presets? You might already know this, but there are a ton of unused presets throughout facility.

If you need any help condensing down your code, you could post it here and I'm sure me or somebody else could take a quick look at it and make it more efficient.

As for barrels on their side - once you rotate them on their side, the problem is that they no longer automatically spawn to the floor. What you will want to do is set the "absolute positoin" flag (using a basic 00 preset) and then modify your y-coordinate value (not the y-offset)
 
View user's profile Send private message Visit poster's website
00zero
Agent
Agent


Joined: 10 Jan 2007
Posts: 32

 PostPosted: Tue Feb 06, 2007 12:05 pm    Post subject: Reply with quote Back to top

i'm using Wrecks (amazing) preset map, but i still wanted to place some weapons in areas that are "preset shy." i also wanted a spawn point along the back wall behind the red tank, so i moved one there. it's hard to choose eight good spawn points in such a small area, especially if you don't want to spawn right next to the weapons.

i'll definitly post when i get some of the bugs worked out so you can take a look and help me out with the efficiency and the layout... i need more testers, my buddies don't play as much anymore...
 
View user's profile Send private message Send e-mail
00zero
Agent
Agent


Joined: 10 Jan 2007
Posts: 32

 PostPosted: Tue Feb 06, 2007 2:29 pm    Post subject: Reply with quote Back to top

hey Wreck... i've been using your Quad code as my learning tool. can you explain to me why you use activators when changing the glass panes into fuel barrels? i'm talking about changing the 'align to preset' bit to 'force collisions' bit. why not just write it?
 
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
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 ]