Skip to content

fix: implement client fixes from tests with zen - #60

Open
matthias-hoste wants to merge 11 commits into
mainfrom
fix/client-testing
Open

matthias-hoste wants to merge 11 commits into
mainfrom
fix/client-testing

Conversation

@matthias-hoste

Copy link
Copy Markdown
Contributor

No description provided.

@matthias-hoste
matthias-hoste marked this pull request as ready for review October 22, 2026 07:27
@cetteup
cetteup requested a lite review from Copilot October 22, 2026 15:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Multiple unresolved critical and moderate correctness issues affect compilation, console authorization, shader reloads, renderer initialization, input handling, and UI behavior.

8 open issues
What changed in this PR

This pull request implements broad client fixes across DX9 rendering, post-processing, HUD/menu behavior, console and settings bindings, gameswf browser integration, and listen-server audio updates.

Changes:

  • Adds shader/effect reload support, post-processing passes, video-option handling, fullscreen rendering, and debug/FPS overlays.
  • Improves HUD edit controls, transform-list layout, font metrics, weapon HUD behavior, and menu event dispatch.
  • Adds client console/settings bindings, browser and ActionScript integrations, input diagnostics, and listen-server sound updates.
File Reviewed change
Code/​Build/​renddx9.cmd Adds StringUtil.cpp to the renderer console build sources.
Code/​BF2/​RendDX9/​VideoOptions.cpp Refactors video-setting application and adds renderer event handling; pending resolution/AA changes can be skipped during level-load initialization. Moderate issue.
Code/​BF2/​RendDX9/​ShaderParameter.h Grants Effect access to shader-parameter ownership state.
Code/​BF2/​RendDX9/​ShaderManager.cpp Adds shader path normalization and cached-effect reload support. Critical issue: reload reconstructs the filename from the cached effect value instead of the map key.
Code/​BF2/​RendDX9/​RendererConsole.cpp Adds post-processing and FPS renderer console properties.
Code/​BF2/​RendDX9/​RendDX9Init.cpp Applies profile video settings during renderer initialization.
Code/​BF2/​RendDX9/​RendDX9Draw.cpp Draws queued debug text before ending the scene.
Code/​BF2/​RendDX9/​PostProductionFrameWork.h Declares post-processing state, render-target helpers, and pass controls.
Code/​BF2/​RendDX9/​PostProductionFrameWork.cpp Implements post-processing resources, TV effects, tinnitus history, and teardown. Critical shader-archive selection issue and moderate event-listener registration issue.
Code/​BF2/​RendDX9/​Effect.cpp Adds effect rebinding, parameter snapshots, technique reset, and reload behavior. Critical null-effect dereference issue.
Code/​BF2/​RendDX9/​BF2Render.cpp Integrates post-processing, FPS overlays, render targets, and shader reloads.
Code/​BF2/​Menu/​BfEditNode.h Exposes typed event-dispatch access for edit nodes.
Code/​BF2/​Menu/​BfEditNode.cpp Implements edit-node painting, cursor movement, focus, and text editing. Moderate End-position and font-extension handling issues.
Code/​BF2/​Menu/​Bf2TransformListNode.h Adds transform-list update support and typed layout state.
Code/​BF2/​Menu/​Bf2TransformListNode.cpp Implements transform-list layout and child positioning.
Code/​BF2/​IO/​File/​FileManagerConsole.cpp Adds client-side settings console bindings.
Code/​BF2/​IO/​Console/​Console.cpp Adds temporary interactive client-console access handling. Critical issue: access level 2 becomes enabled by default for interactive clients.
Code/​BF2/​GeomMisc/​ModuleGeomMisc.cpp Registers the debug text writer manager.
Code/​BF2/​GeomMisc/​FSQuadDrawer.h Declares fullscreen draw, blit, and tinnitus-capture operations.
Code/​BF2/​GeomMisc/​FSQuadDrawer.cpp Implements fullscreen grids, post-processing passes, and history capture.
Code/​BF2/​GeomMisc/​FontSystem/​FontSystem.cpp Adds font width and color accessors.
Code/​BF2/​GeomMisc/​DebugTextWriter.cpp Implements queued debug text rendering and writer management. Moderate issue: failed font loading leaves the per-frame queue uncleared.
Code/​BF2/​Geom/​TerrainDraw.cpp Uses shader-effect reloads during terrain technique fallback.
Code/​BF2/​Geom/​StaticMeshTemplate.cpp Exposes static-mesh technique rearming and priming helpers.
Code/​BF2/​Geom/​GeometryTemplateManager.cpp Rearms and primes geometry techniques after shader changes.
Code/​BF2/​Game/​Objects/​WeaponHudCompTemplate.cpp Applies sprint-specific weapon HUD visibility.
Code/​BF2/​Game/​GameServer/​GameServer.cpp Updates client sound state during listen-server ticks.
Code/​BF2/​External/​gameswf/​SwiffPlayer/​SwiffPlayer.cpp Adds browser, filtering, quit, refresh, and input-diagnostic bindings. Critical undeclared-helper compilation issue; moderate input-callback registration and history-pagination issues.
Code/​BF2/​External/​gameswf/​gameswf_impl.cpp Adjusts root mouse dispatch and adds input tracing.
Code/​BF2/​External/​gameswf/​gameswf_action.cpp Corrects ActionScript construct and double-press event names.
Code/​BF2/​External/​BFMeme/​Node.cpp Adds typed event-16 handling for edit nodes.
Code/​BF2/​Core/​ConsoleObjectMacro.h Preserves Windows client float argument parsing behavior.

Review effort: Lite

Comment thread Code/BF2/IO/Console/Console.cpp Resolved
Comment thread Code/BF2/RendDX9/Effect.cpp Resolved
Comment on lines +374 to +375
Effect* effect = static_cast<Effect*>(shaderManagerGetEffect(
g_shaderManager, "mods/xpack/Shaders/PostProduction_nv3x"));
Comment thread Code/BF2/RendDX9/ShaderManager.cpp Resolved
Comment thread Code/BF2/GeomMisc/DebugTextWriter.cpp Resolved
Comment thread Code/BF2/Menu/BfEditNode.cpp Resolved
Comment thread Code/BF2/RendDX9/VideoOptions.cpp Resolved
@@ -114,6 +141,10 @@ BF2_CONSOLE_PROPERTY_FN(forceBundledMeshLod, int, g_Renderer != 0,
BF2_CONSOLE_PROPERTY_FN(drawHud, bool, g_Renderer != 0,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

drawHud, I think, has the access level = 1 since it is accessible from the console

Comment thread Code/BF2/RendDX9/ShaderManager.cpp Resolved
matthias-hoste and others added 9 commits October 27, 2026 11:12
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Add null check for d3dxEffect before resetting techniques.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Add clear call when font fails to load

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants