Skip to content

Puny BuildTools 2.0 (Helix Nebula)

Compare
Choose a tag to compare
@ByteProject ByteProject released this 21 Jan 22:11
· 57 commits to master since this release
7dbfa77

NOTE: FOLLOW THE INSTALLATION INSTRUCTIONS FROM THE DOCUMENTATION INSTEAD OF DOWNLOADING THE RELEASE FROM HERE!

  • project rebranded to 'The Puny BuildTools'
  • documentation has been completely rewritten
  • simplified and accessible installation process
  • host system now Linux 64-bit only, optimized for Debian/Ubuntu
  • preconfigured to be compatible with WSL2 (Windows) and OrbStack (MacOS)
  • project structure and logic completely redesigned
  • version system implemented for all components and modules
  • centralized interpreters and disk image templates
  • former build scripts heavily improved and refactored to CLI modules
  • added 'bundle.sh' release archiver
  • configuration file format update
  • integrated Vezza interpreter by Shawn Sijnstra as standard for a broad range of targets
  • integrated Jindroush's Atari 8-bit interpreter for z5 targets
  • fixed problem with Atari 8-bit games not working properly if story file too small
  • Atari 8-bit XZIP target now built on improved disk image: Single-Sided, Double-Density, 180kb capacity (1050 and XF551 disk drives)
  • countless interpreter and disk template updates (really, I lost track)
  • default target architecture now Z-machine version 5 since all available targets do support now both .z5 and .z3: C64, Amiga, ZX Spectrum, Amstrad CPC/PCW, Atari ST, Atari 8-bit, MS-DOS, MSX, BBC Micro/Acorn Electron, C128, Plus/4, Apple II, SAM Coupe, TRS80 Model 3, TRS 80 Model 4, Mega65, classic Macintosh
  • the following targets have been deprecated and considered unsupported but are still available for Z-machine v3 only: VIC20/PET, DEC Rainbow, TRS CoCo/Dragon64, Osborne1, Ti99/4a, Oric, Kaypro
  • environment variables and paths sourced out in '.punyrc', '.punywsl' and '.pi6rc'
  • added dedicated command-line interface 'Puny CLI'
  • CLI feature: project initialization
  • CLI feature: configuration file editor
  • CLI feature: project compilation
  • CLI feature: create optimized abbrevations for project (uses ZAbbrevMaker by Henrik Åsman)
  • CLI feature: test project (compile and run)
  • CLI feature: list target systems and valid build arguments
  • CLI feature: version information for all bundled components and modules
  • CLI feature: disk image factory
  • auto-build disk images with loading screen when pixel artwork is found in the project's 'Resources' folder
  • pixel artwork guide for all targets supporting loading screens
  • 'An Author's Guide to the Galaxy' as a real-life example of how you would work with the Puny BuildTools
  • added 'pi6', a super accessible Inform 6 compiler wrapper, preconfigured to use PunyInform as library (doesn't need a project structure)
  • added updater and permissions editor 'Puny-Wan Kenobi'
  • Kenobi feature: update local Puny BuildTools installation
  • Kenobi feature: check if Puny BuildTools have sufficient permissions
  • Kenobi feature: fix permissions of existing Puny BuildTools installations
  • added 'ifftool.sh', a Commodore Amiga/MEGA65 IFF screen maker, which converts .PNG images to .IFF images in Amiga and Mega65 resolutions, can also compile .PNG images to executable Amiga binaries
  • added 'cpcscr.sh', an Amstrad CPC screen maker, which converts .PNG images to CPC loading screens, palette files and BASIC loaders, using 'martine' as backend
  • added 'degaspi1.sh', an Atari ST (Degas .PI1) screen maker, which converts .PNG images to Degas .PI1 format
  • added 'makescr.sh' a ZX Spectrum CP/M+ loading screen maker
  • 'punycustom' folder feature, which will use files placed in there in favor of Puny library files and extensions
  • latest Inform compiler changes from Zarf's branch integrated
  • a billion other things I am confident I forgot to mention here