Commit graph

130 commits

Author SHA1 Message Date
Inori
8beab0114c load_data is still too slow to handle overworld 2019-08-08 12:32:10 -04:00
Inori
3afea2d744 Read fileInt fully before loading it with Marshal 2019-08-08 12:20:45 -04:00
Inori
718a10297f normalize paths given to Audio.[bgm|se|me]_play 2019-08-08 08:48:48 -04:00
Inori
72c664a725 Essentials pls 2019-08-06 10:38:15 -04:00
Inori
080d56b5aa Move build instructions to the bottom of README 2019-08-05 17:14:16 -04:00
Inori
e2d9741b6f Get ruby exceptions for null file handles 2019-08-05 13:53:03 -04:00
Inori
38595cc31d command formatting 2019-08-05 08:27:20 -04:00
Inori
eaaa056af2 Add Ubuntu build instructions 2019-08-05 07:19:23 -04:00
Inori
416b4207be Add macOS build instructions 2019-08-05 06:18:39 -04:00
Inori
29ddee9e0b Add Windows build instructions 2019-08-04 23:33:26 -04:00
Inori
f36e9fec87 Even more minor readme stuff 2019-08-04 05:22:55 -04:00
Inori
aac0f09765 More minor readme stuff 2019-08-03 13:37:22 -04:00
Inori
ccd13ba998 minor readme stuff 2019-08-03 09:58:22 -04:00
Inori
cf207d3ba2 Update readme 2019-08-01 02:02:35 -04:00
Inori
2ec1e444c0 Remove mruby and null bindings 2019-07-31 08:47:44 -04:00
Inori
5be69e72f5 Begin updating readme 2019-07-30 10:36:45 -04:00
Jonas Kulla
9dc42914de README: Clarify target group of project 2019-06-20 06:01:20 +02:00
Jonas Kulla
1e9e24e45c README: Add note about RGSS version support 2015-07-09 12:33:55 +02:00
Jonas Kulla
e778dc17c5 Relocate SDL_sound patches into forked repo 2015-06-18 07:11:38 +02:00
Jonas Kulla
064b7ac80d README: Add link to dependency kit 2015-06-03 16:01:29 +02:00
Jonas Kulla
e339964076 MidiSource: Fix some channels being mute after looping 2015-01-22 13:13:57 +01:00
Jonas Kulla
64a3ac3769 README: Add soundfont link and mark font outlines as done 2015-01-21 14:58:54 +01:00
Jonas Kulla
faef0e8503 README: Add prebuilt windows binaries link 2014-11-30 17:41:34 +01:00
Jonas Kulla
1c1d72b03e README: VX / VX Ace support is no longer experimental 2014-10-18 02:21:19 +02:00
Jonas Kulla
e1a45c29e2 README: Add OSX build by Ali and clarify SDL2 patch note 2014-10-18 02:15:00 +02:00
Jonas Kulla
19b1c3d7c2 README: Mention SDL patch needed for F1 menu 2014-10-12 14:54:30 +02:00
Jonas Kulla
64a26b4911 README: Add link to prebuilt binaries 2014-10-12 02:38:28 +02:00
Jonas Kulla
af145c3a01 mkxp.pro: Make MRI version a qmake config option
Example: qmake MRIVERSION=2.2
2014-10-11 15:36:21 +02:00
Jonas Kulla
51a0f3903c Audio: Clean up threading and add AudioStream fadein (RGSS3) 2014-09-30 09:13:12 +02:00
Jonas Kulla
4a015c6397 Bitmap: Add font shadow rendering 2014-09-29 10:30:41 +02:00
Jonas Kulla
d223d83cbf Implement F12 game reset (MRI only)
Can be disabled with "enableReset=false".

While at it, also replace the flakey volatile bool flags
with proper atomics.
2014-09-26 06:25:47 +02:00
Jonas Kulla
5c3c73ee94 README: Remove erroneous line about cmake 2014-09-15 09:42:09 +02:00
Jonas Kulla
757a1d5e39 Load fluidsynth entrypoints dynamically (and make them optional)
This removes the static dependency on fluidsynth being present
at buildtime (even headers aren't needed anymore).

Even though midi is a default format for the RPG XP/VX series,
it has fallen more and more out of use, with VX Ace completely
abandoning it from the RTP and making ogg vorbis the de facto
standard. Midi support is kept for legacy reasons, but isn't
encouraged. On top of all this, fluidsynth together with glib
is a heavy dependency that often times won't even be used.
Making it optional at build time is an attempt to unify and
keep build config fragmentation low.

In RGSS3, fluidsynth / midi is not initialized at all by
default, but rather on demand when either a midi track is
played back or Audio.setup_midi is called.
2014-09-09 00:08:32 +02:00
Jonas Kulla
55f1542c76 Merge separate RGSS version build configs into one
Setup active RGSS version at runtime. Desired version can be
specified via config, or as default, auto detected from the game
files. This removes the need to build specifically for each
version, which should help packaging a lot.

This also greatly reduces the danger of introducing code that
wouldn't compile on all RGSS version paths (as certain code paths
were completely ifdef'd out).

This can be optimized more, eg. not compiling shaders that aren't
needed in the active version.
2014-08-28 23:22:05 +02:00
Jonas Kulla
10bfcb57b7 Config: Convert game title to valid UTF-8 (if it isn't already)
Removes the need to manually convert the Game.ini to UTF-8 every
time with eg. Japanese games. Also, setting the window title on
OSX with invalid UTF-8 crashes.

This functionality and the dependency on libiconv and libguess
are optional and can be enabled with `CONFIG+=INI_ENCODING`.
If turned off and invalid UTF-8 is encountered, the game title
is treated as being empty (ie. the folder name is used instead).
2014-08-20 23:32:18 +02:00
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