Commit graph

482 commits

Author SHA1 Message Date
Clownacy
0e99e77337 Enabled subpixel rendering in the local copy of FreeType
This makes the text resemble the ClearType text rendered by Windows
in the vanilla game.
2019-04-26 02:54:30 +01:00
Clownacy
896b09f336 Fixed some CMake problems that were preventing builds on Windows
FLTK kinda sucks
2019-04-26 02:50:23 +01:00
Clownacy
ac465d29b4 Mean CMake dependency overhaul
I'm taking a page from Dolphin's book, and including copies of each
dependency's source code. This combines the ease of use of including
pre-built libraries instead of needing to navigate a package manager
 - as is (or was) the case for MSVC - with the portability of using
packages. Granted, this method's more of a jack of all trades,
master of none, since it's *less* user-friendly than prebuilt
packages (compilation times), and you don't get the per-distro
compatibility fixes you'd get from a package manager.

You can still use system libs if you want. In fact, it's still the
default behaviour: compiling the libs manually is just a fallback.
I'll add an option to force-enable this soon, however, since it's a
nicer way to produce static MSYS2 builds than the hackish nightmare
that I was using before. Not to mention, having my own copy of the
sources means I can provide my own fixes and tweaks your package
manager may not. For example, I can combine MSYS2's FreeType
subpixel rendering with vcpkg's fix for SDL2 exporting its symbols
in static builds.
2019-04-26 01:52:02 +01:00
Clownacy
7d222231ae Added some missing headers 2019-04-26 01:41:36 +01:00
Clownacy
b5a12f8888 Merge branch 'master' of https://github.com/clownacy/Cave-Story-Engine-2 2019-04-25 22:31:42 +01:00
Clownacy
07c5734498 Tweaked CMake file 2019-04-25 22:31:13 +01:00
Clownacy
090ae9f6ce Fix FLTK not finding its headers
Stupid FLTK_INCLUDE_DIR not being called FLTK_INCLUDE_DIRS like a normal
library
2019-04-25 19:02:04 +01:00
Clownacy
0c018a9fd6 Deobfuscated null characters 2019-04-25 16:26:37 +01:00
Clownacy
e361715b96
Add a link to the readme explaining the Developer Command Prompt 2019-04-24 18:19:45 +01:00
Clownacy
5f0754b23c Correct NPC069's name 2019-04-23 18:59:03 +01:00
Clownacy
b38aeaf064 Made TextScriptProc return 0 if it encounters an unknown command
This is what the original game does
2019-04-23 18:19:41 +01:00
Clownacy
468aa2efc1 Added error message boxes to the TSC parser 2019-04-23 09:50:15 +01:00
Clownacy
79bf011e3b Made GenericLoad.cpp ASM-accurate 2019-04-22 20:12:43 +01:00
Clownacy
ac904aa4ae Fixed uninitialised pointer 2019-04-22 00:40:03 +01:00
Clownacy
cc4eb82162 Added caching to the font system
I never liked how much of a bottleneck the font renderer was. Maybe now
the credits won't stutter like mad on the Raspberry Pi.
2019-04-21 23:54:05 +01:00
Clownacy
f25df2ce07 Remove SDL2 dependency from Font.cpp 2019-04-21 21:28:18 +01:00
Clownacy
83d444c8d4 Added missing RUNTIME_OUTPUT_DIRECTORY setting in CMake file 2019-04-20 19:02:45 +01:00
Clownacy
84ab67f474 Added data folders from vanilla Cave Story
Makes building easier when you don't have to hunt down a zip file
2019-04-20 18:17:11 +01:00
Clownacy
47297bd797 Made DoConfig not reset the font to Courier New when it saved 2019-04-20 18:08:34 +01:00
Clownacy
89ace4b737 DoConfig portability improvements and bugfixes 2019-04-20 18:00:55 +01:00
Clownacy
c533a8084a
Detail the CMake build system in the readme
Also note the Makefile's deprecation
2019-04-20 06:57:53 +01:00
Clownacy
2bf46dc700 A bunch of CMake file cleanup 2019-04-20 05:15:01 +01:00
Clownacy
014d128396 Remove the STATIC option from the CMake file
Instead it just automatically does static linking if it detects MSYS
2019-04-20 04:43:56 +01:00
Clownacy
5cf7c95dd7 Added DoConfig (clone, not a decompilation)
Right now only the CMake file builds it
2019-04-20 04:43:38 +01:00
Clownacy
3d3d6a2179 Make CMake output executables to the build_en/build_jp folders
MSVC copies SDL2.dll across too
2019-04-20 01:09:53 +01:00
Clownacy
33254c87dd Shut up MSVC's stupid warnings when using the CMake file 2019-04-19 17:37:10 +01:00
Clownacy
295673b813 Sound cleanup and optimisation
PlaySoundObject is also more like it was in the original source code
2019-04-19 01:24:08 +01:00
Clownacy
5a3e641492 Do the last commit except less stupid 2019-04-18 20:15:46 +01:00
Clownacy
eb11c7798d ...Do the previous commit only less stupid 2019-04-18 20:08:33 +01:00
Clownacy
2a9e8bd8cc Autodetect Raspberry Pi in CMake file
...instead of expecting the user to manually-define it
2019-04-18 20:04:49 +01:00
Clownacy
d38c96622c Remove Raspberry Pi hack that forces SDL2 to use OpenGLES2
This was only for Void and Arch ARM, but I think I'm just setting them up
wrong. Raspbian doesn't need this hack to reach 60FPS.
2019-04-18 19:58:40 +01:00
Clownacy
7e038bc24a Fix backwards-incompatible CMake nonsense 2019-04-16 18:57:55 +01:00
Clownacy
9effc5e0fe Lowered CMake minimum requirement to 3.7.2
Tested on Raspbian
2019-04-16 17:42:42 +00:00
Clownacy
e2ed9ad950 Okay, forget all that. Generating an output folder was stupid. 2019-04-14 18:25:12 +01:00
Clownacy
2c8ccc5a0b Actually, only generate the output folder during cmake's config stage 2019-04-14 04:14:45 +01:00
Clownacy
5ec9fea302 The build folder is now automatically generated
This way, we don't need to tell everyone who uses the enhanced branch
that they need to copy res/data_en. It also gives the CMake project a
way to bundle everything into a neat little folder.
2019-04-14 03:36:57 +01:00
Clownacy
3cbe18b9c5 Rewrite stdint.h so it's not dependant on SDL2 2019-04-13 21:27:43 +01:00
Clownacy
4d9bc0a65f Remove the WINDOWS CMake option, and just detect Windows instead
Also remove the STATIC option from MSVC because why wouldn't you
2019-04-13 21:25:46 +01:00
Clownacy
bde0c979ff More CMake improvements (also FreeType is a static lib now)
The official(?) binaries weren't statically-linked, and being compiled
with MSVC2017 probably meant they weren't compatible with old OSes
anyway.

So now, the 32-bit one's compiled with MSVC2003. The other's still
MSVC2017 though. While I was at it, I made them both static. *Also*
while I was at it, I made sure subpixel-rendering was enabled.
2019-04-13 20:30:20 +01:00
Clownacy
ea6f67f87c CMake fixes 2019-04-13 18:04:17 +01:00
Clownacy
3e67b54d6f Make MSVC static linkage optional 2019-04-11 21:33:21 +01:00
Clownacy
5002e68be7 Disable the Windows console window explicitly on all backends
Not just MSVC
2019-04-11 02:10:31 +01:00
Clownacy
e866d7bd9b cmake tweaks 2019-04-11 01:15:50 +01:00
Clownacy
c63646e798 Got cmake file working on Arch
cmake why you so bad
2019-04-10 17:00:42 +01:00
Clownacy
49014530e7 Clarify a bug 2019-04-10 11:55:23 +01:00
Clownacy
b92f1cbb1c Fix incorrectly-decompiled value in TextScr.cpp 2019-04-10 11:16:17 +01:00
Clownacy
5c68009e7a Made English MapName.cpp stuff match the Japanese version 2019-04-10 02:12:34 +01:00
Clownacy
f249f8c604 Added link-time optimisation to cmake file 2019-04-10 01:42:17 +01:00
Clownacy
2b7bda3b4a Some pairity between cmake and Makefile 2019-04-10 01:22:32 +01:00
Clownacy
e54c13e22f More cmake improvements
Added static build, notably
2019-04-10 01:12:23 +01:00