> You mean replace 'sh_int vnum' in merc.h?
>
> As for '%ld', no, you don't have to do that. The %l is for 'long' ints,
> not regular ones. (With most x86 compilers, 'long' is exactly the same
> as 'int': 32 bits, but you need the %l to make the compiler not whine
> about it... but that's another story, because you don't need to change
> the vnum to be a long: an int will suffice unless you're on an
> architecture that supports 64-bit longs and for some ungodly reason you
> need vnums that hugs...)
>
> The only other place I see it mattering is in db.c and db2.c
There are a few problems like this:
room = get_room_index( number_range( 0, 65535 ) );
That 2^16 should be changed to 2^32..
Though that could cause get_random_room to take an eternity. So you might
want to rewrite that function entirely (get a random number between 0 and
top_room and go that far through the lists).
I thought it might cause a significant memory hit, but after compiling with 32
bit sh_int on stock rom it's actually barely noticable.