Weapons fire; hat-glance + MFD fixes; windowless bridge
vpx-device/vpxlog.cpp -- WEAPONS FIRE. The game's fire gate is targetReticle.targetEntity (mech+0x388), filled every frame by a Division-board reticle pick (dpl_RapidSectPixel) our HLE never answered, so every shot misfired. The device now casts the camera centre ray against the live scene (Moller-Trumbore) and returns the full hit -- instance + DCS + geogroup + geometry -- piggybacked on the draw_scene reply; terrain is a valid target so you can fire and miss. Sending geogroup=0 was hanging the game (GetAppSpecific on a null); returning the real geogroup fixed it. Pick is default-on with a single VPX_NO_PICK escape hatch. Also swaps the upper-left/right MFD explode windows (screen location only -- decode untouched, real cause TBD on a pod). dpl3-revive/patha/vrview.py -- HAT-GLANCE fix at the source. One cockpit DCS (0xa2c) flushes a rank-2 rotation (shifted body -> wrong read window) that collapsed the camera chain to rank 2 and smeared the head glance onto the wrong axis (left/right hat read as pitch). chain_matrix(fix_degenerate) treats a degenerate chain DCS as identity: preserves the look exactly and keeps stick-Y torso pitch working (an earlier bridge-level yaw/pitch swap broke stick-Y and was reverted). User-verified live: hat all 4 dirs + stick-Y both correct. render-bridge/launch_pod.ps1 -- launch the bridge with pyw (windowless) so no console window parks over the cockpit displays (Start-Process ignores -WindowStyle once stdout/stderr are redirected). render-bridge/live_bridge.py -- surface bridge render errors, flush the status line; reverted glance-swap note. Also vendored HUD (dpl2d) renderer work in vrboard/vrview_gl and RENDERER-COLLAB / RIO notes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -313,3 +313,38 @@ Every board packet is retransmitted until the game ACKs `FC` (within the
|
||||
TXMAXIDLE window; ~33ms with the patched EXE). Byte pacing at the 9600-baud
|
||||
wire rate (~1ms/byte) matters: vRIO blasting bytes back-to-back caused NAK/
|
||||
restart churn during init until the user added pacing.
|
||||
|
||||
## RIO button unit map (L4CTRL.HPP enum; wire unit byte == buttonGroup index)
|
||||
|
||||
Press = `88 <unit> <ck>`, release = `89 <unit> <ck>` (ck = sum&0x7F). The game
|
||||
uses the unit byte DIRECTLY as its button index (L4CTRL.CPP RIO::ButtonPressedEvent).
|
||||
|
||||
| unit | button |
|
||||
|-----------|--------------------------------------------------------|
|
||||
| 0x00-0x07 | AuxLowerRight 8..1 (panel) |
|
||||
| 0x08-0x0F | AuxLowerLeft 8..1 (panel) |
|
||||
| 0x10-0x15 | Secondary 1..6 |
|
||||
| 0x18-0x1D | Secondary 7..12 |
|
||||
| 0x20-0x27 | AuxUpperCenter 8..1 |
|
||||
| 0x28-0x2F | AuxUpperLeft 8..1 |
|
||||
| 0x30-0x37 | AuxUpperRight 8..1 |
|
||||
| 0x39-0x3B | IcomHeadPluggedIn / IcomSensor / IcomMikePluggedIn |
|
||||
| 0x3C | Door |
|
||||
| 0x3D | Panic |
|
||||
| 0x3F | Throttle1 |
|
||||
| 0x40 | **JoystickTrigger** (= FIRE) |
|
||||
| 0x41/0x42 | JoystickHatDown / HatUp |
|
||||
| 0x43/0x44 | **JoystickHatRight / HatLeft** (= TORSO TWIST R/L) |
|
||||
| 0x45 | JoystickPinky (= torso/look DOWN per TORSO.CTL) |
|
||||
| 0x46 | JoystickThumbLow (= TORSO CENTER) |
|
||||
| 0x47 | JoystickThumbHigh (= torso/look UP) |
|
||||
|
||||
CORRECTION (user, operated the real pods): in the PRODUCTION cockpit torso
|
||||
twist is AXIS-driven; TORSO.CTL's button mappings (TorsoLeft=HatLeft etc.,
|
||||
limits per TORSO.SUB: +-80deg horiz @20deg/s, +10/-30 vert @40deg/s) were the
|
||||
DEV-rig fallback for setups without the full cockpit. On the real pod the HAT
|
||||
gives momentary GLANCE views (left/right/rear). Keypad keys are a SEPARATE
|
||||
event type (8A KeyPressed: unit,key). Verified live 2026-07-06: vRIO hat
|
||||
glances DO work in-game (units 0x41-0x44 arriving), so the 88/89 button path
|
||||
is validated end-to-end -- weapons-not-firing is NOT a unit-code problem;
|
||||
suspect weapon-group arming/mission state (see MECHWEAP.CTL) instead.
|
||||
|
||||
Reference in New Issue
Block a user