Skip to content

Commit

Permalink
Bump to version 0.2. Update Readme and ChangeLog. Update "Galileo/Hel…
Browse files Browse the repository at this point in the history
…p/GlileoFM.guide" in Basedir.lha.
  • Loading branch information
Hagbard-Celin committed Dec 25, 2024
1 parent 9fcaaf4 commit ebe42ff
Show file tree
Hide file tree
Showing 37 changed files with 295 additions and 131 deletions.
Binary file modified Basedir.lha
Binary file not shown.
167 changes: 163 additions & 4 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,166 @@
----------------------------
Galileo - ChangeLog
----------------------------
10-Dec-23 Hagbard Celine (ver 0.1 - initial GitHub upload)
----------------------------------------
Galileo - The Almost Complete ChangeLog
----------------------------------------

25-Dec-24 Hagbard Celine v0.2 - Buildable Beta

- Fixed multiple errors in the build script and smakefiles that all
added up to a build-system that only worked on my system.

- Fixed race condition and resource-cleanup in my
asynchronous-gfmmodule-command implementation.

- Changed the fallback command for LoadGB from LoadWB_Old to LoadWB

- Plug memory leaks in:
*Library/Launcher.c
*Modules/Config/fileclass_editor.c
*Program/callback_main.c
*Program/rexx_handler.c
*Program/lister_window.c
*Modules/themes.c
For easy replication, the relevant commits are marked with
commit-messages starting with "Plug memory leak". Please be advised
that the change in Modules/FTP/ftp_arexx.c in commit 3cf97df is an
error that was reverted in commit 9f8df32.

- Added FreeScreenDrawInfo() where GetScreenDrawinfo() is used.

- ViewFont now restores pr_HomeDir and unlocks its lock on Galileo:
before quitting.

- Avoid redundant UnLock() for each file in directory when opening icon
mode listers.

- Fix Lister goes inactive when locking/unlocking position/size.

- Make Listers that are minimized to titlebar-only not able to be the active
lister for toolbar buttons.

- Fix for my v0.1 fix "Fixed runaway open-count for main library when
changing ScreenMode." This only worked for the first invocation of
the main Program, regardless if the library was flushed between invocations.

- Changed all "static" in library-code to "static const" where this
could be done without creating new compiler errors.

- Fixed a missing check for P96 that would crash if not present.

- Fixed overlapping gadgets on windows minimized to titlebar.

- Fixed size and position of titlebar gadgets.

- Fixed MuForce hit in XADbrowser if window is closed while the gfmmodule
is initializing or reading the archive.

- Added support for '#'-command-prefix to internal commands.

- Added '&'-command-prefix to force command to async mode.

- Added commandline option "ARCHIVE" to XADOpen.

- Added commandline options "ARCHIVE/M,TO/K" to XADExtract.

- Removed FinishSection command and made its functionality implicit.

- LoadDB:
*Change qualifier for LoadWB fallback to either Amiga-key.
*Updated commandline arguments pass-trough to match arguments of
LoadWB v47.1.

- Changed everything to compile with PARAMETERS=REGISTER.

- galileolistviewgclass:
*New proportional gadget that looks like other "NewLook" gadgets.
*Added one pixel line-spacing between item lines.
*Cancel selection if mouse is outside of gadget when releasing
button, unless we are auto-scrolling.
*Added tag to disable main border rendering for each side
individually.
*Enableed creation of fake multi-column lists-gadgets in the
layout-engine by joining multiple list-gadgets into a
compound-gadget.

- layout engine:
*Added flag for recessed separator line to OD_AREA.
*Implemented POSFLAG_CENTER_POS_X and POSFLAG_CENTER_POS_Y for
GTCustom_LayoutPos.
*Fixed frameless OD_AREA painting outside its box.
*Made GTCustom_LayoutRel and GTCustom_LayoutPos not
mutually-exclusive.
*Added missing support for TEXTFLAG_RIGHT_JUSTIFY and
TEXTFLAG_CENTER when setting text for OD_AREA or OD_TEXT using
SetGadgetValue().
*Fixed inner dimensions for borderless OD_AREA, OD_TEXT and
BUTTON_KIND.
*Added support for AREAFLAG_ERASE and AREAFLAG_OPTIM to OD_TEXT.
*Made POS_SQUARE work reliably with POS_CENTER.

- Changed ByteToString() prefixes from K to KB, M to MB and so on.

- Disabled remap-on load for palette-mapped icons if icon.library is
newer than v44.506. We do remapping later, and this was a kludge for
buggy icon.library versions in OS3.5.

- Disabled call to LoyoutIcon() for icons without PaletteMappe/NewIcon
part(s).

- Fixed the "Discourage NewIcons" setting.

- Fixed my v0.1 fix for ScreenMode Workbench:Clone logic, which broke
both Workbench:Clone on WB2.x and Workbench:Clone with different
depth than workbench.

- Fixed just opening Environment->Display somtimes leads to screen
Close and reopen when pressing Save/Use even if on settings are
changed.

- Removed DateFromString() and renamed DateFromStringNew() in its
place.

- Stored Environment->Locale settings in library and added
GetLocaleSettings() for gfmmodules to query them.

- Moved date_to_strings() to the library and renamed it to
DateToStrings().

- Made newicon.library open only on WB3.1 and below.

- Added generation of SDK/modinitmffp.o for modules compiled with
MATH=FFP.

- Added function QtoaU() for converting 64bit unsigned int to ascii
string.

- Added function GetFileSize64() for 64bit filesize support on WinUAE
directory mapped drives.

- Added function GeometryToString() for converting disk-sizes up to
PetaBytes to ascii size string, like ByteToString() output.

- iconinfo.gfmmodule:
*Redesigned IconInfo requester.
*Integrated functionality of DiskInfo.
*Added support for disks up to PetaBytes in size.
*Added support for 64 bit filesize on WinUAE directory mapped
drives.
*Now only shows popup-menu if mousepointer is inside the
IconInfo-window.
*Made output of numbers, date and time according to
Environment->Locale.
*Made decimal-point, and number-group-separator follow current
system Locale.
*Partly fixed icon-type detection on icon.library v44 an up. It no
longer says all icons are NewIcons. But still does not understand
the difference between NewIcons and Palette-Mapped icons, as this
requires major rework of the core icon-handling routines in the
main Program and library.

- Removed diskinfo.gfmmodule.

- Disabled option to run multiple copies simultaneously.

10-Dec-23 Hagbard Celine v0.1 - Expedited Beta (initial GitHub upload)

- Changed all versions to 0 and all revision to 1.

Expand Down
51 changes: 28 additions & 23 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,26 @@ Secondly, another warning: The version numbers are set to 0 for a reason.
There will be backward-compatibility breaking changes until the versions are
bumped to 1.

Also, I would have wanted to do more testing before this upload. But one of my
backup disks died, so the upload was expedited in fear further data-loss. Thus
not all parts of this fork have been tested further than that it compiles.
This goes for the FTP and recyclebin module, among other parts.

The current version has gone through substantially more testing than was the
case with v0.1. But there are still parts that has not passed more than the
the "it compiles" test. There might be dragons lurking in them dark corners.

For a (almost) complete list of changes since version 5.82 see "ChangeLog.txt".

For a almost complete list of changes since version 5.82 see "ChangeLog.txt".
Some of the highlights are:

v0.2:
- Fixed build-system that actually works.
- All known memory leaks removed.
- Merged DiskInfo into IconInfo.
- Redesigned IconInfo with multiple fixes/enhancements.
- Fixed the "Discourage NewIcons" setting.
- Fixed ScreenMode Workbench:Clone setting on WB2.x, and Workbench:Clone with
different screen-depth than WB, that I broke with my earlier fix for
Workbench:Clone sometimes failing to open a screen.

v0.1:
- Included XADopus renamed to XADbrowser. With lots of bugfixes and
enhancements. Now requires xadmaster.library version 13.0.
- Plugged multiple memory leaks.
Expand All @@ -39,6 +51,7 @@ Some of the highlights are:


Build instructions:
(For v0.2 and later only, v0.1 had multiple errors in the build-system)

For compiling, SAS/C 6.58 with y2kfix is required. Also, AmigaOS NDK 3.2 needs
to be correctly installed/assigned.
Expand All @@ -53,35 +66,27 @@ With this in place, these are the steps to compile and install:

1. Unpack the Galileo_Source_<ver>.<rev>.lha to your preferred directory.

1b. (Optional) Copy move the directory GalileoDist/Build to another location.
And change the variable "$builddir" in the script GalileoDist/buildme
1b. (Optional) Copy move the directory "galileo/Build" to another location.
And change the variable "$builddir" in the script "galileo/buildme"
accordingly.

2. Open a shell and cd to the GalileoDist directory at the location where you
extracted archive. For git-clones replace this with the repository-root
directory.

2b. In v0.1 release archive there is an error in "Source/Program/smakefile"
and "Source/Misc/ViewFont/smakefile" where it tries to link with
"lib:galileofm.lib". This must be changed to "//SDK/lib/galileofm.lib"
and "///SDK/lib/galileofm.lib" respectively, or an assign must be made
with the command "assign lib: SDK/lib ADD".
2. Open a shell and cd to the "galileo" directory at the location where you
extracted archive.

3. Run the script "buildme".

4. Unpack "GalileoDist/Basedir.lha" to where you want the program installed.
4. Unpack "galileo/Basedir.lha" to where you want the program installed.

5. Copy the contents of "Build/Binary/" into the Galileo directory at install
5. Copy the contents of "Build/Binary/" into the "Galileo" directory at install
location.

5b. (Optional) Rename c:LoadWB to c:LoadWB_Old.
Copy <install_location>/Galileo/LoadGB to c:LoadWB.
Add "Assign Galileo: <install_location>/Galileo/" to s:User-Startup.
5b. (Optional) Copy "<install_location>/Galileo/C/LoadGB" to "c:LoadGB".
Add "Assign Galileo: <install_location>/Galileo/" to "s:User-Startup".
Replace "LoadWB" with "LoadGB" at end of "s:startup-sequence".

For building the SDK only replace the script in step 3 with
"buildme Only SDK". This will fill/update the directories "SDK/source" and
"SDK/lib" from the current source. Until v0.2 is tagged this is only
supported for git-clones.
"SDK/lib" from the current source.

After installation you will have in your "Galilo/C" directory the command
"IFFtoGalileo". This can be used to convert filetypes and button banks to/from
Expand Down
5 changes: 3 additions & 2 deletions SDK/ReadMe
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@

Galileo

Software Development Kit 1.1
Software Development Kit 0.2

© 1998 Jonathan Potter & GPSoftware
� 1998 Jonathan Potter & GPSoftware
� 2023,2024 Hagbard Celine

-----------------------------------------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion Source/Library/libinit.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ void free_locale_data(struct GalileoLocale *locale);

static const struct TextAttr topaz_attr={"topaz.font",8,0,0};

char *version="$VER: galileofm.library 0.1 "__AMIGADATE__" ";
char *version="$VER: galileofm.library 0.2 "__AMIGADATE__" ";

#ifdef RESOURCE_TRACKING
ULONG callerid;
Expand Down
2 changes: 1 addition & 1 deletion Source/Library/smakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

LIBVER = 0
LIBREV = 1
LIBREV = 2


OBJS = $(OBJ)libinit.o $(OBJ)data.o $(OBJ)string_data.o \
Expand Down
4 changes: 2 additions & 2 deletions Source/Misc/C/galileort.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ the existing commercial status of Directory Opus for Windows.
For more information on Directory Opus for Windows please see:
http://www.gpsoft.com.au
http://www.gpsoft.com.au
*/

#include "//Library/galileofmbase.h"
#include "//Library/galileofmpragmas.h"

char *version="$VER: GalileoRT 0.1 "__AMIGADATE__" ";
char *version="$VER: GalileoRT 0.2 "__AMIGADATE__" ";

void __stdargs __main(char *command)
{
Expand Down
4 changes: 2 additions & 2 deletions Source/Misc/C/loadgb.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ the existing commercial status of Directory Opus for Windows.
For more information on Directory Opus for Windows please see:
http://www.gpsoft.com.au
http://www.gpsoft.com.au
*/

Expand All @@ -47,7 +47,7 @@ struct Library *ResTrackBase;
ULONG callerid;
#endif

char *version="$VER: LoadDB 0.1 "__AMIGADATE__" ";
char *version="$VER: LoadDB 0.2 "__AMIGADATE__" ";

enum
{
Expand Down
2 changes: 1 addition & 1 deletion Source/Misc/ViewFont/font_data.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "font.h"

char *version="$VER: ViewFont 0.1 "__AMIGADATE__" ";
char *version="$VER: ViewFont 0.2 "__AMIGADATE__" ";

ConfigWindow
font_window={
Expand Down
2 changes: 1 addition & 1 deletion Source/Modules/Config/libinit.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ int __asm __saveds __UserLibInit(void);
void __asm __saveds __UserLibCleanup(void);
char *_ProgramName="galileoconfig.gfmmodule";

char *version="$VER: galileoconfig.gfmmodule 0.1 "__AMIGADATE__" ";
char *version="$VER: galileoconfig.gfmmodule 0.2 "__AMIGADATE__" ";

struct DosLibrary *DOSBase=0;
struct Library *GalileoFMBase=0;
Expand Down
2 changes: 1 addition & 1 deletion Source/Modules/FTP/ftp_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ int __asm __saveds L_Module_Entry(
register __a1 struct Screen *screen,
register __a2 IPCData *function_ipc, // 'galileo_function' - the spawned module process
register __a3 IPCData *galileo_ipc, // 'Galileo' - the main Galileo process
register __a4 APTR *memhandlep,
register __a4 APTR *memhandlep,
register __d0 ULONG mod_id,
register __d1 EXT_FUNC(func_callback))
{
Expand Down
4 changes: 2 additions & 2 deletions Source/Modules/FTP/ftp_ver.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ the existing commercial status of Directory Opus for Windows.
For more information on Directory Opus for Windows please see:
http://www.gpsoft.com.au
http://www.gpsoft.com.au
*/

char *versionstring ="$VER: ftp.gfmmodule 0.1 (31.05.99)";
char *versionstring ="$VER: ftp.gfmmodule 0.2 "__AMIGADATE__" ";

/****************************************************************
Expand Down
2 changes: 1 addition & 1 deletion Source/Modules/XADbrowser/XADbrowser.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@

//void KPrintF __ARGS((char *,...));

static const char *version="\0$VER: XADbrowser.gfmmodule 0.1 "__AMIGADATE__" Written by Mladen Milinkovic <[email protected]>\0";
static const char *version="\0$VER: XADbrowser.gfmmodule 0.2 "__AMIGADATE__" Written by Mladen Milinkovic <[email protected]>\0";

struct xadMasterBase *xadMasterBase = NULL;
//extern struct xadMasterBase *xadMasterBase;
Expand Down
6 changes: 3 additions & 3 deletions Source/Modules/about.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ the existing commercial status of Directory Opus for Windows.
For more information on Directory Opus for Windows please see:
http://www.gpsoft.com.au
http://www.gpsoft.com.au
*/

Expand All @@ -46,7 +46,7 @@ For more information on Directory Opus for Windows please see:
#define TEXT_TIME 40000
#define ROLL_TICKS 500

char *version="$VER: about.gfmmodule 0.1 "__AMIGADATE__" ";
char *version="$VER: about.gfmmodule 0.2 "__AMIGADATE__" ";

void remap_logo(struct Screen *scr);
void free_logo_remap(void);
Expand All @@ -63,7 +63,7 @@ int __asm __saveds L_Module_Entry(
register __a1 struct Screen *screen,
register __a2 IPCData *ipc,
register __a3 IPCData *main_ipc,
register __a4 APTR *memhandlep,
register __a4 APTR *memhandlep,
register __d0 ULONG mod_id,
register __d1 ULONG mod_data)
{
Expand Down
Loading

0 comments on commit ebe42ff

Please sign in to comment.