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:
- 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.
- 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.