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
Matthias Richter
1e961e9a07
Remove useless 'Interface' function
2010-11-13 17:10:47 +01:00
Matthias Richter
1e25c2a2e2
Add convenience class:Inherit method
2010-11-13 16:53:50 +01:00
Matthias Richter
6b2f1f4caa
Add missing callbacks, make ignorant of passed arguments, bug in Gamestate.keypressed
2010-10-31 13:04:08 +01:00
Matthias Richter
f093abdad1
Forward interpolating function arguments, add oscillator
2010-10-18 12:31:01 +02:00
Matthias Richter
12dd144d0b
forward return value of interpolating function
2010-10-17 16:28:50 +02:00