diff --git a/src/main-menu.cpp b/src/main-menu.cpp index 8727bdba7..5fa818238 100644 --- a/src/main-menu.cpp +++ b/src/main-menu.cpp @@ -119,6 +119,31 @@ class WindowedArgument: public Argument::Parameter { } }; +class SoundArgument: public Argument::Parameter { +public: + SoundArgument(Global::InitConditions * conditions): + conditions(conditions){ + } + + Global::InitConditions * conditions; + + vector keywords() const { + vector out; + out.push_back("-s"); + out.push_back("nosound"); + return out; + } + + string description() const { + return " : Disable sound"; + } + + vector::iterator parse(vector::iterator current, vector::iterator end, Argument::ActionRefs & actions){ + conditions->sound = false; + return current; + } +}; + class HelpArgument: public Argument::Parameter { public: HelpArgument(const vector > & arguments): @@ -835,6 +860,7 @@ int rtech_main(int argc, char ** argv){ vector > arguments; arguments.push_back(Util::ReferenceCount(new WindowedArgument(&conditions))); arguments.push_back(Util::ReferenceCount(new DataPathArgument())); + arguments.push_back(Util::ReferenceCount(new SoundArgument(&conditions))); arguments.push_back(Util::ReferenceCount(new MusicArgument(&music_on))); arguments.push_back(Util::ReferenceCount(new DebugArgument())); arguments.push_back(Util::ReferenceCount(new DebugFileArgument()));