Entry 190
"The spells' screen noise on the field UI; the effects' smoke callers all accounted for"
Filescrates/piney-game/src/fx.rscrates/piney-game/src/area.rscrates/piney-world/src/field_world.rscrates/piney-fieldui/src/lib.rscrates/piney-game/src/session.rsdocs/engine/battle.mddocs/engine/effects.md
A sweep of the docs for "not ported" found a line in battle.md's "What
the runtime still lacks": "The effects' camera shakes, noise and flashes
are not carried out yet." The shakes and flashes have been carried out
for some time: area.rs takes them from the effects each frame. The
noise was not. fx.rs dropped piney-effect's Event::Noise with a
comment saying so.
The noise. A blast in the camera's reach (checkCameraShakeRange:
within 67.5 degrees of the view and 2000 of the eye) calls
ccMenu->noiz->SetNoizBs(20) as well as cameraShake. The callers:
- the tornado spells at count 40;
- the convergence, upheaval and fall systems;
- the summons.
On screen the last frame is laid over this one 2.8% larger at alpha
0x50, fading (field-ui.md, the noise's +4). The field UI already had
ccNoiz for interNoiz and the event instructions.
Now:
FieldFx::take_noiseshands the frame's requests over.GameFxkeepsNoiseevents for it, as it keeps the shakes and flashes.AreaModegives each to the newFieldUi::noise_bs, which isSetNoizBs.
a_spell_lands_through_the_effects used to cast Tornado the moment the
goblin came out, some 2,500 away, where the blast is out of the camera's
reach. It now walks Kite to within 1,200 of the goblin first. The noise's
count then reads 19: the 20 set, less the one frame drawn before the read.
The tornado's level and blows are checked as before.
The smoke. effects.md listed WORLD::DrawSteam and ccGimSymbol
as callers of effSmoke that were not ported. Both are ported, in
field_ambient and gimmick.rs's obj_main. Every caller in Infection
was listed with the disassembler's cross references. Those not ported
are the later volumes' bosses:
ccBoss04andccBoss06'sOnThinkBackDash;ccBoss08_b;ccBossEffLightBallShockandccBossEffRockTower.
effVirusCrystal is ported for the virus boxes (ccGimBox::virusMain).
Only ccRtownPC::eventMode's call is left, in the mode that volume 2's
event 114 gives.
Nothing new. The noise's look was not compared with the game's picture.