--- /dev/null
+/* -------------------------------------------------------------------------------
+
+ Copyright (C) 1999-2007 id Software, Inc. and contributors.
+ For a list of contributors, see the accompanying CONTRIBUTORS file.
+
+ This file is part of GtkRadiant.
+
+ GtkRadiant is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ GtkRadiant is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GtkRadiant; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ -------------------------------------------------------------------------------
+
+ This code has been altered significantly from its original form, to support
+ several games based on the Quake III Arena engine, in the form of "Q3Map2."
+
+ ------------------------------------------------------------------------------- */
+
+
+
+/* dependencies */
+#include "q3map2.h"
+
+
+
+/*
+ MD4BlockChecksum()
+ calculates an md4 checksum for a block of data
+ */
+
+static int MD4BlockChecksum( void *buffer, int length ){
+ return Com_BlockChecksum( buffer, length );
+}
+
+/*
+ FixAASMain()
+ resets an aas checksum to match the given BSP
+ */
+
+int FixAASMain( int argc, char **argv ){
+ int length, checksum;
+ void *buffer;
+ FILE *file;
+ char aas[ 1024 ], **ext;
+ char *exts[] =
+ {
+ ".aas",
+ "_b0.aas",
+ "_b1.aas",
+ NULL
+ };
+
+
+ /* arg checking */
+ if ( argc < 2 ) {
+ Sys_Printf( "Usage: q3map -fixaas [-v] <mapname>\n" );
+ return 0;
+ }
+
+ /* do some path mangling */
+ strcpy( source, ExpandArg( argv[ argc - 1 ] ) );
+ StripExtension( source );
+ DefaultExtension( source, ".bsp" );
+
+ /* note it */
+ Sys_Printf( "--- FixAAS ---\n" );
+
+ /* load the bsp */
+ Sys_Printf( "Loading %s\n", source );
+ length = LoadFile( source, &buffer );
+
+ /* create bsp checksum */
+ Sys_Printf( "Creating checksum...\n" );
+ checksum = LittleLong( MD4BlockChecksum( buffer, length ) );
+
+ /* write checksum to aas */
+ ext = exts;
+ while ( *ext )
+ {
+ /* mangle name */
+ strcpy( aas, source );
+ StripExtension( aas );
+ strcat( aas, *ext );
+ Sys_Printf( "Trying %s\n", aas );
+ ext++;
+
+ /* fix it */
+ file = fopen( aas, "r+b" );
+ if ( !file ) {
+ continue;
+ }
+ if ( fwrite( &checksum, 4, 1, file ) != 1 ) {
+ Error( "Error writing checksum to %s", aas );
+ }
+ fclose( file );
+ }
+
+ /* return to sender */
+ return 0;
+}
}
}
-/*
- MD4BlockChecksum()
- calculates an md4 checksum for a block of data
- */
-
-static int MD4BlockChecksum( void *buffer, int length ){
- return Com_BlockChecksum( buffer, length );
-}
-
-/*
- FixAAS()
- resets an aas checksum to match the given BSP
- */
-
-int FixAAS( int argc, char **argv ){
- int length, checksum;
- void *buffer;
- FILE *file;
- char aas[ 1024 ], **ext;
- char *exts[] =
- {
- ".aas",
- "_b0.aas",
- "_b1.aas",
- NULL
- };
-
-
- /* arg checking */
- if ( argc < 2 ) {
- Sys_Printf( "Usage: q3map -fixaas [-v] <mapname>\n" );
- return 0;
- }
-
- /* do some path mangling */
- strcpy( source, ExpandArg( argv[ argc - 1 ] ) );
- StripExtension( source );
- DefaultExtension( source, ".bsp" );
-
- /* note it */
- Sys_Printf( "--- FixAAS ---\n" );
-
- /* load the bsp */
- Sys_Printf( "Loading %s\n", source );
- length = LoadFile( source, &buffer );
-
- /* create bsp checksum */
- Sys_Printf( "Creating checksum...\n" );
- checksum = LittleLong( MD4BlockChecksum( buffer, length ) );
-
- /* write checksum to aas */
- ext = exts;
- while ( *ext )
- {
- /* mangle name */
- strcpy( aas, source );
- StripExtension( aas );
- strcat( aas, *ext );
- Sys_Printf( "Trying %s\n", aas );
- ext++;
-
- /* fix it */
- file = fopen( aas, "r+b" );
- if ( !file ) {
- continue;
- }
- if ( fwrite( &checksum, 4, 1, file ) != 1 ) {
- Error( "Error writing checksum to %s", aas );
- }
- fclose( file );
- }
-
- /* return to sender */
- return 0;
-}
-
/*
main()
q3map mojo...
/* fixaas */
if ( !strcmp( argv[ 1 ], "-fixaas" ) ) {
- r = FixAAS( argc - 1, argv + 1 );
+ r = FixAASMain( argc - 1, argv + 1 );
}
/* analyze */