Author Topic: Roadmap  (Read 5194 times)

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: Roadmap
« Reply #25 on: June 14, 2017, 02:30:53 PM »
The one item I'd add here is the handful of platform-specific 'helper programs' would need to be made available centrally, e.g. sox/oggdec and tisunpack. We already have the action functions for them, it would just be a matter of moving them into Zeitgeist so they could be excluded from the mod packages themselves.
It's a nice idea. I'll have to tinker a bit to evalute whether its feasible. It is possible you could define the process environment in which Zeitgeist runs WeiDU to include references to other executables. Worth noting, however, is that this would complicate matters for users of BWS or other ways of running WeiDU, as these other things would need to set up comparable environments.

Quote
As for the READLN problem, I like the ini idea. As a stopgap before Zeitgeist is ready, it would also be nice for WeiDU itself to have a mod header-level prompt (like README, perhaps CONFIG ~path/to/file.ini~ or simply INI ~path/to/file.ini~) where we could prompt a user to review, edit, and save an ini file before the install process really kicks off. This would also have the benefit of informing Zeitgeist that a mod has an associated ini file and prompt the same user intervention before an unattended install queue.
I was leaning towards convention over configuration, myself. If mymod/mymod.conf exists, it would be used, otherwise not. The translated comments is a fair point, but surely having one configuration file for each language would be fairly suboptimal (every time you wanted to add/change/remove something). There must be a better way to do it (but for the moment all I can think of is a TRA-like scheme).

Honestly I don't think it's been much of a problem to date, but running a quick macro for line endings should be well within WeiDU/Zeitgeist's abilities and would be another layer of fool-proofing. And if there's one thing my decades of development has taught me it's that there is no such thing as too much fool-proofing.
Any changes here are going to introduce backward-incompatibilities (of the kind 'mod/der expects some specific kind of newline, but file was written with another kind'). What I can do, and which is the OCaml stance on the subject and the lack of which is the source of at least one otherwise unsolvable bug/shortcoming (regexp-$ does not match CRLF), is convert all newlines into LF when reading files and convert them into platform-native form when writing files. This would mean mods and WeiDU always and only see LF when running, but files use the native kind of newlines when at rest. Edit: it may be possible to avoid backward-incompatibilities by stealth-converting all CRLF sequences in TP2 strings into LF, because what could possibly go wrong?
« Last Edit: June 14, 2017, 03:35:04 PM by Wisp »

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Re: Roadmap
« Reply #26 on: June 14, 2017, 08:44:46 PM »
As for the READLN problem, I like the ini idea. As a stopgap before Zeitgeist is ready, it would also be nice for WeiDU itself to have a mod header-level prompt (like README, perhaps CONFIG ~path/to/file.ini~ or simply INI ~path/to/file.ini~) where we could prompt a user to review, edit, and save an ini file before the install process really kicks off. This would also have the benefit of informing Zeitgeist that a mod has an associated ini file and prompt the same user intervention before an unattended install queue.
I was leaning towards convention over configuration, myself. If mymod/mymod.conf exists, it would be used, otherwise not. The translated comments is a fair point, but surely having one configuration file for each language would be fairly suboptimal (every time you wanted to add/change/remove something). There must be a better way to do it (but for the moment all I can think of is a TRA-like scheme).
Sure, a translatable config file is an edge case at best. I was really brainstorming for a way to get non-Zeitgeist WeiDU--WeiDU Classic? OS (Old School) WeiDU? WeiDU's Not Zeitgiest (WNZ)?--an easy way to pop up the file prior to the installation process. In the end, whether it's an explicitly defined filename in a tag or implicitly via convention it works out the same.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: Roadmap
« Reply #27 on: June 18, 2017, 10:01:27 AM »
I was really brainstorming for a way to get non-Zeitgeist WeiDU--WeiDU Classic? OS (Old School) WeiDU? WeiDU's Not Zeitgiest (WNZ)?--an easy way to pop up the file prior to the installation process. In the end, whether it's an explicitly defined filename in a tag or implicitly via convention it works out the same.
Let's say, completely hypothetically, that the next version of WeiDU would coincide with roughly shell-menu-equivalent GUI functionality and that WeiDU 243 would have axed the shell menus themselves. Just out of the possibility events were to unfold in this manner, I'm rather hesitant to do non-trivial work on the shell menus or add any new interactive features.

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 391
  • Gender: Male
Re: Roadmap
« Reply #28 on: June 21, 2017, 09:22:13 AM »
In my opinion, the day of releasing Zeitgeist is a perfect day for abandon auto-overwrite design and threat every weidu SDK instance as standalone.
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Re: Roadmap
« Reply #29 on: July 14, 2017, 12:53:13 PM »
The subject of Zeitgeist eventually replicating functionality presently offered by BWS has come up and I thought maybe I should comment. There are at this time no firm plans beyond those already described in this thread. After that, who knows? But, personally, I have little interest in BWS-like functionality. I have some highly tentative plans for quality of life features suitable for maintaining more curated mod sets, but it should be emphasised that these are highly tentative and will come after the already planned features have been implemented.

But Zeitgeist is free software using mainstream technology and if someone wants to contribute good code towards their cause, I'm not opposed to merging it.

Edit: also, on the subject of plugins: if there is demand for such, we can certainly talk about it, but there are some technical hurdles involved. The plugin would need to be compiled against the same versions of the same (relevant) libraries as the main program. Then there are whatever limitations are imposed by the plugin API. I'm thinking if someone wishes to write features for Zeitgeist, it might be easier to just upstream them.
« Last Edit: July 14, 2017, 03:33:51 PM by Wisp »

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: