Short: Asl/Arp/Req/Intuition/RT requester to RT/Asl patcher Author: tboeckel@uni-paderborn.de (Thore Boeckelmann) Uploader: tboeckel@uni-paderborn.de (Thore Boeckelmann) Type: util/misc TITLE AslToRT VERSION 39.8 AUTHOR Thore Böckelmann REQUIREMENTS Any Amiga® (compatible) computer with at least OS3.0 and 68020+ cpu. DESCRIPTION AslToRT is a utility that is meant to replace RTPatch by Nico François, the original author of the ReqTools package. RTPatch has several bugs when running under OS3.x. It uses a very tricky mechanism to patch the desired libraries only when they are opened. This causes a very annoying behavior with asl.library. Under OS2.x this library kept its open counter equal to zero, which is no longer the fact for OS3.x. As a result the library's name is changed from "asl.library" to "asl.§ibrary", where the "§" stands for an unprintable character. The effect is, that asl.library will be loaded again and again, because it is no longer in memory with the correct name. This is very bad in the way Amiga shared libraries are intended to work. So you have no longer one copy of the library in memory, but several identical copies, of which each eats up your machines memory. AslToRT does all the things that RTPatch does, but in a (hopefully) much better way. Additionally you can choose very exactly which libraries and which functions should be patched to use the apropriate ReqTools function. From version 39.2 on AslToRT can behave like a fictious program called "RTToAsl", that means it can redirect all of reqtools' requesters to the equivalent asl requesters. The desired work mode is selected by the new PATCHMODE option. USAGE You can start AslToRT from either Workbench or Shell with the following options: ASLFILE/S,ASLFONT/S,ASLSCREEN/S,ASLALL/S,INTUIAUTOREQ/S,INTUIEASYREQ/S, INTUIALL/S,REQFILE/S,REQFONT/S,REQLONG/S,REQSTRING/S,REQTEXT/S,REQCOLOR/S, REQALL/S,ARPFILE/S,ARPALL/S,REQTOOLSFILE/S,REQTOOLSFONT/S,REQTOOLSSCREEN/S, REQTOOLSALL/S,ALL/S,PATCHMODE,IGNOREHEIGHT/S,CENTERTEXT/S,OVERRIDE/S ASLFILE/S: patch asl.library's file requesters ASLFONT/S: patch asl.library's font requesters ASLSCREEN/S: patch asl.library's screenmode requesters ASLALL/S: patch all of asl.library's requesters INTUIAUTOREQ/S: patch intuition.library/AutoRequest() INTUIEASYREQ/S: patch intuition.library/EasyRequest() INTUIALL/S: patch all of intuition.library's requesters REQFILE/S: patch req.library's file requesters REQFONT/S: patch req.library's font requesters REQLONG/S: patch req.library/GetLong() REQSTRING/S: patch req.library/GetString() REQTEXT/S: patch req.library/TextRequest() REQCOLOR/S: patch req.library/ColorRequest() REQALL/S: patch all of req.library's requesters ARPFILE/S: patch arp.library's file requesters ARPALL/S: patch all of arp.library's requesters REQTOOLSFILE/S: patch reqtools.library's file requesters REQTOOLSFONT/S: patch reqtools.library's font requesters REQTOOLSSCREEN/S: patch reqtools.library's screenmode requesters REQTOOLSALL/S: patch all of reqtools.library's requesters ALL/S: patch all requesters of every library (asl/arp/req/intuition/reqtools) PATCHMODE: either ASL or REQTOOLS (default: REQTOOLS) IGNOREHEIGHT/S: ignore the height of file/font/screenmode requesters and use ReqTools' preferred window height CENTERTEXT/S: center the body text of AutoRequest()/EasyRequest()ers OVERRIDE/S: override fallback to asl.library for some unsupported features and use ReqTools requesters nevertheless You must specify at least one of these options, else AslToRT will exit immediately without patching anything. You can start and quit AslToRT at any time. Only requesters allocated after running AslToRT will be redirected to ReqTools. To quit AslToRT simply start it again. INSTALLATION Copy AslToRT where ever you want, but SYS:WBStartup is a very good place KNOWN BUGS reqtools.library is not able to emulate all details of asl.library. Especially the very new functionality introduced with asl.library V44 (OS3.9) cannot be done with reqtools. Some requesters by intuition/AutoRequest() cannot be patched to reqtools.library because they use some tricky mechanisms to place the text within the window, which reqtools.library cannot do (i.e. the device info requester of DiskSalv V2+). Most of Workbench's and dos.library's message requesters can be redirected to reqtools.library, but some cannot. These are the requesters that are build by intuition/BuildSysRequest() and intuition/BuildEasyRequest() and are displayed asynchronously. Although reqtools.library itself can do the same thing it is not possible to emulate intuiton.library's way by reqtools.library (i.e. Workbench's Version/Copyright requester). Since version 39.2 you can redirect reqtools' requesters to asl, but the asychronous requesters of reqtools cannot be emulated by asl, therefore these requesters will not be redirected. But as it is very hard to find programs using reqtools.library directly these days I assume this is not a very big drawback. For those who are interested, AslToRT patches the following functions (if enabled via options): asl.library: AllocAslRequest() FreeAslRequest() AslRequest() intuition.library: AutoRequest() EasyRequestArgs() req.library: FileRequester() GetLong() GetString() NewGetString() TextRequest() ColorRequester() ExtendedColorRequester() arp.library: FileRequest() reqtools.library: rtAllocRequest() rtFreeRequest() rtFreeFileList() rtChangeReqAttr() rtFileRequest() rtFontRequest() rtScreenModeRequest() HISTORY 39.1 (03.01.2001): - initial Aminet release 39.2 (10.05.2001): - result for intuition/AutoRequest() was swapped. Fixed. - added possibility to use AslToRT for redirection of reqtools requesters to asl instead of vice versa. 39.3 (11.06.2001): - sometimes files didn't pass the filter functions because the current directory wasn't set correctly. Thus WBPattern didn't allow to select any file. This is fixed now. Thanks to Gerhard Pircher for his testing. - system failure requesters are now centered on the screen - rewrote TagList handling - when using the same asl requester several times each requester had the name of the first request set, instead of a new one. Thanks to Gernod Schomberg for that hint. 39.4 (16.07.2001): - added tool ShowReqs. This one will print a list which process allocated which kind of requester - when using Asl->RT mode AslToRT will fall back to Asl requesters if some unsupported functionality of Asl is used (custom screen modes, custom draw modes, etc). If you don't want that but see the RT requesters nevertheless, then use the OVERRIDE option to force AslToRT to use sub-functional RT requesters. - the filter functions should now finally filter correctly. Many thanks to Gerhard Pircher for his constant testing. - new option CENTERTEXT - added some security checks to avoid invalid default filenames 39.5 (03.08.2001): - font and screenmode requesters never returned a successful selection due to some changes made in the last release (ASL -> RT mode). Thanks to Guido Mersmann and Klaus Just for reporting this bug. 39.6 (23.08.2001): - file requesters didn't use the old style IDCMP and filter functions. This is fixed now. I don't know which programs still use these obsolete functions, but nevertheless: it is working now. - AslToRT was exiting immediately when using the ALL option and either arp.library or req.library was not installed. This is fixed now. Not installed libraries will be ignored now, even if the corresponding options are specified. - emulated Asl file requesters didn't accept empty file selections, even if you selected a directory. MakeCD suffered from this, because you had to selected at least one file to make MakeCD recognize your directory selection. 39.7 (03.10.2001): - file requesters didn't keep their directory buffer in ASL -> RT mode. This is fixed now. - when operating in RT->Asl mode the inital drawer was the same as the requester title. At least this bug appeared with PerfectPaint. Thanks to Stefan Martens for his hint. - when operating in RT->Asl mode the inital drawer contained a trailing "/". Thus PerfectPaint was not able to load a picture, because it seems to build the complete path itself instead of using dos/AddPart(). Thanks to Stefan Martens for his hint. 39.8 (02.04.2002): - AutoRequest() and EasyRequest() now use the underscore character to highlight hotkeys for gadgets. Very few programs seem to use this, as intuition doesn't support this! - the ReqTools patches produced a wrong rtFileList for asynchronous requesters. Thanks to Stefan Martens for his hint. COPYRIGHT AND DISCLAIMER AslToRT is copyrighted 2001 by Thore Böckelmann. All rights reserved. This program is freeware, so no financial donations required. Redistribution allowed if the package is left unchanged. The author is not responsible for any damage caused by the use or misuse of this documentation and/or the program(s) it describes. AslToRT uses the SmartReadArgs package by Thomas Aglassinger. SEE ALSO ReqTools 2.9 User package .