Map Size Limit

Map Size Limit

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
10053r
Posts: 297
Joined: 28 Feb 2005, 19:19

Map Size Limit

Post by 10053r »

What are the primary constraints to map size? Why was the current 8192 x 8192 limit chosen? I'm told this corresponds approximately to 16 x 16 in OTA, and this makes for some serious gameplay limits (I prefer to play on maps where bases are out of LRPC range of each other).

Basically, what I'm asking is, how much coding will I have to do to up the limit to 51200 x 51200, or even INT_MAX? (This has the implicit assumption that mapsize is being kept as an int, which might not be true, and leads me to my next question...)

Also, what bits of code should I look at if I am interested in changing this? While I'm at it, I wouldn't mind removing the limitation that maps must be square...
Sean Mirrsen
Posts: 578
Joined: 19 Aug 2004, 17:38

Post by Sean Mirrsen »

On the included "map4" map the two islands are out of LRPC range. On the flooded desert (called painted desert for some reason) map, opposite corners of the map are out of LRPC range. Unless you manually shoot further than they can, of course. Or the wind blows your projectile forward.
10053r
Posts: 297
Joined: 28 Feb 2005, 19:19

Post by 10053r »

On the included "map4" map the two islands are out of LRPC range. On the flooded desert (called painted desert for some reason) map, opposite corners of the map are out of LRPC range. Unless you manually shoot further than they can, of course. Or the wind blows your projectile forward.
Great! However, I'm still interested in making maps that are 40 x 40 in OTA terms, and even larger. I think Real Earth was my favorite map ever, and it just wont work in spring if the sizes are limited to 8192 x 8192. Where in the code does it say 8192, and why was that number chosen?
SJ
Posts: 618
Joined: 13 Aug 2004, 17:13

Post by SJ »

The primary hinder for bigger maps are CBFReadmap::shadowTex and CBaseGroundDrawer::infoTex both which is defined as 1024*1024 textures. If you make those grow you can have bigger maps. However you cant rely on ARB_texture_non_power_of_two since at least my drivers seem to crash a lot when using that together with glTexSubImage2D.
Post Reply

Return to “Engine”