I finished the cache file system classes to be used for reading the cache and the update protocol. I also added object definitions loading from the cache (landscape files, npc's etc will be next), although I still need to refactor some variables in the object definition class.
I'll clean up the framework a bit, add some documentation for the new classes and upload the latest revision after that. I thought maybe it would be nice to show some object definitions:
Code:
ID: 42134 NAME: Burning tree IS_WALKABLE: true
ID: 42135 NAME: Burning tree IS_WALKABLE: true
ID: 42136 NAME: A burnt tree IS_WALKABLE: true
ID: 42137 NAME: A burnt tree IS_WALKABLE: true
ID: 42138 NAME: Crate IS_WALKABLE: false
ID: 42139 NAME: Crate IS_WALKABLE: false
ID: 42140 NAME: Crate IS_WALKABLE: true
ID: 42141 NAME: Crate IS_WALKABLE: true
ID: 42142 NAME: Barrel of swords IS_WALKABLE: false
ID: 42143 NAME: Barrel of swords IS_WALKABLE: false
ID: 42144 NAME: Barrel IS_WALKABLE: false
ID: 42145 NAME: Barrel IS_WALKABLE: false
ID: 42146 NAME: Weapon rack IS_WALKABLE: true
ID: 42147 NAME: Weapon rack IS_WALKABLE: true
ID: 42148 NAME: Torch IS_WALKABLE: true
ID: 42149 NAME: Torch IS_WALKABLE: true
ID: 42150 NAME: IS_WALKABLE: false
ID: 42151 NAME: IS_WALKABLE: false
ID: 42152 NAME: IS_WALKABLE: false
ID: 42153 NAME: IS_WALKABLE: false
ID: 42154 NAME: IS_WALKABLE: false
ID: 42155 NAME: IS_WALKABLE: false
ID: 42156 NAME: IS_WALKABLE: false
ID: 42157 NAME: IS_WALKABLE: false
ID: 42158 NAME: IS_WALKABLE: false
ID: 42159 NAME: IS_WALKABLE: false
ID: 42160 NAME: IS_WALKABLE: false
ID: 42161 NAME: IS_WALKABLE: false
ID: 42162 NAME: IS_WALKABLE: false
ID: 42163 NAME: IS_WALKABLE: false
ID: 42164 NAME: IS_WALKABLE: false
ID: 42165 NAME: IS_WALKABLE: false
ID: 42166 NAME: IS_WALKABLE: false
ID: 42167 NAME: IS_WALKABLE: false
ID: 42168 NAME: IS_WALKABLE: false
ID: 42169 NAME: IS_WALKABLE: true
ID: 42170 NAME: IS_WALKABLE: true
ID: 42171 NAME: IS_WALKABLE: true
ID: 42172 NAME: IS_WALKABLE: true
ID: 42173 NAME: IS_WALKABLE: true
ID: 42174 NAME: IS_WALKABLE: true
ID: 42175 NAME: IS_WALKABLE: true
ID: 42176 NAME: IS_WALKABLE: true
ID: 42177 NAME: IS_WALKABLE: true
ID: 42178 NAME: IS_WALKABLE: true
ID: 42179 NAME: IS_WALKABLE: true
ID: 42180 NAME: IS_WALKABLE: true
ID: 42181 NAME: IS_WALKABLE: true
ID: 42182 NAME: IS_WALKABLE: true
ID: 42183 NAME: IS_WALKABLE: true
ID: 42184 NAME: IS_WALKABLE: true
ID: 42185 NAME: IS_WALKABLE: true
ID: 42186 NAME: IS_WALKABLE: true
ID: 42187 NAME: IS_WALKABLE: true
ID: 42188 NAME: IS_WALKABLE: true
ID: 42189 NAME: IS_WALKABLE: true
ID: 42190 NAME: IS_WALKABLE: true
ID: 42191 NAME: Tent IS_WALKABLE: true
ID: 42192 NAME: Bank chest IS_WALKABLE: true
ID: 42193 NAME: Crate IS_WALKABLE: false
ID: 42194 NAME: Crate IS_WALKABLE: true
ID: 42195 NAME: Barrel IS_WALKABLE: false
ID: 42196 NAME: IS_WALKABLE: false
ID: 42197 NAME: IS_WALKABLE: false
ID: 42198 NAME: IS_WALKABLE: false
ID: 42199 NAME: IS_WALKABLE: false
ID: 42200 NAME: IS_WALKABLE: false
ID: 42201 NAME: IS_WALKABLE: false
ID: 42202 NAME: IS_WALKABLE: false
ID: 42203 NAME: IS_WALKABLE: false
ID: 42204 NAME: IS_WALKABLE: false
ID: 42205 NAME: IS_WALKABLE: false
ID: 42206 NAME: IS_WALKABLE: false
ID: 42207 NAME: IS_WALKABLE: false
ID: 42208 NAME: IS_WALKABLE: false
ID: 42209 NAME: IS_WALKABLE: false
ID: 42210 NAME: IS_WALKABLE: false
ID: 42211 NAME: IS_WALKABLE: false
ID: 42212 NAME: IS_WALKABLE: false
ID: 42213 NAME: IS_WALKABLE: true
ID: 42214 NAME: IS_WALKABLE: true
ID: 42215 NAME: IS_WALKABLE: true
ID: 42216 NAME: IS_WALKABLE: true
ID: 42217 NAME: IS_WALKABLE: true
ID: 42218 NAME: IS_WALKABLE: true
ID: 42219 NAME: Soul Wars portal IS_WALKABLE: true
ID: 42220 NAME: Edgeville portal IS_WALKABLE: true
ID: 42221 NAME: IS_WALKABLE: true
ID: 42222 NAME: IS_WALKABLE: false
ID: 42223 NAME: IS_WALKABLE: true
ID: 42224 NAME: IS_WALKABLE: true
ID: 42225 NAME: IS_WALKABLE: true
ID: 42226 NAME: IS_WALKABLE: false
ID: 42227 NAME: IS_WALKABLE: false
ID: 42228 NAME: IS_WALKABLE: true
ID: 42229 NAME: IS_WALKABLE: true
ID: 42230 NAME: IS_WALKABLE: true
ID: 42231 NAME: IS_WALKABLE: true
ID: 42232 NAME: IS_WALKABLE: false
ID: 42233 NAME: IS_WALKABLE: false
ID: 42234 NAME: IS_WALKABLE: true
ID: 42235 NAME: IS_WALKABLE: true
ID: 42236 NAME: IS_WALKABLE: true
ID: 42237 NAME: IS_WALKABLE: true
ID: 42238 NAME: IS_WALKABLE: true
ID: 42239 NAME: IS_WALKABLE: true
ID: 42240 NAME: IS_WALKABLE: true
ID: 42241 NAME: IS_WALKABLE: true
ID: 42242 NAME: IS_WALKABLE: true
ID: 42243 NAME: IS_WALKABLE: true
ID: 42244 NAME: IS_WALKABLE: true
ID: 42245 NAME: IS_WALKABLE: true
ID: 42246 NAME: IS_WALKABLE: true
ID: 42247 NAME: IS_WALKABLE: true
ID: 42248 NAME: IS_WALKABLE: true
ID: 42249 NAME: IS_WALKABLE: true
ID: 42250 NAME: IS_WALKABLE: true
ID: 42251 NAME: IS_WALKABLE: true
ID: 42252 NAME: IS_WALKABLE: true
ID: 42253 NAME: IS_WALKABLE: true
ID: 42254 NAME: IS_WALKABLE: true
ID: 42255 NAME: IS_WALKABLE: true
ID: 42256 NAME: IS_WALKABLE: true
ID: 42257 NAME: IS_WALKABLE: true
ID: 42258 NAME: IS_WALKABLE: true
ID: 42259 NAME: IS_WALKABLE: true
ID: 42260 NAME: IS_WALKABLE: true
ID: 42261 NAME: IS_WALKABLE: true
ID: 42262 NAME: IS_WALKABLE: true
ID: 42263 NAME: IS_WALKABLE: true
ID: 42264 NAME: IS_WALKABLE: true
ID: 42265 NAME: IS_WALKABLE: true
ID: 42266 NAME: IS_WALKABLE: true
ID: 42267 NAME: IS_WALKABLE: true
ID: 42268 NAME: IS_WALKABLE: true
ID: 42269 NAME: IS_WALKABLE: true
ID: 42270 NAME: IS_WALKABLE: true
ID: 42271 NAME: IS_WALKABLE: true
ID: 42272 NAME: IS_WALKABLE: true
ID: 42273 NAME: IS_WALKABLE: true
ID: 42274 NAME: Soul obelisk IS_WALKABLE: true
ID: 42275 NAME: Soul obelisk IS_WALKABLE: true
ID: 42276 NAME: Blue barrier IS_WALKABLE: true
ID: 42277 NAME: Red barrier IS_WALKABLE: true
ID: 42278 NAME: Portal IS_WALKABLE: true
ID: 42279 NAME: Portal IS_WALKABLE: true
ID: 42280 NAME: Bandage table IS_WALKABLE: false
ID: 42281 NAME: Barricade table IS_WALKABLE: false
ID: 42282 NAME: Potion table IS_WALKABLE: false
ID: 42283 NAME: IS_WALKABLE: false
ID: 42284 NAME: Soul fragment IS_WALKABLE: false
ID: 42285 NAME: Barricade IS_WALKABLE: true
ID: 42286 NAME: Barricade IS_WALKABLE: true
ID: 42287 NAME: Barricade IS_WALKABLE: true
ID: 42288 NAME: Barricade IS_WALKABLE: true
ID: 42289 NAME: Barricade IS_WALKABLE: true
ID: 42290 NAME: Barricade IS_WALKABLE: true
ID: 42291 NAME: IS_WALKABLE: false
ID: 42292 NAME: IS_WALKABLE: false
ID: 42293 NAME: IS_WALKABLE: false
ID: 42294 NAME: IS_WALKABLE: false
ID: 42295 NAME: IS_WALKABLE: false
ID: 42296 NAME: IS_WALKABLE: false
ID: 42297 NAME: IS_WALKABLE: false
ID: 42298 NAME: IS_WALKABLE: false
ID: 42299 NAME: IS_WALKABLE: false
ID: 42300 NAME: IS_WALKABLE: false
ID: 42301 NAME: IS_WALKABLE: false
ID: 42302 NAME: IS_WALKABLE: false
ID: 42303 NAME: Slimy tree IS_WALKABLE: true
ID: 42304 NAME: Slimy tree IS_WALKABLE: true
ID: 42305 NAME: IS_WALKABLE: true
ID: 42306 NAME: IS_WALKABLE: true
ID: 42307 NAME: IS_WALKABLE: true
ID: 42308 NAME: IS_WALKABLE: true
ID: 42309 NAME: IS_WALKABLE: true
ID: 42310 NAME: IS_WALKABLE: true
ID: 42311 NAME: IS_WALKABLE: true
ID: 42312 NAME: IS_WALKABLE: true
ID: 42313 NAME: IS_WALKABLE: true
ID: 42314 NAME: IS_WALKABLE: true
ID: 42315 NAME: IS_WALKABLE: true
ID: 42316 NAME: IS_WALKABLE: true
ID: 42317 NAME: IS_WALKABLE: true
ID: 42318 NAME: IS_WALKABLE: true
ID: 42319 NAME: IS_WALKABLE: true
ID: 42320 NAME: IS_WALKABLE: true
ID: 42321 NAME: IS_WALKABLE: true
ID: 42322 NAME: IS_WALKABLE: true
ID: 42323 NAME: IS_WALKABLE: true
ID: 42324 NAME: IS_WALKABLE: true
ID: 42325 NAME: IS_WALKABLE: true
ID: 42326 NAME: IS_WALKABLE: true
ID: 42327 NAME: IS_WALKABLE: true
ID: 42328 NAME: IS_WALKABLE: true
ID: 42329 NAME: IS_WALKABLE: true
ID: 42330 NAME: IS_WALKABLE: true
ID: 42331 NAME: IS_WALKABLE: true
ID: 42332 NAME: IS_WALKABLE: true
ID: 42333 NAME: IS_WALKABLE: true
ID: 42334 NAME: IS_WALKABLE: true
ID: 42335 NAME: IS_WALKABLE: true
ID: 42336 NAME: IS_WALKABLE: true
ID: 42337 NAME: Chest IS_WALKABLE: true
ID: 42338 NAME: Chest IS_WALKABLE: true
ID: 42339 NAME: IS_WALKABLE: true
ID: 42340 NAME: IS_WALKABLE: true
ID: 42341 NAME: IS_WALKABLE: true
ID: 42342 NAME: IS_WALKABLE: true
ID: 42343 NAME: IS_WALKABLE: true
ID: 42344 NAME: Larder IS_WALKABLE: true
ID: 42345 NAME: Range IS_WALKABLE: true
ID: 42346 NAME: Table IS_WALKABLE: true
ID: 42347 NAME: IS_WALKABLE: true
ID: 42348 NAME: IS_WALKABLE: true
ID: 42349 NAME: Cooking pots IS_WALKABLE: true
ID: 42350 NAME: Fireplace IS_WALKABLE: true
ID: 42351 NAME: IS_WALKABLE: false
ID: 42352 NAME: Book IS_WALKABLE: false
ID: 42353 NAME: Book IS_WALKABLE: false
ID: 42354 NAME: Books IS_WALKABLE: false
ID: 42355 NAME: Books IS_WALKABLE: false
ID: 42356 NAME: Scrolls IS_WALKABLE: false
ID: 42357 NAME: Drawers IS_WALKABLE: false
ID: 42358 NAME: Drawers IS_WALKABLE: false
ID: 42359 NAME: IS_WALKABLE: true
ID: 42360 NAME: IS_WALKABLE: true
ID: 42361 NAME: Notice board IS_WALKABLE: true
ID: 42362 NAME: IS_WALKABLE: true
ID: 42363 NAME: IS_WALKABLE: true
ID: 42364 NAME: IS_WALKABLE: true
ID: 42365 NAME: IS_WALKABLE: true
ID: 42366 NAME: Rocks IS_WALKABLE: false
ID: 42367 NAME: Skeleton IS_WALKABLE: false
ID: 42368 NAME: Skeleton IS_WALKABLE: false
ID: 42369 NAME: Skeleton IS_WALKABLE: false
ID: 42370 NAME: IS_WALKABLE: true
ID: 42371 NAME: IS_WALKABLE: true