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


Joined: 28 Sep 2024 Posts: 11 Location: Canada  |
Posted: Sat Apr 05, 2025 11:14 am Post subject: |
 |
|
I've got some of these changes as part of Operation MonkeyWrench patches.
- Remote Mine Fix: Forces remote mines to test for a stopped timer. This prevents detonation of standalone objects and re-detonation of undeleted mines.
- Staggered explosions Fix: Inhibits removal of explosives when the explosion cap is reached. These will detonate at the next available opportunity.
- Default Text Bank Fix: Any stage lacking a specific text bank will loop endlessly. The default is Citadel which is invalid, this changes the default to Bunker I's text bank.
The Default Text Bank Fix is applied automatically to a any mod by the editor. |
|
|
|
|
|
 |
 |
 |
 |
 |
axdoom Agent


Joined: 28 Sep 2024 Posts: 11 Location: Canada  |
Posted: Sun Apr 27, 2025 2:08 pm Post subject: Floating point exception bug |
 |
|
Hi,
I created a new setup for Caverns. It crashes on real hardware but not on emulator.
I imported the Setup file into my modified GE engine which has the crash screen enabled and it shows that there is a floating point exception occurring. The exception sets some extra CPU flags (FPCSR: flush denom to zero, condition bit, unimplemented operation, invalid operation, overflow, inexact operation, round to nearest).
The function where it crashes is 7F0B0688, when the game is subtracting the 1st parameter of that function from the 8th one. I don't have the exact address around, but it crashes on this instruction:
Code: | 46 04 52 01 sub.S S f8,f10,f4 |
We've been speculating that the cause of the exception is a "denormal" float, also known as "subnormal". The N64 hardware doesn't handle them and won't generate them because the VR4300 designers decided not to support them, so the result of the speculation was that only external tools can generate those floats (such as the setup editor).
Intel processors support them but the N64 doesn't. Does the Setup Editor encode denormal/subnormal floats into its setup files? This is possibly the cause of the crash.
Test map: https://files.fm/u/7c6d2psesu
Pick Caverns MP. Test with 2 players. I didn't adjust the mem values, so if you go higher, it will likely crash for other reasons. |
|
|
|
|
|
 |
 |
 |
 |
 |
axdoom Agent


Joined: 28 Sep 2024 Posts: 11 Location: Canada  |
|
|
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6175
 |
Posted: Mon Apr 28, 2025 12:57 am Post subject: |
 |
|
Not normally. You must have something off in setup. Backup setup, delete objects and test until it works to figure out. Probably an object or preset not over clipping or other small issue. |
|
|
|
|
|
 |
 |
 |
 |
 |
Wreck Administrator


Joined: 14 Dec 2005 Posts: 7252 Location: Ontario, Canada  |
Posted: Mon Apr 28, 2025 2:40 am Post subject: |
 |
|
Just a quick comb through, these are some things I noticed...
Start Pad 0005 used twice
Traditionally Flag Token is first weapon (but shouldn't hurt)
A door has In Air Upside-Down flag on?
Only the last one might have any kind of possible impact. None of the pads needed relinking, at least, so your glass should be correct. Also, the eyelid doors are not really used to close portals. The iris do that. The shape doesn't suit it. |
|
|
|
|
|
 |
 |
 |
 |
 |
zoinkity 007


Joined: 24 Nov 2005 Posts: 1729
 |
Posted: Mon Apr 28, 2025 9:27 pm Post subject: |
 |
|
Exporting just the setup uncompressed makes it easier to browse the binary. ("Save Setup Uncompressed" in the file menu.)
There's a pretty solid 1:1 correspondence between what you type into the editor and what you get out. To output a denormalized value or something like -inf you'd need to type it in yourself. That function lies past preset expansion though so it should have been fatal sooner. Expansion is just the original value multiplied by stage scale and can be previewed in the editor's "presets/pads" dialog.
Indirectly though? Presets are multiplied by stage scale, then objects' local positions are derived from those and, depending on settings, may automatically drop flush to clipping (which has a randomizer involved, so really a range). Certain object types have other local values for depth, etc. that are adapted from the position data as well. Not impossible, but clearly an edge case.
Like Wreck said, it's much more likely you used a combination of object settings and/or invalid locations that caused an error. They're the two most common errors after all. Displaying an object inside out or placing a preset outside of clipping's bounds can be fatal depending on type & flags (especially an 0x2710 type). Inverting the dimensions of a door was only fatal from certain directions iirc... Some types of door motion can cause math errors if they move way out of bounds after activation.
tl;dr: most errors are solved by checking object settings and not using a scale of 100000000000000000000000.
Also, Ares would probably want a bug report if denormalized floats aren't tripping errors in their emu. Pretty sure they implemented that.
MP flag items don't have to be the first entry. You can even have more than one, as silly as that is. Good practice though, they're easy to forget otherwise. |
|
|
|
|
|
 |
 |
 |
 |
 |
axdoom Agent


Joined: 28 Sep 2024 Posts: 11 Location: Canada  |
Posted: Tue Apr 29, 2025 2:23 pm Post subject: |
 |
|
It was either the same spawn used twice that caused the issue (very likely) or two unused pads (not likely).
I created an utility to parse floats and find if they're denormalized. I pasted the list generated from the Edit Presets menu which comes out as hex and there was no denormalized float in there. Still weird that I got this exception on console. Once I improve my crash screen to properly parse the stack, I'll have better stack trace which will offer me a better understanding of the issue.
Ares crashed on Linux when loading the unfixed setup, but didn't on Windows, which is weird. |
|
|
|
|
|
 |
 |
 |
 |
 |
zoinkity 007


Joined: 24 Nov 2005 Posts: 1729
 |
Posted: Tue Apr 29, 2025 3:30 pm Post subject: |
 |
|
Just remove objects until it stops happening. That's your offender.
It's faster, easier, and requires less work to get a result than walking through a stack trace. |
|
|
|
|
|
 |
 |
 |
 |
 |
PeeMoldy Agent

Joined: 30 Nov 2023 Posts: 18
 |
Posted: Tue May 20, 2025 8:23 pm Post subject: |
 |
|
SubDrag wrote: | Not normally. You must have something off in setup. Backup setup, delete objects and test until it works to figure out. Probably an object or preset not over clipping or other small issue. |
Hello there Subdrag! So when I try to replace a new hue colored texture in the img tools for the AR33's muzzle flash, it doesn't display properly. It will work if a PD texture is used like Cyclone Muzzle Flash Blue Texture replacing AR33 Muzzle Flash Yellow Texture, but trying to rehue in GIMP or paint.net then use the newly colored texture will not display properly. I don't know what to do...  |
|
|
|
|
|
 |
 |
 |
 |
 |
SubDrag Administrator

Joined: 16 Aug 2006 Posts: 6175
 |
Posted: Wed May 21, 2025 1:04 am Post subject: |
 |
|
You'll have to be more specific. Provide exact textures you changed and the new texture here, steps, what you did, etc. Also what goes wrong? |
|
|
|
|
|
 |
 |
 |
 |
 |
PeeMoldy Agent

Joined: 30 Nov 2023 Posts: 18
 |
Posted: Wed May 21, 2025 7:41 am Post subject: |
 |
|
SubDrag wrote: | You'll have to be more specific. Provide exact textures you changed and the new texture here, steps, what you did, etc. Also what goes wrong? |
The goal is to do something like this with the Muzzle Flash of the AR33 but go beyond the colors of the normal yellow or the blue PD Cyclone muzzle flash.
The img preview in the replace img feature in Image Tools will look like this if the texture displays correctly.
If the img is rehued with any image editing software I've used thus far, paint.net, GIMP, Krita, etc... It will look like this in the preview, and be messed up looking in game. This issue happens with the laser textures too for the Moonraker Laser. What I want to do is get the textures to display properly like in the 1st image. |
|
|
|
|
|
 |
 |
 |
 |
 |
HackBond 007


Joined: 14 May 2009 Posts: 1370 Location: Scotland  |
Posted: Wed May 21, 2025 8:45 am Post subject: |
 |
|
PeeMoldy wrote: | SubDrag wrote: | You'll have to be more specific. Provide exact textures you changed and the new texture here, steps, what you did, etc. Also what goes wrong? |
The goal is to do something like this with the Muzzle Flash of the AR33 but go beyond the colors of the normal yellow or the blue PD Cyclone muzzle flash.
The img preview in the replace img feature in Image Tools will look like this if the texture displays correctly.
If the img is rehued with any image editing software I've used thus far, paint.net, GIMP, Krita, etc... It will look like this in the preview, and be messed up looking in game. This issue happens with the laser textures too for the Moonraker Laser. What I want to do is get the textures to display properly like in the 1st image. |
I've been trying to assist them with this. Paint.net doesn't give you enough options to export the bmp at the right format, so it breaks there. You can get the proper output from GIMP.
When you "Export as" in GIMP 3.0, set it as a windows BMP image. Name it and click export. It will show a window about what bmp format you want it in. Set that to 32-bit A8 R8 G8 B8.
 _________________ Also known as Spyster or Nyxem
[Youtube]
[Decoy] Antenna | Control | Silo | Escape |
|
|
|
|
|
 |
 |
 |
 |
 |
PeeMoldy Agent

Joined: 30 Nov 2023 Posts: 18
 |
Posted: Wed May 21, 2025 8:49 am Post subject: |
 |
|
HackBond wrote: | PeeMoldy wrote: | SubDrag wrote: | You'll have to be more specific. Provide exact textures you changed and the new texture here, steps, what you did, etc. Also what goes wrong? |
The goal is to do something like this with the Muzzle Flash of the AR33 but go beyond the colors of the normal yellow or the blue PD Cyclone muzzle flash.
The img preview in the replace img feature in Image Tools will look like this if the texture displays correctly.
If the img is rehued with any image editing software I've used thus far, paint.net, GIMP, Krita, etc... It will look like this in the preview, and be messed up looking in game. This issue happens with the laser textures too for the Moonraker Laser. What I want to do is get the textures to display properly like in the 1st image. |
I've been trying to assist them with this. Paint.net doesn't give you enough options to export the bmp at the right format, so it breaks there. You can get the proper output from GIMP.
When you export as in GIMP 3.0, set it as a windows BMP image. Name it and click export. It will show a window about what bmp format you want it in. Set that to 32-bit A8 R8 G8 B8.
 |
Yeah I saved it like that in GIMP and it still has the issue, same with Krita! |
|
|
|
|
|
 |
 |
 |
 |
 |
HackBond 007


Joined: 14 May 2009 Posts: 1370 Location: Scotland  |
Posted: Wed May 21, 2025 8:56 am Post subject: |
 |
|
PeeMoldy wrote: | HackBond wrote: |
I've been trying to assist them with this. Paint.net doesn't give you enough options to export the bmp at the right format, so it breaks there. You can get the proper output from GIMP.
When you export as in GIMP 3.0, set it as a windows BMP image. Name it and click export. It will show a window about what bmp format you want it in. Set that to 32-bit A8 R8 G8 B8.
|
Yeah I saved it like that in GIMP and it still has the issue, same with Krita! |
GIMP seems to have an issue outputting this properly too.
This is the output from GIMP
This is the output from Photoshop
 _________________ Also known as Spyster or Nyxem
[Youtube]
[Decoy] Antenna | Control | Silo | Escape |
|
|
|
|
|
 |
 |
 |
 |
 |
PeeMoldy Agent

Joined: 30 Nov 2023 Posts: 18
 |
Posted: Wed May 21, 2025 9:13 am Post subject: |
 |
|
HackBond wrote: | PeeMoldy wrote: | HackBond wrote: |
I've been trying to assist them with this. Paint.net doesn't give you enough options to export the bmp at the right format, so it breaks there. You can get the proper output from GIMP.
When you export as in GIMP 3.0, set it as a windows BMP image. Name it and click export. It will show a window about what bmp format you want it in. Set that to 32-bit A8 R8 G8 B8.
|
Yeah I saved it like that in GIMP and it still has the issue, same with Krita! |
GIMP seems to have an issue outputting this properly too.
This is the output from GIMP
This is the output from Photoshop
 |
It's a compatibility issue for sure. I wonder why no other image editor but Photoshop works for this... |
|
|
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
|
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
|
|
|
 |