Commit Graph

801 Commits

Author SHA1 Message Date
vrld a35b4232e1 Use opengl buffer ARB constistently in VertexBuffer. 2012-11-22 21:07:35 +01:00
vrld 6ffb9d28f0 VertexBuffer/SpriteBatch speed tweaks.
- VertexBuffer holds permanent copy of the vertex data and is only read from
  GPU memory was written outside a sb:bind()/sb:unbind() pair.

- "Orphan" the current GPU buffer on unmap() before uploading the changed data
  to the GPU to avoid implicit synchronisation lags.
2012-11-22 20:59:47 +01:00
Bart van Strien 4de936ed75 Fix love.physics.getDistance 2012-11-19 21:10:28 +01:00
Bart van Strien d24c0344c8 Make second argument to setDefaultImageFilter Image:setFilter and Image:setWrap optional, and default to the first 2012-11-18 19:18:37 +01:00
Bart van Strien 3a47bafd41 Add Source:isPlaying 2012-11-18 19:01:51 +01:00
Bart van Strien 94516e2290 Catch possible exceptions thrown when locking a SpriteBatch twice 2012-11-18 18:48:37 +01:00
rude 54498ce378 Apply slime73's ParticleSystem patch. 2012-11-18 11:02:30 +01:00
rude 2149ecdf44 Use "L" to force wide literal string.
If multi-byte character set is chosen, TEXT() does not produce a wide string,
causing compilation errors.
2012-11-18 10:53:17 +01:00
vrld 31f98ebf52 Fix #234 again. Of course this means the texture coordinates are flipped
again...
2012-10-18 13:29:13 +02:00
vrld 6c850fdc98 Possibly (code in issue does not fail on my machine) fix #486. Please test. 2012-10-15 17:13:08 +02:00
Bart van Strien 33d7115887 Make love.sound.newDecoder accept FileData, and make File->read return FileData 2012-10-14 17:19:40 +02:00
vrld e6711b2837 Fix multiplicative blend mode. 2012-10-12 13:52:16 +02:00
vrld 48f5afcc0e Throw error if invalid canvas type was supplied in l.g.newCanvas() 2012-10-12 13:14:40 +02:00
vrld ccdf6e1c00 Fix Issue #476: Add HDR Canvas (thanks, Alexander Szpakowski!).
* Add `love.graphics.isSupported("hdrcanvas")' to query whether the hardware
  actually supports HDR canvases.

* Add optional third argument to `love.graphics.newCanvas(w,h, type)', where
  `type' is one of "normal" or "hdr" and defaults to "normal". HDR canvases
  use floating point that can have values > 1 to store pixels, allowing for
  HDR rendering and other higher level lighting techniques when combined with
  pixel effects.

* Add `canvas:getType()'.
2012-10-11 22:22:10 +02:00
vrld c75bc199ae Remove ARB checks in PixelEffect::isSupported().
ARB fragment shaders shouldn't support GLSL 1.2 anyway.
2012-10-04 17:27:31 +02:00
vrld a39ddc9f1a Close issue #480: Extending Canvas support to cards without packed depth stencil. 2012-10-01 22:06:56 +02:00
vrld e35854acdc Remove love_ScreenSize from shaders.
PixelEffects would fail to load when screen_coords were unused.

Reopens issue #435: "PixelEffects have flipped screen_coords.y".
2012-10-01 21:39:52 +02:00
vrld e575c86246 Severe case of premature commit-ion. 2012-09-11 16:11:26 +02:00
vrld fdf175d7d0 Partly fix issue #468: Incorrect(?) detection of shader support.
Still need to figure out if we can use the ARB versions.
2012-09-11 15:21:39 +02:00
vrld 4ec7609d37 Fix issue #437: Area-based particle spawn.
New particles are spawned around the particle emitter position according to a
configurabe distribution.

New functionality:

particlesystem:setAreaSpread(distributon, x, y)
distribution, x, y = particlesystem:getAreaSpread()

Where `distribution' is one of "none", "uniform", "normal".
`x' and `y' take different meaning based on the distribution:

  * none:    no area spread - particles spawned at emitter position.
  * uniform: particle spawned at px,py in the rectangle around emitter
             position ex,ey, i.e.:
             ex - x < px < ex + x, ey - y < py < ey + y,
  * normal:  particle position drawn from a normal/gaussian distribution
             with mean ex,ey and standard deviation x,y, i.e.:
             px \in N(ex, x²), py \in N(ey, y²).
2012-09-10 19:58:44 +02:00
Bart van Strien 8234e71c74 Add an ASSERT_GUARD for World:update, catching any errors occuring there 2012-08-28 17:47:23 +02:00
rude 7baf22c0e3 Apply Boolsheet's GME leak patch. 2012-08-21 16:14:38 +02:00
Bart van Strien 63daffb22f Correctly set the spacing for the last character in an ImageFont as well 2012-08-21 15:18:12 +02:00
Bill Meltsner b24e7ab64f Update the Xcode project and enable GME support on OS X.
Requires Game_Music_Emu.framework, which is included in the updated OS X SDK.
2012-08-18 11:56:42 -05:00
vrld 87c6646705 Fix #435 (for real this time). Unfixes #324.
Add a extern vec2 love_ScreenSize to the pixel effects that will
be (re)set upon PixelEffect::loadVolatile() and is used to flip
the fragment coordinate.

Unfixes #324 because canvases can have different dimensions than
the screen.
2012-08-05 16:08:22 +02:00
Bart van Strien 148b0c2f6d Correctly read filter modes in newImageFont when the implicit newRasterizer is used (issue #437) 2012-08-03 16:01:33 +02:00
Bart van Strien 00ee547a1c Make unknown keys map to "unknown" in love.keypressed, at least allowing
you to get the (correct) unicode arg. (issue #337)
2012-08-03 15:51:43 +02:00
Bart van Strien 85a1787ad8 Make SpriteBatch:setColor accept a table as well (issue #459) 2012-08-03 15:27:59 +02:00
Boolsheet cde5aa3307 Import box2d-contacts branch from love-experiments
Fix issues with Contact lifetime, based on the work of
Matteo "teomat" Goggi
2012-07-24 23:59:42 +02:00
Bart van Strien b10bc87b9a Make love.graphics.setCanvas(nil) error
This helps detect typoes, setCanvas() still works as before
2012-07-21 17:51:54 +02:00
Marc Lepage e5c4f7f43c Remove call to glAlphaFunc as alpha testing is never enabled. 2012-07-17 21:33:16 -04:00
Marc Lepage 4cc0056a21 Fix some typos in comments. 2012-07-12 00:21:25 -04:00
vrld 6d02057864 Close issue #408: printf-justify alignment.
Add letter_spacing argument to Font::print(). Might be worth to expose to Lua
at some point. Justify alignment may result in mushy/blurred glyphs.
2012-07-08 13:37:09 +02:00
vrld 12f714bf74 Issue #419: Make font:getWidth(str) account for newlines. 2012-07-05 16:15:38 +02:00
vrld 85fa71c519 Make love.graphics.getFont() return (and set) default font when no font set.
Use closures instead of love.graphics.print(f)1() and love.graphics.newFont1.
2012-07-05 16:14:44 +02:00
Bart van Strien 7793e7f02f CRLF to LF 2012-07-04 14:40:24 +02:00
rude 098ffb7336 Added support for GME (Game_Music_Emu).
This makes it possible for LÖVE to play music files for NES, SNES, MegaDrive,
and many more. It's pretty cool.

The feature is disabled until each platform is ready to link with GME. Packages
exist for Debian and Arch, and it compiled without any issues in MSVC++, so
I don't expect this to a problem for anyone.
2012-07-02 00:19:43 +02:00
Bart van Strien f6099402e7 Make it build on linux
- Removed weird #ifdefs
- Enabled optional executable building
- Fixed exclude files, they're regexes after all
2012-06-29 13:04:32 +02:00
rude 72056caccd Say hello to the love module. Oh my!
Because technically, it *is* a module. Also renamed "launcher.cpp".
2012-06-29 09:56:50 +02:00
rude 81c38e22d0 Applied the new style guidelines.
Well, sort of. Lot's more to be done, but this is a start.
2012-06-28 23:52:33 +02:00
Bart van Strien bc4e59ba24 Apply the line width patch 2012-06-11 17:06:57 +02:00
Bart van Strien dd04074d62 Add love.filesystem.getIdentity 2012-06-01 17:31:44 +02:00
Bart van Strien 1eb17f2376 Add love.mouse.setX/setY (issue #438) 2012-06-01 17:19:36 +02:00
Bart van Strien f62bad6e12 Make sure processed is initialized, for when alGetSourcei errors (bug #442) 2012-06-01 17:10:17 +02:00
Boolsheet ee1b679639 Use OpenAL's direct channel features, should improve audio quality 2012-05-29 23:37:25 +02:00
Boolsheet 73672bd674 Clean up love.image because we own the memory, not DevIL 2012-05-29 23:36:49 +02:00
Bart van Strien 124e9d1d2a Fix memory leak in the mp3 decoder, turned out to be of pretty decent size (bug #395) 2012-05-29 21:33:10 +02:00
Bart van Strien 839b48c3e9 Make most Source setters default their z coordinate to 0, instead of erroring in its absence (issue #423) 2012-05-19 01:22:38 +02:00
Bart van Strien 7b161e5c41 Make using mpg123 optional, add option to linux build system
Added so people can make patent-free builds (easily), for example for patent-free distro's
2012-05-19 01:05:43 +02:00
Bart van Strien 8211b8f93f Add love.joystick.reload, remove love.joystick.open and friends. (issue #392)
Reload originates from love-experiments, as noted in the ticket.
2012-05-18 19:42:46 +02:00