Skip to content

Add Character Roster Editor and PIC/WPORT Pixel Editor apps with tests#5

Merged
martydill merged 10 commits into
mainfrom
codex/build-character-roster-editor-in-c#-winforms-y8lnui
Apr 5, 2026
Merged

Add Character Roster Editor and PIC/WPORT Pixel Editor apps with tests#5
martydill merged 10 commits into
mainfrom
codex/build-character-roster-editor-in-c#-winforms-y8lnui

Conversation

@martydill
Copy link
Copy Markdown
Owner

Motivation

  • Add standalone WinForms tools to edit Wizardry 6 character rosters (PCFILE.DBS) and pixel art (WPORT*.EGA / *.PIC) to improve editing workflows.
  • Ensure edits preserve unknown bytes and avoid accidental file corruption by adding deterministic parsing/serialization and isolation tests.

Description

  • Introduces a new CharacterRosterEditor WinForms app with CharacterRecord, PcfileDocument, MainForm, Program, solution and project files, and AssemblyInfo exposing internals to tests.
  • Adds CharacterRecord parsing/serialization that preserves raw record bytes and only writes known mapped fields back, plus lookup helpers for race/gender/class and portrait preview logic that resolves WPORT frames.
  • Introduces a new PicEditor WinForms app with ImageFormats (WPORT/PIC decoding and WPORT encoding), FrameEditingService, UI (MainForm), project and solution files, and AssemblyInfo.
  • Adds unit test projects and tests: CharacterRosterEditor.Tests/CharacterRecordIsolationTests which verifies field isolation and round-trips at record and file level, and PicEditor.Tests/FrameEditingTests which verifies frame copy/paste, duplication, insertion, deletion and WPORT save/reload behavior.
  • Adds documentation files docs/CHARACTER_ROSTER_EDITOR.md and docs/PIC_EDITOR.md describing features, file coverage and build/run instructions.

Testing

  • Ran CharacterRosterEditor.Tests::CharacterRecordIsolationTests (NUnit) which exercises per-field mutation, ToBytes/FromBytes round-trips and file-level isolation; the tests completed successfully.
  • Ran PicEditor.Tests::FrameEditingTests (NUnit) which covers FrameEditingService operations and ImageFormats WPORT save/load behavior; the tests completed successfully.

Codex Task

@martydill martydill merged commit dd184db into main Apr 5, 2026
6 checks passed
@martydill martydill deleted the codex/build-character-roster-editor-in-c#-winforms-y8lnui branch April 5, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant