Contents

lancelotbronner/swift-opentdd-grf

OpenTDD GRF actions.

Overview

The goal of this package is to parse GRF files into a more friendly model, making it easier to understand and analyze.

I'm making this package as part of a larger goal to make a visual editor for GRFs that will simplify things while still letting authors use the full power of GRFs.

Parsing

  • [ ] Action 0

- [x] Trains - [x] Road Vehicles - [ ] Ships - [ ] Aircraft - [ ] Stations - [ ] Canals & Rivers - [ ] Bridges - [ ] Houses - [ ] Global Settings - [ ] Industry Tiles - [ ] Industries - [ ] Cargos - [ ] Sound Effects - [ ] Airports - [ ] Signals - [ ] Objects - [ ] Railtypes - [ ] Airport Tiles - [ ] Roadtypes - [ ] Tramtypes - [ ] Road Stops - [ ] Badges - [ ] Towns

  • [ ] Action 1: New Sprite Set
  • [ ] Action 2: New Sprite Group
  • [ ] Action 3: Map Sprite Group
  • [ ] Action 4: New Name
  • [ ] Action 5: New Graphics
  • [x] Action 6: Modify Parameter
  • [x] Action 7: Jump
  • [x] Action 8: Grfid
  • [x] Action 9: Jump
  • [ ] Action A
  • [x] Action B: Alert \*
  • [ ] Action C
  • [x] Action D: Assignment
  • [ ] Action E
  • [ ] Action F
  • [ ] Action 10
  • [ ] Action 11
  • [ ] Action 12
  • [ ] Action 13
  • [x] Action 14: Metadata \\

\*: Seems to be something missing with parameters.

\\: I want to add the known chunks

Analysis

  • [ ] Scopes

Assigning a scope to actions is the first step to being able to separate them into conditional groups, predicates and dynamic groups.

Package Metadata

Repository: lancelotbronner/swift-opentdd-grf

Default branch: main

README: README.md