2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
6 // $Header: r:/t2repos/thief2/src/framewrk/pickgame.cpp,v 1.8 1997/10/14 11:20:32 TOML Exp $
16 // Must be last header
19 ////////////////////////////////////////////////////////////
29 sFoundVar(const char* s
) { strcpy(name
,s
); };
32 typedef cDynArray
<sFoundVar
*> VarArray
;
34 static char* prefix
= "";
35 static VarArray
* itervars
= NULL
;
37 static bool iter_func(char* var
)
39 if (strnicmp(var
,prefix
,strlen(prefix
)) == 0)
41 sFoundVar
* foundvar
= new sFoundVar(var
);
42 itervars
->Append(foundvar
);
48 // copy all vars of the form game_foo to foo
50 static void init_game_cfg_vars(const char* name
)
55 if (name
== NULL
) return;
57 sprintf(prefix
,"%s_",name
);
62 config_get_raw_all(iter_func
,valbuf
,sizeof(valbuf
));
64 // now actually go through and set them
65 for (int i
= 0; i
< Vars
.Size(); i
++)
67 sFoundVar
* var
= Vars
[i
];
68 char* newvar
= var
->name
+strlen(prefix
);
70 config_get_raw(var
->name
,valbuf
,sizeof(valbuf
));
71 config_set_string(newvar
,valbuf
);
72 config_set_priority(newvar
,PRIORITY_TRANSIENT
);
78 config_set_string((char*)name
,"");
79 config_set_priority((char*)name
,PRIORITY_TRANSIENT
);
83 void AppSelectGame(const char* name
)
85 const GameTableElem
* game
;
86 init_game_cfg_vars(name
);
87 for (game
= GameTable
; game
->name
!= NULL
; game
++)
89 if (name
!= NULL
&& strcmpi(name
,game
->name
) == 0)
92 if (game
->Create
!= NULL
)