comparison main.d @ 7:2217fd1fe384

added angular and linear velocity limit
author zzzzrrr <mason.green@gmail.com>
date Sat, 21 Mar 2009 19:34:20 -0400
parents 6f455ef24063
children 4ee9e4a0c03b
comparison
equal deleted inserted replaced
6:eb6059f7035a 7:2217fd1fe384
27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 module openmelee.main; 30 module openmelee.main;
31 31
32 import tango.io.Stdout : Stdout;
33
34 version(distrib) import tango.io.vfs.ZipFolder; 32 version(distrib) import tango.io.vfs.ZipFolder;
35 import tango.time.StopWatch; 33 import tango.time.StopWatch;
36 import fc = tango.text.convert.Float : toString; 34 import fc = tango.text.convert.Float : toString;
37 import tango.util.log.Trace; 35 import tango.util.log.Trace;
38 import tango.math.Math; 36 import tango.math.Math;
39 37
40 import xf.core.JobHub; 38 import xf.core.JobHub;
41 import xf.hybrid.Hybrid; 39 import xf.hybrid.Hybrid;
42 import xf.hybrid.backend.GL; 40 import xf.hybrid.backend.GL;
43 import xf.omg.core.LinearAlgebra; 41 import xf.omg.core.LinearAlgebra;
42
43 import blaze.common.bzMath: bzVec2;
44 44
45 import openmelee.melee; 45 import openmelee.melee;
46 import openmelee.render; 46 import openmelee.render;
47 47
48 const ITERS_PER_SECOND = 60; 48 const ITERS_PER_SECOND = 60;
77 }, ITERS_PER_SECOND); 77 }, ITERS_PER_SECOND);
78 78
79 bool running = true; 79 bool running = true;
80 80
81 jobHub.addPreFrameJob( { 81 jobHub.addPreFrameJob( {
82 82 bzVec2 velocity = whut.ship1.rBody.linearVelocity;
83 whut.ship1.limitVelocity();
83 }); 84 });
84 85
85 jobHub.addPostFrameJob( { 86 jobHub.addPostFrameJob( {
86 gui.begin(cfg); 87 gui.begin(cfg);
87 gui.push(`main`); 88 gui.push(`main`);
102 { 103 {
103 vec2 p1 = vec2.from(whut.ship1.rBody.position); 104 vec2 p1 = vec2.from(whut.ship1.rBody.position);
104 vec2 p2 = vec2.from(whut.ship2.rBody.position); 105 vec2 p2 = vec2.from(whut.ship2.rBody.position);
105 vec2 distance = p1 - p2; 106 vec2 distance = p1 - p2;
106 float d = distance.length; 107 float d = distance.length;
107 whut.zoom = bzClamp(1/d*1000, 10, 50); 108 whut.zoom = bzClamp(1/d*1000, 5, 50);
108 whut.viewCenter = p1 - (distance * 0.5f); 109 whut.viewCenter = p1 - (distance * 0.5f);
109 } 110 }
110 111
111 }); 112 });
112 113