caqo on 14/10/2019 at 05:25
Yeah, you need to do that for translators. Maybe you just make a Diff file (Just the new text file with their respective section).
FenPhoenix on 17/10/2019 at 11:55
(
http://fenphoenix.com/apps/AngelLoader/AngelLoader_v1.1.6.zip)
AngelLoader v1.1.6 is out. One new feature: Steam support. Now you can launch your games and FMs through Steam (if you've bought them on there) and get all the benefits thereof, which I understand includes an overlay, play time counter, and something to do with screenshots (not a big Steam gamer myself and don't have any Thief games on there, so ;)).
Another important thing I've added not to the loader itself but to the GitHub repo: A (
https://github.com/FenPhoenix/AngelLoader/blob/master/Localizable_Strings_Changelog.md) running list of exact changes/additions/removals to translatable text, so my poor translators no longer have to guess at what's changed. My apologies. Adopt adapt and improve.
So, changelog:
-Added support for launching games through Steam. Options are in the Paths sections of the Settings window.
-Fixed a bug with the Thief 3 registry key retriever that could, in an extremely rare corner case, cause AngelLoader to hang (invisibly) and require a force-quit in Task Manager. Due to other protections in the code, and due to the fact that it requires a user's Thief 3 install to essentially be broken, this is incredibly unlikely, but there you are, fixed now.
R Soul on 17/10/2019 at 22:05
An idea I had for NewDarkLoader, but could not be bothered to try, was for each window (main window, setup etc) to have an edit mode where all text labels could be changed interactively and then saved to/read from a file.
FenPhoenix on 18/10/2019 at 02:47
That's a good idea and something like that has crossed my mind before. I backed off from it after thinking about it more though because it sounded like it might require a whole ton of duplicate maintenance, like, the UI would have to let you see things that only show up during "processes" like scanning or caching an FM, or under error scenarios, or under specific circumstances... every time I'd add something like that I would have to add a way for the edit-UI to let you flip a switch and let you see it or something (eg. the Statistics tab would have to let you see "custom resources not scanned", "custom resources scanned", and "custom resources unknown because this is Thief 3" states). Using a full passive-view MVP pattern would probably help, but... I think I would have to keep a lot of things in sync and I would probably forget things. Maybe I'll make a small prototype and see how it goes.
R Soul on 18/10/2019 at 17:58
Perhaps a mixture:
Editable GUI text for things that are 'permanent', i.e. open until the user closes them, and a text/ini/cfg... file for temporary things.
It'll always be complicated, but it's your own fault for writing a program that does things and that people want to use.
FenPhoenix on 19/10/2019 at 00:35
Heh. True, I bought the work on myself. I'll keep the visual editor in mind.
Stingm on 20/10/2019 at 17:42
Hey Fen will talking to R Soul help you with adding system shock 2 support? He got it working in newdarkloader and you said any help was appreciated. I just had this thought when I saw you and he are helping each other. I would love you to add it as using one loader for all would be awesome. Any chance at all?
FenPhoenix on 20/10/2019 at 18:00
See here for details on why SS2 support is a nightmare I don't want to deal with: (
https://github.com/FenPhoenix/AngelLoader/issues/17#issuecomment-501743796)
Yes, it could be made to "work" if by that you mean you have a valid, full-mission archive that has its files in the right directory structure (not all do) and isn't an "addon" (which looks like a valid, full-mission archive but isn't and there's no way for the scanner to tell the difference) then yes, you could install, uninstall, scan and play it. But SS2 FMs are a mess of total non-standards-compliance. Many of them straight-up just tell you to install them manually, even. Little to no thought seems to have been given towards being loader friendly. It drove me absolutely crazy when I looked into it. So yes, I could add "well-formed actual SS2 FM file support" but if a user has a non-well-formed SS2 FM or if they put their addons in the same folder as their FM zips, etc etc etc... I would now have to field a million questions on why things don't work. I really really hate it.
voodoo47 on 20/10/2019 at 19:27
that about (
https://www.systemshock.org/index.php?board=3.0) a dozen SS2 FMs that actually can be considered fully playable have been updated/checked, and they are in a FMsel compliant format - so as long as a 3rdparty loader does the same thing as FMsel priority wise, everything should work.
but considering the total number of SS2 FMs, I'd say just sticking with FMsel would be preferable here - if it ain't broke, don't fix it..
FenPhoenix on 20/10/2019 at 20:55
For example, Blind Disposition has its files inside a folder one level deep in the zip. I have to detect that and install it so the files are in all the base folder, so it's like FMs\Blind_Disposition_1_3 and not FMs\Blind_Disposition_1_3\Blind_Disposition. I also have to account for it in the scanner which is a major undertaking because it's highly optimized (read: inflexible) to assume files and folders are all in the base directory with no one-level-deep stuff going on.
Also, System Shock Infinite has its readme files in the base dir, and then it has a System_Shock_Infinite subdirectory where the actual FM files are. Again I have to account for that, but now I also can't just assume the base directory is empty either, I have to now assume readmes could be in there. That means when I install, I have to MOVE those readmes out of there and into the subdirectory which I then install as the base directory. But what about differential backups? Moving files from the base dir in the zip into the install dir on disk means those files will now count as "new files" because they don't match the zip. I would have no way of knowing from the install folder whether any given file was added by the user or whether it had been moved by the app automatically to fix an unsupported directory structure in the zip. And again, what to do about the addons? The only way to detect them would be to pattern-match "-Addons" in the filename, which I really, really don't like doing because it's brittle. But I could use that to reject them from the list, but maybe I should have a mechanism for installing them? I definitely can't have them show up as normal FMs in the list, because then you would go to install them and they would install to their own folders instead of the folder of the FM you were trying to update. And who knows what other devil-filled details might crop up.
To a player, it may seem simple and they may not realize just how much of a nightmare it is to support SS2 robustly. And that's really what I want to do, is to support things Properly™. I just can't stand the idea of having "support most of the time except in some cases where it all blows up spectacularly". I really, really, really don't want people to be like "this loader is unreliable". It actually keeps me up at night sometimes. But I feel like that's what it'd have to be if I tried this. I dunno man.