From 1c15ea594081b282f020ecd8a5cd8913d9a8cdea Mon Sep 17 00:00:00 2001 From: elasota Date: Sat, 13 Jun 2020 05:32:27 -0400 Subject: [PATCH] Update project readme --- README.txt | 77 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 59 insertions(+), 18 deletions(-) diff --git a/README.txt b/README.txt index d8232fb..18baa16 100644 --- a/README.txt +++ b/README.txt @@ -1,23 +1,64 @@ -Aerofoil is a project to port Glider PRO to other systems. +Aerofoil is a port of Glider PRO by John Calhoun. -It's divided into a few parts: -- PortabilityLayer: A static library that supports interaction with various vintage Mac-specific formats and API calls. Some parts are capable of running by themselves, others require the support of drivers. -- Aerofoil: This is the base application. It loads drivers and loads the application. -- GpDisplayDriver_D3D11: Direct3D 11 display driver. -- GpAudioDriver_XAudio2: XAudio2 audio driver. -- GpInputDriver_XInput: XInput gamepad driver. +Currently, only Windows is supported, but the code has been significantly +rewritten to keep the OS-specific code to a minimum and isolated to a few +specific projects. + +If you would like to help port Aerofoil to another system, please open an +issue in the issue tracker with the platform that you're interested in +porting to! + + + +Project structure: + +Core application binaries: +- Aerofoil: Base application, loads drivers and the application. - GpApp: Glider PRO application DLL. +- GpAudioDriver_XAudio2: XAudio2 audio driver. +- GpDisplayDriver_D3D11: Direct3D 11 display driver. +- GpInputDriver_XInput: XInput gamepad driver. +- ReleasePackageInstaller: WiX project that builds the Windows Installer package. +Libraries: +- Common: Common core definitions used by all projects +- GpCommon: Common types usable by any project. +- MacRomanConversion: Small library that handles conversion between the Mac + Roman character set and Unicode. +- PortabilityLayer: A static library that supports interaction with various + vintage Mac-specific formats and API calls, and provides a lot of + intermediate functionality like drawing, UI, and resource management. Some + parts are capable of running by themselves, others require the support of drivers. +- ShaderSrc: HLSL shader source code. +- WindowsUnicodeToolShim: A wrapper for some tools that provides a "main"-like + entry point and some file functions in UTF-8 instead of UTF-16 for easier porting. -Other parts: -- CompileShadersD3D11: Compiles D3D11 shaders into C++ files containing the compiled shader data. -- ConvertColorCursors: Extracts color cursors and icons from the application resources and dumps them to .CUR and .ICO files. Required because Windows has no API for creating color cursors at runtime. -- GliderProData: Glider PRO resource sources. -- ApplicationResourcePatches: Modified resources (used to change config dialogs). -- hqx2bin: Converts BinHex to MacBinary (not really used any more) -- hqx2gp: Converts BinHex to .gpr, .gpd, and .gpf (resource fork data, data fork data, and Finder data, respectively) -- gpr2gpa: Converts Macintosh resource files to a .gpa (a ZIP archive containing the resources in more common formats) +Data: +- ApplicationResourcePatches: Additions and modifications to the application + resources from the base game data. +- Documentation: Shippable documentation files. +- GliderProData: Glider PRO assets. +- Resources: Shippable resource files. + +Tools: +- CompileShadersD3D11: Compiles D3D11 shaders into C++ files containing the + compiled shader data. +- EmitWiXVersion: Emits a WiX include file containing the build number. (Used + to build the installer.) - FTagData: Copies a data-only file to a .gpd and creates a .gpf for it -- PictChecker: Experimental app that extracts all of the PICT resources from all of the houses and dumps them to PNG. Used to verify that the PICT loader works. -- MacRomanConverter: Micro-library that converts the Mac Roman character set to Unicode. -- unpacktool: A utility for extracting vintage StuffIt and Compact Pro archives. \ No newline at end of file +- MakeTimestamp: Tool that dumps the current time to a combined timestamp file. +- MiniRez: Tool that converts a subset of text rez files into a resource file. +- PictChecker: Test utility for validating the PICT loader. +- bin2gp: Converts MacBinary to Aerofoil "triplet" (.gpr, .gpd, and .gpf files) +- flattenmov: Merges a vintage format QuickTime movie with metadata in the + resource fork and image data in the data fork into a combined .mov file. +- gpr2gpa: Imports resources from a .gpr file into a .gpa resource archive. +- hqx2bin: Converts BinHex to MacBinary. +- hqx2gp: Converts BinHex to Aerofoil "triplet" format. +- unpacktool: Tool that decompresses StuffIt and Compact Pro archives. + +Third-party: +- FreeType: FreeType third-party library. +- rapidjson: rapidjson third-party library. +- stb: stb_image third-party library. +- zlib: zlib third-party library. \ No newline at end of file