From: Andrew Hutchings Date: Mon, 26 Apr 2021 08:00:47 +0000 (+0100) Subject: Add file retrieval to GUI X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=874c4732ab3cf363647fcc4b86d7e6a9d4aee7da;p=pistorm Add file retrieval to GUI GUI version 0.2 alpha. You can now retrieve a file from PiStorm to save in your Amiga. Reqtools now included to pick a destination drive / directory. Also a reboot button was added and some other things fixed. --- diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/Makefile b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/Makefile index ae0465a..af70e25 100644 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/Makefile +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/Makefile @@ -6,7 +6,7 @@ all: PiSimple PiStorm PiSimple: simple_interact.c pistorm_dev.c $(CC) $(CFLAGS) $^ -o PiSimple -PiStorm: gui_interact.c pistorm_dev.c - $(CC) $(CFLAGS) $^ -o PiStorm +PiStorm: gui_interact.c pistorm_dev.c reqtoolsnb.lib + $(CC) $(CFLAGS) -Ireqtools $^ -o PiStorm diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm index a2de33b..71cff1e 100755 Binary files a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm and b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm differ diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/README.md b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/README.md index c602ecc..7eb507f 100644 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/README.md +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/README.md @@ -6,6 +6,10 @@ Compiling the tool requires VBCC setup with the kickstart 1.3 libraries. For inf Once you have the tooling setup, just run `make`. +## Installation + +You will need `reqtools.library` in the `libs:` drive. Some Workbench builds come with this. If you don't have it use the version in libs13 for Workbench 1.3 and libs20 for Workbench 2.0 onwards. + ## Tools ### PiSimple @@ -23,3 +27,11 @@ You can enable / disable RTG on-the-fly with the "Enable/Disable RTG" button. Th ### Config file It is possible to switch the configuration file PiStorm is using. You can either type a name for the config file relative to the PiStorm's execution directory and hit "Commit" or hit "Load Default". If the config file is valid the PiStorm will load it in and the Amiga will immediately reboot. + +### Get file + +You can copy a file from the PiStorm to the Amiga. First of all, type in the filename and path relative to the pistorm directory. Then optionally set the destination directory (can be left blank for the same directory PiStorm was executed in) and hit "Retrieve". + +### Reboot + +Reboots the Amiga (not PiStorm). diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c index f698c90..668e27d 100644 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c @@ -7,16 +7,19 @@ #include #include #include +#include +#include #include "pistorm_dev.h" #include "../pistorm-dev-enums.h" #include #include - +#include extern unsigned int pistorm_base_addr; +struct ReqToolsBase *ReqToolsBase; -#define VERSION "v0.1" +#define VERSION "v0.2" #define button1w 54 #define button1h 20 @@ -30,6 +33,9 @@ extern unsigned int pistorm_base_addr; #define tbox1w 130 #define tbox1h 18 +#define statusbarw 507 +#define statusbarh 10 + SHORT SharedBordersPairs0[] = { 0, 0, 0, button1h - 1, 1, button1h - 2, 1, 0, button1w - 2, 0 @@ -67,6 +73,21 @@ SHORT SharedBordersPairs7[] = -1, tbox1h - 1, tbox1w - 2, tbox1h - 1, tbox1w - 2, 0, tbox1w - 1, -1, tbox1w - 1, tbox1h - 1 }; +SHORT SharedBordersPairs8[] = +{ + 0, 0, statusbarw - 2, 0, statusbarw - 2, 0, 0, 0, 0, 0 +}; + +SHORT SharedBordersPairs9[] = +{ + 0, 0, 0, tbox1h - 1, 1, tbox1h - 2, 1, 0, tbox1w - 2, 0 +}; +SHORT SharedBordersPairs10[] = +{ + 1, tbox1h - 1, tbox1w - 2, tbox1h - 1, tbox1w - 2, 1, tbox1w - 1, 0, tbox1w - 1, tbox1h - 1 +}; + + struct Border SharedBorders[] = { 0, 0, 2, 0, JAM2, 5, (SHORT *) &SharedBordersPairs0[0], &SharedBorders[1], // Button 1 @@ -77,6 +98,9 @@ struct Border SharedBorders[] = 0, 0, 1, 0, JAM2, 5, (SHORT *) &SharedBordersPairs5[0], NULL, 0, 0, 1, 0, JAM2, 5, (SHORT *) &SharedBordersPairs6[0], &SharedBorders[7], // TBox 0, 0, 2, 0, JAM2, 5, (SHORT *) &SharedBordersPairs7[0], NULL, + 0, 0, 1, 0, JAM2, 5, (SHORT *) &SharedBordersPairs8[0], NULL, // Statusbar + 0, 0, 2, 0, JAM2, 5, (SHORT *) &SharedBordersPairs9[0], &SharedBorders[10], // TBox inverted + 0, 0, 1, 0, JAM2, 5, (SHORT *) &SharedBordersPairs10[0], NULL, }; struct Border SharedBordersInvert[] = @@ -87,6 +111,107 @@ struct Border SharedBordersInvert[] = 0, 0, 2, 0, JAM2, 5, (SHORT *) &SharedBordersPairs3[0], NULL, 0, 0, 1, 0, JAM2, 5, (SHORT *) &SharedBordersPairs4[0], &SharedBordersInvert[5], // Button 2 0, 0, 2, 0, JAM2, 5, (SHORT *) &SharedBordersPairs5[0], NULL, + 0, 0, 1, 0, JAM2, 5, (SHORT *) &SharedBordersPairs9[0], &SharedBordersInvert[7], // TBox inverted + 0, 0, 2, 0, JAM2, 5, (SHORT *) &SharedBordersPairs10[0], NULL, +}; + +UBYTE DestinationValue_buf[255]; + +struct IntuiText Destination_text[] = +{ + 1, 0, JAM2, -98, 6, NULL, "Destination:", &Destination_text[1], + 1, 0, JAM2, 4, 4, NULL, DestinationValue_buf, NULL, +}; + +#define GADGETDESTINATION 11 + +struct Gadget GetDestination = +{ + NULL, 108, 117, tbox1w, tbox1h, + GADGHIMAGE, + RELVERIFY, + BOOLGADGET, + (APTR) &SharedBorders[9], (APTR) &SharedBordersInvert[6], + Destination_text, 0, NULL, GADGETDESTINATION, NULL +}; + +struct IntuiText RebootButton_text = +{ + 1, 0, JAM2, 2, 6, NULL, (UBYTE *)"Reboot", NULL +}; + +#define GADREBOOT 10 + +struct Gadget RebootButton = +{ + &GetDestination, 4, 166, button1w, button1h, + GADGHIMAGE, + RELVERIFY, + BOOLGADGET, + (APTR) &SharedBorders[0], (APTR) &SharedBordersInvert[0], + &RebootButton_text, 0, NULL, GADREBOOT, NULL +}; + +UBYTE StatusBar_buf[128] = "PiStorm..."; + +struct IntuiText StatusBar_text = +{ + 1, 0, JAM2, 4, 2, NULL, (UBYTE *)StatusBar_buf, NULL +}; + +#define GADSTATUSBAR 9 + +struct Gadget StatusBar = +{ + &RebootButton, 3, 188, 508, 10, + GADGHIMAGE, + 0, + BOOLGADGET, + (APTR) &SharedBorders[8], NULL, + &StatusBar_text, 0, NULL, GADSTATUSBAR, NULL +}; + + +struct IntuiText RetrieveButton_text = +{ + 1, 0, JAM2, 10, 6, NULL, (UBYTE *)"Retrieve", NULL +}; + +#define GADRETRIEVEBUTTON 8 + +struct Gadget RetrieveButton = +{ + &StatusBar, 244, 117, button2w, button2h, + GADGHIMAGE, + RELVERIFY, + BOOLGADGET, + (APTR) &SharedBorders[4], (APTR) &SharedBordersInvert[4], + &RetrieveButton_text, 0, NULL, GADRETRIEVEBUTTON, NULL +}; + +UBYTE GetFileValue_buf[255]; + +struct StringInfo GetFileValue = +{ + GetFileValue_buf, NULL, 0, 255, 0, 0, 0, 0, 4, 4, NULL, 0, NULL +}; + +struct IntuiText GetFile_text[] = +{ + 1, 0, JAM2, -98, -15, NULL, "Get file", &GetFile_text[1], + 1, 0, JAM2, -98, 4, NULL, "Source:", NULL, +}; + +#define GADGETFILE 7 + +struct Gadget GetFile = +{ + &RetrieveButton, 108, 93, tbox1w, tbox1h, + GADGHIMAGE, + 0, + STRGADGET, + (APTR) &SharedBorders[6], NULL, + GetFile_text, 0, (APTR)&GetFileValue, GADGETFILE, NULL }; struct IntuiText ConfigDefault_text = @@ -98,7 +223,7 @@ struct IntuiText ConfigDefault_text = struct Gadget ConfigDefault = { - NULL, 304, 39, button3w, button3h, + &GetFile, 304, 39, button3w, button3h, GADGHIMAGE, RELVERIFY, BOOLGADGET, @@ -195,7 +320,7 @@ struct IntuiText AboutButton_text = struct Gadget AboutButton = { - &RTGButton, 356, 170, button1w, button1h, + &RTGButton, 356, 166, button1w, button1h, GADGHIMAGE, RELVERIFY, BOOLGADGET, @@ -213,7 +338,7 @@ struct IntuiText QuitButton_text = struct Gadget QuitButton = { - &AboutButton, 438, 170, button1w, button1h, + &AboutButton, 438, 166, button1w, button1h, GADGHIMAGE, RELVERIFY, BOOLGADGET, @@ -278,6 +403,35 @@ static void updateRTG(struct Window *window) } } +static char *GetSavePath() +{ + struct rtFileRequester *filereq; + char filename[128]; + char *fullpath = malloc(256 * sizeof(char)); + UBYTE *buf = NULL; + + if ((filereq = (struct rtFileRequester*)rtAllocRequestA (RT_FILEREQ, NULL))) + { + filename[0] = 0; + + if (!rtFileRequest(filereq, filename, "Pick a destination directory", + RTFI_Flags, FREQF_NOFILES, TAG_END)) + { + free(fullpath); + return NULL; + } + + } + else + { + rtEZRequest("Out of memory!", "Oh no!", NULL, NULL); + } + + strncpy(fullpath, (char*)filereq->Dir, 256); + return fullpath; +} + + int main() { struct Window *myWindow; @@ -288,6 +442,19 @@ int main() return RETURN_FAIL; } + if (!(ReqToolsBase = (struct ReqToolsBase *) + OpenLibrary (REQTOOLSNAME, REQTOOLSVERSION))) + { + static struct IntuiText pos; + struct IntuiText msg[] = + { + 1, 0, JAM2, 0, 0, NULL, "You need reqtools.library V38 or higher!.", &msg[1], + 1, 0, JAM2, 0, 10, NULL, "Please install it in your Libs: drirectory.", NULL, + }; + AutoRequest(NULL, msg, NULL, &pos, 0, 0, 0, 0); + return RETURN_FAIL; + } + pistorm_base_addr = pi_find_pistorm(); myWindow = OpenWindow(&winlayout); BOOL no_board = FALSE; @@ -299,6 +466,7 @@ int main() pos.IText = "OK"; AutoRequest(myWindow, &msg, NULL, &pos, 0, 0, 0, 0); no_board = TRUE; + WriteGadgetText("PiStorm not found", StatusBar_buf, myWindow, &StatusBar); } if (!no_board) { @@ -373,7 +541,7 @@ int main() if (ret == PI_RES_FILENOTFOUND) { static struct IntuiText msg, pos; - msg.IText = "PiStorm says \"file not found\""; + msg.IText = "PiStorm says: \"file not found\""; pos.IText = "OK"; AutoRequest(myWindow, &msg, NULL, &pos, 0, 0, 0, 0); } @@ -384,6 +552,100 @@ int main() pi_handle_config(PICFG_DEFAULT, NULL); break; } + case GADRETRIEVEBUTTON: + { + unsigned int filesize = 0; + char outpath[128]; + unsigned char *buf; + + if (pi_get_filesize(GetFileValue_buf, &filesize) == PI_RES_FILENOTFOUND) + { + static struct IntuiText msg, pos; + msg.IText = "PiStorm says: \"file not found\""; + pos.IText = "OK"; + AutoRequest(myWindow, &msg, NULL, &pos, 0, 0, 0, 0); + break; + } + buf = malloc(filesize); + if (buf == NULL) + { + static struct IntuiText msg, pos; + msg.IText = "Could not allocate enough memory to transfer file"; + pos.IText = "OK"; + AutoRequest(myWindow, &msg, NULL, &pos, 0, 0, 0, 0); + break; + } + WriteGadgetText("Retrieving file...", StatusBar_buf, myWindow, &StatusBar); + if (pi_transfer_file(GetFileValue_buf, buf) != PI_RES_OK) + { + static struct IntuiText msg, pos; + msg.IText = "PiStorm says: \"something went wrong with the file transfer\""; + pos.IText = "OK"; + AutoRequest(myWindow, &msg, NULL, &pos, 0, 0, 0, 0); + WriteGadgetText("File transfer failed", StatusBar_buf, myWindow, &StatusBar); + free(buf); + break; + } + char *fname = strrchr(GetFileValue_buf, '/'); + if (!fname) + { + fname = GetFileValue_buf; + } + char *destfile = malloc(256); + // Turns out WB doesn't like DF0:/filename.ext + if (DestinationValue_buf[(strlen(DestinationValue_buf) - 1)] == ':') + { + snprintf(destfile, 255, "%s%s", DestinationValue_buf, GetFileValue_buf); + } + else if (!strlen(DestinationValue_buf)) + { + snprintf(destfile, 255, "%s", GetFileValue_buf); + } + else + { + snprintf(destfile, 255, "%s/%s", DestinationValue_buf, GetFileValue_buf); + } + BPTR fh = Open(destfile, MODE_NEWFILE); + if (!fh) + { + char errbuf[64]; + snprintf(errbuf, 64, "Error code: %ld", IoErr()); + struct IntuiText msg[] = + { + 1, 0, JAM2, 0, 0, NULL, "Could not open file for writing", &msg[1], + 1, 0, JAM2, 0, 10, NULL, destfile, &msg[2], + 1, 0, JAM2, 0, 20, NULL, (UBYTE*)errbuf, NULL, + }; + static struct IntuiText pos; + pos.IText = "OK"; + AutoRequest(myWindow, msg, NULL, &pos, 0, 0, 0, 0); + WriteGadgetText("File transfer failed", StatusBar_buf, myWindow, &StatusBar); + free(buf); + free(destfile); + break; + } + Write(fh, buf, filesize); + Close(fh); + free(destfile); + WriteGadgetText("File transfer complete", StatusBar_buf, myWindow, &StatusBar); + free(buf); + break; + } + case GADREBOOT: + { + WriteGadgetText("Rebooting PiStorm", StatusBar_buf, myWindow, &StatusBar); + pi_reset_amiga(0); + break; + } + case GADGETDESTINATION: + { + char *fileName = GetSavePath(); + if (fileName) + { + WriteGadgetText(fileName, DestinationValue_buf, myWindow, &GetDestination); + free(fileName); + } + } } } if (closewin) @@ -397,5 +659,6 @@ int main() } }; if (myWindow) CloseWindow(myWindow); + CloseLibrary((struct Library*)ReqToolsBase); return 0; } diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs13.info b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs13.info new file mode 100644 index 0000000..03c62f0 Binary files /dev/null and b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs13.info differ diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs13/reqtools.library b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs13/reqtools.library new file mode 100644 index 0000000..2df07fc Binary files /dev/null and b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs13/reqtools.library differ diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs20.info b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs20.info new file mode 100644 index 0000000..935dee8 Binary files /dev/null and b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs20.info differ diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs20/reqtools.library b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs20/reqtools.library new file mode 100644 index 0000000..224074d Binary files /dev/null and b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/libs20/reqtools.library differ diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/clib/reqtools_protos.h b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/clib/reqtools_protos.h new file mode 100644 index 0000000..9d2e537 --- /dev/null +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/clib/reqtools_protos.h @@ -0,0 +1,61 @@ +#ifndef CLIB_REQTOOLS_PROTOS_H +#define CLIB_REQTOOLS_PROTOS_H +/* +** $Filename: clib/reqtools_protos.h $ +** $Release: 2.2 $ +** $Revision: 38.11 $ +** +** C prototypes. For use with 32 bit integers only. +** +** (C) Copyright 1991-1994 Nico François +** All Rights Reserved +*/ + +#ifndef UTILITY_TAGITEM_H +#include +#endif /* UTILITY_TAGITEM_H */ + +APTR rtAllocRequestA (ULONG, struct TagItem *); +void rtFreeRequest (APTR); +void rtFreeReqBuffer (APTR); +LONG rtChangeReqAttrA (APTR, struct TagItem *); +APTR rtFileRequestA(struct rtFileRequester *,char *,char *,struct TagItem *); +void rtFreeFileList (struct rtFileList *); +ULONG rtEZRequestA (char *,char *,struct rtReqInfo *,APTR,struct TagItem *); +ULONG rtGetStringA (UBYTE *,ULONG,char *,struct rtReqInfo *,struct TagItem *); +ULONG rtGetLongA (ULONG *, char *, struct rtReqInfo *, struct TagItem *); +ULONG rtFontRequestA (struct rtFontRequester *, char *, struct TagItem *); +LONG rtPaletteRequestA (char *, struct rtReqInfo *, struct TagItem *); +ULONG rtReqHandlerA (struct rtHandlerInfo *, ULONG, struct TagItem *); +void rtSetWaitPointer (struct Window *); +ULONG rtGetVScreenSize (struct Screen *, ULONG *, ULONG *); +void rtSetReqPosition (ULONG, struct NewWindow *, + struct Screen *, struct Window *); +void rtSpread (ULONG *, ULONG *, ULONG, ULONG, ULONG, ULONG); +void rtScreenToFrontSafely (struct Screen *); +ULONG rtScreenModeRequestA (struct rtScreenModeRequester *, + char *, struct TagItem *); +void rtCloseWindowSafely (struct Window *); +APTR rtLockWindow (struct Window *); +void rtUnlockWindow (struct Window *, APTR); + +/* private functions */ + +struct ReqToolsPrefs *rtLockPrefs (void); +void rtUnlockPrefs (void); + +/* functions with varargs in reqtools.lib and reqtoolsnb.lib */ + +APTR rtAllocRequest (ULONG, Tag,...); +LONG rtChangeReqAttr (APTR, Tag,...); +APTR rtFileRequest (struct rtFileRequester *, char *, char *, Tag,...); +ULONG rtEZRequest (char *, char *, struct rtReqInfo *, struct TagItem *,...); +ULONG rtEZRequestTags (char *, char *, struct rtReqInfo *, APTR, Tag,...); +ULONG rtGetString (UBYTE *, ULONG, char *, struct rtReqInfo *, Tag,...); +ULONG rtGetLong (ULONG *, char *, struct rtReqInfo *, Tag,...); +ULONG rtFontRequest (struct rtFontRequester *, char *, Tag,...); +LONG rtPaletteRequest (char *, struct rtReqInfo *, Tag,...); +ULONG rtReqHandler (struct rtHandlerInfo *, ULONG, Tag,...); +ULONG rtScreenModeRequest (struct rtScreenModeRequester *, char *, Tag,...); + +#endif /* CLIB_REQTOOLS_PROTOS_H */ diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/libraries/reqtools.h b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/libraries/reqtools.h new file mode 100644 index 0000000..98982d8 --- /dev/null +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/libraries/reqtools.h @@ -0,0 +1,635 @@ +#ifndef LIBRARIES_REQTOOLS_H +#define LIBRARIES_REQTOOLS_H +/* +** $Filename: libraries/reqtools.h $ +** $Release: 2.2 $ +** $Revision: 38.11 $ +** +** reqtools.library definitions +** +** (C) Copyright 1991-1994 Nico François +** All Rights Reserved +*/ + +#ifndef EXEC_TYPES_H +#include +#endif /* EXEC_TYPES_H */ + +#ifndef EXEC_LISTS_H +#include +#endif /* EXEC_LISTS_H */ + +#ifndef EXEC_LIBRARIES_H +#include +#endif /* EXEC_LIBRARIES_H */ + +#ifndef EXEC_SEMAPHORES_H +#include +#endif /* EXEC_SEMAPHORES_H */ + +#ifndef LIBRARIES_DOS_H +#include +#endif /* LIBRARIES_DOS_H */ + +#ifndef LIBRARIES_DOSEXTENS_H +#include +#endif /* LIBRARIES_DOSEXTENS_H */ + +#ifndef LIBRARIES_DISKFONT_H +#include +#endif /* LIBRARIES_DISKFONT_H */ + +#ifndef GRAPHICS_TEXT_H +#include +#endif /* GRAPHICS_TEXT_H */ + +#ifndef UTILITY_TAGITEM_H +#include +#endif /* UTILITY_TAGITEM_H */ + +#define REQTOOLSNAME "reqtools.library" +#define REQTOOLSVERSION 38L + +/*********************** +* * +* Preferences * +* * +***********************/ + +#define RTPREF_FILEREQ 0L +#define RTPREF_FONTREQ 1L +#define RTPREF_PALETTEREQ 2L +#define RTPREF_SCREENMODEREQ 3L +#define RTPREF_VOLUMEREQ 4L +#define RTPREF_OTHERREQ 5L +#define RTPREF_NR_OF_REQ 6L + +struct ReqDefaults { + ULONG Size; + ULONG ReqPos; + UWORD LeftOffset; + UWORD TopOffset; + UWORD MinEntries; + UWORD MaxEntries; + }; + +struct ReqToolsPrefs { + /* Size of preferences (_without_ this field and the semaphore) */ + ULONG PrefsSize; + struct SignalSemaphore PrefsSemaphore; + /* Start of real preferences */ + ULONG Flags; + struct ReqDefaults ReqDefaults[RTPREF_NR_OF_REQ]; + }; + +#define RTPREFS_SIZE \ + (sizeof (struct ReqToolsPrefs) - sizeof (struct SignalSemaphore) - 4) + +/* Flags */ + +#define RTPRB_DIRSFIRST 0L +#define RTPRF_DIRSFIRST (1L<DefaultFont */ +#define RT_DefaultFont (RT_TagBase+9) +/* boolean to set the standard wait pointer in window - default FALSE */ +#define RT_WaitPointer (RT_TagBase+10) +/* (V38) char preceding keyboard shortcut characters (will be underlined) */ +#define RT_Underscore (RT_TagBase+11) +/* (V38) share IDCMP port with window - default FALSE */ +#define RT_ShareIDCMP (RT_TagBase+12) +/* (V38) lock window and set standard wait pointer - default FALSE */ +#define RT_LockWindow (RT_TagBase+13) +/* (V38) boolean to make requester's screen pop to front - default TRUE */ +#define RT_ScreenToFront (RT_TagBase+14) +/* (V38) Requester should use this font - default: screen font */ +#define RT_TextAttr (RT_TagBase+15) +/* (V38) call this hook for every IDCMP message not for requester */ +#define RT_IntuiMsgFunc (RT_TagBase+16) +/* (V38) Locale ReqTools should use for text */ +#define RT_Locale (RT_TagBase+17) + +/*** tags specific to rtEZRequestA *** +*/ +/* title of requester window - english default "Request" or "Information" */ +#define RTEZ_ReqTitle (RT_TagBase+20) +/* (RT_TagBase+21) reserved */ +/* various flags (see below) */ +#define RTEZ_Flags (RT_TagBase+22) +/* default response (activated by pressing RETURN) - default TRUE */ +#define RTEZ_DefaultResponse (RT_TagBase+23) + +/*** tags specific to rtGetLongA *** +*/ +/* minimum allowed value - default MININT */ +#define RTGL_Min (RT_TagBase+30) +/* maximum allowed value - default MAXINT */ +#define RTGL_Max (RT_TagBase+31) +/* suggested width of requester window (in pixels) */ +#define RTGL_Width (RT_TagBase+32) +/* boolean to show the default value - default TRUE */ +#define RTGL_ShowDefault (RT_TagBase+33) +/* (V38) string with possible responses - english default " _Ok |_Cancel" */ +#define RTGL_GadFmt (RT_TagBase+34) +/* (V38) optional arguments for RTGL_GadFmt */ +#define RTGL_GadFmtArgs (RT_TagBase+35) +/* (V38) invisible typing - default FALSE */ +#define RTGL_Invisible (RT_TagBase+36) +/* (V38) window backfill - default TRUE */ +#define RTGL_BackFill (RT_TagBase+37) +/* (V38) optional text above gadget */ +#define RTGL_TextFmt (RT_TagBase+38) +/* (V38) optional arguments for RTGS_TextFmt */ +#define RTGL_TextFmtArgs (RT_TagBase+39) +/* (V38) various flags (see below) */ +#define RTGL_Flags RTEZ_Flags + +/*** tags specific to rtGetStringA *** +*/ +/* suggested width of requester window (in pixels) */ +#define RTGS_Width RTGL_Width +/* allow empty string to be accepted - default FALSE */ +#define RTGS_AllowEmpty (RT_TagBase+80) +/* (V38) string with possible responses - english default " _Ok |_Cancel" */ +#define RTGS_GadFmt RTGL_GadFmt +/* (V38) optional arguments for RTGS_GadFmt */ +#define RTGS_GadFmtArgs RTGL_GadFmtArgs +/* (V38) invisible typing - default FALSE */ +#define RTGS_Invisible RTGL_Invisible +/* (V38) window backfill - default TRUE */ +#define RTGS_BackFill RTGL_BackFill +/* (V38) optional text above gadget */ +#define RTGS_TextFmt RTGL_TextFmt +/* (V38) optional arguments for RTGS_TextFmt */ +#define RTGS_TextFmtArgs RTGL_TextFmtArgs +/* (V38) various flags (see below) */ +#define RTGS_Flags RTEZ_Flags + +/*** tags specific to rtFileRequestA *** +*/ +/* various flags (see below) */ +#define RTFI_Flags (RT_TagBase+40) +/* suggested height of file requester */ +#define RTFI_Height (RT_TagBase+41) +/* replacement text for 'Ok' gadget (max 6 chars) */ +#define RTFI_OkText (RT_TagBase+42) +/* (V38) bring up volume requester, tag data holds flags (see below) */ +#define RTFI_VolumeRequest (RT_TagBase+43) +/* (V38) call this hook for every file in the directory */ +#define RTFI_FilterFunc (RT_TagBase+44) +/* (V38) allow empty file to be accepted - default FALSE */ +#define RTFI_AllowEmpty (RT_TagBase+45) + +/*** tags specific to rtFontRequestA *** +*/ +/* various flags (see below) */ +#define RTFO_Flags RTFI_Flags +/* suggested height of font requester */ +#define RTFO_Height RTFI_Height +/* replacement text for 'Ok' gadget (max 6 chars) */ +#define RTFO_OkText RTFI_OkText +/* suggested height of font sample display - default 24 */ +#define RTFO_SampleHeight (RT_TagBase+60) +/* minimum height of font displayed */ +#define RTFO_MinHeight (RT_TagBase+61) +/* maximum height of font displayed */ +#define RTFO_MaxHeight (RT_TagBase+62) +/* [(RT_TagBase+63) to (RT_TagBase+66) used below] */ +/* (V38) call this hook for every font */ +#define RTFO_FilterFunc RTFI_FilterFunc + +/*** (V38) tags for rtScreenModeRequestA *** +*/ +/* various flags (see below) */ +#define RTSC_Flags RTFI_Flags +/* suggested height of screenmode requester */ +#define RTSC_Height RTFI_Height +/* replacement text for 'Ok' gadget (max 6 chars) */ +#define RTSC_OkText RTFI_OkText +/* property flags (see also RTSC_PropertyMask) */ +#define RTSC_PropertyFlags (RT_TagBase+90) +/* property mask - default all bits in RTSC_PropertyFlags considered */ +#define RTSC_PropertyMask (RT_TagBase+91) +/* minimum display width allowed */ +#define RTSC_MinWidth (RT_TagBase+92) +/* maximum display width allowed */ +#define RTSC_MaxWidth (RT_TagBase+93) +/* minimum display height allowed */ +#define RTSC_MinHeight (RT_TagBase+94) +/* maximum display height allowed */ +#define RTSC_MaxHeight (RT_TagBase+95) +/* minimum display depth allowed */ +#define RTSC_MinDepth (RT_TagBase+96) +/* maximum display depth allowed */ +#define RTSC_MaxDepth (RT_TagBase+97) +/* call this hook for every display mode id */ +#define RTSC_FilterFunc RTFI_FilterFunc + +/*** tags for rtChangeReqAttrA *** +*/ +/* file requester - set directory */ +#define RTFI_Dir (RT_TagBase+50) +/* file requester - set wildcard pattern */ +#define RTFI_MatchPat (RT_TagBase+51) +/* file requester - add a file or directory to the buffer */ +#define RTFI_AddEntry (RT_TagBase+52) +/* file requester - remove a file or directory from the buffer */ +#define RTFI_RemoveEntry (RT_TagBase+53) +/* font requester - set font name of selected font */ +#define RTFO_FontName (RT_TagBase+63) +/* font requester - set font size */ +#define RTFO_FontHeight (RT_TagBase+64) +/* font requester - set font style */ +#define RTFO_FontStyle (RT_TagBase+65) +/* font requester - set font flags */ +#define RTFO_FontFlags (RT_TagBase+66) +/* (V38) screenmode requester - get display attributes from screen */ +#define RTSC_ModeFromScreen (RT_TagBase+80) +/* (V38) screenmode requester - set display mode id (32-bit extended) */ +#define RTSC_DisplayID (RT_TagBase+81) +/* (V38) screenmode requester - set display width */ +#define RTSC_DisplayWidth (RT_TagBase+82) +/* (V38) screenmode requester - set display height */ +#define RTSC_DisplayHeight (RT_TagBase+83) +/* (V38) screenmode requester - set display depth */ +#define RTSC_DisplayDepth (RT_TagBase+84) +/* (V38) screenmode requester - set overscan type, 0 for regular size */ +#define RTSC_OverscanType (RT_TagBase+85) +/* (V38) screenmode requester - set autoscroll */ +#define RTSC_AutoScroll (RT_TagBase+86) + +/*** tags for rtPaletteRequestA *** +*/ +/* initially selected color - default 1 */ +#define RTPA_Color (RT_TagBase+70) + +/*** tags for rtReqHandlerA *** +*/ +/* end requester by software control, set tagdata to REQ_CANCEL, REQ_OK or + in case of rtEZRequest to the return value */ +#define RTRH_EndRequest (RT_TagBase+60) + +/*** tags for rtAllocRequestA ***/ +/* no tags defined yet */ + + +/************ +* RT_ReqPos * +************/ +#define REQPOS_POINTER 0L +#define REQPOS_CENTERWIN 1L +#define REQPOS_CENTERSCR 2L +#define REQPOS_TOPLEFTWIN 3L +#define REQPOS_TOPLEFTSCR 4L + +/****************** +* RTRH_EndRequest * +******************/ +#define REQ_CANCEL 0L +#define REQ_OK 1L + +/*************************************** +* flags for RTFI_Flags and RTFO_Flags * +* or filereq->Flags and fontreq->Flags * +***************************************/ +#define FREQB_NOBUFFER 2L +#define FREQF_NOBUFFER (1L<Flags * +*****************************************/ +#define FREQB_MULTISELECT 0L +#define FREQF_MULTISELECT (1L<Flags * +*****************************************/ +#define FREQB_FIXEDWIDTH 5L +#define FREQF_FIXEDWIDTH (1L<Flags * +*****************************************************/ +#define SCREQB_SIZEGADS 13L +#define SCREQF_SIZEGADS (1L<Flags * +*****************************************/ +#define EZREQB_NORETURNKEY 0L +#define EZREQF_NORETURNKEY (1L<Flags * +***********************************************/ +#define GLREQB_CENTERTEXT EZREQB_CENTERTEXT +#define GLREQF_CENTERTEXT EZREQF_CENTERTEXT +#define GLREQB_HIGHLIGHTTEXT 3L +#define GLREQF_HIGHLIGHTTEXT (1L<Flags * +***********************************************/ +#define GSREQB_CENTERTEXT EZREQB_CENTERTEXT +#define GSREQF_CENTERTEXT EZREQF_CENTERTEXT +#define GSREQB_HIGHLIGHTTEXT GLREQB_HIGHLIGHTTEXT +#define GSREQF_HIGHLIGHTTEXT GLREQF_HIGHLIGHTTEXT + +/***************************************** +* (V38) flags for RTFI_VolumeRequest tag * +*****************************************/ +#define VREQB_NOASSIGNS 0L +#define VREQF_NOASSIGNS (1L<DefaultFont +RT_DefaultFont equ (RT_TagBase+9) +* boolean to set the standard wait pointer in window - default FALSE +RT_WaitPointer equ (RT_TagBase+10) +* (V38) char preceding keyboard shortcut characters (will be underlined) +RT_Underscore equ (RT_TagBase+11) +* (V38) share IDCMP port with window - default FALSE +RT_ShareIDCMP equ (RT_TagBase+12) +* (V38) lock window and set standard wait pointer - default FALSE +RT_LockWindow equ (RT_TagBase+13) +* (V38) boolean to make requester's screen pop to front - default TRUE +RT_ScreenToFront equ (RT_TagBase+14) +* (V38) Requester should use this font - default: screen font +RT_TextAttr equ (RT_TagBase+15) +* (V38) call this hook for every IDCMP message not for requester +RT_IntuiMsgFunc equ (RT_TagBase+16) +* (V38) Locale ReqTools should use for text +RT_Locale equ (RT_TagBase+17) + +*** tags specific to rtEZRequestA *** +* +* title of requester window - english default "Request" or "Information" +RTEZ_ReqTitle equ (RT_TagBase+20) +* (RT_TagBase+21) reserved +* various flags (see below) +RTEZ_Flags equ (RT_TagBase+22) +* default response (activated by pressing RETURN) - default TRUE +RTEZ_DefaultResponse equ (RT_TagBase+23) + +*** tags specific to rtGetLongA *** +* +* minimum allowed value - default MININT +RTGL_Min equ (RT_TagBase+30) +* maximum allowed value - default MAXINT +RTGL_Max equ (RT_TagBase+31) +* suggested width of requester window (in pixels) +RTGL_Width equ (RT_TagBase+32) +* boolean to show the default value - default TRUE +RTGL_ShowDefault equ (RT_TagBase+33) +* (V38) string with possible responses - english default " _Ok |_Cancel" +RTGL_GadFmt equ (RT_TagBase+34) +* (V38) optional arguments for RTGL_GadFmt +RTGL_GadFmtArgs equ (RT_TagBase+35) +* (V38) invisible typing - default FALSE +RTGL_Invisible equ (RT_TagBase+36) +* (V38) window backfill - default TRUE +RTGL_BackFill equ (RT_TagBase+37) +* (V38) optional text above gadget +RTGL_TextFmt equ (RT_TagBase+38) +* (V38) optional arguments for RTGS_TextFmt +RTGL_TextFmtArgs equ (RT_TagBase+39) +* (V38) Center text - default FALSE +RTGL_CenterText equ (RT_TagBase+100) +* (V38) various flags (see below) +RTGL_Flags equ RTEZ_Flags + +*** tags specific to rtGetStringA *** +* +* suggested width of requester window (in pixels) +RTGS_Width equ RTGL_Width +* allow empty string to be accepted - default FALSE +RTGS_AllowEmpty equ (RT_TagBase+80) +* (V38) string with possible responses - english default " _Ok |_Cancel" +RTGS_GadFmt equ RTGL_GadFmt +* (V38) optional arguments for RTGS_GadFmt +RTGS_GadFmtArgs equ RTGL_GadFmtArgs +* (V38) invisible typing - default FALSE +RTGS_Invisible equ RTGL_Invisible +* (V38) window backfill - default TRUE +RTGS_BackFill equ RTGL_BackFill +* (V38) optional text above gadget +RTGS_TextFmt equ RTGL_TextFmt +* (V38) optional arguments for RTGS_TextFmt +RTGS_TextFmtArgs equ RTGL_TextFmtArgs +* (V38) Center text - default FALSE +RTGS_CenterText equ RTGL_CenterText +* (V38) various flags (see below) +RTGS_Flags equ RTEZ_Flags + +*** tags specific to rtFileRequestA *** +* +* various flags (see below) +RTFI_Flags equ (RT_TagBase+40) +* suggested height of file requester +RTFI_Height equ (RT_TagBase+41) +* replacement text for 'Ok' gadget (max 6 chars) +RTFI_OkText equ (RT_TagBase+42) +* (V38) bring up volume requester, tag data holds flags (see below) +RTFI_VolumeRequest equ (RT_TagBase+43) +* (V38) call this hook for every file in the directory +RTFI_FilterFunc equ (RT_TagBase+44) +* (V38) allow empty file to be accepted - default FALSE +RTFI_AllowEmpty equ (RT_TagBase+45) + +*** tags specific to rtFontRequestA *** +* +* various flags (see below) +RTFO_Flags equ RTFI_Flags +* suggested height of font requester +RTFO_Height equ RTFI_Height +* replacement text for 'Ok' gadget (max 6 chars) +RTFO_OkText equ RTFI_OkText +* suggested height of font sample display - default 24 +RTFO_SampleHeight equ (RT_TagBase+60) +* minimum height of font displayed +RTFO_MinHeight equ (RT_TagBase+61) +* maximum height of font displayed +RTFO_MaxHeight equ (RT_TagBase+62) +* [(RT_TagBase+63) to (RT_TagBase+66) used below] +* (V38) call this hook for every font +RTFO_FilterFunc equ RTFI_FilterFunc + +*** (V38) tags for rtScreenModeRequestA *** +* various flags (see below) +RTSC_Flags equ RTFI_Flags +* suggested height of screenmode requester +RTSC_Height equ RTFI_Height +* replacement text for 'Ok' gadget (max 6 chars) +RTSC_OkText equ RTFI_OkText +* property flags (see also RTSC_PropertyMask) +RTSC_PropertyFlags equ (RT_TagBase+90) +* property mask - default all bits in RTSC_PropertyFlags considered +RTSC_PropertyMask equ (RT_TagBase+91) +* minimum display width allowed +RTSC_MinWidth equ (RT_TagBase+92) +* maximum display width allowed +RTSC_MaxWidth equ (RT_TagBase+93) +* minimum display height allowed +RTSC_MinHeight equ (RT_TagBase+94) +* maximum display height allowed +RTSC_MaxHeight equ (RT_TagBase+95) +* minimum display depth allowed +RTSC_MinDepth equ (RT_TagBase+96) +* maximum display depth allowed +RTSC_MaxDepth equ (RT_TagBase+97) +* call this hook for every display mode id +RTSC_FilterFunc equ RTFI_FilterFunc + +*** tags for rtChangeReqAttrA *** +* +* file requester - set directory +RTFI_Dir equ (RT_TagBase+50) +* file requester - set wildcard pattern +RTFI_MatchPat equ (RT_TagBase+51) +* file requester - add a file or directory to the buffer +RTFI_AddEntry equ (RT_TagBase+52) +* file requester - remove a file or directory from the buffer +RTFI_RemoveEntry equ (RT_TagBase+53) +* font requester - set font name of selected font +RTFO_FontName equ (RT_TagBase+63) +* font requester - set font size +RTFO_FontHeight equ (RT_TagBase+64) +* font requester - set font style +RTFO_FontStyle equ (RT_TagBase+65) +* font requester - set font flags +RTFO_FontFlags equ (RT_TagBase+66) +* (V38) screenmode requester - get display attributes from screen +RTSC_ModeFromScreen equ (RT_TagBase+80) +* (V38) screenmode requester - set display mode id (32-bit extended) +RTSC_DisplayID equ (RT_TagBase+81) +* (V38) screenmode requester - set display width +RTSC_DisplayWidth equ (RT_TagBase+82) +* (V38) screenmode requester - set display height +RTSC_DisplayHeight equ (RT_TagBase+83) +* (V38) screenmode requester - set display depth +RTSC_DisplayDepth equ (RT_TagBase+84) +* (V38) screenmode requester - set overscan type, 0 for regular size +RTSC_OverscanType equ (RT_TagBase+85) +* (V38) screenmode requester - set autoscroll +RTSC_AutoScroll equ (RT_TagBase+86) + +*** tags for rtPaletteRequestA *** +* +* initially selected color - default 1 +RTPA_Color equ (RT_TagBase+70) + +*** tags for rtReqHandlerA *** +* +* end requester by software control, set tagdata to REQ_CANCEL, REQ_OK or +* in case of rtEZRequest to the return value +RTRH_EndRequest equ (RT_TagBase+60) + +*** tags for rtAllocRequestA *** +* no tags defined yet + + +************* +* RT_ReqPos * +************* +REQPOS_POINTER equ 0 +REQPOS_CENTERWIN equ 1 +REQPOS_CENTERSCR equ 2 +REQPOS_TOPLEFTWIN equ 3 +REQPOS_TOPLEFTSCR equ 4 + +******************* +* RTRH_EndRequest * +******************* +REQ_CANCEL equ 0 +REQ_OK equ 1 + +**************************************** +* flags for RTFI_Flags and RTFO_Flags * +* or filereq->Flags and fontreq->Flags * +**************************************** + BITDEF FREQ,NOBUFFER,2 + +****************************************** +* flags for RTFI_Flags or filereq->Flags * +****************************************** + BITDEF FREQ,MULTISELECT,0 + BITDEF FREQ,SAVE,1 + BITDEF FREQ,NOFILES,3 + BITDEF FREQ,PATGAD,4 + BITDEF FREQ,SELECTDIRS,12 + +****************************************** +* flags for RTFO_Flags or fontreq->Flags * +****************************************** + BITDEF FREQ,FIXEDWIDTH,5 + BITDEF FREQ,COLORFONTS,6 + BITDEF FREQ,CHANGEPALETTE,7 + BITDEF FREQ,LEAVEPALETTE,8 + BITDEF FREQ,SCALE,9 + BITDEF FREQ,STYLE,10 + +****************************************************** +* (V38) flags for RTSC_Flags or screenmodereq->Flags * +****************************************************** + BITDEF SCREQ,SIZEGADS,13 + BITDEF SCREQ,DEPTHGAD,14 + BITDEF SCREQ,NONSTDMODES,15 + BITDEF SCREQ,GUIMODES,16 + BITDEF SCREQ,AUTOSCROLLGAD,18 + BITDEF SCREQ,OVERSCANGAD,19 + +****************************************** +* flags for RTEZ_Flags or reqinfo->Flags * +****************************************** + BITDEF EZREQ,NORETURNKEY,0 + BITDEF EZREQ,LAMIGAQUAL,1 + BITDEF EZREQ,CENTERTEXT,2 + +************************************************ +* (V38) flags for RTGL_Flags or reqinfo->Flags * +************************************************ + BITDEF GLREQ,CENTERTEXT,EZREQB_CENTERTEXT + BITDEF GLREQ,HIGHLIGHTTEXT,3 + +************************************************ +* (V38) flags for RTGS_Flags or reqinfo->Flags * +************************************************ + BITDEF GSREQ,CENTERTEXT,EZREQB_CENTERTEXT + BITDEF GSREQ,HIGHLIGHTTEXT,GLREQB_HIGHLIGHTTEXT + +****************************************** +* (V38) flags for RTFI_VolumeRequest tag * +****************************************** + BITDEF VREQ,NOASSIGNS,0 + BITDEF VREQ,NODISKS,1 + BITDEF VREQ,ALLDISKS,2 + +* +* Following things are obsolete in ReqTools V38. +* DON'T USE THESE IN NEW CODE! +* + IFND NO_REQTOOLS_OBSOLETE +rtfi_Hook equ rtfi_private1 +rtfo_Hook equ rtfo_private1 +REQHOOK_WILDFILE equ 0 +REQHOOK_WILDFONT equ 1 + BITDEF FREQ,DOWILDFUNC,11 + ENDC + + ENDC ; LIBRARIES_REQTOOLS_I diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/libraries/reqtools_lib.i b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/libraries/reqtools_lib.i new file mode 100644 index 0000000..b7a0409 --- /dev/null +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/libraries/reqtools_lib.i @@ -0,0 +1,52 @@ + IFND LIBRARIES_REQTOOLS_LIB_I +LIBRARIES_REQTOOLS_LIB_I SET 1 +** +** $Filename: libraries/reqtools_lib.i $ +** $Release: 2.2 $ +** +** (C) Copyright 1991-1994 Nico François +** All Rights Reserved +** + + IFND EXEC_TYPES_I + include "exec/types.i" + ENDC + IFND EXEC_NODES_I + include "exec/nodes.i" + ENDC + IFND EXEC_LISTS_I + include "exec/lists.i" + ENDC + IFND EXEC_LIBRARIES_I + include "exec/libraries.i" + ENDC + + LIBINIT + + LIBDEF _LVOrtAllocRequestA + LIBDEF _LVOrtFreeRequest + LIBDEF _LVOrtFreeReqBuffer + LIBDEF _LVOrtChangeReqAttrA + LIBDEF _LVOrtFileRequestA + LIBDEF _LVOrtFreeFileList + LIBDEF _LVOrtEZRequestA + LIBDEF _LVOrtGetStringA + LIBDEF _LVOrtGetLongA + LIBDEF _LVOrtInternalGetPasswordA ; private! + LIBDEF _LVOrtInternalEnterPasswordA ; private! + LIBDEF _LVOrtFontRequestA + LIBDEF _LVOrtPaletteRequestA + LIBDEF _LVOrtReqHandlerA + LIBDEF _LVOrtSetWaitPointer + LIBDEF _LVOrtGetVScreenSize + LIBDEF _LVOrtSetReqPosition + LIBDEF _LVOrtSpread + LIBDEF _LVOrtScreenToFrontSafely + LIBDEF _LVOrtScreenModeRequestA + LIBDEF _LVOrtCloseWindowSafely + LIBDEF _LVOrtLockWindow + LIBDEF _LVOrtUnlockWindow + LIBDEF _LVOrtLockPrefs + LIBDEF _LVOrtUnlockPrefs + + ENDC ; LIBRARIES_REQTOOLS_LIB_I diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/pragmas/reqtools.h b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/pragmas/reqtools.h new file mode 100644 index 0000000..cc19416 --- /dev/null +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/pragmas/reqtools.h @@ -0,0 +1,33 @@ + +/* + * reqtools.library © 1991-1994 Nico François + * + */ + +#pragma libcall ReqToolsBase rtAllocRequestA 1E 8002 +#pragma libcall ReqToolsBase rtFreeRequest 24 901 +#pragma libcall ReqToolsBase rtFreeReqBuffer 2A 901 +#pragma libcall ReqToolsBase rtChangeReqAttrA 30 8902 +#pragma libcall ReqToolsBase rtFileRequestA 36 8BA904 +#pragma libcall ReqToolsBase rtFreeFileList 3C 801 +#pragma libcall ReqToolsBase rtEZRequestA 42 8CBA905 +#pragma libcall ReqToolsBase rtGetStringA 48 8BA0905 +#pragma libcall ReqToolsBase rtGetLongA 4E 8BA904 +#pragma libcall ReqToolsBase rtFontRequestA 60 8B903 +#pragma libcall ReqToolsBase rtPaletteRequestA 66 8BA03 +#pragma libcall ReqToolsBase rtReqHandlerA 6C 80903 +#pragma libcall ReqToolsBase rtSetWaitPointer 72 801 +#pragma libcall ReqToolsBase rtGetVScreenSize 78 A9803 +#pragma libcall ReqToolsBase rtSetReqPosition 7E A98004 +#pragma libcall ReqToolsBase rtSpread 84 32109806 +#pragma libcall ReqToolsBase rtScreenToFrontSafely 8A 801 +#pragma libcall ReqToolsBase rtScreenModeRequestA 90 8B903 +#pragma libcall ReqToolsBase rtCloseWindowSafely 96 801 +#pragma libcall ReqToolsBase rtLockWindow 9C 801 +#pragma libcall ReqToolsBase rtUnlockWindow A2 9802 +/**/ +/* Private function only to be used by the ReqTools Preference editor.*/ +/* Only present in library versions _above_ 38.362 [1.3] and 38.810 [2.0]!*/ +/**/ +#pragma libcall ReqToolsBase rtLockPrefs A8 0 +#pragma libcall ReqToolsBase rtUnlockPrefs AE 0 diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/proto/reqtools.h b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/proto/reqtools.h new file mode 100644 index 0000000..8ea3c24 --- /dev/null +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/proto/reqtools.h @@ -0,0 +1,4 @@ +#include +extern struct ReqToolsBase *ReqToolsBase; +#include +#include diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/hooks.h b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/hooks.h new file mode 100644 index 0000000..d9f86b4 --- /dev/null +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/hooks.h @@ -0,0 +1,25 @@ +#ifndef UTILITY_HOOKS_H +#define UTILITY_HOOKS_H +/* +** $Filename: utility/tagitem.i $ +** $Release: 1.0 $ +** +** Clone of 2.0 include file 'utility/hooks.h' +*/ + +#ifndef EXEC_TYPES_H +#include "exec/types.h" +#endif /* EXEC_TYPES_H */ + +#ifndef EXEC_NODES_H +#include "exec/nodes.h" +#endif /* EXEC_NODES_H */ + +struct Hook { + struct MinNode h_MinNode; + ULONG (*h_Entry)(); + ULONG (*h_SubEntry)(); + APTR h_Data; + }; + +#endif /* UTILITY_HOOKS_H */ diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/hooks.i b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/hooks.i new file mode 100644 index 0000000..a23aff5 --- /dev/null +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/hooks.i @@ -0,0 +1,24 @@ + IFND UTILITY_HOOKS_I +UTILITY_HOOKS_I SET 1 +** +** $Filename: utility/tagitem.i $ +** $Release: 1.0 $ +** +** Clone of 2.0 include file 'utility/hools.i' +** + + IFND EXEC_TYPES_I + INCLUDE "exec/types.i" + ENDC + + IFND EXEC_NODES_I + INCLUDE "exec/nodes.i" + ENDC + + STRUCTURE HOOK,MLN_SIZE + APTR h_Entry + APTR h_SubEntry + APTR h_Data + LABEL h_SIZEOF + + ENDC ; UTILITY_HOOKS_I diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/tagitem.h b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/tagitem.h new file mode 100644 index 0000000..e7b2db2 --- /dev/null +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/tagitem.h @@ -0,0 +1,30 @@ +#ifndef UTILITY_TAGITEM_H +#define UTILITY_TAGITEM_H +/* +** $Filename: utility/tagitem.i $ +** $Release: 1.0 $ +** +** Clone of 2.0 include file 'utility/tagitem.h' +*/ + +#ifndef EXEC_TYPES_H +#include +#endif /* EXEC_TYPES_H */ + +typedef ULONG Tag; + +struct TagItem { + Tag ti_Tag; + ULONG ti_Data; + }; + +#define TAG_DONE 0L +#define TAG_END 0L +#define TAG_IGNORE 1L +#define TAG_MORE 2L +#define TAG_SKIP 3L +#define TAG_USER 0x80000000 +#define TAGFILTER_AND 0 +#define TAGFILTER_NOT 1 + +#endif /* UTILITY_TAGITEM_H */ diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/tagitem.i b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/tagitem.i new file mode 100644 index 0000000..6ed22a4 --- /dev/null +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtools/utility/tagitem.i @@ -0,0 +1,22 @@ + IFND UTILITY_TAGITEM_I +UTILITY_TAGITEM_I SET 1 +** +** $Filename: utility/tagitem.i $ +** $Release: 1.0 $ +** +** Clone of 2.0 include file 'utility/tagitem.i' +** + + STRUCTURE TagItem,0 + ULONG ti_Tag + ULONG ti_Data + LABEL ti_SIZEOF + +TAG_END equ 0 +TAG_DONE equ 0 +TAG_IGNORE equ 1 +TAG_MORE equ 2 +TAG_SKIP equ 3 +TAG_USER equ $80000000 + + ENDC ; UTILITY_TAGITEM_I diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtoolsnb.lib b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtoolsnb.lib new file mode 100644 index 0000000..70bd01b Binary files /dev/null and b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/reqtoolsnb.lib differ