Skip to content

Bump recording format to KRC1 with player names in header - #29

Merged
Jay-Day merged 1 commit into
masterfrom
recording-fix
Feb 17, 2026
Merged

Jay-Day merged 1 commit into
masterfrom
recording-fix

Conversation

@Jay-Day

@Jay-Day Jay-Day commented Feb 17, 2026

Copy link
Copy Markdown
Owner

Store player names (4x32 bytes) directly in the .krec header instead of encoding them in the filename. New KRC1 files use short timestamp-only filenames (YYMMDDHHMMSS.krec) while old KRC0 files remain readable via magic-based format detection.

Recording changes:

  • Write KRC1 header with 128 bytes of player name data after numplayers
  • Simplify filename to timestamp-only since metadata is in the header
  • Migrate file I/O from OpenFile/HFILE to CreateFile/HANDLE throughout

Playback UI improvements:

  • Replace OpenFile with CreateFile to support paths >128 chars
  • Add sortable column headers with default date-descending sort
  • Add Filename column and right-click context menu to show/hide columns
  • Make playback window resizable with persistent size
  • Persist all UI state (column widths, visibility, window size) via unified SavePlaybackState across mode switches and close
  • Reset nLVw state on dialog recreation to prevent counter accumulation
  • Use header timestamp for KRC1 date display, keep filename parsing for KRC0
  • Keep file sizes in kB until they reach 1 MB

Store player names (4x32 bytes) directly in the .krec header instead
of encoding them in the filename. New KRC1 files use short timestamp-only
filenames (YYMMDDHHMMSS.krec) while old KRC0 files remain readable via
magic-based format detection.

Recording changes:
- Write KRC1 header with 128 bytes of player name data after numplayers
- Simplify filename to timestamp-only since metadata is in the header
- Migrate file I/O from OpenFile/HFILE to CreateFile/HANDLE throughout

Playback UI improvements:
- Replace OpenFile with CreateFile to support paths >128 chars
- Add sortable column headers with default date-descending sort
- Add Filename column and right-click context menu to show/hide columns
- Make playback window resizable with persistent size
- Persist all UI state (column widths, visibility, window size) via
  unified SavePlaybackState across mode switches and close
- Reset nLVw state on dialog recreation to prevent counter accumulation
- Use header timestamp for KRC1 date display, keep filename parsing for KRC0
- Keep file sizes in kB until they reach 1 MB

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Jay-Day
Jay-Day merged commit 2e9041f into master Feb 17, 2026
2 checks passed
@Jay-Day
Jay-Day deleted the recording-fix branch February 23, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant