fgenesis
c05f2db2e4
Fix vs2015 build
2016-11-09 02:10:13 +01:00
fgenesis
1bad4d006d
Avoid recreating the GL context on Alt+Tab, resolution change, or windowed/fullscreen switch
2016-11-09 01:17:23 +01:00
fgenesis
b8aaccd7a1
Attempt to repair background pausing on Linux
2016-11-09 01:17:23 +01:00
fgenesis
b9d7d3e9fe
screw this
2016-10-03 23:26:21 +02:00
fgenesis
a3421c323d
hopefully last fix
2016-10-03 23:11:48 +02:00
fgenesis
6658b45da6
i'll just stop writing commit messages from now on and eventually unbreak my linux install or something
2016-10-03 23:01:19 +02:00
fgenesis
2ccc751f70
more fix
2016-10-03 22:54:13 +02:00
fgenesis
80175c3df6
another gcc 4.5 breakage, delete old unused leftovers
2016-10-03 22:34:54 +02:00
fgenesis
bc77c89ad3
Fix build with gcc ~5.4. Thx thegamemaster1234 for pointing.
2016-10-03 22:28:29 +02:00
fgenesis
b5e6234269
Move glext function pointer loading to GLLoad.cpp
2016-09-26 04:13:28 +02:00
fgenesis
4751b31653
Save screenshots in PNG instead of TGA format. Closes #34 .
2016-09-26 03:44:15 +02:00
fgenesis
58df545ec8
cleanup #2 , no functional changes
2016-09-26 01:54:45 +02:00
fgenesis
84da02e4aa
Merge branch 'vs15' into controllerfixup
2016-08-07 23:57:35 +02:00
fgenesis
7b702673fe
Fix some things/typos that were overlooked
2016-08-07 05:20:04 +02:00
fgenesis
21d4b43c29
Fix more opengl linkage problems on windows
2016-08-06 21:00:48 +02:00
fgenesis
93ac73179f
Support vs15
2016-08-06 19:50:07 +02:00
fgenesis
15c78dd2e4
Rix mouse button emulation that broke somewhere along the way
2016-08-04 01:55:32 +02:00
fgenesis
cd17e34094
Fix typo that broke bone lock orientation
2016-08-02 03:36:06 +02:00
fgenesis
00900a9dfb
Fix bone particles broken in 8472718fb7
2016-08-02 02:44:50 +02:00
fgenesis
3de004262b
Attempt to fix joystick enabled/disabled state
2016-07-19 02:45:56 +02:00
fgenesis
bff072039a
Addition to prev. commit: Fix this in a better way.
...
This also gets rid of a 1-frame delay in DSQ action handling.
Hope this doesn't cause any problems, as i'm not sure.
2016-07-18 23:22:42 +02:00
fgenesis
335b26d1e0
Fix resuming paused cutscene
2016-07-18 23:14:20 +02:00
fgenesis
e8f1129c24
Fix startup crash and linking error in release mode
2016-07-18 03:21:24 +02:00
fgenesis
619d3d531b
Remove some now unused/unneeded leftovers
2016-07-18 01:34:43 +02:00
fgenesis
ab959bc6d6
Use sentinel that captures most of the input for sourceID -1
2016-07-18 01:27:58 +02:00
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
fgenesis
ab752e1156
replace CreateDirA() and mkdir() scattered everywhere by createDir() with some more error checking.
2013-11-14 20:07:39 +01:00
fgenesis
7de589e275
Add custom upper<->lowercase translation tables for better localization support.
...
Translation tables by Henrik Holst.
2013-11-14 17:58:33 +01:00
fgenesis
cccd42227f
Merge branch 'experimental'
2013-11-05 16:51:26 +01:00
fgenesis
1701c9a67d
More Lua functions:
...
- entity_hasSkeletal()
- entity_getNumAnimLayers()
- filterNearestEntities() to fill an internal filter buffer
- getNextFilteredEntity() to iterate over the filter buffer
2013-11-02 15:22:55 +01:00
fgenesis
3fe9ffc2cd
Fix setGemPosition(), add more Lua functions:
...
- isShader()
- isParticleEffect()
- pe_start()
- pe_stop()
- pe_isRunning()
- isMiniMapCursorOkay()
2013-10-25 01:47:24 +02:00
fgenesis
69e25640fb
Reload shaders on resolution change.
2013-10-25 01:44:34 +02:00
C.W. Betts
e306347577
The released version of SDL2 (According to the OS X framework) replaced KMOD_META with KMOD_GUI.
2013-09-23 01:12:36 -06:00
C.W. Betts
2465c87844
Fix overreleasing in Cocoa code
2013-09-23 01:12:36 -06:00
fgenesis
396f091c85
Add Lua functions:
...
- quad_isRenderBeforeParent()
- quad_setRenderBorder()
- quad_isRenderBorder()
- quad_setRenderCenter()
- quad_isRenderCenter()
- quad_borderAlpha()
- quad_getBorderAlpha()
- node_getShape()
- text_setAlign()
Constants: ALIGN_CENTER, ALIGN_LEFT, PATHSHAPE_RECT, PATHSHAPE_CIRCLE
2013-08-31 16:14:05 +02:00
fgenesis
d4038c1ad9
Fix build on Linux/OSX
2013-08-26 22:25:36 +02:00
fgenesis
69890093bd
Add special memory allocator for Lua that should take some memory stress away from heavy scripting.
2013-08-26 21:02:46 +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
41929955d3
Fix ScriptInterface developer mode settings not applying.
...
Minor changes:
- clean out some Lua functions registered twice
- Correct bool cast in quad_setSegs()
- Show nested mains in debug console
- One less //HACK comment
2013-08-03 22:37:10 +02:00
fgenesis
f825ad9fb7
Fix crash on minimize + reactivate
2013-07-26 02:15:40 +02:00
fgenesis
cf6556b94d
Implement stereo to mono mixing for proper L/R separation even for stereo samples.
...
This mixes only those sounds that are supposed to be played positional.
All centered (default) sounds are played in stereo, as usual.
2013-07-24 19:57:13 +02:00
fgenesis
66802e1935
Change AL distance model to AL_NONE, and implement a custom distance attenuation model.
...
This avoid the problems with AL_INVERSE_DISTANCE_CLAMPED (doesn't reach 0),
and sounds way better than AL_LINEAR_DISTANCE_CLAMPED, which has an
all-too-sudden decay when a sound goes out of audible range.
2013-07-24 04:36:36 +02:00
fgenesis
6e8cc8cecd
Remove FMOD::Channel::setPan(), which is now defunct.
2013-07-22 13:35:45 +02:00
fgenesis
55bc002cc5
Leftover win32 junk
2013-07-22 05:36:01 +02:00
fgenesis
f5da61fe78
Horrible hack to attenuate stereo sources properly.
...
OpenAL refuses to pan stereo sources, so apparently
it needs to be done this way.
2013-07-22 05:35:50 +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
c2506d5bb2
Make some ints floats.
2013-07-20 20:17:57 +02:00
fgenesis
7fb9204e97
Minor changes & simplifications to Lua interface. 5 new functions.
...
This changes all typical vector interpolation functions that get
value, time, loopType, pingPong, ease as args from the Lua state;
use unified functions for all value type occurances.
This fixes the slightly annoying problem that it was not possible to
pass a boolean true to pingPong or ease, because lua_tonumber() would
always return 0 in that case.
Also changed:
- obj_getWorldPosition() now takes optional x,y-vector
New:
- obj_getWorldPositionAndRotation() is a more efficient shortcut,
as often both position and rotation are retrieved together,
and the underlying matrix chain operation is rather expensive.
- entity_getEmitter()
- entity_getNumEmitters()
- setSceneColor2()
- getSceneColor2()
2013-07-20 17:44:27 +02:00
fgenesis
d0623c2e8f
Fix crash on shutdown with active SDL_gamecontroller + work around rumble effect not stopping
...
Tested on WinXP with wired XBox360 controller.
2013-07-19 13:43:26 +02:00
fgenesis
03f99058c3
Apply SDL2 patch by ryan, with some adjustments to apply properly.
...
The fix as suggested by Jonas Kulla on the mailing list is also in.
There hasn't been any extensive testing, and it may not yet compile
on platforms other than win32.
2013-07-18 23:29:55 +02:00
fgenesis
93c59fdb28
Minor extensions to script interface:
...
- quad_setRepeatTexture()
- quad_setRepeatScale()
- quad_isRepeatTexture()
(bone, entity, ... as well)
- getOldDT() - return unmodified dt
- getDT() - as passed to update(), for complicated edge cases
where dt is unavailable but required.
2013-07-15 03:22:41 +02:00