Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andrews05/ResForge

Resource editor for macOS
https://github.com/andrews05/ResForge

Last synced: 3 months ago
JSON representation

Resource editor for macOS

Awesome Lists containing this project

README

        

# ResForge

![ResForge](https://github.com/andrews05/ResForge/raw/master/ResForge/Assets.xcassets/ResForge.appiconset/ResForge_128.png)

ResForge is a resource editor for macOS, capable of editing classic resource fork files and related formats. Based on [ResKnife](https://github.com/nickshanks/ResKnife) by Nicholas Shanks and Uli Kusterer, this derivative of the project has been rewritten for modern macOS systems.

### Features

* Hexadecimal editor, powered by [HexFiend](https://github.com/HexFiend/HexFiend).
* Template editor, supporting a wide array of [field types](https://github.com/andrews05/ResForge/tree/master/ResForge/Template%20Editor#template-editor).
* User-defined templates, loaded automatically from resource files in `~/Library/Application Support/ResForge/`.
* Template-driven bulk data view, with CSV import/export.
* Generic binary file editor, via the `Open with Template…` menu item.
* Image editor, supporting 'PICT', 'PNG ', 'PNGf', 'cicn' & 'ppat' resources, plus view-only support for a variety of icons and other bitmaps.
* Sound editor, supporting sampled 'snd ' resources.
* Dialog editor, supporting 'DITL' resources (by Uli Kusterer)
* Menu editor, supporting 'MENU', 'CMNU' & 'cmnu' resources (by Uli Kusterer)
* Tools for EV Nova, including a sprite (rlëD) editor, a ship animation (shän) editor and a galaxy viewer.

### Supported File Formats

* Macintosh resource format, in either resource fork or data fork.
* Rez format, used by EV Nova.
* Extended resource format, defined by [Graphite](https://github.com/TheDiamondProject/Graphite).
* MacBinary encoded resource fork.
* AppleSingle/AppleDouble encoded resource fork.

## Getting Started

### System Requirements

ResForge is compatible with macOS 10.15 or later and runs natively on both 64-bit Intel and Apple Silicon.

### Installation

Download the latest version of ResForge from the [Releases](https://github.com/andrews05/ResForge/releases) page.

### Building

To build ResForge yourself you will need to have Xcode 15 or later installed.

Make sure to use the `--recurse-submodules` option when cloning the repository, or use `git submodule update --init` to initialise an existing copy.

## Built With

* [HexFiend](https://github.com/HexFiend/HexFiend) - Powers the hexadecimal editor.
* [CSV.swift](https://github.com/yaslab/CSV.swift) - Provides reading/writing of CSV files.
* [swift-parsing](https://github.com/pointfreeco/swift-parsing) - Provides parsing of custom DSLs.

## Similar Projects

* [resource_dasm](https://github.com/fuzziqersoftware/resource_dasm) - CLI tools for disassembling resource files.

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## License

Distributed under the MIT License. See `LICENSE` for more information.