External Program Pre/Post Loadable Modules
This introduces pre/post execution modules for bbs.exec_xtrn. The logic previously in xtrn_sec.js for those functions is now in prextrn.js and postxtrn.js. These handle screen clear, evals, fonts, etc. Now everywhere that launches an external program will support these features
Merge request reports
Activity
- Resolved by Kayz
- Resolved by Kayz
- Resolved by Kayz
- Resolved by Kayz
- Resolved by Kayz
- Resolved by Kayz
- Resolved by Kayz
- Resolved by Kayz
- Resolved by Kayz
- Resolved by Kayz
I think this merge request is just about ready. It's up to you if you want me to either:
- merge it as is and make the final finishing touches myself
- push commits to your branch before merge (not my preference)
- just let you finish it up and merge when it's "done"
On an side note, I think I addressed the compatibility issues with cnflib.js, so scripts that use that to library to update .cnf files (e.g. update.js) should no longer wipe-out new configuration fields that have not yet been populated in cnfdefs.js. You can double-check my recent commits to those files if you like.
Edited by Rob SwindellI'll do whatever you prefer..I can go over all your comments and try to make those changes in my branch, or if you want to make all those changes I an fine with that too
Back to the issue of text.dat.. Do you have an equivalent modern way for JavaScript? If not maybe this is a good time to start an ini or json that could replace text.dat eventually
The JS mods that have configurable text just use modopts.ini keys/values usually. Like this in xtrn_sec.js:
if(options.singlecolumn_fmt === undefined) options.singlecolumn_fmt = "\x01h\x01c%3u \xb3 \x01n\x01c%s\x01h ";
like this in logonlist.js:
if(!this.print(options.last_few_callers_msg || "\x01n\x01g\x01hLast few callers:\x01n\r\n"
and msglist.js:
line_range += format(options.view_total_lines_fmt || " of %u", lines.length);
JSON is not a good format for data consumed by the sbbs C/C++ code and .ini files need a few tricks to support all the arbitrary possible characters used in text.dat strings. The text.dat seems to work fine for its intended purposes.
The areas where text.dat strings are used in JS mods is either because that string is also used in the C/C++ source, or it was previously used there before the code was migrated to JS.
added 1 commit
- 6d9a6ec0 - revise xtrn pre/post module based on feedback
added 8 commits
-
6d9a6ec0...83465f65 - 7 commits from branch
master
- 52d7db25 - Merge remote-tracking branch 'origin/master' into xtrnexecmodules
-
6d9a6ec0...83465f65 - 7 commits from branch
- Resolved by Kayz
added 1 commit
- 44c5c6b3 - add new pre/post xtrn conf options to cnfdefs.js
- Resolved by Kayz
- Resolved by Kayz
- Resolved by Kayz
mentioned in commit b3fdafc6