Skip to content
Snippets Groups Projects

External Program Pre/Post Loadable Modules

Merged Kayz requested to merge xtrnexecmodules into master
All threads resolved!

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

Edited by Kayz

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Rob Swindell
  • Rob Swindell
  • Rob Swindell
  • Rob Swindell
  • Rob Swindell
  • Rob Swindell
  • Rob Swindell
  • Rob Swindell
  • Rob Swindell
  • I think this merge request is just about ready. It's up to you if you want me to either:

    1. merge it as is and make the final finishing touches myself
    2. push commits to your branch before merge (not my preference)
    3. 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 Swindell
  • Author Developer

    I'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.

  • Kayz added 1 commit

    added 1 commit

    • 6d9a6ec0 - revise xtrn pre/post module based on feedback

    Compare with previous version

  • Kayz marked as a Work In Progress

    marked as a Work In Progress

  • Kayz added 8 commits

    added 8 commits

    Compare with previous version

  • Kayz added 1 commit

    added 1 commit

    Compare with previous version

  • Kayz unmarked as a Work In Progress

    unmarked as a Work In Progress

  • Kayz resolved all threads

    resolved all threads

  • Kayz
  • Author Developer

    This is now ready to go. If you're not able to squash the 3 commits I could probably resubmit under a new branch, just so the history stays clean

  • Kayz added 1 commit

    added 1 commit

    Compare with previous version

  • Kayz resolved all threads

    resolved all threads

  • Kayz added 1 commit

    added 1 commit

    • 44c5c6b3 - add new pre/post xtrn conf options to cnfdefs.js

    Compare with previous version

  • Rob Swindell
  • Rob Swindell
  • Kayz added 1 commit

    added 1 commit

    Compare with previous version

  • Kayz added 1 commit

    added 1 commit

    Compare with previous version

  • Kayz resolved all threads

    resolved all threads

  • Rob Swindell
  • Kayz added 1 commit

    added 1 commit

    Compare with previous version

  • Kayz resolved all threads

    resolved all threads

  • Author Developer

    I think it's reverted now

  • merged

  • Rob Swindell mentioned in commit b3fdafc6

    mentioned in commit b3fdafc6

  • Please register or sign in to reply
    Loading