Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin support #1328

Open
wants to merge 44 commits into
base: master
Choose a base branch
from
Open

Plugin support #1328

wants to merge 44 commits into from

Commits on May 2, 2020

  1. Plugin support

    ray73864 committed May 2, 2020
    Configuration menu
    Copy the full SHA
    06027eb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bef2971 View commit details
    Browse the repository at this point in the history
  3. Updated to use calloc/realloc/free so that the plugins array can be w…

    …hatever size it needs to be to handle the number of plugins.
    
    Also added further error checking to the various for-loops.
    ray73864 committed May 2, 2020
    Configuration menu
    Copy the full SHA
    daf7ec2 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2020

  1. Change from using an array to using a doubly-linked list, likely don'…

    …t need to go backwards, but it's an easy thing to implement.
    ray73864 committed May 3, 2020
    Configuration menu
    Copy the full SHA
    b392572 View commit details
    Browse the repository at this point in the history
  2. 1 Configuration menu
    Copy the full SHA
    773dbb1 View commit details
    Browse the repository at this point in the history
  3. Revert local.dst, move timers to their individual plugins with the sq…

    …_register_loop(), move unloading of plugins from local.dst:local_shutdown() to bsd.c:unload_plugins().
    
    Plugin management will eventually need to be moved to a new file called plugins.c, and with minor changes to necessary penn files for loading, unloading, etc...
    ray73864 committed May 3, 2020
    Configuration menu
    Copy the full SHA
    566634b View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2021

  1. Configuration menu
    Copy the full SHA
    82b2996 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2021

  1. Configuration menu
    Copy the full SHA
    082cac1 View commit details
    Browse the repository at this point in the history
  2. GCC 10 defaults to -fno-common which means any variables in a header …

    …file not marked as 'extern' where the header file is included in multiple source files will return a 'Multiple definitions' error.
    ray73864 committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    a24bccf View commit details
    Browse the repository at this point in the history
  3. Move plugin declarations from conf.h to a new plugin.h and include th…

    …at in bsd.c since for now bsd.c is the only file that cares about it.
    ray73864 committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    dc40027 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2021

  1. Configuration menu
    Copy the full SHA
    67bbe95 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2021

  1. Modified next_token() in tinyexpr.c so that it was te_next_token() in…

    …stead, that way it doesn't conflict with Penn's own next_token() function.
    ray73864 committed Oct 10, 2021
    Configuration menu
    Copy the full SHA
    81cfddf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8d398e5 View commit details
    Browse the repository at this point in the history
  3. Remove test BDV plugin

    ray73864 committed Oct 10, 2021
    Configuration menu
    Copy the full SHA
    e6ec5ff View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0168de1 View commit details
    Browse the repository at this point in the history
  5. Don't track the .so file anymore, since it's created by compiling the…

    … plugin for the particular system it is running on
    ray73864 committed Oct 10, 2021
    Configuration menu
    Copy the full SHA
    eac62d7 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2021

  1. Configuration menu
    Copy the full SHA
    4596569 View commit details
    Browse the repository at this point in the history
  2. Update gitignore

    ray73864 committed Oct 11, 2021
    Configuration menu
    Copy the full SHA
    18ef98b View commit details
    Browse the repository at this point in the history
  3. Move load_plugins and unload_plugins to be above the main function, t…

    …hat way we don't get implicit declaration warnings.
    ray73864 committed Oct 11, 2021
    Configuration menu
    Copy the full SHA
    7a02474 View commit details
    Browse the repository at this point in the history
  4. Add a check with snprintf so that if it is longer than 255 bytes (Can…

    …'t be since d->name is set at 256 internally) we bail out
    ray73864 committed Oct 11, 2021
    Configuration menu
    Copy the full SHA
    f1321d5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f58346e View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2021

  1. Configuration menu
    Copy the full SHA
    5e91e82 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5b7ba21 View commit details
    Browse the repository at this point in the history
  3. Move plugin code to plugin.c

    ray73864 committed Oct 12, 2021
    Configuration menu
    Copy the full SHA
    925cf5a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    361c00a View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2021

  1. Start the adding of the @plugin function and make the plugins directo…

    …ry configurable in mush.cnf
    ray73864 committed Oct 15, 2021
    Configuration menu
    Copy the full SHA
    c241c73 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    20ec5df View commit details
    Browse the repository at this point in the history
  3. Modify the PLUGIN_INFO struct so that plugins can provide a short des…

    …cription and long description.
    
    Start of @plugin/list command.
    ray73864 committed Oct 15, 2021
    Configuration menu
    Copy the full SHA
    39f6629 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2021

  1. Separate out the logic for @plugin/list into its own function that is…

    … called by cmd_plugin.
    
    Loop through the plugins directory so that each plugin can show whether it has been loaded into the game or not.
    ray73864 committed Oct 16, 2021
    Configuration menu
    Copy the full SHA
    2fe914c View commit details
    Browse the repository at this point in the history
  2. Implement @plugin/info

    ray73864 committed Oct 16, 2021
    Configuration menu
    Copy the full SHA
    e21a9f8 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2021

  1. Configuration menu
    Copy the full SHA
    586e375 View commit details
    Browse the repository at this point in the history
  2. Split out some more of the loading and unloading to generic functions…

    … so that they can be used by load/unload/reload and initial starting up/@shutdown/reboot
    ray73864 committed Oct 17, 2021
    Configuration menu
    Copy the full SHA
    df5ba91 View commit details
    Browse the repository at this point in the history
  3. Move functions to be above the COMMAND(cmd_plugin) reference to silen…

    …ce warnings.
    
    Fix up do_real_unload_plugin as it wasn't removing the plugin from the hashtab due to using the wrong key.
    Finish implementing @plugin/reload and @plugin/unload.
    ray73864 committed Oct 17, 2021
    Configuration menu
    Copy the full SHA
    a60d63b View commit details
    Browse the repository at this point in the history
  4. Forgot to close the directory after scanning through it.

    Start of implementing @plugin/load <.so file>
    ray73864 committed Oct 17, 2021
    Configuration menu
    Copy the full SHA
    d25e1a1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cb82274 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b9af16a View commit details
    Browse the repository at this point in the history
  7. Further changes (possibly an improvement?) to @plugin/list.

    Update do_real_load_plugin so that it returns a success or fail to denote if the plugin was loaded or not so that @plugin/load can provide feedback.
    ray73864 committed Oct 17, 2021
    Configuration menu
    Copy the full SHA
    a6a1e34 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2021

  1. Changes to plugin.c to provide the reason why the plugin failed to op…

    …en, also changes to the example math plugin to work on FreeBSD.
    ray73864 committed Dec 1, 2021
    Configuration menu
    Copy the full SHA
    9502e62 View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2021

  1. Instead of returning -1 on error, return the error message from dlerr…

    …or(), that way in cases where we are manually loading the plugin, we can display the error to the executor of @plugin/load
    ray73864 committed Dec 3, 2021
    Configuration menu
    Copy the full SHA
    c5a91ed View commit details
    Browse the repository at this point in the history
  2. Update documentation and remove 'active' since the easiest way to mak…

    …e a plugin inactive is to unload it.
    ray73864 committed Dec 3, 2021
    Configuration menu
    Copy the full SHA
    f7b037b View commit details
    Browse the repository at this point in the history
  3. Instead of setting the plugin id each time a plugin is added, reseque…

    …nce all the plugin ids, that way it remains 1...n instead of having gaps.
    ray73864 committed Dec 3, 2021
    Configuration menu
    Copy the full SHA
    8a84c9c View commit details
    Browse the repository at this point in the history
  4. Instead of looping through the hash to get the list of loaded plugins…

    …, then looping through the plugins directory where we have to eventually hashfind() anyway, just loop through the plugins directory and hashfind() on each file found.
    ray73864 committed Dec 3, 2021
    Configuration menu
    Copy the full SHA
    a705468 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2021

  1. Add a new @plugins command which is essentially a shortcut for @plugi…

    …n/list.
    
    Move resequence_plugin_ids() so that it is defined before it is used.
    ray73864 committed Dec 4, 2021
    Configuration menu
    Copy the full SHA
    beb7414 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2022

  1. Configuration menu
    Copy the full SHA
    6bc779a View commit details
    Browse the repository at this point in the history