Skip to content

Quake 4 BSE effects update(Happy for Quake4 20th Anniversary)/PBR optimization

Latest

Choose a tag to compare

@glKarin glKarin released this 28 Sep 05:25
· 109 commits to master since this release

1.1.0harmattan69-lindaiyu (2025-10-01)

  • Fix BSE effects on Quake 4.
  • Optimize PBR shaders with original specular texture on DOOM 3/Quake 4/Prey(2006).
  • Add settings by ImGui on DOOM 3/Quake 4/Prey(2006), command is idTech4AmmSettings, default binding to F10.
  • Add mp3 sound file support on DOOM 3/Quake 4/Prey(2006).
  • Fix GUI, credits after end of game, map static mesh vertex color on Quake 4.
  • Fix low frequency on HeXen-Edge of Chaos(DOOM 3 mod).
  • Add Urban Terror(ver 4.3.4) support, game standalone directory named urt, game data directory named q3ut4. More view in Urban Terror.
  • Update Quake 2(yquake2) version to 8.51, update Vulkan renderer.
  • Update GZDOOM version to 4.14.2.
  • Rename Xash3D game standalone folder to xash.
  • Rename Source Engine game standalone folder to srceng.

[2025-09-27]: 1.1.0harmattan69-2-lindaiyu

  • Add fixed ratio resolution support on launcher Graphics tab.

[2025-09-28]: 1.1.0harmattan69-3-lindaiyu

  • Fix left red beam line effect in level game/network2 on Quake 4.

[2025-10-18]:

Happy for Quake4 20th Anniversary


Quake 4 BSE effects

Screenshot_quake4_bse_effect

New optimized PBR lighting model

Screenshot_pbr

ImGui settings

Screenshot_imgui_settings

Real 640x480

Screenshot_2025-09-27-17-16-19-887_com karin idTech4Amm


About story of Quake 4 porting

3 years ago, around July 2022, I discovered a project on GitHub: Quake4Doom, an open-source Quake 4 project based on the combination of Quake 4SDK and Doom 3 GPL source code In August 2022, I started porting Quake4Doom to the DIII4A project, and the main issue at this time was:

  • Audio playback: noise issue
  • Menu GUI
  • Particle effects: BSE of Quake4Doom and Quake4BSE neither can work, and even cannot correctly parse FX files
  • Collision detection: Triggers not working, such as doors not opening
  • Font: Use Quake 4 font file converted to Doom 3 format

idTech4A++ main changelogs:

  1. On October 1, 2022 in the new version of DIII4A++(version 12) be released, and the program was renamed idTech4A++. At this time, Quake 4 had a large number of bugs, such as game script errors, and collision detection forced the use of the useSimpleTriggerClip logic, which resulted in erroneous collisions (such as the circular elevator in the 'game/process1' level squeezing and killing the player), without any particle effects.
  2. On October 15, 2022 (version 13), most game script errors (due to incomplete 64-bit system porting) were resolved, fix GUI trace for md5 animation models.
  3. On October 29, 2022 (version 16), collision detection was fixed. The reason is that the TraceModel used for collision detection in Doom 3 is shared. On Quake 4, I attempted to create separate TraceModels for each idClipModel, which enabled collision detection to function properly. Although I don't know if Quake 4 used this method, I know it has been working normally now.
  4. On October 29, 2022 (version 17), it supports Quake 4 original font files and no longer uses Doom 3 format font files, but there is still a bug of incorrect offset.
  5. On November 16, 2022 (version 19), the issue of disabling interactive GUI triggers in the game was fixed (these interactive GUI should not be shared).
  6. On November 18, 2022 (version 20), ShowSurface and HideSurface were implemented, which can hide model surfaces that do not require rendering (such as two-stage Makron's leg model).
  7. On March 25, 2023 (version 26), the particle effects system from Doom 3 will be ported to Quake 4. Although the rendering effect is bad, but it is working.
  8. On October 1, 2023 (version 33), jmarshall23's FakeClient bot system was removed from the multiplayer game, and uses SABot-a9 instead (as the SABot of Quake 4 source code is missing, so the latest SABot-a7 of Doom 3 is used), reducing many program crashes caused by exceptions.
  9. On December 31, 2023 (version 36), the EAX reverberation sound effect was fixed.
  10. On April 30, 2024 (version 50), support custom GLSL new stage shader materials.
  11. And some little fixes or updates.

Until July 11, 2025, jmarshall23 released Quake4Decompiled project. He decompiled the debugging program for Quake 4 using Hex Rays, which took him over two years time to do this. jmarshall23 makes Quake4Decompiled's BSE source code has been integrated into Quake4BSE once again.
In late August 2025, I port Quake4BSE's BSE source code into idTech4A++, and making it possible to compile properly. I found that it can correctly parse FX files now, so I think BSE should work. After 2-3 weeks, through the integration of Quake4Decompiled renderer source code and a series of fixes related to particle effects, now the BSE particle effects system of Quake 4 can finally work properly. Although there are still many bugs, the visual effects are well.
I also fixed some bugs by Quake4Decompiled source code.
After 3 years, the Open-Quake4 project is considered basically completed.