2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
|
long size=0;
unsigned char*data=read_lump(FIL_LEVEL,LUMP_CLASS_DEF,&size);
unsigned char*p;
if(!data) return;
for(i=0;i<size-3;) {
n=data[i]|(data[i+1]<<8);
if(!n) break;
if(n>=0x4000) fatal("Malformed CLASS.DEF lump\n");
i+=2;
p=data+i;
while(i<size && data[i++]);
if(i==size && data[i-1]) fatal("Malformed CLASS.DEF lump\n");
initialize_class(n,CF_NOCLASS2,p);
}
i+=2;
for(;i<size-3;) {
n=data[i]|(data[i+1]<<8);
if(n<256 || n>=0x4100) fatal("Malformed CLASS.DEF lump\n");
n-=256;
i+=2;
p=data+i;
while(i<size && data[i++]);
if(i==size && data[i-1]) fatal("Malformed CLASS.DEF lump\n");
if(messages[n]) fatal("Duplicate message number %d\n",n+256);
messages[n]=strdup(p);
|
|
|
|
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
|
long size=0;
unsigned char*data=read_lump(FIL_LEVEL,LUMP_CLASS_DEF,&size);
unsigned char*p;
if(!data) return;
for(i=0;i<size-3;) {
n=data[i]|(data[i+1]<<8);
if(!n) break;
if(n>=0x4000) fatal("Malformed CLASS.DEF lump (invalid class number %d)\n",n);
i+=2;
p=data+i;
while(i<size && data[i++]);
if(i==size && data[i-1]) fatal("Malformed CLASS.DEF lump\n");
initialize_class(n,CF_NOCLASS2,p);
}
i+=2;
for(;i<size-3;) {
n=data[i]|(data[i+1]<<8);
if(n<256 || n>=0x4100) fatal("Malformed CLASS.DEF lump (invalid message number %d)\n",n);
n-=256;
i+=2;
p=data+i;
while(i<size && data[i++]);
if(i==size && data[i-1]) fatal("Malformed CLASS.DEF lump\n");
if(messages[n]) fatal("Duplicate message number %d\n",n+256);
messages[n]=strdup(p);
|