Commit graph

457 commits

Author SHA1 Message Date
Jonas Kulla
0ef68a2eb7 Audio: Remove unused float helper code
Let's us get rid of 'alext.h' include,
which doesn't exist on OSX.
2014-05-24 18:26:04 +02:00
Jonas Kulla
ce0fee0641 Spacing 2014-05-24 18:24:51 +02:00
Jonas Kulla
ea20154978 Spacing 2014-05-22 05:49:06 +02:00
Jonas Kulla
66fe932a8e Remove useless code 2014-05-21 18:11:31 +02:00
Jonas Kulla
2d30301aef DebugWriter: Add std::vector print handler 2014-05-21 18:10:46 +02:00
Jonas Kulla
32bb18d93f Spacing 2014-05-21 18:10:14 +02:00
Jonas Kulla
d09f4a1bae Typo 2014-05-21 18:08:31 +02:00
Jonas Kulla
e74f889bc5 Quad: Don't discard VBO on each update
This never yielded any traceable performance gains.
I also apparently forgot to unbind the buffer after
updating.
2014-05-16 21:39:26 +02:00
Jonas Kulla
8dd7c1b48c Spacing/spelling 2014-05-07 17:52:11 +02:00
Jonas Kulla
c6a3c5aa59 Graphics: Setting 'fixedFramerate' to -1 disables frame limit
Can be useful for benchmarking
2014-05-05 09:21:20 +02:00
Jonas Kulla
58d86039d5 Merge branch 'dev' 2014-04-17 08:19:24 +02:00
Jonas Kulla
4cb1c10c3a Minor declaration fix 2014-04-16 20:54:29 +02:00
Jonas Kulla
f11cc182df Remove screenshot functionality
It was only meant for debugging and brought with it
unneeded platform dependant issues.
2014-04-16 13:48:45 +02:00
Jonas Kulla
1ef6e04520 Font: Overhaul font asset discovery
Previously, any font names requested by RGSS would be translated
directly to filenames by lowercasing and replacing spaces with
underscores (and finally doing some extension substitution).
To make this whole thing work smoother as well as get closer to
how font discovery is done in VX, we now scan the "Fonts/" folder
at startup and index all present font assets by their family name;
now, if an "Open Sans" font is present in "Fonts/", it will be
used regardless of filename.

Font assets with "Regular" style are preferred, but in their
absence, mkxp will make use of any other style it can find for
the respective family. This is not the exact same behavior as
VX, but it should cover 95% of use cases.

Previously, one could substitute fonts via filenames, ie. to
substitute "Arial" with "Open Sans", one would just rename
"OpenSans.ttf" to "arial.ttf" and put it in "Fonts/". With the
above change, this is no longer possible. As an alternative, one
can now explicitly specify font family substitutions via mkxp.conf;
eg. for the above case, one would add

fontSub=Arial>Open Sans

to the configuration file. Multiple such rules can be specified.

In the process, I also added the ability to provide
'Font.(default_)name' with an array of font families to search
for the first existing one instead of a plain string.
This makes the behavior closer to RMXP; however, it doesn't
work 100% the same: when a reference to the 'Font.name' array is
held and additional strings are added to it without re-assignig
the array to 'Font.name', those will be ignored.
2014-04-16 13:37:22 +02:00
Jonas Kulla
31626c9acc Spacing 2014-04-16 13:06:16 +02:00
Jonas Kulla
51c5ca1410 Graphics: Taint entire Bitmap in #snap_to_bitmap 2014-04-15 19:05:36 +02:00
cremno
95c112bbe4 MRI: add option to use a script's name as filename 2014-04-11 18:11:32 +02:00
Jonas Kulla
4219b91bbb al-util.h: Add include fix for older OpenAL releases
Apparently older versions of 'alext.h' didn't include
'alc.h' despite dependencies on ALC types.
2014-02-06 04:27:17 +01:00
Jonas Kulla
af9039f58d Sprite: Implement wave effect (RGSS2)
This initial implementation emulates the way RMVX splits
the sprite into "chunks" of about 8 pixels, which it then
scrolls left/right on a vertical sine wave. It even
replicates the weird behavior when wave_amp < 0, namely
"shrinking" the src_rect horizontally.

As with bush_opacity, this effect in combination with
rotation will render differently from RMVX.
2014-02-03 15:32:50 +01:00
Jonas Kulla
bb8f2351cc Bitmap: Remove leftover 'flush()' calls 2014-02-02 23:36:01 +01:00
Jonas Kulla
e0a4dfe372 Bitmap: Make #get_pixel/#set_pixel more accurate
This gets rid of the "batch/flush" semantics for #set_pixel
and instead just directly uploads the pixel color to the
texture, circumventing the float conversion entirely.
Also makes a lot of code simpler in many places as calling
'flush()' is no longer required for bitmaps.
2014-01-31 10:19:16 +01:00
Jonas Kulla
b6a299541f Bitmap: Fix #get_pixel returning bogus values
We never bound the Bitmap FBO to the READ binding point,
so glReadPixels was blindly reading data off of whatever
was last bound there.
2014-01-28 16:38:10 +01:00
Jonas Kulla
96d2707edb Bitmap: Fix #get_pixel returning bogus values
We never bound the Bitmap FBO to the READ binding point,
so glReadPixels was blindly reading data off of whatever
was last bound there.
2014-01-28 16:34:28 +01:00
Jonas Kulla
f956f21ce1 Revert "Font: Adhere to spec and set Font.default_name to "MS PGothic""
This reverts commit c9423164d4.

Turns out the spec was not adjusted correctly for the
English RGSS version; the de facto default is "Arial"
after all.
2014-01-26 08:06:54 +01:00
Jonas Kulla
b28863d8eb Add comment 2014-01-25 09:30:48 +01:00
Jonas Kulla
87c1e376b9 GLState: Add bound shader program to managed state
Squishes a handful of redundant binds per frame.
2014-01-20 00:58:39 +01:00
Jonas Kulla
b729da249b Graphics: Don't unbind shader 2014-01-20 00:56:00 +01:00
Jonas Kulla
e93e1fd292 debugwriter.h: Use std::newl instead of '\n' 2014-01-20 00:54:42 +01:00
Jonas Kulla
f3572f5ba4 Bitmap: Don't unbind shader after render op
Since all rendering is now shader based, there's normally
no reason to ever unbind a shader program.
2014-01-20 00:53:58 +01:00
Jonas Kulla
f39d1239bb TileAtlas: Slightly optimize out some allocation
User vector instead of list for colums.s
2014-01-16 19:17:46 +01:00
Jonas Kulla
b0a41a23e0 Rename typedef and fix wrong documenting comment 2014-01-16 19:16:09 +01:00
Jonas Kulla
316457b988 Refactoring 2014-01-16 04:19:22 +01:00
Jonas Kulla
91efcfa06d FileSystem: More stringent RGSSAD header checks 2014-01-16 01:06:59 +01:00
Jonas Kulla
bbb9bff239 FileSystem: Fix path cache for mounted zip archives 2014-01-15 01:51:56 +01:00
Jonas Kulla
f14a379ee9 FileSystem: Trim redundant error message on ENOENT
MRI adds the "No such file or directory - " itself;
I guess we can just emulate this behavior everywhere else.
2014-01-15 01:47:16 +01:00
Jonas Kulla
64cb4ee4f1 Use stdint types 2014-01-15 01:43:46 +01:00
Jonas Kulla
0f004b8601 Spacing 2014-01-15 00:48:34 +01:00
Jonas Kulla
c33144552a Config: Parse from command line options on top of config file
Any options that are not arrays (ie. RTP paths) specified
as command line options will override entries in mkxp.conf.

The syntax is: --<option>=<value>
2014-01-10 20:16:34 +01:00
Jonas Kulla
b8fc5e25b9 Audio: Make thread names more descriptive 2014-01-07 16:06:50 +01:00
Jonas Kulla
0a53a894dc Merge branch 'master' of github.com:Ancurio/mkxp 2014-01-07 05:26:05 +01:00
Jonas Kulla
063793c4d9 Turn screenshots (F3) off by default 2014-01-07 05:25:00 +01:00
Edward Rudd
c60ffa6384 fix npos comparison check in baseName method 2014-01-06 12:45:01 -05:00
Jonas Kulla
953f903149 Spacing 2014-01-05 16:09:00 +01:00
Jonas Kulla
e9cf77dbce Config: Fix preceeding '/' in deducted game title
Also factor out the common code path
2014-01-05 10:31:15 +01:00
Jonas Kulla
19dc83a5d5 Bitmap: Supply image filename on loading error 2014-01-05 10:28:35 +01:00
Jonas Kulla
8ed6de22a4 Input: Return const -20 mouse position when outside window 2014-01-05 01:15:33 +01:00
Edward Rudd
318162a229 fix screen grab crash when in fullscreen
- read the FBO size NOT the screen size.
2014-01-04 13:52:11 +01:00
Jonas Kulla
56b49acf39 Spacing 2014-01-04 13:50:07 +01:00
Jonas Kulla
43321b8ed7 Coding style fixes 2014-01-04 13:49:32 +01:00
Jonas Kulla
092e6ad948 Typo 2014-01-04 13:48:23 +01:00