mkxp-freebird/src
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
..
al-util.h ALStream: Fix sometimes not unqueuing all buffers before play 2014-07-31 03:39:36 +02:00
aldatasource.h Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
alstream.cpp Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
alstream.h Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
audio.cpp Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
audio.h Don't expose global modules' con/destructors 2013-12-05 00:34:11 +01:00
audiostream.cpp audio.cpp: Split up into smaller parts 2014-07-23 17:28:20 +02:00
audiostream.h audio.cpp: Split up into smaller parts 2014-07-23 17:28:20 +02:00
autotiles.cpp autotiles.cpp: Fix subrect pattern for indices 23 and 46 2014-08-07 10:46:58 +02:00
binding.h Initial commit 2013-09-01 16:27:21 +02:00
bitmap.cpp Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
bitmap.h Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
boost-hash.h Transition from QtCore to stdc++ / STL / boost 2013-12-29 13:59:26 +01:00
config.cpp Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
config.h Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
debuglogger.cpp gl-fun.h: Fix KHR_debug function signatures 2014-06-24 23:56:13 +02:00
debuglogger.h Initial commit 2013-09-01 16:27:21 +02:00
debugwriter.h DebugWriter: Add std::vector print handler 2014-05-21 18:10:46 +02:00
disposable.h Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
etc-internal.h Bitmap: Clip dest rect when blitting from mega surface 2014-08-09 21:21:38 +02:00
etc.cpp Sanitize #include statements 2013-12-04 17:48:37 +01:00
etc.h GLState: Remove 'BlendNone' mode in favor of disabling blending alltogether 2014-07-20 13:17:12 +02:00
eventthread.cpp EventThread: Simplify user event handling 2014-08-06 15:54:44 +02:00
eventthread.h Remove screenshot functionality 2014-04-16 13:48:45 +02:00
exception.h Spacing 2014-01-15 00:48:34 +01:00
filesystem.cpp Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
filesystem.h Minor declaration fix 2014-04-16 20:54:29 +02:00
flashable.h Sprite: Implement wave effect (RGSS2) 2014-02-03 15:32:50 +01:00
font.cpp Font: 'exist?' allows any object (returns false if not string) 2014-08-09 21:21:38 +02:00
font.h Font: Overhaul font asset discovery 2014-04-16 13:37:22 +02:00
gl-fun.cpp Hookup mkxp to run under a OpenGL ES 2.0 context 2014-07-19 14:26:42 +00:00
gl-fun.h gl-fun.h: Allow to alternatively be compiled with GLES2 headers 2014-07-21 01:49:06 +00:00
gl-meta.cpp GLMeta: Disable blending when blitting via quad draw 2014-07-20 13:20:43 +02:00
gl-meta.h gl-util.h: Remove wrappers for things abstracted via GLMeta 2014-07-16 05:22:43 +02:00
gl-util.h gl-util.h: GL_RGBA8 is not a legal internalformat under GLES2 2014-07-19 15:40:40 +00:00
global-ibo.h Actually switch to 16 bit index buffers 2014-07-19 09:31:39 +02:00
glstate.cpp GLState: Remove 'BlendNone' mode in favor of disabling blending alltogether 2014-07-20 13:17:12 +02:00
glstate.h GLState: Remove 'BlendNone' mode in favor of disabling blending alltogether 2014-07-20 13:17:12 +02:00
graphics.cpp GLState: Remove 'BlendNone' mode in favor of disabling blending alltogether 2014-07-20 13:17:12 +02:00
graphics.h Don't expose global modules' con/destructors 2013-12-05 00:34:11 +01:00
input.cpp util.h: Use size_t for static array sizes 2014-07-19 00:52:00 +02:00
input.h Don't unnecessarily expose internal constant 2014-05-30 23:13:58 +02:00
intrulist.h Initial commit 2013-09-01 16:27:21 +02:00
main.cpp Add option to turn off switching into executable dir on startup 2014-08-02 09:30:17 +02:00
midisource.cpp MidiSource: Improve pitch shifting accuracy 2014-08-02 16:15:11 +02:00
plane.cpp Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
plane.h Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
quad.h GLMeta: Add vertex array object support 2014-07-13 14:05:12 +02:00
quadarray.h GLMeta: Add vertex array object support 2014-07-13 14:05:12 +02:00
rgssad.cpp Add missing header 2014-07-25 14:58:11 +02:00
rgssad.h RGSSAD: Add RGSS3 archive reader 2014-07-24 02:45:20 +02:00
scene.cpp Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
scene.h Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
sdlsoundsource.cpp Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
serial-util.h Serialization: Fix typos resulting in corrupted data 2013-10-17 01:01:25 +02:00
serializable.h Remove Serializable's virtual destructor. It didn't do anything anyway. 2013-09-27 04:39:35 +02:00
shader.cpp Hookup mkxp to run under a OpenGL ES 2.0 context 2014-07-19 14:26:42 +00:00
shader.h Tilemap: Use vertex shader based autotile animation strategy 2014-07-06 19:44:19 +02:00
sharedmidistate.h Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
sharedstate.cpp Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
sharedstate.h Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
soundemitter.cpp audio.cpp: Split up into smaller parts 2014-07-23 17:28:20 +02:00
soundemitter.h audio.cpp: Split up into smaller parts 2014-07-23 17:28:20 +02:00
sprite.cpp Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
sprite.h Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
table.cpp Table: Add clone constructor (and bind in MRI) 2014-08-05 05:24:13 +02:00
table.h Table: Add clone constructor (and bind in MRI) 2014-08-05 05:24:13 +02:00
texpool.cpp Exception: Constructor now takes printf style arguments 2013-12-29 18:05:11 +01:00
texpool.h Rename 'Tex' to 'TEX' for consistency 2013-09-06 12:26:41 +02:00
tileatlas.cpp TileAtlas: Fix broken atlas generation 2014-07-10 21:48:33 +02:00
tileatlas.h Rename typedef and fix wrong documenting comment 2014-01-16 19:16:09 +01:00
tilemap.cpp Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
tilemap.h Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
tilequad.cpp Cosmetic changes 2013-09-21 14:45:27 +02:00
tilequad.h Spacing/spelling 2014-05-07 17:52:11 +02:00
transform.h Sanitize #include statements 2013-12-04 17:48:37 +01:00
util.h Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
vertex.cpp Use macro from util.h for static array size 2014-07-23 21:26:44 +02:00
vertex.h GLMeta: Add vertex array object support 2014-07-13 14:05:12 +02:00
viewport.cpp Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
viewport.h Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
vorbissource.cpp Audio: Add MIDI format playback support 2014-08-02 06:42:55 +02:00
window.cpp Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00
window.h Lift 'Disposable' concept from core into bindings 2014-08-09 21:21:38 +02:00