Commit graph

430 commits

Author SHA1 Message Date
ZakatTeamI2P
799370de98 Debuging ruby error + added One shot mode 2026-04-12 12:49:07 +04:00
ZakatTeamI2P
aace283683 a 2026-04-03 14:38:30 +04:00
ZakatTeamI2P
dc0c4ab781 Ported from ModShot-core Ruby 3 changes, custom window title 2026-04-03 00:23:19 +04:00
meowtech
fdba179993 fixed ruby i guess 2026-03-31 10:55:46 +00:00
meowtech
c1b6881b8a fixes again (hopefully i didn't break anything) 2026-03-31 10:45:50 +00:00
ZakatTeamI2P
c237203e1a aedfgsdg 2026-03-31 14:33:53 +04:00
ZakatTeamI2P
d9347ca454 h 2026-03-31 02:37:08 +04:00
ZakatTeamI2P
cc14085fc0 a 2026-03-31 02:29:05 +04:00
ZakatTeamI2P
f142b26df1 C+++++++++++++ 2026-03-31 01:44:57 +04:00
ZakatTeamI2P
8d541597d3 SAPF{DOGPFOSG 2026-03-31 00:10:53 +04:00
ZakatTeamI2P
d1cf3a0435 NULL 2026-03-30 23:02:31 +04:00
ZakatTeamI2P
661ce21503 fjhgfoig 2026-03-30 22:51:26 +04:00
ZakatTeamI2P
7b740a8a1a asfs 2026-03-30 22:27:19 +04:00
ZakatTeamI2P
197d7324be binding-mri changes for SDL3 2026-03-30 16:52:49 +04:00
Eliza Velasquez
3f7ba6a4a1 final Linux bugfixes? hopefully 2020-06-17 20:02:33 -07:00
Pera Pisar
28face2167 Linux changes (#62)
* Added RPATH to executable; lowercased name; fixed MRIVERSION option; made it look like an actual executable

* Silencing some compiler warnings

* Getting rid of journal binding header, fixing bugs with the Niko binding and synchronizing the two

* Journal update to fix several bugs

* Fix libpng warning by running mogrify on shrimp.png

* Improved automation of the Linux build

* Improved some aspects of wallpaper handling

* Bump default Ruby version to 2.5
2019-04-21 03:50:20 -07:00
Vinyl Darkscratch
8e93cf51ef Move journal pipe file to fix permissions issues 2019-02-14 02:19:46 -08:00
Vinyl Darkscratch
f754921b44 Fix Windows compilation errors 2018-10-04 13:02:23 -07:00
Vinyl Darkscratch
220de0c33c Merge remote-tracking branch 'origin/linux' 2018-10-02 11:25:30 -07:00
Vinyl Darkscratch
b19153a6d3 Merge remote-tracking branch 'elizagamedev/master' 2018-10-02 11:24:39 -07:00
Eliza Velasquez
a6062dea24 Initial Conan work 2018-09-27 07:10:32 +00:00
KockaAdmiralac
56af69d59f
Potential Deepin support 2018-08-15 22:01:01 +02:00
KockaAdmiralac
474bb2ce30
Fix .desktop file creation 2018-08-03 02:37:47 +02:00
KockaAdmiralac
5e47258600
Make Journal not create a symlink and instead a .desktop file on select DEs, make Color an array of strings 2018-08-03 00:25:31 +02:00
KockaAdmiralac
a59e26595d
Testing reset functionality on KDE, expose DE to Ruby, add fallback wallpaper for unsupported DEs 2018-08-02 21:53:33 +02:00
KockaAdmiralac
de433f54b6
Temporary attempted fix for KDE 2018-07-26 20:46:46 +02:00
KockaAdmiralac
7b75c40f50
Maybe implement partial KDE support 2018-07-10 13:01:07 +02:00
KockaAdmiralac
0c2b3f36a5
SILENCE ALL WARNINGS! 2018-06-16 11:07:04 +02:00
KockaAdmiralac
8060adceee
Fix indentation in i18n.cpp, remove unused havePendingTitle, output when writing to pipe fails 2018-06-16 09:21:53 +02:00
Vinyl Darkscratch
36102a12a4 Separate Cinnamon DE from GNOME DE 2018-06-01 23:02:16 -07:00
Vinyl Darkscratch
7f4f9ff5a5 Switch from giomm to gio
Seems that gio has more documentation than giomm.
2018-06-01 22:43:36 -07:00
Vinyl Darkscratch
77b419d30a Allow for easy OS detection within Ruby scripts 2018-05-03 22:10:59 -07:00
Vinyl Darkscratch
b02557a96c Merge branch 'master' into linux 2018-05-03 01:52:46 -07:00
Vinyl Darkscratch
3b0a934de0 Don't use journal-binding.h in niko-binding.cpp 2018-05-02 19:58:28 -07:00
Vinyl Darkscratch
0d942f9286 Move definitions from header to CPP 2018-05-02 19:29:45 -07:00
Vinyl Darkscratch
9b30c28fa6 ...#pragma once 2018-05-02 19:25:58 -07:00
Vinyl Darkscratch
3b54638cfc Create Niko::get_ready
This progresses completion of #40.
2018-05-02 19:06:11 -07:00
Vinyl Darkscratch
b8c3531bff Create jounal-binding.h 2018-05-02 18:56:13 -07:00
KockaAdmiralac
ac05c06551 Add MATE support 2018-05-01 14:14:58 +02:00
KockaAdmiralac
39b6434291 Fix for XFCE wallpaper 2018-05-01 07:33:15 +02:00
KockaAdmiralac
4c7342eebb merge with master 2018-04-29 19:54:04 +02:00
KockaAdmiralac
113f68a8f6 Temporary commit to merge master 2018-04-29 19:46:02 +02:00
Vinyl Darkscratch
b5208d08b0 Add wallpaper change logging 2018-04-24 04:40:29 -07:00
Vinyl Darkscratch
68460612e3 Fix #34 2018-04-24 04:40:19 -07:00
Vinyl Darkscratch
6273077dbe Fix #35 2018-04-24 04:26:01 -07:00
KockaAdmiralac
36fae187f3 Use PATH_MAX constant, prevent -Wunused-variable, remove commented out code and needless std::string 2018-03-13 18:33:23 +01:00
KockaAdmiralac
29f8c7123a Fix Journal path 2018-03-13 18:15:57 +01:00
KockaAdmiralac
0b48ead68c Fix wallpaper handling a bit; fix screen shaking; spaces -> tabs 2018-03-12 10:50:58 +01:00
KockaAdmiralac
7292edd7ca Merge branch 'master' of https://github.com/vinyldarkscratch/synglechance into linux 2018-03-10 22:53:11 +01:00
Vinyl Darkscratch
75a235e080 Merge branch 'master' into linux 2018-03-10 13:36:23 -08:00
Vinyl Darkscratch
4fd06b9a82 Fix Journal execution
Fixes #19
2018-03-08 11:33:31 -08:00
Vinyl Darkscratch
b9d5b954b5 Bind journal to ending on macOS and Linux 2018-03-08 03:48:38 -08:00
KockaAdmiralac
af01495e9b Implement wallpaper changing for Linux 2018-03-08 10:42:43 +01:00
Vinyl Darkscratch
e87cca3885 Merge branch 'master' into new-mkxp 2018-03-07 00:45:49 -08:00
Vinyl Darkscratch
51c264d901 Remove pipe file during cleanup 2018-03-07 00:41:26 -08:00
Vinyl Darkscratch
1df23b5a82 Fix pipe to journal 2018-03-06 23:24:12 -08:00
Vinyl Darkscratch
68b05c9527 Remove MIDI-based bindings 2018-03-06 18:47:07 -08:00
Vinyl Darkscratch
8921e23ba5 Merge remote-tracking branch 'MKXP/master' into new-mkxp 2018-03-06 18:43:36 -08:00
Vinyl Darkscratch
a28a4733c4 Reduce warning count 2018-03-05 14:10:47 -08:00
Vinyl Darkscratch
f93eeb8082 Add higher resolution graphics 2018-03-02 02:20:40 -08:00
Vinyl Darkscratch
d122d72ad6 Complete desktop background binding for current screen 2018-03-01 22:08:13 -08:00
Vinyl Darkscratch
539f4f7e17 Implement functions 2018-03-01 15:48:50 -08:00
Vinyl Darkscratch
74de315eda Prepare wallpaper changing on macOS 2018-03-01 14:50:22 -08:00
Vinyl Darkscratch
332fc3d9e0 Create Oneshot::crc32 Ruby function
Due to issues in loading Zlib directly within Ruby, I decided to create a C++ binding.  Boost also has a much faster and smarter CRC32 implementation, so I decided to just use it instead of working with Zlib.

This also means that translations are fixed!
2018-02-28 00:55:07 -08:00
Vinyl Darkscratch
397a15cdf7 Disable Chroma API stuff on non-Windows platforms 2018-02-26 21:09:12 -08:00
Vinyl Darkscratch
d4121948cd Merge remote-tracking branch 'elizagamedev/master' 2018-02-26 20:12:20 -08:00
ReinUsesLisp
b5e5a26d8b Config: Set debug editor's debug variables into ruby 2018-02-22 09:08:45 +01:00
tdixon
11f3c25ede use the new API dll 2018-01-19 00:13:05 -04:00
tdixon
aacbdb359a Simple chroma effect 2017-10-12 02:32:30 -03:00
tdixon
695d2af03a Merge branch 'localization' into chroma-intergration 2017-10-10 21:39:58 -03:00
Carsten Teibes
fde6a92197 Fix deprecation warning on build with MRI>2.3
Fixes #158.

The old alias is deprecated since: ruby/ruby@fdb957925f.
2017-08-18 22:41:16 +02:00
Vinyl Darkscratch
cb1e33fa8c Fix doubled variable declaration 2017-07-31 18:29:49 -07:00
Vinyl Darkscratch
5e29b2ba66 Merge remote-tracking branch 'mathewv/master' 2017-07-31 15:19:08 -07:00
tdixon
d4645c694c basic integration of chroma sdk 2017-07-09 14:39:29 -03:00
Vinyl Darkscratch
6c772cfdd2 Merge remote-tracking branch 'mathewv/master' into oneshot-fop 2017-07-08 02:52:09 -07:00
tdixon
9f8b1dd1fd Localization for keybinding menu 2017-06-29 13:22:36 -03:00
tdixon
5ff6d6e86b journal localization 2017-05-17 23:20:39 -03:00
Vinyl Darkscratch
c9d821e878 Remove accidental bindings 2017-05-14 15:50:59 -07:00
Jonas Kulla
0481f920b0 Input: Remove ugly [-20,-20] mouse position hack
This was supposed to disappear shortly after To the Moon's release,
but it unfortunately survived a bit longer :)

The status of the mouse cursor being inside / outside the game window
is now properly exposed (in MRI) via MKXP.mouse_in_window.
2017-04-08 18:45:24 +02:00
Vinyl Darkscratch
0fe0b7d755 Revert new feature additions
This reverts commit 61ce6cd8ea.

# Conflicts:
# 	binding-mri/oneshot-binding.cpp
2017-04-06 17:47:05 -07:00
Vinyl Darkscratch
7274072a2d Add window fade-out on exit 2017-04-04 02:31:08 -07:00
Vinyl Darkscratch
6b5eff715b Add text input function (broken, read description)
Note: using this function breaks the graphics rendering at the moment,
due to code inconsistencies (utilizing SDL renderers when the rest of
the program uses GL ones, mainly), working on fixes for it!
2017-04-04 00:43:53 -07:00
Vinyl Darkscratch
3913a3ef74 Add window position setter and getter 2017-04-03 04:58:41 -07:00
jonathan de jong
545f1f4d41 Merge branches 'master' and 'master' of https://github.com/vinyldarkscratch/mkxp-oneshot 2017-04-03 12:33:45 +02:00
jonathan de jong
979b1f1415 stuffz 2017-04-03 12:33:38 +02:00
Vinyl Darkscratch
04da5ad447 Update oneshot-binding.cpp 2017-04-03 03:06:20 -07:00
jonathan de jong
77021e0abc **x.x** 2017-04-03 11:51:07 +02:00
jonathan de jong
ad92ab9b21 x.x 2017-04-03 11:49:11 +02:00
jonathan de jong
61ce6cd8ea i hope this works.... 2017-04-03 11:47:37 +02:00
Jonas Kulla
c4dd3ffaf6 Config: Use set for preloadScripts
Would probably make sense for all other string vectors too.
2017-03-03 19:37:19 +01:00
Vinyl Darkscratch
2119b1919d Merge remote-tracking branch 'mathewv/master' 2017-01-11 00:54:30 -08:00
root
29fd891550 Adding backend changes for settings menu
Committer: mshirt <mshirt@ualberta.ca>
2017-01-01 04:48:40 -06:00
Vinyl Darkscratch
d16959f0e8 Merge remote-tracking branch 'mathewv/master' 2016-12-17 22:53:21 -08:00
Mathew Velasquez
ecd0d92d30 Reverting some marshal stuff 2016-12-17 15:59:41 -05:00
Vinyl Darkscratch
b0b024a01a Merge remote-tracking branch 'mathewv/master' 2016-12-15 13:37:16 -08:00
Mathew Velasquez
d47a2241ee Messagebox fix 2016-12-15 05:39:51 -05:00
Vinyl Darkscratch
f8c3862c2e Accommodate for @mathewv's "smooth" implementation 2016-12-14 21:14:42 -08:00
Vinyl Darkscratch
582b750c2b Merge remote-tracking branch 'mathewv/master' 2016-12-14 21:10:23 -08:00
Vinyl Darkscratch
3224d65988 Made paths in script cross-platform friendly
An ending that made me very, VERY teary-eyed, interrupted by an access
denied error…argh, code bugs, why!  >~<  Basically, the path to “My
Games” and the name of the journal’s executable are now defined by
oneshot.cpp and loaded into the Ruby script, so the ending isn’t
interrupted.  Now all that’s left is to compile the journal!
2016-12-14 21:09:33 -08:00
Mathew Velasquez
99d0c2888a Marshal tweaks 2016-12-14 22:05:53 -05:00
Mathew Velasquez
a0ba40916d Smooth scaling Graphics option 2016-12-14 22:05:53 -05:00
Vinyl Darkscratch
0a1d9c570f Add "smooth" property to graphics module
This is just a simple bind and addition of a “smooth” property in the
graphics module, to fix fatal issue #2
2016-12-14 16:06:40 -08:00
Vinyl Darkscratch
0b7fdbf8e1 Updates for a future Mac build 2016-12-12 22:59:07 -08:00
Mathew Velasquez
aa7818847c Lots of stuff 2016-12-06 23:49:37 -05:00
Mathew Velasquez
1f35ab104f Various last-minute beta fixes 2016-11-04 05:29:22 -04:00
Mathew Velasquez
693f045ff8 More line ending fixes, ___ 2016-11-04 00:05:49 -04:00
Mathew Velasquez
6312ce865c Added active? function, fixed CRLF line endings 2016-11-04 00:04:27 -04:00
Mathew Velasquez
78c4c3b9bf Niko/Journal for windows 2016-11-03 18:37:14 -04:00
Mathew Velasquez
50d64ea060 Window shaking 2016-10-29 22:22:22 -04:00
Mathew Velasquez
99c9a27f2a Wallpaper functionality restored for windows 2016-10-13 20:26:01 -04:00
Mathew Velasquez
0dc872bcea Journal screen stuff 2016-10-13 20:26:01 -04:00
Mathew Velasquez
302ec6dd02 I stopped making commits for a good while. Here's the latest junk. 2016-09-19 13:54:38 -04:00
Jonas Kulla
0ec1fce4ac MRI: Bind Audio.setup_midi 2016-09-12 20:20:56 +02:00
Mathew Velasquez
82493cd0a0 Added footprints and src_rect to Plane class 2016-04-11 21:33:54 -04:00
Mathew Velasquez
d53ad4b124 Improved internationalization support 2016-04-06 13:45:36 -04:00
Mathew Velasquez
737f0759e7 Added cheap hack for sprite lighting occlusion 2016-03-11 02:28:26 -05:00
Mathew Velasquez
1fd808d0af Gutted more unused features 2016-02-29 15:40:10 -05:00
Mathew Velasquez
546f29f42e Preliminary i18n improvements 2016-02-29 01:41:37 -05:00
Mathew Velasquez
a4de9d9f10 integrated steamshim 2016-02-29 01:22:55 -05:00
Mathew Velasquez
21fcc9e19c Basic Steamworks API support 2016-02-17 17:16:22 -05:00
Mathew Velasquez
2df5fd29de Renamed $DEBUG to $debug to avoid verbose mode.
Also made GL debug functions print less stuff.
2016-02-17 17:14:16 -05:00
Mathew Velasquez
ba0203169e Added obscured/scratched window puzzle 2016-02-17 17:14:16 -05:00
Mathew
90cf07c825 Linked to debugMode option, gutted RTP config 2016-01-05 14:50:18 -05:00
Mathew Velasquez
5ff71744b5 Rudimentary map wrapping added 2016-01-05 14:50:18 -05:00
Mathew Velasquez
3c6cef9aeb overhauled input symbols to be more gamepad-friendly 2016-01-05 14:50:17 -05:00
Mathew Velasquez
3d2d1a9150 Manually rebased over latest mkxp commit. Some features, such as lighting, are not reimplemented yet. 2016-01-05 14:50:17 -05:00
Jonas Kulla
5d776319b5 Font/MRI: Improve handling of (default_)name attributes
More accurate behavior, such as Font objects properly inheriting
their name attributes, and centralization of code for picking
the first existing name from a passed string array.

Also centralizes initial default_name population in core.

Note: This currently breaks the mruby binding build.
2016-01-05 08:47:52 +01: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
cremno
861d261af2 add Sprite#{bush_opacity,bush_opacity=} 2015-07-21 07:27:53 +02:00
Jonas Kulla
e4558c9dfb Use FS::openReadRaw() where ext supplementing makes no sense
Specifically, in places where the full filename is always supplied,
eg. when reading .rxdata type files.
2015-07-09 12:58:01 +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
88eca58268 Revert "check Ruby strings for embedded null bytes"
This reverts commit 29dfda0011.
It turned out to be a bad idea after all.
2015-05-11 23:13:02 +02:00
Jonas Kulla
8d7166f3d2 MRI: Fix Font.name returning nil
I wish I had tests..
2015-03-16 08:36:29 +01:00
Jonas Kulla
35077793a0 Add std::streambuf wrapper around SDL_RWops for boost
Also add SDL_RWops version of the readFile utility function.
2014-12-31 18:52:21 +01:00
Jonas Kulla
4b08d82ea4 MRI: dataDirectory: Return "." if customDataPath is not defined 2014-12-31 18:52:20 +01:00
Jonas Kulla
b39964a49a MRI: Make error handling during script load more robust 2014-12-31 18:52:20 +01:00
Jonas Kulla
685f8b63b3 Input: Integer button codes are still allowed in RGSS3 2014-12-09 04:21:48 +01:00
Jonas Kulla
33c571e691 MRI: Fix mingw build crash when linking with -mwindows 2014-11-20 13:51:35 +01:00
Jonas Kulla
c9d5059238 Pass value object attributes by reference (instead of pointer)
This underlines that no reference inside the setter is taken,
and that these attributes are non-nullable.

Also removes a couple of superfluous attribute macros.
2014-10-25 23:33:41 +02:00
Jonas Kulla
5549ff78f0 Bindings: Viewport: Don't dispose children in RGSS2/3 2014-10-24 18:55:03 +02:00
Jonas Kulla
1a489aafaf Bindings: Fix inconsistency in Viewport dispose (RGSS1)
As noted, on Viewport dispose, RMXP always calls the core
dispose method for child objects regardless of whether
user scripts override it in sub classes.

Implement this behavior in mkxp to prevent infinite recursion.
2014-10-24 18:35:05 +02:00
Jonas Kulla
ecf9b065c8 MRI: Revise 'MKXP.data_directory' behavior
This function which was formerly a simple wrapper around
SLD_GetPrefPath() is changed to instead return the directory
assembled from org/app name specified in mkxp.conf, so one
can be sure that both mkxp and user scripts will always write
into the same directory when a custom path is preferred.
2014-10-22 04:16:15 +02:00
Jonas Kulla
af8f3a36d2 MRI: Move former 'System' module into 'MKXP' module
This breaks script compatibility.

'System' is way too generic of a name to reserve for mkxp use,
and I have already seen at least one occurance in the wild of
it being used by user scripts.

Ideally, all mkxp RGSS extensions would be moved under this
module, but I feel like the core modules (Input, Graphics etc)
are more safe as users are hesitant to directly extend these.
2014-10-22 04:15:40 +02:00
Jonas Kulla
4a8b0f30c8 MRI: Add 'System.raw_key_states' to query full keyboard state
Returns a byte array with all key states (0 = released,
1 = pressed) indexed via SDL_SCANCODE_* enums.
2014-10-20 10:27:01 +02:00
Jonas Kulla
47851718eb MRI: Handle exceptions raised in preloaded scripts 2014-10-15 06:27:43 +02:00
Jonas Kulla
7b65977eb9 Silence "uninitialized" warnings 2014-10-01 06:29:47 +02:00
Jonas Kulla
3dd703f732 MRI: Use ruby 2.0 compatible function name 2014-09-30 00:48:22 +02:00
Jonas Kulla
9758e660c4 Tilemap/VX: Ensure proxy objects don't outlive their parents
Either of these would previously crash (same for VX):

tm = Tilemap.new
at = tm.autotiles
tm = nil
GC.start
at[0] = Bitmap.new(1, 1)

tm = Tilemap.new
at = tm.autotiles
tm.dispose
at[0] = Bitmap.new(1, 1)

Funnily, this makes RMXP itself crash too, but crashing is
never acceptable except for possibly resource exhaustion.
2014-09-26 18:21:50 +02:00
Jonas Kulla
e9d0d0566b RGSSError is a subclass of StandardError 2014-09-26 18:20:27 +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
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
8d67b7c91d MRI: Init default font names to correct value (RGSS2) 2014-09-23 12:05:28 +02:00
Jonas Kulla
3a29385df0 MRI: load_data: Catch exceptions and pass onto ruby 2014-09-13 07:26:42 +02:00
Jonas Kulla
61b77c2027 Merge pull request #69 from cremno/check-ruby-string-for-embedded-null-bytes
MRI: check Ruby strings for embedded null bytes
2014-09-12 23:30:07 +02:00
cremno
6abc207f1e VX tilemap has 9 bitmaps 2014-09-12 15:21:20 +02:00
cremno
29dfda0011 check Ruby strings for embedded null bytes
The RGSS doesn't do it. But doing it shouldn't be a problem, as it's the
correct way. If a game is broken by this commit (unlikely), then the game
needs to be fixed as silent truncation is highly unlikely to be wanted.
2014-09-12 15:20:12 +02:00
Jonas Kulla
6bc3460294 Core, MRI: Don't expose RGSS3 functionality in 2 2014-09-06 02:01:20 +02:00
Jonas Kulla
bca95adc0e MRI: WindowVX dummy contents object is always created
The check was against rgssVer >= 2, but since that's always
true if WindowVX is used, it was pointless.
2014-09-05 22:54:57 +02:00
Jonas Kulla
0131ed09f0 Bindings: Remove 'wrapNilProperty'
It's completely useless lol.
2014-09-05 01:59:01 +02:00
Jonas Kulla
f8c26fc515 Core/MRI: Fix handling of Etc/Font properties
The gist of it is that for Etc and Font props, the assignment
operator (eg. 'sprite.color=') does not take a reference of the
right hand parameter and replaces its previous one with it (this
was the old behavior). Rather, it keeps its internal property
object and copies the parameter object into it by value.
The getter is unchanged; it still returns a reference to the
internal property object.

s = Sprite.new
c = Color.new
s.color = c
p s.color == c # => true
p s.color.object_id == c.object_id # => false (true before)
c = s.color
p s.color.object_id == c.object_id # => true
2014-09-05 01:58:41 +02:00
Jonas Kulla
8c1cf27b7c Merge pull request #67 from cremno/add-rgss-3-0-1-etc-classes-equality-comparison
add RGSS 3.0.1 etc classes equality comparison
2014-09-02 20:09:10 +02:00
Jonas Kulla
8975255ecf Merge pull request #65 from cremno/define-case-and-hash-equality-for-etc-classes
define case and hash equality for etc classes
2014-09-02 20:02:47 +02:00
cremno
fd4f7c66d1 bump RGSS_VERSION to 3.0.1 2014-09-02 19:53:09 +02:00
cremno
7acbb06fbd add RGSS 3.0.1 etc classes equality comparison
RGSS 3.0.1 finally fixed #==, #===, #eql? for Color, Tone, and Rect.
Now instances of them can be compared to other kinds of objects.
2014-09-02 19:53:05 +02:00
cremno
a366862076 define case and hash equality for etc classes
RGSS also defines #=== and #eql? for Color, Tone, and Rect:

  Color.instance_method(:==) == Color.instance_method(:===)   # => true
  Color.instance_method(:==) == Color.instance_method(:eql?)  # => true
2014-09-02 19:18:51 +02:00
Jonas Kulla
3b7b8657ea MRI: Fix exception message box script name and display script index
Previously, when the script names in the backtrace were in the form
'SectionXXX'/'{XXXX}' (default RMXP behavior), this same name would
be shown in the error message box, whereas RMXP always displays the
actual script name (eg. 'Scene_Map') instead; only with
useScriptNames=true was mkxp's behavior mostly correct.
Fix this by keeping a backtrace format -> actual script name mapping
and always using the script name in the message box.
The script name and line would also be parsed wrongly if the name
contained any colons, fix this by walking the exception string
back to front instead.

Also prepend the script index to the name when useScriptNames=true;
this is invaluable when debugging projects where multiple scripts
carry the same name. The format is 'XXX:Script_Name'.
2014-09-02 17:16:14 +02:00
Jonas Kulla
7bc07301db Merge pull request #62 from cremno/mri-bitmap-fix-obj2str-conversion
fix Bitmap's object to string conversion
2014-08-31 14:06:54 +02:00
Jonas Kulla
360cf240f6 Merge pull request #61 from cremno/mri-add-rgss_version
add RGSS_VERSION (RGSS3)
2014-08-31 12:58:11 +02:00
cremno
53cd5e1fbc use std::max instead of ?: 2014-08-31 11:10:57 +02:00
cremno
b8fc8cf9b6 fix Bitmap's object to string conversion
Calling #to_s might not return a string (it should though).
2014-08-31 09:52:04 +02:00
cremno
95c53899be add RGSS_VERSION (RGSS3)
Even though 3.0.1 is the current version, 3.0.0 is used, because mkxp doesn't
implement the changes like not raising a TypeError for 'Color.new == nil' yet.
3.0.1 (finally) returns false. Other changes don't affect mkxp (I think).

See <http://tkool.jp/support/download/rpgvxace/rpgvxace_update> (Japanese).
2014-08-31 05:46:04 +02:00
cremno
acf826eb7a fix some integer conversions in the Table class
Sizes (x, y, z) are clamped to a non-negative int value.
Use NUM2INT instead of FIX2INT as the argument might not be a Fixnum.
2014-08-31 04:46:51 +02:00
Jonas Kulla
2ba9f6589b Merge pull request #57 from cremno/mri-use-rb_type_p-instead-of-rb_type
MRI: use RB_TYPE_P() instead of rb_type()
2014-08-30 03:56:37 +02:00
Jonas Kulla
f7d7b16eaf Merge pull request #58 from cremno/mri-use-rb_data_type_t
MRI: use rb_data_type_t and initialize in definition
2014-08-29 22:17:25 +02:00
cremno
173ee07959 get rid of INIT_TYPE() / initType()
A function to initialize rb_data_type_t variables is not needed.

Also fix a FIXME (WindowVX's name is now "Window") on the way.
2014-08-29 21:01:53 +02:00
cremno
4920931d33 add global function rgss_stop
It's only useful for testing code. Also RGSS3's rgss_stop (and rgss_main)
is written in Ruby and not in C++. But I doubt someone relies on that.
2014-08-29 14:32:43 +02:00
cremno
0203e28436 use rb_data_type_t instead rb_data_type_struct
For some reason the struct tag and typedef name differ and
nobody uses rb_data_type_struct.
2014-08-29 14:13:40 +02:00
cremno
70c40fe530 MRI: use RB_TYPE_P() instead of rb_type()
Just a very small optimization.
2014-08-29 13:11:39 +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
117ddeee5c Config: Add 'preloadScript' entry to run raw scripts before the game scripts
Useful to insert common code, wrappers etc. without touching Scripts.rxdata.
2014-08-24 07:32:44 +02:00
Jonas Kulla
d2fd692041 MRI: Actually define '$MKXP' 2014-08-24 07:21:26 +02:00
Jonas Kulla
dbb2249ff3 MRI: Graphics: Bind resize_screen 2014-08-24 07:20:44 +02:00
Jonas Kulla
4baf7b5a5a Spacing 2014-08-23 13:53:13 +02:00
Jonas Kulla
f76ecfdba8 MRI: WindowVX: Bind RGSS2 constructor (same as RGSS1) 2014-08-22 23:57:12 +02:00
Jonas Kulla
ee8a3ca402 MRI-Binding: Font: Add get/set_default_out_color binding 2014-08-22 23:49:18 +02:00
Jonas Kulla
d075bd255c MRI-Binding: WindowVX: Since RGSS2 'contents' has a 1x1 dummy bitmap 2014-08-17 00:27:07 +02:00
Jonas Kulla
169f9e9285 MRI-Binding: Audio: Bind RGSS3 functions 2014-08-17 00:27:07 +02:00
Jonas Kulla
3887342439 Disposable: Emit 'wasDisposed' on destruction, not dispose()
Fixes segfaults when objects that were not explicitly disposed
were collected by the GC.
2014-08-16 11:47:07 +02:00
Jonas Kulla
7f69786c47 MRI-Binding: TilemapVX: 'flags' is called 'passages' in RGSS2 2014-08-16 11:47:06 +02:00
Jonas Kulla
d439b1d833 MRI-Binding: Add RGSS2 RPG module 2014-08-16 11:47:06 +02:00
Jonas Kulla
9003f9a435 Font: Add missing RGSS2+ props basic plumbing (and bind most in MRI)
No core implementations yet for shadow and outline color.
2014-08-16 11:46:25 +02:00
Jonas Kulla
de8773fb5c MRI-Binding: WindowVX: Fix method name typo 2014-08-16 06:04:02 +02:00
Jonas Kulla
931755cb64 MRI-Binding: Add RGSS3 RPG module 2014-08-16 06:04:02 +02:00
Jonas Kulla
deb5696ddb MRI-Binding: Graphics: Bind 'brightness' prop (RGSS2) 2014-08-16 06:04:02 +02:00
Jonas Kulla
7a655528e4 Viewport: Add zero arg constructor (RGSS3) and bind in MRI 2014-08-16 06:03:48 +02:00
Jonas Kulla
5bc6f6f32c Etc: Implement missing RGSS3 functionality (and bind in MRI) 2014-08-15 22:58:08 +02:00
Jonas Kulla
0c5e84eb4b MRI-Binding: Bitmap: Bind missing RGSS2 methods 2014-08-15 22:51:32 +02:00
Jonas Kulla
5b319020ea MRI-Binding: Bitmap: 'draw_text' and 'text_size' should call #to_s (RGSS2) 2014-08-15 22:49:22 +02:00
Jonas Kulla
3224950a1c MRI-Binding: Add crude 'rgss_main' implementation (RGSS3)
No F12 reset yet.
2014-08-15 22:35:57 +02:00
Jonas Kulla
7790bd6c2c Implement RGSS2 Tilemap class (TilemapVX) 2014-08-15 15:20:32 +02:00