All file access involving resource indices to operate on or create subtrees
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3105 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -150,7 +150,7 @@ initKeyConfig (void)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* First, load in the menu keys */
|
/* First, load in the menu keys */
|
||||||
res_LoadFilename (contentDir, "menu.key");
|
res_LoadFilename (contentDir, "menu.key", NULL);
|
||||||
for (i = 0; i < NUM_MENU_KEYS; i++)
|
for (i = 0; i < NUM_MENU_KEYS; i++)
|
||||||
{
|
{
|
||||||
if (!menu_res_names[i])
|
if (!menu_res_names[i])
|
||||||
@@ -178,7 +178,9 @@ initKeyConfig (void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
res_LoadFile (fp);
|
res_LoadFile (fp, NULL);
|
||||||
|
// TODO RES070
|
||||||
|
// res_LoadFile (fp, "keys.");
|
||||||
res_CloseResFile (fp);
|
res_CloseResFile (fp);
|
||||||
|
|
||||||
register_flight_controls ();
|
register_flight_controls ();
|
||||||
@@ -457,7 +459,9 @@ SaveKeyConfiguration (uio_DirHandle *path, const char *fname)
|
|||||||
f = res_OpenResFile (path, fname, "wb");
|
f = res_OpenResFile (path, fname, "wb");
|
||||||
if (f)
|
if (f)
|
||||||
{
|
{
|
||||||
res_SaveFile (f, "keys.");
|
res_SaveFile (f, "keys.", FALSE);
|
||||||
|
// TODO RES070
|
||||||
|
// res_SaveFile (f, "keys.", TRUE);
|
||||||
res_CloseResFile (f);
|
res_CloseResFile (f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,11 +99,11 @@ extern DIRENTRY_REF LoadDirEntryTable (uio_DirHandle *dirHandle,
|
|||||||
/* Key-Value resources */
|
/* Key-Value resources */
|
||||||
void res_ClearTables (void);
|
void res_ClearTables (void);
|
||||||
|
|
||||||
void res_LoadFilename (uio_DirHandle *path, const char *fname);
|
void res_LoadFilename (uio_DirHandle *path, const char *fname, const char *prefix);
|
||||||
void res_SaveFilename (uio_DirHandle *path, const char *fname, const char *root);
|
void res_SaveFilename (uio_DirHandle *path, const char *fname, const char *root, BOOLEAN strip_root);
|
||||||
|
|
||||||
void res_LoadFile (uio_Stream *fname);
|
void res_LoadFile (uio_Stream *fname, const char *prefix);
|
||||||
void res_SaveFile (uio_Stream *fname, const char *root);
|
void res_SaveFile (uio_Stream *fname, const char *root, BOOLEAN strip_root);
|
||||||
|
|
||||||
BOOLEAN res_HasKey (const char *key);
|
BOOLEAN res_HasKey (const char *key);
|
||||||
|
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ res_HasKey (const char *key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
res_LoadFile (uio_Stream *s)
|
res_LoadFile (uio_Stream *s, const char *prefix)
|
||||||
{
|
{
|
||||||
check_map_init ();
|
check_map_init ();
|
||||||
|
|
||||||
@@ -187,11 +187,11 @@ res_LoadFile (uio_Stream *s)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
PropFile_from_file (s, res_PutString);
|
PropFile_from_file (s, res_PutString, prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
res_LoadFilename (uio_DirHandle *path, const char *fname)
|
res_LoadFilename (uio_DirHandle *path, const char *fname, const char *prefix)
|
||||||
{
|
{
|
||||||
check_map_init ();
|
check_map_init ();
|
||||||
|
|
||||||
@@ -200,11 +200,11 @@ res_LoadFilename (uio_DirHandle *path, const char *fname)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
PropFile_from_filename (path, fname, res_PutString);
|
PropFile_from_filename (path, fname, res_PutString, prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
res_SaveFile (uio_Stream *f, const char *prefix)
|
res_SaveFile (uio_Stream *f, const char *prefix, BOOLEAN strip_root)
|
||||||
{
|
{
|
||||||
CharHashTable_Iterator *i;
|
CharHashTable_Iterator *i;
|
||||||
int prefix_len = 0;
|
int prefix_len = 0;
|
||||||
@@ -220,7 +220,11 @@ res_SaveFile (uio_Stream *f, const char *prefix)
|
|||||||
const char *key = CharHashTable_iteratorKey (i);
|
const char *key = CharHashTable_iteratorKey (i);
|
||||||
const char *value = (const char *)CharHashTable_iteratorValue (i);
|
const char *value = (const char *)CharHashTable_iteratorValue (i);
|
||||||
if (!prefix || !strncmp (prefix, key, prefix_len)) {
|
if (!prefix || !strncmp (prefix, key, prefix_len)) {
|
||||||
WriteResFile (key, 1, strlen (key), f);
|
if (prefix && strip_root) {
|
||||||
|
WriteResFile (key+prefix_len, 1, strlen (key) - prefix_len, f);
|
||||||
|
} else {
|
||||||
|
WriteResFile (key, 1, strlen (key), f);
|
||||||
|
}
|
||||||
PutResFileChar(' ', f);
|
PutResFileChar(' ', f);
|
||||||
PutResFileChar('=', f);
|
PutResFileChar('=', f);
|
||||||
PutResFileChar(' ', f);
|
PutResFileChar(' ', f);
|
||||||
@@ -233,14 +237,14 @@ res_SaveFile (uio_Stream *f, const char *prefix)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
res_SaveFilename (uio_DirHandle *path, const char *fname, const char *prefix)
|
res_SaveFilename (uio_DirHandle *path, const char *fname, const char *prefix, BOOLEAN strip_root)
|
||||||
{
|
{
|
||||||
uio_Stream *f;
|
uio_Stream *f;
|
||||||
|
|
||||||
check_map_init ();
|
check_map_init ();
|
||||||
f = res_OpenResFile (path, fname, "wb");
|
f = res_OpenResFile (path, fname, "wb");
|
||||||
if (f) {
|
if (f) {
|
||||||
res_SaveFile (f, prefix);
|
res_SaveFile (f, prefix, strip_root);
|
||||||
res_CloseResFile (f);
|
res_CloseResFile (f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
#include "reslib.h"
|
#include "reslib.h"
|
||||||
|
|
||||||
void
|
void
|
||||||
PropFile_from_string (char *d, PROPERTY_HANDLER handler)
|
PropFile_from_string (char *d, PROPERTY_HANDLER handler, const char *prefix)
|
||||||
{
|
{
|
||||||
int len, i;
|
int len, i;
|
||||||
|
|
||||||
@@ -84,12 +84,19 @@ PropFile_from_string (char *d, PROPERTY_HANDLER handler)
|
|||||||
make a new map entry. */
|
make a new map entry. */
|
||||||
d[key_end] = '\0';
|
d[key_end] = '\0';
|
||||||
d[value_end] = '\0';
|
d[value_end] = '\0';
|
||||||
handler (d+key_start, d+value_start);
|
if (prefix) {
|
||||||
|
char buf[256];
|
||||||
|
snprintf(buf, 255, "%s%s", prefix, d+key_start);
|
||||||
|
buf[255]=0;
|
||||||
|
handler(buf, d+value_start);
|
||||||
|
} else {
|
||||||
|
handler (d+key_start, d+value_start);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PropFile_from_file (uio_Stream *f, PROPERTY_HANDLER handler)
|
PropFile_from_file (uio_Stream *f, PROPERTY_HANDLER handler, const char *prefix)
|
||||||
{
|
{
|
||||||
long flen;
|
long flen;
|
||||||
char *data;
|
char *data;
|
||||||
@@ -104,17 +111,17 @@ PropFile_from_file (uio_Stream *f, PROPERTY_HANDLER handler)
|
|||||||
flen = ReadResFile (data, 1, flen, f);
|
flen = ReadResFile (data, 1, flen, f);
|
||||||
data[flen] = '\0';
|
data[flen] = '\0';
|
||||||
|
|
||||||
PropFile_from_string (data, handler);
|
PropFile_from_string (data, handler, prefix);
|
||||||
free (data);
|
free (data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PropFile_from_filename (uio_DirHandle *path, const char *fname, PROPERTY_HANDLER handler)
|
PropFile_from_filename (uio_DirHandle *path, const char *fname, PROPERTY_HANDLER handler, const char *prefix)
|
||||||
{
|
{
|
||||||
uio_Stream *f = res_OpenResFile (path, fname, "rt");
|
uio_Stream *f = res_OpenResFile (path, fname, "rt");
|
||||||
if (!f) {
|
if (!f) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
PropFile_from_file (f, handler);
|
PropFile_from_file (f, handler, prefix);
|
||||||
res_CloseResFile(f);
|
res_CloseResFile(f);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,8 @@
|
|||||||
|
|
||||||
typedef void (*PROPERTY_HANDLER) (const char *, const char *);
|
typedef void (*PROPERTY_HANDLER) (const char *, const char *);
|
||||||
|
|
||||||
void PropFile_from_string (char *d, PROPERTY_HANDLER handler);
|
void PropFile_from_string (char *d, PROPERTY_HANDLER handler, const char *prefix);
|
||||||
void PropFile_from_file (uio_Stream *f, PROPERTY_HANDLER handler);
|
void PropFile_from_file (uio_Stream *f, PROPERTY_HANDLER handler, const char *prefix);
|
||||||
void PropFile_from_filename (uio_DirHandle *path, const char *fname, PROPERTY_HANDLER handler);
|
void PropFile_from_filename (uio_DirHandle *path, const char *fname, PROPERTY_HANDLER handler, const char *prefix);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ InitResourceSystem (void)
|
|||||||
void
|
void
|
||||||
LoadResourceIndex (uio_DirHandle *dir, const char *rmpfile)
|
LoadResourceIndex (uio_DirHandle *dir, const char *rmpfile)
|
||||||
{
|
{
|
||||||
PropFile_from_filename (dir, rmpfile, process_resource_desc);
|
PropFile_from_filename (dir, rmpfile, process_resource_desc, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -1371,6 +1371,8 @@ SetGlobalOptions (GLOBALOPTS *opts)
|
|||||||
res_PutString ("keys.5.name", input_templates[4].name);
|
res_PutString ("keys.5.name", input_templates[4].name);
|
||||||
res_PutString ("keys.6.name", input_templates[5].name);
|
res_PutString ("keys.6.name", input_templates[5].name);
|
||||||
|
|
||||||
res_SaveFilename (configDir, "uqm.cfg", "config.");
|
res_SaveFilename (configDir, "uqm.cfg", "config.", FALSE);
|
||||||
|
// TODO RES070
|
||||||
|
// res_SaveFilename (configDir, "uqm.cfg", "config.", TRUE);
|
||||||
SaveKeyConfiguration (configDir, "flight.cfg");
|
SaveKeyConfiguration (configDir, "flight.cfg");
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-1
@@ -210,7 +210,10 @@ main (int argc, char *argv[])
|
|||||||
PlayerControls[1] = CONTROL_TEMPLATE_JOY_1;
|
PlayerControls[1] = CONTROL_TEMPLATE_JOY_1;
|
||||||
|
|
||||||
// Fill in the options struct based on uqm.cfg
|
// Fill in the options struct based on uqm.cfg
|
||||||
res_LoadFilename (configDir, "uqm.cfg");
|
res_LoadFilename (configDir, "uqm.cfg", NULL);
|
||||||
|
// TODO RES070
|
||||||
|
// res_LoadFilename (configDir, "uqm.cfg", "config.");
|
||||||
|
|
||||||
if (res_HasKey ("config.reswidth"))
|
if (res_HasKey ("config.reswidth"))
|
||||||
{
|
{
|
||||||
options.width = res_GetInteger ("config.reswidth");
|
options.width = res_GetInteger ("config.reswidth");
|
||||||
|
|||||||
Reference in New Issue
Block a user