Commit Graph

184 Commits

Author SHA1 Message Date
Matthias Richter
f080a9c14a [Gamestate] Remove __index metamethod for new gamestates (world of pain) 2013-01-27 11:43:39 +01:00
Matthias Richter
d22749990d Allow arbitraty gamestate callbacks 2013-01-26 12:56:59 +01:00
Matthias Richter
bf862c9b40 Issue 9: Add camera:zoom[To]() 2012-11-01 18:59:08 +01:00
Matthias Richter
9b6aba60dd Add camera:lookAt(x,y). Augment camera:rotation([phi]). 2012-10-07 13:24:28 +02:00
Matthias Richter
914ee08202 Return GS callback result (for love.quit(), etc) 2012-10-06 09:46:36 +02:00
Matthias Richter
b02273c936 timer.lua: Add do_for(). Remove Interpolator, Oscillator. 2012-10-02 18:28:22 +02:00
Matthias Richter
0f29310dcf Remove camera dependencies. Add pos + rotation getter.
hump.camera is not independent of hump.vector-light.
camera:pos() returns the camera position.
camera:rotation() returns the camera rotation.
2012-09-10 10:38:24 +02:00
Matthias Richter
7f92f2c4f1 brief(er) vector factory 2012-06-12 12:58:33 +02:00
Matthias Richter
f78bfa3ca8 Make normalisation in hump.vector-light consistent with hump.vector 2012-05-19 01:36:10 +02:00
Matthias Richter
4f03a71f59 Code cleanup 2012-05-19 01:34:56 +02:00
vrld
b259e75208 Merge pull request #5 from am0d/master
Fixes divide-by-zero error in vector:normalize() and vector:normalize_inplace()
2012-05-18 16:29:47 -07:00
Matthias Richter
b12f02fb16 Add hump.signal 2012-05-16 15:11:03 +02:00
Matthias Richter
7aa3073037 Add individual timer support (as requested by mofr) 2012-05-08 17:34:41 +02:00
a_m0d
1c683f50a4 Fix divide-by-zero error in vector:normalize()
and vector:normalize_in_place()
2012-04-18 22:57:47 -04:00
Matthias Richter
006f040a8b update readme 2012-04-12 16:10:28 +02:00
Matthias Richter
78308d9aab Include add/sub again 2012-04-12 16:08:36 +02:00
Matthias Richter
ca7977d7da Make hump.camera use vector-light 2012-04-10 17:32:01 +02:00
Matthias Richter
4441aa7e1b Add light vector module 2012-04-10 17:00:15 +02:00
Matthias Richter
adcceed73b Update license header 2012-04-10 17:00:02 +02:00
Matthias Richter
42c3b9b47e Make Timer.add[Periodic]() return timer handle. Export Timer.handle 2012-03-31 15:05:07 +02:00
Matthias Richter
7c257c891d Implement issue #4: Ability to cancel specific timers 2012-03-31 14:31:43 +02:00
Matthias Richter
9d76e4d020 Remove name inference in class.lua. 2012-03-31 14:27:24 +02:00
Matthias Richter
f5adba2cb8 Camera to require vector in any case.
Before custom vector classes named Vector or vector could override hump
vector class. This feature may result in confusing bugs, so it should
better be removed.
2012-02-17 21:13:18 +01:00
Matthias Richter
3957c73548 Fix wrong variable name in vector:mirrorOn() (thanks, Dani Ka!) 2012-02-17 21:12:41 +01:00
Matthias Richter
1bdeb7ef4a Avoid unnecessary creation of vector objects 2012-01-21 23:35:31 +01:00
Matthias Richter
99ece87eb6 Metatable magic in gamestate 2011-11-19 20:41:43 +01:00
Matthias Richter
cd3df0c49f Camera: More intuitive functions names 2011-11-16 13:45:20 +01:00
Matthias Richter
31760b00c7 Update class to match class.commons spec 2011-11-16 13:34:59 +01:00
Matthias Richter
e2144b525d Adhere to Class-Commons specs with delayed initializers 2011-09-28 18:17:04 +02:00
Matthias Richter
dfac6aa4ce Add metatable to object before calling the constructor.
Previously, a constructor had no access to static members via self.
E.g. this would have failed:

  class = require 'class'
  A = class{function(self) assert(self.foo) end}
  A.foo = true
  a = A()
2011-09-28 17:48:25 +02:00
Matthias Richter
c8440e2bc0 Fix issue #2: mousepressed doesn't work in gamestate.lua (thanks, benloran!) 2011-09-08 14:26:02 +02:00
Matthias Richter
2264371c6b Class commons interface (see https://github.com/bartbes/Class-Commons) 2011-08-29 17:41:05 +02:00
Matthias Richter
6089ad4494 Bug in non-table syntax: "attempt to index local 'args'" 2011-08-12 21:42:58 +02:00
Matthias Richter
28b698fb00 Eliminate use of module(...) function 2011-07-06 14:19:31 +02:00
Matthias Richter
610de8fc98 Make periodic timer stoppable 2011-06-04 15:45:25 +02:00
Matthias Richter
c3e78cce45 Code cleanup 2011-04-24 21:12:33 +02:00
Matthias Richter
49554f2521 Try to infer name of class when no name given. Add obj:is_a(class). 2011-04-11 16:44:31 +02:00
Matthias Richter
e885ec90d4 Add gamestate:init() 2011-03-15 17:34:28 +01:00
Matthias Richter
94da317ed9 Add optional `inherits' argument to class.
`inherits' is basically a shortcut to Foo = class{...}
Foo:inherit(supers), i.e. those have the same effect:

Foo:class{ inherits = {super1, super2} }
Bar = class{}
Bar:inherit(super1, super2)
2011-03-12 23:59:43 +01:00
Matthias Richter
442fdf3d2f Fix Bug: ringbuffer:prev() does not return get() (thanks qualo) 2011-02-08 14:00:16 +01:00
Matthias Richter
ec3cfcab53 Apply nevon's patch: More gamestate callbacks 2011-01-22 11:53:31 +01:00
Matthias Richter
a4c075f450 Remove sequence module 2011-01-20 15:28:01 +01:00
Matthias Richter
b575417ede Correct tail recursion 2011-01-20 15:26:59 +01:00
Matthias Richter
5abd0f599d Add 'local' 2011-01-20 15:26:28 +01:00
Matthias Richter
762de78e51 API change: Call interpolator only when interpolation ongoing. 2011-01-20 15:26:12 +01:00
Matthias Richter
9bcb428555 Make proper tail recursion calls 2011-01-19 16:41:59 +01:00
Matthias Richter
d1d6dbb056 Make proper modules 2011-01-18 17:44:38 +01:00
Matthias Richter
0dc9eacc57 Bugfix: Timer.update(dt) sometimes fails on `for'
Deleting functions from the function register while looping over
it could break the next-iterator in the for loop. To prevent that
from happening, we collect the functions to be deleted and delete
them in an extra loop.
Functions will still only be called after they have been removed
from the timer register.
2011-01-12 12:18:37 +01:00
Matthias Richter
72b06e2387 Fix vector cross product 2011-01-06 23:24:27 +01:00
Matthias Richter
902437d562 Throw error in case of missing argument instead of silently failing 2010-11-16 16:26:33 +01:00