About Monkey 2 › Forums › Monkey 2 Programming Help › Static Lib Hell
This topic contains 14 replies, has 5 voices, and was last updated by
cocon 2 years ago.
-
AuthorPosts
-
March 20, 2017 at 5:36 pm #7555
so i wanted to import my Dx11 RenderLib the lib works fine in test apps but i cant seem to get it to work in Mx2.
[/crayon]Monkey123456789101112131415161718192021222324[crayon-5cb9bc7d85bd0931337399 inline="true" ]#include "Library.lib"Namespace LibraryExternClass Game Extends Void AbstractMethod Game:void(instance:AppInstance,windowClass:String,windowTitle:String,showCommand:int)Method Run:Void() VirtualMethod _Exit:Void() VirtualMethod Initialize:Void() VirtualMethod Update:Void(gameTime:Int) VirtualMethod Draw:Void(gameTime:Int) VirtualMethod ResetRenderTargets:Void() VirtualMethod UnbindPixelShaderResources:Void(startSlot:UInt,count:UInt) VirtualMethod Begin:Void() VirtualMethod _End:Void() VirtualMethod InitializeWindow:Void() VirtualMethod InitializeDirectX:Void() VirtualMethod Shutdown:Void() virtualend[/crayon]Monkey12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273[crayon-5cb9bc7d85bdc431400170 inline="true" ]#Import "<std>"#Import "<mojo>"#Import "Game.monkey2"Namespace RenderUsing std..Using mojo..Using Library..Using Render..Class MyWindow Extends WindowMethod New( title:String="",width:Int=640,height:Int=480,flags:WindowFlags=Null )Super.New( title,width,height,WindowFlags.Center|WindowFlags.Maximized|WindowFlags.Resizable )EndEndClass Render Extends GameField instance:AppInstanceMethod New()Super.Game(instance,"Class","Game",0)ReturnEnd MethodMethod Run:Void() OverrideSuper.Run()End MethodMethod _Exit:Void() OverrideSuper._Exit()End MethodMethod Initialize:Void() OverrideSuper.Initialize()End MethodMethod Update:Void(gameTime:Int) OverrideSuper.Update(60)End MethodMethod Draw:Void(gameTime:Int) OverrideEnd MethodMethod ResetRenderTargets:Void() OverrideSuper.ResetRenderTargets()End MethodMethod UnbindPixelShaderResources:Void(startSlot:UInt,count:UInt) OverrideSuper.UnbindPixelShaderResources(0,0)End MethodMethod Begin:Void() OverrideSuper.Begin()End MethodMethod _End:Void() OverrideSuper._End()End MethodMethod InitializeWindow:Void() OverrideSuper.InitializeWindow()End MethodMethod InitializeDirectX:Void() OverrideSuper.InitializeDirectX()End MethodMethod Shutdown:Void() OverrideSuper.Shutdown()End MethodEndFunction Main()New AppInstanceNew MyWindowApp.Run()New RenderEnd[/crayon]Monkey123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110[crayon-5cb9bc7d85be8748509258 inline="true" ]#pragma once#include "Common.h"#include "GameClock.h"#include "GameTime.h"#include "GameComponent.h"#include "ServiceContainer.h"#include "RenderTarget.h"namespace Library{class Game : public RenderTarget{RTTI_DECLARATIONS(Game, RenderTarget)public:Game(HINSTANCE instance, const std::wstring& windowClass, const std::wstring& windowTitle, int showCommand);virtual ~Game();HINSTANCE Instance() const;HWND WindowHandle() const;const WNDCLASSEX& Window() const;const std::wstring& WindowClass() const;const std::wstring& WindowTitle() const;int ScreenWidth() const;int ScreenHeight() const;ID3D11Device1* Direct3DDevice() const;ID3D11DeviceContext1* Direct3DDeviceContext() const;bool DepthStencilBufferEnabled() const;ID3D11RenderTargetView* RenderTargetView() const;ID3D11DepthStencilView* DepthStencilView() const;float AspectRatio() const;bool IsFullScreen() const;const D3D11_TEXTURE2D_DESC& BackBufferDesc() const;const D3D11_VIEWPORT& Viewport() const;bool MultiSamplingEnabled() const;UINT MultiSamplingCount() const;UINT MultiSamplingQualityLevels() const;const std::vector<GameComponent*>& Components() const;const ServiceContainer& Services() const;virtual void Run();virtual void Exit();virtual void Initialize();virtual void Update(const GameTime& gameTime);virtual void Draw(const GameTime& gameTime);virtual void ResetRenderTargets();virtual void UnbindPixelShaderResources(UINT startSlot, UINT count);protected:virtual void Begin() override;virtual void End() override;virtual void InitializeWindow();virtual void InitializeDirectX();virtual void Shutdown();static const UINT DefaultScreenWidth;static const UINT DefaultScreenHeight;static const UINT DefaultFrameRate;static const UINT DefaultMultiSamplingCount;HINSTANCE mInstance;std::wstring mWindowClass;std::wstring mWindowTitle;int mShowCommand;HWND mWindowHandle;WNDCLASSEX mWindow;UINT mScreenWidth;UINT mScreenHeight;GameClock mGameClock;GameTime mGameTime;std::vector<GameComponent*> mComponents;ServiceContainer mServices;D3D_FEATURE_LEVEL mFeatureLevel;ID3D11Device1* mDirect3DDevice;ID3D11DeviceContext1* mDirect3DDeviceContext;IDXGISwapChain1* mSwapChain;UINT mFrameRate;bool mIsFullScreen;bool mDepthStencilBufferEnabled;bool mMultiSamplingEnabled;UINT mMultiSamplingCount;UINT mMultiSamplingQualityLevels;ID3D11Texture2D* mDepthStencilBuffer;D3D11_TEXTURE2D_DESC mBackBufferDesc;ID3D11RenderTargetView* mRenderTargetView;ID3D11DepthStencilView* mDepthStencilView;D3D11_VIEWPORT mViewport;private:Game(const Game& rhs);Game& operator=(const Game& rhs);POINT CenterWindow(int windowWidth, int windowHeight);static LRESULT WINAPI WndProc(HWND windowHandle, UINT message, WPARAM wParam, LPARAM lParam);};}am i missing something here? i would upload the lib but its like 140meg though i do have a debug version thats 35 hmm
March 20, 2017 at 5:40 pm #7556seems i dont know the proper format code!
[code]
Mx2cc version 1.1.03***** Building app 'C:/Users/PC_User/Desktop/vEngine/src/Application.monkey2' *****
Parsing...
Semanting...
Translating...
Compiling...
Build error: System command 'g++ -I"C:/Monkey2-v1.1.01/modules/" -I"C:/Monkey2-v1.1.01/modules/monkey/native" -I"C:/Users/PC_User/Desktop/vEngine/src/" -std=c++11 -m32 -I"C:/Monkey2-v1.1.01/modules/freetype/freetype-2.6.3/include/" -I"C:/Monkey2-v1.1.01/modules/openal/openal-soft/include/" -I"C:/Monkey2-v1.1.01/modules/gles20/angle/include/" -I"C:/Monkey2-v1.1.01/modules/sdl2/SDL/include/" -c -o "C:/Users/PC_User/Desktop/vEngine/src/Application.buildv1.1.03/windows_debug/build/_1include_2_0r.cpp.o" "C:/Users/PC_User/Desktop/vEngine/src/Application.buildv1.1.03/windows_debug/include/_r.cpp"' failed.g++ -I"C:/Monkey2-v1.1.01/modules/" -I"C:/Monkey2-v1.1.01/modules/monkey/native" -I"C:/Users/PC_User/Desktop/vEngine/src/" -std=c++11 -m32 -I"C:/Monkey2-v1.1.01/modules/freetype/freetype-2.6.3/include/" -I"C:/Monkey2-v1.1.01/modules/openal/openal-soft/include/" -I"C:/Monkey2-v1.1.01/modules/gles20/angle/include/" -I"C:/Monkey2-v1.1.01/modules/sdl2/SDL/include/" -c -o "C:/Users/PC_User/Desktop/vEngine/src/Application.buildv1.1.03/windows_debug/build/_1include_2_0r.cpp.o" "C:/Users/PC_User/Desktop/vEngine/src/Application.buildv1.1.03/windows_debug/include/_r.cpp"
In file included from C:/Users/PC_User/Desktop/vEngine/src/Application.buildv1.1.03/windows_debug/include/_r.cpp:69:0:
C:/Users/PC_User/Desktop/vEngine/src/Application.buildv1.1.03/windows_debug/include/Application_Application.h:48:37: error: expected class-name before '{' token
struct t_Render_Render : public Game{
^
***** Fatal mx2cc error *****
Internal mx2cc build error
[/code]
March 20, 2017 at 10:14 pm #7559You may need to add something like:
#Import “mylib/include/*.h”
#Import “<mylib.h>”
…to your mylib.monkey2 module file. The first import adds the ‘include dir’ to the module, the second adds the actual header file for the lib.
Take a look at, say, modules/openal.monkey2 for how to import a ‘prebuilt’ lib.
March 21, 2017 at 5:27 am #7562it seems to be dx math thats the problem might strip it down and add parts only when it works
March 21, 2017 at 8:14 am #7563there are some automatic extern importers, you could have a try
src/c2mx2.monkey2
src/cxx2mx2.monkey2importing big libs is always not trivial though…
March 21, 2017 at 10:07 am #7564its gotta be down to dxmath it doesnt like something
[edited to free up space]
March 21, 2017 at 8:21 pm #7566[edited to free up space]
suppose im getting fewer errors as i go along think i might have to drop dxmath as even the git version wont work but the gl version of the lib uses glm so i might try and import that lib to check i aint messed the libs up.
March 22, 2017 at 8:27 am #7572it could have something to do with compiler optimisation flags (I don’t know how to change them though!)
March 23, 2017 at 10:08 pm #7583Mark if i may ask what version of c++ you using? as i think its a c++11/c++14 thing as im compiling via 2015 and i noticed you pass -std=c++11 to ming.
i have just compiled angel script and just include it into a project and i get
[/crayon]Monkey123456789[crayon-5cb9bc7da19e7070650203 inline="true" ]Build error: System command 'g++ -I"C:/Monkey2-v1.1.01/modules/" -I"C:/Monkey2-v1.1.01/modules/monkey/native" -I"C:/Users/PC_User/Desktop/vEngine/monkey/Angelscript/" -std=c++11 -m32 -O3 -DNDEBUG -I"C:/Monkey2-v1.1.01/modules/freetype/freetype-2.6.3/include/" -I"C:/Monkey2-v1.1.01/modules/openal/openal-soft/include/" -I"C:/Monkey2-v1.1.01/modules/gles20/angle/include/" -I"C:/Monkey2-v1.1.01/modules/sdl2/SDL/include/" -c -MM "C:/Monkey2-v1.1.01/modules/include/*h/include/include/*h.buildv1.1.03/windows_release/include/_r.cpp" >"C:/Users/PC_User/Desktop/vEngine/monkey/Angelscript/angelscript.buildv1.1.03/windows_release/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.01_2modules_2include_2*h_2include_2include_2*h.buildv1.1.03_2windows_0release_2include_2_0r.cpp.deps"' failed.g++ -I"C:/Monkey2-v1.1.01/modules/" -I"C:/Monkey2-v1.1.01/modules/monkey/native" -I"C:/Users/PC_User/Desktop/vEngine/monkey/Angelscript/" -std=c++11 -m32 -O3 -DNDEBUG -I"C:/Monkey2-v1.1.01/modules/freetype/freetype-2.6.3/include/" -I"C:/Monkey2-v1.1.01/modules/openal/openal-soft/include/" -I"C:/Monkey2-v1.1.01/modules/gles20/angle/include/" -I"C:/Monkey2-v1.1.01/modules/sdl2/SDL/include/" -c -MM "C:/Monkey2-v1.1.01/modules/include/*h/include/include/*h.buildv1.1.03/windows_release/include/_r.cpp" >"C:/Users/PC_User/Desktop/vEngine/monkey/Angelscript/angelscript.buildv1.1.03/windows_release/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.01_2modules_2include_2*h_2include_2include_2*h.buildv1.1.03_2windows_0release_2include_2_0r.cpp.deps"***** Fatal mx2cc error *****Internal mx2cc build errorMarch 23, 2017 at 10:24 pm #7584I’m guessing this is MingW specific, haven’t looked into it but maybe start here:
http://stackoverflow.com/questions/9000485/how-to-compile-a-directx-11-app-in-mingw
March 23, 2017 at 10:56 pm #7586Yes, mx2 does use -std=c++11.
The dxmath problems looks like a calling convention issue – there might be some #defines in dxmath somewhere that you can tweak to fix this.
As for the angelscript module not building, can you post angelscript.monkey2? Looks like you may have a dodgy #Import in there. I’ve never heard of angelscript before, but looking at the web page now I think it should be relatively easy to port to mx2.
March 23, 2017 at 11:05 pm #7588Had a quick go at building angelscript and it worked first time, results are here:
http://www.monkey-x.com/mak/angelscript.zip
That said, I’m not sure how much use it’ll be – from the looks of things, it uses c++ types to interact with the host, so you’ll need to wrap all that stuff.
March 24, 2017 at 3:45 am #7595[/crayon]Monkey123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553[crayon-5cb9bc7dabc30224968670 inline="true" ]#Import "<std>"#Import "<libc>"#Import "<mojo>"#Import "angelscript.lib"#Import "include/angelscript.h"''''''''''''''''''''''''''''''''''''''''Using std..Using libc..Using mojo..''''''''''''''''''''''''''''''''''''''''Extern''''''''''''''''''''''''''''''''''''''''enum asERetCodesEnd EnumEnum asEEnginePropEnd Enumenum asECallConvTypesEnd EnumEnum asEObjTypeFlagsEnd EnumEnum asEBehavioursEnd EnumEnum asEContextStateEnd EnumEnum asEMsgTypeEnd EnumEnum asEGCFlagsEnd EnumEnum asETokenClassEnd EnumEnum asETypeIdFlagsEnd EnumEnum asETypeModifiersEnd EnumEnum asEGMFlagsEnd EnumEnum asECompileFlagsEnd EnumEnum asEFuncTypeEnd Enum'''''''''''''''''''''''''''''''''''Struct asSFuncPtrEnd StructStruct asSMessageInfoEnd Struct'''''''''''''''''''''''''''''''''''Alias asPWORD:ULongAlias asUINT:UIntAlias asDWORD:ULongAlias asBYTE:CStringAlias asWORD:UShortAlias asQWORD:ULongAlias asREQUESTCONTEXTFUNC_t:asIScriptContext Ptr'''''''''''''''''''''''''''''''''''Class asIScriptEngine Extends Void'// Memory managementMethod AddRef:Int() VirtualMethod Release:Int() VirtualMethod ShutDownAndRelease:Int() Virtual'// Engine propertiesMethod SetEngineProperty:Int() VirtualMethod GetEngineProperty:asPWORD() Virtual'// Compiler messagesMethod SetMessageCallback:Int() VirtualMethod ClearMessageCallback:Int() VirtualMethod WriteMessage:Int() Virtual'// JIT CompilerMethod SetJITCompiler:Int() VirtualMethod GetJITCompiler:asIJITCompiler() Virtual'// Global functionsMethod RegisterGlobalFunction:Int() VirtualMethod GetGlobalFunctionCount:asUINT() VirtualMethod GetGlobalFunctionByIndex:asIScriptFunction() VirtualMethod GetGlobalFunctionByDecl:asIScriptFunction() Virtual'// Global propertiesMethod RegisterGlobalProperty:Int() VirtualMethod GetGlobalPropertyCount:asUINT() VirtualMethod GetGlobalPropertyIndex:Int() VirtualMethod GetGlobalPropertyIndexByName:Int() VirtualMethod GetGlobalPropertyIndexByDecl:Int() Virtual'// Object typesMethod RegisterObjectType:Int() VirtualMethod RegisterObjectProperty:Int() VirtualMethod RegisterObjectMethod:Int() VirtualMethod RegisterObjectBehaviour:Int() VirtualMethod RegisterInterface:Int() VirtualMethod RegisterInterfaceMethod:Int() VirtualMethod GetObjectTypeCount:asUINT() VirtualMethod GetObjectTypeByIndex:asITypeInfo() Virtual'// String factoryMethod RegisterStringFactory:Int(datatype:CString,factoryFunc:asSFuncPtr Ptr,callConv:asDWORD,auxiliary:Void = 0) VirtualMethod GetStringFactoryReturnTypeId:Int(flags:asDWORD = 0) Virtual'// Default array typeMethod RegisterDefaultArrayType:Int(type:CString) VirtualMethod GetDefaultArrayTypeId:Int() Virtual'// EnumsMethod RegisterEnum:Int(type:CString) VirtualMethod RegisterEnumValue:Int(type:CString,name:CString,value:Int) VirtualMethod GetEnumCount:asUINT() VirtualMethod GetEnumByIndex:asITypeInfo(index:asUINT) Virtual'// FuncdefsMethod RegisterFuncdef:Int(decl:CString) VirtualMethod GetFuncdefCount:asUINT() VirtualMethod GetFuncdefByIndex:asITypeInfo(index:asUINT) Virtual'// TypedefsMethod RegisterTypedef:Int(type:cstring,decl:CString) VirtualMethod GetTypedefCount:asUINT() VirtualMethod GetTypedefByIndex:asITypeInfo(index:asUINT) Virtual'// Configuration groupsMethod BeginConfigGroup:Int(groupName:CString) VirtualMethod EndConfigGroup:Int() VirtualMethod RemoveConfigGroup:Int(groupName:CString) VirtualMethod SetDefaultAccessMask:asDWORD(defaultMask:asDWORD) VirtualMethod SetDefaultNamespace:Int(inameSpace:CString) VirtualMethod GetDefaultNamespace:CString() Virtual'// Script modulesMethod GetModule:asIScriptModule(module:CString,flag:asEGMFlags = asGM_ONLY_IF_EXISTS) VirtualMethod DiscardModule:Int(module:CString) VirtualMethod GetModuleCount:asUINT() VirtualMethod GetModuleByIndex:asIScriptModule(index:asUINT) Virtual'// Script functionsMethod GetFunctionById:asIScriptFunction(funcId:Int) VirtualMethod GetTypeIdByDecl:Int(decl:CString) VirtualMethod GetTypeDeclaration:CString(typeId:Int,includeNamespace:Bool = false) VirtualMethod GetSizeOfPrimitiveType:Int(typeId:Int) VirtualMethod GetTypeInfoById:asITypeInfo(typeId:Int) VirtualMethod GetTypeInfoByName:asITypeInfo(name:CString) VirtualMethod GetTypeInfoByDecl:asITypeInfo(decl:CString) Virtual'// Script executionMethod CreateContext:asIScriptContext() VirtualMethod CreateScriptObject:Void(type:asITypeInfo) VirtualMethod CreateScriptObjectCopy:Void(obj:Void,type:asITypeInfo) VirtualMethod CreateUninitializedScriptObject:Void(type:asITypeInfo) VirtualMethod CreateDelegate:asIScriptFunction(func:asIScriptFunction,obj:Void) VirtualMethod AssignScriptObject:Int(dstObj:Void,srcObj:Void,type:asITypeInfo) VirtualMethod ReleaseScriptObject:Void(obj:Void,type:asITypeInfo) VirtualMethod AddRefScriptObject:Void(obj:Void,type:asITypeInfo) VirtualMethod RefCastObject:Int(obj:Void,fromType:asITypeInfo,toType:asITypeInfo,newPtr:Void,useOnlyImplicitCast:Bool = false) VirtualMethod GetWeakRefFlagOfScriptObject:asILockableSharedBool(obj:Void,type:asITypeInfo) Virtual'// Context poolingMethod RequestContext:asIScriptContext() VirtualMethod ReturnContext:Void(ctx:asIScriptContext) Virtual'Method SetContextCallbacks:Int(requestCtx:asREQUESTCONTEXTFUNC_t,returnCtx:asRETURNCONTEXTFUNC_t,param:Void = 0)'// String interpretationMethod ParseToken:asETokenClass(astring:CString,stringLength:UInt = 0,tokenLength:asUINT = 0) Virtual'// Garbage collectionMethod GarbageCollect:Int(flags:asDWORD = asGC_FULL_CYCLE,numIterations:asUINT = 1) VirtualMethod GetGCStatistics:Void(currentSize:asUINT,totalDestroyed:asUINT = 0,totalDetected:asUINT = 0,newObjects:asUINT = 0,totalNewDestroyed:asUINT = 0) VirtualMethod NotifyGarbageCollectorOfNewObject:Int(obj:Void,type:asITypeInfo) VirtualMethod GetObjectInGC:Int(idx:asUINT,seqNbr:asUINT = 0,obj:Void = 0,type:asITypeInfo = 0) VirtualMethod GCEnumCallback:Void(reference:Void) Virtual'// User dataMethod SetUserData:Void(data:Void,type:asPWORD = 0) VirtualMethod GetUserData:Void(type:asPWORD = 0) Virtual'Method SetEngineUserDataCleanupCallback:Void(callback:asCLEANENGINEFUNC_t,type:asPWORD = 0)'Method SetModuleUserDataCleanupCallback:Void(callback:asCLEANMODULEFUNC_t,type:asPWORD = 0)'Method SetContextUserDataCleanupCallback:Void(callback:asCLEANCONTEXTFUNC_t,type:asPWORD = 0)'Method SetFunctionUserDataCleanupCallback:Void(callback:asCLEANFUNCTIONFUNC_t,type:asPWORD = 0)'Method SetTypeInfoUserDataCleanupCallback:Void(callback:asCLEANTYPEINFOFUNC_t,type:asPWORD = 0)'Method SetScriptObjectUserDataCleanupCallback:Void(callback:asCLEANSCRIPTOBJECTFUNC_t,type:asPWORD = 0)End Class'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asIScriptModule Extends VoidMethod GetEngine:asIScriptEngine() VirtualMethod SetName:Void(name:CString) VirtualMethod GetName:CString() VirtualMethod Discard:Void() Virtual'// CompilationMethod AddScriptSection:Int(name:CString,code:CString,codeLength:UInt = "0",lineOffset:Int = "0") VirtualMethod Build:Int() VirtualMethod CompileFunction:Int(sectionName:CString,code:CString,lineOffset:Int,compileFlags:asDWORD,outFunc:asIScriptFunction) VirtualMethod CompileGlobalVar:Int(sectionName:CString,code:CString,lineOffset:Int) VirtualMethod SetAccessMask:asDWORD(accessMask:asDWORD) VirtualMethod SetDefaultNamespace:Int(inameSpace:CString) VirtualMethod GetDefaultNamespace:CString() Virtual'// FunctionsMethod GetFunctionCount:asUINT() VirtualMethod GetFunctionByIndex:asIScriptFunction(index:asUINT) VirtualMethod GetFunctionByDecl:asIScriptFunction(decl:CString) VirtualMethod GetFunctionByName:asIScriptFunction(name:CString) VirtualMethod RemoveFunction:int(func:asIScriptFunction) Virtual'// Global variablesMethod ResetGlobalVars:Int(ctx:asIScriptContext) VirtualMethod GetGlobalVarCount:UInt() VirtualMethod GetGlobalVarIndexByName:Int(name:CString) VirtualMethod GetGlobalVarIndexByDecl:Int(decl:CString) VirtualMethod GetGlobalVarDeclaration:CString(index:CString,includeNamespace:Bool= false) VirtualMethod GetGlobalVar:Int(index:asUINT,name:CString,inameSpace:CString = 0,typeId:Int = 0,isConst:Bool = 0) VirtualMethod GetAddressOfGlobalVar:Void(index:asUINT) VirtualMethod RemoveGlobalVar:Int(index:asUINT) Virtual'// Type identificationMethod GetObjectTypeCount:asUINT() VirtualMethod GetObjectTypeByIndex:asITypeInfo(index:asUINT) VirtualMethod GetTypeIdByDecl:Int(decl:CString) VirtualMethod GetTypeInfoByName:asITypeInfo(name:CString) VirtualMethod GetTypeInfoByDecl:asITypeInfo(decl:CString) Virtual'// EnumsMethod GetEnumCount:asUINT() VirtualMethod GetEnumByIndex:asITypeInfo(index:asUINT) Virtual'// TypedefsMethod GetTypedefCount:asUINT() VirtualMethod GetTypedefByIndex:asITypeInfo(index:asUINT) Virtual'// Dynamic binding between modulesMethod GetImportedFunctionCount:asUINT() VirtualMethod GetImportedFunctionIndexByDecl:Int(decl:CString) VirtualMethod GetImportedFunctionDeclaration:CString(importIndex:asUINT) VirtualMethod GetImportedFunctionSourceModule:CString(importIndex:asUINT) VirtualMethod BindImportedFunction:Int(importIndex:asUINT,func:asIScriptFunction) VirtualMethod UnbindImportedFunction:Int(importIndex:asUINT) VirtualMethod BindAllImportedFunctions:Int() VirtualMethod UnbindAllImportedFunctions:Int() Virtual'// Byte code saving and loadingMethod SaveByteCode:Int(out:asIBinaryStream,stripDebugInfo:bool = false) VirtualMethod LoadByteCode:int(in:asIBinaryStream,wasDebugInfoStripped:bool = 0) Virtual'// User dataMethod SetUserData:void(data:void,type:asPWORD = 0) VirtualMethod GetUserData:void(type:asPWORD = 0) VirtualEnd Class'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asIScriptContext Extends Void'// Memory managementMethod AddRef:Int() VirtualMethod Release:Int() Virtual'// MiscellaneousMethod GetEngine:asIScriptEngine() Virtual'// ExecutionMethod Prepare:Int(func:asIScriptFunction) VirtualMethod Unprepare:Int() VirtualMethod Execute:Int() VirtualMethod Abort:Int() VirtualMethod Suspend:Int() VirtualMethod GetState:asEContextState() VirtualMethod PushState:Int() VirtualMethod PopState:Int() VirtualMethod IsNested:Bool(nestCount:asUINT = 0) Virtual'// Object pointer for calling class methodsMethod SetObject:int(obj:Void) Virtual'// ArgumentsMethod SetArgByte:int(arg:asUINT,value:asBYTE) VirtualMethod SetArgWord:int(arg:asUINT,value:asWORD) VirtualMethod SetArgDWord:int(arg:asUINT,value:asDWORD) VirtualMethod SetArgQWord:int(arg:asUINT,value:asQWORD) VirtualMethod SetArgFloat:int(arg:asUINT,value:Float) VirtualMethod SetArgDouble:int(arg:asUINT,value:Double) VirtualMethod SetArgAddress:int(arg:asUINT,addr:Void) VirtualMethod SetArgObject:int(arg:asUINT,obj:Void) VirtualMethod SetArgVarType:int(arg:asUINT, Void ptr,typeId:Int) VirtualMethod GetAddressOfArg:Void(arg:asUINT) Virtual'// Return valueMethod GetReturnByte:asBYTE() VirtualMethod GetReturnWord:asWORD() VirtualMethod GetReturnDWord:asDWORD() VirtualMethod GetReturnQWord:asQWORD() VirtualMethod GetReturnFloat:Float() VirtualMethod GetReturnDouble:Double() VirtualMethod GetReturnAddress:Void() VirtualMethod GetReturnObject:Void() VirtualMethod GetAddressOfReturnValue:Void() Virtual'// Exception handlingMethod SetException:Int(astring:CString) VirtualMethod GetExceptionLineNumber:Int(column:Int = 0,sectionName:CString = 0) VirtualMethod GetExceptionFunction:asIScriptFunction() VirtualMethod GetExceptionString:CString() VirtualMethod SetExceptionCallback:Int(callback:asSFuncPtr,obj:Void,callConv:Int) VirtualMethod ClearExceptionCallback:Void() Virtual'// DebuggingMethod SetLineCallback:Int(callback:asSFuncPtr,obj:Void,callConv:Int) VirtualMethod ClearLineCallback:Void() VirtualMethod GetCallstackSize:asUINT() VirtualMethod GetFunction:asIScriptFunction(stackLevel:asUINT = 0) VirtualMethod GetLineNumber:Int(stackLevel:asUINT = 0,column:Int = 0,sectionName:CString = 0) VirtualMethod GetVarCount:Int(stackLevel:asUINT = 0) VirtualMethod GetVarName:CString(varIndex:asUINT,stackLevel:asUINT = 0) VirtualMethod GetVarDeclaration:CString(varIndex:asUINT,stackLevel:asUINT = 0,includeNamespace:bool = false) VirtualMethod GetVarTypeId:Int(varIndex:asUINT,stackLevel:asUINT = 0) VirtualMethod GetAddressOfVar:Void(varIndex:asUINT,stackLevel:asUINT = 0) VirtualMethod IsVarInScope:Bool(varIndex:asUINT,stackLevel:asUINT = 0) VirtualMethod GetThisTypeId:Int(stackLevel:asUINT = 0) VirtualMethod GetThisPointer:Void(stackLevel:asUINT = 0) VirtualMethod GetSystemFunction:asIScriptFunction() Virtual'// User dataMethod SetUserData:Void(data:Void,type:asPWORD = 0) VirtualMethod GetUserData:Void(type:asPWORD = 0) VirtualEnd Class''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asIScriptGeneric Extends Void'// MiscellaneousMethod GetEngine:asIScriptEngine() VirtualMethod GetFunction:asIScriptFunction() VirtualMethod GetAuxiliary:void() Virtual'// ObjectMethod GetObject:Void() VirtualMethod GetObjectTypeId:Int() Virtual'// ArgumentsMethod GetArgCount() VirtualMethod GetArgTypeId(arg:asUINT,flags:asDWORD = 0) VirtualMethod GetArgByte:asBYTE(arg:asUINT) VirtualMethod GetArgWord:asWORD(arg:asUINT) VirtualMethod GetArgDWord:asDWORD(arg:asUINT) VirtualMethod GetArgQWord:asQWORD(arg:asUINT) VirtualMethod GetArgFloat:Float(arg:asUINT) VirtualMethod GetArgDouble:Double(arg:asUINT) VirtualMethod GetArgAddress:Void(arg:asUINT) VirtualMethod GetArgObject:Void(arg:asUINT) VirtualMethod GetAddressOfArg:Void(arg:asUINT) Virtual'// Return valueMethod GetReturnTypeId:Int(flags:asDWORD = 0) VirtualMethod SetReturnByte:Int(val:asBYTE) VirtualMethod SetReturnWord:Int(val:asWORD) VirtualMethod SetReturnDWord:Int(val:asDWORD) VirtualMethod SetReturnQWord:Int(val:asQWORD) VirtualMethod SetReturnFloat:Int(val:float) VirtualMethod SetReturnDouble:Int(val:Double) VirtualMethod SetReturnAddress:Int(addr:Void) VirtualMethod SetReturnObject:Int(obj:void) VirtualMethod GetAddressOfReturnLocation:Void() VirtualEnd Class''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asIScriptObject Extends Void'// Memory managementMethod AddRef:Int() VirtualMethod Release:Int() VirtualMethod GetWeakRefFlag:asILockableSharedBool() Virtual'// Type infoMethod GetTypeId:Int() VirtualMethod GetObjectType:asITypeInfo() Virtual'// Class propertiesMethod GetPropertyCount:asUINT() VirtualMethod GetPropertyTypeId:Int(prop:asUINT) VirtualMethod GetPropertyName:CString(prop:asUINT) VirtualMethod GetAddressOfProperty:Void(prop:asUINT) Virtual'// MiscellaneousMethod GetEngine:asIScriptEngine() VirtualMethod CopyFrom:Int(other:asIScriptObject) Virtual'// User dataMethod SetUserData:Void(data:Void,type:asPWORD = 0) VirtualMethod GetUserData:Void(type:asPWORD = 0) VirtualEnd Class''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asITypeInfo Extends Void'// MiscellaneousMethod GetEngine:asIScriptEngine() VirtualMethod GetConfigGroup:cstring() VirtualMethod GetAccessMask:asDWORD() VirtualMethod GetModule:asIScriptModule() Virtual'// Memory managementMethod AddRef:Int() VirtualMethod Release:Int() Virtual'// Type infoMethod GetName:CString() VirtualMethod GetNamespace:CString() VirtualMethod GetBaseType:asITypeInfo() VirtualMethod DerivesFrom:Bool(objType:asITypeInfo) VirtualMethod GetFlags:asDWORD() VirtualMethod GetSize:asUINT() VirtualMethod GetTypeId:Int() VirtualMethod GetSubTypeId:Int(subTypeIndex:asUINT = 0) VirtualMethod GetSubType:asITypeInfo(subTypeIndex:asUINT = 0) VirtualMethod GetSubTypeCount:asUINT() Virtual'// InterfacesMethod GetInterfaceCount:asUINT() VirtualMethod GetInterface:asITypeInfo(index:asUINT) VirtualMethod _Implements:Bool(objType:asITypeInfo) Virtual'// FactoriesMethod GetFactoryCount:asUINT() VirtualMethod GetFactoryByIndex:asIScriptFunction(index:asUINT) VirtualMethod GetFactoryByDecl:asIScriptFunction(decl:CString) Virtual'// MethodsMethod GetMethodCount:asUINT() VirtualMethod GetMethodByIndex:asIScriptFunction(index:asUINT,getVirtual:bool = true) VirtualMethod GetMethodByName:asIScriptFunction(name:CString,getVirtual:bool = true) VirtualMethod GetMethodByDecl:asIScriptFunction(decl:CString,getVirtual:bool = true) Virtual'// PropertiesMethod GetPropertyCount:asUINT() VirtualMethod GetProperty:Int(index:asUINT,name:cstring,typeId:int = 0,isPrivate:bool = 0,isProtected:bool = 0,offset:int = 0,isReference:Bool = 0,accessMask:asDWORD = 0) VirtualMethod GetPropertyDeclaration:CString(index:asUINT,includeNamespace:bool = false) Virtual'// BehavioursMethod GetBehaviourCount:asUINT() VirtualMethod GetBehaviourByIndex:asIScriptFunction(index:asUINT,outBehaviour:asEBehaviours) Virtual'// Child typesMethod GetChildFuncdefCount:asUINT() VirtualMethod GetChildFuncdef:asITypeInfo(index:asUINT) VirtualMethod GetParentType:asITypeInfo() Virtual'// EnumsMethod GetEnumValueCount:asUINT() VirtualMethod GetEnumValueByIndex:CString(index:asUINT,outValue:Int) Virtual'// TypedefMethod GetTypedefTypeId:int() Virtual'// FuncdefMethod GetFuncdefSignature:asIScriptFunction() Virtual'// User dataMethod SetUserData:Void(data:void,type:asPWORD = 0) VirtualMethod GetUserData:Void(type:asPWORD = 0) VirtualEnd Class''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asIScriptFunction Extends VoidMethod GetEngine:asIScriptEngine()'// Memory managementMethod AddRef:int() VirtualMethod Release:int() Virtual'// MiscellaneousMethod GetId:Int() VirtualMethod GetFuncType:asEFuncType() VirtualMethod GetModuleName:CString() VirtualMethod GetModule:asIScriptModule() VirtualMethod GetScriptSectionName:CString() VirtualMethod GetConfigGroup:CString() VirtualMethod GetAccessMask:asDWORD() VirtualMethod GetAuxiliary:Void() Virtual'// Function signatureMethod GetObjectType:asITypeInfo() VirtualMethod GetObjectName:cstring() VirtualMethod GetName:CString() VirtualMethod GetNamespace:CString() VirtualMethod GetDeclaration:CString(includeObjectName:Bool = true,includeNamespace:bool = false,includeParamNames:bool = false) VirtualMethod IsReadOnly:Bool() VirtualMethod IsPrivate:Bool() VirtualMethod IsProtected:Bool() VirtualMethod IsFinal:Bool() VirtualMethod IsOverride:Bool() VirtualMethod IsShared:Bool() VirtualMethod GetParamCount:asUINT() VirtualMethod GetParam:Int(index:asUINT,typeId:Int,flags:asDWORD = 0,name:cstring = 0,defaultArg:CString = 0) VirtualMethod GetReturnTypeId:Int(flags:asDWORD = 0) Virtual'// Type id for Function pointersMethod GetTypeId:Int() VirtualMethod IsCompatibleWithTypeId:Bool(typeId:Int) Virtual'// DelegatesMethod GetDelegateObject:Void() VirtualMethod GetDelegateObjectType:asITypeInfo() VirtualMethod GetDelegateFunction:asIScriptFunction() Virtual'// Debug informationMethod GetVarCount:asUINT() VirtualMethod GetVar:Int(index:asUINT,name:CString,typeId:Int = 0) VirtualMethod GetVarDecl:CString(index:asUINT,includeNamespace:Bool = false) VirtualMethod FindNextLineWithCode:Int(line:Int) Virtual'// For JIT compilationMethod GetByteCode:asDWORD(length:asUINT = 0) Virtual'// User dataMethod SetUserData:Void(userData:Void,type:asPWORD = 0) VirtualMethod GetUserData:Void(type:asPWORD = 0) VirtualEnd Class''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asIBinaryStream Extends VoidMethod Read:Void(void ptr,size:asUINT) VirtualMethod Write:Void(void ptr,size:asUINT) VirtualEnd Class'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asIJITCompiler Extends VoidMethod CompileFunction:Int(afunction:asIScriptFunction,output:asIScriptFunction) VirtualMethod ReleaseJITFunction:Void(func:asIJITCompiler = 0) VirtualEnd Class'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asIThreadManager Extends VoidEnd Class''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Class asILockableSharedBool Extends Void'// Memory managementMethod AddRef:Int() VirtualMethod Release:Int() Virtual'// ValueMethod Get:Bool() VirtualMethod Set:Void(val:bool) Virtual'// Thread managementMethod Lock:Void() VirtualMethod Unlock:Void() VirtualEnd Class'''''''''''''''''''''''''''''''''''''''''''''''''''''Public''''''''''''''''''''''''''''''''''''''''''''''''''''Class MyWindow Extends WindowMethod New()Super.New("App",640,480)End MethodEndFunction Main:Void()Global instance:=New AppInstanceGlobal window:=New MyWindowNew asIScriptContext()App.Run()Endsure its proberly me being half asleep included the file i was trying to get it to run and link direct from the prebuilt lib as a test as i wanted to know if it would be harder to port my code base in.
March 24, 2017 at 9:43 pm #7605well it compiles now just gotta play with it for a while(angelscript.lib)
March 31, 2017 at 7:49 am #7667See here: http://stackoverflow.com/questions/9000485/how-to-compile-a-directx-11-app-in-mingw
-
AuthorPosts
You must be logged in to reply to this topic.