Update project readme

This commit is contained in:
elasota
2020-06-13 05:32:27 -04:00
parent 4920781619
commit 1c15ea5940

View File

@@ -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: Currently, only Windows is supported, but the code has been significantly
- 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. rewritten to keep the OS-specific code to a minimum and isolated to a few
- Aerofoil: This is the base application. It loads drivers and loads the application. specific projects.
- GpDisplayDriver_D3D11: Direct3D 11 display driver.
- GpAudioDriver_XAudio2: XAudio2 audio driver. If you would like to help port Aerofoil to another system, please open an
- GpInputDriver_XInput: XInput gamepad driver. 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. - 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: Data:
- CompileShadersD3D11: Compiles D3D11 shaders into C++ files containing the compiled shader data. - ApplicationResourcePatches: Additions and modifications to the application
- 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. resources from the base game data.
- GliderProData: Glider PRO resource sources. - Documentation: Shippable documentation files.
- ApplicationResourcePatches: Modified resources (used to change config dialogs). - GliderProData: Glider PRO assets.
- hqx2bin: Converts BinHex to MacBinary (not really used any more) - Resources: Shippable resource files.
- 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) 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 - 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. - MakeTimestamp: Tool that dumps the current time to a combined timestamp file.
- MacRomanConverter: Micro-library that converts the Mac Roman character set to Unicode. - MiniRez: Tool that converts a subset of text rez files into a resource file.
- unpacktool: A utility for extracting vintage StuffIt and Compact Pro archives. - 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.