Online, the main reason for lag is network latency. If the host's machine has very high ping with your own, then it can result a second or two of input delay. Offline, however, the main reason for input latency is due to a very high amount of objects on the map. Objects include all actors and props, including static map props, resources, units, etc. The game engine is from 2002 after all, and once you reach a certain point, it has to slow down significantly to calculate how each individual unit must move each tick, and also process player orders for each of the units should they have one, and so on and so forth. Just remember that this game has a unit limit for a reason!
If instead you are talking about frame lag, then again the main reason is because of the outdated code the game runs on. This game was written at a time where the more advanced hardware was probably a single core processor with some integrated GPU or something. This bottlenecks the game severly and the only way you're really going to change this is to rewrite the game's rendering engine within the source code. Or alternatively, if you're simply referring to the framerate, then it is usually locked at 30-50 FPS intentionally, although you can try and remove this cap if you so choose with
this mod of mine.
As for the problem with the mini-map, unfortunately something within the injected code itself is broken. Remember that the game didn't originally have studio code in it at all, and most of the legwork is being injected from Dark Reign 2, so some compatibility issues are going to occur until fixed. Otherwise, the FOV reticle still renders at least, so you can use that to determine the position of the camera relative to the map and find the map center from there. Alternatively, you could just edit a prop directly through objects.cfg to give it the exact coordinates of the center.
Code: Select all
CreateObject("attic.prop.fort_intersect", 3)
{
MapObj()
{
HitPoints(0.000000);
Position()
{
Pos(609.000000, 10.000000, 609.000000); // exactly half your map's size. (i.e. Doubles is 1216 so half is 609.)
Right(0.000000, 0.000000, 1.000000);
Up(0.000000, 1.000000, 0.000000);
Front(-1.000000, 0.000000, 0.000000);
}
Zip();
}
}