Add module control API, bigcursor with fractional scaling, shared mutex
Module control API: - Three cdecl exports: WeirdUtils_IsModuleActive, WeirdUtils_DisableModule, WeirdUtils_DisableAll - C header include/weirdutils_api.h for runtime DLL discovery - All modules gain pub module_name, isActive(), shared mutex via src/mutex.zig - build.zig refactored to module_list array of ModuleDesc Bigcursor: - D3D9 vtable hooks on SetCursorProperties/ShowCursor - Scale2x/Scale3x pixel-art upscalers in pure Zig (replaces 12K-line hqx C) - Bilinear resampler for fractional scales (1.0-4.0, default 1.2) - Win32 cursor via CreateIconIndirect bypasses D3D9 32x32 limit - FNV-1a hash cache for ~16 cursor bitmaps - Lua API: SetCursorScale(n) / GetCursorScale() - CVar cursorScale for Config.wtf persistence (tenths) Other: - Add dpslog module stub - Docs and README updates
This commit is contained in:
@@ -18,8 +18,8 @@
|
||||
|
||||
### Model Rendering Hooks
|
||||
- **File:** `src/outline/model_hook.zig`
|
||||
- `CM2SceneRenderDraw` hook — batch reordering for depth control
|
||||
- `CM2Scene_DrawBatchProjected` hook — per-batch interception
|
||||
- `CM2SceneRenderDraw` hook - batch reordering for depth control
|
||||
- `CM2Scene_DrawBatchProjected` hook - per-batch interception
|
||||
- Access to render context and model pointers
|
||||
- Batch reordering ensures outline targets render when only terrain+WMO depth exists
|
||||
|
||||
@@ -40,10 +40,10 @@
|
||||
### UnitXP SP3 Reference
|
||||
- **Path:** `/media/storage/projects/UnitXP_SP3_Orig/UnitXP_SP3/`
|
||||
- **Key file:** `Vanilla1121_functions.h`
|
||||
- `vanilla1121_worldToScreen(C3Vector& world)` — world → screen projection
|
||||
- `CWorld_Intersect()` — raycast through world geometry
|
||||
- `vanilla1121_unitPosition()` — unit world position
|
||||
- `vanilla1121_getCameraPosition()` — camera world position
|
||||
- `vanilla1121_worldToScreen(C3Vector& world)` - world → screen projection
|
||||
- `CWorld_Intersect()` - raycast through world geometry
|
||||
- `vanilla1121_unitPosition()` - unit world position
|
||||
- `vanilla1121_getCameraPosition()` - camera world position
|
||||
|
||||
### WoWee Terrain Renderer Reference
|
||||
- **Path:** `/media/storage/projects/WoWee/src/rendering/terrain_renderer.cpp`
|
||||
|
||||
Reference in New Issue
Block a user