Merge upstream benilla main (b396bbf6) into everwood-graphics
105 upstream commits (v0.2.0ba7fe6e2->b396bbf6) onto the graphics programme. Conflicts resolved, keeping both sides: - OptionsFrame.xml: upstream renamed every layer global (Options* -> BenillaOptions*, OPTIONS_* -> BENILLA_OPTIONS_*, KeyBindings* -> BenillaKeyBindings*, ...) and moved handlers to `this`; the Advanced Graphics page (rows, strings, presets) is carried over onto the new names, and upstream's Click-to-Move / Spell Detail rows and nameplate store are kept. - cvars.rs -> cvars/{mod,table}.rs split: our REGISTERED rows go into table.rs, the preset ladder + tests into mod.rs beside upstream's ffx/gxMaximize tests. - video.rs: lighting arms + upstream gxMaximize/ffx arms; VideoConfig keeps both field sets. - ffx_glow.rs: SkyDither and FfxSwitches both registered/extracted; dither lane on upstream's switched player state. - dest_fx.rs: our AreaLightPlan radius + upstream's spellEffectLevel shard scale. - fixtures.rs: seed_perf_crowd + upstream's set_enemy_plates. - options_tests.rs: tipped/described counts 100/99 (upstream 80 + ours 20/19); our Advanced Graphics tests use the renamed globals and `this`. - game_plugins.rs: Update actionable ceiling 4,999 = upstream 4,980 + 19 ours (measured). - docs/MAP.md regenerated with scripts/genmap.sh. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+25
-8
@@ -2,8 +2,8 @@
|
||||
|
||||
benilla is a faithful 1.12.1 client. It is the foundation people build on, not the place to get
|
||||
creative: a change is accepted when it makes benilla more like 1.12.1 or fixes a bug, with
|
||||
evidence from the reference, in one small piece, with the gates green. Everything else is a
|
||||
fork, and forks are welcome.
|
||||
evidence from the reference, in one small piece, with the gates green. Everything else lives on
|
||||
top of benilla, in a crate of its own or a fork, and both are welcome.
|
||||
|
||||
## Where to start
|
||||
|
||||
@@ -20,16 +20,32 @@ taken.
|
||||
- A step closer to 1.12.1: a missing packet, verb, window, effect or behaviour, done the way
|
||||
the real client does it.
|
||||
- A correction where benilla and the reference disagree, with the reference fact stated.
|
||||
- Whatever the stock 1.12.1 client loads from a patch, benilla loads: models, textures or data
|
||||
rows that 1.12.1 shows and benilla does not are a bug.
|
||||
|
||||
## What does not
|
||||
|
||||
- Features 1.12.1 does not have, and behaviour changed because it seems better. A deviation
|
||||
from the reference is the maintainer's call and is recorded where it lives; a pull request is
|
||||
not the place to propose one.
|
||||
- Anything from a WoW install: art, models, sounds, maps, data. The one exception is interface
|
||||
code (FrameXML and GlueXML), and only through the migration recipe in `docs/METHOD.md`.
|
||||
- Features 1.12.1 does not have, including what 1.12 client mods add (a new key binding, a spell
|
||||
queue, new Lua functions, graphics past 1.12's), and behaviour changed because it seems better.
|
||||
They live on top of benilla ("Building on top"), so that what benilla does is what 1.12.1 does,
|
||||
for everyone who builds on it. A deviation from the reference is the maintainer's call and is
|
||||
recorded where it lives; a pull request is not the place to propose one.
|
||||
- Anything from a WoW install: art, models, sounds, maps, data, and interface code (FrameXML and
|
||||
GlueXML), which runs off the player's own install (`docs/METHOD.md`).
|
||||
- Big or mixed changes. One change per pull request, small enough to read in one sitting.
|
||||
|
||||
## Building on top
|
||||
|
||||
A feature 1.12.1 does not have lives in a crate of its own that adds its Bevy plugins through
|
||||
`benilla_app::run_with`, as `crates/benilla-app/examples/extended_launcher.rs` shows, or in a
|
||||
fork. A client started through `run_with` says `extended` in its build line, so its reports read
|
||||
apart from stock benilla's. The crate keeps its own settings, never rows in benilla's CVar table,
|
||||
which every addon reads.
|
||||
|
||||
benilla opens a piece of itself to such a crate only when its own 1.12.1 work creates that piece,
|
||||
never for the crate alone, and promises no stable API: a crate pins the benilla revision it
|
||||
builds on. What a crate cannot reach stays a fork's.
|
||||
|
||||
## How a change is judged
|
||||
|
||||
1. `scripts/gates.sh` is green: fmt, clippy with warnings denied, the workspace tests (once
|
||||
@@ -95,7 +111,8 @@ out of scope is closed with the reason.
|
||||
`series` and `hotspot`.
|
||||
- **The loop.** `cargo play` builds and runs the play profile. `scripts/check.sh` verifies a
|
||||
round of work; `scripts/gates.sh` is the full chain, and it opens a window for the engine boot
|
||||
checks, so it needs a display. Work on a branch.
|
||||
checks, so it needs a display. `WOW_STOCK_UI=1` boots a dev build on the stock interface
|
||||
alone, without benilla's layer. Work on a branch.
|
||||
|
||||
## Reporting a bug
|
||||
|
||||
|
||||
+55
-25
@@ -101,17 +101,17 @@
|
||||
|
||||
## Modules (top-level, per crate)
|
||||
|
||||
- **benilla-adt** (lib.rs): combined_alpha
|
||||
- **benilla-app** (lib.rs): addon_harness area area_poi area_trigger asset_churn aura_visual bindings blob_shadow bowstring camera_shake capture char_create char_select character_shadow chat_bubble chr_classes cinematic combat_log combat_text console crash creature_anim cursor cvars death debug_panel dev doodad_events dynamic_interior entities fishing_line footprints game_plugins game_tip glue glue_strings go_anim go_templates hover_log items loading_screen local_state login minimap monkey_gfx name_persist nameplates names net npc_text opaque2d pending_item_ops perf pipe_warm player poi_marker portrait preflight probe_shield query_cache quest_markers raid_marks ranged_flex realm_select realmlist run_mode screen_fade screenshot shaders shadow_core shutdown smart_rect sound spell swing_refusal target test_support text_filter text_reshape textinput torch_shadow transport tutorial ui_action ui_auction ui_aura ui_bank ui_battlefield ui_battlefield_positions ui_battlefield_score ui_bind_confirm ui_binder ui_cast ui_char ui_chat ui_craft ui_dialog_verbs ui_dressup ui_duel ui_follow ui_gamma ui_gm_ticket ui_gossip ui_guild ui_hide ui_honor ui_inspect ui_instance ui_item_text ui_items ui_layout ui_logout ui_loot ui_loot_roll ui_macro ui_mail ui_merchant ui_mirror ui_models ui_net ui_party ui_pass ui_pet ui_pet_book ui_pet_doll ui_pet_stats ui_petition ui_quest ui_quest_log ui_quest_share ui_reputation ui_saved ui_script ui_session ui_shapeshift ui_social ui_spellbook ui_stable ui_summon ui_tabard ui_talent ui_talent_wipe ui_taxi ui_text ui_tooltip ui_trade ui_tradeskill ui_trainer ui_unit ui_world_map video volumetric_fog vplates weapon_trail world_backdrop world_shadow world_state world_state_ui
|
||||
- **benilla-assets** (lib.rs): adt anim_rng blp column_grid coords gpu_blp m2 materials minimap_grid model spatial_cache terrain tex_filter trace water_depth wdt wmo world_assets
|
||||
- **benilla-formats** (lib.rs): anim_data area_poi area_sound area_table area_trigger auction_house bank_bag_slot_prices camera_shakes cfg_categories chain characters chat_channels chr_classes cinematics creature_families creature_sound creature_types creatures dbc death_thud durability elevators emit_timing emote_text emotes environmental_damage exhaustion factions fire_light footsteps game_tips gameobjects garble gm_ticket_category ground_effects install item_random_properties item_sounds item_visuals itembagfamily itemclass items itemsets itemsubclass languages light liquid loading_screen lock lock_type macro_icons maps material minimap_translate models npc_greeting page_text_material particles pet_stats quest_headers quest_info race_pvp_team race_sound ribbons room_claim server_messages sheathe skill_lines sound_entries sound_provider sound_water spell_focus spell_mechanic spell_visual spells stable_slot_prices stationery talents taxi taxi_nodes taxi_path terrain text_filter_lists tga transport_period transports unit_blood value_track vocal_ui_sounds wdl weapon_impact weapon_swing wmo_area world_map_area world_map_continent world_map_overlay world_state_ui wow_ini zone_map
|
||||
- **benilla-m2** (lib.rs): error model skin tests track
|
||||
- **benilla-mpq** (lib.rs): crypto
|
||||
- **benilla-protocol** (lib.rs): auth events guid messages wire world
|
||||
- **benilla-srp** (lib.rs): vanilla_header
|
||||
- **benilla-ui** (lib.rs): bindings_xml civil framexml justify layout loader markup messages order script source strings toc widget
|
||||
- **benilla-visual** (lib.rs): relight
|
||||
- **benilla-world** (lib.rs): art_scope assets bgwin billboard boot build_id clouds clutter collision decal dev_state doodad_anim entity_shade exterior_cull ffx_glow final_pass frame_pace ground_fx instance_tint interact interior lighting liquid log_ring mac_quit map_proj mat_anim_table mesh_tag model_fade model_forms model_render modkeys particles ribbons ride_frame rig_anim rig_palette rig_rider schedule shaders sky sky_order skybox static_gx static_merge straddle sun surface terrain_stream thread_qos view vis_chain water_fx wdl weather wmo_portal world_census world_map world_plugins world_point world_unit worldview zfill
|
||||
- **benilla-adt** (lib.rs): combined_alpha
|
||||
- **benilla-app** (lib.rs): addon_harness area area_poi area_trigger asset_churn aura_visual bindings blob_shadow bowstring camera_shake capture char_create char_select character_shadow chat_bubble chr_classes cinematic combat_log combat_text console crash creature_anim creature_type cursor cvars death debug_panel dev doodad_events dynamic_interior entities fishing_line footprints game_plugins game_tip glue glue_strings go_anim go_templates hover_log items loading_screen local_state login minimap monkey_gfx name_persist nameplates names net npc_text opaque2d pending_item_ops perf pipe_warm player poi_marker portrait post preflight probe_shield query_cache quest_markers raid_marks ranged_flex realm_select realmlist run_mode screen_fade screenshot script_calls shaders shadow_core shutdown sky_quality smart_rect sound spell ssao swing_refusal target test_support text_filter text_reshape textinput torch_shadow transport tutorial ui_action ui_auction ui_aura ui_bank ui_battlefield ui_battlefield_positions ui_battlefield_score ui_bind_confirm ui_binder ui_cast ui_char ui_chat ui_craft ui_dialog_verbs ui_dressup ui_duel ui_follow ui_gamma ui_gm_ticket ui_gossip ui_guild ui_honor ui_inspect ui_instance ui_item_text ui_items ui_layout ui_logout ui_loot ui_loot_roll ui_macro ui_mail ui_merchant ui_mirror ui_models ui_net ui_party ui_pass ui_pet ui_pet_book ui_pet_doll ui_pet_stats ui_petition ui_quest ui_quest_log ui_quest_share ui_reputation ui_saved ui_script ui_session ui_shapeshift ui_social ui_spellbook ui_stable ui_summon ui_tabard ui_talent ui_talent_wipe ui_taxi ui_text ui_tooltip ui_trade ui_tradeskill ui_trainer ui_unit ui_world_map video volumetric_fog volumetric_light vplates weapon_trail world_backdrop world_shadow world_state world_state_ui zone_skybox
|
||||
- **benilla-assets** (lib.rs): adt anim_rng blp column_grid coords gpu_blp m2 materials minimap_grid model spatial_cache terrain tex_filter trace water_depth wdt wmo world_assets
|
||||
- **benilla-formats** (lib.rs): anim_data area_poi area_sound area_table area_trigger auction_house bank_bag_slot_prices camera_shakes cfg_categories chain characters chat_channels chr_classes cinematics creature_families creature_sound creature_types creatures dbc death_thud durability elevators emit_timing emote_text emotes environmental_damage exhaustion factions fire_light footsteps game_tips gameobjects garble gm_ticket_category ground_effects install item_random_properties item_sounds item_visuals itembagfamily itemclass items itemsets itemsubclass languages light liquid loading_screen lock lock_type macro_icons maps material minimap_translate models monkey_zone_grade npc_greeting packages page_text_material particles pet_stats quest_headers quest_info race_creature_type race_pvp_team race_sound ribbons room_claim server_messages sheathe skill_lines sound_entries sound_provider sound_water spell_focus spell_mechanic spell_visual spells stable_slot_prices stationery talents taxi taxi_nodes taxi_path terrain text_filter_lists tga transport_period transports unit_blood value_track vocal_ui_sounds wdl weapon_impact weapon_swing wmo_area world_map_area world_map_continent world_map_overlay world_state_ui wow_ini zone_map
|
||||
- **benilla-m2** (lib.rs): error model skin tests track
|
||||
- **benilla-mpq** (lib.rs): crypto
|
||||
- **benilla-protocol** (lib.rs): auth events guid messages wire world
|
||||
- **benilla-srp** (lib.rs): vanilla_header
|
||||
- **benilla-ui** (lib.rs): bindings_xml civil framexml justify layout loader markup messages order script source status strings toc widget
|
||||
- **benilla-visual** (lib.rs): relight
|
||||
- **benilla-world** (lib.rs): art_scope assets bgwin billboard boot build_id clouds clutter collision decal dev_state doodad_anim entity_shade exterior_cull ffx_glow final_pass frame_pace ground_fx instance_tint interact interior layout_keys lighting liquid log_ring mac_quit map_proj mat_anim_table mesh_tag model_fade model_forms model_render modkeys particles ribbons ride_frame rig_anim rig_palette rig_rider schedule shaders sky sky_fx sky_order skybox skybox_anim static_gx static_merge straddle sun surface terrain_stream thread_qos view vis_chain water_fx wdl weather wind wmo_portal world_census world_map world_plugins world_point world_unit worldview zfill
|
||||
|
||||
## CLI binaries
|
||||
|
||||
@@ -125,23 +125,29 @@
|
||||
|
||||
- `embedded://benilla_app/shaders/shadow_caster.wgsl`
|
||||
- `embedded://benilla_app/shaders/shadow_caster_cutout_prepass.wgsl`
|
||||
- `embedded://benilla_app/shaders/ssao.wgsl`
|
||||
- `embedded://benilla_app/shaders/ui_add.wgsl`
|
||||
- `embedded://benilla_app/shaders/ui_gamma.wgsl`
|
||||
- `embedded://benilla_app/shaders/ui_node_gamma.wgsl`
|
||||
- `embedded://benilla_app/shaders/ui_quad.wgsl`
|
||||
- `embedded://benilla_app/shaders/ui_slice_gamma.wgsl`
|
||||
- `embedded://benilla_assets/shaders/emissive_hook.wgsl`
|
||||
- `embedded://benilla_assets/shaders/enhanced_water.wgsl`
|
||||
- `embedded://benilla_assets/shaders/fog_hook.wgsl`
|
||||
- `embedded://benilla_assets/shaders/liquid.wgsl`
|
||||
- `embedded://benilla_assets/shaders/monkey_frame.wgsl`
|
||||
- `embedded://benilla_assets/shaders/moonlight_hook.wgsl`
|
||||
- `embedded://benilla_assets/shaders/shadow_hook.wgsl`
|
||||
- `embedded://benilla_assets/shaders/terrain.wgsl`
|
||||
- `embedded://benilla_assets/shaders/wdl.wgsl`
|
||||
- `embedded://benilla_assets/shaders/wet_hook.wgsl`
|
||||
- `embedded://benilla_assets/shaders/wind_hook.wgsl`
|
||||
- `embedded://benilla_assets/shaders/wow_model.wgsl`
|
||||
- `embedded://benilla_world/shaders/celestial.wgsl`
|
||||
- `embedded://benilla_world/shaders/cloud.wgsl`
|
||||
- `embedded://benilla_world/shaders/ffx_glow.wgsl`
|
||||
- `embedded://benilla_world/shaders/sky.wgsl`
|
||||
- `embedded://benilla_world/shaders/sky_fx.wgsl`
|
||||
- `embedded://benilla_world/shaders/sky_vertex.wgsl`
|
||||
- `embedded://benilla_world/shaders/star.wgsl`
|
||||
- `embedded://benilla_world/shaders/static_gx.wgsl`
|
||||
@@ -162,7 +168,9 @@
|
||||
- `WOW_AMBIGUITY_DUMP_POST` — benilla-app/src/game_plugins.rs
|
||||
- `WOW_ANIM_COST` — benilla-app/src/creature_anim/driver.rs
|
||||
- `WOW_ANIM_PARK_ALL` — benilla-app/src/creature_anim/lod.rs
|
||||
- `WOW_ANISO` — benilla-app/src/cvars.rs, benilla-assets/src/tex_filter.rs
|
||||
- `WOW_ANISO` — benilla-app/src/cvars/mod.rs, benilla-assets/src/tex_filter.rs
|
||||
- `WOW_AO` — benilla-app/src/ssao.rs
|
||||
- `WOW_AO_DEBUG` — benilla-app/src/ssao.rs
|
||||
- `WOW_API_DUMP` — benilla-app/tests/world_api_wall.rs
|
||||
- `WOW_ARCH_CENSUS` — benilla-app/src/perf/mod.rs
|
||||
- `WOW_ART_RADIUS` — benilla-world/src/art_scope.rs
|
||||
@@ -183,16 +191,21 @@
|
||||
- `WOW_BUBBLE_TRACE` — benilla-app/src/chat_bubble.rs
|
||||
- `WOW_CAM_CHANGED` — benilla-app/src/perf/mod.rs
|
||||
- `WOW_CAM_DUMP` — benilla-app/src/player/camera.rs
|
||||
- `WOW_CAPTURE` — benilla-app/src/capture/mod.rs, benilla-app/src/capture/scenarios.rs, benilla-app/src/char_select/addons.rs, benilla-app/src/cvars.rs, benilla-app/src/lib.rs, benilla-app/src/local_state.rs, benilla-app/src/login/mod.rs, benilla-app/src/name_persist.rs, benilla-app/src/net.rs, benilla-app/src/player/camera_saved.rs, benilla-app/src/run_mode.rs, benilla-app/src/sound/mod.rs, benilla-app/src/ui_chat/settings.rs, benilla-app/src/ui_chat/tests.rs, benilla-app/src/ui_macro/tests.rs, benilla-app/src/ui_saved.rs, benilla-app/src/ui_script/addons.rs, benilla-app/src/ui_script/mod.rs, benilla-app/src/ui_script/world_entry_tests.rs, benilla-app/src/video.rs, benilla-app/src/volumetric_fog.rs, benilla-world/src/bgwin.rs, benilla-world/src/clouds/mod.rs, benilla-world/src/dev_state.rs, benilla-world/src/liquid/surface.rs
|
||||
- `WOW_CAPTURE` — benilla-app/src/capture/mod.rs, benilla-app/src/capture/scenarios.rs, benilla-app/src/char_select/addons.rs, benilla-app/src/cvars/mod.rs, benilla-app/src/dynamic_interior.rs, benilla-app/src/lib.rs, benilla-app/src/local_state.rs, benilla-app/src/login/mod.rs, benilla-app/src/name_persist.rs, benilla-app/src/net.rs, benilla-app/src/player/camera_saved.rs, benilla-app/src/run_mode.rs, benilla-app/src/sound/mod.rs, benilla-app/src/ui_chat/settings.rs, benilla-app/src/ui_chat/tests.rs, benilla-app/src/ui_macro/tests.rs, benilla-app/src/ui_saved.rs, benilla-app/src/ui_script/addons.rs, benilla-app/src/ui_script/layer_tests.rs, benilla-app/src/ui_script/mod.rs, benilla-app/src/ui_script/world_entry_tests.rs, benilla-app/src/video.rs, benilla-app/src/volumetric_fog.rs, benilla-app/src/volumetric_light.rs, benilla-world/src/bgwin.rs, benilla-world/src/clouds/mod.rs, benilla-world/src/dev_state.rs, benilla-world/src/liquid/surface.rs, benilla-world/src/sky_fx.rs, benilla-world/src/terrain_stream/queries.rs, benilla-world/src/wind/mod.rs
|
||||
- `WOW_CAPTURE_AGE` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_CAPTURE_CVARS` — benilla-app/src/cvars/mod.rs
|
||||
- `WOW_CAPTURE_DEADLINE` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_CAPTURE_OUT` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_CAPTURE_REHOVER` — benilla-app/src/ui_script/mod.rs
|
||||
- `WOW_CAPTURE_SKY_T` — benilla-world/src/sky_fx.rs
|
||||
- `WOW_CAPTURE_STABLE` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_CAPTURE_UI` — benilla-app/src/capture/scenarios.rs, benilla-app/src/ui_script/mod.rs, benilla-app/src/video.rs
|
||||
- `WOW_CAPTURE_WATER_T` — benilla-world/src/liquid/surface.rs, benilla-world/src/liquid/waves.rs
|
||||
- `WOW_CAPTURE_WIND_T` — benilla-world/src/wind/mod.rs
|
||||
- `WOW_CAST_TRACE` — benilla-app/src/net.rs
|
||||
- `WOW_CHAR` — benilla-app/src/capture/probe_mail.rs, benilla-app/src/char_select/mod.rs, benilla-app/src/cvars.rs, benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/realm_select/smoke.rs, benilla-app/src/run_mode.rs
|
||||
- `WOW_CENSUS_PLACE` — benilla-world/src/lighting/daylight/census.rs
|
||||
- `WOW_CENSUS_WMO` — benilla-world/src/lighting/daylight/census.rs
|
||||
- `WOW_CHAR` — benilla-app/src/capture/probe_mail.rs, benilla-app/src/char_select/mod.rs, benilla-app/src/cvars/mod.rs, benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/realm_select/smoke.rs, benilla-app/src/run_mode.rs
|
||||
- `WOW_CHARCREATE_DIALS` — benilla-app/src/char_create/mod.rs
|
||||
- `WOW_CHARCREATE_NAME` — benilla-app/src/char_create/mod.rs
|
||||
- `WOW_CHARCREATE_PICK` — benilla-app/src/capture/mod.rs, benilla-app/src/char_create/mod.rs
|
||||
@@ -200,7 +213,7 @@
|
||||
- `WOW_CHARCREATE_SHOT_OUT` — benilla-app/src/char_create/mod.rs
|
||||
- `WOW_CHARSELECT_ADDONS` — benilla-app/src/char_select/mod.rs
|
||||
- `WOW_CHARSELECT_DIALOG` — benilla-app/src/char_select/mod.rs
|
||||
- `WOW_CHARSELECT_PICK` — benilla-app/src/char_select/mod.rs, benilla-app/src/cvars.rs
|
||||
- `WOW_CHARSELECT_PICK` — benilla-app/src/char_select/mod.rs, benilla-app/src/cvars/mod.rs
|
||||
- `WOW_CHARSELECT_SHOT` — benilla-world/src/bgwin.rs
|
||||
- `WOW_CHARSELECT_SHOT_AT` — benilla-app/src/char_select/mod.rs
|
||||
- `WOW_CHARSELECT_SHOT_OUT` — benilla-app/src/char_select/mod.rs
|
||||
@@ -212,7 +225,7 @@
|
||||
- `WOW_CLOUD_DUMP` — benilla-world/src/clouds/mod.rs
|
||||
- `WOW_CLUSTERS` — benilla-app/src/player/setup.rs
|
||||
- `WOW_CLUTTER_ALPHA` — benilla-world/src/clutter.rs
|
||||
- `WOW_CLUTTER_DENSITY` — benilla-app/src/cvars.rs, benilla-app/src/lib.rs, benilla-world/src/clutter.rs
|
||||
- `WOW_CLUTTER_DENSITY` — benilla-app/src/cvars/mod.rs, benilla-app/src/lib.rs, benilla-world/src/clutter.rs
|
||||
- `WOW_CLUTTER_FADE` — benilla-world/src/clutter.rs
|
||||
- `WOW_COLUMN_COST` — benilla-assets/src/column_grid.rs
|
||||
- `WOW_CPU_CENSUS` — benilla-app/src/perf/census.rs
|
||||
@@ -222,7 +235,7 @@
|
||||
- `WOW_CULLDUMP` — benilla-world/src/wmo_portal/mod.rs
|
||||
- `WOW_CULL_TRACE` — benilla-world/src/exterior_cull.rs
|
||||
- `WOW_CURSOR_TRACE` — benilla-app/src/cursor.rs
|
||||
- `WOW_DATA` — benilla-app/src/local_state.rs, benilla-formats/src/install.rs, benilla-formats/tests/wow_data_env.rs, benilla-formats/tests/wow_data_none.rs
|
||||
- `WOW_DATA` — benilla-app/src/local_state.rs, benilla-formats/src/install.rs, benilla-formats/tests/project_folder.rs, benilla-formats/tests/wow_data_env.rs, benilla-formats/tests/wow_data_none.rs, benilla-world/src/lighting/daylight/census.rs
|
||||
- `WOW_DAYLIGHT` — benilla-world/src/lighting/daylight.rs
|
||||
- `WOW_DAYLIGHT_SEAM_EPS` — benilla-world/src/lighting/daylight.rs
|
||||
- `WOW_DEMO_BOTTOM_BARS` — benilla-app/src/ui_script/mod.rs
|
||||
@@ -241,13 +254,14 @@
|
||||
- `WOW_EMIT_DUMP` — benilla-world/src/particles/emitdump.rs
|
||||
- `WOW_ENTITY_CENSUS` — benilla-app/src/capture/probes/world_census.rs, benilla-app/src/dev.rs
|
||||
- `WOW_FADE_NEAR` — benilla-world/src/terrain_stream/spawn/mod.rs
|
||||
- `WOW_FARCLIP` — benilla-app/src/cvars.rs, benilla-world/src/view.rs
|
||||
- `WOW_FARCLIP` — benilla-app/src/cvars/mod.rs, benilla-world/src/view.rs
|
||||
- `WOW_FEED_COST` — benilla-app/src/ui_items/feed.rs
|
||||
- `WOW_FEED_GATE_CHECK` — benilla-app/src/ui_script/gate.rs, benilla-world/src/bgwin.rs
|
||||
- `WOW_FEED_GATE_TRACE` — benilla-app/src/ui_script/gate.rs, benilla-world/src/bgwin.rs
|
||||
- `WOW_FIXED_DT` — benilla-world/src/frame_pace.rs
|
||||
- `WOW_FOGMODEL` — benilla-world/src/lighting/fog_model.rs
|
||||
- `WOW_FOG_DUMP` — benilla-world/src/lighting/resolve.rs, benilla-world/src/liquid/query.rs
|
||||
- `WOW_FOLIAGE_WIND` — benilla-world/src/wind/mod.rs
|
||||
- `WOW_FOLLOW_TRACE` — benilla-app/src/player/follow.rs
|
||||
- `WOW_FORCE_SUB` — benilla-world/src/liquid/mod.rs
|
||||
- `WOW_FPS_` — benilla-world/src/bgwin.rs
|
||||
@@ -287,17 +301,19 @@
|
||||
- `WOW_GX_FADE_TRACE` — benilla-world/src/static_gx/cull.rs
|
||||
- `WOW_GX_PERF` — benilla-world/src/static_gx/mod.rs
|
||||
- `WOW_HIT_COST` — benilla-app/src/ui_script/input.rs
|
||||
- `WOW_HOST` — benilla-app/src/cvars.rs, benilla-app/src/realmlist.rs
|
||||
- `WOW_HOST` — benilla-app/src/cvars/mod.rs, benilla-app/src/realmlist.rs
|
||||
- `WOW_HOVER_LOG` — benilla-app/src/hover_log.rs
|
||||
- `WOW_HOVER_LOG_REPORT` — benilla-app/src/lib.rs
|
||||
- `WOW_HOVER_PROBE` — benilla-app/src/target/hover_probe.rs
|
||||
- `WOW_INDIRECT` — benilla-world/src/world_plugins.rs
|
||||
- `WOW_INTERIOR_COST` — benilla-world/src/interior.rs
|
||||
- `WOW_INTERIOR_DAYLIGHT` — benilla-app/src/dynamic_interior.rs
|
||||
- `WOW_INTERIOR_LOG` — benilla-world/src/entity_shade.rs, benilla-world/src/interior.rs, benilla-world/src/model_fade.rs
|
||||
- `WOW_IO_BUFFER` — benilla-app/src/sound/mixer.rs
|
||||
- `WOW_JITTER` — benilla-app/src/capture/probes/jitter.rs, benilla-app/src/dev.rs
|
||||
- `WOW_JITTER_RAW` — benilla-app/src/capture/probes/jitter.rs
|
||||
- `WOW_LAMPFOG` — benilla-app/src/volumetric_fog.rs
|
||||
- `WOW_LAMP_SCAN` — benilla-world/src/lighting/daylight/census.rs
|
||||
- `WOW_LAYOUT_DERIVE_TRACE` — benilla-ui/src/script/model.rs
|
||||
- `WOW_LAYOUT_PROF` — benilla-ui/src/script/layout.rs
|
||||
- `WOW_LAYOUT_TOUCH_TRACE` — benilla-ui/src/script/model.rs
|
||||
@@ -339,7 +355,7 @@
|
||||
- `WOW_MOVE_SPEED` — benilla-app/src/player/setup.rs
|
||||
- `WOW_MOVE_TRACE` — benilla-assets/src/trace.rs
|
||||
- `WOW_MOVE_TRACE_TAGS` — benilla-assets/src/trace.rs
|
||||
- `WOW_MSAA` — benilla-app/src/cvars.rs, benilla-world/src/view.rs
|
||||
- `WOW_MSAA` — benilla-app/src/cvars/mod.rs, benilla-world/src/view.rs
|
||||
- `WOW_MT_EXTRACT` — benilla-app/src/lib.rs
|
||||
- `WOW_MT_POSTUPDATE` — benilla-app/src/lib.rs
|
||||
- `WOW_MT_UPDATE` — benilla-app/src/lib.rs
|
||||
@@ -379,6 +395,7 @@
|
||||
- `WOW_PARTICLE_NODEPTH` — benilla-world/src/particles/render.rs
|
||||
- `WOW_PART_CHURN` — benilla-app/src/perf/mod.rs
|
||||
- `WOW_PASS` — benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/run_mode.rs, benilla-protocol/examples/login_refusal_probe.rs, benilla-protocol/examples/park_probe.rs
|
||||
- `WOW_PERF_CROWD` — benilla-app/src/capture/fixtures.rs
|
||||
- `WOW_PERF_HUD` — benilla-app/src/perf/hud.rs
|
||||
- `WOW_PHASE` — benilla-app/src/capture/phase_probe.rs, benilla-app/src/dev.rs, benilla-world/src/bgwin.rs
|
||||
- `WOW_PHASE_AT` — benilla-app/src/capture/phase_probe.rs
|
||||
@@ -452,13 +469,14 @@
|
||||
- `WOW_PROBE_UNCAP` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_PROBE_VENDOR_SWAP` — benilla-app/src/dev.rs
|
||||
- `WOW_PROBE_VSYNC` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_RAIN_SURFACES` — benilla-world/src/weather/wetness.rs
|
||||
- `WOW_REALM` — benilla-app/src/realm_select/mod.rs
|
||||
- `WOW_REALM_SMOKE` — benilla-app/src/realm_select/smoke.rs
|
||||
- `WOW_REFUSE_LOGIN` — benilla-app/src/net/io.rs
|
||||
- `WOW_REMOTE_FLAT` — benilla-app/src/net/motion/remote.rs
|
||||
- `WOW_REMOTE_IDLE_GATE` — benilla-app/src/net/motion/remote.rs
|
||||
- `WOW_REMOTE_SNAP` — benilla-app/src/net/motion/remote.rs
|
||||
- `WOW_RENDER_SCALE` — benilla-app/src/cvars.rs, benilla-app/src/world_backdrop.rs
|
||||
- `WOW_RENDER_SCALE` — benilla-app/src/cvars/mod.rs, benilla-app/src/world_backdrop.rs
|
||||
- `WOW_RESIZE` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_RES_CENSUS` — benilla-app/src/perf/census.rs
|
||||
- `WOW_REVEAL` — benilla-app/src/capture/probes/reveal.rs, benilla-app/src/dev.rs
|
||||
@@ -472,9 +490,12 @@
|
||||
- `WOW_SHADOW_TRACE` — benilla-app/src/shadow_core.rs
|
||||
- `WOW_SHOT_REQUIRE` — benilla-app/src/capture/live_shot.rs
|
||||
- `WOW_SHOT_REQUIRE_DIST` — benilla-app/src/capture/live_shot.rs
|
||||
- `WOW_SKYBOX_T` — benilla-world/src/skybox.rs
|
||||
- `WOW_SKY_DEPTH` — benilla-assets/src/materials.rs
|
||||
- `WOW_SKY_QUALITY` — benilla-world/src/sky_fx.rs
|
||||
- `WOW_SOUND_PROBE` — benilla-app/src/sound/probe.rs
|
||||
- `WOW_SPELL_LIGHT` — benilla-app/src/entities/spell_fx/lifecycle.rs
|
||||
- `WOW_STAGE1` — benilla-assets/src/materials.rs
|
||||
- `WOW_STALL` — benilla-app/src/capture/probes/stall.rs, benilla-app/src/dev.rs
|
||||
- `WOW_STALL_INJECT` — benilla-app/src/perf/stall.rs
|
||||
- `WOW_STALL_SAMPLE` — benilla-app/src/perf/stall.rs
|
||||
@@ -483,6 +504,7 @@
|
||||
- `WOW_STATIC_GX_PROP` — benilla-world/src/static_gx/mod.rs
|
||||
- `WOW_STATIC_GX_WMO` — benilla-world/src/static_gx/mod.rs
|
||||
- `WOW_STATIC_MERGE` — benilla-world/src/terrain_stream/merge.rs
|
||||
- `WOW_STOCK_UI` — benilla-app/src/ui_script/manifest.rs
|
||||
- `WOW_STREAM_TRACE` — benilla-app/src/perf/mod.rs
|
||||
- `WOW_TABHOVER` — benilla-app/src/capture/fixtures.rs
|
||||
- `WOW_TAB_TRACE` — benilla-app/src/target/scan.rs
|
||||
@@ -493,9 +515,10 @@
|
||||
- `WOW_TILE_TRACE` — benilla-app/src/ui_models/mod.rs
|
||||
- `WOW_TILE_UNLOAD` — benilla-world/src/assets/mod.rs
|
||||
- `WOW_TINT_PROBE` — benilla-app/src/aura_visual.rs
|
||||
- `WOW_TORCH_TERRAIN` — benilla-app/src/torch_shadow.rs
|
||||
- `WOW_TORCH_TRACE` — benilla-app/src/torch_shadow.rs, benilla-world/src/static_gx/torch_depth.rs
|
||||
- `WOW_TRAIL_CENSUS` — benilla-app/src/capture/probes/trail_census.rs, benilla-app/src/dev.rs
|
||||
- `WOW_TRILINEAR` — benilla-app/src/cvars.rs, benilla-assets/src/tex_filter.rs
|
||||
- `WOW_TRILINEAR` — benilla-app/src/cvars/mod.rs, benilla-assets/src/tex_filter.rs
|
||||
- `WOW_TWIST_GAP` — benilla-app/src/player/body_pose.rs
|
||||
- `WOW_UISCRIPT_DUMP` — benilla-app/tests/ui_script_wall.rs
|
||||
- `WOW_UI_COST` — benilla-app/src/ui_script/extract/mod.rs
|
||||
@@ -504,15 +527,13 @@
|
||||
- `WOW_UI_HANDLERS` — benilla-ui/src/script/handler_prof.rs
|
||||
- `WOW_UI_PICK` — benilla-app/src/ui_script/extract/mod.rs
|
||||
- `WOW_UI_PROBE` — benilla-app/src/ui_pass.rs
|
||||
- `WOW_UI_SCALE` — benilla-app/src/cvars.rs, benilla-app/src/ui_script/mod.rs
|
||||
- `WOW_UI_SCALE` — benilla-app/src/cvars/mod.rs, benilla-app/src/ui_script/mod.rs
|
||||
- `WOW_UI_SPLICE_VERIFY` — benilla-app/src/ui_script/extract/mod.rs
|
||||
- `WOW_UNATTENDED` — benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/run_mode.rs, benilla-world/src/bgwin.rs
|
||||
- `WOW_UNIT_VISUALS` — benilla-app/src/capture/probes/visual_census.rs, benilla-app/src/dev.rs
|
||||
- `WOW_UNIT_VISUALS_RADIUS` — benilla-app/src/capture/probes/visual_census.rs
|
||||
- `WOW_UPLOAD_BUDGET` — benilla-world/src/world_plugins.rs
|
||||
- `WOW_USER` — benilla-app/src/login/mod.rs, benilla-app/src/net.rs, benilla-app/src/run_mode.rs, benilla-protocol/examples/login_refusal_probe.rs, benilla-protocol/examples/park_probe.rs
|
||||
- `WOW_VIS_DUMP` — benilla-app/src/capture/probes/live_fps.rs
|
||||
- `WOW_VIS_TRACE` — benilla-world/src/model_render/visibility.rs
|
||||
- `WOW_VISTA_AT` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_VISTA_FACE` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_VISTA_MIN` — benilla-app/src/capture/mod.rs
|
||||
@@ -521,13 +542,21 @@
|
||||
- `WOW_VIS_TRACE` — benilla-world/src/model_render/visibility.rs
|
||||
- `WOW_VOLFOG` — benilla-app/src/volumetric_fog.rs
|
||||
- `WOW_VOLFOG_SHAFT_GAIN` — benilla-app/src/volumetric_fog.rs
|
||||
- `WOW_VOLLIGHT` — benilla-app/src/volumetric_light.rs
|
||||
- `WOW_VOLLIGHT_DEBUG` — benilla-app/src/volumetric_light.rs
|
||||
- `WOW_VOLLIGHT_DENSITY` — benilla-app/src/volumetric_light.rs
|
||||
- `WOW_VOLLIGHT_GAIN` — benilla-app/src/volumetric_light.rs
|
||||
- `WOW_VOLLIGHT_HEIGHT` — benilla-app/src/volumetric_light.rs
|
||||
- `WOW_VPLATE_TRACE` — benilla-app/src/vplates.rs
|
||||
- `WOW_WARM_SLICE` — benilla-app/src/pipe_warm/mod.rs
|
||||
- `WOW_WATER` — benilla-world/src/liquid/scene_depth.rs
|
||||
- `WOW_WATER_CLIP` — benilla-assets/src/materials.rs
|
||||
- `WOW_WATER_PROBE` — benilla-world/src/liquid/surface.rs
|
||||
- `WOW_WAVE_DUMP` — benilla-world/src/ffx_glow.rs
|
||||
- `WOW_WEATHER` — benilla-world/src/weather/mod.rs
|
||||
- `WOW_WEATHER_DUMP` — benilla-world/src/weather/mod.rs
|
||||
- `WOW_WETNESS` — benilla-world/src/weather/wetness.rs
|
||||
- `WOW_WET_T` — benilla-world/src/weather/wetness.rs
|
||||
- `WOW_WFX_AGE` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_WFX_AT` — benilla-app/src/capture/mod.rs
|
||||
- `WOW_WFX_AZ` — benilla-app/src/capture/mod.rs
|
||||
@@ -545,6 +574,7 @@
|
||||
- `WOW_WORLDVIEW_SHOT` — benilla-world/src/worldview.rs
|
||||
- `WOW_WORLDVIEW_SHOT_AT` — benilla-world/src/worldview.rs
|
||||
- `WOW_WORLDVIEW_SURVEY` — benilla-world/src/worldview.rs
|
||||
- `WOW_ZONE_SKYBOXES` — benilla-app/src/zone_skybox.rs
|
||||
|
||||
## Scripts (`scripts/`)
|
||||
|
||||
|
||||
+14
-9
@@ -10,7 +10,9 @@ not build a server or simulate the game. The reference client is the spec: benil
|
||||
A change is right when it makes benilla more like 1.12.1 or fixes a bug, with evidence from the
|
||||
reference, in one small piece, with the gates green. A deviation from the reference is the
|
||||
maintainer's call alone, and each one is written down where it lives: a CVar's `Deviates` row, a
|
||||
comment naming the reference fact and why we differ. Anything else is a fork.
|
||||
comment naming the reference fact and why we differ. Anything else lives on top of benilla, in a
|
||||
crate of its own or a fork, and benilla opens a piece of itself to such a crate only when its own
|
||||
1.12.1 work creates that piece (`docs/CONTRIBUTING.md`, "Building on top").
|
||||
|
||||
## The loop
|
||||
|
||||
@@ -36,19 +38,22 @@ comment naming the reference fact and why we differ. Anything else is a fork.
|
||||
## Hard rules
|
||||
|
||||
- **Never commit anything from the install.** Art, models, sounds, maps, data: the install is
|
||||
read at runtime from a gitignored path, and everyone provides their own. The one exception is
|
||||
interface code: FrameXML and GlueXML run off the player's own patch chain, and our own
|
||||
counterparts under `assets/ui` stay until they retire.
|
||||
read at runtime from a gitignored path, and everyone provides their own. Interface code is no
|
||||
exception: FrameXML and GlueXML run off the player's own patch chain, and `assets/ui` holds
|
||||
only benilla's own files.
|
||||
- **The install is read-only.** benilla never writes into the WoW folder: no screenshot, log,
|
||||
cache or scratch file. `scripts/smoke.sh` fails a run that leaves the install changed.
|
||||
- **Local state lives in one folder**, `benilla-config/`, at the repo root in a dev build and
|
||||
beside the binary in the player build; every path to it resolves through `crate::local_state`.
|
||||
Player settings are CVars persisted as a diff in `benilla-config/config.toml`.
|
||||
- **UI is stock-first: a window is migrated, not authored.** The end state is the stock 1.12
|
||||
FrameXML executed off the player's own chain. `assets/ui` does not grow: a test names its
|
||||
files and fails on a new one. A window is built by pointing `benilla.toc` at the stock file,
|
||||
deleting ours and building the engine verbs it calls, never stubbing one to make the file
|
||||
load.
|
||||
- **The core UI is the stock UI; benilla's own is one layer on top.** The core loads the stock
|
||||
1.12 FrameXML off the player's own chain, byte for byte, and builds the engine verbs those
|
||||
files call, never stubbing one to make a file load. benilla's own interface (its options
|
||||
window, its game-menu look, its fixes to the stock Lua) is one layer that loads after the
|
||||
stock files and before third-party addons, the way an addon does: written against the 1.12 API
|
||||
alone, listed in no addon list and always on, and offering nothing another addon can build on.
|
||||
Anything that changes what the stock UI does or shows lives in the layer, and the layer does
|
||||
not grow: a test names its files and fails on a new one.
|
||||
- **A setting's default is the reference's default.** Every option boots at the stock 1.12
|
||||
value. Shipping another value costs an explicit `Deviates` row with the reason, and a test
|
||||
fails a row that drifts either way.
|
||||
|
||||
Reference in New Issue
Block a user