Bugs and Glitches - widberg/fmtk GitHub Wiki
Audio Popping
Regardless of the SFX Volume and Music Volume settings there will be some short audio pops that play at full volume sporadically while driving. These sounds originate from the Sound Manager; patching out the Sound Manager update function makes them, and every other sound, stop playing. The game thinks it is playing these sounds at the correct volume as the DisplaySoundInfo
command shows the user selected volume for all of the sounds it displays. It is likely that they are being configured using a different interface than the rest of the sounds; one that does not set the Direct Sound buffer volume to be the same as the game's internal sound structure volume in the Sound Manager's update function. They are created and played with the same interface as the rest of the sounds so the bug must originate in proximity to creation when the game's internal sound structure is configured. Hooking the IDirectSound::CreateSoundBuffer
method and setting the volume to DSBVOLUME_MIN
before handing the buffer handle back to the game successfully eliminates the popping. This is proof that the game is never setting the volume of these buffers.
No VSync
The EnableVSYnc
command appears to have no effect on the actual VSync setting.
Weird FPS Locking Behavior
When launching the game with DisableMOvie
so that the intro video is never played, the framerate will be capped 64 fps. After enabling movies again and playing one, the framerate cap will rise to 500 fps. This indicates that the Bink Video player used by the game is affecting the game's framerate cap.
Prominent Zouna Underground member SabeMP has discovered the cause of this bug and introduced a fix for the Ratatouille video game in commit 7bdc9cb: Added 64fps bug fix. Added removeFpsCap option of his taR custom launcher for the PC version of Ratatouille. An explanation of the cause of the bug as described by SabeMP follows.
The bug is caused by a change from the default value of the system timer resolution by binkw32.dll, the dynamic library used by Bink Video. The game calls Sleep(1)
in the message loop intending to sleep for 1ms, instead of the 15.625ms the game was actually sleeping for due to the low default resolution. Bink would change the resolution by calling timeBeginPeriod
/timeEndPeriod
which raised the fps cap. The article Windows Timer Resolution: The Great Rule Change was instrumental in SabeMP's discovery of the cause of the bug.
Weird Driver Model Pose On Spawn
Sometimes when the driver respawns after a crash, the mount points will be in the right place but the other parts of the mesh will be in weird positions. This bug appears to go away when the fps is locked to 60. If you alt-tab at the right time while loading, the guy wont respawn on the bike but you can still drive it.
Alt-Tab Unload Behavior
When alt-tabing out of the game in full screen mode, all world objects will unload and slowly load back in when the window gains focus. This has the side effect of disabling collision with most things while the game is minimized.
Alt-Tab Soft Lock
If you alt-tab fast enough the screen will go black and lock until the process is killed.
Camp Menu Text Replacement When Exiting With GFWL
When you exit with GFWL the camp menu's name gets replaced by the networking menu's name.
DirectInput Support Is Broken
Only the XInput support is fully functional.
Ghost Barn
One of the barn meshes doesn't have collision.
Invisible/Disappearing FUEL Barrels
Sometimes the FUEL Barrels will disappear while on screen.
Memory Leaks
Performance decreases dramatically as the game runs and memory usage increases.
Collision Crash
The game will crash during a physics collision very rarely. Although if you play for a long enough time it will happen eventually. It can also happen only 1-2 hours into playing. The address of EIP that raises the out-of-bounds memory access looks like a float value. Maybe they are dereferencing a float.
Tree Missing Face
One of the "ramp trees" is missing a face on the underside of the ramp part.
Select any Car Glitch
https://steamcommunity.com/sharedfiles/filedetails/?id=408757353
Respawn in Ground
If a respawn point is recorded on a steep slope and you are oriented perpendicular to the slope, there is a chance you will respawn with half of the vehicle embedded in the slope.
Flickering
I don't think this is related to fps. Looks like really fast scanlines. Most noticeable in snowy areas.
Transparent Terrain
Sometimes when returning from Alt-Tab certain models like trees will be visible through the terrain.
Invisible Bush
There's a bush that has collision but no model.
Render Order
Sometimes water will render over leaves or far smoke renders over near smoke.
Bad Bridge Collision
Sometimes trucks will drive through the bridges if you aren't close enough for collision to be enabled.
Flattened Terrain No Collision
Sometimes when running under a debugger, the flattened terrain will render but not be collideable. Instead, you will fall through it/drive over it on the height map terrain. This happens when having a breakpoint on where the vehicle params pointer is copied, and other times too I guess.
Ghost A-Frame Fence
When hitting the 2 A-frame fences that line some dirt roads a third one will pop in. This only happens for the fences placed on a certain road type, like the ones at (6148.37, -21667.72) and (6267.63, -23439.29). The same fence can spawn on a different road type, like at (5303.70, -26513.78), too but this bug doesn't happen for those fences. It kind of looks like they're spaced as if there should be 3 of the fences with the ones that break into 3. Maybe it's more about the type of fence prefab that gets placed than the road.
Ghost Window Shutter
The shutters on one of the house models are 1-sided and transparent stuff renders over them from one direction.
Firefly Bumper Duplication
Every time you crash into something with the Firefly, the front bumper is left behind, even if it has already fallen off.
AutoSave Spinner Draws Over Mouse
During the opening sequence the spinner on the autosave warning screen will draw over the mouse cursor. Also the stars and fuel count in the pause menu draw over mouse.
SpecialEffectsManager_G::~SpecialEffectsManager_G
on exit
Crash deep in After finishing a race with a tornado and returning to freeride, if you exit the game normally, it may crash several calls deep in the SpecialEffectsManager_G
destructor. https://github.com/widberg/FUELDecompilation/issues/1
Helicopter Name Not Translated
The hardcoded string "helo" is used as the name of the helicopter in the race ranking. Should probably be translated.