Commit graph

1669 commits

Author SHA1 Message Date
Clownacy
e599d02fb1 Added NATIVE_OPTIMIZATIONS option to Makefile 2020-01-29 22:19:47 +00:00
Clownacy
e4394aea1f Whoops, forgot to remove this #include 2020-01-29 22:16:21 +00:00
Clownacy
d0defa4a7b This cast shouldn't be necessary 2020-01-29 22:15:53 +00:00
Clownacy
638e96be11 Move and rename attrHot
Like the MIN and MAX macros, I'd rather keep this in the source file
than a common header.
2020-01-29 22:14:35 +00:00
Clownacy
9bd21cca12
Merge pull request #95 from GabrielRavier/improvePerformance
Improve sound performance and add option for native optimizations
2020-01-29 22:12:49 +00:00
Gabriel Ravier
5e6658847c Re-add missing "(double)"
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-01-29 23:04:17 +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
88a8362f23 Reverted fmodf stuff and tried to make it so C++ compilers would go for the float version in appropriate circumstances (fmodf directly is unavailable due to not being in C89)
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
Gabriel Ravier
1442299924 Made MixSounds be marked as hot
Signed-off-by: Gabriel Ravier <gabrielravier@gabrielAncientIBMv2>
2020-01-29 23:01:31 +01:00
Gabriel Ravier
c15ecbf728 Used fmodf instead of fmod for a 0.5% performance increase in MixSounds
Signed-off-by: Gabriel Ravier <gabrielravier@gabrielAncientIBMv2>
2020-01-29 23:01:31 +01:00
Clownacy
bd876e9309 Change icon resource IDs
Visual Studio 2017 doesn't like them being 0 and 1: the compiled EXE
uses the small icon as the taskbar icon. Changing them to 101 and
102, like CSE2 did before the accurate-portable-split, fixes this.
2020-01-28 21:26:28 +00:00
Clownacy
f127010848 Use stb_image's file API
Streams data, instead of reading the whole file into memory.
2020-01-27 15:07:08 +00:00
Clownacy
30dda63671 Freetype -> FreeType 2020-01-27 01:04:19 +00:00
Clownacy
1cffacb72e Added DecodeBitmapFromFile 2020-01-27 00:30:54 +00:00
Clownacy
2ef48bea8a Change DecodeBitmap to use unsigned ints
Why would an image decoder ever return a _negative_ image
width/height?
2020-01-26 23:59:04 +00:00
Clownacy
4f7bd116f6 Add missing SDL.h #includes 2020-01-26 23:57:09 +00:00
Clownacy
8dd1b05790 Fix compilation with the Makefile 2020-01-26 23:55:17 +00:00
Clownacy
cccef2b089 Fix memory leaks 2020-01-26 23:54:20 +00:00
Clownacy
5e60c15b1d Add missing sanity check 2020-01-26 23:53:40 +00:00
Clownacy
1e21b32dec Remove SDL.h #include from Draw.h 2020-01-26 20:17:40 +00:00
Clownacy
b650294b8b Change LoadFileToMemory's function signature 2020-01-26 20:06:31 +00:00
Clownacy
cf8977207e Stop using SDL for .bmp decoding
Now it uses stb_image instead
2020-01-26 19:47:50 +00:00
Clownacy
dfd50ecf8d Remove MycParam.cpp's dependency on SDL
Instead we just encrypt/decrypt the 290.rec data in an
endian-neutral way.
2020-01-26 14:45:36 +00:00
Clownacy
331d5a2d95 Merge branch 'accurate' into portable 2020-01-26 13:52:47 +00:00
Clownacy
30dced2587 Correct the style of some pointer checks 2020-01-26 13:52:24 +00:00
Clownacy
8d6c449482 Catch an entry parameter list I missed 2020-01-26 13:35:47 +00:00
Clownacy
e33bd9c8f9 Fix visual artefacting on the Pi
I'm not sure why there was linear filtering when I was rendering at
1:1 pixel ratio, but it did happen. This fixes it by forcing
nearest-neighbour. The artefacting was caused by the linear filtering
blending with pixels outside the specified texture coordinates,
creating lines around everything.

Fun fact: the framebuffer technique CSE2 uses is demanding on the Pi
(1278x720 runs at 60 FPS when the framebuffer is forced to 852x480,
even though all the internal rendering is still 1278x720). I guess
rendering those extra 920160 pixels really takes its toll.
2020-01-25 14:26:15 +00:00
Clownacy
99a8b2bd18 Improve OpenGL performance on the Raspberry Pi
Apparently 2 VBOs wasn't enough. This bumped the framerate from 13FPS
to 20FPS in a stress-test (CSE2E at 1704x960 on a Raspberry Pi 3B
in X11 with the KMS OpenGL driver).
2020-01-25 14:22:50 +00:00
Clownacy
517824216e Merge branch 'accurate' into portable 2020-01-24 21:01:33 +00:00
Clownacy
0bcf978424 Rename HookDirectInputDevice 2020-01-24 21:00:34 +00:00
Clownacy
946d816a3b Add save data to .gitignore 2020-01-24 14:22:05 +00:00
Clownacy
26475dacdf Merge branch 'accurate' into portable 2020-01-24 13:56:12 +00:00
Clownacy
917d69fc4a Move the data folder back to the game folder
The whole 'copy data folder from assets folder to the game folder
when Makefile is ran' thing just made modding annoying.
2020-01-24 13:44:57 +00:00
Clownacy
7aedf1c8a7 Merge branch 'accurate' into portable 2020-01-23 22:08:38 +00:00
Clownacy
53f7c02f5f Fix typo in Travis file
I hate learning new languages...
2020-01-23 22:08:01 +00:00
Clownacy
a9f6bb6459 Merge branch 'accurate' into portable 2020-01-23 22:04:29 +00:00
Clownacy
a3bd721df2 Clean-up Travis file 2020-01-23 22:01:30 +00:00
Clownacy
d8dde5f9d2 Fix the Travis file 2020-01-23 21:00:59 +00:00
Clownacy
fc874f063e Travis: Split CMake and Make 2020-01-23 20:54:33 +00:00
Clownacy
6008550295 Alright, screw this, no Windows support
Getting real sick of waiting 10 minutes for MSYS2 to reinstall itself
just so Make can fail with no error message
2020-01-23 20:17:44 +00:00
Clownacy
f84289a190 arg fix dumb type
I really really really really really really should have done these
commit on a branch, and just squashed them together before merging
them back to the regular branch.
2020-01-23 20:02:30 +00:00
Clownacy
f1c59e466d I hate this so much
Some console output would be nice, but Travis's Windows support is
trash and MSYS2 isn't treated as standard at all
2020-01-23 19:51:59 +00:00
Clownacy
52e2b1da34 ... 2020-01-23 19:40:23 +00:00
Clownacy
01b218ef4d ... 2020-01-23 19:27:30 +00:00
Clownacy
88169689af I hate this so much 2020-01-23 19:16:13 +00:00
Clownacy
209f9dfbe0 Try something else 2020-01-23 18:58:35 +00:00
Clownacy
5e9ff515fa Let's see if Linux works instead 2020-01-23 18:53:51 +00:00
Clownacy
5e0f44b792 Ugh... 2020-01-23 18:44:23 +00:00
Clownacy
628fd6a739 Try to get it working some more 2020-01-23 18:34:32 +00:00