1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-11-27 02:33:50 +00:00
Commit graph

505 commits

Author SHA1 Message Date
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
fgenesis
336c821eb2 Thou shall not push without compiling. 2013-06-10 01:02:47 +02:00
fgenesis
f5f890aade Make particle suck positions accessible to Lua, use suckpos 2, fix possible crash in entity_clearHair() 2013-06-10 00:59:46 +02:00
fgenesis
1ea1408ac4 Animation editor enhancement.
New key combo:
Pressing Ctrl+Shift while moving/rotating a bone will move/rotate it
globally, for all keys in all animations.
2013-05-24 03:36:50 +02:00
fgenesis
0611568d3e Add precacher for mods 2013-05-24 03:34:10 +02:00
fgenesis
f7740eb6e8 add beam_setDamageType() Lua function 2013-05-19 20:14:00 +02:00
fgenesis
8fbed64db3 Fix possible crash due to unsafe shot iteration.
Fixes regression introduced in 0784d1b9df.
With a std::list it was okay to create shots while iterating with an
iterator, but not so with a std::vector.
Now using index access, which is safe with push_back() operations.
2013-05-16 03:55:19 +02:00
fgenesis
36247593d4 Fix possible crash due to unsafe shot iteration.
Fixes regression introduced in 0784d1b9df.
With a std::list it was okay to create shots while iterating with an
iterator, but not so with a std::vector.
Now using index access, which is safe with push_back() operations.
2013-05-16 03:54:20 +02:00
fgenesis
5717149234 Enable shaders for CMake build 2013-05-16 01:55:10 +02:00
fgenesis
cfd9b0ca5b Fix bug in shader uniform assignment 2013-05-15 01:56:50 +02:00
fgenesis
6666787f6d vcproj update 2013-05-12 00:06:38 +02:00
fgenesis
8c80cf6318 Add shader interface API to Lua API 2013-05-12 00:06:26 +02:00
fgenesis
2ac3ad9fb1 Fixes & enhancements to shader interface code 2013-05-12 00:05:57 +02:00
fgenesis
c62d9f2370 Re-introduce AfterEffect shader functonality, part 1.
This repairs pixel/vertex shader code that was seemingly
experimented with during testing, but it was never used and no
shaders ever made it to the data files.
2013-05-10 22:22:35 +02:00
fgenesis
02f18daed5 Fix regression from 7ff0caaed8.
This fixes a glitch in the final boss' last form. Due to a missing
Beam::trace() call, the beam's angle was not updated,
and it always pointed into the upper left corner.
2013-05-02 23:31:27 +02:00
fgenesis
45821d15ff Fix regression from 7ff0caaed8.
This fixes a glitch in the final boss' last form. Due to a missing
Beam::trace() call, the beam's angle was not updated,
and it always pointed into the upper left corner.
2013-05-02 23:30:06 +02:00
fgenesis
12ea97f051 Disable all glEnable/glDisable() calls for GL_CULL_FACE, except one glDisable() during renderer init.
GL_CULL_FACE is effectively always disabled, except for quad strip
rendering, and keeping GL_CULL_FACE disabled there does not seem
to cause any visual artifacts.
Instead, it enhances skeletal animation possibilities
(e.g. flipping bone strips over without it disappearing)
2013-05-02 04:31:07 +02:00
fgenesis
811b015983 "Fix" warning in cc_sunkencity.lua
Thx Diablodoct0r for reporting.
2013-05-02 01:53:15 +02:00
fgenesis
a6929c51f2 Fix bug introduced in 0784d1b9df.
Thx Diablodoct0r for reporting.
Not sure if bug was harmless, maybe...
2013-04-30 00:50:45 +02:00
fgenesis
7d158f5f1c Fix typos in a52b26c782 2013-04-28 22:44:28 +02:00
fgenesis
4c8fc05de8 Fix sound problems in energyboss and warning in predatorytunicate script.
Thx Diablodoct0r for reporting the latter.
2013-04-28 22:33:59 +02:00
fgenesis
a52b26c782 Forms decoupling #3.
Added Lua functions:
+ setSeeMapMode()
2013-04-27 01:12:50 +02:00
fgenesis
ec7dd94a1c Forms decoupling #2.
Added Lua functions:
+ avatar_setCanCollideWithShots()
+ avatar_canCollideWithShots()
+ avatar_setCollisionAvoidanceData()
2013-04-26 05:03:24 +02:00
fgenesis
e8a7889f82 Decouple form specific effects from the actual form.
Most hardcoded form == FORM_* checks all over the place have been replaced.
Now, forms change certain avatar properties, which are in turn checked
in the places that previously had these explicit form checks.
This allows specifying functionality via scripting, for additional forms
with new effects or a new combination of existing effects.

OT_HURT now deals damage of type DT_WALLHURT,
and by setting avatar->setDamageTarget(DT_WALLHURT, false) collision
with walls can be made harmless (exactly as nature form used to be).

Add related Lua functions:
+ setWorldType() - Change WT without actually switching to spirit form
+ setCanActivate()
+ avatar_setCanBurst()
+ avatar_canBurst()
+ avatar_setCanLockToWall()
+ avatar_canLockToWall()
+ avatar_setCanSwimAgainstCurrents()
+ avatar_canSwimAgainstCurrents()
+ getSceneColor()
+ DT_WALLHURT
2013-04-26 00:34:06 +02:00
fgenesis
55ead19076 Remove spirit form dependency on WorldType, and add related Lua interfaces.
This commit introduces a second pause mode:
Full game pause (as in menu), and world pause (as in spirit form).
All related checks are no longer done against WT_* constants,
but against the new world pause which is functionally equivalent,
but more flexible. Continuity::worldType is now only used to toggle
world pause correctly, and to apply some related graphical effects.
The world pause can also be controlled via script without actually
switching forms.
Added Lua functions:
+ node_setSpiritFreeze()
+ quad_setPauseLevel()
+ isWorldPaused()
+ setWorldPaused()
2013-04-25 02:51:54 +02:00
fgenesis
3ed40e73d3 Minor refactor & add Lua funcs:
+ avatar_setShieldActive()
+ entity_isFillGrid()
* entity_setBoneLock() code made easier to read and not warn on no lock entity
+ entity_getMaxSpeedLerp()
+ entity_isEntityInside()
2013-04-24 04:51:26 +02:00
fgenesis
035ad963f5 Add Lua func: avatar_isBlockSinging() 2013-04-23 00:57:13 +02:00
fgenesis
405045b3fb Do not collide shots with entity if shot->firer == entity.
This check was already done if entity was ET_ENEMY,
but it seems more correct to me to check this for all cases.
Hope this doesn't break anything.
2013-04-22 23:41:48 +02:00
fgenesis
0490afe7a2 Script interface additions:
+ entity_isDeathScene()
+ getNearestEntity()
+ entity_getDistanceToPoint()
Add color transition time parameter to fade(), fade2(), fade3()
2013-04-22 23:38:10 +02:00