OpenFodder / openfodder

Open Fodder: An open source port of Cannon Fodder
http://openfodder.com
GNU General Public License v3.0
459 stars 42 forks source link

Switching from JSON/INI to YAML as format for configuration/customization #42

Closed winterheart closed 9 months ago

winterheart commented 5 years ago

Currently openfodder uses JSON for describing campaigns/mission and INI for configuration. I propose to switch to YAML as more human-friendly format.

Here example of campaign in YAML format:

---
Author: Sensible Software
Name: Cannon Fodder
Missions:
  - Name: THE SENSIBLE INITIATION
    Phases:
      - Aggression:
          - 0
          - 0
        MapName: mapm1
        Name: IT'S A JUNGLE OUT THERE
        Objectives:
          - KILL ALL ENEMY

Library for parsing: https://github.com/jbeder/yaml-cpp

drnovice commented 5 years ago

I disagree: YAML is not known as JSON, and it has very specific rules to observe too (spaces, indentation, etc); easier to make mistakes than JSON. Global configuration INI is surely more user friendly than Yaml.

We could consider to support YAML too, even if it's not a priority currently.