1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-12-27 07:06:00 +00:00
Commit graph

333 commits

Author SHA1 Message Date
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
fgenesis
748dc6cd9d Fix mantis.lua script warning, thx vegetamaker for reporting 2013-07-04 18:42:46 +02:00
fgenesis
c2689bb71c Fix build on OSX 2013-06-26 15:15:19 +02:00
fgenesis
d485c11480 Lost commit? 2013-06-26 15:15:00 +02:00
fgenesis
c243d6a69b Fix typos in CMakeLists.txt 2013-06-26 05:22:13 +02:00
fgenesis
153dd522c9 Fixed handling of IET_SCRIPT, rename Lua callback func getIngredientString() to getIngredientEffectString(), compile fix 2013-06-26 00:34:35 +02:00
fgenesis
9d2dcc2d0f Update ttvfs to current HEAD 2013-06-24 19:54:25 +02:00
fgenesis
1897329071 Allow downloading data while the game is minimized.
With this change, downloads should no longer abort when the game is
minimized for more than a few seconds.
2013-06-24 03:39:48 +02:00
fgenesis
9b658cb531 Allow overriding title screen version nuber completely. 2013-06-24 03:09:58 +02:00
fgenesis
aba216d1dd Fix little problem added in 54d609a8b5.
Respecting maxspeed lerp is not a good idea, there are nodes that set this
(normalpass, energypass, just to name two).
This causes way too fast swimming while the maxspeed lerp is > 1.
2013-06-24 02:54:57 +02:00
fgenesis
93abd03c27 Merge branch 'experimental'
Conflicts:
	BBGE/Shader.cpp
2013-06-24 02:48:17 +02:00
fgenesis
f8ed78d331 High framerate problem wasn't fully fixed, let's try this again.
Little addition to 7891a2f011.
2013-06-23 22:41:35 +02:00
fgenesis
7dca65351c Implement loading/saving some more state data.
This is the final commit for android savegame compatibility.
Thanks to Andrew Church for explaining the new attributes
and their format.
2013-06-23 22:28:46 +02:00
fgenesis
26d056d924 Slightly more sensible error/msgbox handling 2013-06-23 18:50:10 +02:00
fgenesis
7faee73f14 Android save compat: Support "ch" (current health) value, and make maxHealth float. 2013-06-23 04:43:24 +02:00
fgenesis
318811f92d Savefile: Use ingr only if ingrNames does not exist.
Using ingrNames is a lot safer for changing ingredients.txt.
2013-06-23 03:18:23 +02:00
fgenesis
2bc3882a69 Add missing map #55 to the world map: The whale. 2013-06-23 03:15:55 +02:00
fgenesis
7891a2f011 Fix naija not moving properly on machines with very high FPS.
This bug occured when standing still and attempting to move,
having high FPS and very low difftime.
With near-zero vel, it was not built up enough per frame,
therefore velLen was always < 2 and was subsequently reset back to 0,
which resulted in naija never actually moving.
This bug could be reproduced by holding Shift+F with 60 FPS, and then
holding an arrow key.

Thanks to `Nax for reporting the problem.

(Cleaned out some cruft too, the actual change is the last line of the diff)
2013-06-23 02:53:47 +02:00
fgenesis
211eb80c0a Fix typo setting ingredient rotKind default value to the opposite of what it should be 2013-06-22 23:51:29 +02:00
fgenesis
8da8b5462b Remove unnecessary exception handling. Hopefully fixes build on linux. 2013-06-21 20:35:24 +02:00
fgenesis
2c99f010a4 Fixes to scripted ingredients, now it actually works 2013-06-21 03:33:35 +02:00
fgenesis
46516eefc8 ooops 2013-06-21 00:41:07 +02:00
fgenesis
fe5f6faa46 More save data compat with android version (world map gem data) 2013-06-21 00:40:19 +02:00
fgenesis
416b521a12 Initial support for loading android save files.
Apparently there is a new map with the index 55 -- a related entry was
added to the worldmap.txt file to prevent data loss, just in case.
<StartData ch=... /> field is not yet handled missing.
Hopefully the resulting format can be loaded on android without problems,
especially because both "ingr" and "ingrNames" fields appear in the
StartData tag now.
2013-06-20 21:39:17 +02:00
fgenesis
54d609a8b5 Make avatar respect maxspeed lerp, allow changing speed multiplier via script. Some extra functions.
Add one additional not-timed speed multiplier that also ignores influence by currents.
Lua functions added:
- avatar_setSpeedMult(num, time)
- avatar_setSpeedMult2(num)
- avatar_getSpeedMult()
- avatar_getSpeedMult2()
- entity_isInCurrent(entity)
- entity_getNumTargetPoints(entity)
2013-06-20 20:01:51 +02:00
fgenesis
25727244ad Little correction to prev commit
Only handle cooking failure if the function call was successful.
Otherwise, fallback to SeaLoaf.
2013-06-20 05:15:07 +02:00
fgenesis
1bbd9e097d Initial supported for scripted ingredients, not fully tested.
This adds a few additional interface functions, to be defined in:
scripts/global/cooking.lua, or
_mods/XYZ/scripts/cooking.lua

Added functions:
cookFailure(a,b,c) - Called when no recipe could be found for ingredients a,b,c
getIngredientString() - Called by the menu. Expected to return effects description
                        for scripted ingredient..
useIngredient(name) - Called when a scripted ingredient will be eaten.
                      Return true to eat.

Use a line like this in ingredients.txt:
LuaLoaf sealoaf Loaf (script)
to enable calling useIngredient() upon eating.
2013-06-20 04:49:20 +02:00
fgenesis
0d98efadc4 Seems this line was lost... 2013-06-19 18:45:19 +02:00
fgenesis
4e1c2746ef Add support for "override" data directory (as suggested by smls).
Now it loads in this order:

AQUARIA_DEFAULT_DATA_DIR
AQUARIA_DEFAULT_DATA_DIR/override
AQUARIA_EXTRA_DATA_DIR
2013-06-19 18:44:24 +02:00
fgenesis
98399f6bc3 More win32 cmake fixes, should now hopefully compile out of the box 2013-06-19 18:35:06 +02:00
fgenesis
f8bdac10a2 Use more sane defaults for CMake 2013-06-19 17:44:37 +02:00
fgenesis
61395779a1 Do not try to load .zip files in _mods automatically.
This has been a great source of confusion and it's better to remove it.
2013-06-19 15:09:05 +02:00
fgenesis
84a73b59f9 Hopefully fixed piranha pet script warning (thx `Nax for reporting) 2013-06-19 02:26:12 +02:00
fgenesis
13eca9785f Intial support for package paths (as suggested by smls).
This commit is mainly intended to ease packaging for linux.
Unless environment variable AQUARIA_DATA_PATH is set, there are two
directories which are checked by the game:
If AQUARIA_DEFAULT_DATA_DIR is defined, it will chdir there for main
operation. If it's not defined, it chdirs into the directory where
the executable is located.
Then, if AQUARIA_EXTRA_DATA_DIR is defined, it will mount this directory
and all contents into the working path, so that the files present there
will override those from the working directory when accessed by the game.

Setting the environment variable AQUARIA_DATA_PATH will disable this
behavior altogether and use *only* AQUARIA_DATA_PATH as working dir.
2013-06-19 02:08:24 +02:00
fgenesis
6962a3e3ab Improvements to shader API; use handles instead of raw pointers. 2013-06-15 04:11:11 +02:00
fgenesis
486e8f92ad Make the dark layer affected by postprocessing shaders.
This has the side effect that elements on the dark layer will now properly
wiggle when affected by water ripples.
Before this patch, the dark layer was always drawn above the postprocessed
screen content, unaffected.
2013-06-15 03:00:20 +02:00
fgenesis
836de14093 Implement multi-pass postprocessing shader.
This allows attaching multiple shader programs, processing the entire
screen as texture. Chaining shaders works, each shader will use
the output of the previous shader as input.
2013-06-15 02:38:49 +02:00
fgenesis
3485199bec temp commit - work on shaders 2013-06-15 00:58:32 +02:00
fgenesis
c698b4128a Fix copypaste mistake in avatar_canLockToWall() & avatar_setCanLockToWall(). Add functions:
- obj_getAlphaMod()
- obj_getColor()
2013-06-11 09:02:56 +02:00
fgenesis
dcc676afbc ... AND THOU SHALL TEST YOUR CODE BEFORE PUSH 2013-06-10 01:20:50 +02:00