- 360 "Field 28's held battle flag is event 50's game of tag; Infection's story without god, and what the pilot lacked there" [[358]] and [[359]] left two questions open: why in_battle held at 1 in field 28 with no fight, and how the story plays without the survey's aids.
- 359 "Infection's whole story ends under the autopilot: event 22's cure boxes, a ghost Kite under god, board posts first" [[358]] took infection_whole_story to event 21.
- 358 "Infection's whole story under the autopilot: the pilot's gaps up to event 21" [[276]] ran Mutation's story from its new game to its end under the story autopilot (mutation_whole_story), and Outbreak's followed.
- 357 "The port's messages go through tracing: PINEY_LOG filters them, and the console shows warnings and errors" Not the game's.
- 356 "Each arrival in a town draws its own walking PCs: the session counts frames from power-on" Issue #32: the PCs walking a Root Town were the same on every visit.
- 355 "Event 22's cures and finale: piros_colour's line waits for its window, and a room change disables the event task at once" Two reports on INF event 22 (PIRO02, the Cursed Piros quest), both fixed.
- 354 "A HUD scale: each HUD part shrinks toward its own corner" Not the game's.
- 353 "A Ryu Book reward's flicker is the game's own; the port draws the book once a frame" The user saw a Ryu Book "glitch out and in" for an instant when it gives a reward.
- 352 "Mutation's recall fades are smooth: its boards are rigid and key on their boxes" [[226]] described the recall in MUT stream 23 (str0695e).
- 351 "The top page's Key of the Twilight: a rigid model keys the sorted group on its own vertex box, not a Bbox chunk" Issue #25 and the user's reference: on the top page (INF xdttopen0) the sword carries "Key of the Twilight" in yellow down its blade, lit by an orange glow.
- 350 "The console wraps, scrolls with the mouse and lists its help in columns; render scale, vsync and an FPS cap" None of this is the game's.
- 349 "A revived member who ignores orders: not reproduced; what was ruled out" Two reports describe one bug.
- 348 "A spell holds its targets for its whole run: the effects' copy of holdFlag was never set" The user's video (work/video_of_bugs/20261002-0643-11.2822681.mp4, B3 of a dungeon, a Water Witch): its ice spell lands on Kite and he runs on under it.
- 347 "Ryu Books IV to VIII: their pages, lists and keys, each run against the game" [[317]] ported Books I-III and left IV-VIII's pages: their DispNN, CheckItemGetNN, and PadControl04, 05 and 08.
- 346 A lone slot file imports with its index record The user's repro save for [[345]] is one slot file, work/savecards/repro/dhdata12 (0x8530 bytes, INF).
- 345 "Three player reports: a node keeps its own transparency, the book's cover every frame, one area a gate trip" Three issues from the same player, all INF.
- 344 "sound 8 0 256: five uses, and port 0 always takes the SE option" [[176]] left open "whether the SE port's volume is ever below full when sound 8 0 256 runs".
- 343 A lake's dungeons: every entry goes with the scene, and entryFlag places them again [[191]] left two questions about a lake's way between its dungeons.
- 342 The opening stream's flashes over the stream: the cancel's and the end's The title's intro stream has two white flashes, and the port got both wrong.
- 341 The map button behind ccThGameCtrl's waits, and no map in a fight [[77]] left two map gaps open.
- 340 The frame-mode deflicker: read circuit 1 a line lower, merged at ALP 127 While working out SetDisplayOffset's units ([[339]]), a second pair of DISPLAY values turned up at ccSystem +0xe10 / +0xe20.
- 339 Adjust Screen moves the picture: SetDisplayOffset's units, and the presenter's shift Adjust Screen (the desktop's ScreenMenu, INF SLUS_202.67:0x0016d4d0, and the field Option's, INF GCMN.PRG:0x0053f060) calls ccSystem::SetDisplayOffset(x, y) every frame it is open.
- 338 "Saves from PCSX2: a PS2 card image reader, the import, and Infection slots of 0x8d84" Players asked to bring their PCSX2 saves over.
- 337 A member's equipment remark in town [[67]] left the CHAT menu's ChangeEquipReport dropped in town.
- 336 "The menu task runs in its place: ccThGameCtrl, ccThMenu, then the world" [[334]] found the cause of [[101]]'s late words.
- 335 "vBank+0x08 is never read: SEWORDS' wordPlay takes the offset, size, volume and name" [[95]] noted that skillVoicePlay leaves vBank+0x08 as evVoicePlay last wrote it (0), while the port sends no such word.
- 334 "Each mode's tasks and priorities; the port's menu task runs after the world's" [[15]] left open which tasks each mode starts and in what order.
- 333 "CheckOperate run against the game: 600 random cases" [[90]] noted that ccEvent::CheckOperate(9), the talk rule, had only been checked in pieces.
- 332 "The Mono option reaches the synthesizer: ccSetOutputMode and sdCommand 3" The sound page's Unknown asked which sceHSyn_SetOutputMode value the stereo/mono option sends.
- 331 "Modes 1 and 0x1000: the soft reset, and a stop nothing asks for" [[15]] left modes 1 and 0x1000 open.
- 330 "scene does not sleep the event task: the pass runs on in its frame, disabled" [[74]] read from the thread code that the event task, put to sleep inside scene, wakes on the next frame.
- 329 "The field's set-up passes checked: ccEnableThEvent and the game+4 exit" [[69]] took the town's and the field's side of the event passes from the desktop's, unchecked.
- 328 "near_marker's distance: the player's posP is FZeroPosition with his ground height" [[134]] ported near_marker outside the towns as the distance between W2P(marker) and W2P(player), assuming the game's plw->posP is the player in that same wrapped frame.
- 327 "The jukebox clears the reverb; ccSnd +98 and +0x110 settled" Four sound questions were left open: [[56]]'s two, [[184]]'s +0x110, and [[42]]'s "who asks for sdCommand cases 4 and 5".
- 326 The gate menu's flash drawn in town on the menu fader [[68]] left the Chaos Gate menu's white flash out.
- 325 "The later volumes' changed event cases: seven compile differently, six change behaviour" [[24]] left open what Outbreak's rewritten cases 6, 8, 9, 60, 71, 72 and 150 do.
- 324 "File-list entries: deleteCnt is a reference count, addFlag is always -1" [[5]] left three questions: whether a requested name can miss its category table, what fills directCCSTbl (answered by [[242]]), and the two s16 fields of a file-list entry.
- 323 "prev_room and hold 7: no script of any volume uses them" Two event instructions have stayed unported since Infection's story was done: - prev_room (WORLD_MAN::GoPrevRoom, INF main 0x001a40b0), which [[87]] and [[111]] left at the host's default, "no volume-1 script needs it"; - hold with type 7 (the boss), which [[109]] and [[117]] left out, "no Infection script uses it".
- 322 A skill's words follow the Voiceover option the moment it changes [[89]] left open whether the driver follows a change of The World's Voice option at once.
- 321 ccSoundFadeOut fades the music over 8 frames instead of cutting it [[58]] left this open: the port mapped Event::SoundFadeOut to Audio::bgm_stop, which stops every sequence at once.
- 320 "New Game's name entry was silent: ccSetupDesktop's ccAllSoundOff comes after the phase-0 pass" Reported several times since 2026-09-28 (INF), and shown in a player's video: New Game's name entry had no keyboard sounds, and its confirm was silent too.
- 319 "The Gott statue's ring stayed: a character's draw ignored its objects' animated transparency" Issue #19 (INF, the tutorial dungeon, event 4 TEACH-D): after the Gott statue falls, its yellow ring stays in the room.
- 318 "A Ryu Book was never opened: its use was a bare request, and the Key Items refuse books outside towns" [[317]] put ccThBook in, but no book ever opened.
- 317 Ryu Books begun, a voice row outside its table, condition effects on the flute and on a foe struck with the party gone This was the first chunk of the sweep of open questions left by the week's fixes.
- 316 Three player reports: the gate hack's silence, a member revived while lying, the markers of the fallen GitHub issues 13, 14 and 15 (Infection).
- 315 Three player reports: Elk left in the party, Natsume's talk, the Gott statue's hold GitHub issues 16, 17 and 18 (Infection).
- 314 "Outbreak's battle harnesses at 0: a menu word, swapped names, every foe type held, and sqrt.s beyond the battle" [[308]] left these Outbreak (OUT) harness mismatches: - drain: drain 176, side_effect 1; - flow: area_item 35, skill_main 4; - enemy motion: main 2 of 300; - the ride harness would not start; - items: the map items of category 13.
- 313 Three player reports: a scroll's cast, the Book of Law, a story box's body GitHub issues 10, 11 and 12 (Infection).
- 312 Three reports again: a field's effects table, the Status portraits, a member spoken to while running GitHub issues 2, 3 and 5 (Infection), called fixed too early.
- 311 Two player reports: a member spoken to while running, and the party's battle chatter GitHub issues 2 and 7, both from Infection.
- 310 Four player reports: added effects in town, sparks after a drain, area skills' marks, a charm cast GitHub issues 1, 5, 6 and 8, all from Infection.
- 309 Back in town: the members' kit and the trade lists restocked, their faces Three player reports (GitHub issues 3, 4 and 9), all about coming back to a Root Town from a field in Infection.
- 308 Outbreak's sqrt.s in the party's distances: Kite's harness at 0 Worklog 307 left test_battle_kite_rs.py on Outbreak at 10 of 200 mismatches in main_run and 31 in main_run_ai.
- 307 Outbreak's foes that took no damage: Exdefense, and two area rules Worklog 306 left three side events of Outbreak open, each on a foe that took no damage: MARLOWE-2 (256) in room 0-2 of field 84's dungeon, TERASHIMA-1 (262) in room 2-6 of field 90's, and SERVER-3 (263) at Black Death.
- 306 Outbreak's side events surveyed under the story autopilot Outbreak's side content had never run.
- 305 Outbreak's 206 in the survey's budget and its whole story from the new game After [[293]] event 206 was the one Outbreak event left, and the one run from the new game (outbreak_whole_story) had not been made.
- 304 Kyvia's second fight ported: ccBossKyvia02, its two stages and thunderbolts; event 211 done Outbreak's event 211 stopped at field 10's entry type=7 code=13.
- 303 Gorre finished: the brothers' Wave, Tornade and SendMessage ported, the harness at 0 mismatches, event 218 done Gorre ([[296]], [[297]]) went into this session with its harness failing every case (bulk 20 from 9900: 20 of 20, all near frame 91).
- 302 DUNGEON::ShowMap's two edges: DeleteRoom frees the one built room, and room 15 is never under the player [[301]] left two places where the port's show_map_step looked different from DUNGEON::ShowMap (INF GCMN.PRG:0x005cf260).
- 301 A Fairy's Orb in a dungeon fight rebuilt the room with its doors open; the camera went through Reported in play (INF): a Fairy's Orb (TOOL 2, PERSONAL > Items) used right as a dungeon fight started "broke the camera", and it stayed wrong.
- 300 Party members' skill words: not reproduced, the port's path is the game's Reported in play (INF, through the launcher): Kite names his skills, but party members (BlackRose, Orca, Mistral) using skills say nothing.
- 299 A Data Bug drawn and held at half its HP: the area's entry copy, virusFlag on the character Reported in play (INF, Mistral's side quest, a dungeon's B3): a Data Bug (an enemyTbl row of type 0x40) fought with no model on screen, the hits and "DATA DRAIN OK" shown, and one hit of 1813 took its HP down; normal hits could finish it.
- 298 "An event's scene -2 put the town's card up: the port skipped loadCheck" Reported in play (INF): in Mac Anu during event 13 (MG0340, Mia and Elk), the "Aqua Capital / Mac Anu" loading card came up as though Kite had logged in again.
- 297 Gorre's harness: the brothers' orbit, Order and ChangeAction checked against the game Gorre (ccBoss05 + ccBoss05Brother, [[296]]) went into the last session without a harness.
- 296 Gorre and its two brothers ported: patterns and tables solid, per-brother camera math approximated Gorre (ccBoss05, boss05.cpp, bossTbl row 4, file x51) is Outbreak's second phase boss, event 218 in field 5.
- 295 Fidchell's spells drawn, its prediction's text and voice, the skills' names What [[294]] left named but not shown now shows and sounds: the four spells' pictures, the prediction's text and voice, a skill's name in the cinema, and a boss's effSkillStart.
- 294 Fidchell, Outbreak's first phase boss, and its four spells Outbreak's event 207 now fights Fidchell in field 4 and runs to its end.
- 293 Outbreak's story under the autopilot: its starts, going alone, a story map's door, the Data Bugs After Mutation's whole story ([[276]]), Outbreak's.
- 292 Key items were never used: the Key Items menu's use call, and the epitaphs' pages The triage of the open questions (UNKNOWNS.md, [[288]]) listed "an epitaph or a book used does nothing" as a play gap.
- 291 Open questions after the triage: the later volumes This entry closes the open questions of 28 entries about the later volumes: what Mutation, Outbreak and Quarantine change, the carry of Infection's names, the typed per-volume tables, Mutation's towns, story and bosses under the autopilot, and Outbreak's and Quarantine's towns.
- 290 Open questions after the triage: the save This entry closes the open questions of 10 entries about the save: the memory card format, the new game, the title's load and what carries between volumes.
- 289 Open questions after the triage: sound, voices and movies This entry closes the open questions of 28 entries about sound and pictures in motion: the sound banks, the driver and the music contexts, voices, the PSS movies and the in-engine streams.
- 288 Open questions after the triage: menus, the desktop and the text This entry closes the open questions of 34 entries about the menus and screens: the desktop and its text, the title, the top page, the field UI (the HUD, the menus, the minimap), the noise, the staff roll and the launcher.
- 287 Open questions after the triage: the event scripts and their hosts This entry closes the open questions of 17 entries about the event scripts: the instruction set, the interpreter and the hosts that answer it in the towns, the fields and the dungeons.
- 286 Open questions after the triage: battle This entry closes the open questions of 25 entries about battle: the tables, the rules, the enemies' and the party's decisions, items, Data Drain and the bosses' rules.
- 285 Open questions after the triage: towns, fields and dungeons This entry closes the open questions of 33 entries about the world: the area words and the generators, the Root Towns, the fields and the dungeons, their objects, gimmicks and people.
- 284 Open questions after the triage: the effects and the streams' effect tasks This entry closes the open questions of 32 entries about the effects: the effect system (piney-effect), particles, the bosses' pictures and the in-engine streams' effect tasks.
- 283 Open questions after the triage: the draw path This entry closes the open questions of 35 entries about the draw path: the VU1 programs and the model packets, animation, fog, lights, shadows, water and the towns', fields' and dungeons' drawing.
- 282 Open questions after the triage: the disc, the formats, the engine core and the tools This entry closes the open questions of 29 entries about the disc, the file formats, the executable, the engine's modes and tasks, the pad, the build and the project's own tools.
- 281 Mutation's attack spells: the ccSkill's request-time aim and the later release tools/test_effect_spell_rs.py had only run on Infection.
- 280 Skeith's ice rocks fell through the floor: ccEffect::Main's last cases ported A play test reported missing particle effects.
- 279 An enemy's condition effect outlived a Data Drain: clearConditionEnemy's ClearConditionEffect carried out The report: enemies' effects stay after they die, a floating staff and red marks after BATTLE MODE OFF.
- 278 Each volume's animation-note sounds: setbl per volume, Outbreak's 21 party tables The animation notes' sounds (ccSeSetParamSPC, ccSeSetParamEnemy, ccSeSetParamInu) read setbl.cpp's tables.
- 277 Spoken to while running: the greeting's stop reaches the member; the field's talk target and the town's faces Three play-test reports about Infection's party members, each found and held by a test.
- 276 Mutation's whole story under the autopilot, 101 to 116 With Magus ported ([[274]]) and field 13's talks working ([[275]]), mutation_whole_story makes one run from Mutation's new game, with no start built for any event.
- 275 Field 13's talks: area n for the numbered maps, field markers, and the fellows' delete Mutation's whole run ([[273]]) ended events 101 to 114 and then stood in field 13 for event 115, talking to no one.
- 274 Magus and its leaves Mutation's event 115 now fights Magus in field 3 and runs to its end.
- 273 Event 108 under the autopilot: shut doors, Kyvia's parts and its healing gomora With Kyvia ported ([[272]]), PINEY_SURVEY_ONLY=108 PINEY_SURVEY_GOD=1 now ends story 108: done in 420,000 frames.
- 272 Kyvia's first fight and its disc Mutation's event 108 now fights Kyvia on the disc of field 9 and runs to its end.
- 271 Mutation's str7100, str8800 and str0300 are Infection's code [[267]] left str7100, str8800 and str0300 as "changed on Mutation" because no Infection name reached their rows in StreamDemoFuncTbl.
- 270 The whole story to Kyvia's field: the gate hack's cores and the desktop's late mail mutation_whole_story (one run from Mutation's new game) now ends events 101 to 107 and walks into field 9 for 108, where it waits on Kyvia (not yet ported).
- 269 Stream 34's parts: Func_str1070 circling and rising objects The last of Mutation's thirteen new effect functions ([[267]] left it).
- 268 Event 107 under the autopilot: to Innis and past the breeder With Innis ported ([[266]]), mutation_story_survey for 107 now ends story 107: done (400,000 frames, the fight about 146,000 of them).
- 267 Mutation's stream effect tasks: the opening's text and eleven more Mutation's StreamDemoFuncTbl (MUT main 0x00367210) has 40 rows, not 23: Infection's 22, then 18 of its own on 13 functions (Outbreak has the same names).
- 266 Innis, Mutation's first boss, and the bosses by code Innis (ccBoss02, its three ccBoss02Slave images and their BreakMirrors) is ported from MUT gcmn (0x004941b0-0x0049da1c, 0x00533d90-0x00534a7c), with Infection's DWARF for the names and layouts.
- 265 Mutation's dungeons on Mutation's tables, and the pilot's way past side lines The dungeons played every volume on Infection's tables.
- 264 Area 13's map, the pilot's talks in fields, and Mutation's bosses This follows [[263]].
- 263 Mutation's story under the autopilot, and area 43's map mutation_story_survey now finishes 13 of Mutation's 16 story events, up from 6 in [[250]].
- 262 The tree cleaned of the games' dialogue The repository is to be public, under MIT OR Apache-2.0.
- 261 Root Towns as a trait The five Root Towns are now five types behind one trait.
- 260 Fort Ouph and Lia Fail All five Root Towns are now ported.
- 259 The generator reads the discs piney-build no longer needs the discs extracted in work/.
- 258 The placement groups move into the build Step 3 of plans/build-data.md is done.
- 257 Every table group moves into the build After the first five (worklog 256), the other sixteen of the generator's 21 groups moved too: battle, combat, desktop, dtmenu, effect, fieldui, fonts, kanji, loaddisp, nameentry, party_chat, stream, title, toppage, voice and world.
- 256 Five table groups move into the build Step 2 of plans/build-data.md began: the generator's tables, whose values piney-gen wrote into piney-data/src/tables as Rust (12 MB).
- 255 The event scripts move into the build The owner's call: everything the port takes from the discs is to leave the repository and live in what piney-build makes from the player's own discs.
- 254 Options kept across the four parts Asked for from play: settings should carry across the volumes instead of being "a janky mess from options".
- 253 The launcher's turning icons, copyright and credit Asked for from play: the launcher's icons should turn as the title's menus do, the title's copyright line should be under the rows, and a "ported by" credit should go on the right.
- 252 The quit prompt holds a still picture Reported from play: opening the quit prompt (Escape) over Infection's desktop wrecked the picture.
- 251 The selector sounds like the title Asked for from play: the launcher's game selection should use the sounds of one of the boot screens.
- 250 Members called by address, and Mutation's hacks at a start The Mutation survey after 248 looped at the party call (menu 68) in five starts and stopped at the gate hack in two.
- 249 The launcher opens on the logos Asked for from play: the Bandai and CyberConnect2 intro movies should come before the launcher's game selection, as they come before a disc's title.
- 248 The story autopilot into Mutation's dungeons Event 104 (M204) now plays to its end under the autopilot, from its start in Dun Loireag.
- 247 One game from the four discs with piney-build, and a launcher Asked for: a piney-build that takes the four images, deduplicates them, and builds one clean game that starts on the multi-game selector from Outbreak's STRT.BIN.
- 246 What the save's open fields hold Asked for: more of the docs' open questions.
- 245 The later openings, libmpeg's frame base, and a line of size 0 Asked for: more of the docs' open questions.
- 244 The scene file's setup payloads, flag bits and the model header Asked for: more of the docs' open questions.
- 243 The executable's microcode names and .mwcats, the sound banks' unused parts Asked for: more of the docs' open questions.
- 242 Overlays and DATA.BIN, their last unknowns Asked for: settle the docs' open questions, starting with the format pages.
- 241 A shot run as an animated WebP Asked for: a way to share what the port draws, such as STRT.BIN's scenes (worklog 240), as animated WebP.
- 240 STRT.BIN played: the demo discs' screens Asked for: a way to see Outbreak's STREAM/STRT.BIN, the six scenes no code opens (worklog 239).
- 239 Each disc file by file, and the four discs' unknowns Asked for: settle the four unknowns docs/disc/volumes.md listed, and give each game its own disc page, as Infection has.
- 238 A party member's skill runs its own animation Reported from Mutation's play: Kite's first combat skill from the Skills menu played its sound and did nothing else, and the menu did not let go.
- 237 Escape asks before quitting Asked for from play: Escape closed the window at once.
- 236 The story autopilot through the gate and the mail mutation_story_survey starts each of Mutation's story points (102-116) and drives it with the tests' story_player.
- 235 Mutation's interNoiz and the lessons it lacks tools/test_fieldui_rs.py failed 9 of 55 tests on Mutation.
- 234 The symbol's light reaches 1000 Reported from play: on Mutation's first field (Θ Chosen Hopeless Nothingness, area 1 field 27), the lighting flickered and looked wrong.
- 233 The console at the window's size Reported from play: the console worked, but its text was far too large and there was no way to move around the line or the log.
- 232 The pad's vibration Reported from play: vibration never worked.
- 231 The Chaos Gate without fog Reported from play in Mutation's Dun Loireag: a light blue translucent square stood behind the Chaos Gate's ring.
- 230 The members' item uses carried out Reported from play: party members could not use items.
- 229 Data Drain leaves the drained form Reported from play on Mutation: after a Data Drain the monster stayed as it was, still marked "Data Drain OK", instead of turning into its weak drained form.
- 228 Mutation's gate: the bracelet's refusal, the keyword screen's marks and levels The field menus' harness had 14 failures on Mutation.
- 227 Mutation's field voices, food and skill words Reported from play: on Mutation, the party members' lines were silent in game (Black Rose had text but no voice).
- 226 Mutation's saves, its voices, and the recall's black fades This entry covers three pieces of Mutation work: the memory card, which the port knew only in Infection's form; the event voices, which Mutation never played; and the new game's recall, whose pages go black between topics (reported from play).
- 225 Mutation's town maps, its desktop, and the survey past the desktop The Mutation story survey stopped with "the town's map: not found: town 2's map" in Carmina Gade, and most of its starts sat idle at the desktop.
- 224 Mutation's movers, town AI and spawns, and two sidecar passes After the party AI (worklog 223), five more battle harnesses failed on Mutation: fellow, kite, event, navi and spawn.
- 223 Mutation's party AI tools/test_battle_party_ai_rs.py passes all 75 of its checks on Mutation: Infection's 73 and two for functions Mutation adds.
- 222 Mutation's item use, its new remarks and a carry fix tools/test_battle_items_rs.py now passes on Mutation, 5 of 5.
- 221 Mutation's grown tables and its battle rules The Mutation battle harness (tools/test_battle_rs.py with PINEY_VOLUME=mutation) failed six of its nine checks.
- 220 Mutation's story areas and its new characters' save voldiff ported --volume MUT counts 296 changed functions among those the port covers.
- 219 Harnesses on Mutation's own code Every harness so far ran Infection's executable in eemu.
- 218 Carmina Gade and its airship Mutation's M215 opens in Carmina Gade, the third Root Town (game.town 2), and players go there from M203 on.
- 217 The World off the executable image Mutation's boot reached the desktop (0216) but stopped entering The World.
- 216 Infection whole again on generated tables The rebuild that began in 0207 left piney-game with 97 failing tests:.
- 215 Kite's, the streams' and the effects' tables generated The Infection boot got through the desktop but stopped entering The World.
- 214 The talk pages on the generated talk records The field UI no longer reads GCMN.PRG's image at run time.
- 213 The symbol transfer in Rust This is the third step after 0211 and 0212.
- 212 The carry in Rust The second step after 0211.
- 211 The table generator in Rust The generator from 0208 was a Python tool (tools/static.py) that wrote Rust.
- 210 The top page, the field's menus and the battle's tables on generated tables The rebuild after 0209 goes on toward Infection booting end to end again, one volume at a time.
- 209 The desktop on typed per-volume tables; each disc opens its own story The second system rebuilt after 0207.
- 208 "The table generator: the title rebuilt on typed per-volume tables" After 0207 nothing read the executable's data.
- 207 "The executable's embedded data and the carry removed from the port" Phase 1 (worklog 182) had taken Infection off the executable the short way.
- 206 "The carry's votes checked against content: a name whose table reads like Infection's stays" Since 0202 a unanimous vote from paired code outranked a name tools/xfer.py carried: "the code wins".
- 205 "The stream effects on every disc: Setup's switch by register, the effects' literal tables carried, the carry's sequence pass" After 0204 the three later discs reached their desktops, but every stream's effects failed to build ("the stream's effects: ...").
- 204 "The later volumes' New Game to the desktop: the carry's pointers, each volume's mail, the streams' archives, the bound constants" After 0203 Mutation had sound, but its New Game stopped in the desktop's setup:.
- 203 "The later volumes' sound tables: each disc's banks placed by its own executable" After 0202 Mutation booted, but it had no sound at all, the opening movie included.
- 202 "The carry made reliable and every reader through it: Mutation boots from its title into the desktop's setup" After 0201 Mutation's title worked.
- 201 "The later volumes' title: five items, the previous volume's save, every branch of the opening checked on the four volumes" After 0200 Mutation reached its title, but only the memory-card question drew.
- 200 "The later volumes' save: the extension, Init and NewGame checked against their own code; Mutation reaches its title" 0199 carried Infection's addresses.
- 199 "Infection's addresses carried to the later volumes: Image::at; the first reads of Mutation's boot" Phase 4 (each volume boots to its Root Town) needs to see where a later disc stops.
- 198 "The port's functions audited across the four volumes: voldiff.py ported" Infection's own gaps are closed as far as its code goes.
- 197 "The party's weapon trails and element particles: ccSpcChar::ArmsEffect on ccLattice" 0195 left one gap: the party's weapon trails.
- 196 "A book given to a party member in town raises its stat; the third member remarks on a present" The audit of 0193-0195 also flagged two of the talk menus' requests (piney_fieldui::talk::TalkReq) that nothing carried out.
- 195 "The skills' starts, the shock waves and the condition effects in play; DispConditionEffect ported and checked against the game" The rest of 0194's findings.
- 194 "The heals', cures', revivals' and resistant shield's effects started in play; the party panels shake and the protect marks show" The same check as 0193's, on piney-battle's rule events (piney_battle::event::Event), found nine variants read nowhere in piney-world or piney-game.
- 193 "ALL FIELD PORTALS OPEN: the banner of an area's last portal (ccThDfComp); the entries' placeless sounds" After the boss's ClearSpcCondition (0192), the same check was run on the entry control's outputs.
- 192 "Skeith's death clears the party's conditions (ccClearSpcCondition); the records' reload keeps what the world changed between frames" The "not ported" sweep went on through battle.md, sound.md, field-game.md and field-ui.md.
- 191 "A lake's two dungeons: each kept by its number, lastRoom, and the way back up (GoField for field type 4)" field-walk.md listed "GoField for field type 4 ...
- 190 "The spells' screen noise on the field UI; the effects' smoke callers all accounted for" 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.
- 189 "The ML events open in Infection: twelve of the members' mail events, Black Rose's run on the desktop" events.md listed "whether the ML events open in Infection" as unknown.
- 188 "The fields' tables for all four volumes; xfer's layout pass and the misnamed tables it found" The field generator was the last of phase 0's generators besides the sound's that ran on Infection only.
- 187 Equipment changed in a field stays, and the new weapon hangs on the model The revert. In a field, a piece put on through Equipment came off again at once.
- 186 "The loading display between areas: the town's and the area's cards" How it was found. After the scene sounds (0184), which neither the port nor any page knew, an audit listed every Infection function that no crate names and no page mentions (by name or address), with the named callers of each:.
- 185 "The towns' gameStart and ccSndBgmCtrl: Mac Anu's crisis music and Dun Loireag's second sequence" Wiring the scene sounds (0184) into the towns showed that the port's towns never told the sound driver the game had started.
- 184 "The scenes' own sounds: Mac Anu's canals, area 15's church, the breeder's tune; and the camera's wiped-out party" Two items from the docs' Unknown lists that turned out to be gaps.
- 183 "The desktop's and title's Controller page: the labelled boxes round the pad" title.md and desktop.md both listed the Controller page's picture boxes as not ported: under OPTION > Controller on the desktop and on the title screen, the port drew the scheme list and the pad but none of the labels.
- 182 "No executable at run time: each volume's main data in piney-data" An inventory of what the port read from SLUS_202.67 at run time found three kinds of reader, 27 files in all:.
- 181 "One core for the four volumes: detection, the first generated tables, and a mail from Helba" The aim, now in plans/volumes.md: one build boots any of the four discs.
- 180 "The event's characters outside the party, built and placed in the fields" field-walk.md listed as unknown that the registered characters outside the party are not built, "the game builds them at the origin".
- 179 "The hacked areas' noise, the game's DEG2RAD, and the event pages' unknowns" Going down the "Unknown" lists of events.md and event-vm.md.
- 178 "The towns' remote walks, the side events surveyed, and the operations numbered" The side events. side_event_survey (ignored, a diagnostic) plays Infection's side events 50-53, 55 and 58-61 where they happen.
- 177 "Hideous Someone's Giant: area 16's EVENTAREA07 for the post-ending side event" GAPS listed the other EVENTAREA classes under "After Infection", but one of them is Infection's.
- 176 "Every host call the scripts reach, and the sound instruction's eleven cases" The question: does any event instruction Infection runs still fall to a host's default?
- 175 "Skeith's stall and the drain's dither: stream files read ahead, vertex alpha as the GS's integer" Two reports from playing event 4's streams in the window.
- 174 "The church's black screen: a field set-up's windows on the set-up's own screen" Story 11, in the church on the Hidden Forbidden Holy Ground: Balmung's and BlackRose's streams played, and then the screen stayed black.
- 173 "What volumes 2 to 4 add: the code no carried name covers" With Infection's combat, dungeons and story playable, this is the first look at what the other three volumes need beyond it.
- 172 "The fire breath: ccEnemyBreath, and the controllers of a field's first enemies" Worklogs 0168 and 0171 handed the dogs', wyrms' and dragons' breaths to the world as calls, and the world did nothing with them.
- 171 "ccEnemyL: the snakoids, wyrms and dragons" ccEnemyL (race 14, rows 193-217) was the last race standing still after worklogs 0168 and 0169.
- 170 "The enemies' weapon trails and flashes: ccEnemyWeaponCtrl" This was the last combat visual not yet ported.
- 169 "The enemy races' motion: A, D, E, S, T, W, 3, 4 and Z" Worklog 0168 made every race but L and moved six more.
- 168 The other enemy races: every constructor, and the motion of 2, C, F, H, I and U The port made only the enemy races of the opening's field and dungeon (B, G, K, P, V).
- 167 The gold goblins: thinkGold, moveGold and actEscapeGold The goblin rows 131-138, 140-143, 147-150 and 154-157 are gold goblins (goldFlag).
- 166 "The riding Grunty: ccPucciguso, the Grunty Flute and pgRideFlag" A GAPS item, and the piece worklog 0162 left for next.
- 165 The screen shake: cameraShake, cameraShockAbsorber and cameraSet's offset Hits and spells did not shake the screen.
- 164 A field's gimmicks: SetFood, SetMagicCircle and SetSpecialObj The port's fields held only the event's entries.
- 163 The Spring of Myst and the boss rooms' warnings: ccGimEtc and menus 40-42 The lakes' spring and the story dungeons' boss-room warnings were the last gimmickTbl rows the dungeons place that the port did not make.
- 162 "Dun Loireag's Grunties and the Grunty foods: ccPGuso, ccGimFood and menus 43, 45 and 46" A GAPS item.
- 161 The lakes' sky and fireflies: DrawBG and SetRoom's FIREFLYs The lake dungeons (types 8 and 9, field type 4) had no sky, and their fireflies were listed as not ported.
- 160 The shadow volumes: ccShadowModel, ccShadowPacket and the VU1 programs Until now no shadow was drawn anywhere.
- 159 "The save menus after the staff roll: SaveSelMenu and SaveMenu" The ending's staff_roll instruction opens ccDtMenu menu 8 after the roll and waits for the menus to close.
- 158 The game over: ccThGameOver, its noise and the television Before this, a wiped party (or compulsionGameOver) made ccThGameCtrl answer Ctrl::GameOver once, and the field just froze.
- 157 "The dungeon rooms' dressing: SetWater, SetLight, SetObject, SetAnmObject" DUNGEON::SetRoom (gcmn 0x005c1ca0) builds the room's anm and its hits, then calls SetWater, SetLight, SetObject, SetDoor and SetAnmObject.
- 156 "The streams' effect nodes: str0001's clouds" A GAPS item: the streams' effect objects.
- 155 "The lakes' symbols: ccGimSymbol::objMain" Worklog 0149 ported the story dungeons' symbols (gimmick row 17, symMain) and left row 18, the lakes' SYMBOL_OBJ, with its constructor only.
- 154 "The Zeit statue: timeSym and the gameCnt clocks" A GAPS item that asked whether "Chronicling" (word 131) can be had in Infection.
- 153 The streams' models clip at their view's divZ The last GAPS drawing item.
- 152 The field's depth shades, and model Z at the GS's scale A GAPS drawing item: WORLD_MAN's two ccBufferSamplings, which every WORLD::Draw sends first.
- 151 The event rooms' direct lights A GAPS lighting item.
- 150 The travellers' hum: tobjSeLoopStart and tobjSeLoop Half of a GAPS field item.
- 149 The story dungeons' symbols: ccGimSymbol A GAPS item the menus work left open.
- 148 "A member's own orders and the field objects' menus: ChatMenu1-3, ItemObjMenu to TimeIdolMenu" A GAPS item.
- 147 The dungeons' palette swaps: SetClutList and ChangeClut A GAPS item.
- 146 REGION_REPEAT in the GPU renderer: the stream shades' blocks A GAPS drawing item.
- 145 The fog by each vertex's depth, as VU1 writes it A GAPS drawing item.
- 144 The target cursor turned and the drain gauge shaded: TRF and TG sprites A GAPS drawing item.
- 143 Talking to an event's NPC outside the towns A GAPS item: talking to the Administrator in event 17's dungeon (the Data Drain lesson).
- 142 Dun Loireag's dogs: ccSetDog, ccDog and NorainuMenu A GAPS item.
- 141 "Data Drain's side effects on screen, and the areas' light group checked" Data Drain's side effects were rules only.
- 140 The dungeons' breakables: EntryBreakObject A GAPS item.
- 139 The walking PCs' texture variants and steps: changeTEX, rtpcCheckNote Several of the town's walking PCs share a model file and differ only by texture.
- 138 The dungeon doors', the Chaos Gate's and Kite's town footsteps' sounds This came out of a sweep of the docs' Unknown lists for small gaps a player would notice.
- 137 The animation engine's loose ends: F_Obj, texture offsets, cameras, lights and frame speed The animation page had three open items ([[32]]).
- 136 "Stream 15's opening: the black is the game's, and the stream lights' order" BUGS.md had "first few scenes of story:31 the camera clips the ground culling it out".
- 135 The party's HP and conditions through the doors and the event scenes: storeCondition In the port, each dungeon door, stairway and field change built the party fresh at full HP.
- 134 near_marker outside the towns: event 17's Data Drain lesson plays through Event 17 is where Mia teaches the Data Drain.
- 133 "Stream 15's effect tasks: the ending's puffs, rocks and shades" Stream 15 is the ending, the last in-engine stream whose effect tasks were not ported ([[121]]-[[126]]).
- 132 The event's NPCs outside the towns: Meg and the Administrator in the dungeons Some story events put town PCs and the Administrator in fields and dungeons: events 14, 17, 26, 27 and 29, and S109.
- 131 The streams' own effects: effcStr's hit marks and transfers, checked against the game The in-engine streams' effect tasks ([[125]], [[126]]) ask for hit marks and transfers.
- 130 "The field's weather: rain, snow, fireflies and the rest of WORLD::Draw" The port's fields drew their ground, objects, lake and sky, and nothing else WORLD::Draw does: no rain, no snow, no fireflies at night, no steam over type 0's lava, none of the servers' travellers crossing the sky.
- 129 The first play-test's bugs: the holy ground, the weapons, the fades, the transfers The first long play of the port through the tutorial left a list of bugs in BUGS.md.
- 128 "Skeith's cinema: the bars and the skill's name" In the game, when Skeith casts its magic or starts its Data Drain, black bars slide over the top and bottom of the picture.
- 127 "The streams' fog" Seven of the effect tasks [[121]]-[[125]] ported set a fog on the scene's draw environment: streams 2, 3, 4, 7, 13, 16 and 20.
- 126 "The gate hack's and streams 112-119's effect tasks" This adds two more tasks after [[125]]:.
- 125 "The drain streams' effect tasks and the Data Drain banner" Data Drain's movies played without their glitches.
- 124 "Streams 11 to 14 and 16's effect tasks" This follows [[121]] and [[122]] with five more tasks:.
- 123 "The party's chat lines: ccAI::ChatMessage* and ChatMessageSender" [[120]] drew the balloons, but the party still said nothing.
- 122 "Streams 7, 8 and 9's effect tasks: a transfer, hit marks and a turned feedback" This follows [[121]] with Func_str0150, Func_str0240 and Func_str0250 (streams 7, 8 and 9).
- 121 Streams 3, 4 and 6's effect tasks and the letterbox Of the stream effect tasks, only str0001, str0120 and str0300 were ported.
- 120 "The chat balloons: ccChatMsg, Mac Anu's players and Kite's calls" Nothing drew the chat balloons: not Mac Anu's walking players, not the CHAT menu's orders, not Kite calling the strategy, not the party's lines ([[110]] left them open).
- 119 "The runners' dust: ccEffPawSmoke at Kite's and the party's feet" Kite's and the members' rules already raise Out::PawSmoke { speed } as they run ([[118]] listed it among effSmoke's relatives still missing).
- 118 "Smoke and dust: effSmoke, the enemies' feet, a gold goblin's run and an idol opening" The battle's rules already raised three dust calls, and nothing drew them: - Call::DustCtrl, from the races' exclusive() and their footstep notes; - Call::Dust, a gold goblin running; - Out::DustRing, an idol opening ([[116]] left it).
- 117 "Skeith's pictures: the effects, the cross's trail, the reversed layer and the arena's fireflies" Skeith fought in its arena ([[113]], [[115]]), but the picture was thin.
- 116 "The dungeon objects' effects: crystals, breakables, trap boxes and the Statue of God's glow" The battle's gimmicks already raise these effects: ccGimBox's break, virus core and trap, and ccGimIdol's glow (entry::Out::Crush, VirusCrystal, OpenTrapBox, StatueOfGod).
- 115 "Skeith's camera: ccBossCam behind Kite, facing the boss" [[113]] left the field's own camera following Kite through the fight.
- 114 "The story dungeons' event rooms: Aura's shrine, the ways out, and the ban block" Story rows of room_type 25-35 were built as empty rooms, and a door into any row of 16 or more was an ordinary door.
- 113 "Skeith in the field: the boss entry, its task each frame, and what it asks of the area" [[109]]'s rules and [[112]]'s arena, put together: event 30's entry 7 0 now makes Skeith in field 1, and he fights.
- 112 Skeith's arena: EVENTAREAB0 for fields 1-8, and how area 27's last door gets there Part two of Skeith ([[109]]) begins with where the fight happens.
- 111 The scripts' last host gaps: a companion's item_add, virus_core's level, room by RoomSelect, save_party A static survey of Infection's scripts found four instructions whose Host methods still fell to the defaults: item_add (add_spc_item), virus_core (generate_area), room and room_point (room), and save_party in M130's block 20.
- 110 The party follows Kite in town: the members as the battle's characters under ActInTown Before this, a party member in a Root Town was piney-world's own Fellow.
- 109 Skeith's rules: ccBoss01 run against the port frame by frame, and the effects' lives measured The tutorial ends with Skeith (event 30).
- 108 Back in the town with the field's party: the registry carried, the members at their StartPos Worklog 103 left one gap.
- 107 piros_colour in the field and dungeon: Piros tinted in the fights' draw Worklog 99 ported piros_colour for the town: crate::piros::Sequence, and the town host's flashes and tint.
- 106 The hacked arrival: the Chaos Gate's movie, Kite hacking out, and the party hidden until he has The gate hack's menu (menu 62) ends with two writes before the warp: ccGame.setupMode = 1 and ccSetGtHack().
- 105 Data Drain's movie: the stream by the target, its resident files, and the enemy drawn into it [[102]] left the drain movie out: the port went on as with drainDemo off.
- 104 The noise: ccNoiz drawn on its own layer, and the events' interNoiz The gate hack ([[96]]) and Data Drain ([[102]]) break the screen up through the menu's ccNoiz.
- 103 The party in a field: members join and leave the running fights Outside the towns, party_add and party_remove fell to the event host's default, which does nothing.
- 102 Data Drain: DataDrainMenu's frames, its rules answered by the field, and the drops handed out Picking Data Drain in a fight opened menu 66, which the port closed at once: nothing was drained.
- 101 The fights' voices: a skill request names its skill, and what else speaks in a fight Worklog 95 ported the voice side in piney-audio: - the skill-words queue (ccWordsPlay); - its player (skillVoicePlay); - the field's voice groups (ccVoiceRequest).
- 100 The magic portal fades out as the monsters come out: its objects at their own transparency The user saw that on a field an enemy portal did not vanish right after its monsters came out.
- 99 Piros's colour: the event instruction piros_colour and a character's affect tint in town [[92]] and [[93]] left piros_colour (137) unported: event 22 (PIRO02) runs it in Mac Anu, Dun Loireag, field 31 and dungeon 31, where Piros changes colour after Mia's potion.
- 98 Event 4 as a player plays it: the dungeon's boxes and Gott statue, their menus, the Fortune Wire and the trap room's doors The user played --mode story:4 and reported these problems: - no treasure box was drawn; - the Gott statue was missing; - the locked room's doors played oddly; - room changes were a little buggy; - the minimap was lost after the stairs.
- 97 Dun Loireag: ROOTTOWN02, its clouds, lens flare, water and map, and the town's game for town 1 [[93]] found the story stuck at event 21: events 20-30 send the party to Dun Loireag (game.town 1) and the port's town refused every town but Mac Anu.
- 96 The gate hack: GtHackMenu and ccHackMenu, the virus cores into a protected area Six of Infection's story areas are protected: 16, 19, 22, 23, 25 and 27 (protect[1] != 0).
- 95 The field's voices and the skill words: ccVoiceRequest, ccWordsPlay and skillVoicePlay The user reported that the skills had no voice lines.
- 94 The staff roll: the ending's credits as ccThStaffRoll runs them, checked frame by frame With story starts to the ending ([[93]]), story:31 reached the instruction staff_roll.
- 93 Story starts to the ending: events 15-31, where each opens, and what they run into [[82]]'s story starts stopped at event 14.
- 92 What Infection's events 1-99 still need from the hosts, and the town's trans, frame rate and overlay The story starts only reach events 3-14 ([[82]]).
- 91 Event 11 in the church and the story starts' remaining host gaps: the town's near_marker distance, the desktop's overlay and pass [[90]] brought event 11 to the holy ground with BlackRose.
- 90 Event 11 in Mac Anu: BlackRose's stream, the Chaos Gate's talk, and her call into the party The user reported that adding BlackRose to the party does not work.
- 89 English voices on a story start, and --voice en|jp The user played story:4 and got English text with Japanese voices.
- 88 The window's scaler: sharp bilinear, so thin strokes keep one weight at any size The user reported that the desktop's font looked buggy: the icon labels (THE WORLD, MAILER, NEWS, ACCESSORY, AUDIO, DATA) had letters of uneven weight.
- 87 The dungeon and event 4: SetEventData puts each block in its room, the doors, the 2D map, and the walk in In story:4 every block of event 4 fired in the dungeon's first room.
- 86 Event host defaults report themselves: what story 4 and story 11 leave unported The event VM was checked against the game ([[82]] and earlier).
- 85 The opening arc's cutscenes as the game presents them: subtitles, the music around the streams, and streams 5 and 10's effect tasks [[52]] ported the in-engine streams as picture and sound.
- 84 Area 15's story map: EVENTAREA02, the holy ground and the church, its door and lens flare, checked against the game Event 11, where Kite reads the Book of Twilight, ends in story area 15, Hidden Forbidden Holy Ground.
- 83 The skills' other effects: skill starts, rings, the shock wave, heals, cures, stat changes and the resistant shield [[79]] ported the attack spells, the hits and the portals, but not what the game shows around every other skill.
- 82 Story start points, the way out of the dungeon to the desktop, and the board's announcements A survey of the opening arc (events 3 and 4, then 10-12) listed what the port still lacked.
- 81 The fight's sounds and the spells: ccSeOn3D and the sound tables, and attack spells cast through the effects [[80]]'s fights were silent, and spells did nothing on screen.
- 80 The first fights: event 3's goblins, the portals and free play in field 14, Kite and Orca against the game's enemies The parts were ported and checked separately: - the rules and decisions ([[67]]); - the motion ([[78]]); - the effects ([[79]]); - the battle menus ([[64]]).
- 79 piney-effect: the arrival, hits and numbers, the five spell systems, Data Drain, portals and particles, checked against the game Combat needs its presentation: the marks where a blow lands, the rising damage numbers, the spells, and the portals.
- 78 Battle in motion: Kite's combat, Orca following and fighting, path finding, the magic portals and the first field's enemies [[67]] ported combat's rules and decisions.
- 77 The minimap: Mac Anu's plan, the field's and the dungeon's maps, SELECT and event 3's map lesson The user asked where the minimap was.
- 76 A new game's save as the game builds it: ccSaveData::Init, NewGame and InitSpcParam, and the merchant's camera The user found the new game wrong: - Kite had no skills; - his stats read 0; - the bag held 40 zero entries, so Buy refused ("you will exceed the item type limit of 40").
- 75 The tutorials run over a moving world: the event's menus open with mode 1, and R2 resets the camera in the lesson The user played events 2 and 3 and reported two things: - the world froze under the tutorials, with the Chaos Gate stopping while its lesson ran; - in event 3's camera lesson, R2 was accepted but the camera did not reset.
- 74 The party and the events follow Kite out: Orca in the field, and event 3's lessons [[72]] brought Kite into field 14 alone.
- 73 Trade, a party member's list and Gift, the administrators and the Grunty breeders [[70]] left part of the talk menus to come.
- 72 Into the field: Kite leaves Mac Anu for field 14 and its dungeon, the set-up and the walk checked against the game [[69]] played event 2 to its scene change, and there it stopped: the runtime had no field.
- 71 The rest of PERSONAL, PARTY and OPTION: Key Items to Log Out, checked against the game, and Log Out back to the top page The user reported that most menus did nothing.
- 70 Talking and shopping in Mac Anu: the PC, shop and Recorder menus, wired into the runtime The user could not talk to NPCs or use the shops.
- 69 Orca's opening plays: event 2 hosted in Mac Anu, the event camera and the characters' commands The user reported that the first login flow was missing: Orca's walkthrough and the trip to the first field.
- 68 The Chaos Gate menus, the opening's tutorials and item boxes, and the gate a target again The user could not use the Chaos Gate.
- 67 piney-battle: the rules of combat, the enemies' and party's decisions and items, checked against the game The goal needs the opening's fights.
- 66 The HUD in Mac Anu: the field UI over the town, the menu buttons, and talking The user reported no HUD in Mac Anu.
- 65 Mac Anu's people: the five merchants, the walking PCs, the character layer and talking After [[61]] Mac Anu was empty.
- 64 The field UI: ccThMenu's HUD, event windows and battle menus, frame by frame against the game To play the opening arc, the field needs its user interface: the party panels and target window, the event scripts' message windows, and the menus a battle runs on.
- 63 eemu in Rust: piney-eemu, identical to eemu.py instruction for instruction and 20 times faster tools/eemu.py runs the game's own code for every harness that checks the port against the game.
- 62 Kite's stumbles: a round DualSense stick against a DualShock 2's threshold The user played Mac Anu with a DualSense and reported: - Kite's running breaks while the camera turns; - he stalls and then keeps moving; - it happens when the stick is pushed fully north-west.
- 61 Mac Anu fixed up: the near plane cut as VU1 cuts it, blades in Kite's hands, the town's lights, and the Chaos Gate After [[59]] the user walked around Mac Anu and reported three problems: - the camera clipped through floors; - the weapons were not in Kite's hands; - props were missing, "like the save build room".
- 60 Mac Anu's music: ccSndSQLoad's town case and ccSndBgmCtrl's After [[59]], the town was silent.
- 59 Into The World: Log in lands in Mac Anu, and Kite walks under pad control After [[58]] the top page's Log in asked for the field game (mode 5, ccSetupNewGame with GCMN.PRG, then 6, ccSetupGameCtrl), which was not ported.
- 58 The World's top page (TOPPAGE.PRG): log in, the board, log out, and the hand-off to the field game The desktop's THE WORLD icon asks for mode 4, ccSetupToppage with TOPPAGE.PRG.
- 57 Stream 2's effect task: feedback, raster noise and fades, and frame-buffer textures After [[54]] the first cutscene's shapes were right, but its look was not.
- 56 The Audio screen's movies: ccSndMoviePlayer holds the desktop music around the stream [[52]] played the desktop Audio screen's movies through the stream player, but no test covered them.
- 55 ccMorpher::Modify against the game: the weight's lanes and the EE rescale [[54]] ported ccMorpher::Modify from the disassembly alone.
- 54 Stream 2's ribbons morph: ccMorpher::Modify ported, the tendrils around the figure The user remembered animated lines in event 1's first cutscene (stream 2), where the port drew four straight brown bands that only moved with the figure.
- 53 Models have their own blend: alphaBlendTbl by the header's blend type, and the title's glows are additive The user found the title's selection still wrong after [[47]] and [[51]]: - behind the selected icon, a hard-edged dark square; - behind its text, a dark box.
- 52 In-engine streams: the title's intro, event 1's cutscenes and the Audio screen's movies, bit for bit The last thing the title and a new game skipped was the in-engine streams: cutscenes the engine itself plays from STREAM/*.BIN (ccRequestLoadStream), not PSS movies ([[49]]).
- 51 The title's Option is the system menu in its title mode, and the title music written up The user found the title's Option missing; since [[43]] it had been a stub.
- 50 The title's Load: the game's load screen on the card, and the loaded save handed to the desktop The user found DATALOAD on the title missing; in [[43]] it was a stand-in.
- 49 The PSS movies: our own MPEG-2 decoder, exact against ffmpeg, played by the title Until now the title's four movies counted as played ([[43]]), and the user asked why PSS never worked.
- 48 Translucent models showed their hidden layers: FB_ONLY drew colour before Z The user reported that transparency on the desktop looked wrong.
- 47 The title's lit icons against VU1: the directional term was doubled The user found the title's icons wrong: grey, dull sides, and a selected icon that looked broken.
- 46 Voices and the title music in the runtime After [[45]] the game was silent in two places: message windows had no voice-over, and the title had no music.
- 45 A new game's setup: the event's lines, name entry, and NewGame's save After [[44]] a new game went from the title to the desktop through about a second of black.
- 44 The game from power-on: title, New Game, the desktop, and back With the title of [[43]], the desktop of [[37]] and the scripts of [[41]], piney-game now runs as the game does from power-on.
- 43 The title screen from DEMO.PRG: boot, logos, menu, and the hand-off to the desktop The game does not boot into the desktop.
- 42 The game's sound in Rust: its driver, sequencer and synthesizer checked against the IOP modules [[14]] decoded every sound on the disc to WAV.
- 41 A new game's desktop, run by the game's own event scripts [[37]] put the desktop on screen with its mail delivered by hand (--mail).
- 40 The event engine: our own instruction set, the official scripts loaded without loss, the interpreter checked against the game [[18]] decoded the story's scripts and [[24]] read them on every volume.
- 39 Fields in the viewer With the draw rules of [[38]] in Field::scene, the viewer shows fields: piney-viewer --field SEED[,TYPE[,WEATHER]].
- 38 How the game draws a field: ground tiles, lighting, cover and object heights [[33]] ported the field generator, but a viewer could not show a field yet.
- 37 The ALTIMIT desktop runs from the disc: opening, main screen and mail The user asked for more than a model viewer: a game viewer that boots into the ALTIMIT desktop and can be navigated.
- 36 Morph targets blend in the viewer: cloth waves [[35]] left morphs out: the viewer played rigid and clump animations but did not apply F_Morpher records.
- 35 The viewer plays animations as the game steps them With playback worked out ([[32]]), the viewer no longer stops at frame 0.
- 34 Dungeon rooms join: the room matrix was right, and doors and fog were missing [[31]] left dungeon floors that did not join and looked wrong, and a contradiction: a medium room seemed to want the rotation one way, and a large room the other.
- 33 The field generator ported to Rust, heights bit for bit [[19]] reproduced WORLD::Generate in tools/field.py; [[25]] checked it on every volume.
- 32 Animation playback: keys, rotations, loops and morphs, checked against the game Until now the viewer could only show an Anime chunk's first frame (Scene::anime_frame0, [[26]]).
- 31 Dungeons in the viewer, and ExtObj copies are instances With the generator ported ([[30]]), the viewer can build a dungeon floor: piney-viewer --dungeon SEED[,TYPE[,SIZE]] [--floor N] generates it as the game does and assembles each room from the type's scene file (sd1 for type 0).
- 30 The dungeon generator ported to Rust, with its tables as generated data [[19]] reproduced DUNGEON::Generate in tools/dungeon.py and checked it against the game in eemu.
- 29 Material crop values are a UV animation's reference, not an offset [[26]] found the Material chunk's cropU/cropV nonzero in 218 of 11,071 materials, all on animated UVs and eyes, and left their unit untraced, with the viewer ignoring them.
- 28 "A town's other files: the crisis versions, and the canal water" With [[27]]'s placement, Mac Anu stood right, but the user noticed its canals were empty: "just no water".
- 27 "Towns are assembled by code: the placement tables, carried into the port as data" The viewer of [[26]] drew Mac Anu (town01) as a heap.
- 26 The port begins: piney-data reads the disc, piney-viewer draws it The formats of [[3]], [[7]], [[8]] and [[10]] are decoded well enough to build on, so the port starts.
- 25 Dungeons, fields, battle and text checked on every volume [[21]] ran the area generator on all four volumes.
- 24 Event scripts on every volume, and how a save carries into the next [[18]] decoded Infection's event scripts and [[16]] its save.
- 23 Text rendering reproduced, and what Quarantine's KFED.BIN is [[9]] and [[18]] decoded the desktop text and its escapes but left open what ccGetExtendedCode maps and how the % codes are drawn.
- 22 Battle rules: stats, damage, protect break, status, experience, checked against the game code The tables of [[12]] gave the numbers - charTbl, enemyTbl, skillTbl, the equipment tables - but not what the game does with them.
- 21 The area generator is the same on all four volumes, but two story areas moved into data [[20]] ended with the question of whether anything beyond the containers changed in the later volumes.
- 20 The other three volumes, and Infection's names carried over to them Up to now every claim in this log was about Infection.
- 19 Dungeon and field generation, reproduced and checked against the game code [[11]] took three keywords to an area's fieldSeed, dungeonSeed[3] and attributes.
- 18 Event scripts: format, all 167 opcodes, and the story's control flow The story runs on event scripts: arrays of short compiled into main as C data, interpreted by ccEvent::Execute (INF SLUS_202.67:0x001a8d20, 38,708 bytes, evmng.cpp lines 2641-6972) and gated by ccEvent::CheckOpen (0x001a7400).
- 17 VU1 microcode and the model draw path [[10]] decoded the model chunk from the EE side and left four things inferred: that rigid positions are converted with ITOF12, that 256 ST units are one texture repeat, how the strip flag reaches the GS, and that nothing culls.
- 16 The memory card save format A .hack save is the game's whole ccSaveData object written to the memory card as it sits in memory, plus a small per-slot index.
- 15 How the game is put together: boot, modes, frames and tasks The top of the program, read from main down.
- 14 Sound banks, voice, music and cutscene audio Every kind of audio on the Infection disc is decoded and exported: 1,245 WAVs under work/infection/audio/.
- 13 How an area picks its enemies [[11]] left open how an area's areaLevel and enemyOfs choose enemies from the table of [[12]].
- 12 Game data tables, decoded through their DWARF types The game's balance data - enemies, skills, items, equipment, bosses, party characters, level-up growth - is compiled into the overlays as C arrays of structs, and the DWARF ([[6]]) describes every one of them down to the field names.
- 11 The Chaos Gate keyword system, reproduced and checked against the game code .hack's field areas are addressed by three keywords typed at a Chaos Gate - "Bursting Passed Over Aqua Field".
- 10 Model chunks, the frame section, and a clean walk over every archive [[7]] left the chunk walk stuck after Model chunks in 176 of 1,023 files and did not know what 0xccccff01 was.
- 9 The desktop text: mail, board and news, in English and parody The in-game operating system's text is compiled into the overlays as C tables, and the DWARF ([[6]]) names every struct.
- 8 Textures and palettes convert to PNG, stored bottom-up With the texture layout from [[7]] and the CLUT layout read out of ccStream::Decode_Clut (INF SLUS_202.67:0x0014d660), every texture the chunk walk reaches converts to a correct-looking image.
- 7 CCSF chunk dispatch and the real texture chunk length [[3]] guessed that a texture chunk's size field counts something the file does not store.
- 6 Reading the DWARF 1 debug information INF SLUS_202.67's .debug section ([[2]]) is DWARF version 1 as Metrowerks wrote it, and it survives complete.
- 5 The DATA.BIN index lives in the executable [[3]] found no directory in DATA.BIN and no table of sector numbers in the executable.
- 4 An R5900 disassembler checked against llvm-objdump and the relocations There is no PS2-aware disassembler on this machine.
- 3 DATA.BIN is 1023 gzip members holding CCSF scene files INF DATA/DATA.BIN (136,665,088 bytes) has no header and no directory.
- 2 The retail executable was shipped unstripped INF SLUS_202.67 is 19,223,388 bytes, and only 2,590,848 of them are code and data.
- 1 The Infection disc and what is on it The four games came as 7z archives in originals/, one ISO each.