Jump to content

Synchro

Members
  • Posts

    23
  • Joined

  • Last visited

  • Days Won

    3

Files posted by Synchro

  1. K1 Modern Driver Compatibility Patch

    Turn off grass.
    For years that has been the first answer to almost any KOTOR problem, and it was good advice, because on a modern PC the grass really does tear itself across the sky.
    This patch fixes that, and quite a lot else.
    KOTOR decides how to light the world once, when it starts, choosing between two methods built for graphics cards of 2003. On most machines today neither is on offer, so the game quietly falls back to a path that was never finished: no proper lighting on walls and floors, no reflections on metal or armour, no fog, no soft shadows, and none of the screen effects. It still runs. It just looks wrong, and a lot of people have never seen it look right.
    This rebuilds that lighting using something every modern card does support, and puts the game back on the paths the developers actually finished. The grass is one of them.
    If you play on an NVIDIA card, the lighting has been working for you all along. Those drivers still carry register combiners, one of the two original methods, and it does the job properly. It is also an extension from 2001 that no other vendor implements, surviving on one company's willingness to keep shipping it. This moves every card onto a method that is still current, so there is one path everyone is exercising rather than one propped up by goodwill.
    What you get back
    Grass that stays on the ground Lighting on walls and floors, the baked lighting that makes interiors look lit rather than flat Reflections on metal, armour and polished surfaces Fog, in the places the game meant to have it Soft shadows, and the screen effects: bloom, blur, film grain, the distortion around force powers, and the colour wash on some cutscenes Bump lighting on creatures, which the game only ever drew on an NVIDIA card. The wet highlight in a Hutt's eyes is the easiest place to notice it. Requirements
    KOTOR 1, version 1.0.3. GOG, Steam and the CD release all work. Install it with the KotOR Patch Manager. Your game files are not modified; the manager applies the patch while the game runs.
    It replaces the separate cube map fix and soft shadows fix. Both are folded in, so disable those if you have them enabled in the patch manager.

    If you are using the NeoCities modbuilds Kotor Patch Manager 0.7.0+ will accept your swkotor.exe.
    In other cases where you'd like to avoid the patch manager, there is a second standalone version that installs without it. Some mods and tools change the executable itself, a widescreen patch being the common one.

    You copy two files into your game folder and start the game however you like. On Linux it needs one extra setting, which the guide inside the download explains. New in 1.2.0, so it has had far less mileage than the managed install: use that one if it works for you.

    Source, releases and issues: https://codeberg.org/Synchro/kotor-modern-driver-compatibility
     
    Settings, if you ever need them
    You do not need any of this to play. The first time you run it, a file called `K1DriverCompat.ini` appears next to `swkotor.exe` with every option listed, explained, and switched off. Open it and delete the `#` in front of anything you want to change.
    The one worth knowing about is `look`, which chooses between the two ways cards of 2003 drew bright light. `look = nvidia` is the default and the calmer of the two. `look = ati` lets strong lights bleach out what they land on, the way a Radeon did. Neither is a bug, and neither is more correct than the other.
    Replacement shaders
    You can drop your own shader files into override/shaders/, you can create it if it isn't there. The patch will use shaders in there instead of the ones it generates, with no rebuilding and no tools. They are plain text in ARB fragment program assembly, which is what the patch compiles its own into.
     
    It sits under override so a replacement can ship as an ordinary TSLPatcher mod rather than needing its own packaging, and in a subdirectory because these are not game resources. The game ignores them completely: it only looks in override for the file extensions it knows, and has no idea what an .arb file is. Reading them is this patch's job.

    For more information on naming, shader inputs, and all of the mode types, take a look at this section of the README: https://codeberg.org/Synchro/kotor-modern-driver-compatibility#replacement-shaders 

    Tested on
    AMD, Intel and NVIDIA hardware, on Windows and on Linux through Proton, across the GOG, Steam and CD releases.
    If something looks wrong
    `logs/K1DriverCompat.log` in your game folder holds one session and is overwritten each run, so there is only ever one file to send. Setting `log = debug` in the ini before reproducing the problem makes it far more useful.
    Thanks
    @Lane and @J tested this on cards and I don't own. Nearly everything here is based on how some particular drivers behave, and that is worth nothing until somebody with that hardware runs it and reports back. The faults that turned up that way are ones I had no way of finding on my own. @Lane also wrote the KotOR Patch Manager, which is what this ships for.
    LLM Disclosure
    This project made use of an LLM during development, in the following capacities:
    Brainstorming: exploring possible approaches and design directions Decompilation assistance: help interpreting and structuring reverse-engineered code Code comments: refining and clarifying existing comments Skeletons and fixes: generating initial code scaffolding and minor fixes All LLM-assisted output was modified and reviewed by a human before being committed.

    372 downloads

       (3 reviews)

    19 comments

    Updated

  2. Rakata ModInstaller

    Easily manage, install, and revert loose-file mods.
     
    Features:
    Opens a mod as the zip, 7z or rar it downloaded as, or as a folder you already unpacked. No unpacking first. Works out which files are actually game content. Readmes, screenshots and packaging are left behind, and a mod shipping alternate versions of the same file asks you to pick one. Every install is recorded and can be taken back later. Uninstall leaves a file alone if something has changed it since, so it will not step on a patcher mod's work or on a later mod's. Finds duplicates already sitting in your Override. A name capitalised two ways, or one texture shipped as both a TPC and a TGA. Only one of each is ever loaded, and the game picks it arbitrarily. Shows what every layer of the game holds for a given file, so you can see a loose file quietly shadowing a copy inside a module archive. Finds your installation on its own. Steam, GOG and retail, on Windows, Linux and macOS, for both KotOR 1 and KotOR 2.
    If you play on Linux or a Steam Deck, this fixes something quiet
    Mod builds are ordered lists, and later mods are meant to overwrite parts of earlier ones. On Windows that happens by itself, because the filesystem does not care whether a file is called `Appearance.2da` or `appearance.2da`. On Linux it does care. Both files end up in Override, the game loads whichever one it reaches first, and the overwrite prompt the build guide told you to expect never appears. Your install order silently did not happen.
    This installs by name with a common lowercase filename, so the overwrite you meant is the one you get.
     
    What it does not do (yet)
    TSLPatcher mods. Those do not copy files into place. They merge rows into 2DA files that are already there, add entries to the talk table and write inside module archives. This recognises them and says so instead of half-installing them. Keep using HoloPatcher for those. (for now)
     
    Tested against
    The loose-file mods from the community build lists, and a full modded install.
    Additionally tested on Linux by @Leilukin and on macOS by @FTD Thanks for your help testing!
     
    Requirements
    The window fits a 1280x800 screen, so it works on a Steam Deck without too much squeezing.

    On Windows: Windows 10+ 64-bit
    On macOS: macOS 10.12+ for Intel Macs and 11.0+ for Apple Silicon Macs
    On Linux: Any recent Linux distro with glibc 2.35+
     
    About Rakata
    Rakata is a clean-room Rust workspace for reading, writing and validating KotOR game data, written from scratch against notes taken from the engine rather than from anybody else's code. This installer is one tool built on top of it. It is free and open-source under GPL-3.0, and the source along with the format documentation is at https://codeberg.org/Synchro/rakata
     
    LLM Disclosure
    This project made use of an LLM during development, in the following capacities:
    Brainstorming: exploring possible approaches and design directions Decompilation assistance: help interpreting reverse-engineered code Code comments: refining and clarifying existing comments Skeletons and fixes: generating initial code scaffolding and minor fixes. All LLM-assisted output was modified and reviewed by a human before being committed.

    15 downloads

       (0 reviews)

    2 comments

    Updated

×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines.