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
b4ec82d81b
Add dummy GLFW3 controller backend
2020-03-31 16:38:05 +01:00
Clownacy
37c5236b9b
Split SDL2 code from Input.cpp
...
...So, *all* of it.
2020-03-31 16:24:20 +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
424edc5256
Add header file to CMake file as well
2020-03-31 12:20:39 +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
cf75cbcad2
Don't embed font in executable
...
Creating a Japanese build would require 4GB+ of RAM because of this.
It's about time it got removed. It was a silly idea anyway.
2020-03-17 21:14:15 +00: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
44762363cf
Bump required C++ standard to C++11
...
cute_spritebatch.h uses C99/C++11 features.
2020-03-15 00:06:30 +00:00
Clownacy
066f4988d3
CMake cleanup
2020-03-14 23:03:47 +00:00
Clownacy
720466826b
Merge branch 'accurate' into portable
2020-03-14 23:01:46 +00:00
Clownacy
36f961d328
Fix CMake build with Linux MinGW-w64
2020-03-14 23:01:27 +00:00
Clownacy
3e581b0489
Specify which type of SDL2 is being used
...
It seems that SDL 2.0.12 improved its autotools-generated CMake file,
to the point where our script mistakes it for a CMake-generated one.
2020-03-14 22:55:01 +00:00
Clownacy
03c460a60b
Merge branch 'accurate' into portable
2020-03-14 22:10:00 +00:00
Clownacy
4ef83526c0
More CMake cleanup
2020-03-14 21:59:42 +00:00
Clownacy
cadfeab385
Neaten-up the CMake file
2020-03-14 20:26:59 +00:00
Clownacy
216aec7caf
Clean-up CMake LTO
...
Honestly, considering the user can enable LTO by setting
CMAKE_INTERPROCEDURAL_OPTIMIZATION, I might remove this option too...
2020-03-14 20:19:48 +00:00
Clownacy
a0f7ce8d9f
Merge branch 'accurate' into portable
2020-03-14 20:11:42 +00:00
Clownacy
10fbb05670
Remove some Make/CMake options
...
These options would add compiler flags that the user could just pass
on their own with CXXFLAGS/CMAKE_CXX_FLAGS.
2020-03-14 20:03:42 +00:00
Clownacy
a70b4e444e
Add CMake info to the readme
2020-03-14 19:42:58 +00:00
Clownacy
efa987d7ad
Make the static MSVC runtime linkage optional
...
I'd tell people to use CMAKE_MSVC_RUNTIME_LIBRARY instead, but, eh,
it's too recent.
2020-03-14 19:36:47 +00:00
Clownacy
505c9cc8f5
Clean-up MSVC tweaks
2020-03-14 19:30:57 +00:00
Clownacy
1dccec0e31
Bump required CMake version to 3.12
...
I was only able to test 3.8 because of my Pi, but since I've updated
Raspbian, it doesn't use that version anymore, so I can't guarantee
it works.
2020-03-14 19:27:32 +00:00
Clownacy
de1740b61c
Match the portable branch's CMakeLists.txt
2020-03-14 19:15:41 +00:00
Clownacy
3de557807c
This option shouldn't be on by default
2020-03-14 19:10:31 +00:00
Clownacy
140c67a5cb
Make CMake file match the portable branch one
2020-03-14 19:09:32 +00:00
Clownacy
406ff18909
Add CMakeLists.txt and Visual Studio 6 support
...
The CMake file allows you to compile the accurate branch with
whatever version of Visual Studio you have lying around, without
having to clumbsily convert the VS2003 project.
I've tested this with VS2019, VS2003, and VS6. VS6 is goofy - it's
missing a few types and constants, and it's not smart enough to
realise that ints and longs are the same in ILP32 data models. I've
added a few small hacks to address this. Might undo them. Who knows.
For now, I want to support VS6 because Mint compiled CSE2 with it
before, and because VS6 uses `msvcrt.dll` as its C runtime, which
apparently comes pre-installed in Windows, as opposed to all those
other annoying runtime versions that require they be installed
separately (which is why MinGW targets it specifically).
Also, VS6 *should* give us Win95-compatible builds. The internet says
MSVC2003 is Win95-compatible too, but Mint claims the vanilla EXE
doesn't run on there. I imagine it has something to do with its
static runtime library (VS2003 links the static one by default for
some reason).
2020-03-13 21:35:51 +00:00
Clownacy
39c1d92947
CMakeLists.txt - Wrap paths in ""
2020-03-05 15:16:17 +00:00
Clownacy
9af25f7c67
Hopefully fixed miniaudio backend on Windows
...
Stupid BOOL type
2020-03-04 21:02:17 +00:00
Clownacy
156c01e672
Rename RENDERER and AUDIO_BACKEND
...
Now they're BACKEND_RENDERER and BACKEND_AUDIO
2020-02-29 18:33:32 +00:00
Clownacy
72672e142d
Makefile/CMakeLists.txt fixes
2020-02-29 18:19:06 +00:00
Clownacy
a943e80b1a
Add miniaudio audio backend to Makefile
...
Also made the CMake file link the libs miniaudio needs
2020-02-29 18:19:06 +00:00
Clownacy
14735caac3
Mark CMake target thingies as private
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
88a554784b
Fix the build on portable
...
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-01-31 06:50:20 +01:00
Gabriel Ravier
ebb238ebdc
Added ICC checks for native optimizations
...
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-01-29 23:01:31 +01:00
Gabriel Ravier
d88db09752
Added CMake option for native optimizations (-march=native)
...
Signed-off-by: Gabriel Ravier <gabrielravier@gabrielAncientIBMv2>
2020-01-29 23:01:31 +01:00
Clownacy
cf8977207e
Stop using SDL for .bmp decoding
...
Now it uses stb_image instead
2020-01-26 19:47:50 +00:00
Clownacy
26475dacdf
Merge branch 'accurate' into portable
2020-01-24 13:56:12 +00:00
Clownacy
c45e888b74
Improve CMake style consistency
2020-01-23 00:59:27 +00:00
Clownacy
db9350bdb9
Add LTO option to CMakeLists.txt
2020-01-22 23:39:05 +00:00
Clownacy
976e2425fc
Use native window/taskbar icons on Windows
...
This used to be a feature before the accurate-portable split, I'm
just restoring it.
Previously, while the EXE itself had a unique icon, the window and
taskbar both used the generic 'small' icon, which the original EXE
only used for the window.
SDL2 gives us a way to assign separate icons to each, but it's a
little clunky: it's Windows-only, requires the icons be in .ico
format, and needs them to be embedded in the EXE as resource files.
Also, for some reason, SDL2 doesn't let us refer to them by name - we
have to use their numerical ID.
2020-01-21 11:27:32 +00:00
Clownacy
23eed95ff4
Fix CMake build script not finding FindOpenGLES2.cmake
2020-01-20 14:01:22 +00:00
Clownacy
4cbc56e272
Add OpenGL ES 2.0 renderer
2020-01-20 13:49:30 +00:00
Clownacy
f7b8373ad7
Merge branch 'accurate' into portable
2020-01-15 08:18:30 +00:00
Clownacy
5a72140a5d
Rename glad.cpp back to glad.c
2020-01-15 07:31:35 +00:00
Clownacy
d76b074aa0
Switched from GLEW to GLAD
...
One less set of license obligations to satisfy (GLAD-generated files
are public-domain).
2020-01-15 07:11:43 +00:00