1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-07-05 23:45:13 +00:00
Commit graph

104 commits

Author SHA1 Message Date
Valentin Ochs
b9d402199c Get rid of a lot of gcc warnings
Mostly signed/unsigned comparisons. Also some bugs, but I don't remember
where :D
2021-01-11 12:28:27 +01:00
False.Genesis
fe0a91129f Merge pull request #42 from Cat-Ion/foodholders
FoodHolder changes
2017-01-12 23:53:38 +01:00
Valentin Ochs
585489611b [foodholders] Foodholder changes
- Add convenience functions toggleValid() and isValid() to wrap around
  the alpha/alphaMod members
- Fix bug #37 that allows cooking with the third slot at all times
2017-01-12 23:38:07 +01:00
fgenesis
8af953cb63 Replace spaces with tabs (future self: i'm sorry)
In most places, that is. Left some files unchanges because they are a mess.
2017-01-12 22:51:46 +01:00
Valentin Ochs
dcd21b57bd Merge pull request #41 2017-01-12 22:14:26 +01:00
fgenesis
589e5a90d4 derp 2016-05-14 17:50:39 +02:00
fgenesis
d6dc3a8a09 Merge branch 'experimental' into moreclean
Conflicts:
	Aquaria/Avatar.cpp
	Aquaria/BoxElement.cpp
	Aquaria/BubbleRender.cpp
	Aquaria/FFTNotes.cpp
	Aquaria/StarRenderer.cpp
	Aquaria/WaterFont.cpp
	Aquaria/resource.h
	BBGE/AnimatedSprite.cpp
	BBGE/AnimatedSprite.h
	BBGE/BloomEffect.cpp
	BBGE/CShim.cpp
	BBGE/Collision.cpp
	BBGE/Collision.h
	BBGE/Core.cpp
	BBGE/Core.h
	BBGE/Cube.cpp
	BBGE/Cutscene.cpp
	BBGE/DFSprite.cpp
	BBGE/DFSprite.h
	BBGE/Datafile.cpp
	BBGE/Datafile.h
	BBGE/Flags.h
	BBGE/Interpolator.cpp
	BBGE/Light.cpp
	BBGE/Light.h
	BBGE/LightCone.cpp
	BBGE/Model.cpp
	BBGE/Model.h
	BBGE/OggStream.cpp
	BBGE/PackRead.cpp
	BBGE/PointSprites.cpp
	BBGE/RenderObject.cpp
	BBGE/SkeletalSprite.cpp
2016-05-10 18:40:01 +02:00
fgenesis
e7791c5ddc Remove RenderObject::collisionRects.
Another vector that was always empty, optionally filled when specified
by a skeletal file, but none actually did this. Should be safe to remove.

Also small related optimization in Game::collideSkeletalVsCircle().
2016-05-07 01:00:16 +02:00
fgenesis
35a3888c94 Remove RenderObject::collidePosition and related code
This was always (0, 0) and optionally used for bones if defined in skeletal files.
None of the official skeletal files used this, so this should be safe to remove.
2016-05-07 00:47:45 +02:00
fgenesis
caee9f8b0c remove some unused Avatar functions and variables 2016-05-05 20:11:49 +02:00
fgenesis
51baa76816 Remove unused files 2016-05-05 20:09:39 +02:00
Nicolas Braud-Santoni
eb128e65a4 Remove commented-out code 2016-05-05 19:57:50 +02:00
Nicolas Braud-Santoni
276265be1d Eliminating obsolete #ifdefs and friends (#26)
The following options have been applied globally, using unifdef(1):
```c
 #undef BBGE_BUILD_DIRECTX

 #define BBGE_BUILD_OPENGL 1
 #define GL_GLEXT_LEGACY   1
 #define HAVE_PUTENV       1
 #define TIXML_USE_STL     1
 #define BBGE_BUILD_SDL    1
```
2016-05-05 03:49:41 +02:00
fgenesis
f55a70b459 Give script-spawned entities a negative ID.
This should prevent most ID conflicts and problems related to that,
e.g. spurious changes to entity positions while working on a map.
2015-11-29 21:43:21 +01:00
fgenesis
26549f84b7 Fix font bounds calculation
BitmapFont::getActualWidth() is still a bit less than getStringWidth(),
but won't fix that now since it shouldn't cause any issues... hopefully.
2015-11-11 23:27:32 +01:00
fgenesis
21545e1a24 Show refresh rate in resolution selector 2015-07-12 20:25:46 +02:00
fgenesis
eb56a93200 Add node_setActivationRange() 2015-06-28 18:55:35 +02:00
fgenesis
2612b6e251 tiny cleanup 2015-01-28 01:45:52 +01:00
fgenesis
4b32c4364f Allow interactive parallax layer elements 2015-01-14 21:48:37 +01:00
fgenesis
d82553d6a7 Fixes to element interaction.
It now works with multiple entities doing interaction, and the correct
update list is used, which should save a bit more CPU.
2014-09-13 16:33:32 +02:00
fgenesis
e8ff469205 Revert "Fix crash when adding a gem in entity init()", broke world map.
This reverts commit 17b8cd2079.
2014-08-15 21:18:43 +02:00
fgenesis
300f326777 Use std::vector instead of std::list for RenderObject children 2014-07-21 22:21:22 +02:00
fgenesis
17b8cd2079 Fix crash when adding a gem in entity init() 2014-06-13 03:39:01 +02:00
fgenesis
d95b5cccdd Allow editing repeat scale via editor, and save this in map files.
I chose to add an extra XML tag storing only the needed data in order to
preserve compatibility with older versions that expect the specific
layout of the <SE k="..." /> tag, which can't be changed.
Adding a new tag like <SE m="..." /> with an updated layout is also
not an option, because older versions would not load these, and
maps would be empty as a result.
2014-06-12 20:07:49 +02:00
fgenesis
817d4beb1c Fix tinyXML2 misuse; simplify scene saving code a little 2014-06-10 02:18:55 +02:00
fgenesis
065def0674 Fixes to prev commit - restore ttvfs functionality when reading XML files, and minor other things 2014-06-09 23:39:33 +02:00
fgenesis
4bafcb3e18 Merge branch 'tinyxml2' into experimental. Thanks to James Le Cuirot for this.
Conflicts:
	Aquaria/UserSettings.cpp
	CMakeLists.txt
2014-06-09 22:31:39 +02:00
James Le Cuirot
43d41feeb8 Migrate from TinyXML v1 to v2. Not bundled (yet). 2014-06-08 21:11:23 +01:00
fgenesis
3db8c9e13a Pathfinding & map grid improvements.
There were still only 6 of 8 bits of the map grid in use.
The last 2 bits are now available as non-colliding user bits,
and are ignored unless specially treated.
The findPath() function can now be told which bits to respect,
which allows to prevent pathfinding to pass through fish tunnels,
for example.
A function for fast user bit map dilation is added as well.
2014-05-16 00:11:52 +02:00
fgenesis
209ad526c6 Add canShotHit() interface function
Let entity decide if it wants to collide with shot or not.
2014-04-01 18:16:33 +02:00
fgenesis
664b2bd5f2 Lua functions:
- Change entity_handleShotCollisionsHair(): Allow setting hair collision width percent
- Change entity_collideSkeletalVsCircle(): Allow colliding with any RenderObject
- Add entity_collideSkeletalVsCirclePos(): Allow specifying (x,y,radius)
2014-03-28 03:54:58 +01:00
fgenesis
b95dfee4c6 Add Lua functions: getZoom(), setMaxLookDistance() 2014-03-08 02:17:20 +01:00
fgenesis
2cec85fd05 Improve camera zooming behavior + camera related cleanups
- Now, the camera will now no longer be pulled towards the upper left
  or lower rigtht corner.
- cameraPos was never used as an interpolating vector, cleaned up related code.
- Core::invGlobalScale is now updated whenever Core::globalScale is changed
  (Not a nice solution but it does work)
- Increase cull radius by 10%, should prevent tiles from disappearing when
  zoomed in a lot.
2014-03-07 17:59:36 +01:00
fgenesis
b501ba67e3 Respect more nodes' active status: PATH_STEAM, PATH_WARP, PATH_RADARHIDE, PATH_WATERBUBBLE, PATH_ZOOM.
These nodes will no longer do their thing if active is set to false.
node_[is|set]EffectOn() is now an alias for the node_[is|set]Active() functions.

Also add getMaxCameraValues() Lua function.
2014-03-06 22:31:22 +01:00
fgenesis
429f612065 Get rid of some unnecessary float<->int casts + some new Lua functions:
- filterNearestEntitiesAdd()
- getEntityToActivate()
- setEntityToActivate()
- hasThingToActivate()
2014-02-23 18:27:42 +01:00
fgenesis
70286954a0 Replace A* pathfinding with much faster jump point search.
This also fixes entities glithing through walls, as diagonal cracks
were assumed walkable.
2013-12-10 03:47:58 +01:00
fgenesis
890ca90bd4 Add option to hideInGameMenu() to cancel the options menu if it's active. 2013-11-17 04:36:13 +01:00
fgenesis
cccd42227f Merge branch 'experimental' 2013-11-05 16:51:26 +01:00
cuddlyogre
1f6887fcb0 Now Visual Studio 2010 Compatible
Removed a "using namepsace std;" to stop an ambiguous symbol error
regarding the "hash" datatype when compiling with Visual Studio 2010. As
a result, I had to add a "std::" to an ostringstream.

Duplicated, upgraded, and reworked the existing Visual Studio 2008
project so that it now compiles successfully with Visual Studio 2010.
Both debug and release work without a hitch on Windows 7. The original
Visual Studio 2008 solution is still there if it is needed.
2013-10-31 18:44:02 -05:00
fgenesis
36c409e1d4 Little things:
- Make ACTION_LOOK and ACTION_ROLL available to handle via nodes
- Add entity_getPushVec()
- Fix typo in beam_setFirer()
- Add pull param to addInfluence()
- Add entity_getPushDamage()
- Add getMouseWheelChange()
2013-09-28 17:21:11 +02:00
fgenesis
6f9063ce6d Map element code refactoring. Allow other entities to influence map elements (EFX_WAVY).
Reduce Element memory; as most elements do not have any effect set,
this saves more than 50 bytes per element.
2013-09-24 17:00:06 +02:00
fgenesis
a7447cc599 Allow nodes to catch ACTION_SECONDARY. 2013-08-27 01:42:31 +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
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
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
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
0431932b2b More extensions to script interface:
- obj_fadeAlphaWithLife()
- obj_setOverrideRenderPass()
- setLayerRenderPass()
- debugBreak()
- saveMenu()
- setGemPosition()
- removeGem()
2013-07-11 15:06:38 +02:00
fgenesis
26d056d924 Slightly more sensible error/msgbox handling 2013-06-23 18:50:10 +02:00