I understand from this (in "init/std/base/char/brain/code/run/state.dat"):
Code:
// State:
// This will add new tasks and makes sure the story
// is processed
// the state_run is specific for the story and needs overide
loc.res = state_run();
[loc.res] return;
That the function definition "<*state_run>" in the character's run.dat would be the override. Is there any way to run the previous definition from within it? In this case the original function looks intended to be a placeholder, but it can be useful to have a standard collection of states that could be expanded in individual characters, or individual mains.
And what exactly is going on here? (in "init/std/base/char/brain/code/event/base_event.dat", <base_event_get_state_ref>):
Code:
[event.par != null] &<*loc.rs>(event.par);
else &<*loc.rs>();
I get that loc.rs is the string label of an event ref (ie "state.code.ref.base.chat_event"), and some part of that is converting it to an address for the ref. Or is it the whole &<*ref>? Does that or something like it work with any other data types?