Commit graph

103 commits

Author SHA1 Message Date
Struma
268bd5ca83 Take aspect ratio into account when screenshotting 2020-02-26 17:34:54 -05:00
Struma
78bf355573 Set and update scissorbox based on current render resolution 2020-02-26 13:28:51 -05:00
Struma
e2503509a8 Set screenshot resolution based on window size 2020-02-26 09:24:55 -05:00
Inori
7af4026999 Play nice with Marin's experiments 2019-09-19 03:32:50 -04:00
Inori
dd9c0c50f8 add Bitmap.to_file 2019-09-06 18:30:37 -04:00
Inori
b6a0f24d73 Run Graphics.update before capturing screenshots 2019-09-06 16:23:56 -04:00
Inori
17b07a41e8 Add MKXP.power_state 2019-09-06 02:36:19 -04:00
Inori
22af5bf0f5 Gifs are just a mistake actually 2019-09-05 21:10:00 -04:00
Inori
3b447e5efb Experimental giflib support 2019-09-05 17:54:28 -04:00
Inori
1e3661fdee Give Discord.user_avatar an optional size argument 2019-09-05 03:26:21 -04:00
Inori
6268dfc27c Add DiscordActivity bindings 2019-09-04 13:07:38 -04:00
Inori
7f29278bbc Begin implementing Discord 2019-09-04 05:48:23 -04:00
Inori
8f6b0775b6 add libtool to macOS dependencies in README 2019-08-31 20:11:38 -04:00
Inori
cd3626c16f Set macOS deployment target to 10.10 2019-08-31 19:12:54 -04:00
Inori
6b007ed8d9 Implement Graphics.center 2019-08-31 12:55:03 -04:00
Inori
3c157daf34 Reposition window from event thread 2019-08-31 00:31:17 -04:00
Inori
8f6a2d285d Implement Graphics.scale 2019-08-31 00:02:09 -04:00
Inori
3db00ee316 Only flip screenshots outside of Windows 2019-08-27 11:01:40 -04:00
Inori
6757e90927 Fix SpriteResizer large and fullscreen 2019-08-27 10:21:14 -04:00
Inori
8cb94f3f81 Add more Win32API information 2019-08-26 21:13:13 -04:00
Inori
98f3ac6442 Vertically flip screenshots 2019-08-26 20:05:51 -04:00
Inori
35b7ef0b3f Changes to runtime configuration options 2019-08-20 13:22:07 -04:00
Inori
28b60eb9fb Add Graphics.screenshot 2019-08-19 08:59:35 -04:00
Jonas Kulla
ae59fcd112 Graphics: Fix transition when new scene has gray tone effect
Rendering the scene may cause PingPong swaps of front / backbuffer,
so don't take references to those buffers until after rendering.

Fixes #199
2018-05-21 12:22:23 +02:00
Jonas Kulla
bd694f9f99 Graphics: Remove superfluous TEXFBOs while reusing existing ones
While the PingPong buffers were always texture-backed, currentScene
and transBuffer used to be backed by renderbuffers, which might have
been more optimized as render targets on older hardware; but since
all buffers in Graphics got switched to being texture backed to allow
blitting via rendering (when hardware blitting isn't available or broken,
eg. on mobile platforms), their reason to exist vanished.

For transBuffer, we can reuse the backbuffer of the PingPong structure,
while currentScene might have been useless from the start.
2017-05-11 12:37:15 +02:00
Jonas Kulla
cab453ac3a Graphics: Use proper resizing function for TEXFBOs
Manually resizing the contained TEX objects skips updating the
width/height TEXFBO properties, which GLMeta::blit relies on.
2017-05-11 12:32:56 +02:00
Jonas Kulla
3ea24bd757 EventThread: Make system cursor visible over black aspect ratio bars
Should be less confusing for the player.
2017-04-08 18:45:24 +02:00
Mook
8e411cbcfe Graphics: Stub out play_movie
Some people are using it to detect the RGSS version.
2015-10-30 08:01:36 -07:00
Jonas Kulla
384249c31a Unify float literals to use f suffix and avoid double promotions
I might have missed some.
2015-07-21 12:13:24 +02:00
Jonas Kulla
9acdd206f6 Vec4: Rename 'xyzHasEffect()' to something that makes sense 2015-07-07 16:07:04 +02:00
Jonas Kulla
6e176a454c Constify 2015-07-07 16:06:45 +02:00
Jonas Kulla
afab51279e Graphics: Fix viewport color/flash effectiveness calculation
Fixes #121.
2015-07-07 16:06:11 +02:00
Jonas Kulla
6380a93cec Graphics: Fix ::transition() "filename" default value
The default value is an empty string, which triggers the simple
transition. Passing null is not legal (and wasn't possible in
mkxp from Ruby side anyway).

Fixes #108.
2015-06-10 13:30:26 +02:00
Jonas Kulla
7cbe1eef94 Graphics: Improve transition "vague" parameter accuracy 2015-01-15 08:26:33 +01:00
Jonas Kulla
7c6a2b2c62 Pause RGSS execution when moving into background on Android
Assuming that there is enough memory for mkxp to stay in the
background and that the OS doesn't kill the process, this should
allow smooth resuming after moving back into the foreground.

For now, EGL context loss is not handled.
2015-01-15 08:02:21 +01:00
Jonas Kulla
146e0294b4 Add option to fix the framerate to the native screen refresh rate
Useful on mobile devices where using non-standard framerates
looks absolutely horrible and screen refresh rates vary highly.
2015-01-03 18:58:13 +01:00
Jonas Kulla
3411435138 Factor out some thread communication code (window size, bindings) 2015-01-02 01:41:23 +01:00
Jonas Kulla
373b90af00 Graphics: Optimize Viewport effect rendering
Using the kitchen sink plane shader for viewport effects, even
if only a small part of them are active, incurs great performance
loss on mobile, so split the rendering into multiple optional
passes which additionally use the blending hardware for faster
mixing (lerping).
Also, don't mirror the PingPong textures if the viewport effect
covers the entire screen area anyway.
2014-12-31 18:52:19 +01: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
81ac0780f8 Revert Disposable concept back into core
Pretty much a revert of
e858bbdcf5.

We need this in core to properly implement F12 reset.
2014-09-23 21:12:58 +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
b1981055e1 Core: Remove ifdefs that don't influence RGSS specific behavior
This is the first step in eliminating the build time RGSS
versioning.
2014-08-28 19:43:13 +02:00
Jonas Kulla
3968ebb538 Graphics: Transition without previous freeze is a noop 2014-08-23 21:26:50 +02:00
Jonas Kulla
b751858b16 Graphics: Fadein/out should interpolate from current brightness 2014-08-22 23:57:12 +02:00
Jonas Kulla
50e393fe6e Graphics: Fix resize_screen 2014-08-22 23:57:12 +02:00
Jonas Kulla
52e2f2304a Spacing 2014-08-17 00:27:08 +02:00
Jonas Kulla
8d375b5cac Graphics: Execute one frame reset at construction
Fixes RGSS3 title screen transition looking skipped
2014-08-16 06:04:02 +02:00
Jonas Kulla
150c280c1e Graphics: Default framerate in RGSS2 is 60 2014-08-16 06:04:02 +02:00
Jonas Kulla
3550cc0ff5 Use correct default resolution for RGSS2/3 (544x416) 2014-08-12 22:21:57 +02:00
Jonas Kulla
27b7815f52 GLState: Remove 'BlendNone' mode in favor of disabling blending alltogether 2014-07-20 13:17:12 +02:00