Andrei "Akari" Alexeyev
da4f156c71
Compatibility with stupid versions of sed that don't recognize \t and \s
2017-02-26 00:28:06 +02:00
Andrei "Akari" Alexeyev
77d3f06a56
use /usr/bin/env in shell scripts
2017-02-26 00:18:03 +02:00
Andrei "Akari" Alexeyev
48ada49293
Put link_directories in the right place
2017-02-26 00:13:49 +02:00
Andrei "Akari" Alexeyev
9dff7f9287
Use *_LIBRARY_DIRS provided by pkgconfig
...
required for building on some systems (osx at least)
2017-02-26 00:06:28 +02:00
Andrei "Akari" Alexeyev
09876291fc
fixed macro redefinition warnings on osx
2017-02-25 23:55:53 +02:00
Andrei "Akari" Alexeyev
c6d4e41978
Added a simple script to generate a .dmg OSX package
2017-02-25 22:40:30 +02:00
Andrei "Akari" Alexeyev
e1d3ed25a5
Generate a fancy .app bundle when building for OSX
2017-02-25 22:22:13 +02:00
Andrei "Akari" Alexeyev
8c83f065d3
gitignore osx shit
2017-02-25 22:21:51 +02:00
Andrei "Akari" Alexeyev
261431dd25
OSX: added an install script that handles dylibs
2017-02-25 18:56:31 +02:00
Andrei "Akari" Alexeyev
139134fe6a
Shut up a stupid GCC warning
2017-02-25 15:24:54 +02:00
Andrei "Akari" Alexeyev
0091c7aca7
Refactored the gl loader into a polyglot macro monstrosity
...
We no longer link to libGL by default. All GL functions are loaded
dynamically through SDL apis. Use -DLINK_TO_LIBGL to enable linking, in
which case Taisei won't try to dynamically load any of the gl functions.
Previously we used a strange inconsistent setup where some functions
were loaded dynamically and others pulled from the linked library.
We also no longer link to libGLU even if LINK_TO_LIBGL is set. The only
function we used from that library was gluPerspective. taiseigl now
provides a simple substitute via glFrustum.
The SDL2 gl headers are now used instead of the system ones, this should
be more portable. The taiseigl.h header contains generated code
partially based on content from those headers. It also doubles as a
python3 script that actually generates that code and inserts it into
itself. It scans the Taisei source tree for gl* calls and generates code
only for the functions we use, and a few manually specified ones that
are called indirectly.
Assumptions such as "linux = glx" are no longer made. SDL takes care of
platform specifics, as it should.
The GL_EXT_draw_instanced/GL_ARB_draw_instanced extension detection has
been improved. Taisei should be able to figure out which one to use
without a compile-time check, and support for the ARB version has been
actually implemented for the laser snippet loader. I've tested it on
Windows 8 with Intel drivers that don't support the EXT version but do
support the ARB one, instanced drawing works and the lasers don't lag!
OSX should benefit from this change as well, although I've not yet
tested the OSX build, beyond simply compiling it.
2017-02-25 15:24:54 +02:00
Andrei "Akari" Alexeyev
a36d18d156
Transition tweaks
2017-02-25 15:23:22 +02:00
Andrei "Akari" Alexeyev
57053210dd
Refactored and improved menus and transitions
2017-02-24 23:58:27 +02:00
Martin Herkt
fb50b87ffe
taisei_err: mark errx _Noreturn for diagnostics
2017-02-24 17:23:38 +01:00
Andrei "Akari" Alexeyev
eee4403665
Made it possible to disable audio support altogether
2017-02-24 11:33:49 +02:00
Andrei "Akari" Alexeyev
c6a03b2e06
Minor readability issue
2017-02-23 18:34:10 +02:00
Andrei "Akari" Alexeyev
76d7b2151f
Merge remote-tracking branch 'origin/pedantic'
2017-02-23 18:33:20 +02:00
Andrei "Akari" Alexeyev
c517fd75f6
Revert "Enabled -Wnull-dereference"
...
This reverts commit af08601fc2
.
Reason: looks like older versions of GCC don't understand it and fail
with an error
2017-02-23 17:20:26 +02:00
Andrei "Akari" Alexeyev
ab3738928f
Use pkg-config for zlib as well. It simply works better.
2017-02-23 17:18:32 +02:00
Andrei "Akari" Alexeyev
a8537f6e69
rwops_zlib: reorganized the private ZData struct a bit
2017-02-23 17:15:47 +02:00
Andrei "Akari" Alexeyev
b0abd177ac
Removed redundant null checks before free() calls
...
free(NULL) is guaranteed to be a no-op by the C standard, so let's not
clutter the code with those.
2017-02-23 16:05:55 +02:00
Andrei "Akari" Alexeyev
af08601fc2
Enabled -Wnull-dereference
2017-02-23 13:30:59 +02:00
Andrei "Akari" Alexeyev
ea1eba80f3
Enabled -Wtype-limits
2017-02-23 13:27:49 +02:00
Andrei "Akari" Alexeyev
397719a2a2
Switched from GNU C99 to Standard C11. Enabled pedantic warnings.
...
Fixed all warnings and compile errors.
Confirmed successful compilation without warnings for linux (gcc,
clang), windows (gcc-mingw), osx (clang-osxcross).
2017-02-23 13:16:52 +02:00
Andrei "Akari" Alexeyev
e4bcf929f9
Ensured newline at the end of files
2017-02-23 12:43:45 +02:00
Andrei "Akari" Alexeyev
db3f474035
Got rid of all the imaginary constants
...
They are a non-standard GCC extension, not all compilers support them
universally. An extra character is a small price to pay for portability.
2017-02-23 12:39:31 +02:00
Andrei "Akari" Alexeyev
b9ab0a8c4b
Merge branch 'compression'
2017-02-23 12:13:09 +02:00
Andrei "Akari" Alexeyev
952452703f
got rid of some useless dereferencing
2017-02-23 12:06:32 +02:00
Andrei "Akari" Alexeyev
ba71f77102
fix error handling in replay_write
...
I know those functions never actually return false (for now), it's
still incorrect code and a bug waiting to bite.
2017-02-23 11:53:57 +02:00
Andrei "Akari" Alexeyev
b7f1d2f2d3
autoclose parameter for the RWops wrappers
2017-02-23 06:04:42 +02:00
Andrei "Akari" Alexeyev
9687a65549
Added SDL_RWGetZStream
2017-02-23 05:47:03 +02:00
Andrei "Akari" Alexeyev
0961a57446
Don't create an autobuffer when writing uncompressed replays
...
It was not used anyway
2017-02-23 05:13:20 +02:00
Andrei "Akari" Alexeyev
db0cfa43bc
"straightforward" my ass
2017-02-22 22:52:25 +02:00
Andrei "Akari" Alexeyev
30db5c8fd6
Support for viewing replays specified on the command line
...
$ taisei replay /path/to/replay.tsr
$ curl http://example.com/replay.tsr | taisei replay /dev/stdin
2017-02-21 22:31:46 +02:00
Andrei Alexeyev
9242dcfb7a
Merge pull request #64 from makise-homura/master
...
Spell practice BGM and a couple of other fixes
2017-02-21 09:38:10 +02:00
makise-homura
e8acbe923d
Spell practice stages now use boss's bgm, not stage-related one
2017-02-20 22:28:22 +03:00
makise-homura
d0b37bff3c
Removed unneeded CMAKE_MODULE_PATH altering
2017-02-20 20:08:03 +03:00
makise-homura
e4319dbc94
boss.h: integral complex constant fixed
2017-02-20 19:51:51 +03:00
Andrei "Akari" Alexeyev
e80a44e3f5
fix -mwindows yet again
2017-02-20 12:18:44 +02:00
Andrei "Akari" Alexeyev
3906cadb1d
Actually put -mwindows in the right place
2017-02-19 14:55:55 +02:00
Andrei "Akari" Alexeyev
04e4fe37c3
Fix to add -mwindows back in
2017-02-19 14:51:55 +02:00
Martin Herkt
439dad9e68
config: extend vsync option (default adaptive)
...
Adaptive vsync is nice in theory, but may cause unwanted tearing
on setups with refresh rates that don’t match what Taisei is
rendering at. Hence, this should be optional.
2017-02-19 04:50:02 +01:00
Andrei "Akari" Alexeyev
4d039759a3
fix missing separator
2017-02-19 03:28:00 +01:00
Andrei "Akari" Alexeyev
b3bea6a9db
Generate spellstage titles automatically as well
2017-02-19 03:28:00 +01:00
Andrei "Akari" Alexeyev
b88a6b0b42
Cleanup function for the stages array
2017-02-19 03:28:00 +01:00
Andrei "Akari" Alexeyev
de52c87af7
finally, a spell practice menu
2017-02-19 03:28:00 +01:00
Andrei "Akari" Alexeyev
02c0b50bdb
progress: add stage/difficulty unlock cmd, improve writing routine
2017-02-19 03:28:00 +01:00
Andrei "Akari" Alexeyev
347f143a54
Unlock spellcards on story mode encounter
...
But only when not using continues!
2017-02-19 03:28:00 +01:00
Andrei "Akari" Alexeyev
b900263611
StageProgress API
2017-02-19 03:28:00 +01:00
Andrei "Akari" Alexeyev
2643c4df01
Initial support for persistent player progress storage
...
Only implements unlockable stages for now, but designed to be extensible.
See comments in progress.c for detauls.
2017-02-19 03:28:00 +01:00