]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - tools/quake2/qdata_heretic2/common/qfiles.c
my own uncrustify run
[xonotic/netradiant.git] / tools / quake2 / qdata_heretic2 / common / qfiles.c
1 /*
2    Copyright (C) 1999-2006 Id Software, Inc. and contributors.
3    For a list of contributors, see the accompanying CONTRIBUTORS file.
4
5    This file is part of GtkRadiant.
6
7    GtkRadiant is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    GtkRadiant is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with GtkRadiant; if not, write to the Free Software
19    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20  */
21
22 #include "qfiles.h"
23 #include "scriplib.h"
24 //#include <windows.h>
25
26 materialtype_t defaultmaterialtypes[] =
27 {
28         {"gravel",  MATERIAL_GRAVEL},
29         {"metal",   MATERIAL_METAL},
30         {"stone",   MATERIAL_STONE},
31         {"wood",    MATERIAL_WOOD},
32         {NULL,      0}
33 };
34
35 materialtype_t  *materialtypes;
36
37 void QFile_ReadMaterialTypes( char* filename ){
38         int i;
39         FILE    *f;
40
41         f = fopen( filename, "rb" );
42         if ( !f ) {
43                 materialtypes = defaultmaterialtypes;
44                 return;
45         }
46         fclose( f );
47
48         free( materialtypes );
49         materialtypes = (materialtype_t*)malloc( 256 * sizeof( materialtype_t ) );
50
51         LoadScriptFile( filename );
52         i = 0;
53
54         while ( i < 255 )
55         {
56                 GetScriptToken( true );
57                 if ( endofscript ) {
58                         break;
59                 }
60                 if ( strcmp( token, "material" ) != 0 ) {
61                         while ( ScriptTokenAvailable() )
62                         {
63                                 GetScriptToken( false );
64                         }
65                 }
66                 else
67                 {
68                         GetScriptToken( false );
69                         materialtypes[i].name = (char*)malloc( strlen( token ) + 1 );
70                         strcpy( materialtypes[i].name, token );
71                         GetScriptToken( false );
72                         materialtypes[i].value = atoi( token );
73                 }
74                 i++;
75         }
76         materialtypes[i].name = NULL;
77         materialtypes[i].value = 0;
78 }