Feat: Added Link->WarpEx(int ptr[]) Changelog: Added Link->WarpEx(int ptr[]) This takes an array as its args, sized as either 8 or 9! Valid array params are: Link->WarpEx({type,dmap,screen,x,y,effect,sound,flags}) and Link->WarpEx({type,dmap,screen,x,y,effect,sound,flags,forcedir} type: Warp types are: wtIWARP: Acts like a tile warp. wtExit: An entrance/exit warp. wtSCROLL: A scrolling warp. wtNONE: A cancel warp. dmap: The Destination DMap screen: The Destination Screen x, y: Either raw pixel coordinates, or a warp return square ID. Link->WarpEx() Coordinates Versus Warp Return Square: If 'x' and 'y' are both > -1, then they are raw coordinates as always. If 'x' < 0, THEN 'y' is the warp return square type, using positive integers. This allows using the warp return constants in std.zh, and it prevents a possible ID clash from both values trying to establish the square ID. effect: Warp Effects are: warpEffectNONE: No visual effect. warpEffectZap: Zap Effects warpEffectWave: Wave Effects warpEffectInstant: Black screen. warpEffectOpen: Calls the opening wipe. sound: You may play a special sound (e.g. Magic Mirror) during the warp. flags: Warp Flags are: warpFlagKILLSCRIPTDRAWS: Don't kill script drawing during the warp. warpFlagKILLSOUNDS: Don't kill playing sounds during the warp. warpFlagKILLMUSIC: Don't kill playing music during the warp. Their values are: warpFlagKILLSCRIPTDRAWS 0x01 warpFlagKILLSOUNDS 0x02 warpFlagKILLMUSIC 0x04 Add them together to calculate a flag. forcedir: You can either accept the engine's setting for what Link's Dir should be after warping him, or force a dir.