Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Everything posted by osiris_dev

  1. osiris_dev

    D3DReflect unrsolved external symbol

    Thank you, guys! It helped.
  2. Hello! Have a problem with reflection shader for D3D11: 1>engine_render_d3d11_system.obj : error LNK2001: unresolved external symbol IID_ID3D11ShaderReflection I tried to add this: #include <D3D11Shader.h> #include <D3Dcompiler.h> #include <D3DCompiler.inl> #pragma comment(lib, "D3DCompiler.lib") //#pragma comment(lib, "D3DCompiler_47.lib") As MSDN tells me but still no fortune. I think lot of people did that already, what I missing? I also find this article http://mattfife.com/?p=470 where recommend to use SDK headers and libs before Wind SDK, but I am not using DirectX SDK for this project at all, should I?
  3. Hello,   I am trying to import data from fbx mesh file. I stacked with transformations. There are 2 levels of transformations for geometry in FXB, node and geometry, usually it is only first one, second transform applies on export for positions normal and other 3D data. I have two tested models without skinning. In first one geometry transform is identity, second one has both transforms.   The second case is most common in 3DS Max, but I getting correct look for second model if I don't use node transform at all when the first one needs it!!! And it is in one mesh format and I can't understand why.   [attachment=32086:ship1.jpg] This is look when I doing geometry transform only       FbxAMatrix mGeometryTransform = GetGeometry(pFBXNode); // transform it to LH if needed if (m_bOptionConvertToLH) { FbxVector4 Translation = mGeometryTransform.GetT(); FbxVector4 Rotation = mGeometryTransform.GetR(); Translation.Set(Translation.mData[0], Translation.mData[2], Translation.mData[1]); mGeometryTransform.SetT(Translation); } m_mTransformGeometry = GetAFMatrixFromFBX(mGeometryTransform);   In vertex buffer:   iControlPoint = pFBXMesh->GetPolygonVertex(i, 0); Point = pFBXMesh->GetControlPointAt(iControlPoint); pVertexes->x = static_cast<float>(Point.mData[0]); pVertexes->y = static_cast<float>(Point.mData[1]); pVertexes->z = static_cast<float>(Point.mData[2]);   // node geometry transform AFVector3TransformCoords(pVertexes, pVertexes, &m_mTransformGeometry);                 And this when I add Node Transform [attachment=32087:ship2.jpg] FbxVector4 Translation = pFBXNode->LclTranslation; FbxVector4 Rotation = pFBXNode->LclRotation; FbxVector4 Scaling = pFBXNode->LclScaling; FbxAMatrix Transform; Transform.SetTRS(Translation, Rotation, Scaling);   pMeshFrame->m_m4x4Transform = GetAFMatrixFromFBX(Transform);   To get World Transform I making multiplication for hierarchy:       AFMatrixMultiply(&spSceneObject->m_mWorld, &spSceneObject->m_mLocal, spSceneObject->GetParent()->GetMatrixWorld());       m_mLocal is a m_m4x4Transform transform. I can't use only Geometry Transform or all cases. Any ideas what is wrong here?   P.S. Sorry for alignment, can't make it good)
  4. osiris_dev

    Leadwerks is on Steam

    Great job!
  5. osiris_dev

    asPEEK, HTML remote debugger

    Very interesting project but I don't understand full how example works. I am interested in some instructions document.
  6. osiris_dev

    What to use for an UI?

    Take a look on wxWidgets. It is good enough and simple.
  7. I think you need to separate terms physics event and game. Physics event depends on physical library, it is callback function usual and you are getting just info about 2 bodies in collision contact, any other information (like velocity or positions) you can get in any other place throw physical system for objects. It is not necessary to put all contact information in your event class object.   The same thing about game events. You can't contain all information about all game events in one event object. Better way if you'll make event + task system, where multi task objects starts or changes behavior when his event/s happened, and inside event contains only common information about event, all other information is inside the task.
  8. osiris_dev

    Autodesk release Maya LT; "indie" friendly version

      Absolutely agree. Last version of Blender much better then last buggy versions of Max and Maya.
  9. osiris_dev

    (Solved) string [] problem

    Hello,   strNum = strPropellerCurName[0];   strPropellerCurName[0] = 49 + i; I trying get or put some symbols from/to string in angel script but it fails with "out of range". Have some thoughts? And yes, all strings have info inside more then 1 size, it is just test.
  10. osiris_dev

    (Solved) string [] problem

    Sorry guys, It was my mistake, strPropellerCurName was empty string. Oh, I should make debugger for script editor.
  11. osiris_dev

    Simple Angel Script Editor

      It is still a lot of work to do before this editor can be called "generic AngelScript editor" but I have some thoughts how make it done. First thing is need to change wxWidgets on Qt or something else because first one has sometimes strange realizations and poor functional. And of course need context help for functions and methods and debug mode for applications. Last one is most complicated.
  12. osiris_dev

    Simple Angel Script Editor

    Hello everyone,   I made simple editor for angel script files. Made it according base example "asbuild" from SDK. It is very simple but It have compiler with options to configure your own binding data to script engine. Of course without debugger it is not full IDE but everyone who tried write scripts for game without external compiler should understand my concept.   I used "wxWidgets 2.9.4" and "Angel Code 2.25". It is not open source yet because I used engine functions to made it fast. Maybe if someone will be interesting in improving of program then I could publish source.   Totem4 Script Editor 1.5 ( updated ): https://www.box.com/s/k51th5alfhcsrl08monc   All binding data is in "config.xml".   Good luck.
  13. osiris_dev

    Simple Angel Script Editor

    I found some bugs today. When I will fix it I'll update editor. It is still very raw. )
  14. There was a problem with linking code in release mode. To be more precise after compiling begins "Generating Code" but never ending. I made a couple of tests and found that the reason connect with "Maximaze Speed" flag in C++ Optimization. I have other projects for VS2010 SP1 but they have not problems. Any ideas?
  15. Yes, I have enabled LTCG. Now I removed some codes and generating finished. Last time i waited 30 minutes but i don't saw result. This time it took 1 min. So, i don't know how I can boost generation time.
  16. Hi all, There is a small problem. I registered a few global properties. static LPGameProcessGUI g_TE3GameProcGUICurrent = NULL; static LPGameProcessGUI GetGUIProcContext() { return g_TE3GameProcGUICurrent; } r = asScriptEngine->RegisterGlobalProperty("CTE3GameProcessGUI@ g_TE3GameProcGUICurrent", &g_TE3GameProcGUICurrent); assert( r >= 0); r = asScriptEngine->RegisterGlobalFunction("CTE3GameProcessGUI@ GetGUIProcContext()", asFUNCTION(GetGUIProcContext), asCALL_CDECL ); assert( r >= 0); and singleton class CTE3ScriptManager { protected: static CTE3ScriptManager m_ScriptManager; CTE3ScriptManager(); public: virtual ~CTE3ScriptManager(void); static CTE3ScriptManager& Get() { return m_ScriptManager; } }; // registry inside class r = m_asScriptEngine->RegisterGlobalProperty("CTE3ScriptManager ScriptManager", this); assert( r >= 0); Inside my script I get null pointer for variables, although in C + + debugger all variables are initialized. string strButtonName = "_lv_ButtonName"; // ScriptManager - thi null strButtonName = ScriptManager.GetScriptContextValuesLocal().GetValueNameString(string("_lv_ButtonName")); CTE3CIIScreen @pMainScreen = null; // or this null @pMainScreen = GetGUIProcContext().GetMainScreen(); AngelScript Runtime: gui_proc_change_screen.as: Null pointer access . line: 6. column: 2 What's wrong?
  17. osiris_dev

    Script sees a global variable as null pointer

    The problem was that I register the static variables in Angel Script, then in C + +, I changed their meaning. But the script remained the initial value obtained at registration. Singleton case differs only in that I register the final value of the variable in the script.
  18. osiris_dev

    Script sees a global variable as null pointer

    That's works r = m_asScriptEngine->RegisterGlobalProperty("CTE3ScriptManager ScriptManager", &m_ScriptManager); assert( r >= 0); All global variables are placed in single classes now.
  19. osiris_dev

    Script sees a global variable as null pointer

    I made ??a small test. // declare variable static int g_iTest = 1; // registry r = asScriptEngine->RegisterGlobalProperty("int g_iTest", &g_iTest); assert( r >= 0); Before call script made: g_iTest = 2; But in script context variable value still 1.
  20. osiris_dev

    Script sees a global variable as null pointer

    That's how I register the class itself // GUI Game Processor r = asScriptEngine->RegisterObjectType("CTE3GameProcessGUI", 0, asOBJ_REF ); assert( r >= 0 ); r = asScriptEngine->RegisterObjectBehaviour("CTE3GameProcessGUI", asBEHAVE_ADDREF, "void f()", asFUNCTION(RegisterScriptNullFunc<CTE3GameProcessGUI>), asCALL_CDECL_OBJLAST); assert( r >= 0 ); r = asScriptEngine->RegisterObjectBehaviour("CTE3GameProcessGUI", asBEHAVE_RELEASE, "void f()", asFUNCTION(RegisterScriptNullFunc<CTE3GameProcessGUI>), asCALL_CDECL_OBJLAST); assert( r >= 0 ); r = asScriptEngine->RegisterObjectMethod("CTE3GameProcessGUI", "CTE3CIIScreen@ GetMainScreen()", asMETHOD(CTE3GameProcessGUI,GetMainScreen), asCALL_THISCALL); assert( r >= 0 ); r = asScriptEngine->RegisterObjectMethod("CTE3GameProcessGUI", "TE3CIIAccessor@ GetMainAccessor()", asMETHOD(CTE3GameProcessGUI,GetMainAccessor), asCALL_THISCALL); assert( r >= 0 ); r = asScriptEngine->RegisterObjectMethod("CTE3GameProcessGUI", "CTE3CIIScreenManager@ GetScreenManager()", asMETHOD(CTE3GameProcessGUI,GetScreenManager), asCALL_THISCALL); assert( r >= 0 ); Singleton registry r = m_asScriptEngine->RegisterObjectType("CTE3ScriptManager", 0, asOBJ_REF | asOBJ_NOHANDLE); assert( r >= 0); r = m_asScriptEngine->RegisterGlobalProperty("CTE3ScriptManager ScriptManager", this); assert( r >= 0); r = m_asScriptEngine->RegisterObjectMethod("CTE3ScriptManager", "CTE3ScriptValuesVault@ GetScriptContextValuesLocal()", asMETHOD(CTE3ScriptManager,GetScriptContextValuesLocal), asCALL_THISCALL); assert( r >= 0); r = m_asScriptEngine->RegisterObjectMethod("CTE3ScriptManager", "CTE3ScriptValuesVault@ GetScriptContextValuesGlobal()", asMETHOD(CTE3ScriptManager,GetScriptContextValuesGlobal), asCALL_THISCALL); assert( r >= 0); Empty ref counter functions. I saw it in this forum. template <class T> void RegisterScriptNullFunc(T* ptr){} As for the error, I just gave an example of the type of error. It is always the same, and it happens in a situation calling ScriptManager or g_TE3GameProcGUICurrent or GetGUIProcContext () Full script code with comments // void main_change_screen() { string strButtonName = "_lv_ButtonName"; // now error is here strButtonName = ScriptManager.GetScriptContextValuesLocal().GetValueNameString(string("_lv_ButtonName")); CTE3CIIScreen @pMainScreen = null; // but it may happen here @pMainScreen = GetGUIProcContext().GetMainScreen(); // and here @pMainScreen = g_TE3GameProcGUICurrent.GetMainScreen(); if( pMainScreen is null ) return; // TE3CIIAccessor@ pMainAccessor = g_TE3GameProcGUICurrent.GetMainAccessor(); if( pMainAccessor is null ) return; // // string strButtonName = ScriptManager.GetScriptContextValuesLocal().GetValueNameString(string("_lv_ButtonName")); CDX9E3DSGUIControlButton@ pButton = pMainAccessor.GetControlButtonName(strButtonName); // if( pButton.GetState() != SGUI_BUTTON_STATE_DOWN || !g_TE3GameProcGUICurrent.GetScreenManager().Delay( 300 ) ) return; // CTE3CIIScreen@ pTargetScreen = g_TE3GameProcGUICurrent.GetScreenManager().FindScreenForName( string("_lv_TagerScreenName") ); if( pTargetScreen is null ) return; // if( pTargetScreen.GetVisible() ) return; // g_TE3GameProcGUICurrent.GetScreenManager().SetActiveScreenName( pTargetScreen.GetScreenName() ); } These variables are not exactly zero, I checked their values before calling the script. Thanks for your help.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!