Commit graph

100 commits

Author SHA1 Message Date
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
Clownacy
404d748da7 Rename ALL_WARNINGS and FATAL_WARNINGS
This way, all three options appear neatly together when 'cmake -LH'
is ran.
2019-10-29 11:53:02 +00:00
Clownacy
e6b8221fdb Fix DoConfig always having the warning options enabled 2019-10-29 11:50:49 +00:00
Clownacy
68fceb63c4
Merge pull request #63 from GabrielRavier/addWarnings2
Add warnings
2019-10-29 11:44:13 +00:00
Gabriel Ravier
f6c19c5501 Move warnings in the README too
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-10-29 10:07:43 +01:00
Gabriel Ravier
d40376ff35 Removed bin2h mentions in CMakeLists, moved warnings options and FORCE_LOCAL_LIBS into a seperate block where the descriptions were improved and added warnings to DoConfig
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-10-29 10:03:13 +01:00
Clownacy
4e99c97fee
Merge pull request #64 from GabrielRavier/fixMSVCUtf8
Make MSVC recognize source files as UTF-8
2019-10-28 19:00:17 +00:00
Gabriel Ravier
94442d9ce3 Made it so MSVC interprets source files as UTF-8 to fix compile
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-10-28 18:22:31 +01:00
Gabriel Ravier
01abc0541a Added code that prints the compiler ID and fixed bin2h's compiler detection code to use the C compiler ID of the C++ compiler ID (which isn't available then as bin2h is in c)
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-10-27 21:22:10 +01:00
Gabriel Ravier
d6ec92cba5 Attempt 2 at making warnings work
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-10-27 21:02:59 +01:00
Gabriel Ravier
44d6dac407 First attempt at making warnings work
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-10-27 20:42:19 +01:00
Clownacy
15ad469f67 Shut up that CMake OpenGL warning
What's so hard about CMake *just working*? Why do I have to jump
through all these stupid hoops?
2019-10-27 18:20:44 +00:00
Clownacy
7f0b8ac40d Missed an 'SDLTexture', there 2019-10-14 22:35:47 +00:00
Clownacy
0b8c49b984 Rename SDL RENDERER options
Been meaning to do this for ages
2019-10-14 22:20:21 +00:00
Clownacy
5838eaba1f Add a FOSS Japanese font
It doesn't seem that great at 320x240, but I don't speak Japanese so
what do I know?
2019-09-27 11:18:26 +00:00
Gabriel Ravier
c9b248ba64
Removed space before ':' and re-added comma before or
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-11 19:01:36 +02:00
Gabriel Ravier
dd190bd276
Remove option change, wrote "cross-gcc" as "cross-GCC" and "mingw" as "MinGW"
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-11 14:32:48 +02:00
Gabriel Ravier
d686152e84
Fixed question not being a question, "Emscriptem" and saying "cross-compiled" twice
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-11 14:11:01 +02:00
Gabriel Ravier
7176bcab9e
Added more detail to the cross-compile comment
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-11 13:37:34 +02:00
Gabriel Ravier
a9f95ed1a2
Changed some comments and messages in CMakeLists.txt
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-11 08:24:00 +02:00
Clownacy
c60cdb3610 Make CMake detect static SDL2 installations
Fixes #46
2019-09-10 12:23:09 +00:00
Clownacy
b5f2fa8693 Add a DEBUG_SAVE option to CMakeLists.txt 2019-09-06 21:24:54 +01:00
Clownacy
b53741ca25 Fix CMakeLists.txt some more 2019-09-06 19:59:44 +01:00
Clownacy
9f40c68ab2 Repair CMakeLists.txt 2019-09-06 19:27:32 +00:00
Clownacy
e6350151c9 Revert "Remove the leftover CMakeLists.txt file"
This reverts commit c7c5077103.

It probably doesn't work anymore, but I plan to get it working again
in this branch.
2019-09-05 12:48:46 +00:00
Clownacy
c7c5077103 Remove the leftover CMakeLists.txt file
I might bring this back at some point. Depends.
2019-09-05 12:46:39 +00:00
Clownacy
ea83d4ba8a Merge branch 'master' into accurate 2019-08-25 20:35:01 +01:00
Clownacy
c4599bc146 Allow third-party in-source files to go in the external folder 2019-08-10 22:47:40 +01:00
Clownacy
cdbcd5f6c3 Added a local copy of GLEW 2019-08-10 21:47:06 +01:00
Clownacy
fc0653e5aa Back to OpenGL 3.2 (I really want the core profile)
In OpenGL 3.1, compatibility mode was an extension, meaning it could
never actually be disabled. 3.2 fixed that with the introduction of
profiles.
2019-08-10 18:05:01 +01:00
Clownacy
7146288e94 Sod it, fall back on compatibility mode if it's available
This way, I can use immediate mode, which is way faster than using
buffers for some reason. Since I'm not using profiles anymore, I
dropped the minimum requirement to OpenGL 3.1. If a driver doesn't
support Legacy GL, then it can use the slow buffer code.

But seriously, I need to figure out why using buffers is so slow.
If this was a common problem, Modern OpenGL wouldn't have made it the
only option.
2019-08-09 19:19:43 +01:00
Clownacy
eb62a80956 Change references to OpenGL 2.1 to 3.2 2019-07-31 22:38:33 +00:00
Clownacy
348a691c6c GLU is unneeded 2019-07-31 02:49:07 +00:00
Clownacy
b998719ff1 Update CMakeLists.txt, the Makefile, and the readme 2019-07-24 20:09:27 +01:00
Clownacy
05f382961d Added OpenGL 2.1 renderer
Yay 100% hardware-acceleration. Yes, I know 2.1 is outdated and
crappy, but it was the easiest one to write. I'll probably make an
OpenGL 3.0 Core renderer at some point.

Anyway, font rendering isn't here yet, because I plan to overhaul it.
2019-07-23 15:20:14 +01:00
Clownacy
44456e4a25 Add an SDL_Surface-based renderer
Ha, my custom software renderer is faster!
2019-07-17 16:09:18 +01:00
Clownacy
b84661d88a Move the backend files around a bit 2019-07-15 17:01:42 +01:00
Clownacy
15bfd00d25 Added hardware-accelerated rendering backend
Still need to add the code for surviving render target losses
2019-07-15 16:47:10 +01:00
Clownacy
21cf78b86d Split Draw.cpp into common code and backend code
Should be easy to add the new hardware renderer now
2019-07-15 13:42:49 +01:00
Clownacy
974865e2d2 Add some Windows-only Generic.cpp functions
These things are annoying. I really need to split this repo into
accurate and portable branches soon.
2019-07-03 11:22:40 +01:00
Clownacy
31196e15ec CMake fixes
This fixes Ninja support, fixes Visual Studio debug builds, and
fixes Windows builds.
2019-06-21 02:45:16 +01:00
Clownacy
49defcc3fb Now the build output directory is generated completely
The data folder is now stored in the new assets folder, and copied
across as part of the build process.
2019-06-17 19:13:29 +00:00
Clownacy
e9c42c6c30 Put back those dashes removed in the last commit
Whitespace selection apparently selects more than whitespace.
Thanks, Geany.
2019-06-16 20:29:38 +00:00