Commit graph

45 commits

Author SHA1 Message Date
Jonas Kulla
b0eeb6d1bd README: Add some info on experimental RGSS2/RGSS3 support 2014-08-17 04:07:23 +02:00
Jonas Kulla
59aed37d3e MidiSource: Improve pitch shifting accuracy
Also drop note events whose keys are shifted out of range
instead of clamping them.
2014-08-02 16:15:11 +02:00
Jonas Kulla
dc43af3b6a README: Document command line option usage 2014-08-02 10:30:52 +02:00
Jonas Kulla
3bcf995832 Add option to turn off switching into executable dir on startup 2014-08-02 09:30:17 +02:00
Jonas Kulla
751fdc599e Audio: Add MIDI format playback support
This adds a new dependency with libfuildsynth. MIDI support
is built by default, but can be disabled if not desired.

All RTP songs should work well, but there are known problems
with other files (see README). Also, the pitch shift implementation
is somewhat poor and doesn't match RMXP (at least subjectively).

A soundfont is not included and must be provided by
the user themself.
2014-08-02 06:42:55 +02:00
Jonas Kulla
492be508da gl-fun.h: Allow to alternatively be compiled with GLES2 headers
Requires your typical "GLES2/{gl2,gl2ext,gl2platform}.h bundle.
Define "GLES2_HEADER" to use.
2014-07-21 01:49:06 +00:00
Jonas Kulla
6f17b6ff46 Hookup mkxp to run under a OpenGL ES 2.0 context 2014-07-19 14:26:42 +00:00
Jonas Kulla
902a5e8c76 README: Clarify SDL_sound version 2014-06-21 17:01:05 +02:00
Jonas Kulla
6c481e5eb8 Eliminate GLEW dependency
GL entrypoint resolution is now done manually. This has a couple
immediate benefits, such as not having to retrieve hundreds of
functions pointers that we'll never use. It's also nice to have
an exact overview of all the entrypoints used by mkxp.

This change allows mkxp to run fine with core contexts, not sure
how relevant that is going to be in the future.

What's noteworthy is that  _all_ entrypoints, even the ones core
in 1.1 and guaranteed to be in every libGL, are resolved
dynamically.
This has the added benefit of not having to link directly against
libGL anymore, which also cleans up the output of `ldd` quite
a bit (SDL2 loads most system deps dynamically at runtime).

GL headers are still required at build time.
2014-06-13 18:46:45 +02:00
Jonas Kulla
7b1f599dd6 mkxp.pro: Add 'BOOST_LIB_SUFFIX'
Boost being boost.
2014-05-30 23:13:58 +02:00
Jonas Kulla
53718d0428 README: Mention cmake and fix some wording 2014-01-25 09:30:05 +01:00
Jonas Kulla
9b92a7bc14 Documentation: Move mkxp.conf description into sample conf 2014-01-15 03:20:05 +01:00
Jonas Kulla
7a1dd2588d Bring sample conf up to date with boost changes 2014-01-01 07:14:40 +01:00
Jonas Kulla
ce7bf97dd4 FileSystem: Make path caching optional via config
Because Windows has case insensitive paths, this should
be turned on (which it is by default) for maximum
compatibility. Can be turned off as an optimization
(this will speed up startup a little depending on the
number of game assets).
2014-01-01 07:13:35 +01:00
Jonas Kulla
5b736bcfd6 mkxp.pro: Shorten keyword lenght to choose binding
'BINDING=BINDING_MRI' => 'BINDING=MRI'

Also error out if multiple bindings are chosen.
2013-12-29 18:01:57 +01:00
Jonas Kulla
2adf8ab265 Transition from QtCore to stdc++ / STL / boost
This looks like a pretty major change, but in reality,
80% of it is just renames of types and corresponding
methods.

The config parsing code has been completely replaced
with a boost::program_options based version. This
means that the config file format slightly changed
(checkout the updated README).

I still expect there to be bugs / unforseen events.
Those should be fixed in follow up commits.

Also, finally reverted back to using pkg-config to
locate and link libruby. Yay for less hacks!
2013-12-29 13:59:26 +01:00
Jonas Kulla
0ea242755e README: Audio pitch is implemented 2013-12-21 23:02:42 +01:00
Jonas Kulla
2538ae4224 README: Typo 2013-12-21 23:01:31 +01:00
Jonas Kulla
8702afedfc README: Mention SDL_sound patches 2013-12-21 21:25:31 +01:00
Jonas Kulla
19bb6c924e Gaphics: Make frame skip a config option
When using something like Valgrind that will run
mkxp 20 times slower than normal, frame skip will
make the redraw loop completely grind to a halt.
Set 'frameSkip' to false in the config to
avert this.
2013-12-21 21:18:20 +01:00
Jonas Kulla
e26d0366f1 Revert "Audio: Make cheap OpenAL pitch shifting a config option"
Making this an option makes no sense. It ought to
be the default behavior, as RMXP pitch shifts PCM
based audio files the exact same way.

This reverts commit ac35d4214e.
2013-12-04 13:39:39 +01:00
Jonas Kulla
ac35d4214e Audio: Make cheap OpenAL pitch shifting a config option 2013-12-01 09:36:15 +01:00
Jonas Kulla
47d96bd21e README: Reflect recent audio changes 2013-11-30 16:35:37 +01:00
Jonas Kulla
210dcbbc3d mkxp is licensed under GPLv2 OR LATER 2013-11-23 12:43:32 +01:00
Jonas Kulla
6a6865cc48 Readme: Fix typo 2013-11-01 08:32:59 +01:00
Jonas Kulla
10b3e04dee Add config entry "allowSymlinks" 2013-10-20 22:38:46 +02:00
Jonas Kulla
e14f3ef9db Readme: mention ruby patches 2013-10-19 19:59:18 +02:00
Jonas Kulla
f5a178b9bb Add config option "fixedFramerate" 2013-10-17 02:18:16 +02:00
Jonas Kulla
0f4a9930de README: fix more inconsistencies 2013-10-12 15:59:52 +02:00
Jonas Kulla
95daa78ef7 Clarify points in readme 2013-10-11 22:28:54 +02:00
Jonas Kulla
8b53681e11 Turn on 'fixedAspectRatio' by default
This is more consistent with RMXP's behavior.
2013-10-09 14:17:21 +02:00
Jonas Kulla
4b28314433 Update config table and default values 2013-10-09 14:11:59 +02:00
Jonas Kulla
6a4fd804a7 Clarify point about latest library version 2013-10-09 04:16:00 +02:00
Jonas Kulla
082a9ae483 Fix style and add link to mattn's repo 2013-10-01 12:24:35 +02:00
Jonas Kulla
a1c2a73006 Warn about mruby-onig-regexp 2013-10-01 12:21:30 +02:00
Jonas Kulla
080f9333a9 Clarify a couple README points 2013-09-27 19:44:16 +02:00
Jonas Kulla
32361e513a Track 'tainted' area of Bitmaps to optimize blit operations
The 'tainted' area of a Bitmap describes what parts are no
longer in a 'cleared' state. When we blit to a fully cleared
are of a Bitmap at full opacity, we can completely disregard
the existing pixels in the operation, meaning we can skip any
blending calculations and just blit / upload straight to the
texture. This greatly speeds up text message rendering.

In the process, pixman has become a new dependency for mkxp,
but the results of this optimization are well worth it!
2013-09-25 13:49:24 +02:00
Jonas Kulla
fe557bca1d Implement "show_cursor" attribute in Graphics module
If false (the default), the system cursor is hidden
inside the game window.
2013-09-24 22:56:25 +02:00
Jonas Kulla
7f604e25ad Lower minimum OpenGL requirement 2013-09-23 10:42:23 +02:00
Jonas Kulla
ef2ed2fb32 Fix wording 2013-09-06 15:29:00 +02:00
Jonas Kulla
e8a9873125 Document nonstandard RGSS extensions 2013-09-04 18:43:40 +02:00
Jonas Kulla
774c9b7c8a Update config
Add a missing dependency and properly explain all values
in the config file
2013-09-03 19:24:41 +02:00
Jonas Kulla
7ba26ad796 Add license notice 2013-09-01 18:26:19 +02:00
Jonas Kulla
32fe03c731 Fix README wording 2013-09-01 16:43:26 +02:00
Jonas Kulla
ff25887f41 Initial commit 2013-09-01 16:27:21 +02:00