Controller

by SuperSayu
Utility library for callbacks, controllers, and logging [More]
To download this library for your Linux/Mac installation, enter this on your command line:

DreamDownload byond://SuperSayu.controller##version=1

Emulator users, in the BYOND pager go to File | Open Location and enter this URL:

byond://SuperSayu.controller##version=1

43 downloads
Version 1.01
Date added: Nov 8 2014
Last updated: Nov 15 2014
0 fans
This library provides the following:
* A system for creating controllers (looping processors that operate every N ticks). This includes hooks for initialization (upon creation, or in response to event hooks - see below), rebirth (after the previous controller crashed), and some code to cut out loop-related instructions and overhead if you use a controller for other purposes, such as logging.

* A system of controller indicators - these are objects displayed in a stat pane that represent the status of the controller, and onto which you can add verbs for controlling the linked controller. Included are a basic indicator with reset/start/stop verbs, and an advanced indicator for the logger, below.

* A logging library that uses byond's SQLite database to keep log information available without (I hope) using egregious memory on the DM server. The logger is a controller, and it has an indicator with verbs to allow you to display log data. Logging functions are collected on the controller, eg, Log.warning("Mob out of bounds",rogue_mob)

* A system of delegates (callbacks/stored procedures) for storing all the information necessary to call a proc in an object

* A hook system using the delegates and controller, so you can trigger multiple delegate calls based on a single event eg, Event.callback(/hook/world_loaded), or Event.callback(/hook/player_death,dead_mob)

* A secure linking library using delegates to avoid passing function parameters over insecure byond:// links. This closes numerous security vulnerabilities while hopefully being usable and readable.

This is not entirely finished but it is workable.

Comments

SuperSayu: (Nov 15 2014, 6:32 am)
Fixed, sorry, I don't know why it did that
Gokussj99: (Nov 13 2014, 5:27 am)
Zip file is empty just a dme.