Update Healer Man server
This commit is contained in:
1 parent
a64b2cb575
commit
71246e5b75
502 files changed
+4245
-19
No files matched your search
@@ -48,6 +48,52 @@ Publishing a new app/content release remains the normal deployment step.
|
||||
Development gameplay uses Vite's local source media directly; release builds
|
||||
retain the verified media-pack download requirement.
|
||||
|
||||
## RuneWaker spell media mapping
|
||||
|
||||
`npm run effects:rom` refreshes only RuneWaker manifest entries and packages
|
||||
their sound cues without rebuilding WoW effects. It reads spell-to-image links
|
||||
from `romPlayerCatalog.generated.json` and `magiccollectobject.db`, effect model
|
||||
paths from `imageobject.db`, and exact same-name cues under the client's
|
||||
parallel `sound/fx` tree. The sound association is a path match, not an
|
||||
explicit sound ID from `imageobject.db`. Each cue is tagged with its source
|
||||
cast phase so a target impact does not replay a caster sound.
|
||||
|
||||
`npm run effects:rom:particles` packages a decoded ROS particle archive for the
|
||||
five primary classes and their accepted elite pairs. Build the native exporter
|
||||
with `scripts/runewaker-pipeline/native/build-exporter.ps1` first. The exporter
|
||||
reads ACT motion controllers, where the texture names and particle keys live;
|
||||
the static entity tree alone contains default values. Set `RUNEWAKER_RESOURCE_ROOT`,
|
||||
`RUNEWAKER_EXPORTER`, or `TEXCONV_BIN` to override the default source and tool
|
||||
locations. The archive index at
|
||||
`public/assets/game/combat-effects/original/runewaker/manifest.json` records
|
||||
decoded and unsupported controller families per model. Its graphs contain the
|
||||
source shader identity, blend mode, billboard settings, particle tracks, and
|
||||
PNG versions of referenced DDS textures. The archive also extracts the SMUNI
|
||||
vertex and pixel HLSL from the Rune engine source with a source hash. Texture
|
||||
tile sizes are pixels, not atlas row and column counts.
|
||||
|
||||
`npm run effects:rom:audit` writes the first-five class and accepted-pair map
|
||||
to `docs/ROM_SPELL_MEDIA_MAPPING.md`. It distinguishes source ROS references,
|
||||
packaged audio, and browser-playable original visual graphs. The WebGL sprite
|
||||
renderer plays Priest Urgent Heal, Heal, and Group Heal casts, Knight Charge
|
||||
cast and Whirlwind Shield impact, and Mage Electric Bolt projectile. The exact
|
||||
spell, phase, and model allowlist lives in `rom-particle-readiness.mjs`. Other
|
||||
ROS phases remain in the archive until their controller families and motion
|
||||
sequence are checked in the browser. Open `scripts/combat-effects/rom-preview.html`
|
||||
with the Vite dev server to inspect the decoded sprite models. The emitter
|
||||
integrates source rate keys over each rendered frame so short bursts survive
|
||||
slower frames. Whirlwind Shield uses a 2.5 presentation scale after live
|
||||
dungeon review.
|
||||
|
||||
The Priest's holy `act_casting_c_hand.ros` has three renderable sprite layers
|
||||
and one `CRuController_EventTrigger` in its `appear` motion. The RuneWaker
|
||||
source identifies event 43 as looping direct 3D audio for
|
||||
`sound/fx/skill/holy/act_casting_c_hand.wav`, not another visual layer. The
|
||||
packager marks this exact model renderer-ready after validating that event's
|
||||
parameters. Its packaged WAV loops only during the matching Priest cast and
|
||||
stops on release or cancellation. Other unsupported event triggers still
|
||||
block a graph from the ready allowlist.
|
||||
|
||||
## Rendering
|
||||
|
||||
The `wow-m2-model` format composes source particles, animated/skinned geometry,
|
||||
|
||||
Reference in new issue
Block a user