1234567891011121314151617181920212223242526272829 |
- // define script security contexts to restrict commands to certain contexts
- // do NOT modify
- persistidents 0
- // supported contexts
- const context_core 0 // hardcoded scripts
- const context_cfg 1 // known scripts
- const context_prompt 2 // command prompt
- const context_mapcfg 3 // map configs, we don't trust them
- const context_mdlcfg 4 // mdl configs, same
- // set allowed commands for the map config context
- mapcfgidents = [loadnotexture loadsky mapmodelreset mapmodel texturereset texture fog fogcolour mapsoundreset mapsound watercolour shadowyaw]
- mdlcfgidents = [md2anim md2emit md2tag md3anim md3emit md3link md3load md3skin mdlalphatest mdlalphablend mdlcachelimit mdlcullface mdlscale mdlshadowdist mdltrans mdltranslucent mdlvertexlight]
- loop i (listlen $mapcfgidents) [ scriptcontext $context_mapcfg (at $mapcfgidents $i) ]
- loop i (listlen $mdlcfgidents) [ scriptcontext $context_mdlcfg (at $mdlcfgidents $i) ]
- // isolate the map config context
- // this disables access from this context to identifiers located in other contexts
- // also it removes all aliases created in this context once the running context changes
- isolatecontext $context_mapcfg
- isolatecontext $context_mdlcfg
- // secure this configuration for the rest of the game
- sealcontexts
- persistidents 1
|