1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-11-25 09:44:02 +00:00
Commit graph

1135 commits

Author SHA1 Message Date
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
820c5f6a80 Merge branch 'experimental' of file:///Users/User/code/coding/Aquaria_fg_clean into experimental 2013-05-16 00:57:28 +01:00
fgenesis
5717149234 Enable shaders for CMake build 2013-05-16 01:55:10 +02:00
fgenesis
e8fe18c2b4 Merge branch 'experimental' of file:///Users/User/code/coding/Aquaria_fg_clean into HEAD 2013-05-16 00:49:34 +01: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
fgenesis
cba3535487 Keep track of total number of GL render calls 2013-04-22 23:36:31 +02:00
fgenesis
65b1983c61 Make script="x" setting in songs.xml accept other values than boolean.
The value 2 is now used to indicate that both script and internal handler
should be called.
2013-04-22 02:42:53 +02:00
fgenesis
ad10db82ad Add Lua functions: isPaused(), isInGameMenu(), isInEditor() 2013-04-22 02:40:29 +02:00
fgenesis
f835f6c83c Allow nodes to catch revert action 2013-04-22 02:39:58 +02:00
fgenesis
d992e280cc Oops, forgot to save before push. 2013-04-22 01:18:40 +02:00
fgenesis
6182674618 Add createShockEffect() Lua function and rename castSong() to singSong().
castSong() existing in the global Lua namespace caused it to be removed
and stored as an interface function as soon as a script was loaded.
The function was apparently never used in the game or other mod scripts,
thus renaming it now should be safe.
2013-04-22 01:15:20 +02:00
fgenesis
4a3c1dc745 Allow node scripts to catch quick song 1-9 action 2013-04-22 01:08:36 +02:00
fgenesis
9f4a82509a Fix typo added in 17e0ec9d2e. 2013-04-21 20:24:14 +02:00
fgenesis
0c768a711d Cause less memory stress in InterpolatedVector assignment 2013-04-21 18:47:51 +02:00
fgenesis
25262144f3 Add Lua functions:
entity_setVel2()
entity_setVel2Len()
entity_getVel2Len()
node_isEffectOn()
2013-04-21 18:46:56 +02:00
fgenesis
4c0f298946 Add quad_getWidth(), quad_getWidth() Lua functions 2013-04-21 15:59:19 +02:00
fgenesis
17e0ec9d2e Remove hack that keeps setting avatar collide radius. 2013-04-21 15:58:52 +02:00
fgenesis
d6180e7134 Oops, compile fix for 1168eaf1d9 2013-04-15 03:40:08 +02:00
fgenesis
15884e3b02 Some script fixes that were overlooked and caused warnings in the dev builds 2013-04-15 00:38:18 +02:00
fgenesis
1168eaf1d9 Remove some dead code + fix clang warning. 2013-04-12 09:17:45 +02:00
fgenesis
b199e40efd forgot to register Lua func obj_getLife() and related 2013-03-14 16:33:37 +01:00
fgenesis
1217432561 allow arbitrary damage type IDs in shots instead of only "DT_*" string constants 2013-03-13 23:28:38 +01:00
fgenesis
0784d1b9df Shot Lua API update + related internal changes.
With this change, shots are no longer stored in a std::list.
In the current code, the global shot store may be modified while iterating,
this did not cause problems with the list implementation,
but would easily crash if a shot is removed while iterating.
To fix this, a 2nd vector stores shots to be deleted from the global store
and does so when no iteration is in progress and modifying the vector is
safe.

Added functions:

getFirstShot -- for iterating over all shots on the map
getNextShot
shot_setFirer
shot_setExtraDamage
shot_getExtraDamage
shot_getDamage
shot_getDamageType
shot_getName
2013-03-06 02:06:52 +01:00
fgenesis
eef2289fb2 allow mods to use treasure scripts + remove debug spam in entity_getID() 2013-03-01 01:14:59 +01:00
fgenesis
23e0707c5b Add Lua func entity_getSkeletalName() and do not abort when a skin file is not found. Also warn on missing skeletal file. 2013-02-27 01:54:38 +01:00
fgenesis
aa60f7cac2 Fix oversight in the Lua interface that would cause certain quad_*() functions not to be registered.
Really wonder why this never failed, and I just noticed this by accident...
2013-02-27 00:06:16 +01:00
fgenesis
ab6e92f256 Add EV_NOAVOID and bone_lookAtPosition() 2013-02-06 21:01:22 +01:00
fgenesis
4433237f3a Add more script functions + little fix in entity poisoning
shot_getEffectTime()
shot_isIgnoreShield()
shot_getFirer()
shot_setTarget()
shot_getTarget()
getLastCollideTileType()
collideCircleWithGrid()
entity_getMaxHealth()
entity_setPoison()
entity_getPoison()
OT_* constants
2013-02-04 15:16:57 +01:00
fgenesis
188469102b add 3 new Lua functions:
entity_getAnimationLoop()
entity_getAnimLayerTimeMult()
obj_getLayer()
2013-02-03 16:13:54 +01:00
fgenesis
76c31f8147 minor fixups (Entity::revive() and some skeletal stuff) 2013-02-03 16:13:07 +01:00