From 4eebea818048d67ffe04fc9c762c5d47a9bb453b Mon Sep 17 00:00:00 2001 From: Andrew Hutchings Date: Sun, 30 May 2021 08:31:25 +0100 Subject: [PATCH] Fix font rendering issue in GUI In OS3.9 and others a different font is used which screws up the layout for the PiStorm GUI gadgets. We now fix this to Topaz 8 so that it is the same as other Amiga OS versions. Also fix Disk.info to show all files and rebuild the hdf. --- platforms/amiga/Disk.info | Bin 704 -> 1056 bytes .../pistorm-dev/pistorm_dev_amiga/PiStorm | Bin 16396 -> 16504 bytes .../pistorm_dev_amiga/gui_interact.c | 52 ++++++++++-------- platforms/amiga/pistorm.hdf | Bin 2621440 -> 2621440 bytes 4 files changed, 30 insertions(+), 22 deletions(-) diff --git a/platforms/amiga/Disk.info b/platforms/amiga/Disk.info index 9119cf8da97b17f16d1655a76316dc3ae6133c95..5c09bdebe4539b526984086fda8f9821eb5cfc4b 100644 GIT binary patch literal 1056 zcma))&ubGw6vy9gYkpWUNl_?hyRAeJ5fr>+QOTO*AU%nHfJH3UV<|#IgE45KmmX}b zcv4%)!T-R7R=OpH6%nLoq1~mz+KY`SOb(IpJCkg7Q!Mo@?9AuAm%QEi>~5SC5^9#mxZ;7w^Yx6>i4SBw+qQZ0@Xy{1dba~kJdWK`;ZVuU7!#NO!p^jWMj z?$S+;XixUCV!BGok4TS~@m4kB?f$V22XhgFxK?A$V%mCUQi6!TwOEs#&q*oj%eS~>P~GH)K|j1 zxfp2O)y+XXCJ)mj$kNS=Dv>Rz3Ody*sqVN{bmnnXwzgwCyaKA84LzD8WdcJ;&$#;bE3E~@B2KQId^6wo|FNcBUE4!Yh)B73Z(owD!JoSL|iT1%6t}b6xED(c6K-H*~U6 AA^-pY diff --git a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/PiStorm index d7c6620b996a45b94e27c328e17a0f4ed652c8cb..7f1401c12d81dceaa8b419b9aa07d244d8732ca7 100755 GIT binary patch delta 6079 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 delta 6058 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 VS5MknVHzdx(PG5*LsrI2{TobmtjYiY 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 6ade857..b18a556 100644 --- a/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c +++ b/platforms/amiga/pistorm-dev/pistorm_dev_amiga/gui_interact.c @@ -19,7 +19,7 @@ extern unsigned int pistorm_base_addr; struct ReqToolsBase *ReqToolsBase; -#define VERSION "v0.3.3" +#define VERSION "v0.3.4" #define button1w 54 #define button1h 11 @@ -39,6 +39,14 @@ struct ReqToolsBase *ReqToolsBase; #define statusbarw 507 #define statusbarh 10 +struct TextAttr font = +{ + "topaz.font", + 8, + FS_NORMAL, + 0 +}; + SHORT SharedBordersPairs0[] = { 0, 0, 0, button1h - 1, 1, button1h - 2, 1, 0, button1w - 2, 0 @@ -120,7 +128,7 @@ struct Border SharedBordersInvert[] = struct IntuiText KickstartCommit_text = { - 1, 0, JAM2, 2, 2, NULL, (UBYTE *)"Commit", NULL + 1, 0, JAM2, 2, 2, &font, (UBYTE *)"Commit", NULL }; #define GADKICKSTARTCOMMIT 14 @@ -145,7 +153,7 @@ struct StringInfo KickstartFileValue = struct IntuiText KickstartFile_text = { - 1, 0, JAM2, 0, -10, NULL, "Kickstart file:", NULL + 1, 0, JAM2, 0, -10, &font, "Kickstart file:", NULL }; #define GADKICKSTARTFILE 13 @@ -162,7 +170,7 @@ struct Gadget KickstartFile = struct IntuiText ShutdownButton_text = { - 1, 0, JAM2, 2, 2, NULL, (UBYTE *)"Shutdown Pi", NULL + 1, 0, JAM2, 2, 2, &font, (UBYTE *)"Shutdown Pi", NULL }; #define GADSHUTDOWN 12 @@ -182,8 +190,8 @@ UBYTE DestinationValue_buf[255]; struct IntuiText Destination_text[] = { - 1, 0, JAM2, -98, 1, NULL, "Destination:", &Destination_text[1], - 1, 0, JAM2, 1, 1, NULL, DestinationValue_buf, NULL, + 1, 0, JAM2, -98, 1, &font, "Destination:", &Destination_text[1], + 1, 0, JAM2, 1, 1, &font, DestinationValue_buf, NULL, }; #define GADGETDESTINATION 11 @@ -200,7 +208,7 @@ struct Gadget GetDestination = struct IntuiText RebootButton_text = { - 1, 0, JAM2, 2, 2, NULL, (UBYTE *)"Reboot", NULL + 1, 0, JAM2, 2, 2, &font, (UBYTE *)"Reboot", NULL }; #define GADREBOOT 10 @@ -219,7 +227,7 @@ UBYTE StatusBar_buf[128] = "Reticulating splines..."; struct IntuiText StatusBar_text = { - 1, 0, JAM2, 4, 2, NULL, (UBYTE *)StatusBar_buf, NULL + 1, 0, JAM2, 4, 2, &font, (UBYTE *)StatusBar_buf, NULL }; #define GADSTATUSBAR 9 @@ -237,7 +245,7 @@ struct Gadget StatusBar = struct IntuiText RetrieveButton_text = { - 1, 0, JAM2, 10, 2, NULL, (UBYTE *)"Retrieve", NULL + 1, 0, JAM2, 10, 2, &font, (UBYTE *)"Retrieve", NULL }; #define GADRETRIEVEBUTTON 8 @@ -261,8 +269,8 @@ struct StringInfo GetFileValue = struct IntuiText GetFile_text[] = { - 1, 0, JAM2, -98, -10, NULL, "Get file from PiStorm:", &GetFile_text[1], - 1, 0, JAM2, -59, 1, NULL, "Source:", NULL, + 1, 0, JAM2, -98, -10, &font, "Get file from PiStorm:", &GetFile_text[1], + 1, 0, JAM2, -59, 1, &font, "Source:", NULL, }; #define GADGETFILE 7 @@ -279,7 +287,7 @@ struct Gadget GetFile = struct IntuiText ConfigDefault_text = { - 1, 0, JAM2, 2, 2, NULL, (UBYTE *)"Load Default", NULL + 1, 0, JAM2, 2, 2, &font, (UBYTE *)"Load Default", NULL }; #define GADCONFIGDEFAULT 6 @@ -296,7 +304,7 @@ struct Gadget ConfigDefault = struct IntuiText ConfigCommit_text = { - 1, 0, JAM2, 2, 2, NULL, (UBYTE *)"Commit", NULL + 1, 0, JAM2, 2, 2, &font, (UBYTE *)"Commit", NULL }; #define GADCONFIGCOMMIT 5 @@ -321,7 +329,7 @@ struct StringInfo ConfigFileValue = struct IntuiText ConfigFile_text = { - 1, 0, JAM2, 0, -10, NULL, "Config file:", NULL + 1, 0, JAM2, 0, -10, &font, "Config file:", NULL }; #define GADCONFIGFILE 4 @@ -340,14 +348,14 @@ UBYTE RTGStatus_buf[64] = "RTG status"; struct IntuiText RTGStatus_text = { - 1, 0, JAM2, 1, 1, NULL, (UBYTE *)RTGStatus_buf, NULL + 1, 0, JAM2, 1, 1, &font, (UBYTE *)RTGStatus_buf, NULL }; #define GADRTGSTATUS 3 struct Gadget RTGStatus = { - &ConfigFile, 10, 15, tbox1w, tbox1h, + &ConfigFile, 10, 20, tbox1w, tbox1h, GADGHIMAGE, 0, BOOLGADGET, @@ -359,14 +367,14 @@ UBYTE RTG_buf[64] = "RTG Enable"; struct IntuiText RTG_text = { - 1, 0, JAM2, 8, 2, NULL, (UBYTE *)RTG_buf, NULL + 1, 0, JAM2, 8, 2, &font, (UBYTE *)RTG_buf, NULL }; #define GADRTGBUTTON 2 struct Gadget RTGButton = { - &RTGStatus, 144, 14, button3w, button3h, + &RTGStatus, 144, 19, button3w, button3h, GADGHIMAGE, RELVERIFY, BOOLGADGET, @@ -376,7 +384,7 @@ struct Gadget RTGButton = struct IntuiText AboutButton_text = { - 1, 0, JAM2, 8, 2, NULL, (UBYTE *)"About", NULL + 1, 0, JAM2, 8, 2, &font, (UBYTE *)"About", NULL }; #define GADABOUT 1 @@ -394,7 +402,7 @@ struct Gadget AboutButton = struct IntuiText QuitButton_text = { - 1, 0, JAM2, 12, 2, NULL, (UBYTE *)"Quit", NULL + 1, 0, JAM2, 12, 2, &font, (UBYTE *)"Quit", NULL }; #define GADQUIT 0 @@ -520,8 +528,8 @@ int main() 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, + 1, 0, JAM2, 0, 0, &font, "You need reqtools.library V38 or higher!.", &msg[1], + 1, 0, JAM2, 0, 10, &font, "Please install it in your Libs: drirectory.", NULL, }; AutoRequest(NULL, msg, NULL, &pos, 0, 0, 0, 0); return RETURN_FAIL; diff --git a/platforms/amiga/pistorm.hdf b/platforms/amiga/pistorm.hdf index 50b63efde6991ce201db30ab6d9d3a6cf740b51a..fbf6d85155f514d2957a2b7dd11ef34442af5ed1 100644 GIT binary patch delta 10855 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 U^)rX@wA&~C|Ly-i2NUi84PMbJS^xk5 -- 2.39.2