1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-11-25 17:53:47 +00:00
Commit graph

283 commits

Author SHA1 Message Date
fgenesis
c943759ce1 Getting closer to mutliple inputs actually working
Split logic and state from ActionMapper into another class,
of which one exists per input set.
2016-07-17 22:25:24 +02:00
fgenesis
dcf09343b5 Correctly distinguish between action sources when evaluating ActionMapper
I'm not quite happy with the hackishness of this change;
hope it doesn't incur too much runtime overhead with all these checks...
2016-07-17 17:50:27 +02:00
fgenesis
77e4bfd292 Various improvements and fixes 2016-07-17 05:54:09 +02:00
fgenesis
671d0ace1b Fix some regressions + improvements:
- ACTION_MENU* not sent
- allow using the game UI with keyboard only
- allow mapping ACTION_MENU to controller inputs
- fix joystick axis (-) not working due to typo
2016-07-17 02:34:34 +02:00
fgenesis
bf94d541cd More WIP towards multiple input sets 2016-07-16 22:08:39 +02:00
fgenesis
b438064517 Continue implementing support for multiple ActionSets 2016-07-16 03:09:44 +02:00
fgenesis
2fd181913e Preparations for multiple ActionSets support 2016-07-15 03:22:27 +02:00
fgenesis
881226fe43 Minor cosmetic fixes + prevent heap overflow after on taking more than 99999999 screenshots
Gotta be correct!!11
2016-07-14 05:01:30 +02:00
fgenesis
a043dd852f Major input handling improvements (#28):
- Support joystick hotplugging
- Support axes as buttons (means xbox360 shoulder triggers can be used as buttons)
- Show pretty joystick axis & button names if possible
- Tabify input actions UI
- Add 'mouse' column to input actions UI
- Allow to configure form hotkeys
- Allow ALL keys, get rid of internal key remapping
- SDL2: Use scancodes instead of keycodes since they are layout independent
- Allow extra mouse buttons (if present)
- Remove "lmbd" & "lmbu" actions in favor of "PrimaryAction" & "SecondaryAction"
  Makes the configuration less redundant and doesn't send each action twice,
  which happened if both were set to the same key.
- Fix Regressions from prev commits (menu not opening on Esc)

Still has a few minor bugs/issues that need to be fixed,
but pushing this now before the commit gets too large again.
2016-07-13 05:00:19 +02:00
fgenesis
8472718fb7 Major include refactor; changes to pretty much everything
This untangles some of the gigantic kitchen sink headers
in an attempt to split things into smaller files.
Also don't include gl.h, glext.h, windows.h,
and other such nonsense *everywhere*.

Lots of cleanups on the way too. More dead/unused code removal.

Remove incrFlag(), decrFlag() Lua functions.
2016-07-09 04:18:40 +02:00
fgenesis
d1778a97b8 wip, temp commit 2016-07-03 18:07:13 +02:00
fgenesis
4e37abd0f5 whoops forgot a file 2016-07-03 18:06:35 +02:00
fgenesis
34a1bcb70f Really use scancode names + little more cleanup 2016-07-03 15:48:40 +02:00
fgenesis
9414be864a Huge Game.cpp refactor and various other things
Started working on a tiny input/ActionMapper refactor,
then everything fell apart and i ended up doing this.
I'm sorry.

Pretty much untested because input mapping is broken right now,
will fix that next.
2016-06-30 02:58:55 +02:00
fgenesis
e2e7753226 Remove some more unused cruft 2016-06-26 00:39:48 +02:00
fgenesis
7494529bd0 Remove old pre-SDL2 rumble code for Linux
SDL2 is now ubiquitous on linux, and there is no reason to keep this around
2016-06-26 00:03:10 +02:00
fgenesis
a7c2d054a2 Begin joystick code refactor; some related cleanups and unused code removal 2016-06-25 23:59:34 +02:00
fgenesis
4534b68fc5 Remove instant quit on Ctrl+Alt+Q, allow Alt+Enter for fullscreen switch on OSX 2016-06-25 19:43:20 +02:00
fgenesis
548da72632 Merge branch 'master' into experimental
Conflicts:
	BBGE/SoundManager.cpp
	BBGE/SoundManager.h
2016-06-20 02:05:42 +02:00
fgenesis
84366ad533 hopefully fix build on gcc6, tiny cleanup
... in fact i forgot that much more cleanup was already done
on the experimental branch. whatever.
2016-06-20 01:56:27 +02:00
fgenesis
96206dd82a Fix yet another oopsie RenderObject::setTexture()
Didn't apply empty ("") texture when another texture was already set.
2016-06-19 00:42:13 +02:00
fgenesis
15c7776763 Remove TimeUpdateType enum and related code. Dynamic timestep was used all the time anyway. 2016-05-14 17:23:48 +02:00
fgenesis
9bb4226626 Remove RenderObjectLayer::sort() and related 2016-05-14 17:20:13 +02:00
fgenesis
65179870a9 Fix possible crash when loading applying a skeletal twice in one frame.
Possibly a regression from 300f326777.
2016-05-12 00:25:00 +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
False.Genesis
0ced7c1d50 Merge pull request #27 from nbraud/unifdef
More cleanups
2016-05-10 10:20:36 +02:00
fgenesis
2f0940f1df Fix yet another oopsie RenderObject::setTexture()
Didn't apply empty ("") texture when another texture was already set.
2016-05-09 08:15:41 +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
Nicolas Braud-Santoni
fb8732e97d
Eradicate remnents of BBGE_BUILD_GFLW & SDL 2016-05-05 20:24:42 +02:00
Nicolas Braud-Santoni
bb50895595
Removing Z2D_J2K texture option
Given that j2k-codec/ is nowhere to be found,
  this cannot possibly build.
2016-05-05 20:15:11 +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
0f39b825e1
Remove BBGE_BUILD_FMODEX option (always defined) 2016-05-05 15:45:31 +02:00
Nicolas Braud-Santoni
91c493344d
Removing obsolete build options
The game cannot work with those anyhow...

```c
 #undef BBGE_BUILD_IRRKLANG
 #undef BBGE_BUILD_OPENALOGG
 #undef BBGE_BUILD_XINPUT
 #undef BBGE_BUILD_DELAYXINPUT
```
2016-05-05 15:37:25 +02:00
Nicolas Braud-Santoni
9617bde3ec
Cleaning up RLT_* macros
```c
 #define RLT_FIXED 1
 #undef  RLT_DYNAMIC
 #undef  RLT_MAP
```
2016-05-05 15:21:44 +02:00
Nicolas Braud-Santoni
921e4ba101
Removing more commented-out, #if cruft 2016-05-05 04:52:51 +02:00
Nicolas Braud-Santoni
6bcee6a034
More cleanups.
```c
 #undef BBGE_BUILD_X360
 #undef BBGE_BUILD_GLFW
 #undef BBGE_BUILD_SDLMIXER
 #undef BBGE_BUILD_BASS20
```
2016-05-05 04:45:42 +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
6c56bc94a9 Add selectable flag for bones.
Setting sel="0" in an anim's XML file prevents accidental modification
in the anim editor.
2016-04-18 22:08:36 +02:00
fgenesis
65ab23536e Fix AnimLayer not applying bug introduced in 339490e3e9. 2016-04-18 21:07:46 +02:00
fgenesis
b4c1b811ce Make BoneCommand::parse() a bit more resilient and bail out when something is wrong 2016-04-17 15:16:55 +02:00
fgenesis
339490e3e9 Implemnt AC_SET_PASS and AC_RESET_PASS bone commands 2016-04-17 14:33:23 +02:00
fgenesis
361915947b Tiny vector cleanup 2016-03-21 03:41:22 +01:00
fgenesis
36f33da9a8 Remove some old, unused code 2016-03-20 19:14:48 +01:00
fgenesis
e661743775 Be less spammy when loading textures
Oonly print "FROM DISK" when it was really from disk, and not retrieved from cache
2016-03-15 03:38:01 +01:00
fgenesis
62c949f640 Fix rare texture loading problems introduced in 8bd40be8aa and f0d580d873. 2016-03-13 01:37:43 +01:00
fgenesis
d8da8576e8 Fix moveToBack/moveToFront when used on objects that have a parent 2015-11-28 23:42:39 +01:00
fgenesis
ed089f38f7 Add two more font/text related Lua functions, and some more:
+ entity_getBoneByInternalId()
+ entity_getNumBones()
+ text_getLineHeight()
+ text_getNumLines()
2015-11-16 03:59:47 +01:00
fgenesis
4cc21619d4 Little int->float conversion 2015-11-11 23:28:10 +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
False.Genesis
b1e3cfbcba Merge pull request #19 from jbeich/glm095
Unbreak build with glm-0.9.5
2015-09-30 23:24:16 +02:00
Jan Beich
5e64e66714 build: add option to use system FTGL 2015-09-18 07:17:17 +03:00
Jan Beich
b0a144c858 BBGE: use vector glm functions
glm-0.9.5 removed scalar rotate() and translate()
2015-09-17 21:43:31 +00:00
fgenesis
b320739684 Avoid sending an action multiple times in a row 2015-08-16 02:24:14 +02:00
fgenesis
e8dc99b30d Add script functions:
+ createArialTextBig()
+ createArialTextSmall()
+ quad_getTexOffset()
+ quad_setTexOffset()
2015-08-15 21:15:42 +02:00
fgenesis
20ee050c7b Fix build with SDL1.2 that i accidentally broke 2015-08-03 20:32:41 +02:00
fgenesis
9faa503f32 Use glm for matrix math instead of the OpenGL stack
Should cause less GL pipeline stalling / driver spinlocking if enabled.
Disable AQUARIA_USE_GLM (default: true) in CMake to use the old GL pipeline version.

Based on the implementation by Matt Bierner:
https://bitbucket.org/mattbierner/ios-aquaria
2015-07-12 22:16:55 +02:00
fgenesis
21545e1a24 Show refresh rate in resolution selector 2015-07-12 20:25:46 +02:00
fgenesis
af1b831c85 attempt to fix sounds from zip files not loading properly 2015-07-07 01:16:59 +02:00
fgenesis
8bd40be8aa Fix oversight in texture loading that could cause the cape to appear as white blorb. Thx Daxar. 2015-06-10 01:49:12 +02:00
fgenesis
236096683a Clear animLayers properly 2015-06-03 04:04:19 +02:00
fgenesis
778a275ce2 RenderObject::updateCull is now float, some Lua additions
- add obj_getUpdateCull()
- add obs parameter to getWallNormal(x, y, dist, obs) to control which obs to consider
- add getPerformanceCounter(), getPerformanceFreq()
2015-06-03 04:04:03 +02:00
fgenesis
f0d580d873 Refactor texture loading code; should fix a crash that started appearing recently. 2015-03-24 00:06:51 +01:00
fgenesis
9973afbac6 Allow custom capes in mods 2015-03-09 04:55:03 +01:00
fgenesis
b70de7f94b Add Lua function text_getStringWidth() 2015-03-08 20:44:14 +01:00
fgenesis
dee156cf7a Remove some unnecessary code from StateMachine 2015-03-08 20:44:14 +01:00
fgenesis
ba9c37f704 Make RenderObject::moveTo[Front|Back]() work for things that have a parent. 2015-01-14 21:42:54 +01:00
fgenesis
15379db4b8 Fix possible crash when saving animation to non-existing file + loading malformed XML from skin file.
Also fix skeletal cache memory leak.
2014-09-16 00:29:57 +02:00
fgenesis
26dc8560b7 Fix gcc compile (broke in 300f326777) 2014-09-15 20:59:21 +02:00
fgenesis
70e175c8d6 Merge branch 'experimental' of github.com:AquariaOSE/Aquaria into experimental 2014-07-21 22:22:30 +02:00
fgenesis
300f326777 Use std::vector instead of std::list for RenderObject children 2014-07-21 22:21:22 +02:00
C.W. Betts
bc260fa581 OS X: Fix a memory overrelease.
CoreFoundation functions that have "Get" in their names usually don't need to be released.
2014-06-27 14:48:24 -06: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
b98e2532ed Fix crash when AnimationLayer is missing 2014-05-16 00:04:56 +02:00
fgenesis
46b070eb00 Not sure if this really fixes a crash, but worth a try. Thx Daxar for reporting. 2014-04-23 02:31:37 +02:00
fgenesis
0486643455 Merge branch 'master' into experimental 2014-04-23 00:21:22 +02:00
MaddTheSane
991d7de27d Update Cocoa.mm
An update broke compilation on versions of Mac OS X that didn't have/can't have Xcode 4 or later, including PowerPC versions.
2014-04-22 16:11:17 -06:00
fgenesis
4df08dc19f Fix oversight because of copying files around + make sure this won't happen again. 2014-04-15 19:58:10 +02:00
fgenesis
f69d88b656 ttvfs related cleanups 2014-04-15 19:48:06 +02:00
C.W. Betts
87bc46abf6 Merge branch 'master' into experimental 2014-04-06 23:26:38 -06:00
C.W. Betts
45185dee33 Fix a security warning on OS X. 2014-04-06 22:16:01 -06:00
fgenesis
6d4b9502cb Fix build + use win32 message boxes if on windows (they are nicer for dealing with Lua errors) 2014-04-07 04:19:54 +02:00
C.W. Betts
5d9f7c2c18 Use SDL2's MessageBox API. 2014-04-06 19:28:56 -06:00
fgenesis
6203bc7ce4 Update Aquaria/BBGE/External sources to comply with the new ttvfs API 2014-04-07 02:10:05 +02:00
fgenesis
65e457423c Add option for particles to inherit alpha/color from their ParticleEffect 2014-03-10 17:28:41 +01:00
fgenesis
af463e63b2 Make mouse constraint circle scriptable. New Lua functions:
- setMouseConstraintCircle()
- setMouseConstraint()
2014-03-10 02:26:01 +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
a9712944ed Fix animation editor problems: Undo buffer memory hoarding, add warning if saving failed.
Thanks to Peri for finally making me fix this.
2013-12-28 04:42:02 +01:00
fgenesis
201b3a76bc Add Lua functions (+ related text class changes):
- text_getHeight()
- getUserInputString()
2013-12-12 23:14:17 +01:00
dodumosu
f3fe225270 Update Core.cpp 2013-12-12 10:34:15 +00:00
fgenesis
82ab3fa60c Fix OSX build with SDL1.2 (nasty, nasty) 2013-12-11 03:06:59 +01:00
fgenesis
47b8c75dcb Fix linux/osx build 2013-12-11 03:06:38 +01:00
fgenesis
204152a783 Little optimization for molestPath() 2013-12-10 03:48:40 +01:00
C.W. Betts
5ca82aea1c Indenting 2013-11-15 18:45:53 -07:00
C.W. Betts
b9ed32049f Use more modern Objective-C syntax. 2013-11-15 18:45:13 -07:00
fgenesis
373ccff7e4 Fix build on linux 2013-11-14 20:37:50 +01:00