1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-11-16 14:50:01 +00:00
Commit graph

472 commits

Author SHA1 Message Date
fgenesis
f85d6c213e vcproj update 2013-08-26 21:03:02 +02:00
fgenesis
69890093bd Add special memory allocator for Lua that should take some memory stress away from heavy scripting. 2013-08-26 21:02:46 +02:00
fgenesis
c857722213 Minor things. Most importantly: Game receives ACTION_SWIMLEFT and ACTION_SWIMLEFT now, for use in nodes' action() callback. 2013-08-26 20:57:38 +02:00
fgenesis
fefb30a7b3 Allow entities and nodes to update while the game is paused.
Added Lua functions:
- node_setPauseFreeze()
- entity_setPauseFreeze()
- getFPS()

Also fixed possible crash in entity_setStateTime().
2013-08-26 20:56:34 +02:00
fgenesis
41929955d3 Fix ScriptInterface developer mode settings not applying.
Minor changes:
- clean out some Lua functions registered twice
- Correct bool cast in quad_setSegs()
- Show nested mains in debug console
- One less //HACK comment
2013-08-03 22:37:10 +02:00
fgenesis
212a680541 Close singing interface + abort any song when avatar_setBlockSinging(true) is called 2013-07-29 16:32:18 +02:00
fgenesis
ffd425892f Oops, typo in last commit 2013-07-27 04:41:45 +02:00
fgenesis
7aca65f47e Let's better keep SDL 1.2 the default until everything settles and mac bins are up. 2013-07-27 00:44:55 +02:00
fgenesis
3c0de8227c Merge branch 'modsel-cleanup' 2013-07-27 00:43:07 +02:00
fgenesis
d107503d71 modselector: Clean out some old code, add support to open URL via webbrowser. 2013-07-27 00:41:15 +02:00
fgenesis
86acaf84e1 Replace modselector gfx, part 1
Icons made by Frances Fawcett. Download button based on work By EntiteFred.
(Via http://www.bit-blot.com/forum/index.php?topic=931.msg10207#msg10207)
2013-07-26 23:38:37 +02:00
fgenesis
9e1e4264ee Merge branch 'posaudio' 2013-07-26 23:34:02 +02:00
fgenesis
26f183b2d4 Merge branch 'sdl2' 2013-07-26 23:33:53 +02:00
fgenesis
5c7401b877 Gfx changes for mod selector 2013-07-26 23:33:27 +02:00
fgenesis
f825ad9fb7 Fix crash on minimize + reactivate 2013-07-26 02:15:40 +02:00
fgenesis
cf6556b94d Implement stereo to mono mixing for proper L/R separation even for stereo samples.
This mixes only those sounds that are supposed to be played positional.
All centered (default) sounds are played in stereo, as usual.
2013-07-24 19:57:13 +02:00
fgenesis
66802e1935 Change AL distance model to AL_NONE, and implement a custom distance attenuation model.
This avoid the problems with AL_INVERSE_DISTANCE_CLAMPED (doesn't reach 0),
and sounds way better than AL_LINEAR_DISTANCE_CLAMPED, which has an
all-too-sudden decay when a sound goes out of audible range.
2013-07-24 04:36:36 +02:00
fgenesis
6e8cc8cecd Remove FMOD::Channel::setPan(), which is now defunct. 2013-07-22 13:35:45 +02:00
fgenesis
55bc002cc5 Leftover win32 junk 2013-07-22 05:36:01 +02:00
fgenesis
f5da61fe78 Horrible hack to attenuate stereo sources properly.
OpenAL refuses to pan stereo sources, so apparently
it needs to be done this way.
2013-07-22 05:35:50 +02:00
fgenesis
e6680da428 Implemenet proper positional audio, one issue still.
With this patch, entities can serve as a sound source whose position
updates relative to the listener. This implements the last missing
feature of my previous positional audio patch, which is moving sound sources.
Previously, all sounds were relative to the listener with the listener
centered at (0, 0, 0), and once a sound started playing, the position could
not be changed. Volume was set as an estimation of the distance to the listener.

These restrictions are now gone; OpenAL will handle the volume & panning
based on the distance.

The remaining problem is that stereo sounds are not attenuated, at all.

Lua additions:
- playSfx() takes an additional parameter now.
- entity_setStopSoundsOnDeath()
2013-07-22 03:29:57 +02:00
fgenesis
49b6234ac8 Some new Lua functions for shots. Shots will now respect the prov. unused BouncePrt property.
- shot_setDamageType()
- shot_setCheckDamageTarget()
- shot_isCheckDamageTarget()
- shot_setTrailPrt()
2013-07-21 17:09:47 +02:00
fgenesis
c6ae568ed8 More Lua functions; allow specifying ingredient type by ID
- avatar_setBlockBackflip()
- avatar_isBlockBackflip()
- inv_getNumItems()
- inv_getItemName()
- getIngredientDataSize()
- getIngredientDataName()
2013-07-21 04:28:45 +02:00
fgenesis
08821f5156 Oops, copypaste typo 2013-07-20 23:25:00 +02:00
fgenesis
06e0be0856 Fix (harmless?) division by zero, show gamespeed in console 2013-07-20 22:49:28 +02:00
fgenesis
c2506d5bb2 Make some ints floats. 2013-07-20 20:17:57 +02:00
fgenesis
9f4c55c177 More new Lua functions.
- shot_getMaxSpeed()
- shot_setMaxSpeed()
- shot_getHomingness()
- shot_setHomingness()
- shot_getLifeTime()
- shot_setLifeTime()
- getScreenVirtualSize()
2013-07-20 20:16:26 +02:00
fgenesis
7fb9204e97 Minor changes & simplifications to Lua interface. 5 new functions.
This changes all typical vector interpolation functions that get
value, time, loopType, pingPong, ease as args from the Lua state;
use unified functions for all value type occurances.
This fixes the slightly annoying problem that it was not possible to
pass a boolean true to pingPong or ease, because lua_tonumber() would
always return 0 in that case.

Also changed:
- obj_getWorldPosition() now takes optional x,y-vector

New:
- obj_getWorldPositionAndRotation() is a more efficient shortcut,
	as often both position and rotation are retrieved together,
	and the underlying matrix chain operation is rather expensive.
- entity_getEmitter()
- entity_getNumEmitters()
- setSceneColor2()
- getSceneColor2()
2013-07-20 17:44:27 +02:00
fgenesis
34fbbae71a Add Lua function rumble() to script force feedback 2013-07-20 04:03:15 +02:00
fgenesis
dd46839ff6 Fix compile on win32. 2013-07-20 03:51:37 +02:00
fgenesis
b945343326 Fix compile on win32. 2013-07-20 03:51:13 +02:00
fgenesis
f4ea746497 Merge branch 'master' into sdl2
Conflicts:
	CMakeLists.txt
2013-07-20 03:43:58 +02:00
Sam S
4ef6786886 Port FindSDL2.cmake to actually find SDL2 rather than SDL, and include it in CMakeLists.txt
(following instructions at http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries)
2013-07-20 03:11:53 +02:00
Sam S
7511794153 Add a copy of FindSDL.cmake from CMake 2.8.11.2, renamed to FindSDL2.cmake
Unfortunately CMake does not yet ship a FindSDL2.cmake, so let's bundle our
own (using the existing FindSDL.cmake as a base)
2013-07-20 03:11:52 +02:00
fgenesis
45ba35ca4b Get rid of AQUARIA_FULL define and move the setting to usersettings.xml. Some changes regarding AQUARIA_DEMO.
This means there are no longer two builds necessary (one normal,
one dev), and all mod deveopment can be done using one build,
by setting

Demo builds now allow browsing the online mod list, but neither
downloading nor starting mods or applying patches.
2013-07-20 02:27:53 +02:00
fgenesis
1386e9edb3 Win32 resource file update, icons, and one little float->int cast fix in ScriptInterface 2013-07-20 00:54:28 +02:00
fgenesis
91bb344c9a Add some files missing in the HiB vesions for MacOSX/Linux, for completeness.
They are not GPL licensed but for the sake of easier updating it's better
to have them in the repo.

I've been shipping them with the updatepacks I posted at the forums:
http://www.bit-blot.com/forum/index.php?topic=4313.0

In case of doubt, here's a twitter conversation that putting
those files out was okay:
https://twitter.com/fgblurb/status/173485302416023552
https://twitter.com/infinite_ammo/status/173501010008997888
https://twitter.com/fgblurb/status/173506934467592193
https://twitter.com/infinite_ammo/status/173508138207686657
https://twitter.com/fgblurb/status/173508595755925504
2013-07-20 00:52:09 +02:00
fgenesis
416cebd6bc vcproj fix for "Debug" config 2013-07-20 00:23:03 +02:00
fgenesis
3361baf91a Update SDL2 win32 libs 2013-07-20 00:20:36 +02:00
fgenesis
d0623c2e8f Fix crash on shutdown with active SDL_gamecontroller + work around rumble effect not stopping
Tested on WinXP with wired XBox360 controller.
2013-07-19 13:43:26 +02:00
fgenesis
f7a49c471e vcproj update 2013-07-18 23:30:31 +02:00
fgenesis
03f99058c3 Apply SDL2 patch by ryan, with some adjustments to apply properly.
The fix as suggested by Jonas Kulla on the mailing list is also in.
There hasn't been any extensive testing, and it may not yet compile
on platforms other than win32.
2013-07-18 23:29:55 +02:00
fgenesis
8455939e2e Add SDL2 libs and headers (only win32, for now) 2013-07-18 22:01:11 +02:00
fgenesis
93c59fdb28 Minor extensions to script interface:
- quad_setRepeatTexture()
- quad_setRepeatScale()
- quad_isRepeatTexture()

(bone, entity, ... as well)

- getOldDT() - return unmodified dt
- getDT() - as passed to update(), for complicated edge cases
            where dt is unavailable but required.
2013-07-15 03:22:41 +02:00
fgenesis
8ac88b9749 Fix logic bug causing oil drops to rotate. Really fixed now!
This corrects 211eb80c0a.
2013-07-15 03:19:42 +02:00
fgenesis
76cfa6fe33 Implement node messaging (node_msg() function); there is no reason entities have this but nodes do not.
Also made node script error messages a bit nicer.
2013-07-12 03:07:40 +02:00
fgenesis
3ad6eedd37 Add support for suppressing game actions from being handled, minor changes to actions
This allows to e.g. prevent ACTION_TOGGLEHELPSCREEN from being handled by
the game, and instead use a node's catch action functionality to handle the event.

Add related Lua functions:
- setIgnoreAction()
- isIgnoreAction()
- sendAction()
2013-07-11 23:49:39 +02:00
fgenesis
9e66c4cd69 Correct wrong mod precache logic 2013-07-11 15:07:39 +02:00
fgenesis
0431932b2b More extensions to script interface:
- obj_fadeAlphaWithLife()
- obj_setOverrideRenderPass()
- setLayerRenderPass()
- debugBreak()
- saveMenu()
- setGemPosition()
- removeGem()
2013-07-11 15:06:38 +02:00
fgenesis
51ee827d98 Fix unsafe entity iteration.
It was possible to crash the game by creating many entities in a script
callback that iterates over entities, for example.
2013-07-05 00:06:28 +02:00