Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dosbox-staging/dosbox-staging.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshermp <14854761+shermp@users.noreply.github.com>2022-05-26 07:58:33 +0300
committershermp <14854761+shermp@users.noreply.github.com>2022-05-26 08:23:59 +0300
commita73df83232ee721bd88c704661f4186e3dcf8942 (patch)
treec1f79bd80cb09dec4d3ef0daa8cdbaa1eebe8ffe
parentf97ee951b8594a6e2995e4651adef84ab50f2b47 (diff)
Implement help utils for programssp/help-refactor-2
-rw-r--r--src/dos/program_attrib.h7
-rw-r--r--src/dos/program_autotype.h9
-rw-r--r--src/dos/program_biostest.h9
-rw-r--r--src/dos/program_boot.h17
-rw-r--r--src/dos/program_choice.h7
-rw-r--r--src/dos/program_help.h7
-rw-r--r--src/dos/program_imgmount.cpp3
-rw-r--r--src/dos/program_imgmount.h15
-rw-r--r--src/dos/program_intro.h17
-rw-r--r--src/dos/program_keyb.h9
-rw-r--r--src/dos/program_loadfix.h9
-rw-r--r--src/dos/program_loadrom.h11
-rw-r--r--src/dos/program_ls.h7
-rw-r--r--src/dos/program_mem.h15
-rw-r--r--src/dos/program_mount.h15
-rw-r--r--src/dos/program_placeholder.h9
-rw-r--r--src/dos/program_rescan.h9
-rw-r--r--src/dos/program_serial.h9
-rw-r--r--src/hardware/mixer.cpp9
-rw-r--r--src/misc/programs.cpp7
-rw-r--r--src/shell/shell.cpp20
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 */