1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-12-25 14:15:46 +00:00
Commit graph

260 commits

Author SHA1 Message Date
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
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
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
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
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
fgenesis
3dbc92b16e readme update 2013-02-03 16:12:19 +01:00
fgenesis
cbd3658b27 Fix *_setRenderPass() regression from 7ff0caaed8. Remove obj_setRealRenderPass() again.
This corrects render pass overriding, especially Li's arm, which was supposed
to be in front of the hug; and being eaten by a grouper, where Naija stayed
visible because the grouper skeletal's render pass was not set correctly.
2013-01-03 02:43:33 +01:00
fgenesis
8712657e75 vcproj update 2013-01-03 00:36:33 +01:00
fgenesis
32aca3b768 Move hair functions to Entity; add quad_setSegs() & obj_setRealRenderPass() 2013-01-03 00:36:24 +01:00
fgenesis
366838d800 little enhancement to scene editor: show more entity details 2012-12-23 22:43:46 +01:00
fgenesis
c358c98256 add some Lua constants 2012-12-23 22:42:34 +01:00
fgenesis
f9ce5c0172 Animation editor enhancement: Move/rotate bones across all keyframes 2012-12-23 22:32:19 +01:00
fgenesis
9eb5b9828a clean out some dead code and some old commented out code 2012-12-19 06:23:51 +01:00
fgenesis
b6ae2a6baa Fix problems intended to fix in (reverted) 8b67ece. 2012-12-15 23:08:59 +01:00
fgenesis
ad4bc9bd21 Revert "Changed a bunch of enums in Entity.h"
This reverts commit 8b67ece907.
2012-12-15 22:46:39 +01:00
fgenesis
0f13f08357 Remove unused stuff
- entity group IDs
- entity node groups (?!)
- WaterFont.[cpp|h]
2012-12-13 19:57:30 +01:00
fgenesis
8b67ece907 Changed a bunch of enums in Entity.h
This simplifies a few things. First, the values of DamageType are now continous,
with the benefit that they can now be stored in a std::bitset.
Second, this repairs entity_getNearestEntity(..., ET_AVATAR) or DT_ENEMY as param,
because these were 0, but the game expected -1 as universal value.
This way, any entity was returned when querying for ET_AVATAR or DT_ENEMY.
Now, 0 is the universal/NONE value, which should avoid mistakes like this.
2012-12-13 19:48:47 +01:00
fgenesis
b242d80c75 Some fixes (...)
- Get colliding hair segment
- drop AnimatedSprite & Interpolator classes
- repair entity_setAutoSkeletalUpdate()
- remove some old code
2012-12-13 18:45:07 +01:00
fgenesis
5d74665323 Faster mousewheel zoom for SceneEditor + reload songbank when reloading a map in the editor 2012-12-13 18:36:13 +01:00
fgenesis
1705b091aa Fix influenced particles not positioned correctly if SpawnLocal = 1 2012-12-13 18:33:58 +01:00
fgenesis
c5700f9c35 Little things to make the world map more user friendly:
- Map markers are now spawned on the player position, not above
- 66% alpha for world map icons, this way some of the stuff below the icon
  can be seen.
- Unified and increased zoom-in distance. This way the view no longer forcefully
  resets to another zoom level when selecting maps of different layers
  (i.e. first an interior map, then zoom in, then select a regular map),
  which was a little jarring. The increased zoom level is useful for
  close-ups on tiny areas like the sun temple.
2012-10-14 03:51:02 +02:00
fgenesis
416c47b4e9 Make world map reveal method configurable via user settings,
and add the possibility for mods to override this setting.
2012-10-14 03:46:47 +02:00
fgenesis
8cad58f0c4 Implement new (optional) world map reveal method.
This one doesn't give the whole map away already just after entering it.
2012-10-13 05:43:47 +02:00
fgenesis
6f05249fdc Fix crash in RenderObjectLayer::moveToBack() 2012-10-09 00:57:34 +02:00
fgenesis
66d3b90473 Fix two sound looping bugs.
The first one caused the music to stop randomly on scene changes,
reproducible by changing maps with different music while holding 'G'
button to speed up time.
For some reason this caused the music to stop playing during the crossfade.
Wasn't able to find the root cause, so I added a little hack to kick the
music back on track if it stops unexpectedly.

The second one was a simple string case issue; mostly noticable because of
map background sounds not playing in loop mode.
(this is possibly a regression from an earlier patch, not sure)
2012-10-07 00:05:17 +02:00