MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / PrepareOptions

Method PrepareOptions

Source/Parameters.cpp:116–172  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114}
115
116void 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

Callers

nothing calls this directly

Calls 2

add_optionsMethod · 0.80
default_valueMethod · 0.80

Tested by

no test coverage detected