Mercurial > projects > openmelee
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 |