Maes
I like big butts!

Posts: 8664
Registered: 07-06 |
wesleyjohnson said:
Got DoomLegacy to play Europe.wad last year.
The Europe.wad blockmap overruns its index numbers 3 times, so your solution is going to fail. That was the first thing I tried too, and it looked good for a while.
Hmm. I did walk through the map a bit (mostly start area, big open area, tube station, and final city) and had no problems with collision detection (although there were some pickup problems in the big open area).
Don't forget that since I'm running in a managed environment, if a rogue/clipped blockmap offset takes me anywhere else than a valid blockchain, it crashes very soon with an overflow, so that hack worked fine at least for those areas. That's both Mochadoom's blessing and curse. But the map is pretty big, and I didn't really try it block-by-block, so it might very well break in some other area. What surprised me was that vanilla-format savegames still worked with that map (although they grew nearly 850KB in size).
From what everybody says however, it seems the sanest thing to do is rebuild the blockmap myself. Well, gonna borrow some Boom code for that, and internally I was already using a wider pointer table for blockmap links anyway (ints) ;-)
It's surprising that map even worked....and even more surprising that it's still classed as a doom2 (non-limit removing) map: first of all it won't play in vanilla due to an unknown object (Thing id 32000, 3D mode start point), and then come all the broken blockmap problems. That should be Boom-only.
Quasar said:
MBF would rebuild the blockmap however only if it was out-of-whack in terms of size - in particular, if it was 0 bytes or if it was larger than 64 KB. Wads like this one are exactly why Lee coded it that way - blockmaps larger than 64K will have wrapping indices.
Just a bit anal about semantics here -you mean "64K shorts" right? Or 128 good old KBytes. What wesleyjohnson said -assuming that indices that wrap around, perhaps multiple times, are always sequential is also too strong of an assumption to make, especially if the blockmap has been generated with compression on or manually tweaked.
Last edited by Maes on 06-19-11 at 12:57
|