Repository files navigation

AngelLoader

Description

AngelLoader is a standalone fan mission loader for Thief 1, Thief 2, Thief 3, System Shock 2, and The Dark Mod. Unlike FMSel, which requires a separate copy for each game, AngelLoader allows you to manage and play all your FMs in one place. The interface is inspired by DarkLoader (by Björn Henke and Tom N. Harris) and NewDarkLoader (by Robin Collier).

Features

  • Manage all your FMs in one place
  • Automatically detects metadata for every FM: title, author, game, release date, etc. No need to type it in!
  • Select multiple FMs at a time to quickly mark them all finished, install them in bulk, etc.
  • Search and filter your FM collection by many criteria
  • Organize your games by tab or treat them as filters
  • Disable visual or other mods on a per-FM basis with a simple visual list (no more typing an arcane string into a textbox!)
  • Choose which language to play with on a per-FM basis
  • Import your FM information from DarkLoader, NewDarkLoader, or FMSel
  • Automatically fixes common problems, such as:
    • Non-16-bit audio causing static
    • Custom palettes not being applied properly to FMs (Ranstall Keep etc.)
    • Local values left in global config files by NewDark (character_detail)
  • Option to automatically use old mantling for OldDark missions
  • Supports light and dark themes
  • Plays nice with other loaders: AngelLoader doesn't store any .dlls or data files in your game folders, making it truly portable and non-intrusive

Installing

Simply download the latest release and unzip it to a folder of your choice. For example, C:\AngelLoader. New versions can be extracted right on top of old ones: your data files will not be overwritten.

Note: Some folders are considered "protected" (Program Files / Program Files (x86) are examples) and AngelLoader should not be placed anywhere in these folders or it may not (probably won't) work.

.NET Framework 4.7.2 or above is required. All modern versions of Windows should come with this already.

Running on Linux:

The latest version of AngelLoader runs well under Linux using Wine or Proton, with some tweaking:

  • For now, the 32-bit version is easier to get up and running and recommended. Make sure to download the version with x86 in the name from latest release.
  • You will need to install the following dependencies into your AngelLoader prefix: gdiplus, msftedit and msls31. Use either winetricks for Wine, protontricks for Proton, or add them as dependencies in Bottles if using that.

That's it! Launch AngelLoader and you're good to go.

If you did want to use the 64-bit version of AngelLoader, a few more steps are required. We need a 64-bit version of msls31.dll. The easiest way is to get it from the official IE8 installer directly from Microsoft.

  • Download IE8-WindowsServer2003-x64-ENU.exe
  • Extract the exe using Ark, 7-zip or whatever archive program your system has.
  • Copy msls31.dll from the extracted files to drive_c/windows/system32 inside your prefix, overwriting what's there.

Alternatively, if you have access to an actual Windows 10/11 install, you can grab the dll from C:\Windows\System32\msls31.dll and copy it over.

Building

  • Use Visual Studio 2022, .NET Framework 4.7.2 targeting, also going to need the C++ workload installed.
  • Use Release_Public for the standard AngelLoader build.
  • All dependencies now are either NuGet packages or are included in the bin_dependencies folder, so you should be able to just build with no fuss now.

License

AngelLoader's code is released under the MIT license, except portions which are otherwise specified in the About window and in the Licenses directory.

Statement on the Non-Use of AI

I do not use AI to generate any of my code, and in fact I don't use it in any area of my programming workflow, period. All my code is written by me. I can't vouch that third-party dependencies don't contain any AI generated code, but thankfully most of them are old enough that they probably don't, so there's that.

About

A standalone fan mission loader / manager for the original Thief trilogy, System Shock 2, and The Dark Mod.

Topics

Resources

Stars

69 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

AngelLoader

Description

AngelLoader is a standalone fan mission loader for Thief 1, Thief 2, Thief 3, System Shock 2, and The Dark Mod. Unlike FMSel, which requires a separate copy for each game, AngelLoader allows you to manage and play all your FMs in one place. The interface is inspired by DarkLoader (by Björn Henke and Tom N. Harris) and NewDarkLoader (by Robin Collier).

Features

  • Manage all your FMs in one place
  • Automatically detects metadata for every FM: title, author, game, release date, etc. No need to type it in!
  • Select multiple FMs at a time to quickly mark them all finished, install them in bulk, etc.
  • Search and filter your FM collection by many criteria
  • Organize your games by tab or treat them as filters
  • Disable visual or other mods on a per-FM basis with a simple visual list (no more typing an arcane string into a textbox!)
  • Choose which language to play with on a per-FM basis
  • Import your FM information from DarkLoader, NewDarkLoader, or FMSel
  • Automatically fixes common problems, such as:
    • Non-16-bit audio causing static
    • Custom palettes not being applied properly to FMs (Ranstall Keep etc.)
    • Local values left in global config files by NewDark (character_detail)
  • Option to automatically use old mantling for OldDark missions
  • Supports light and dark themes
  • Plays nice with other loaders: AngelLoader doesn't store any .dlls or data files in your game folders, making it truly portable and non-intrusive

Installing

Simply download the latest release and unzip it to a folder of your choice. For example, C:\AngelLoader. New versions can be extracted right on top of old ones: your data files will not be overwritten.

Note: Some folders are considered "protected" (Program Files / Program Files (x86) are examples) and AngelLoader should not be placed anywhere in these folders or it may not (probably won't) work.

.NET Framework 4.7.2 or above is required. All modern versions of Windows should come with this already.

Running on Linux:

The latest version of AngelLoader runs well under Linux using Wine or Proton, with some tweaking:

  • For now, the 32-bit version is easier to get up and running and recommended. Make sure to download the version with x86 in the name from latest release.
  • You will need to install the following dependencies into your AngelLoader prefix: gdiplus, msftedit and msls31. Use either winetricks for Wine, protontricks for Proton, or add them as dependencies in Bottles if using that.

That's it! Launch AngelLoader and you're good to go.

If you did want to use the 64-bit version of AngelLoader, a few more steps are required. We need a 64-bit version of msls31.dll. The easiest way is to get it from the official IE8 installer directly from Microsoft.

  • Download IE8-WindowsServer2003-x64-ENU.exe
  • Extract the exe using Ark, 7-zip or whatever archive program your system has.
  • Copy msls31.dll from the extracted files to drive_c/windows/system32 inside your prefix, overwriting what's there.

Alternatively, if you have access to an actual Windows 10/11 install, you can grab the dll from C:\Windows\System32\msls31.dll and copy it over.

Building

  • Use Visual Studio 2022, .NET Framework 4.7.2 targeting, also going to need the C++ workload installed.
  • Use Release_Public for the standard AngelLoader build.
  • All dependencies now are either NuGet packages or are included in the bin_dependencies folder, so you should be able to just build with no fuss now.

License

AngelLoader's code is released under the MIT license, except portions which are otherwise specified in the About window and in the Licenses directory.

Statement on the Non-Use of AI

I do not use AI to generate any of my code, and in fact I don't use it in any area of my programming workflow, period. All my code is written by me. I can't vouch that third-party dependencies don't contain any AI generated code, but thankfully most of them are old enough that they probably don't, so there's that.

About

A standalone fan mission loader / manager for the original Thief trilogy, System Shock 2, and The Dark Mod.

Topics

Resources

Stars

69 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AngelLoader

Description

AngelLoader is a standalone fan mission loader for Thief 1, Thief 2, Thief 3, System Shock 2, and The Dark Mod. Unlike FMSel, which requires a separate copy for each game, AngelLoader allows you to manage and play all your FMs in one place. The interface is inspired by DarkLoader (by Björn Henke and Tom N. Harris) and NewDarkLoader (by Robin Collier).

Features

  • Manage all your FMs in one place
  • Automatically detects metadata for every FM: title, author, game, release date, etc. No need to type it in!
  • Select multiple FMs at a time to quickly mark them all finished, install them in bulk, etc.
  • Search and filter your FM collection by many criteria
  • Organize your games by tab or treat them as filters
  • Disable visual or other mods on a per-FM basis with a simple visual list (no more typing an arcane string into a textbox!)
  • Choose which language to play with on a per-FM basis
  • Import your FM information from DarkLoader, NewDarkLoader, or FMSel
  • Automatically fixes common problems, such as:
    • Non-16-bit audio causing static
    • Custom palettes not being applied properly to FMs (Ranstall Keep etc.)
    • Local values left in global config files by NewDark (character_detail)
  • Option to automatically use old mantling for OldDark missions
  • Supports light and dark themes
  • Plays nice with other loaders: AngelLoader doesn't store any .dlls or data files in your game folders, making it truly portable and non-intrusive

Installing

Simply download the latest release and unzip it to a folder of your choice. For example, C:\AngelLoader. New versions can be extracted right on top of old ones: your data files will not be overwritten.

Note: Some folders are considered "protected" (Program Files / Program Files (x86) are examples) and AngelLoader should not be placed anywhere in these folders or it may not (probably won't) work.

.NET Framework 4.7.2 or above is required. All modern versions of Windows should come with this already.

Running on Linux:

The latest version of AngelLoader runs well under Linux using Wine or Proton, with some tweaking:

  • For now, the 32-bit version is easier to get up and running and recommended. Make sure to download the version with x86 in the name from latest release.
  • You will need to install the following dependencies into your AngelLoader prefix: gdiplus, msftedit and msls31. Use either winetricks for Wine, protontricks for Proton, or add them as dependencies in Bottles if using that.

That's it! Launch AngelLoader and you're good to go.

If you did want to use the 64-bit version of AngelLoader, a few more steps are required. We need a 64-bit version of msls31.dll. The easiest way is to get it from the official IE8 installer directly from Microsoft.

  • Download IE8-WindowsServer2003-x64-ENU.exe
  • Extract the exe using Ark, 7-zip or whatever archive program your system has.
  • Copy msls31.dll from the extracted files to drive_c/windows/system32 inside your prefix, overwriting what's there.

Alternatively, if you have access to an actual Windows 10/11 install, you can grab the dll from C:\Windows\System32\msls31.dll and copy it over.

Building

  • Use Visual Studio 2022, .NET Framework 4.7.2 targeting, also going to need the C++ workload installed.
  • Use Release_Public for the standard AngelLoader build.
  • All dependencies now are either NuGet packages or are included in the bin_dependencies folder, so you should be able to just build with no fuss now.

License

AngelLoader's code is released under the MIT license, except portions which are otherwise specified in the About window and in the Licenses directory.

Statement on the Non-Use of AI

I do not use AI to generate any of my code, and in fact I don't use it in any area of my programming workflow, period. All my code is written by me. I can't vouch that third-party dependencies don't contain any AI generated code, but thankfully most of them are old enough that they probably don't, so there's that.

About

A standalone fan mission loader / manager for the original Thief trilogy, System Shock 2, and The Dark Mod.

Topics

Resources

Stars

69 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AngelLoader

Description

AngelLoader is a standalone fan mission loader for Thief 1, Thief 2, Thief 3, System Shock 2, and The Dark Mod. Unlike FMSel, which requires a separate copy for each game, AngelLoader allows you to manage and play all your FMs in one place. The interface is inspired by DarkLoader (by Björn Henke and Tom N. Harris) and NewDarkLoader (by Robin Collier).

Features

  • Manage all your FMs in one place
  • Automatically detects metadata for every FM: title, author, game, release date, etc. No need to type it in!
  • Select multiple FMs at a time to quickly mark them all finished, install them in bulk, etc.
  • Search and filter your FM collection by many criteria
  • Organize your games by tab or treat them as filters
  • Disable visual or other mods on a per-FM basis with a simple visual list (no more typing an arcane string into a textbox!)
  • Choose which language to play with on a per-FM basis
  • Import your FM information from DarkLoader, NewDarkLoader, or FMSel
  • Automatically fixes common problems, such as:
    • Non-16-bit audio causing static
    • Custom palettes not being applied properly to FMs (Ranstall Keep etc.)
    • Local values left in global config files by NewDark (character_detail)
  • Option to automatically use old mantling for OldDark missions
  • Supports light and dark themes
  • Plays nice with other loaders: AngelLoader doesn't store any .dlls or data files in your game folders, making it truly portable and non-intrusive

Installing

Simply download the latest release and unzip it to a folder of your choice. For example, C:\AngelLoader. New versions can be extracted right on top of old ones: your data files will not be overwritten.

Note: Some folders are considered "protected" (Program Files / Program Files (x86) are examples) and AngelLoader should not be placed anywhere in these folders or it may not (probably won't) work.

.NET Framework 4.7.2 or above is required. All modern versions of Windows should come with this already.

Running on Linux:

The latest version of AngelLoader runs well under Linux using Wine or Proton, with some tweaking:

  • For now, the 32-bit version is easier to get up and running and recommended. Make sure to download the version with x86 in the name from latest release.
  • You will need to install the following dependencies into your AngelLoader prefix: gdiplus, msftedit and msls31. Use either winetricks for Wine, protontricks for Proton, or add them as dependencies in Bottles if using that.

That's it! Launch AngelLoader and you're good to go.

If you did want to use the 64-bit version of AngelLoader, a few more steps are required. We need a 64-bit version of msls31.dll. The easiest way is to get it from the official IE8 installer directly from Microsoft.

  • Download IE8-WindowsServer2003-x64-ENU.exe
  • Extract the exe using Ark, 7-zip or whatever archive program your system has.
  • Copy msls31.dll from the extracted files to drive_c/windows/system32 inside your prefix, overwriting what's there.

Alternatively, if you have access to an actual Windows 10/11 install, you can grab the dll from C:\Windows\System32\msls31.dll and copy it over.

Building

  • Use Visual Studio 2022, .NET Framework 4.7.2 targeting, also going to need the C++ workload installed.
  • Use Release_Public for the standard AngelLoader build.
  • All dependencies now are either NuGet packages or are included in the bin_dependencies folder, so you should be able to just build with no fuss now.

License

AngelLoader's code is released under the MIT license, except portions which are otherwise specified in the About window and in the Licenses directory.

Statement on the Non-Use of AI

I do not use AI to generate any of my code, and in fact I don't use it in any area of my programming workflow, period. All my code is written by me. I can't vouch that third-party dependencies don't contain any AI generated code, but thankfully most of them are old enough that they probably don't, so there's that.

About

A standalone fan mission loader / manager for the original Thief trilogy, System Shock 2, and The Dark Mod.

Topics

Resources

Stars

69 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

AngelLoader

Description

AngelLoader is a standalone fan mission loader for Thief 1, Thief 2, Thief 3, System Shock 2, and The Dark Mod. Unlike FMSel, which requires a separate copy for each game, AngelLoader allows you to manage and play all your FMs in one place. The interface is inspired by DarkLoader (by Björn Henke and Tom N. Harris) and NewDarkLoader (by Robin Collier).

Features

  • Manage all your FMs in one place
  • Automatically detects metadata for every FM: title, author, game, release date, etc. No need to type it in!
  • Select multiple FMs at a time to quickly mark them all finished, install them in bulk, etc.
  • Search and filter your FM collection by many criteria
  • Organize your games by tab or treat them as filters
  • Disable visual or other mods on a per-FM basis with a simple visual list (no more typing an arcane string into a textbox!)
  • Choose which language to play with on a per-FM basis
  • Import your FM information from DarkLoader, NewDarkLoader, or FMSel
  • Automatically fixes common problems, such as:
    • Non-16-bit audio causing static
    • Custom palettes not being applied properly to FMs (Ranstall Keep etc.)
    • Local values left in global config files by NewDark (character_detail)
  • Option to automatically use old mantling for OldDark missions
  • Supports light and dark themes
  • Plays nice with other loaders: AngelLoader doesn't store any .dlls or data files in your game folders, making it truly portable and non-intrusive

Installing

Simply download the latest release and unzip it to a folder of your choice. For example, C:\AngelLoader. New versions can be extracted right on top of old ones: your data files will not be overwritten.

Note: Some folders are considered "protected" (Program Files / Program Files (x86) are examples) and AngelLoader should not be placed anywhere in these folders or it may not (probably won't) work.

.NET Framework 4.7.2 or above is required. All modern versions of Windows should come with this already.

Running on Linux:

The latest version of AngelLoader runs well under Linux using Wine or Proton, with some tweaking:

  • For now, the 32-bit version is easier to get up and running and recommended. Make sure to download the version with x86 in the name from latest release.
  • You will need to install the following dependencies into your AngelLoader prefix: gdiplus, msftedit and msls31. Use either winetricks for Wine, protontricks for Proton, or add them as dependencies in Bottles if using that.

That's it! Launch AngelLoader and you're good to go.

If you did want to use the 64-bit version of AngelLoader, a few more steps are required. We need a 64-bit version of msls31.dll. The easiest way is to get it from the official IE8 installer directly from Microsoft.

  • Download IE8-WindowsServer2003-x64-ENU.exe
  • Extract the exe using Ark, 7-zip or whatever archive program your system has.
  • Copy msls31.dll from the extracted files to drive_c/windows/system32 inside your prefix, overwriting what's there.

Alternatively, if you have access to an actual Windows 10/11 install, you can grab the dll from C:\Windows\System32\msls31.dll and copy it over.

Building

  • Use Visual Studio 2022, .NET Framework 4.7.2 targeting, also going to need the C++ workload installed.
  • Use Release_Public for the standard AngelLoader build.
  • All dependencies now are either NuGet packages or are included in the bin_dependencies folder, so you should be able to just build with no fuss now.

License

AngelLoader's code is released under the MIT license, except portions which are otherwise specified in the About window and in the Licenses directory.

Statement on the Non-Use of AI

I do not use AI to generate any of my code, and in fact I don't use it in any area of my programming workflow, period. All my code is written by me. I can't vouch that third-party dependencies don't contain any AI generated code, but thankfully most of them are old enough that they probably don't, so there's that.

About

A standalone fan mission loader / manager for the original Thief trilogy, System Shock 2, and The Dark Mod.

Topics

Resources

Stars

69 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AngelLoader

Description

AngelLoader is a standalone fan mission loader for Thief 1, Thief 2, Thief 3, System Shock 2, and The Dark Mod. Unlike FMSel, which requires a separate copy for each game, AngelLoader allows you to manage and play all your FMs in one place. The interface is inspired by DarkLoader (by Björn Henke and Tom N. Harris) and NewDarkLoader (by Robin Collier).

Features

  • Manage all your FMs in one place
  • Automatically detects metadata for every FM: title, author, game, release date, etc. No need to type it in!
  • Select multiple FMs at a time to quickly mark them all finished, install them in bulk, etc.
  • Search and filter your FM collection by many criteria
  • Organize your games by tab or treat them as filters
  • Disable visual or other mods on a per-FM basis with a simple visual list (no more typing an arcane string into a textbox!)
  • Choose which language to play with on a per-FM basis
  • Import your FM information from DarkLoader, NewDarkLoader, or FMSel
  • Automatically fixes common problems, such as:
    • Non-16-bit audio causing static
    • Custom palettes not being applied properly to FMs (Ranstall Keep etc.)
    • Local values left in global config files by NewDark (character_detail)
  • Option to automatically use old mantling for OldDark missions
  • Supports light and dark themes
  • Plays nice with other loaders: AngelLoader doesn't store any .dlls or data files in your game folders, making it truly portable and non-intrusive

Installing

Simply download the latest release and unzip it to a folder of your choice. For example, C:\AngelLoader. New versions can be extracted right on top of old ones: your data files will not be overwritten.

Note: Some folders are considered "protected" (Program Files / Program Files (x86) are examples) and AngelLoader should not be placed anywhere in these folders or it may not (probably won't) work.

.NET Framework 4.7.2 or above is required. All modern versions of Windows should come with this already.

Running on Linux:

The latest version of AngelLoader runs well under Linux using Wine or Proton, with some tweaking:

  • For now, the 32-bit version is easier to get up and running and recommended. Make sure to download the version with x86 in the name from latest release.
  • You will need to install the following dependencies into your AngelLoader prefix: gdiplus, msftedit and msls31. Use either winetricks for Wine, protontricks for Proton, or add them as dependencies in Bottles if using that.

That's it! Launch AngelLoader and you're good to go.

If you did want to use the 64-bit version of AngelLoader, a few more steps are required. We need a 64-bit version of msls31.dll. The easiest way is to get it from the official IE8 installer directly from Microsoft.

  • Download IE8-WindowsServer2003-x64-ENU.exe
  • Extract the exe using Ark, 7-zip or whatever archive program your system has.
  • Copy msls31.dll from the extracted files to drive_c/windows/system32 inside your prefix, overwriting what's there.

Alternatively, if you have access to an actual Windows 10/11 install, you can grab the dll from C:\Windows\System32\msls31.dll and copy it over.

Building

  • Use Visual Studio 2022, .NET Framework 4.7.2 targeting, also going to need the C++ workload installed.
  • Use Release_Public for the standard AngelLoader build.
  • All dependencies now are either NuGet packages or are included in the bin_dependencies folder, so you should be able to just build with no fuss now.

License

AngelLoader's code is released under the MIT license, except portions which are otherwise specified in the About window and in the Licenses directory.

Statement on the Non-Use of AI

I do not use AI to generate any of my code, and in fact I don't use it in any area of my programming workflow, period. All my code is written by me. I can't vouch that third-party dependencies don't contain any AI generated code, but thankfully most of them are old enough that they probably don't, so there's that.

About

A standalone fan mission loader / manager for the original Thief trilogy, System Shock 2, and The Dark Mod.

Topics

Resources

Stars

69 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AngelLoader

Description

AngelLoader is a standalone fan mission loader for Thief 1, Thief 2, Thief 3, System Shock 2, and The Dark Mod. Unlike FMSel, which requires a separate copy for each game, AngelLoader allows you to manage and play all your FMs in one place. The interface is inspired by DarkLoader (by Björn Henke and Tom N. Harris) and NewDarkLoader (by Robin Collier).

Features

  • Manage all your FMs in one place
  • Automatically detects metadata for every FM: title, author, game, release date, etc. No need to type it in!
  • Select multiple FMs at a time to quickly mark them all finished, install them in bulk, etc.
  • Search and filter your FM collection by many criteria
  • Organize your games by tab or treat them as filters
  • Disable visual or other mods on a per-FM basis with a simple visual list (no more typing an arcane string into a textbox!)
  • Choose which language to play with on a per-FM basis
  • Import your FM information from DarkLoader, NewDarkLoader, or FMSel
  • Automatically fixes common problems, such as:
    • Non-16-bit audio causing static
    • Custom palettes not being applied properly to FMs (Ranstall Keep etc.)
    • Local values left in global config files by NewDark (character_detail)
  • Option to automatically use old mantling for OldDark missions
  • Supports light and dark themes
  • Plays nice with other loaders: AngelLoader doesn't store any .dlls or data files in your game folders, making it truly portable and non-intrusive

Installing

Simply download the latest release and unzip it to a folder of your choice. For example, C:\AngelLoader. New versions can be extracted right on top of old ones: your data files will not be overwritten.

Note: Some folders are considered "protected" (Program Files / Program Files (x86) are examples) and AngelLoader should not be placed anywhere in these folders or it may not (probably won't) work.

.NET Framework 4.7.2 or above is required. All modern versions of Windows should come with this already.

Running on Linux:

The latest version of AngelLoader runs well under Linux using Wine or Proton, with some tweaking:

  • For now, the 32-bit version is easier to get up and running and recommended. Make sure to download the version with x86 in the name from latest release.
  • You will need to install the following dependencies into your AngelLoader prefix: gdiplus, msftedit and msls31. Use either winetricks for Wine, protontricks for Proton, or add them as dependencies in Bottles if using that.

That's it! Launch AngelLoader and you're good to go.

If you did want to use the 64-bit version of AngelLoader, a few more steps are required. We need a 64-bit version of msls31.dll. The easiest way is to get it from the official IE8 installer directly from Microsoft.

  • Download IE8-WindowsServer2003-x64-ENU.exe
  • Extract the exe using Ark, 7-zip or whatever archive program your system has.
  • Copy msls31.dll from the extracted files to drive_c/windows/system32 inside your prefix, overwriting what's there.

Alternatively, if you have access to an actual Windows 10/11 install, you can grab the dll from C:\Windows\System32\msls31.dll and copy it over.

Building

  • Use Visual Studio 2022, .NET Framework 4.7.2 targeting, also going to need the C++ workload installed.
  • Use Release_Public for the standard AngelLoader build.
  • All dependencies now are either NuGet packages or are included in the bin_dependencies folder, so you should be able to just build with no fuss now.

License

AngelLoader's code is released under the MIT license, except portions which are otherwise specified in the About window and in the Licenses directory.

Statement on the Non-Use of AI

I do not use AI to generate any of my code, and in fact I don't use it in any area of my programming workflow, period. All my code is written by me. I can't vouch that third-party dependencies don't contain any AI generated code, but thankfully most of them are old enough that they probably don't, so there's that.

About

A standalone fan mission loader / manager for the original Thief trilogy, System Shock 2, and The Dark Mod.

Topics

Resources

Stars

69 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

AngelLoader

Description

AngelLoader is a standalone fan mission loader for Thief 1, Thief 2, Thief 3, System Shock 2, and The Dark Mod. Unlike FMSel, which requires a separate copy for each game, AngelLoader allows you to manage and play all your FMs in one place. The interface is inspired by DarkLoader (by Björn Henke and Tom N. Harris) and NewDarkLoader (by Robin Collier).

Features

  • Manage all your FMs in one place
  • Automatically detects metadata for every FM: title, author, game, release date, etc. No need to type it in!
  • Select multiple FMs at a time to quickly mark them all finished, install them in bulk, etc.
  • Search and filter your FM collection by many criteria
  • Organize your games by tab or treat them as filters
  • Disable visual or other mods on a per-FM basis with a simple visual list (no more typing an arcane string into a textbox!)
  • Choose which language to play with on a per-FM basis
  • Import your FM information from DarkLoader, NewDarkLoader, or FMSel
  • Automatically fixes common problems, such as:
    • Non-16-bit audio causing static
    • Custom palettes not being applied properly to FMs (Ranstall Keep etc.)
    • Local values left in global config files by NewDark (character_detail)
  • Option to automatically use old mantling for OldDark missions
  • Supports light and dark themes
  • Plays nice with other loaders: AngelLoader doesn't store any .dlls or data files in your game folders, making it truly portable and non-intrusive

Installing

Simply download the latest release and unzip it to a folder of your choice. For example, C:\AngelLoader. New versions can be extracted right on top of old ones: your data files will not be overwritten.

Note: Some folders are considered "protected" (Program Files / Program Files (x86) are examples) and AngelLoader should not be placed anywhere in these folders or it may not (probably won't) work.

.NET Framework 4.7.2 or above is required. All modern versions of Windows should come with this already.

Running on Linux:

The latest version of AngelLoader runs well under Linux using Wine or Proton, with some tweaking:

  • For now, the 32-bit version is easier to get up and running and recommended. Make sure to download the version with x86 in the name from latest release.
  • You will need to install the following dependencies into your AngelLoader prefix: gdiplus, msftedit and msls31. Use either winetricks for Wine, protontricks for Proton, or add them as dependencies in Bottles if using that.

That's it! Launch AngelLoader and you're good to go.

If you did want to use the 64-bit version of AngelLoader, a few more steps are required. We need a 64-bit version of msls31.dll. The easiest way is to get it from the official IE8 installer directly from Microsoft.

  • Download IE8-WindowsServer2003-x64-ENU.exe
  • Extract the exe using Ark, 7-zip or whatever archive program your system has.
  • Copy msls31.dll from the extracted files to drive_c/windows/system32 inside your prefix, overwriting what's there.

Alternatively, if you have access to an actual Windows 10/11 install, you can grab the dll from C:\Windows\System32\msls31.dll and copy it over.

Building

  • Use Visual Studio 2022, .NET Framework 4.7.2 targeting, also going to need the C++ workload installed.
  • Use Release_Public for the standard AngelLoader build.
  • All dependencies now are either NuGet packages or are included in the bin_dependencies folder, so you should be able to just build with no fuss now.

License

AngelLoader's code is released under the MIT license, except portions which are otherwise specified in the About window and in the Licenses directory.

Statement on the Non-Use of AI

I do not use AI to generate any of my code, and in fact I don't use it in any area of my programming workflow, period. All my code is written by me. I can't vouch that third-party dependencies don't contain any AI generated code, but thankfully most of them are old enough that they probably don't, so there's that.

About

A standalone fan mission loader / manager for the original Thief trilogy, System Shock 2, and The Dark Mod.

Topics

Resources

Stars

69 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages