Commit graph

373 commits

Author SHA1 Message Date
Clownacy
5b996b3459 Give glad a CMake file
Today I learned that CMake will error if the project shares a
dependency with a nested CMake file (which could be from an
entirely-separate project that you have no control over).

I'm starting to really hate CMake.
2020-04-03 01:34:47 +01:00
Clownacy
10f9882108 Shut up a warning 2020-04-03 00:00:13 +01:00
Gabriel Ravier
afd3abecc4 Correctly used Attributes.h instead of a definition directly in SoftwareMixer.cpp
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-04-03 00:43:34 +02:00
Gabriel Ravier
f68984bd58 Merge branch 'portable' into improvePerformance2
# Conflicts:
#	src/Backends/Audio/SDL2.cpp
2020-04-03 00:36:44 +02:00
Clownacy
2b65c5811a Merge branch 'portable' of https://github.com/Clownacy/Cave-Story-Engine-2 into portable 2020-04-02 23:18:44 +01:00
Clownacy
ef00bbcdd4 Get window icon working in GLFW
Amazingly, this actually works in SDL2, so now they both use this
method.
2020-04-02 22:03:08 +01:00
Clownacy
373c0e658a Use PlatformBackend_ShowMessageBox somewhere 2020-04-02 21:32:50 +01:00
Clownacy
96f46f3387 Fix compilation error 2020-04-02 00:00:12 +01:00
Clownacy
30c7967ed4 Fixes 2020-04-01 23:15:22 +01:00
Clownacy
135365f941 Merge branch 'portable' of https://github.com/Clownacy/Cave-Story-Engine-2 into portable 2020-04-01 22:21:56 +01:00
Clownacy
00ee155176 Fixes and a comment 2020-04-01 21:58:02 +01:00
Clownacy
db2f079266 Cleanup and comments 2020-04-01 21:52:18 +01:00
Clownacy
0182ab6eb3 Get drag-and-drop working again 2020-04-01 21:43:04 +01:00
Clownacy
add0627f03 Restore custom cursor support 2020-04-01 21:36:46 +01:00
Clownacy
f23117bbdc Overhaul how window icon loading works
Now most of it has been moved out of the backends.
2020-04-01 21:20:26 +01:00
Clownacy
878cac3b3f Implement mouse-hiding in fullscreen 2020-04-01 21:05:05 +01:00
Clownacy
0c70b1ac31 Remove seemingly-useless casts 2020-04-01 20:50:45 +01:00
Clownacy
81b5a7e789 More cleanup 2020-04-01 16:47:58 +01:00
Clownacy
7d9d80f07a Improve SDL2 fullscreen creation 2020-04-01 16:30:46 +01:00
Clownacy
49f7887930 More cleanup 2020-04-01 16:27:55 +01:00
Clownacy
ff70664604 Cleanup and fixes 2020-04-01 16:11:34 +01:00
Clownacy
7bd6ff8617 Get the window icon working on GLFW3 2020-04-01 15:44:00 +01:00
Clownacy
8ff2f63416 Update SDL2 window backend
The window backends will probably be merged with the platform
backends at some point.
2020-04-01 15:26:39 +01:00
Clownacy
4d8be3bc36 More refactoring
Get fullscreen mostly working in GLFW3
2020-04-01 15:21:40 +01:00
Clownacy
c4aa8e28bb More refactoring 2020-04-01 14:57:07 +01:00
Clownacy
073712017f Get OpenGL ES 2.0 working again 2020-03-31 22:14:57 +01:00
Clownacy
5dbca99e19 Extremely horrible terrible nightmare refactoring
Working on ridding CSE2 of its hard SDL2 dependency.

For now, I have a rudimentary GLFW3 backend.
2020-03-31 21:56:10 +01:00
Clownacy
b57ccd7ed5 Shut up errors on Windows 2020-03-31 20:22:54 +01:00
Clownacy
b4ec82d81b Add dummy GLFW3 controller backend 2020-03-31 16:38:05 +01:00
Clownacy
63e75089d6 Split SDL2 code from Game.cpp 2020-03-31 16:32:50 +01:00
Clownacy
584ea57c5d Split SDL2 code from Profile.cpp and TextScr.cpp 2020-03-31 16:28:28 +01:00
Clownacy
37c5236b9b Split SDL2 code from Input.cpp
...So, *all* of it.
2020-03-31 16:24:20 +01:00
Clownacy
142bca6578 Split SDL2 code from Draw.cpp 2020-03-31 16:11:31 +01:00
Clownacy
3a5a5044b1 Split SDL2 code from Main.cpp 2020-03-31 16:07:34 +01:00
Clownacy
d0b20316de Don't do -Iexternal
It pollutes the #include space.
2020-03-31 14:26:24 +01:00
Clownacy
61e708751d Apply missing OpenGL constants 2020-03-31 12:53:58 +01:00
Clownacy
d91c1e9bdc Update the SDL2 audio backend
Now uses the shared software mixer
2020-03-31 12:19:44 +01:00
Clownacy
732d3bbc5c Split software audio mixer to its own file
This will be shared between the SDL2 and miniaudio backends,
eliminating all that digusting duplicate code.
2020-03-31 12:14:20 +01:00
Clownacy
4e58457e1d Make miniaudio backend use native sample rate
This avoids the need for miniaudio to resample the mixer's output.
2020-03-31 10:20:20 +01:00
Gabriel Ravier
fb353fbc7e Backends/Rendering/SDLTexture: Solve -Wnarrowing warning
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-03-18 11:54:46 +01:00
Clownacy
dd04977f29 Update miniaudio to v0.10.1
This newer version supports marking all of its declarations as
static, avoiding the conflict between the miniaudio audio backend,
and the copy of miniaudio embedded in clownaudio in the enhanced
branch.
2020-03-17 13:25:41 +00:00
Clownacy
9af25f7c67 Hopefully fixed miniaudio backend on Windows
Stupid BOOL type
2020-03-04 21:02:17 +00:00
Clownacy
af24d010a5 Clean-up miniaudio backend a little
Really need to figure out the best way to abstract-away the software
mixer...
2020-02-29 18:19:06 +00:00
Clownacy
8ec8a8d990 Added unfinished miniaudio audio backend
Currently only works with CMake
2020-02-29 18:18:59 +00:00
Gabriel Ravier
b238bcee03 Remove random lines mistakenly added by merge 2020-02-14 08:27:07 +01:00
Gabriel Ravier
5d61641415 Added ATTRIBUTE_HOT to Backend_ColourFill
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-02-13 19:55:39 +01:00
Gabriel Ravier
f43bd4f876 Removed bad omp (it doesn't actually improve anything, i did my measurements wrong) 2020-02-13 19:55:39 +01:00
Gabriel Ravier
2adfef0035 Got Backend_Blit to go from 17% CPU usage to 11% :
- used __builtin_expect to get a 8.5% performance improvement
- used #pragma omp for to get a 30% performance improvement

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-02-13 19:55:39 +01:00
Gabriel Ravier
e8ec6a8ffb Optimize Backend_Blit a bit 2020-02-13 19:55:39 +01:00
Gabriel Ravier
65db12baaa Started trying to optimize MakePixelWaveData 2020-02-13 19:55:39 +01:00