REVERSE ENGINEERING · OPEN SOURCE

KMRP — KOTOR Modern Restoration Patch

A resolution-aware interface patch for Star Wars: Knights of the Old Republic (2003), created by Rayes Diyab.

The problem

KOTOR's interface was designed around fixed pixel dimensions. Modern resolutions expose issues that ordinary artwork replacement cannot fully solve: tiny text, list geometry problems, map and minimap behavior, dialogue letterboxing and other engine-level assumptions.

The engineering approach

KMRP works at the engine level. The project combines executable analysis, hand-written x86 patch stubs, verified binary deltas and generated resolution-specific resources. Its scaling system keeps fonts, list rows, icons, popup geometry and interface resources aligned under the same resolution-aware rules.

The patcher verifies the executable it is modifying and maintains restore information for the files it changes. The public repository also contains reverse-engineering notes and technical documentation explaining diagnosed engine behavior and fixes.

Modern display support

The project supports 48 resolutions from 800×600 through 15360×8640, including 4:3, 16:10, 16:9, 21:9 and 32:9 layouts. It addresses font scaling, inventory and list behavior, area-map and minimap issues, map markers, dialogue presentation and other interface defects.

Technology

C# · Python · PowerShell · x86 Assembly · .NET · Binary Patching · Reverse Engineering

View KMRP source and technical documentation on GitHub ↗

← All projects · Interactive CV