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

535 commits

Author SHA1 Message Date
fgenesis
e960b238be revert part of 72f2b44620, now rendering of entities that are just simple quads is ok again 2022-06-10 03:51:26 +02:00
fgenesis
72f2b44620 Tiny simplification in render pass logic 2022-06-09 02:32:19 +02:00
fgenesis
a2e7e4a670 undo prev. commit and fix this properly. i'm just blind. 2022-06-06 01:41:50 +02:00
fgenesis
8b3c00dc76 fix quad coloring when overridden by parent (eg. entity damage flash) 2022-06-05 23:40:26 +02:00
fgenesis
b4ae208886 remove now unused constant OVERRIDE_NONE 2022-05-25 21:19:14 +02:00
fgenesis
4e9e0acb4a correct rendering entities that have no skel 2022-05-25 21:18:55 +02:00
fgenesis
f91d66a0e0 bind texture only when we're really about to render 2022-05-25 01:05:52 +02:00
fgenesis
f466e1e7c8 remove overrideRenderPass completely
Also removes Lua functions:
- obj_setOverrideRenderPass()
* entity_setRenderPass() is now the same as obj_setRenderPass(),
  without the special case alternate name in Lua
2022-05-25 00:40:47 +02:00
fgenesis
1a90625979 refactor rendering logic to be a lot less wasteful
Observations:
- Entity::renderPass was never set to RENDER_ALL -> can simplify some things
- The initial pass check in RenderObject::render() was constant for each pass
-> All logic that is per-pass-constant can be moved to a renderability pre-check
- Core::overrideStartLayer, Core::overrideEndLayer, Core::rlayer were never used
- Should be possible eventually to prepare & render layers in parallel

I am not sure if the changes in this commit are 100% correct, but layer passes
are still working and the hug looks like it should.

Thinking about it, the overrideRenderPass functionality should never have existed.
The game scripts don't actually use entity_setRenderPass
(which in turn calls Entity::setOverrideRenderPass())
so I might remove that function in a future commit,
together with the rest of the "override" functionality.
2022-05-22 17:26:16 +02:00
fgenesis
da23098692 remove PostProcessingFX
It was broken on modern graphics cards anyway and should rather be re-introduced
in a cleaner way once the renderer is ready for it
2022-05-21 18:56:27 +02:00
fgenesis
693223552d remove Quad::createStrip(), related members, and cleanup Bone strip handling
Saves some work when rendering EVERY SINGLE QUAD in the game
2022-05-21 17:31:50 +02:00
fgenesis
80d23900de Don't cache blend type while glBlendFunc() is still called elsewhere 2022-05-21 16:31:38 +02:00
fgenesis
5c558c122f Remove RenderObject::setColorMult() hack and related members 2022-05-21 16:31:10 +02:00
fgenesis
cec6bc5ebf Remove Quad::repeatingTextureToFill 2022-05-20 04:05:54 +02:00
fgenesis
5c419efd79 Remove RenderObject::updateAfterParent; simplify + clarify ParentManaged logic
SkeletalSprite was the only thing using it.
Instead of PM_STATIC it's now added to its Entity as PM_NONE.
PM_NONE is not auto-updated so SkeletalSprite::update() is now called
at the end of Entity::onUpdate()

(There's now a bug that during spirit form the screen stays black,
probably added that in an earlier commit. Will fix.)

(On second tought, maybe ParentManaged should be boolean.
Instead add a noAutoUpdate flag. But i'll save that for another time when i get around
to move all RenderObject bools into a bitmask.)
2022-05-20 03:27:15 +02:00
fgenesis
68b3c61852 Add RenderState to be passed through the scene graph
This will eventually handle all mutable state during rendering
2022-05-20 01:04:19 +02:00
fgenesis
b6fb6944f6 first step towards making the render process const 2022-05-19 05:17:00 +02:00
fgenesis
46010244f5 remove RenderObject::blendEnabled and cleanup the blend code a bit 2022-05-19 01:34:31 +02:00
fgenesis
06270eaac0 remove RenderObject::childGarbage 2022-05-19 00:01:27 +02:00
fgenesis
140f750d00 More RenderObject slimming; reorder members, split out motion blur data + collideRadius, add new CollideQuad type
CollideQuad is now base class for Shot, Entity, Bone
2022-05-18 19:44:42 +02:00
fgenesis
ac80b3461a simplify RenderObject::renderCall() a bit 2022-05-18 04:04:44 +02:00
fgenesis
4db7990ac2 remove displaylist support
i'd rather trim all possible fat off the renderer and then modularize it
into multiple backends. gotta start somewhere.
2022-05-18 03:39:33 +02:00
fgenesis
c82aab1e51 Move RenderObject::positionSnapTo to PauseQuad
And another RenderObject member less...
2022-05-18 02:52:30 +02:00
fgenesis
046b98c725 delete some unused code 2022-05-18 02:38:53 +02:00
fgenesis
111cd43805 Move members related to collision mask from RenderObject to Bone 2022-05-18 02:15:19 +02:00
fgenesis
e33bde0a89 Small extension to bone:
+ attrib c="0" in the anim XML to turn off all collision for a bone
  even if collide radius or collision mask is set
+ Lua func: bone_toggleCollision() to change the above setting at runtime
+ Lua func: bone_spawnParticlesFromCollisionMask()
- Fix int truncation in entity_collideSkeletalVsLine()
2022-05-18 01:18:27 +02:00
fgenesis
e1f78aaca7 QuadGrid now working 2022-05-14 05:14:08 +02:00
fgenesis
fa35ee41bd some work on quadgrid, still untested 2022-05-13 17:13:27 +02:00
fgenesis
ad36f6cf99 remove unused QuadTrail 2022-05-12 17:35:39 +02:00
fgenesis
e357a22784 another temp commit 2022-05-07 02:47:59 +02:00
fgenesis
ce4ca7f794 Temp commit, some WIP things:
- QuadGrid draft
- Fix minimap_setHealthBarTex accidentally calling MiniMapRender::setAvatarTex
- don't trunkcate to int in entity_rotateTo*() functions
2022-05-06 19:14:47 +02:00
fgenesis
764d106d50 Work around issues with SDL_WarpMouse() in SDL > 2.0.20
Without this and using an affected SDL version, the song circle
is all jittery; the mouse cursor appears to really like to stick
to notes in the left half of the circle.

This issue first appeared in SDL commit 82793ac279d19b5 and caused
the entire game to hang (infinitely firing mouse motion events);
SDL commit 31f8c3ef4409a93fa fixed the hang but instead made
SDL_WarpCursor() jittery.
(Also see SDL commit 331859079674465 for a follow-up)
2022-05-04 03:04:26 +02:00
fgenesis
e32603e6c0 less compression for screenshots so taking one is faster 2022-04-29 10:34:10 +02:00
fgenesis
9290acd379 fix taking screenshots 2022-04-29 10:26:25 +02:00
fgenesis
988c8c79e4 set better default compiler options; optional console in release mode on windows 2022-04-08 19:31:16 +02:00
fgenesis
b1611d4870 oops, spam a little less 2022-04-07 03:14:54 +02:00
fgenesis
a97b1bbd5c try harder to display early errors (eg. before SDL init) 2022-04-07 03:12:21 +02:00
fgenesis
d34a962e78 fix linux/gcc build 2022-04-07 03:11:24 +02:00
fgenesis
49b9e0f05a Rework & cleanup CMake project files
- Building with CMake for development is now actually sane
- Split deps into projects and extra files
- Building against external deps should still work but needs testing
- Can now build out of the box without further adjustments as long as SDL(2) is found properly
- Build Lua in C++ mode (so it can use exceptions instead of setjmp/longjmp)
  - Unfortunately we need to enable exceptions for this :(

- Remove these defines:
  * AQUARIA_BUILD_SCENEEDITOR (now always on)
  * AQUARIA_BUILD_CONSOLE (now always on)
  * BBGE_BUILD_ACHIEVEMENTS_INTERNAL (now always on unless BBGE_BUILD_STEAMWORKS is defined)
  * BBGE_BUILD_OPENGL_DYNAMIC (now always on, define BBGE_BUILD_OPENGL_STATIC if needed)
  * BBGE_BUILD_FMOD_OPENAL_BRIDGE (now always on)
- BBGE_BUILD_STEAMWORKS is not actually implemented (any volunteers?)
- Prepare later removal of SDL & the old vc90 project from the repo. See #74 for extra notes.
2022-04-07 02:38:39 +02:00
fgenesis
f0f9f1a719 Fix wrongly disabled mipmap sampling in GL_GENERATE_MIPMAP mode 2022-04-05 10:02:33 +02:00
fgenesis
e7594ecead Obsolete & remove BBGE_BUILD_SDL2. Closes #65. 2022-04-05 09:58:57 +02:00
fgenesis
96216503c4 remove zlib, libpng, glpng and related code; add some stb libs; rework texture loading 2022-03-31 21:03:40 +02:00
fgenesis
e07723939f thanks clang 2022-03-30 19:32:37 +02:00
fgenesis
2e3cd6a103 use (slightly fixed up) mojoAL instead of openALsoft in SDL2 builds 2022-03-21 18:03:01 +01:00
fgenesis
26759c8be1 remove iprof and BBGE_PROF (#74) 2022-03-17 20:50:42 +01:00
fgenesis
db079a55ef Replace the old Lua small block allocator with a new one (for #74)
Renamed original .c file to .cpp to make VS2008 happy
2021-01-23 14:07:39 +01:00
fgenesis
e4b2ee6e70 make travis happy (confirmed working with SDL1.2 + SDL2) 2021-01-23 13:52:10 +01:00
fgenesis
db054e7382 Fix startup on windows 10 with new SDL2 and sensors disabled by group policies 2021-01-23 13:23:33 +01:00
fgenesis
5897d369b0 Remove unused virtual RenderObject::onDestroy() method 2021-01-12 19:00:31 +01:00
fgenesis
4990ae3bf6 Fix ACTION_MENU* input to be sent as intended, broke in a7c2d054a2 iirc 2021-01-12 14:24:30 +01:00
fgenesis
37fa087c2e prevent jerkiness when creating window in fullscreen mode 2021-01-12 14:18:33 +01:00
fgenesis
067472d61b avoid creating a (0,0)-sized window at the start 2021-01-12 14:05:22 +01:00
fgenesis
a1f92433d8 fixes to window size management, fullscreen transition, etc 2021-01-12 11:06:09 +01:00
fgenesis
86cd7950ca Merge branch 'experimental' into controllerfixup + bring back BBGE_BUILD_OPENGL_DYNAMIC
# Conflicts:
#	BBGE/Base.cpp
#	BBGE/FrameBuffer.cpp
#	BBGE/Shader.cpp
2021-01-12 02:45:41 +01:00
False.Genesis
b3b3d98f79
Merge pull request #73 from dimag0g/experimental
Compatibility with non-standard build environments
2021-01-12 02:15:49 +01:00
fgenesis
94dbecac43 Only keep the one screen mode with the highest refresh rate per resolution 2021-01-12 01:57:29 +01:00
fgenesis
03c698320a Merge branch 'experimental' into controllerfixup
# Conflicts:
#	Aquaria/AnimationEditor.cpp
#	Aquaria/AquariaComboBox.cpp
#	Aquaria/AquariaMenuItem.h
#	Aquaria/Avatar.cpp
#	Aquaria/BitBlotLogo.cpp
#	Aquaria/Continuity.cpp
#	Aquaria/DSQ.cpp
#	Aquaria/DSQ.h
#	Aquaria/Game.cpp
#	Aquaria/Game.h
#	Aquaria/Intro.cpp
#	Aquaria/RecipeMenuEntry.cpp
#	Aquaria/SceneEditor.cpp
#	Aquaria/States.h
#	Aquaria/UserSettings.cpp
#	BBGE/ActionMapper.cpp
#	BBGE/Base.cpp
#	BBGE/BitmapFont.h
#	BBGE/Core.cpp
#	BBGE/Core.h
#	BBGE/ParticleManager.cpp
#	BBGE/Particles.h
#	BBGE/RenderObject.h
#	BBGE/Shader.cpp
#	BBGE/Shader.h
#	BBGE/SkeletalSprite.h
#	BBGE/Texture.cpp
#	BBGE/Vector.h
2021-01-12 00:26:44 +01:00
fgenesis
25696c4436 Enable msvc signed/unsigned mismatch warnings and fix remaining cases 2021-01-11 19:27:54 +01:00
Valentin Ochs
c3f1058ff2 Change some stuff for butt-endian architectures 2021-01-11 12:28:27 +01:00
Valentin Ochs
4c7c4c240e Fix some more warnings 2021-01-11 12:28:27 +01:00
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
Dmitry Grigoryev
9596e7eac8 fix static FrameBuffer/Shader build 2021-01-02 02:14:15 +01:00
Dmitry Grigoryev
c6968454e6 Merge branch 'master' of https://github.com/dimag0g/Aquaria 2021-01-02 01:50:48 +01:00
fgenesis
c80176d20a preliminary support for joystick POV-hats 2020-07-07 22:30:25 +02:00
fgenesis
53b027067a improvements to key config menu
- hide actionset selection if only 1 set is present
- show keys pressed
- highlight "tabs" a bit more visually
- rumble selected controller on device select change
2020-07-07 16:24:03 +02:00
fgenesis
021512337e fix build on RPi4 (and probably newer gcc), thx pelupessy
Close #62
2020-07-04 18:13:48 +02:00
Yaroslav Isakov
74e196daa5 Force desktop OpenGL 2020-07-01 18:46:13 +02:00
fgenesis
1de786efc6 Fix bug that a bone's rq="0" attribute would disappear when skel was saved while visible 2019-09-06 02:56:53 +02:00
fgenesis
61f1e87180 fix uninitialized ptr. ooopsie 2019-04-15 02:26:48 +02:00
fgenesis
6704fd1ac6 fix SDL 1.2 window focus handling 2019-03-24 21:15:27 +01:00
fgenesis
0abe0f821c hard-wire Escape key to always trigger ACTION_ESC.
Additional config for more keys/button to trigger the same action
is still possible.
2019-03-18 01:07:14 +01:00
fgenesis
77709a2d85 Display errors when loading XML fails 2019-03-18 00:50:56 +01:00
fgenesis
b7a6b52fe5 SDL window backend cleanup 2019-03-18 00:50:36 +01:00
fgenesis
04c557f5e8 Refactor Window functionality out of Core. Minor cleanups.
SDL2 impl seems to work, SDL1 impl finalization pending.
2019-01-29 00:36:48 +01:00
fgenesis
3fe9b1590c SDL 1.2 backend compiles again, but window stays black 2018-04-17 01:28:23 +02:00
fgenesis
5f2eafad7c temp commit 2018-01-21 12:47:32 +01:00
fgenesis
8f565c6171 Include stringbank.txt into binary in case stringbank.txt is out of date
This makes sure engine-internal strings are always present.
2018-01-02 20:59:38 +01:00
fgenesis
ce4f6a7d3e move StringBank to BBGE 2018-01-02 17:00:27 +01:00
fgenesis
3a96c775db work around dev warning message; fix compiler warning 2018-01-02 16:18:50 +01:00
fgenesis
64406419c1 Some fixes for msys2/mingw build 2017-09-02 22:13:46 +02:00
fgenesis
bd0e16774f Remove some old/unused cruft 2017-08-09 21:01:56 +02:00
fgenesis
78352d4402 Multi-display fixes
- Enumerate display modes to show in the resolution selector based on the
  screen we're on
- Correct graphics init code to use the display index specified in
  user settings
2017-06-26 08:34:30 +02:00
fgenesis
6f170de929 Proper ~Joystick() dtor. Make haptics optional. Hopefully fixes #50. 2017-06-25 15:56:45 +02:00
fgenesis
2bbcfa2284 Fix some ANimationEditor crashes when loading not-existing or empty anim XML 2017-04-19 02:06:34 +02:00
fgenesis
acb515b738 Unstick highlight in input config 2017-04-04 19:27:53 +02:00
fgenesis
19e967c7dd Fix crash in static initializer (how did this ever work?) 2017-02-27 02:03:46 +01:00
fgenesis
f75f81854a Check input strings in config for overflow 2017-02-27 02:03:19 +01:00
fgenesis
7f20f79d97 Display designated "empty" symbol on key config menu for unbound slots 2017-02-19 03:47:21 +01:00
fgenesis
dd4739e9a0 Now runs with both SDL 1.2 and SDL2 again 2017-02-19 01:45:55 +01:00
fgenesis
eccadf5bd7 Turns out using IDs was a bad idea, reverting to KEY_* strings 2017-02-18 22:09:43 +01:00
fgenesis
3dda97d32a Hopefully fix build against SDL 1.2. Does not yet run!
Also: Recently introduced key names in usersettings.xml will no longer work.
But this should automatically detect key names as they used to be,
and convert automatically. Needs testing.
2017-02-15 04:41:52 +01:00
fgenesis
4095fde219 Move GL headers to ExternalLibs 2017-02-15 01:03:43 +01:00
James Le Cuirot
0dd19f9cb3
Add option to use system copy of GLPNG 2017-02-10 10:01:35 +00:00
James Le Cuirot
4d1fa75545
Put tinyxml2 in subdir so that system header is respected 2017-02-10 10:01:24 +00:00
James Le Cuirot
f19011e3dd
Delete duplicate GL headers
Nothing was pointing at BBGE/glext.

Only the VS project was pointing at ExternalLibs/GL. I have pointed it
at the headers under BBGE/GL instead.

I have also adjusted the includes to use the GL prefix as is standard
practise. These will still work as BBGE is in the include path. This
allows users to build against their system GL headers simply by
deleting the BBGE/GL directory.
2017-02-09 21:08:57 +00:00
fgenesis
89c1987693 Fix crash on shutdown
GL symbols were already unloaded in ~DarkLayer().
Why did this never crash before?!
2017-02-08 22:11:55 +01:00
fgenesis
58e3a247e4 Fix build on osx 2017-02-06 03:37:07 +01:00
fgenesis
7456e785fa Remove mandatory defines and their checks:
BBGE_BUILD_SHADERS
BBGE_BUILD_FRAMEBUFFER
BBGE_BUILD_OPENGL
BBGE_BUILD_OPENGL_DYNAMIC
2017-02-05 22:51:25 +01:00
fgenesis
c581ab01d8 Some preparations to compile with SDL1.2 (not yet!) 2017-02-05 21:25:06 +01:00
fgenesis
a3fb57fde9 un-recurse a thing 2017-01-21 03:34:38 +01:00
fgenesis
8411838636 Remove entity myTimer and related Lua functions. Fix warnings for now unsigned Entity::layer
- entity_resetTimer()
- entity_stopTimer()
2017-01-20 20:54:17 +01:00
Valentin Ochs
9245bee717 Fix some warnings
mostly sign-related, but also some about commas after the last item in
an enum list, usage of default in switches, implicit or old-style casts
2017-01-20 19:10:40 +01:00
fgenesis
d7cdb72143 Some more warning related stuff, but changed my mind about re-enabling the remaining ones :/ 2017-01-19 23:44:30 +01:00
fgenesis
7a60f493a5 Re-enable double->float cast warning and fix all instances where this fired 2017-01-19 23:31:56 +01:00
fgenesis
9bb3fe86f6 More signed/unsigned comparison fixes. int -> size_t. 2017-01-19 18:50:33 +01:00
Valentin Ochs
f9357e7fca Merge branch 'gccwarn' into controllerfixup 2017-01-17 11:15:47 +01:00
fgenesis
9d80077754 Preparations to get rid of DSQ::inputMode -- Pass device to action() methods. 2017-01-14 22:53:20 +01:00
Valentin Ochs
beb2216265 Change some stuff for butt-endian architectures 2017-01-14 20:10:42 +01:00
Valentin Ochs
2374c1a86b Revert ~0 to -1 2017-01-14 19:22:37 +01:00
Valentin Ochs
4dc7e27ee6 Fix some more warnings 2017-01-14 18:23:53 +01:00
Valentin Ochs
fe0ab0418b Get rid of a lot of gcc warnings
Mostly signed/unsigned comparisons. Also some bugs, but I don't remember
where :D
2017-01-14 18:10:20 +01:00
fgenesis
eb8ef1fdf7 Use refresh rate setting + attempt to improve window/fullscreen apply logic 2017-01-14 00:06:04 +01:00
fgenesis
b781b45789 Implement "Desktop" resolution (0x0, default). Also fix music slider update in options menu
This makes the window resizable in desktop mode, and fixed size otherwise.
Fullscreen desktop has always the dame resolution as the desktop.
Add config setting to specify initial display.
Add config setting for the refresh rate (not yet properly integrated)

Closes #17
2017-01-13 18:20:35 +01:00
fgenesis
385c662714 Merge branch 'experimental' into controllerfixup 2017-01-13 12:25:10 +01:00
fgenesis
0dc30e668d Merge branch 'experimental' into controllerfixup
# Conflicts:
#	Aquaria/Avatar.cpp
#	Aquaria/Continuity.cpp
#	Aquaria/DSQ.cpp
#	Aquaria/DSQ.h
#	Aquaria/Game.cpp
#	Aquaria/Game.h
#	Aquaria/Main.cpp
#	Aquaria/UserSettings.cpp
#	BBGE/Base.cpp
#	BBGE/Base.h
#	BBGE/Core.cpp
#	BBGE/Core.h
#	BBGE/DebugFont.cpp
#	BBGE/Shader.cpp
#	BBGE/SoundManager.h
2017-01-13 12:19:23 +01:00
Valentin Ochs
a317a0d273 Fix charIsUpper(). Solves issue #15. 2017-01-13 10:17:06 +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
0d8a5c191c More graphics init cleanup. Remove aspect ratio check. Fix screen transition effect that broke in prev. commits. 2016-11-15 13:00:30 +01:00
fgenesis
034cf6a69f Little fixup + use RGBA16f framebuffer 2016-11-15 12:58:55 +01:00
fgenesis
ce869ba55a Load GL symbols *after* creating the window, else we only get a basic GL 1.1 context 2016-11-15 04:49:53 +01:00
fgenesis
90d70c117b Clean up framebuffer code a little 2016-11-15 04:48:21 +01:00
fgenesis
0db3c8242c Remove hardcoded Intel GMA 950 check 2016-11-15 01:18:54 +01:00
fgenesis
9422e74e43 Make window resizable 2016-11-14 04:17:04 +01:00
fgenesis
6d4f1175ba Fix input grabbing logic, add related user setting, minor cleanup 2016-11-14 03:42:11 +01:00
fgenesis
e92b76cf40 Some more opengl setup cleanup and fullscreen switching improvement 2016-11-14 03:42:10 +01:00
fgenesis
fe7c6ee048 Better fullscreen switching behavior, minor cleanup 2016-11-14 03:42:10 +01:00
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