Overview
Comment: | Fix a bug in writing message numbers into CLASS.DEF lump |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
a0a2d667be0382d042b9f01fdb206d08 |
User & Date: | user on 2021-06-25 04:17:29 |
Other Links: | manifest | tags |
Context
2021-06-27
| ||
07:23 | If level number specified on command-line exceeds maximum, use maximum level number instead. check-in: 0da277ed18 user: user tags: trunk | |
2021-06-25
| ||
04:17 | Fix a bug in writing message numbers into CLASS.DEF lump check-in: a0a2d667be user: user tags: trunk | |
2021-06-24
| ||
21:25 | Add and implement the Trigger and TriggerAt instructions. check-in: f36f18a600 user: user tags: trunk | |
Changes
Modified class.c from [8f8b65d78b] to [ca10f29396].
︙ | ︙ | |||
2074 2075 2076 2077 2078 2079 2080 | 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; | | | | 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); |
︙ | ︙ |
Modified edit.c from [cff0e2cf25] to [a68bdbab0e].
︙ | ︙ | |||
75 76 77 78 79 80 81 | sqlite3_str_appendchar(s,1,i>>8); sqlite3_str_appendall(s,classes[i]->name); sqlite3_str_appendchar(s,1,0); } sqlite3_str_appendchar(s,2,0); for(i=0;i<0x4000;i++) if(mu[i/8]&(1<<(i&7))) { sqlite3_str_appendchar(s,1,i&255); | | | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | sqlite3_str_appendchar(s,1,i>>8); sqlite3_str_appendall(s,classes[i]->name); sqlite3_str_appendchar(s,1,0); } sqlite3_str_appendchar(s,2,0); for(i=0;i<0x4000;i++) if(mu[i/8]&(1<<(i&7))) { sqlite3_str_appendchar(s,1,i&255); sqlite3_str_appendchar(s,1,(i+256)>>8); sqlite3_str_appendall(s,messages[i]); sqlite3_str_appendchar(s,1,0); } // End of data size=sqlite3_str_length(s); data=sqlite3_str_finish(s); if(!size || !data) fatal("Error in string builder\n"); |
︙ | ︙ |