Replace FFP Template code with modified remix-comp-base#14
Merged
Conversation
- Overhaul patch workflow templates and prompt files - Fix tracer re-enabling FFP unconditionally after capture (now saves/restores) - Parse [FFP.Registers] INI section (was ignored due to static constexpr) - Add on-demand diagnostic capture from ImGui with per-category log controls - Wire diagnostics hooks into D3D9 proxy (Present, BeginScene, SetVS*, draw calls) - Add Diagnostics tab to ImGui overlay with capture controls and category toggles - Fix analyze.py format spec for non-float values Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename the project from remix-comp to remix-comp-proxy across all source files, build scripts, INI config, skill/prompt files, and documentation. The directory, INI filename, and all internal references are updated; upstream remix-comp-base references are preserved. Tracer enhancements: - External trigger file support: on_present() polls for dxtrace_capture.trigger so the Python CLI works with the proxy - Delayed capture with configurable countdown (0-30s) via ImGui - Category-based capture filtering (draw calls, state, shaders, textures, transforms, vertex setup, resources, scene, getters, misc) - Updated About tab to reflect current contributors and features
Remove xoxor4d's berry.png branding — this is a separate project now and we don't want users directing support requests to him for our work. His contributions are still credited in the About tab and README. The icon system still works: drop any icon.png into rtx_comp/textures/ and it shows in the About tab. Nothing loads by default.
Merges Ekozmaster/master (bf5b013) into remix-comp-integration, resolving 5 conflicts where upstream's dataflow/indirect/switch-table additions overlapped with this branch's restructuring (tool-catalog move to references/, condensed subagent-workflow, new tool-dispatch). Upstream additions now integrated across all IDE mirrors: - dataflow.py (constant propagation + backward slice) in allowlists, decision guides, tool tables, and workflow examples - --indirect flag for callgraph/xrefs (vtable/fptr call discovery) - cfg.py switch/jump table auto-resolution - CI workflow, updated context.py with --no-dataflow option - /dynamic-analysis skill reference Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Collaborator
Author
|
@Night1099 Could you please review this PR, then I'll merge it? It required modifying some of the agent files, which were conflicting before. I'd like to make sure that you're happy with the changes. |
…ared tooling, gave real paths to run in examples, remove lines counts (self discoverable)
Collaborator
|
^ What commit says, and removed line counts, this can change and the ai can discover it itself, descriptions already convey "big boilerplate, skip it" vs "small focused file, read it." |
Critical fixes: - D3DRS/D3DBLEND enum values in dx9_common.py aligned to SDK header - CreateDevice HRESULT check before wrapping device pointer - Missing CS_MODE_64 import in xrefs.py - dataflow _get_mem returns Unknown when index register present - asi_patcher validates addr >= base before computing RVA Important fixes: - Migrate 5 DX scripts off duplicated internals onto dx9_common - Null p_this in module destructors (renderer, imgui, diagnostics, skinning) - backward_slice_cfg: CFG-aware slice that follows predecessor edges - Remove unused g_installed_signature_patches externs from comp.hpp - Split find_matrix_registers main() into discrete phases - cfg.py _resolve_switch accepts scale==8 for x64 tables - init_log_file uses std::call_once for thread safety - Two new dataflow tests: cross-block slice and branch-merge paths Design notes: document delegation hub, threading model, FFP suppression, x64 pointer truncation hazards.
…ibe-Reverse-Engineering into remix-comp-integration
Collaborator
Author
Collaborator
|
LGTM might wanna squash and merge to keep things tidy |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Changelog:
remix-comp-integrationDX9 RE Scripts
11 new static analysis scripts under
rtx_remix_tools/dx/scripts/, all built on a shareddx9_common.pymodule (776 lines) that handles D3D9 vtable offset resolution, constant decoding, and pattern matching:classify_draws.py— Categorize draw calls as FFP, shader, or hybriddecode_fvf.py— Decode FVF bitfields fromSetFVFcallsfind_ps_constants.py— FindSetPixelShaderConstantF/I/Bcall sites with register/countfind_render_states.py— FindSetRenderStatecalls with enum decodingfind_shader_bytecode.py— Extract embedded shader bytecode from the binaryfind_stateblocks.py— Find state block create/record/apply patternsfind_surface_formats.py— Extract formats fromCreateTexture/RT/DS callsfind_texture_ops.py— Map texture pipeline: stages, TSS ops, sampler statesfind_transforms.py— FindSetTransformcalls (World, View, Projection, Texture)find_matrix_registers.py— Identify View/Proj/World matrix VS registers via CTAB + frequency analysisremix-comp-proxy
The old dx9-ffp-proxy template code has been stripped out and replaced with a fork of xoxor4x's remix-comp-base.
These are the changes made to his code:
remix-comp-proxy.inireplaces hardcoded settings, covering FFP, skinning, diagnostics,tracer, Remix, and chain-loading.
dinput8.dllASI loader with direct d3d9 export forwarding. Supports DLL chain loading for mod coexistence.build.batthat handles MSVC discovery, compilation, and deployment with per-game variant support.The proxy also has the tracer integrated:
dxtrace_capture.triggeron every Present, sopython -m graphics.directx.dx9.tracer trigger --game-dir <DIR>works without the standalone DLL.d3d9_methods.py) — Structured method definitions for tracer analysis.Prompt & Skill Infrastructure Changes
.claude,.cursor,.github,.kirosynced for proxy conversion, new scripts, dataflow/indirect additions, and FFP troubleshooting tips.