Commit Graph

220 Commits

Author SHA1 Message Date
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
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