From dd91d80b2ee433c4ab6cf03e7864048fd34586bc Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Thu, 26 Jun 2014 07:37:15 -0700 Subject: [PATCH] Begin work on Module support --- lime/app/Application.hx | 4 +++- lime/app/Module.hx | 14 ++++++++++++++ lime/vm/NekoVM.hx | 20 ++++++++++++++++++++ project/Build.xml | 6 ++---- project/include/vm/{Neko.h => NekoVM.h} | 6 +++--- project/src/ExternalInterface.cpp | 4 ++-- project/src/vm/{Neko.cpp => NekoVM.cpp} | 4 ++-- 7 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 lime/app/Module.hx create mode 100644 lime/vm/NekoVM.hx rename project/include/vm/{Neko.h => NekoVM.h} (58%) rename project/src/vm/{Neko.cpp => NekoVM.cpp} (95%) diff --git a/lime/app/Application.hx b/lime/app/Application.hx index 7610a12e0..bcc35bdbc 100644 --- a/lime/app/Application.hx +++ b/lime/app/Application.hx @@ -12,7 +12,7 @@ import flash.Lib; #end -class Application { +class Application extends Module { public static var onUpdate = new EventVoid> (); @@ -30,6 +30,8 @@ class Application { public function new () { + super (); + __instance = this; windows = new Array (); diff --git a/lime/app/Module.hx b/lime/app/Module.hx new file mode 100644 index 000000000..7b1db89d1 --- /dev/null +++ b/lime/app/Module.hx @@ -0,0 +1,14 @@ +package lime.app; + + +class Module { + + + public function new () { + + + + } + + +} \ No newline at end of file diff --git a/lime/vm/NekoVM.hx b/lime/vm/NekoVM.hx new file mode 100644 index 000000000..63744c420 --- /dev/null +++ b/lime/vm/NekoVM.hx @@ -0,0 +1,20 @@ +package lime.vm; + + +import lime.system.System; + + +class NekoVM { + + + public static function loadModule (path:String):Void { + + lime_neko_execute (path); + + } + + + private static var lime_neko_execute = System.load ("lime", "lime_neko_execute", 1); + + +} \ No newline at end of file diff --git a/project/Build.xml b/project/Build.xml index 719ce0051..a80489d93 100644 --- a/project/Build.xml +++ b/project/Build.xml @@ -9,7 +9,7 @@ - + @@ -58,7 +58,7 @@ - + @@ -118,7 +118,6 @@ - @@ -139,7 +138,6 @@ - diff --git a/project/include/vm/Neko.h b/project/include/vm/NekoVM.h similarity index 58% rename from project/include/vm/Neko.h rename to project/include/vm/NekoVM.h index 7d79b098c..dd4d2b21e 100644 --- a/project/include/vm/Neko.h +++ b/project/include/vm/NekoVM.h @@ -1,11 +1,11 @@ -#ifndef LIME_VM_NEKO_H -#define LIME_VM_NEKO_H +#ifndef LIME_VM_NEKOVM_H +#define LIME_VM_NEKOVM_H namespace lime { - class Neko { + class NekoVM { public: diff --git a/project/src/ExternalInterface.cpp b/project/src/ExternalInterface.cpp index 5098a8ce4..227cbc851 100644 --- a/project/src/ExternalInterface.cpp +++ b/project/src/ExternalInterface.cpp @@ -19,7 +19,7 @@ #include #include #include -#include +#include namespace lime { @@ -103,7 +103,7 @@ namespace lime { value lime_neko_execute (value module) { #ifdef LIME_NEKO - Neko::Execute (val_string (module)); + NekoVM::Execute (val_string (module)); #endif return alloc_null (); diff --git a/project/src/vm/Neko.cpp b/project/src/vm/NekoVM.cpp similarity index 95% rename from project/src/vm/Neko.cpp rename to project/src/vm/NekoVM.cpp index 2cb348d49..b51f7acfd 100644 --- a/project/src/vm/Neko.cpp +++ b/project/src/vm/NekoVM.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include @@ -40,7 +40,7 @@ namespace lime { } - void Neko::Execute (const char *modulePath) { + void NekoVM::Execute (const char *modulePath) { neko_vm *vm;