| 114 | } |
| 115 | |
| 116 | void sFodderParameters::PrepareOptions() { |
| 117 | |
| 118 | if (!mCliOptions) |
| 119 | mCliOptions = new cxxopts::Options("OpenFodder", "War has never been so much fun"); |
| 120 | |
| 121 | mCliOptions->allow_unrecognised_options(); |
| 122 | mCliOptions->add_options() |
| 123 | ("about", "About", cxxopts::value<bool>()->default_value("false")) |
| 124 | ("h,help", "Help", cxxopts::value<bool>()->default_value("false")) |
| 125 | |
| 126 | ("pc", "Default to PC platform data", cxxopts::value<bool>()->default_value("false")) |
| 127 | ("amiga", "Default to Amiga platform data", cxxopts::value<bool>()->default_value("false")) |
| 128 | ("engine", "Default to engine (single map/random)", cxxopts::value<std::string>()->default_value("cf1"), "cf1") |
| 129 | |
| 130 | ("columns", "Number of camera columns", cxxopts::value<std::uint32_t>()->default_value("22"), "22") |
| 131 | ("rows", "Number of camera rows", cxxopts::value<std::uint32_t>()->default_value("16"), "16") |
| 132 | |
| 133 | ("alternate-mouse", "Play with non-original mouse behaviour", cxxopts::value<bool>()->default_value("false")) |
| 134 | ("w,window", "Start in window mode", cxxopts::value<bool>()->default_value("false")) |
| 135 | ("window-scale", "Set the window scale", cxxopts::value<std::uint32_t>()->default_value("0")) |
| 136 | ("integer-scaling", "Use integer scaling", cxxopts::value<bool>()->default_value("true")) |
| 137 | |
| 138 | ("cheats", "Enable cheat keys", cxxopts::value<bool>()->default_value("false")) |
| 139 | ("max-sprite", "Set the maximum sprites", cxxopts::value<std::uint32_t>()->default_value("45"), "45") |
| 140 | ("max-spawn", "Set the maximum spawn", cxxopts::value<std::uint32_t>()->default_value("10"), "10") |
| 141 | ("sleep-delta", "Set the engine speed (20 = 50Hz)", cxxopts::value<std::uint32_t>()->default_value("20"), "20") |
| 142 | |
| 143 | ("demo-record", "Record Demo", cxxopts::value<std::string>()->default_value(""), "\"Demo File\"") |
| 144 | ("demo-record-all", "Record Demo") |
| 145 | ("demo-play", "Play Demo", cxxopts::value<std::string>()->default_value(""), "\"Demo File\"") |
| 146 | |
| 147 | ("unit-test", "Run Tests", cxxopts::value<bool>()->default_value("false")) |
| 148 | ("unit-test-headless", "Run Tests, with no output", cxxopts::value<bool>()->default_value("false")) |
| 149 | |
| 150 | ("appveyor", "Output for appveyor", cxxopts::value<bool>()->default_value("false")) |
| 151 | ("nosound", "Disable sound output", cxxopts::value<bool>()->default_value("false")) |
| 152 | ("playground", "Sprite playground", cxxopts::value<bool>()->default_value("false")) |
| 153 | |
| 154 | ("skipintro", "Skip all game intros", cxxopts::value<bool>()->default_value("false")) |
| 155 | ("skipbriefing", "Skip mission briefing", cxxopts::value<bool>()->default_value("false")) |
| 156 | ("skipservice", "Skip mission debriefing", cxxopts::value<bool>()->default_value("false")) |
| 157 | ("skiphill", "Skip the hill", cxxopts::value<bool>()->default_value("false")) |
| 158 | |
| 159 | ("list-campaigns", "List available campaigns", cxxopts::value<bool>()->default_value("false")) |
| 160 | ("c,campaign", "Starting campaign", cxxopts::value<std::string>()->default_value(""), "\"name\"") |
| 161 | ("m,mission", "Starting mission", cxxopts::value<std::uint32_t>()->default_value("0"), "1") |
| 162 | ("p,phase", "Starting phase", cxxopts::value<std::uint32_t>()->default_value("0"), "2") |
| 163 | |
| 164 | ("single-map", "Play a single map", cxxopts::value<std::string>()->default_value(""), "\"MyMap\"") |
| 165 | ("r,random", "Generate and play a random map", cxxopts::value<bool>()->default_value("false")) |
| 166 | ("random-save", "Generate and save a random map", cxxopts::value<std::string>()->default_value(""), "\"MyMap\"") |
| 167 | ("script", "Name of script to execute", cxxopts::value<std::string>()->default_value(""), "\"script.js\"") |
| 168 | #ifdef OF_JS_DEBUG |
| 169 | ("debugger", "Wait for debugger in scripts", cxxopts::value<bool>()->default_value("false")) |
| 170 | #endif |
| 171 | ; |
| 172 | } |
| 173 |
nothing calls this directly
no test coverage detected