Skip to content

OpenKotOR/JRLEditor

Repository files navigation

JRLEditor

JRLEditor is a Delphi 7 Windows GUI for opening KotOR-style global.jrl journal files and resolving quest text through a dialog.tlk talk table.

The current codebase is best described as a journal inspector with unfinished editing UI. The form can load a TLK file, open a .jrl, list quests, and display quest and stage data. The form also exposes Save, New, Delete, and Search controls, but those code paths are not implemented in UMainForm.pas yet.

What Works Today

  • Loads the TLK path from jrlsettings.ini next to the executable.
  • Prompts for dialog.tlk when no valid path is configured.
  • Opens a selected global.jrl file.
  • Reads the Categories list from the GFF root and lists quest tags.
  • Displays quest metadata such as name, comment, tag, planet, priority, and plot index.
  • Displays quest stages and resolves localized text through TLK StrRef values when available.

Present In The UI But Not Implemented

  • File -> Save
  • << New stage button
  • << Delete stage button
  • All search modes in the search dropdown

Code Layout

  • JRLEditor.dpr: application entrypoint.
  • UMainForm.pas: main form, runtime orchestration, file-open flow, quest/stage display logic.
  • UGFFFile.pas: custom GFF v3.2 parser and writer.
  • UTLKFile.pas: custom TLK v3.0 parser and writer.
  • UST_Common.pas: dialogs, file helpers, conversion helpers, shell helpers.
  • UStrTok.pas: simple delimiter tokenizer used by the GFF helper layer.

Start Here

Deeper Repo Notes

Important Caveats

  • Building from source is a Windows-host Delphi 7 workflow. The .dpr, .dof, and .cfg files present in this tree are Delphi-era project artifacts.
  • The .vscode files in this tree are now JRLEditor-specific, but they remain convenience metadata rather than the source of truth for the Windows Delphi 7 build boundary.
  • The jrlsettings.ini file present in this tree points at a local Windows installation path and should be treated as an example, not a portable default.
  • .gitignore excludes several file types that matter to Delphi UI work, including .dfm, .ddp, .res, and .cfg. Review that before assuming UI or resource edits will show up in diffs.

About

Delphi 7 journal editor for KOTOR journal files

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages