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