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
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
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
Jonas Kulla
91d19d0a73
Implement RGSS2 Window class (WindowVX)
2014-08-15 15:20:15 +02:00
Jonas Kulla
e858bbdcf5
Lift 'Disposable' concept from core into bindings
...
Instead of replicating the RGSS Disposable interface in C++
and merely binding it, redefine the 'disposed' state as the
entire core object being deleted (and the binding object's
private pointer being null).
This makes the behavior more accurate in regard to RMXP.
It is now for example possible to subclass disposable classes
and access their 'dispose'/'disposed?' methods without
initializing the base class first (because the internal pointer
is simply null before initialization). Accessing any other
base methods will still raise an exception.
There are some quirks and irregular behavior in RMXP; eg.
most nullable bitmap attributes of disposable classes
(Sprite, Plane etc.) can still be queried afterwards, but
some cannot (Tilemap#tileset), and disposing certain
attributes crashes RMXP entirely (Tilemap#autotiles[n]).
mkxp tries to behave as close possible, but will be more
lenient some circumstances.
To the core, disposed bitmap attributes will look
identically to null, which slightly diverges from RMXP
(where they're treated as still existing, but aren't drawn).
The Disposable interface has been retained containing a
single signal, for the binding to inform core when
objects are disposed (so active attributes can be set to null).
2014-08-09 21:21:38 +02:00
Jonas Kulla
b7af8cc92f
MRI-Binding: Typo in Flashable binding
2014-08-09 21:21:38 +02:00
Jonas Kulla
cc0ab35f10
Font: 'exist?' allows any object (returns false if not string)
2014-08-09 21:21:38 +02:00
Jonas Kulla
88bb92aadc
MRI-Binding: Input constants are symbols in RGSS3
2014-08-09 21:21:15 +02:00
Jonas Kulla
151a1f0d1b
Table: Add clone constructor (and bind in MRI)
...
Fixes #50 .
2014-08-05 05:24:13 +02:00
Jonas Kulla
e38ec7be98
Simplify earlier patch
2014-07-25 07:57:01 +02:00
Jonas Kulla
262023b088
MRI-Binding: Fix typo and don't set $LOAD_PATH (thanks @cremno)
...
'$:' and '$LOAD_PATH' point to the same array.
2014-07-25 00:40:36 +02:00
Jonas Kulla
ec16210f8a
MRI-Binding: Allow manually specifying load paths in config
2014-07-24 23:11:12 +02:00
Jonas Kulla
a17043f785
MRI-Binding: Bitmap#get_pixel always returns a Color object
2014-07-16 17:39:39 +02:00
Jonas Kulla
b878149f5c
MRI-Binding: Properly init Bitmap in Graphics#snap_to_bitmap
2014-07-16 05:27:16 +02:00
Jonas Kulla
7ad6b7b5df
MRI-Binding: Add some RGSS2 Graphics bindings
2014-07-15 12:34:58 +02:00
Jonas Kulla
a541cb1205
Some RGSS2/RGSS3 compile fixes
2014-07-13 05:34:18 +02:00
cremno
e6a116f43f
use `rb_funcall2` instead of `rb_funcallv`
...
In 2.1 `rb_funcall2` was renamed to `rb_funcallv` and
a macro for backward compatibility was added.
2014-05-25 12:57:04 +02:00
Jonas Kulla
72fc659a4c
MRI-Binding: Don't refine Kernel#caller in RGSS3
2014-05-07 03:19:06 +02:00
Jonas Kulla
1bdcfa7b04
MRI-Binding: Adjust 'Kernel#caller' output to match RMXP
2014-05-06 12:13:12 +02:00
Jonas Kulla
58d86039d5
Merge branch 'dev'
2014-04-17 08:19:24 +02:00