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
Matthias Richter
2579a7f6bc
Return nil if interpolation is stopped
2010-10-17 16:03:52 +02:00
Matthias Richter
0be37cfbba
add timer module
2010-10-17 15:06:35 +02:00
Matthias Richter
770fe5234b
Add cross product
2010-09-30 11:46:33 +02:00
Matthias Richter
0ab3a6898c
Fix issue #1 : Typo in assert
2010-09-30 11:44:31 +02:00
Matthias Richter
d306ce88fb
Fix world to camera coordinate transformation
2010-09-19 15:38:39 +02:00
Matthias Richter
8311ddbad1
Add license header
2010-09-19 15:37:55 +02:00
Matthias Richter
b8dc9b6592
Function rename
2010-09-15 11:28:06 +02:00
Matthias Richter
1f69ddb249
add functions to convert from camera coords to screen coords
2010-09-15 11:17:11 +02:00
Matthias Richter
0e6ce6d8a9
remove possible bug when converting to camera coords
2010-09-15 11:15:58 +02:00
Matthias Richter
cfd4cfb28e
Function renames
2010-09-15 11:15:23 +02:00
Matthias Richter
ded2110ab3
Bug: camera:transform(p) changed argument
2010-09-03 23:39:54 +02:00
Matthias Richter
4a25caee2c
update readme
2010-08-17 21:58:14 +02:00