mojo_client/bin/scripts/__core_hookHelper.def
2008-02-19 22:42:14 +00:00

54 lines
1.0 KiB
Modula-2

#script=IsHooked
// @def: script name
return ?{ScriptHasLine,{${@def}} #tag:hook:${@caller}}
#script=HookStart
// @def: script name
appenddef,{${@def}} #tag:hook:${@caller}
set,{#HookHelper::CurScript} ${@def}
#script=HookEnd
set,sc ${@0}
default,sc ${#HookHelper::CurScript}
appenddef,{${sc}} #tag:hook-end:${@caller}
unset ${sc}
unset sc
#script=HookAdd
// @def: script line
// @0: script name
set,sc ${@0}
default,sc ${#HookHelper::CurScript}
appenddef,{${sc}} ${@def}
unset sc
#script=HookAddList
// @def: list name
// @0: script name
set,sc ${@0}
set,l ?{globname,{${@caller}} ${@def}}
default,sc ${#HookHelper::CurScript}
set,i 0
loop
if ?{bigger_eq,${i} ?{llen ${l}}}
exitloop
endif
HookAdd,{${sc}} ?{lindex,{${l}} ${i}}
add,i 1
endloop
unset sc
#script=HookStartOpcode
// @def: opcode name
HookStart OPCODE::${@def}
//////////////////////////////////////////////////////////
#comments-start
TODO:
- add UnHook[,which_script] hook_name
- add UnHookAll which_script
- Add HookStartAfter
#comments-end