diff options
author | shermp <14854761+shermp@users.noreply.github.com> | 2022-05-26 07:58:33 +0300 |
---|---|---|
committer | shermp <14854761+shermp@users.noreply.github.com> | 2022-05-26 08:23:59 +0300 |
commit | a73df83232ee721bd88c704661f4186e3dcf8942 (patch) | |
tree | c1f79bd80cb09dec4d3ef0daa8cdbaa1eebe8ffe | |
parent | f97ee951b8594a6e2995e4651adef84ab50f2b47 (diff) |
Implement help utils for programssp/help-refactor-2
-rw-r--r-- | src/dos/program_attrib.h | 7 | ||||
-rw-r--r-- | src/dos/program_autotype.h | 9 | ||||
-rw-r--r-- | src/dos/program_biostest.h | 9 | ||||
-rw-r--r-- | src/dos/program_boot.h | 17 | ||||
-rw-r--r-- | src/dos/program_choice.h | 7 | ||||
-rw-r--r-- | src/dos/program_help.h | 7 | ||||
-rw-r--r-- | src/dos/program_imgmount.cpp | 3 | ||||
-rw-r--r-- | src/dos/program_imgmount.h | 15 | ||||
-rw-r--r-- | src/dos/program_intro.h | 17 | ||||
-rw-r--r-- | src/dos/program_keyb.h | 9 | ||||
-rw-r--r-- | src/dos/program_loadfix.h | 9 | ||||
-rw-r--r-- | src/dos/program_loadrom.h | 11 | ||||
-rw-r--r-- | src/dos/program_ls.h | 7 | ||||
-rw-r--r-- | src/dos/program_mem.h | 15 | ||||
-rw-r--r-- | src/dos/program_mount.h | 15 | ||||
-rw-r--r-- | src/dos/program_placeholder.h | 9 | ||||
-rw-r--r-- | src/dos/program_rescan.h | 9 | ||||
-rw-r--r-- | src/dos/program_serial.h | 9 | ||||
-rw-r--r-- | src/hardware/mixer.cpp | 9 | ||||
-rw-r--r-- | src/misc/programs.cpp | 7 | ||||
-rw-r--r-- | src/shell/shell.cpp | 20 |
21 files changed, 182 insertions, 38 deletions
diff --git a/src/dos/program_attrib.h b/src/dos/program_attrib.h index 3535b041b..867faab1b 100644 --- a/src/dos/program_attrib.h +++ b/src/dos/program_attrib.h @@ -27,6 +27,13 @@ class ATTRIB final : public Program { public: + ATTRIB() + { + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::FILE, + HelpUtil::CmdType::PROGRAM, + "ATTRIB"}; + } void Run(); }; diff --git a/src/dos/program_autotype.h b/src/dos/program_autotype.h index e4754f5c4..02f33792c 100644 --- a/src/dos/program_autotype.h +++ b/src/dos/program_autotype.h @@ -27,7 +27,14 @@ class AUTOTYPE final : public Program { public: - AUTOTYPE() { AddMessages(); } + AUTOTYPE() + { + AddMessages(); + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "AUTOTYPE"}; + } void Run(); private: void AddMessages(); diff --git a/src/dos/program_biostest.h b/src/dos/program_biostest.h index fa1c6cedb..2146989a2 100644 --- a/src/dos/program_biostest.h +++ b/src/dos/program_biostest.h @@ -26,7 +26,14 @@ class BIOSTEST final : public Program { public: - void Run(void); + BIOSTEST() + { + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::MISC, + HelpUtil::CmdType::PROGRAM, + "BIOSTEST"}; + } + void Run(void); }; #endif // DOSBOX_PROGRAM_BIOSTEST_H diff --git a/src/dos/program_boot.h b/src/dos/program_boot.h index 80329f745..b4b05cd48 100644 --- a/src/dos/program_boot.h +++ b/src/dos/program_boot.h @@ -26,8 +26,21 @@ class BOOT final : public Program { public: - BOOT() { AddMessages(); } - void Run(void); + BOOT() + { + AddMessages(); + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "BOOT"}; + } + void Run(void); + + protected: + HelpUtil::Detail help_detail{HelpUtil::Filter::ALL, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "BOOT"}; private: void AddMessages(); diff --git a/src/dos/program_choice.h b/src/dos/program_choice.h index a63b22240..24d8a589d 100644 --- a/src/dos/program_choice.h +++ b/src/dos/program_choice.h @@ -27,6 +27,13 @@ class CHOICE final : public Program { public: + CHOICE() + { + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::BATCH, + HelpUtil::CmdType::PROGRAM, + "CHOICE"}; + } void Run(); }; diff --git a/src/dos/program_help.h b/src/dos/program_help.h index 11e82bae8..c27490774 100644 --- a/src/dos/program_help.h +++ b/src/dos/program_help.h @@ -27,6 +27,13 @@ class HELP final : public Program { public: + HELP() + { + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "HELP"}; + } void Run(); }; diff --git a/src/dos/program_imgmount.cpp b/src/dos/program_imgmount.cpp index 73ce4f1a5..a11113e89 100644 --- a/src/dos/program_imgmount.cpp +++ b/src/dos/program_imgmount.cpp @@ -484,9 +484,6 @@ void IMGMOUNT::Run(void) { void IMGMOUNT::AddMessages() { AddCommonMountMessages(); - MSG_Add("SHELL_CMD_IMGMOUNT_HELP", - "mounts compact disc image(s) or floppy disk image(s) to a given drive letter.\n"); - MSG_Add("SHELL_CMD_IMGMOUNT_HELP_LONG", "Mount a CD-ROM, floppy, or disk image to a drive letter.\n" "\n" diff --git a/src/dos/program_imgmount.h b/src/dos/program_imgmount.h index 58e131c97..3ed6df7f5 100644 --- a/src/dos/program_imgmount.h +++ b/src/dos/program_imgmount.h @@ -24,10 +24,17 @@ #include "programs.h" class IMGMOUNT final : public Program { - public: - IMGMOUNT() { AddMessages(); } - void ListImgMounts(); - void Run(); +public: + IMGMOUNT() + { + AddMessages(); + help_detail = {HelpUtil::Filter::COMMON, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "IMGMOUNT"}; + } + void ListImgMounts(); + void Run(); private: void AddMessages(); diff --git a/src/dos/program_intro.h b/src/dos/program_intro.h index d5c7abeda..c42bad082 100644 --- a/src/dos/program_intro.h +++ b/src/dos/program_intro.h @@ -24,12 +24,19 @@ #include "programs.h" class INTRO final : public Program { - public: - INTRO() { AddMessages(); } - void DisplayMount(void); - void Run(void); +public: + INTRO() + { + AddMessages(); + help_detail = {HelpUtil::Filter::COMMON, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "INTRO"}; + } + void DisplayMount(void); + void Run(void); - private: +private: void AddMessages(); void WriteOutProgramIntroSpecial(); }; diff --git a/src/dos/program_keyb.h b/src/dos/program_keyb.h index 228c5197f..5fcc47333 100644 --- a/src/dos/program_keyb.h +++ b/src/dos/program_keyb.h @@ -25,7 +25,14 @@ class KEYB final : public Program { public: - KEYB() { AddMessages(); } + KEYB() + { + AddMessages(); + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "KEYB"}; + } void Run(void); private: void AddMessages(); diff --git a/src/dos/program_loadfix.h b/src/dos/program_loadfix.h index 565ea801d..286b63cbb 100644 --- a/src/dos/program_loadfix.h +++ b/src/dos/program_loadfix.h @@ -25,7 +25,14 @@ class LOADFIX final : public Program { public: - LOADFIX() { AddMessages(); } + LOADFIX() + { + AddMessages(); + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "LOADFIX"}; + } void Run(void); private: void AddMessages(); diff --git a/src/dos/program_loadrom.h b/src/dos/program_loadrom.h index 012859e95..5b6fe0f97 100644 --- a/src/dos/program_loadrom.h +++ b/src/dos/program_loadrom.h @@ -25,8 +25,15 @@ class LOADROM final : public Program { public: - LOADROM() { AddMessages(); } - void Run(void); + LOADROM() + { + AddMessages(); + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "LOADROM"}; + } + void Run(void); private: void AddMessages(); }; diff --git a/src/dos/program_ls.h b/src/dos/program_ls.h index 17b259667..6fd0b96ce 100644 --- a/src/dos/program_ls.h +++ b/src/dos/program_ls.h @@ -27,6 +27,13 @@ class LS final : public Program { public: + LS() + { + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::FILE, + HelpUtil::CmdType::PROGRAM, + "LS"}; + } void Run(); }; diff --git a/src/dos/program_mem.h b/src/dos/program_mem.h index 3e08dc903..0c9ea6c4e 100644 --- a/src/dos/program_mem.h +++ b/src/dos/program_mem.h @@ -24,10 +24,17 @@ #include "programs.h" class MEM final : public Program { - public: - MEM() { AddMessages(); } - void Run(void); - private: +public: + MEM() + { + AddMessages(); + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::MISC, + HelpUtil::CmdType::PROGRAM, + "MEM"}; + } + void Run(void); +private: void AddMessages(); }; diff --git a/src/dos/program_mount.h b/src/dos/program_mount.h index cc2814e18..e074e6403 100644 --- a/src/dos/program_mount.h +++ b/src/dos/program_mount.h @@ -25,10 +25,17 @@ class MOUNT final : public Program { public: - MOUNT() { AddMessages(); } - void Move_Z(char new_z); - void ListMounts(); - void Run(); + MOUNT() + { + AddMessages(); + help_detail = {HelpUtil::Filter::COMMON, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "MOUNT"}; + } + void Move_Z(char new_z); + void ListMounts(); + void Run(); private: void AddMessages(); }; diff --git a/src/dos/program_placeholder.h b/src/dos/program_placeholder.h index 1df27bf96..836998a92 100644 --- a/src/dos/program_placeholder.h +++ b/src/dos/program_placeholder.h @@ -25,7 +25,14 @@ class PLACEHOLDER final : public Program { public: - PLACEHOLDER() { AddMessages(); } + PLACEHOLDER() + { + AddMessages(); + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::MISC, + HelpUtil::CmdType::PROGRAM, + "PLACEHOLDER"}; + } void Run(); private: void AddMessages(); diff --git a/src/dos/program_rescan.h b/src/dos/program_rescan.h index b90453aa3..66e05740a 100644 --- a/src/dos/program_rescan.h +++ b/src/dos/program_rescan.h @@ -25,7 +25,14 @@ class RESCAN final : public Program { public: - RESCAN() { AddMessages(); } + RESCAN() + { + AddMessages(); + help_detail = {HelpUtil::Filter::COMMON, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "RESCAN"}; + } void Run(void); private: void AddMessages(); diff --git a/src/dos/program_serial.h b/src/dos/program_serial.h index 40f16894e..ee22f67f5 100644 --- a/src/dos/program_serial.h +++ b/src/dos/program_serial.h @@ -27,7 +27,14 @@ class SERIAL final : public Program { public: - SERIAL() { AddMessages(); } + SERIAL() + { + AddMessages(); + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "SERIAL"}; + } void Run(); private: diff --git a/src/hardware/mixer.cpp b/src/hardware/mixer.cpp index bf6695ddb..f658cfc0d 100644 --- a/src/hardware/mixer.cpp +++ b/src/hardware/mixer.cpp @@ -938,7 +938,14 @@ static void MIXER_Stop([[maybe_unused]] Section *sec) class MIXER final : public Program { public: - MIXER() { AddMessages(); } + MIXER() + { + AddMessages(); + help_detail = {HelpUtil::Filter::COMMON, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "MIXER"}; + } void MakeVolume(char * scan,float & vol0,float & vol1) { Bitu w=0; diff --git a/src/misc/programs.cpp b/src/misc/programs.cpp index 846fa70d1..c1fb12e82 100644 --- a/src/misc/programs.cpp +++ b/src/misc/programs.cpp @@ -360,6 +360,13 @@ void restart_program(std::vector<std::string> & parameters); class CONFIG final : public Program { public: + CONFIG() + { + help_detail = {HelpUtil::Filter::COMMON, + HelpUtil::Category::DOSBOX, + HelpUtil::CmdType::PROGRAM, + "CONFIG"}; + } void Run(void); private: void restart(const char* useconfig); diff --git a/src/shell/shell.cpp b/src/shell/shell.cpp index c7a1fa95a..7d1abf172 100644 --- a/src/shell/shell.cpp +++ b/src/shell/shell.cpp @@ -170,7 +170,12 @@ DOS_Shell::DOS_Shell() bf(nullptr), echo(true), call(false) -{} +{ + help_detail = {HelpUtil::Filter::ALL, + HelpUtil::Category::MISC, + HelpUtil::CmdType::PROGRAM, + "COMMAND"}; +} void DOS_Shell::GetRedirection(char *line, std::string &in_file, @@ -1444,11 +1449,14 @@ void SHELL_Init() { // Setup Help for (const auto &c : DOS_Shell::shell_cmds) { - auto t = c.second.flags == 1 ? Program::HELP_LIST::COMMON - : Program::HELP_LIST::ALL; - Program::help_names[c.first] = Program::HelpDetail{t, - c.second.help, - true}; + auto filter = c.second.flags == 1 ? HelpUtil::Filter::COMMON + : HelpUtil::Filter::ALL; + HelpUtil::add_to_help_list(c.first, + HelpUtil::Detail{filter, + c.second.category, + HelpUtil::CmdType::SHELL, + c.second.help}, + true); } /* Regular startup */ |