Add async image load

This commit is contained in:
Varun Patil 2019-05-08 17:11:57 +05:30
parent 0dbe2008af
commit 5388573dbc
16 changed files with 310 additions and 171 deletions

View file

@ -52,6 +52,8 @@
#ifdef __EMSCRIPTEN__
#include <emscripten.h>
#include <emscripten/fetch.h>
#include <fstream>
#endif
static void mrbBindingExecute();
@ -87,9 +89,9 @@ void audioBindingInit(mrb_state *);
void graphicsBindingInit(mrb_state *);
/* From module_rpg.c */
extern const uint8_t mrbModuleRPG[];
extern const uint8_t rpg_mrb[];
static void mrbBindingInit(mrb_state *mrb)
static void __attribute__ ((optnone)) mrbBindingInit(mrb_state *mrb)
{
int arena = mrb_gc_arena_save(mrb);
@ -115,7 +117,7 @@ static void mrbBindingInit(mrb_state *mrb)
graphicsBindingInit(mrb);
/* Load RPG module */
mrb_load_irep(mrb, mrbModuleRPG);
mrb_load_irep(mrb, rpg_mrb);
/* Load global constants */
mrb_define_global_const(mrb, "MKXP", mrb_true_value());
@ -257,26 +259,32 @@ runMrbFile(mrb_state *mrb, const char *filename)
fclose(f);
}
static mrb_state * static_mrb;
static MrbData * mrbData;
static mrb_state * static_scriptmrb;
void __attribute__ ((optnone)) main_update_loop() {
mrb_load_nstring_cxt(static_mrb, "main_update_loop", 16, NULL);
static void __attribute__ ((optnone)) main_update_loop() {
mrb_state * mrb = (mrb_state *) static_cast<mrb_state*>(shState->bindingData());
mrb_load_nstring_cxt(mrb, "main_update_loop", 16, NULL);
#ifdef __EMSCRIPTEN__
if (static_mrb->exc) {
if (mrb->exc) {
printf("Execution Errored\n");
mrb_value s = mrb_funcall(static_mrb, mrb_obj_value(static_mrb->exc), "inspect", 0);
mrb_value s = mrb_funcall(mrb, mrb_obj_value(mrb->exc), "inspect", 0);
if (mrb_string_p(s)) {
printf("%s", mrb_str_to_cstr(static_mrb, s));
printf("%s", mrb_str_to_cstr(mrb, s));
printf("\n");
}
mrb_close(static_scriptmrb);
shState->texPool().disable();
mrb_close(static_mrb);
emscripten_cancel_main_loop();
//mrb_close(static_scriptmrb);
//shState->texPool().disable();
//mrb_close(static_mrb);
}
#endif
}
static bool initialized = false;
static emscripten_fetch_t *fetchScripts;
static std::atomic<int> assetQ;
static void
runRMXPScripts(mrb_state *mrb, mrbc_context *ctx)
{
@ -302,16 +310,16 @@ runRMXPScripts(mrb_state *mrb, mrbc_context *ctx)
try
{
SDL_rw_file_helper fileHelper;
fileHelper.filename = scriptPack.c_str();
char * contents = fileHelper.read();
mrb_value rawdata = mrb_str_new_static(mrb, contents, fileHelper.length);
const char * contents = fetchScripts->data;
mrb_value rawdata = mrb_str_new_static(mrb, contents, fetchScripts->numBytes);
scriptArray = mrb_marshal_load(mrb, rawdata);
}
catch (const Exception &e)
{
readError = std::string(": ") + e.msg;
}
emscripten_fetch_close(fetchScripts);
fetchScripts = NULL;
if (!mrb_array_p(scriptArray))
{
@ -383,51 +391,45 @@ runRMXPScripts(mrb_state *mrb, mrbc_context *ctx)
break;
}
static_mrb = mrb;
static_scriptmrb = scriptMrb;
#ifdef __EMSCRIPTEN__
/* Use loop for emscripten */
mrb_load_nstring_cxt(static_mrb, "main_update_loop", 16, NULL);
emscripten_set_main_loop(main_update_loop, 0, 1);
return;
#else
while (true) {
main_update_loop();
SDL_Delay(3);
if (static_mrb->exc)
if (mrb->exc)
break;
}
mrb_close(scriptMrb);
#endif
}
static void mrbBindingExecute()
static void __attribute__ ((optnone)) mrbBindingMain()
{
mrb_state *mrb = mrb_open();
shState->setBindingData(mrb);
MrbData mrbData(mrb);
mrb->ud = &mrbData;
mrbData = new MrbData(mrb);
mrb->ud = mrbData;
mrb_define_module_function(mrb, mrb->kernel_module, "time_op",
mkxpTimeOp, MRB_ARGS_OPT(2) | MRB_ARGS_BLOCK());
mrbBindingInit(mrb);
const Config &conf = shState->rtData().config;
const std::string &customScript = conf.customScript;
(void) runMrbFile; // FIXME mrbFile support on ice for now
mrbc_context *ctx = mrbc_context_new(mrb);
ctx->capture_errors = 1;
const Config &conf = shState->rtData().config;
const std::string &customScript = conf.customScript;
// const std::string &mrbFile = conf.mrbFile;
(void) runMrbFile; // FIXME mrbFile support on ice for now
if (!customScript.empty())
if (!customScript.empty()) {
runCustomScript(mrb, ctx, customScript.c_str());
// else if (!mrbFile.empty())
// runMrbFile(mrb, mrbFile.c_str());
}
else
runRMXPScripts(mrb, ctx);
@ -442,6 +444,48 @@ static void mrbBindingExecute()
#endif
}
void downloadSucceeded(emscripten_fetch_t *fetch) {
printf("Finished downloading %llu bytes from URL %s.\n", fetch->numBytes, fetch->url);
fetchScripts = fetch;
assetQ--;
}
void downloadFailed(emscripten_fetch_t *fetch) {
printf("Downloading %s failed, HTTP failure status code: %d.\n", fetch->url, fetch->status);
fetchScripts = fetch;
assetQ--;
emscripten_fetch_close(fetch);
}
void __attribute__ ((optnone)) supermainloop() {
if (assetQ > 0) return;
if (initialized) {
main_update_loop();
} else {
mrbBindingMain();
initialized = true;
}
}
static void __attribute__ ((optnone)) mrbBindingExecute()
{
assetQ = 1;
emscripten_fetch_attr_t attr;
emscripten_fetch_attr_init(&attr);
strcpy(attr.requestMethod, "GET");
attr.attributes = EMSCRIPTEN_FETCH_LOAD_TO_MEMORY;
attr.onsuccess = downloadSucceeded;
attr.onerror = downloadFailed;
emscripten_fetch(&attr, "async/Data/Scripts.rxdata");
emscripten_set_main_loop(supermainloop, 0, 0);
}
void addAssetDownloadMap(char * path) {
}
static void mrbBindingTerminate()
{
mrb_state *mrb = static_cast<mrb_state*>(shState->bindingData());

View file

@ -29,7 +29,7 @@
DEF_TYPE(Bitmap);
MRB_METHOD(bitmapInitialize)
__attribute__ ((optnone)) MRB_METHOD(bitmapInitialize)
{
Bitmap *b = 0;
@ -65,7 +65,7 @@ MRB_METHOD(bitmapInitialize)
return self;
}
MRB_METHOD(bitmapWidth)
__attribute__ ((optnone)) MRB_METHOD(bitmapWidth)
{
Bitmap *b = getPrivateData<Bitmap>(mrb, self);
@ -304,7 +304,7 @@ MRB_METHOD(bitmapSetFont)
INITCOPY_FUN(Bitmap)
void
void __attribute__ ((optnone))
bitmapBindingInit(mrb_state *mrb)
{
RClass *klass = defineClass(mrb, "Bitmap");

View file

@ -96,7 +96,7 @@ MRB_METHOD(disposableIsDisposed)
}
template<class C>
static void disposableBindingInit(mrb_state *mrb, RClass *klass)
static __attribute__ ((optnone)) void disposableBindingInit(mrb_state *mrb, RClass *klass)
{
mrb_define_method(mrb, klass, "dispose", disposableDispose<C>, MRB_ARGS_NONE());
mrb_define_method(mrb, klass, "disposed?", disposableIsDisposed<C>, MRB_ARGS_NONE());

View file

@ -181,7 +181,7 @@ INITCOPY_FUN(Rect)
mrb_define_method(mrb, klass, "inspect", Klass##Stringify, MRB_ARGS_NONE()); \
}
void etcBindingInit(mrb_state *mrb)
void __attribute__ ((optnone)) etcBindingInit(mrb_state *mrb)
{
RClass *klass;

View file

@ -20,6 +20,7 @@
*/
#include "graphics.h"
#include "bitmap.h"
#include "sharedstate.h"
#include "binding-util.h"
#include "exception.h"
@ -104,6 +105,14 @@ DEF_GRA_PROP_B(ShowCursor)
mrb_define_module_function(mrb, module, prop_name_s "=", graphics##Set##PropName, MRB_ARGS_REQ(1)); \
}
MRB_METHOD(graphicsGetXHR)
{
char *filename;
mrb_get_args(mrb, "z", &filename);
getXHR(filename);
return mrb_nil_value();
}
void graphicsBindingInit(mrb_state *mrb)
{
RClass *module = mrb_define_module(mrb, "Graphics");
@ -113,6 +122,8 @@ void graphicsBindingInit(mrb_state *mrb)
mrb_define_module_function(mrb, module, "transition", graphicsTransition, MRB_ARGS_OPT(3));
mrb_define_module_function(mrb, module, "frame_reset", graphicsFrameReset, MRB_ARGS_NONE());
mrb_define_module_function(mrb, module, "get_xhr", graphicsGetXHR, MRB_ARGS_OPT(1));
INIT_GRA_PROP_BIND( FrameRate, "frame_rate" );
INIT_GRA_PROP_BIND( FrameCount, "frame_count" );

View file

@ -1,9 +0,0 @@
#include <stdint.h>
const uint8_t
#if defined __GNUC__
__attribute__((aligned(4)))
#elif defined _MSC_VER
__declspec(align(4))
#endif
#include "module_rpg.xxd"

View file

@ -0,0 +1,2 @@
#include "mrpg.xxd"

View file

@ -1,7 +1,7 @@
mrbModuleRPG[] = {
0x52, 0x49, 0x54, 0x45, 0x30, 0x30, 0x30, 0x36, 0x95, 0x4b, 0x00, 0x00,
0x85, 0xda, 0x4d, 0x41, 0x54, 0x5a, 0x30, 0x30, 0x30, 0x30, 0x49, 0x52,
0x45, 0x50, 0x00, 0x00, 0x81, 0x6d, 0x30, 0x30, 0x30, 0x32, 0x00, 0x00,
unsigned char rpg_mrb[] = {
0x52, 0x49, 0x54, 0x45, 0x30, 0x30, 0x30, 0x36, 0x82, 0xd6, 0x00, 0x00,
0x86, 0x0e, 0x4d, 0x41, 0x54, 0x5a, 0x30, 0x30, 0x30, 0x30, 0x49, 0x52,
0x45, 0x50, 0x00, 0x00, 0x81, 0x9d, 0x30, 0x30, 0x30, 0x32, 0x00, 0x00,
0x00, 0x4c, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b,
0x0f, 0x01, 0x5b, 0x01, 0x00, 0x5c, 0x01, 0x00, 0x37, 0x01, 0x67, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x52, 0x50, 0x47,
@ -45,7 +45,7 @@ mrbModuleRPG[] = {
0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74,
0x00, 0x00, 0x06, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x00, 0x00, 0x09,
0x41, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x00, 0x00, 0x00,
0x03, 0x72, 0x00, 0x01, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 0xab,
0x03, 0xa0, 0x00, 0x01, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x00, 0xb5,
0x51, 0x01, 0x00, 0x18, 0x01, 0x00, 0x10, 0x01, 0x60, 0x01, 0x56, 0x02,
0x00, 0x5d, 0x01, 0x01, 0x10, 0x01, 0x60, 0x01, 0x56, 0x02, 0x01, 0x5d,
0x01, 0x02, 0x10, 0x01, 0x60, 0x01, 0x56, 0x02, 0x02, 0x5d, 0x01, 0x03,
@ -59,24 +59,28 @@ mrbModuleRPG[] = {
0x56, 0x02, 0x0b, 0x5d, 0x01, 0x0c, 0x10, 0x01, 0x60, 0x01, 0x56, 0x02,
0x0c, 0x5d, 0x01, 0x0d, 0x10, 0x01, 0x60, 0x01, 0x56, 0x02, 0x0d, 0x5d,
0x01, 0x0e, 0x10, 0x01, 0x60, 0x01, 0x56, 0x02, 0x0e, 0x5d, 0x01, 0x0f,
0x10, 0x01, 0x60, 0x01, 0x56, 0x02, 0x0f, 0x5d, 0x01, 0x10, 0x0e, 0x01,
0x10, 0x37, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
0x06, 0x40, 0x63, 0x61, 0x63, 0x68, 0x65, 0x00, 0x00, 0x0b, 0x6c, 0x6f,
0x61, 0x64, 0x5f, 0x62, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x00, 0x00, 0x09,
0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x08,
0x61, 0x75, 0x74, 0x6f, 0x74, 0x69, 0x6c, 0x65, 0x00, 0x00, 0x0a, 0x62,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x00, 0x00, 0x07,
0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x09, 0x63, 0x68,
0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x00, 0x00, 0x03, 0x66, 0x6f,
0x67, 0x00, 0x00, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x6f, 0x76, 0x65, 0x72,
0x00, 0x00, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x00, 0x00, 0x08, 0x70, 0x61,
0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, 0x00, 0x00, 0x07, 0x70, 0x69, 0x63,
0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x07, 0x74, 0x69, 0x6c, 0x65, 0x73,
0x65, 0x74, 0x00, 0x00, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x00, 0x00,
0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x6b, 0x69, 0x6e, 0x00,
0x00, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x00, 0x00, 0x05, 0x63, 0x6c, 0x65,
0x61, 0x72, 0x00, 0x00, 0x00, 0x04, 0x69, 0x00, 0x07, 0x00, 0x0c, 0x00,
0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x33, 0x08, 0x20, 0x00,
0x10, 0x01, 0x60, 0x01, 0x56, 0x02, 0x0f, 0x5d, 0x01, 0x10, 0x10, 0x01,
0x60, 0x01, 0x56, 0x02, 0x10, 0x5d, 0x01, 0x11, 0x0e, 0x01, 0x11, 0x37,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x06, 0x40,
0x63, 0x61, 0x63, 0x68, 0x65, 0x00, 0x00, 0x03, 0x78, 0x68, 0x72, 0x00,
0x00, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x69, 0x74, 0x6d, 0x61,
0x70, 0x00, 0x00, 0x09, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x00, 0x00, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x74, 0x69, 0x6c, 0x65,
0x00, 0x00, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x62, 0x61, 0x63,
0x6b, 0x00, 0x00, 0x07, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x00,
0x00, 0x09, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x00,
0x00, 0x03, 0x66, 0x6f, 0x67, 0x00, 0x00, 0x08, 0x67, 0x61, 0x6d, 0x65,
0x6f, 0x76, 0x65, 0x72, 0x00, 0x00, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x00,
0x00, 0x08, 0x70, 0x61, 0x6e, 0x6f, 0x72, 0x61, 0x6d, 0x61, 0x00, 0x00,
0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x07, 0x74,
0x69, 0x6c, 0x65, 0x73, 0x65, 0x74, 0x00, 0x00, 0x05, 0x74, 0x69, 0x74,
0x6c, 0x65, 0x00, 0x00, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73,
0x6b, 0x69, 0x6e, 0x00, 0x00, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x00, 0x00,
0x05, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x00,
0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x33, 0x00, 0x00, 0x00, 0x0f, 0x02, 0x37, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x69, 0x00, 0x07, 0x00, 0x0c,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x33, 0x08, 0x20, 0x00,
0x21, 0x00, 0x0a, 0x21, 0x00, 0x0c, 0x06, 0x03, 0x01, 0x07, 0x01, 0x01,
0x08, 0x02, 0x3b, 0x07, 0x01, 0x05, 0x07, 0x17, 0x07, 0x00, 0x01, 0x08,
0x05, 0x2e, 0x07, 0x01, 0x01, 0x2e, 0x07, 0x02, 0x00, 0x22, 0x07, 0x00,
@ -2762,10 +2766,10 @@ mrbModuleRPG[] = {
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x05, 0x40, 0x6e,
0x61, 0x6d, 0x65, 0x00, 0x00, 0x07, 0x40, 0x76, 0x6f, 0x6c, 0x75, 0x6d,
0x65, 0x00, 0x00, 0x06, 0x40, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x4c,
0x56, 0x41, 0x52, 0x00, 0x00, 0x04, 0x4f, 0x00, 0x00, 0x00, 0x2d, 0x00,
0x0b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x00, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x00, 0x03,
0x68, 0x75, 0x65, 0x00, 0x01, 0x26, 0x00, 0x04, 0x70, 0x61, 0x74, 0x68,
0x56, 0x41, 0x52, 0x00, 0x00, 0x04, 0x53, 0x00, 0x00, 0x00, 0x2d, 0x00,
0x01, 0x26, 0x00, 0x0b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x00, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d,
0x65, 0x00, 0x03, 0x68, 0x75, 0x65, 0x00, 0x04, 0x70, 0x61, 0x74, 0x68,
0x00, 0x03, 0x6b, 0x65, 0x79, 0x00, 0x07, 0x74, 0x69, 0x6c, 0x65, 0x5f,
0x69, 0x64, 0x00, 0x01, 0x78, 0x00, 0x01, 0x79, 0x00, 0x04, 0x72, 0x65,
0x63, 0x74, 0x00, 0x08, 0x76, 0x69, 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74,
@ -2792,68 +2796,68 @@ mrbModuleRPG[] = {
0x74, 0x00, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
0x73, 0x00, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x00, 0x06, 0x76, 0x6f, 0x6c,
0x75, 0x6d, 0x65, 0x00, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x00, 0x00,
0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03,
0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x00, 0x05, 0x00, 0x06, 0x00, 0x01,
0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01,
0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03,
0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03,
0x00, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03,
0x00, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03,
0x00, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01,
0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02,
0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03,
0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01,
0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x03,
0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x06, 0x00, 0x02, 0x00, 0x02,
0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x05, 0x00, 0x07,
0x00, 0x06, 0x00, 0x08, 0x00, 0x07, 0x00, 0x09, 0x00, 0x08, 0x00, 0x03,
0x00, 0x01, 0x00, 0x0a, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x0b, 0x00, 0x01, 0x00, 0x0c,
0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x04, 0x00, 0x0e,
0x00, 0x05, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x10, 0x00, 0x02, 0x00, 0x03,
0x00, 0x03, 0x00, 0x11, 0x00, 0x04, 0x00, 0x12, 0x00, 0x05, 0x00, 0x0e,
0x00, 0x06, 0x00, 0x13, 0x00, 0x07, 0x00, 0x14, 0x00, 0x08, 0x00, 0x0f,
0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x11, 0x00, 0x03, 0x00, 0x12,
0x00, 0x04, 0x00, 0x0e, 0x00, 0x05, 0x00, 0x13, 0x00, 0x06, 0x00, 0x14,
0x00, 0x07, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x14,
0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x14, 0x00, 0x02, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x15, 0x00, 0x02, 0x00, 0x03,
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03,
0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x00, 0x05,
0x00, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00,
0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02,
0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x03,
0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00, 0x03,
0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00, 0x03,
0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00,
0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02,
0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02,
0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00,
0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02,
0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x06,
0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05,
0x00, 0x05, 0x00, 0x07, 0x00, 0x06, 0x00, 0x08, 0x00, 0x07, 0x00, 0x09,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x01, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0b,
0x00, 0x01, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x0d,
0x00, 0x04, 0x00, 0x0e, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x10,
0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x11, 0x00, 0x04, 0x00, 0x12,
0x00, 0x05, 0x00, 0x0e, 0x00, 0x06, 0x00, 0x13, 0x00, 0x07, 0x00, 0x14,
0x00, 0x08, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x11,
0x00, 0x03, 0x00, 0x12, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x05, 0x00, 0x13,
0x00, 0x06, 0x00, 0x14, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x14, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x14,
0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x15,
0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x16, 0x00, 0x02, 0x00, 0x17,
0x00, 0x03, 0x00, 0x18, 0x00, 0x04, 0x00, 0x19, 0x00, 0x05, 0x00, 0x00,
0x00, 0x01, 0x00, 0x16, 0x00, 0x02, 0x00, 0x17, 0x00, 0x03, 0x00, 0x18,
0x00, 0x04, 0x00, 0x19, 0x00, 0x05, 0x00, 0x03, 0x00, 0x01, 0x00, 0x16,
0x00, 0x02, 0x00, 0x17, 0x00, 0x03, 0x00, 0x18, 0x00, 0x04, 0x00, 0x19,
0x00, 0x05, 0x00, 0x1a, 0x00, 0x01, 0x00, 0x17, 0x00, 0x02, 0x00, 0x18,
0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x13, 0x00, 0x05, 0x00, 0x14,
0x00, 0x06, 0x00, 0x1b, 0x00, 0x07, 0x00, 0x19, 0x00, 0x01, 0x00, 0x10,
0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x07,
0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x03, 0x00, 0x13,
0x00, 0x04, 0x00, 0x08, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x1e,
0x00, 0x03, 0x00, 0x13, 0x00, 0x04, 0x00, 0x0a, 0x00, 0x01, 0x00, 0x03,
0x00, 0x02, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x20, 0x00, 0x04, 0x00, 0x13,
0x00, 0x05, 0x00, 0x14, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x00, 0x14,
0x00, 0x02, 0x00, 0x21, 0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x0e,
0x00, 0x03, 0x00, 0x13, 0x00, 0x04, 0x00, 0x14, 0x00, 0x05, 0x00, 0x22,
0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x14, 0x00, 0x03, 0x00, 0x23,
0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x14, 0x00, 0x03, 0x00, 0x24,
0x00, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x13, 0x00, 0x03, 0x00, 0x14,
0x00, 0x04, 0x00, 0x03, 0x00, 0x01, 0x00, 0x13, 0x00, 0x02, 0x00, 0x14,
0x00, 0x03, 0x00, 0x07, 0x00, 0x04, 0x00, 0x08, 0x00, 0x05, 0x00, 0x25,
0x00, 0x01, 0x00, 0x26, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x07, 0x00, 0x01, 0x00, 0x08, 0x00, 0x02, 0x00, 0x03,
0x00, 0x03, 0x00, 0x27, 0x00, 0x01, 0x00, 0x28, 0x00, 0x02, 0x00, 0x29,
0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x03, 0x00, 0x01, 0x00, 0x27,
0x00, 0x01, 0x00, 0x29, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03,
0x00, 0x01, 0x00, 0x13, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x03,
0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x2a, 0x00, 0x01, 0x00, 0x2b,
0x00, 0x02, 0x00, 0x2c, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x45, 0x4e,
0x44, 0x00, 0x00, 0x00, 0x00, 0x08
0x00, 0x04, 0x00, 0x19, 0x00, 0x05, 0x00, 0x1a, 0x00, 0x01, 0x00, 0x17,
0x00, 0x02, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x13,
0x00, 0x05, 0x00, 0x14, 0x00, 0x06, 0x00, 0x1b, 0x00, 0x07, 0x00, 0x19,
0x00, 0x01, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1c,
0x00, 0x04, 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1d,
0x00, 0x03, 0x00, 0x13, 0x00, 0x04, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00,
0x00, 0x02, 0x00, 0x1e, 0x00, 0x03, 0x00, 0x13, 0x00, 0x04, 0x00, 0x0a,
0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x20,
0x00, 0x04, 0x00, 0x13, 0x00, 0x05, 0x00, 0x14, 0x00, 0x06, 0x00, 0x00,
0x00, 0x01, 0x00, 0x14, 0x00, 0x02, 0x00, 0x21, 0x00, 0x01, 0x00, 0x00,
0x00, 0x02, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x13, 0x00, 0x04, 0x00, 0x14,
0x00, 0x05, 0x00, 0x22, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x14,
0x00, 0x03, 0x00, 0x23, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x14,
0x00, 0x03, 0x00, 0x24, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x13,
0x00, 0x03, 0x00, 0x14, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x13,
0x00, 0x02, 0x00, 0x14, 0x00, 0x03, 0x00, 0x07, 0x00, 0x04, 0x00, 0x08,
0x00, 0x05, 0x00, 0x25, 0x00, 0x01, 0x00, 0x26, 0x00, 0x02, 0x00, 0x00,
0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x01, 0x00, 0x08,
0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x27, 0x00, 0x01, 0x00, 0x28,
0x00, 0x02, 0x00, 0x29, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
0x00, 0x01, 0x00, 0x27, 0x00, 0x01, 0x00, 0x29, 0x00, 0x02, 0x00, 0x00,
0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x13, 0x00, 0x02, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2a,
0x00, 0x01, 0x00, 0x2b, 0x00, 0x02, 0x00, 0x2c, 0x00, 0x03, 0x00, 0x00,
0x00, 0x04, 0x45, 0x4e, 0x44, 0x00, 0x00, 0x00, 0x00, 0x08
};
unsigned int rpg_mrb_len = 34266;
unsigned int rpg_mrb_len = 34318;

Binary file not shown.

View file

@ -1,7 +0,0 @@
00000000: 5249 5445 3030 3034 5969 0000 0065 4d41 RITE0004Yi...eMA
00000010: 545a 3030 3030 4952 4550 0000 0047 3030 TZ0000IREP...G00
00000020: 3030 0000 003f 0001 0004 0000 0000 0004 00...?..........
00000030: 0080 0006 0100 003d 0080 00a0 0000 004a .......=.......J
00000040: 0000 0001 0000 0b48 656c 6c6f 2057 6f72 .......Hello Wor
00000050: 6c64 0000 0001 0004 7075 7473 0045 4e44 ld......puts.END
00000060: 0000 0000 08 .....