HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

The map border considered harmful

09-25-2006, 10:05 PM#1
Vexorian
I am probably mocking Dijkstra but still. The map border is dangerous, stay away from the border! I mean it.

I found out that it is very easy to screw the handle indexes if you create or move units to the map 's border. Specially if SetUnitX/Y natives are involved.

I think that the best thing is simply to let the map's border be away of the gameplay.

You can just use bigger camera bounds (2 tiles per side is enough) and then simply use boundary.

In my case I am gonna make the default border offset for CS_MoveUnit 256, so maps will require to mantain at least 2 tiles of distance from the border as a requirement to use the caster system.
09-25-2006, 10:23 PM#2
PipeDream
What do you mean screw with? Are there no visible effects? And ha, ha.
09-26-2006, 01:05 PM#3
Vexorian
I think it is more about SetUnitX and SetUnitY, I thought that 128 was enough of an offset but it seems that it must be at least 256. And what happens is that when you create handle it gets the index of a living handle, like the DestroyTrigger bug or the timer set to null bug
09-26-2006, 01:11 PM#4
blu_da_noob
Waaait. So if you move a unit too close to the map border with SetUnitX/Y, the handle id gets recycled and is used by other handles? O.O?
09-26-2006, 01:47 PM#5
Vexorian
wait!

CS_RectLimitOffset in hydra/ragingcharge map: (cs 13.2) : 128.0

CS_RectLimitOffset in newest caster system: 50.0

It seems that the problem is a little more bizarre than I thought let me see
09-26-2006, 03:40 PM#6
grupoapunte
Yeah map crashes if units get to close to the border, i had that problem in a map, i found it cuz once it crashed for me, the solution is simply increase the map size (if you can)
09-27-2006, 02:32 AM#7
Azazel_
I agree, map borders are evil. It's the twisting nether!
09-28-2006, 08:49 AM#8
Toadcop
i think it's crap... or simple make a test move unit to the border and check it's handle index (pereiodicaly) and create new object's (timers) and check it's handles ! if they will be the same you are right ! and i mean the handle of unit and timer must be the same !