LokiChaos / Materiamagica-on-tintin

A collection of tintin++ scripts for playing MateriaMagica
8 stars 1 forks source link

Override scripts and Re-org configuration #13

Closed LokiChaos closed 8 years ago

LokiChaos commented 9 years ago

Too many values are hard-coded and should be pulled into a configuration system.

Core-loading system should support replacing core/* with char/$SESSION/<local?>/ scripts. This allows the user to customize aspects or core completely, and leave the global/upstream intact.

Module config files should be individual files in char/$SESSION//$MODNAME.cfg.tt and all such files are loaded automatically. Module standard should add a cfg.tt as a optional special file. No cfg.tt implies no settings thus none will be made.

Move the per-session supplemental scripts to char/$SESSION/local/ to keep the together.

LokiChaos commented 9 years ago

Scripts that override core will be the same name/subpath as they would be in core/ but in char/$SESSION/local/ eg: core/prompt.tt would be char/Loki/local/prompt.tt

Supplemental scripts that hold custom user additions will be in char/$SESSION/rc

Also Change class delimiter from _ to / and rearrange scripts/init system to make more sense.

LokiChaos commented 8 years ago

I have largely finished the backend code for this, however it will be a /major/ migration to this new system as it touches basically everything in core/, reworks the module system (thus requires updates to all modules), and changes several libraries. Expect breakage for a few commits as I integrate the new systems, update the old ones, and modify core/ and modules/* to use the new systems.

LokiChaos commented 8 years ago

I have implemented the script loading system, and am in the progress of integrating it into the framework.

LokiChaos commented 8 years ago

I have finished migrating modules and core to use this system. A few changes need to be made to the structure inside char/$sessionName/ and there are some bugs introduced (and some old ones now apparent). Will try to fix those in the next few days.

LokiChaos commented 8 years ago

Added a "load verification" mechanic to the class API and a verbose loading mode. This also adds a "errored" state that classes and files may be in.