ZeusMod v1.5.1
Highlights
- D3D12 backend rewrite — overlay no longer crashes on DX12 prospects.
The previous D3D11On12 interop bridge produced
DXGI_ERROR_DEVICE_REMOVED 0x887A002Bon most modern GPUs because
Icarus' command queue was being recycled mid-frame under the bridge.
Render.cppnow uses the officialimgui_impl_dx12backend directly
and captures the game's liveID3D12CommandQueuevia an
ExecuteCommandListsMinHook (with anIDXGISwapChain3::GetDevice
fallback for older driver paths). The overlay is rendered straight
onto the back buffer in the game's own queue — no temporary device,
no inter-API copies, no DEVICE_REMOVED. - Menu key changed from
Nto²(the key directly belowEsc).
Resolved at runtime viaMapVirtualKeyW(0x29, MAPVK_VSC_TO_VK)so it
picks up the right virtual-key on every keyboard layout (AZERTY,
QWERTZ, Dvorak, …). Previously on AZERTY the menu shared the chat
key, swallowing player input. - FreeCraft items now stack and are placeable. Three independent
bugs in the in-bag delivery path were fixed:- Wall / beam placement — the trainer's
findTemplateFItemData
used to clone the first occupied slot as the new item's
FItemData. When that slot held a resource (Stone, Fiber, …) its
1-entry dyn array was inherited by walls and foundations,
producing items the server-sideDeployableComponent::Server_RequestDeploy
validator silently refused. Replaced with a category-matched
selector (Structure/Tool/Ammo/Liquid/ …) that
clones a same-shape template, so a freecrafted Wood_Wall inherits
the canonical 9-entry dyn shape{0,1,2,3,4,5,6,7,12}. - "Broken" icon on placeable items — an earlier "pick the
largest dyn template" heuristic had the failure mode of cloning
ammo (11-entry shape withtype=8/10/11ammo-specific keys and
Durability=0). The category gate above eliminates that path. - Workbench / Fabricator stacking — crafting at a station no
longer outputs one slot per unit.Trainer_AddItemToProcessor
now patches the cloned dyntype=7 ItemableStackto the
requested count and firesProcessingComponent::AddItemexactly
once, so 200 rounds land in 2 stacks of 100 instead of 200 stacks
of 1.
- Wall / beam placement — the trainer's
- GodMode is player-only and works across the lobby. The
PatchSetHealthinstruction-NOP that previously made every actor
invincible (animals included) is gone. Health is now pinned via a
per-tick rewrite tom_actorState->Health = MaxHealthplus
AliveState = 0in a tight 100-iteration thread loop. With
Apply To All Players on, the same write is mirrored onto every
remoteSurvivalCharacterStatewhoseUClass*matches the local
player's exactly — animals and AI stay killable. - Stability — three crashes traced and eliminated.
EXCEPTION_ACCESS_VIOLATIONin
TFastReferenceCollector::ProcessObjectArray(UE4 GC sweep,
parallel thread) was caused by writingState_Health/
State_AliveStateinto AI / creature subclasses of
SurvivalCharacterStatewhose layouts re-purpose those offsets
as pointer fields. The multiplayer mirror loop now filters by
UClass-pointer equality (read at+0x10every tick), and the
refresh interval was tightened from 60 ticks to 10.EXCEPTION_ACCESS_VIOLATIONin
UMaterialInstance::SetMIParameterValueName(render thread, NULL
deref at+0x84) was caused byRemoveDebuffsbrute-force
writing0.0finto every BlueprintCreatedComponent whose
offsetsMod_Lifetime/Mod_Remaininghappened to contain
plausible floats — including MaterialInstance internals. Fixed
with aUModifierStateComponentclass-pointer filter (walks the
Super chain atcls + 0x40).RemoveDebuffsand the multiplayer mirror loop now share a
singleIsPlausiblePlayerStatevalidator + class-pointer match,
so neither can leak writes into unrelated UObjects again.
- Overlay redesign — Electron parity. The in-game overlay now
matches the launcher's typography and palette: cyan / purple
accent pair, navy#0a0d14backdrop, sidebar nav with active rail,
cheat cards with auto-grown height, custom toggle switches with a
cyan→purple gradient when on, soft drop shadows, gradient section
headers, and a status pill in the title bar. Cards use
ImGuiChildFlags_AutoResizeYso sliders and long descriptions are
never clipped. - Embedded font. Inter Medium (411 KB, SIL OFL) is now bundled
inside the DLL as aconstexpr unsigned char[]blob
(native/internal/src/hooks/InterFont.h). The same face the
launcher uses, identical pixel-for-pixel on every Windows install.
Falls back to the ImGui built-in only on a load failure.
Removed
- Bypass Placement Validation toggle and the
InventoryItemLibrary::ItemDataValidMinHook. Was a research aid
for the wall-placement bug above; the proper fix (category-matched
template clone) makes it obsolete. - Dump Held Item Data button and the matching
Trainer::DumpHeldItemData()+ helpers. Same reason — diagnostic
scaffolding that's no longer needed in shipped builds.
Notes
- DLL grew from ~1.5 MB to ~2.0 MB — the difference is the embedded
Inter TTF. - Existing 1.5.0 installs auto-update through the in-app updater.
- Multiplayer cheats apply on the listening host only; client-side
toggles are silently ignored because the server-side replication
pass would clobber them anyway.
How to install
- Download ZeusMod-Setup-v1.5.1.exe below.
- Run it — install is silent, no UAC prompt, ZeusMod auto-launches when finished.
- Launch Icarus, load into a prospect, click ATTACH TO ICARUS in the launcher.
- Press N in-game for the overlay.
Assets
ZeusMod-Setup-*.exe— full installer (Windows, per-user, silent)latest.yml+*.exe.blockmap— metadata for the in-app auto-updater (do not download manually)ZeusMod-Standalone-*.zip— just the nativeIcarusInjector.exe+IcarusInternal.dllfor advanced users
Single-player / private sessions only. For educational and research use.