please .. don't beat me up over details 

  i got all that from going thru the (4kB) "source" with a disassambler.  The inline GetRand functions have (in the dll code) been declared as temporary variables, so i thought you did this, but i guess MSVC did that for some reason. 
The map_id: sorry.. it slipped my mind. They 
ARE just DWORDS - so it doesn't really matter much if they're declared as ints or enums. Basicly an enum = int
One thing i still don't get: WHY does it create "unnatural" tanks ?!  How come a mapLynx with a mapRPG turns out as a dual-turret.. anyone who can shed some light on that ?
BTW: don't know if u noticed, but it took me 20 mins to decode your source of only a few lines. I've seen a "request" 
somewhere on the forums for being able to get the c-source of the original dll's -> it 
IS possible 

 i just need lots of time; and (as you've indicated) it's not 100% acurate .. i DO make mistakes..