16 #if (defined (__APPLE__) == POSH_BIG_ENDIAN) || !defined (INTEL_X86)
26 unsigned short file_len = 0, weap_len = 0;
30 memcpy( &wi, netbuf+offset,
sizeof (wi) );
31 offset +=
sizeof (wi);
32 memcpy( &file_len, netbuf+offset,
sizeof (file_len) );
33 offset +=
sizeof (file_len);
35 char *filename =
new char[file_len];
36 memcpy( filename, netbuf, file_len );
38 memcpy( &weap_len, netbuf+offset,
sizeof (weap_len) );
39 offset +=
sizeof (weap_len);
41 char *weapname =
new char[weap_len];
42 memcpy( weapname, netbuf, weap_len );
43 wi.
file = string( filename );
54 netbuf =
new char[bufsize+1];
58 unsigned short file_len = wi.
file.length();
60 char *
file =
new char[file_len+1];
61 char *weapon_name =
new char[weap_len+1];
65 weapon_name[weap_len] = 0;
68 memcpy( netbuf+offset, &wi,
sizeof (wi) );
69 offset +=
sizeof (wi);
71 memcpy( netbuf+offset, &file_len,
sizeof (file_len) );
72 offset +=
sizeof (file_len);
74 memcpy( netbuf+offset, file, file_len );
77 memcpy( netbuf+offset, &weap_len,
sizeof (weap_len) );
78 offset +=
sizeof (weap_len);
80 memcpy( netbuf+offset, weapon_name, weap_len );
228 beginElement( userData, (
const XML_Char*) name, (
const XML_Char**) atts );
231 #define color_step (49)
233 #define Gamma_Needed( gamma, count, depth ) \
236 ( count/(100*depth*gamma) ) \
237 %( (6*(color_step*100+depth)/gamma-1)/3 ) \
242 void beginElement(
void *userData,
const char *name,
const char **atts )
245 static bool adj_gun_speed =
247 static float gun_speed =
257 AttributeList::const_iterator iter;
289 for (iter = attributes.begin(); iter != attributes.end(); iter++) {
317 for (iter = attributes.begin(); iter != attributes.end(); iter++) {
370 for (iter = attributes.begin(); iter != attributes.end(); iter++) {
398 static float damagemodifier =
401 for (iter = attributes.begin(); iter != attributes.end(); iter++) {
433 for (iter = attributes.begin(); iter != attributes.end(); iter++) {
522 using namespace BeamXML;
523 using namespace VSFileSystem;
546 using namespace VSFileSystem;
551 XML_Parser parser = XML_ParserCreate( NULL );
553 XML_Parse( parser, (
f.ReadFull() ).c_str(),
f.Size(), 1 );
555 XML_ParserFree( parser );
560 unsigned int len = weapon_name.length();
561 if (
g_game.
difficulty > .98 || len < 9 || weapon_name[len-8] !=
'C' || weapon_name[len-9] !=
'_' || weapon_name[len-7]
562 !=
'o' || weapon_name[len-6] !=
'm' || weapon_name[len-5] !=
'p' || weapon_name[len-4] !=
'u' || weapon_name[len-3]
563 !=
't' || weapon_name[len-2] !=
'e' || weapon_name[len-1] !=
'r')