ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/src/Daodan_Config.c
(Generate patch)

Comparing Daodan/src/Daodan_Config.c (file contents):
Revision 994 by alloc, Mon Apr 7 10:33:27 2014 UTC vs.
Revision 995 by alloc, Wed Apr 9 00:10:18 2014 UTC

# Line 18 | Line 18 | static const char* helpFile = "daodan_he
18  
19   static const char* defaultSection = "options";
20  
21 + static char invalidCurParamaters[1000] = "";
22 + static char invalidTotalParamaters[3000] = "";
23 +
24   void DDrConfig_PrintHelp();
25  
26  
27   ConfigSection_t config[] = {
28          { "patches", "Patches", {
29                  { "alttab",
30 <                        "Allows user to switch applications while in Oni (Alt-Tab) and use Windows key, however it may enable the screensaver as well.",
30 >                        "Allows to Alt-Tab out of Oni and use Windows key. May enable the screensaver as well.",
31                          C_BOOL,
32                          {.intBoolVal = true},
33                          {.intBoolVal = true} },
34                  { "argb8888",
35 <                        "Textures using ARGB8888 can be used.",
35 >                        "Allows using textures with ARGB8888.",
36                          C_BOOL,
37                          {.intBoolVal = true},
38                          {.intBoolVal = true} },
# Line 38 | Line 41 | ConfigSection_t config[] = {
41                          C_BOOL,
42                          {.intBoolVal = true},
43                          {.intBoolVal = true} },
41                { "bsl",
42                        "Enables d_regen (unfinished) and prevents fly-in portraits from being stretched when playing in widescreen resolutions.",
43                        C_BOOL,
44                        {.intBoolVal = true},
45                        {.intBoolVal = true} },
46                { "cheater",
47                        "Adds new cheat codes (see section below).",
48                        C_BOOL,
49                        {.intBoolVal = true},
50                        {.intBoolVal = true} },
44                  { "cheatsenabled",
45                          "Enables cheats without having to beat the game first.",
46                          C_BOOL,
47                          {.intBoolVal = true},
48                          {.intBoolVal = true} },
49                  { "cheattable",
50 <                        "Replaces Oni's cheat table with table that includes new cheats (see section below).",
50 >                        "Replaces Oni's cheat table with table that includes new cheats including devmode.",
51                          C_BOOL,
52                          {.intBoolVal = true},
53                          {.intBoolVal = true} },
54                  { "chinese",
55 <                        "Allow for chinese fonts to be shown.",
55 >                        "Allow for chinese fonts to be shown if the required DLL is available.",
56                          C_BOOL,
57                          {.intBoolVal = true},
58                          {.intBoolVal = true} },
# Line 73 | Line 66 | ConfigSection_t config[] = {
66                          C_BOOL,
67                          {.intBoolVal = true},
68                          {.intBoolVal = true} },
69 +                { "d_regen",
70 +                        "Enables script command d_regen (query/set regeneration for any character).",
71 +                        C_BOOL,
72 +                        {.intBoolVal = true},
73 +                        {.intBoolVal = true} },
74                  { "daodandisplayenum",
75 <                        "Offers more display modes in the Options menu.",
75 >                        "Offers a more accurate list of available display modes in the Options menu.",
76                          C_BOOL,
77                          {.intBoolVal = true},
78                          {.intBoolVal = true} },
79                  { "directinput",
80 <                        "Forces on DirectInput.",
80 >                        "Enforces the usage of DirectInput on every system. Should be off for Linux/Wine.",
81                          C_BOOL,
82                          {.intBoolVal = true},
83                          {.intBoolVal = true} },
84                  { "disablecmdline",
85 <                        "Replaces existing command line parser with Daodan's in order to add new commands. Meant to be used with getcmdline.",
85 >                        "Disables Oni's existing command line parser as Daodan has its own.",
86                          C_BOOL,
87                          {.intBoolVal = true},
88                          {.intBoolVal = true} },
# Line 93 | Line 91 | ConfigSection_t config[] = {
91                          C_BOOL,
92                          {.intBoolVal = true},
93                          {.intBoolVal = true} },
96                { "getcmdline",
97                        "Replaces existing command line parser with Daodan's in order to add new commands. Meant to be used with disablecmdline.",
98                        C_BOOL,
99                        {.intBoolVal = true},
100                        {.intBoolVal = true} },
94                  { "hdscreens_lowres",
95 <                        "Allow HD screens with resolution < 1024*768.",
95 >                        "Allow HD intro/ending screens on game resolutions smaller than 1024x768.",
96                          C_BOOL,
97                          {.intBoolVal = true},
98                          {.intBoolVal = true} },
# Line 109 | Line 102 | ConfigSection_t config[] = {
102                          {.intBoolVal = true},
103                          {.intBoolVal = true} },
104                  { "kickguns",
105 <                        "Unfinished, do not use.",
105 >                        "EXPERIMENTAL! Unfinished, do not use.",
106 >                        C_BOOL,
107 >                        {.intBoolVal = false},
108 >                        {.intBoolVal = false} },
109 >                { "killvtune",
110 >                        "Prevent loading of vtuneapi.dll.",
111                          C_BOOL,
112                          {.intBoolVal = false},
113                          {.intBoolVal = false} },
# Line 119 | Line 117 | ConfigSection_t config[] = {
117                          {.intBoolVal = true},
118                          {.intBoolVal = true} },
119                  { "levelplugins",
120 <                        "Allows level files to be loaded from the GDF which do not end in \"_Final\".",
120 >                        "Allows level files to be loaded which do not end in \"_Final\".",
121                          C_BOOL,
122                          {.intBoolVal = true},
123                          {.intBoolVal = true} },
124                  { "newweap",
125 <                        "Picking up a weapon displays a message containing the weapon name and amount of ammo.",
125 >                        "Standing above a weapon displays a message containing the weapon name and amount of ammo.",
126                          C_BOOL,
127                          {.intBoolVal = true},
128                          {.intBoolVal = true} },
# Line 138 | Line 136 | ConfigSection_t config[] = {
136                          C_BOOL,
137                          {.intBoolVal = true},
138                          {.intBoolVal = true} },
141                { "particledisablebit",
142                        "Unlocks particle action disabling/enabling bits for all events so that a particle event can occur multiple times.",
143                        C_BOOL,
144                        {.intBoolVal = false},
145                        {.intBoolVal = false} },
139                  { "pathfinding",
140 <                        "Multiplies size of pathfinding grid cache by eight in order to prevent crashes in large levels.",
140 >                        "Size of pathfinding grid cache increased by eight times in order to prevent crashes in large levels.",
141                          C_BOOL,
142                          {.intBoolVal = true},
143                          {.intBoolVal = true} },
# Line 164 | Line 157 | ConfigSection_t config[] = {
157                          {.intBoolVal = false},
158                          {.intBoolVal = false} },
159                  { "showtriggervolumes",
160 <                        "Allows BSL variable \"show_triggervolumes\" to work when set to 1.",
160 >                        "Allows BSL variable \"show_triggervolumes\" and Ctrl+Shift+X (in devmode) to work.",
161                          C_BOOL,
162                          {.intBoolVal = true},
163                          {.intBoolVal = true} },
164                  { "throwtest",
165 <                        "Not recommended for use; experiment with allowing enemies to be thrown over railings.",
165 >                        "EXPERIMENTAL! Experiment with allowing enemies to be thrown over railings.",
166                          C_BOOL,
167                          {.intBoolVal = false},
168                          {.intBoolVal = false} },
169 +                { "usedaodanbsl",
170 +                        "Adds new BSL commands.",
171 +                        C_BOOL,
172 +                        {.intBoolVal = true},
173 +                        {.intBoolVal = true} },
174                  { "usedaodangl",
175 <                        "Provides an improved windowed mode (-noswitch); this patch is known to break the hiding of the Windows taskbar in fullscreen mode.",
175 >                        "Provides an improved windowed mode (-noswitch).",
176                          C_BOOL,
177                          {.intBoolVal = true},
178                          {.intBoolVal = true} },
# Line 183 | Line 181 | ConfigSection_t config[] = {
181                          C_BOOL,
182                          {.intBoolVal = true},
183                          {.intBoolVal = true} },
184 +                { "widescreenportraits",
185 +                        "Prevents fly-in portraits from being stretched when playing in widescreen resolutions.",
186 +                        C_BOOL,
187 +                        {.intBoolVal = true},
188 +                        {.intBoolVal = true} },
189                  { "wpfadetime",
190                          "Adds working function for existing BSL command wp_fadetime, sets fade time to 4800.",
191                          C_BOOL,
# Line 192 | Line 195 | ConfigSection_t config[] = {
195          } },
196          { "options", "Options", {
197                  { "border",
198 <                        "If \"windowhack\" patch is active, make sure game window has border in windowed mode.",
198 >                        "Add a border if in windowed mode and \"usedaodangl\" patch is active.",
199                          C_BOOL,
200                          {.intBoolVal = true},
201                          {.intBoolVal = true} },
202                  { "debug",
203 <                        "???",
203 >                        "Not useful, probably does nothing.",
204                          EXT_BOOL,
205                          {.intBoolVal = false },
206                          {.extBoolVal = &AKgDebug_DebugMaps } },
207                  { "debugfiles",
208 <                        "???",
208 >                        "Not useful, probably does nothing.",
209                          EXT_BOOL,
210                          {.intBoolVal = false },
211                          {.extBoolVal = &BFgDebugFileEnable } },
212                  { "findsounds",
213 <                        "???",
213 >                        "Not useful, extends output of sound_list_broken_links.",
214                          EXT_BOOL,
215                          {.intBoolVal = false },
216                          {.extBoolVal = &SSgSearchOnDisk } },
217                  { "gamma",
218 <                        "Enable gamma slider in fullscreen.",
218 >                        "Enable gamma slider in fullscreen, disable in windowed mode.",
219                          C_BOOL,
220                          {.intBoolVal = true},
221                          {.intBoolVal = true} },
# Line 222 | Line 225 | ConfigSection_t config[] = {
225                          {.intBoolVal = 0},
226                          {.callback = DDrConfig_PrintHelp} },
227                  { "ignore_private_data",
228 <                        "? No effect ?",
228 >                        "Not useful, probably does nothing.",
229                          EXT_BOOL,
230                          {.intBoolVal = false },
231                          {.extBoolVal = &opt_ignore_private_data } },
232                  { "sound",
233 <                        "???",
233 >                        "Enable sound.",
234                          EXT_BOOL,
235                          {.intBoolVal = true },
236                          {.extBoolVal = &opt_sound } },
237                  { "switch",
238 <                        "Always switch screen to resolution on Oni's Options screen, making the game fullscreen; opposite of Oni's built-in argument \"noswitch\".",
238 >                        "Switch to fullscreen instead of staying in a window.",
239                          EXT_BOOL,
240                          {.intBoolVal = true},
241                          {.extBoolVal = &M3gResolutionSwitch} },
# Line 241 | Line 244 | ConfigSection_t config[] = {
244                          C_BOOL,
245                          {.intBoolVal = false},
246                          {.intBoolVal = false} },
244                { "usedaodanbsl",
245                        "Adds new BSL commands (see below).",
246                        C_BOOL,
247                        {.intBoolVal = true},
248                        {.intBoolVal = true} },
247                  { "language",
248                          "Localization for hardcoded strings (e.g. \"Savepoints\").",
249                          C_STRING,
# Line 479 | Line 477 | void DDrIniCallback(const char* section,
477                          default:
478                                  STARTUPMESSAGE("Config value type unknown: %d", co->type);
479                  }
480 +        } else {
481 +                char buf[50];
482 +                sprintf_s(buf, sizeof(buf), "  %s.%s\n", section, name);
483 +                if (strlen(buf) + strlen(invalidCurParamaters) < sizeof(invalidCurParamaters) - 1) {
484 +                        strcpy(invalidCurParamaters + strlen(invalidCurParamaters), buf);
485 +                }
486          }
487   }
488  
# Line 548 | Line 552 | void DDrConfig(int argc, char* argv[])
552                  STARTUPMESSAGE("Error reading daodan.ini, check your syntax!", 0);
553          STARTUPMESSAGE("Finished parsing", 0);
554  
555 <
555 >        if (strlen(invalidCurParamaters) > 0)
556 >        {
557 >                sprintf_s(invalidTotalParamaters, sizeof(invalidTotalParamaters), "In %s:\n%s\n", iniName, invalidCurParamaters);
558 >                invalidCurParamaters[0] = 0;
559 >        }
560  
561          STARTUPMESSAGE("Parsing command line...", 0);
562          DDrConfig_ParseCommandLine(argc, argv);
563          STARTUPMESSAGE("Finished parsing", 0);
564  
565 +        if (strlen(invalidCurParamaters) > 0)
566 +        {
567 +                sprintf_s(invalidTotalParamaters, sizeof(invalidTotalParamaters), "%sOn command line:\n%s\n", invalidTotalParamaters, invalidCurParamaters);
568 +        }
569 +
570 +        if (strlen(invalidTotalParamaters) > 0)
571 +        {
572 +                char msg[3200];
573 +                sprintf_s(msg, sizeof(msg), "Invalid parameters given:\n%sContinue launching Oni?", invalidTotalParamaters);
574 +                int res = MessageBox(NULL, msg, "Parameters invalid", MB_ICONWARNING | MB_YESNO | MB_DEFBUTTON1);
575 +                if (res == IDNO) {
576 +                        exit(0);
577 +                }
578 +        }
579 +
580   //      DDrConfig_Print();
581   }
582  

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)