Five comments cite the reference facts they name (#2134)

Five comments stated a wrong reference fact or named code that does not exist:

- `shown_pet_power_type` cited `UnitPowerType`'s member-record read (`0x5179d2`) as its pet leg, which is `0x5179ff`.
- `race_creature_type.rs` named a path that does not exist.
- `drag.rs` cited the unreached copies at `0x425666`/`0x425766`, where the live converter is `0x766f70`, called from `0x766103` and `0x7662f3`.
- `handler_prof` claimed an app-data refusal benilla-mlua does not have.
- `MacroView` cited the save format by file offset, where its address is `0x84cb60`, pushed at `0x4f0b61`.

The NVIDIA present `Deviation:` also gains where the fault is: the driver's own DXGI present, with NVIDIA's present layer disabled too.

Comments only, so no test changes.

Fixes #671
Fixes #676
Fixes #1106
Fixes #1991
Fixes #1245

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Sam Sung
2026-10-21 02:21:31 +07:00
committed by GitHub
parent 3575b1238f
commit c6ecbcb048
8 changed files with 17 additions and 13 deletions
+3 -1
View File
@@ -15,7 +15,9 @@
//!
//! Deviation: on Windows, NVIDIA's Vulkan driver (610.88 seen) crashes inside `vkQueuePresentKHR`
//! on the first present after any swapchain resize while the present mode is `Fifo`, `FifoRelaxed`
//! or `AutoVsync` (a maximize is a resize). `Mailbox`, `AutoNoVsync` and DX12 survive, so there
//! or `AutoVsync` (a maximize is a resize). The fault is in the driver's own DXGI present
//! (`d3d11.dll`): it stays with `VK_LAYER_NV_present` disabled, and the validation layer reports
//! nothing before it. `Mailbox`, `AutoNoVsync` and DX12 survive, so there
//! "vsync on" is `AutoNoVsync` paced to the monitor's refresh rate ([`present_choice`]), which
//! keeps the synced look without the crash. `$WOW_PRESENT=fifo` restores plain `Fifo`.
@@ -1,7 +1,7 @@
//! `ChrRaces.dbc` column 9: the creature type a player's race reads as, the last stage of the
//! creature-type resolver (`0x605570`: race byte → row `[0xc0dee0][race]`, offset `0x24`, at
//! `0x6055ca`). The runtime uses a frozen copy, `spell::unit_type::race_creature_type`; this
//! loader backs the test that pins it.
//! `0x6055ca`). The runtime uses a frozen copy, `creature_type::race_creature_type` in
//! `benilla-app`; this loader backs the test that pins it.
use std::collections::HashMap;
@@ -342,7 +342,7 @@ impl PartyMemberStatsInfo {
/ power_display_scale(u32::from(self.shown_power_type()))
}
/// `UnitPowerType` from the pet block (`+0xd8`, `0x5179d2`'s pet leg), 0 when it has none.
/// `UnitPowerType` from the pet block (`+0xd8`, the pet leg `0x5179ff`), 0 when it has none.
pub fn shown_pet_power_type(&self) -> u8 {
self.pet_power_type.unwrap_or(0)
}
+3 -2
View File
@@ -8,8 +8,9 @@ use crate::widget::FrameHandle;
const DRAG_START_DISTANCE_SQ: f32 = 0.01 * 0.01;
/// Whether `pos` is far enough from the press point `start` to start the drag (`0x76b34c`–`0x76b372`).
/// The reference measures in layout units, where the screen diagonal is 1 (`0x41ad80`, from the
/// press and move converters `0x425666`/`0x425766`), so the pointer, in root units, is divided by
/// The reference measures in layout units, where the screen diagonal is 1 (`0x41ad80`, called at
/// `0x766fb1` in the interface's mouse converter `0x766f70`, which the press and move handlers
/// `0x7662c0` and `0x7660d0` run), so the pointer, in root units, is divided by
/// [`Model::layout_unit`]: 1% of the diagonal at every screen size and UI scale. The squared
/// distance is taken in `f64` against the f32 threshold (x87 at 53 bits: `WinMain`'s
/// `_controlfp(0x9001f)`, `D3DCREATE_FPU_PRESERVE`), and only a smaller one skips (`0x76b372`
+3 -2
View File
@@ -307,8 +307,9 @@ fn print_report(rows: &[HandlerRow], window: f32, frames: u32, nested: u32) {
}
}
/// Install the profiler's `app_data` slot, armed from the environment. Unconditional: mlua refuses
/// to insert app data while any is borrowed, so the slot must exist before the VM runs.
/// Install the profiler's `app_data` slot, armed from the environment. Every VM gets one, where
/// its app data is made, because [`UiScript::profile_handlers`] and every reader do nothing on a
/// VM without it.
pub(super) fn install(lua: &Lua) {
let period = env_period();
lua.set_app_data(HandlerProf {
+1 -1
View File
@@ -55,7 +55,7 @@ pub struct MacroView {
pub id: u32,
pub name: String,
/// The icon's texture path, kept by name because the reference saves the icon by name
/// (`MACRO %d "%s" %s`, `0x44cb60`).
/// (`MACRO %d "%s" %s`, `0x84cb60`).
pub texture: Option<String>,
/// The macro's lines, `\n`-separated.
pub body: String,
+2 -2
View File
@@ -633,8 +633,8 @@ fn open_state(vm: VmKind) -> mlua::Result<Lua> {
let mut model = Model::new();
model.vm = vm;
lua.set_app_data(model);
// Before anything can fire a handler and while no app-data borrow is held, as the
// profiler's slot and the call host's require.
// Before anything can fire a handler: every VM carries the profiler's slot and the call
// host's.
handler_prof::install(&lua);
host::install(&lua);
+2 -2
View File
@@ -471,8 +471,8 @@ Each entry is the first sentence of a `Deviation:` comment, linking to where it
#### video
- `gxWindow "0"` is borderless fullscreen, not 1.12's exclusive mode-set at `gxResolution`, because Wayland has no client mode-setting (winit ignores `Fullscreen::Exclusive` there), X11's XRandR changes the desktop's mode and a crash leaves it changed, and macOS has no exclusive mode. ([`src/video.rs:4`](../crates/benilla-app/src/video.rs#L4))
- On Windows, NVIDIA's Vulkan driver (610.88 seen) crashes inside `vkQueuePresentKHR` on the first present after any swapchain resize while the present mode is `Fifo`, `FifoRelaxed` or `AutoVsync` (a maximize is a resize). `Mailbox`, `AutoNoVsync` and DX12 survive, so there "vsync on" is `AutoNoVsync` paced to the monitor's refresh rate (`present_choice`), which keeps the synced look without the crash. `$WOW_PRESENT=fifo` restores plain `Fifo`. ([`src/video.rs:16`](../crates/benilla-app/src/video.rs#L16))
- Sizes are logical px, because `gxResolution` is a logical inner size here. ([`src/video.rs:555`](../crates/benilla-app/src/video.rs#L555))
- On Windows, NVIDIA's Vulkan driver (610.88 seen) crashes inside `vkQueuePresentKHR` on the first present after any swapchain resize while the present mode is `Fifo`, `FifoRelaxed` or `AutoVsync` (a maximize is a resize). ([`src/video.rs:16`](../crates/benilla-app/src/video.rs#L16))
- Sizes are logical px, because `gxResolution` is a logical inner size here. ([`src/video.rs:557`](../crates/benilla-app/src/video.rs#L557))
#### vplates