|
|
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
|
|
|
|
|
|
|
|
|
|
zoinkity 007
Joined: 24 Nov 2005 Posts: 1687
|
Posted: Mon Aug 27, 2012 8:42 am Post subject: |
|
|
Oops! Sorry! I meant 'greater than decagon'. Anything over ten sides.
The > decagon issue applies to all clipping tiles unless you applied a very specific patch to eliminate it. There's also a related 'nonpolygon issue' I'll get to in a moment.
Technically they aren't supposed to be polygons but triangles with segments cut in each face, and that explains some of the peculiar behaviour when one of the 'split' sides is ridiculously oversized or when the segmentation isn't evenly distributed.
Background:
Tiles all consist of a header that's 8 bytes long, followed by side info that's another 8 each side. So, to work out the size of a tile entry all you really need to know is the number of sides.
Code: | triangle:
8 header
8 side 1
8 side 2
8 side 3
total: 0x20
quad:
8 header
8 side 1
8 side 2
8 side 3
8 side 4
total: 0x28
etc. |
The issue lies in that the tile parser uses an offset table instead of caluclating the size, leading to the two problems just mentioned. The table has only eleven entries and is found at 80040F4C, or 0x201BC in the root compressed file.
Code: | 0x20 0 sides
0x20 1 side
0x20 2 sides
0x20 3 sides
0x28 4 sides
0x30 5 sides
0x38 6 sides
0x40 7 sides
0x48 8 sides
0x50 9 sides
0x58 10 sides |
Any more sides than 10 will be undefined, or more appropriately will be 0, then 0x80, then undefined, since the next couple values are guaranteed. Either way, they won't work except by accident.
You'll also notice that any sides less than 3 will be assumed to be the same size as three by this parser. In actual fact there's more than one, each for a specific purpose. That isn't ideal design, since you should really just have a function dedicated to it when you're doing the exact same thing in a couple places, but that's how it goes. So, this parser expects one size, and the other will calculate the size.
There is a patch that radically alters the clipping parser to eliminate this behaviour, but there are other disadvantages to using obscenely-sided tiles. First off has to do with search paths and interlinkage, and the second with conceptual design implying these are segments of a single triangle and demanding an equal division of sides.
Of course, we didn't work that mess out until much later, so Citadel is the worst example of a custom floor. Compare that to Car Park or Chicago, also done by hand but after most of the issues were finalized.
Actually, Chicago needs a new background dump, because that was before we realized how to export env. mapped stuff to GE. Any time you see crazy swirly colors like that it's probably normals being read like vertex colors. _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
|
|
|
|
|
Wreck Administrator
Joined: 14 Dec 2005 Posts: 7198 Location: Ontario, Canada |
Posted: Mon Aug 27, 2012 9:29 am Post subject: |
|
|
I wonder if there needs to be something special done for the environment mapping in stage backgrounds for GoldenEye into Perfect Dark? I've noticed a bit of strange behaviour with it in some ports. Might need to take a good look at it. _________________
YOUTUBE | FACEBOOK | VAULT | MOD DB | RHDN |
|
|
|
|
|
|
|
|
|
|
SubDrag Administrator
Joined: 16 Aug 2006 Posts: 6124
|
Posted: Wed Aug 29, 2012 7:04 pm Post subject: |
|
|
My environment mapping test in pd didn't work perfectly... I wonder if rgbs still aren't autoported perfectly. |
|
|
|
|
|
|
|
|
|
|
Rey 007
Joined: 07 Feb 2012 Posts: 785 Location: US |
Posted: Thu Aug 30, 2012 11:51 am Post subject: |
|
|
If the setup been of Citadel doesent have clipping,then how am I able to add presets? _________________ www.youtube.com/gamerrey23 |
|
|
|
|
|
|
|
|
|
|
zoinkity 007
Joined: 24 Nov 2005 Posts: 1687
|
Posted: Thu Aug 30, 2012 2:04 pm Post subject: |
|
|
Do you see at the top of the window how it says 'Zoinkity's Citadel'?
The original clipping file isn't compatible with the engine for a couple silly reasons, least being that all the positions are float values and the headers are formatted differently. So, instead, it loads my clipping file instead. Just one more thing the editor does behind your back ;*)
If you open the clipping folder you'll see two files for Citadel:
844010.bin, which is mine
844010citadelreal.bin, which is the original, incompatible one.
Did figure out the format of it actually, and one day if I'm bored enough I'll port the original back into modern GE format for the heck of it. I've actually concidered doing it just to align my own tiles to their original pad values. No real point to it, but hey.
Original clipping and tile format:
Code: | clipping file format
0x0 4 RESERVED
0x4 4 offset to tiles
0x8 4 NULL-terminated list of offsets to certain flagged tile sets
... var. tiles, terminated with 'unstric'
... var. pad string names
tile format:
0x0 4 offset to pad string name
0x4 2 flags for attributes and lighting
0F00 4-bit Red lighting component
00F0 4-bit Green lighting component
000F 4-bit Blue lighting component
0x6 1 special attribute
0 normal tile
1 kneeling
3 ladder
0x7 1 room#
0x8 1 #vertices
0x9 1 primary vertex 1
0xA 1 primary vertex 2
0xB 1 primary vertex 3
0xC var. vertices, 0x10 each
vertex format:
0x0 4 (float) x position
0x4 4 (float) y position
0x8 4 (float) z position
0xC 4 offset to connected tile
|
_________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
Last edited by zoinkity on Mon Sep 10, 2012 6:40 am; edited 1 time in total |
|
|
|
|
|
|
|
|
|
|
SubDrag Administrator
Joined: 16 Aug 2006 Posts: 6124
|
Posted: Thu Aug 30, 2012 2:12 pm Post subject: |
|
|
That's interesting. So the original clipping engine actually connected the bgfile to clipping tile, but no connections between tiles? I wonder if they started down this road, and just wasn't working right so had to do completely separate? |
|
|
|
|
|
|
|
|
|
|
Rey 007
Joined: 07 Feb 2012 Posts: 785 Location: US |
Posted: Thu Aug 30, 2012 2:54 pm Post subject: |
|
|
So most of the items are basically toggled in the air? I can't find the clipping file you you mentioned. _________________ www.youtube.com/gamerrey23 |
|
|
|
|
|
|
|
|
|
|
zoinkity 007
Joined: 24 Nov 2005 Posts: 1687
|
Posted: Thu Aug 30, 2012 4:28 pm Post subject: |
|
|
There are connections between tiles. The last word is an offset directly linking one tile to the next. It's the same thing as the offset values, except no offsetting. The pad pointers are handy too, although the binary form is shorter. Personally I wish they used the binary form in setups as well.
One huge advantage of the old format is it supports >0xFE rooms and very precise positions, so really you don't need to worry about a 'best fit' to geometry at a given scale.
The modern format though isn't just more compact, but easier to parse. Instead of 0xC headers and 0x10 vertices, you have 0x8 for either--a simple <<3. Plus, it doesn't contain any more or less data in the end. Also, unstrict no longer is a special case but uses a formatting element, detecting an empty tile as the end of the list.
The file may have been pulled out of more recent installations. I have GE editors going back to beta pre-release ones. It was in version 1 releases and some of the earlier version 2s. It can also be pulled manually or with the standalone file dumper.
Converted file:
http://www.mediafire.com/?3f2dmffrix0b8di _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
|
|
|
|
|
Johnny Thunder 00 Agent
Joined: 10 Jan 2017 Posts: 484 Location: Mexicali, Baja California, Mexico |
Posted: Tue Apr 11, 2017 9:39 pm Post subject: |
|
|
That interesting, I plan, possibly after finishing my mod, I will do a Citadel mission, but in what if I will have serious difficulty will be to make the sets so that the enemies walk _________________ Johnny Thunder masterpiece:
RickRollEye 64
Visit my youtube channel:
Johnny Thunder: The Revenger
Visit My discord:
Afterwards Studios |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|