Jump to content

plumo

0 A.D. Community Liaison
  • Content Count

    1.105
  • Joined

  • Last visited

  • Days Won

    10

Posts posted by plumo

  1. Same issue when starting up Pyrogenesis:

    Function call failed: return value was -120102 (Invalid/unsupported texture format)
    Location: tex_dds.cpp:485 (decode_pf)

    Call stack:

    decode_pf (tex_dds.cpp:485)
        pf = 0x15DF704C -> 
            dwSize = 32 (0x00000020)
            dwFlags = 1 (0x00000001)
            dwFourCC = 0 (0x00000000)
            dwRGBBitCount = 8 (0x00000008)
            dwRBitMask = 0 (0x00000000)
            dwGBitMask = 0 (0x00000000)
            dwBBitMask = 0 (0x00000000)
            dwABitMask = 255 (0x000000FF)

        bpp = 0x00000001
        flags = 0x04A00AF4 -> 0 (0x00000000)

    TexCodecDds::decode (tex_dds.cpp:610)
        this = (unavailable)
        data = 0x0000100F
        __formal = 524416 (0x00080080)
        t = 0x04A00AF4 (see above)

    Tex::decode (tex.cpp:736)
        this = (unavailable)
        Data = 0x00E477CC -> (shared_ptr<unsigned char>)
        DataSize = 128 (0x00000080)
        c = 0x00E477CC (see above)

    OglTex_reload (ogl_tex.cpp:472)
        ot = 0x00000000
        vfs = 0x0AD0DE88 -> (shared_ptr<IVFS>)
        pathname = 0x001BF314 -> 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = [8] { 47 ('/'), 5338, 28553, 53951, 62308, 27, 28224, 217 }

        h = 1179666 (0x0000000000120012)
        fileSize = 524416 (0x00080080)
        file = (shared_ptr<unsigned char>)

    call_init_and_reload (h_mgr.cpp:438)
        h = 1179666 (0x0000000000120012)
        type = 0x00E4770C -> 
            init = 0x00D238E0 -> (OglTex_init)
            reload = 0x00D23930 -> (OglTex_reload)
            dtor = 0x00D23A80 -> (OglTex_dtor)
            validate = 0x00D23AD0 -> (OglTex_validate)
            to_string = 0x00D23D40 -> (OglTex_to_string)
            user_size = 68 (0x00000044)
            name = 0x00DF0484 -> "OglTex"

        hd = 0x04A00AA0 -> 
            h = 1179666 (0x0000000000120012)
            key = 1619826252 (0x608C964C)
            refs = 1 (0x00000001)
            keep_open = 2 (0x00000002)
            unique = 2 (0x00000002)
            disallow_reload = 2 (0x00000002)
            type = 0x00E4770C (see above)
            num_derefs = 0 (0x00000000)
            pathname = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = [8] { 47 ('/'), 0, 28672, 5599, 47272, 5344, 128, 8 }

            user = [104] 
                [8] { 0 (0x00), 112 (0x70), 223 (0xDF), 21 (0x15), 168 (0xA8), 184 (0xB8), 224 (0xE0), 20 (0x14) }
                112 (0x70)
                223 (0xDF)
                21 (0x15)
                168 (0xA8)
                184 (0xB8)
                224 (0xE0)
                20 (0x14)
                128 (0x80)
                0 (0x00)
                8 (0x08)
                0 (0x00)
                128 (0x80)
                0 (0x00)
                0 (0x00)
                0 (0x00) ...

        vfs = 0x0AD0DE88 (see above)
        pathname = 0x001BF314 (see above)
        init_args = 0x001BF190 -> 0x001BF1B8 -> [8] { 0, 0, 0, 0, 64 ('@'), 242, 27, 0 }
        err = 0 (0x0000000000000000)

    alloc_new_handle (h_mgr.cpp:481)
        type = 0x00E4770C (see above)
        vfs = 0x0AD0DE88 (see above)
        pathname = 0x001BF314 (see above)
        key = 1619826252 (0x608C964C)
        flags = 17 (0x00000011)
        init_args = 0x001BF190 (see above)
        hd = 0x04A00AA0 (see above)
        h = 1179666 (0x0000000000120012)

    h_alloc (h_mgr.cpp:518)
        type = 0x00E4770C (see above)
        vfs = 0x0AD0DE88 (see above)
        pathname = 0x001BF314 (see above)
        flags = 17 (0x00000011)
        lock = (lock_guard<recursive_mutex>)
        args = 0x001BF1B8 (see above)

    ogl_tex_load (ogl_tex.cpp:544)
        vfs = 0x0AD0DE88 (see above)
        pathname = 0x001BF314 (see above)
        flags = 17 (0x00000011)

    CTextureManagerImpl::LoadTexture (texturemanager.cpp:179)
        this = (unavailable)
        texture = 0x001BF35C -> (shared_ptr<CTexture>)
        path = 0x001BF314 (see above)
        flags = 7602286 (0x0074006E)
        h = 1502231950707851379 (0x14D90000002F0073)
        profile2__ = 
            m_Name = 0x00DD5A3C -> "load texture"


    CTextureManagerImpl::TryLoadingCached (texturemanager.cpp:267)
        this = (unavailable)
        texture = 0x001BF35C (see above)
        loadPath = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 47 ('/')

        hash = 
            m_Digest = [4] { 1732584193 (0x67452301), 4023233417 (0xEFCDAB89), 2562383102 (0x98BADCFE), 271733878 (0x10325476) }
            m_Buf = [64] 
                5 (0x05)
                0 (0x00)
                0 (0x00)
                0 (0x00)
                2 (0x02)
                0 (0x00)
                0 (0x00)
                0 (0x00)
                2 (0x02)
                0 (0x00)
                0 (0x00)
                0 (0x00)
                1 (0x01)
                0 (0x00)
                0 (0x00)
                0 (0x00) ...
            m_BufLen = 32 (0x00000020)
            m_InputLen = 32 (0x0000000000000020)


    CTexture::TryLoad (texturemanager.cpp:566)
        this = (unavailable)
        self = (shared_ptr<CTexture>)

    CTexture::GetHandle (texturemanager.cpp:555)
        this = (unavailable)

    CShaderProgram::BindTexture (shaderprogram.cpp:700)
        this = (unavailable)
        id = 
            m = 0x00437868 -> 
                data = (unsupported basic_string<char,char_traits<char> >)
                hash = 2869024766 (0xAB01D7FE)


        tex = (shared_ptr<CTexture>)

    CTextRenderer::Render (textrenderer.cpp:253)
        this = (unavailable)
        vertexes = (unsupported vector<t2f_v2i >)
        indexes = (unsupported vector<u16 >)
        x = 0 (0x0000)

    CGUIText::Draw (cguitext.cpp:464)
        this = (unavailable)
        pGUI = 0x0ACE5760 -> 
            m_ScriptInterface = (shared_ptr<ScriptInterface>)
            m_MousePos = 
                x = 289.000000 (0x43908000)
                y = 697.000000 (0x442E4000)

            m_MouseButtons = 0 (0x00000000)
            m_Tooltip = 
                m_State = 0 (0x00000000)
                m_PreviousObject = 0x148412E8 -> 
                    m_CachedActualSize = 
                        left = 68.000000 (0x42880000)
                        top = 603.000000 (0x4416C000)
                        right = 292.000000 (0x43920000)
                        bottom = 869.000000 (0x44594000)

                    m_Name = { (unsupported basic_string<char,char_traits<char> >) }
                    m_Children = (unsupported vector<IGUIObject * >)
                    m_pParent = 0x0AF76FD8 -> 
                        m_CachedActualSize = 
                            left = 60.000000 (0x42700000)
                            top = -2.000000 (0xC0000000)
                            right = 300.000000 (0x43960000)
                            bottom = 963.000000 (0x4470C000)

                        m_Name = { (unsupported basic_string<char,char_traits<char> >) }
                        m_Children = (unsupported vector<IGUIObject * >)
                        m_pParent = 0x148408A0 -> 
                            m_CachedActualSize = 
                                left = 60.000000 (0x42700000)
                                top = -2.000000 (0xC0000000)
                                right = 300.000000 (0x43960000)
                                bottom = 963.000000 (0x4470C000)

                            m_Name = { (unsupported basic_string<char,char_traits<char> >) }
                            m_Children = (unsupported vector<IGUIObject * >)
                            m_pParent = 0x0AF77248 -> 
                                m_CachedActualSize = 
                                    left = 0.000000 (0x00000000)
                                    top = 0.000000 (0x00000000)
                                    right = 1707.000000 (0x44D56000)
                                    bottom = 961.000000 (0x44704000)

                                m_Name = { (unsupported basic_string<char,char_traits<char> >) }
                                m_Children = (unsupported vector<IGUIObject * >)
                                m_pParent = 0x0AF77860 -> 
                                    m_CachedActualSize = 
                                        left = 0.000000 (0x00000000)
                                        top = 0.000000 (0x00000000)
                                        right = 1707.000000 (0x44D56000)
                                        bottom = 961.000000 (0x44704000)

                                    m_Name = { (unsupported basic_string<char,char_traits<char> >) }
                                    m_Children = (unsupported vector<IGUIObject * >)
                                    m_pParent = 0x0ACE57B0 -> 
                                        m_CachedActualSize = 
                                            left = 0.000000 (0x00000000)
                                            (too much output; skipping to next top-level symbol)

                                        m_Name = { (unsupported basic_string<char,char_traits<char> >) }
                                        m_Children = (unsupported vector<IGUIObject * >)
                                        m_pParent = 0x00000000
                                        m_LastClickTime = [6] 
                                            0 (0x0000000000000000)
                                            0 (0x0000000000000000)
                                            0 (0x0000000000000000)
                                            0 (0x0000000000000000)
                                            0 (0x0000000000000000)
                                            0 (0x0000000000000000)
                                        m_MouseHovering = false
                                        m_Settings = (unsupported map<CStr8,IGUISetting * >)
                                        m_pGUI = 0x0ACE5760 (see above)
                                        m_ScriptHandlers = (unsupported map<CStr8,JS::Heap<JSObject *> >)
                                        m_JSObject = 
                                            (js::PersistentRootedBase<JSObject *>)
                                            
                                                mNext = 0x0ACE5838 -> 
                                                    mNext = 0x0ACE5838 (see above)
                                                    mPrev = 0x0ACE5838 (see above)
                                                    mIsSentinel = false

                                                mPrev = 0x0ACE5838 (see above)
                                                mIsSentinel = false

                                            ptr = 0x00000000

                                        m_Enabled = true 
                                        m_Hidden = false
                                        m_Size = 
                                            pixel = 
                                                left = 0.000000 (0x00000000)
                                                top = 0.000000 (0x00000000)
                                                right = 0.000000 (0x00000000)
                                                bottom = 0.000000 (0x00000000)

                                            percent = 
                                                left = 0.000000 (0x00000000)
                                                top = 0.000000 (0x00000000)
                                                right = 0.000000 (0x00000000)
                                                bottom = 0.000000 (0x00000000)


                                        m_Style = { (unsupported basic_string<char,char_traits<char> >) }
                                        m_Hotkey = { (unsupported basic_string<char,char_traits<char> >) }
                                        m_Z = 0.000000 (0x00000000)
                                        m_Absolute = true 
                                        m_Ghost = false
                                        m_AspectRatio = 0.000000 (0x00000000)
                                        m_Tooltip = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
                                        m_TooltipStyle = { (unsupported basic_string<char,char_traits<char> >) }

                                    m_LastClickTime = [6] 
                                        0 (0x0000000000000000)
                                        0 (0x0000000000000000)
                                        0 (0x0000000000000000)
                                        0 (0x0000000000000000)
                                        0 (0x0000000000000000)
                                        0 (0x0000000000000000)
                                    m_MouseHovering = false
                                    m_Settings = (unsupported map<CStr8,IGUISetting * >)
                                    m_pGUI = 0x0ACE5760 (see above)
                                    m_ScriptHandlers = (unsupported map<CStr8,JS::Heap<JSObject *> >)
                                    m_JSObject = 
                                        (js::PersistentRootedBase<JSObject *>)
                                        
                                            mNext = 0x0AFD0628 -> 
                                                mNext = 0x14840F08 -> 
                                                    mNext = 0x1483FBF0 -> 
                                                        mNext = 0x0AFD08A8 -> 
                                                            mNext = 0x0AFC9290 -> 
                                                                mNext = 0x0AF77C90 -> 
                                                                    mNext = 0x0AFC9510 -> 
                                                                        mNext = 0x0AFC9878 -> 
                                                                            mNext = 0x0AFC9BE0 -> 
                                                                                mNext = 0x0AFC9F48 -> 
                                                                                    mNext = 0x0AFCE2B8 -> 
                                                                                        mNext = 0x0AFCE9B0 -> 
                                                                                            mNext = 0x0AFCF3E8 -> 
                                                                                                mNext = 0x0AFCFE20 -> 
                                                                                                    mNext = 0x0AFCE648 -> 
                                                                                                        mNext = 0x0AFCED18 -> 
                                                                                                            mNext = 0x14841370 -> 
                                                                                                                mNext = 0x0AFD2B30 -> 
                                                                                                                    mNext = 0x095C61B8 -> 
                                                                                                                        mNext = 0x0AEA2608 -> 
                                                                                                                            mNext = 0x0AEA21D0 -> 
                                                                                                                                mNext = 0x148417D8 -> 
                                                                                                                                    mNext = 0x1484A9D8 -> 
                                                                                                                                        mNext = 0x1484B0A8 -> 
                                                                                                                                            mNext = 0x0AFD2DB0 -> 
                                                                                                                                                mNext = 0x0AC7EF88 -> 
                                                                                                                                                    mNext = 0x0AC7F6E0 -> 
                                                                                                                                                        mNext = 0x0AC7F858 -> 
                                                                                                                                                            mNext = 0x0AC7F3F0 -> 
                                                                                                                                                                mNext = 0x0AF77B58 -> 
                                                                                                                                                                    mNext = 0x14840928 -> 
                                                                                                                                                                        mNext = 0x0AF76CB8 -> 
                                                                                                                                                                            mNext = 0x148414E8 -> 
                                                                                                                                                                                mNext = 0x148404C0 -> 
                                                                                                                                                                                    mNext = 0x14840638 -> 
                                                                                                                                                                                        mNext = 0x148411F8 -> 
                                                                                                                                                                                            mNext = 0x0AFA5670 -> 
                                                                                                                                                                                                mNext = 0x0AFA59D8 -> 
                                                                                                                                                                                                    mNext = 0x0AFFE470 -> 
                                                                                                                                                                                                        mNext = 0x0AFFE7D8 -> 
                                                                                                                                                                                                            mNext = 0x0AFFEB40 -> 
                                                                                                                                                                                                                mNext = 0x0AFAAD88 -> 
                                                                                                                                                                                                                    mNext = 0x0AFAB0F0 -> 
                                                                                                                                                                                                                        mNext = 0x0AFAB458 -> 
                                                                                                                                                                                                                            mNext = 0x0AFAB7C0 -> 
                                                                                                                                                                                                                                mNext = 0x0AFABB28 -> 
                                                                                                                                                                                                                                    mNext = 0x1484CBE8 -> 
                                                                                                                                                                                                                                        mNext = 0x0AF778E8 -> 
                                                                                                                                                                                                                                            mNext = 0x0AFD0628 (see above)
                                                                                                                                                                                                                                            mPrev = 0x1484CBE8 (see above)
                                                                                                                                                                                                                                            mIsSentinel = false

                                                                                                                                                                                                                                        mPrev = 0x0AFABB28 (see above)
                                                                                                                                                                                                                                        mIsSentinel = false

                                                                                                                                                                                                                                    mPrev = 0x0AFAB7C0 (see above)
                                                                                                                                                                                                                                    mIsSentinel = false

                                                                                                                                                                                                                                mPrev = 0x0AFAB458 (see above)
                                                                                                                                                                                                                                mIsSentinel = false

                                                                                                                                                                                                                            mPrev = 0x0AFAB0F0 (see above)
                                                                                                                                                                                                                            mIsSentinel = false

                                                                                                                                                                                                                        mPrev = 0x0AFAAD88 (see above)
                                                                                                                                                                                                                        mIsSentinel = false

                                                                                                                                                                                                                    mPrev = 0x0AFFEB40 (see above)
                                                                                                                                                                                                                    mIsSentinel = false

                                                                                                                                                                                                                mPrev = 0x0AFFE7D8 (see above)
                                                                                                                                                                                                                mIsSentinel = false

                                                                                                                                                                                                            mPrev = 0x0AFFE470 (see above)
                                                                                                                                                                                                            mIsSentinel = false

                                                                                                                                                                                                        mPrev = 0x0AFA59D8 (see above)
                                                                                                                                                                                                        mIsSentinel = false

                                                                                                                                                                                                    mPrev = 0x0AFA5670 (see above)
                                                                                                                                                                                                    mIsSentinel = false

                                                                                                                                                                                                mPrev = 0x148411F8 (see above)
                                                                                                                                                                                                mIsSentinel = false

                                                                                                                                                                                            mPrev = 0x14840638 (see above)
                                                                                                                                                                                            mIsSentinel = false

                                                                                                                                                                                        mPrev = 0x148404C0 (see above)
                                                                                                                                                                                        mIsSentinel = false

                                                                                                                                                                                    mPrev = 0x148414E8 (see above)
                                                                                                                                                                                    mIsSentinel = false

                                                                                                                                                                                mPrev = 0x0AF76CB8 (see above)
                                                                                                                                                                                mIsSentinel = false

                                                                                                                                                                            mPrev = 0x14840928 (see above)
                                                                                                                                                                            mIsSentinel = false

                                                                                                                                                                        mPrev = 0x0AF77B58 (see above)
                                                                                                                                                                        mIsSentinel = false

                                                                                                                                                                    mPrev = 0x0AC7F3F0 (see above)
                                                                                                                                                                    mIsSentinel = false

                                                                                                                                                                mPrev = 0x0AC7F858 (see above)
                                                                                                                                                                mIsSentinel = false

                                                                                                                                                            mPrev = 0x0AC7F6E0 (see above)
                                                                                                                                                            mIsSentinel = false

                                                                                                                                                        mPrev = 0x0AC7EF88 (see above)
                                                                                                                                                        mIsSentinel = false

                                                                                                                                                    mPrev = 0x0AFD2DB0 (see above)
                                                                                                                                                    mIsSentinel = false

                                                                                                                                                mPrev = 0x1484B0A8 (see above)
                                                                                                                                                mIsSentinel = false

                                                                                                                                            mPrev = 0x1484A9D8 (see above)
                                                                                                                                            mIsSentinel = false

                                                                                                                                        mPrev = 0x148417D8 (see above)
                                                                                                                                        mIsSentinel = false

                                                                                                                                    mPrev = 0x0AEA21D0 (see above)
                                                                                                                                    mIsSentinel = false

                                                                                                                                mPrev = 0x0AEA2608 (see above)
                                                                                                                                mIsSentinel = false

                                                                                                                            mPrev = 0x095C61B8 (see above)
                                                                                                                            mIsSentinel = false

                                                                                                                        mPrev = 0x0AFD2B30 (see above)
                                                                                                                        mIsSentinel = true 

                                                                                                                    mPrev = 0x14841370 (see above)
                                                                                                                    mIsSentinel = false

                                                                                                                mPrev = 0x0AFCED18 (see above)
                                                                                                                mIsSentinel = false

                                                                                                            mPrev = 0x0AFCE648 (see above)
                                                                                                            mIsSentinel = false

                                                                                                        mPrev = 0x0AFCFE20 (see above)
                                                                                                        mIsSentinel = false

                                                                                                    mPrev = 0x0AFCF3E8 (see above)
                                                                                                    mIsSentinel = false

                                                                                                mPrev = 0x0AFCE9B0 (see above)
                                                                                                mIsSentinel = false

                                                                                            mPrev = 0x0AFCE2B8 (see above)
                                                                                            mIsSentinel = false

                                                                                        mPrev = 0x0AFC9F48 (see above)
                                                                                        mIsSentinel = false

                                                                                    mPrev = 0x0AFC9BE0 (see above)
                                                                                    mIsSentinel = false

                                                                                mPrev = 0x0AFC9878 (see above)
                                                                                mIsSentinel = false

                                                                            mPrev = 0x0AFC9510 (see above)
                                                                            mIsSentinel = false

                                                                        mPrev = 0x0AF77C90 (see above)
                                                                        mIsSentinel = false

                                                                    mPrev = 0x0AFC9290 (see above)
                                                                    mIsSentinel = false

                                                                mPrev = 0x0AFD08A8 (see above)
                                                                mIsSentinel = false

                                                            mPrev = 0x1483FBF0 (see above)
                                                            mIsSentinel = false

                                                        mPrev = 0x14840F08 (see above)
                                                        mIsSentinel = false

                                                    mPrev = 0x0AFD0628 (see above)
                                                    mIsSentinel = false

                                                mPrev = 0x0AF778E8 (see above)
                                                mIsSentinel = false

                                            mPrev = 0x1484CBE8 (see above)
                                            mIsSentinel = false

                                        ptr = 0x078DDB60 -> (JSObject)

                                    m_Enabled = true 
                                    m_Hidden = false
                                    m_Size = 
                                        pixel = 
                                            left = 0.000000 (0x00000000)
                                            top = 0.000000 (0x00000000)
                                            right = 0.000000 (0x00000000)
                                            bottom = 0.000000 (0x00000000)

                                        percent = 
                                            left = 0.000000 (0x00000000)
                                            top = 0.000000 (0x00000000)
                                            right = 100.000000 (0x42C80000)
                                            bottom = 100.000000 (0x42C80000)


                                    m_Style = { (unsupported basic_string<char,char_traits<char> >) }
                                    m_Hotkey = { (unsupported basic_string<char,char_traits<char> >) }
                                    m_Z = 10.000000 (0x41200000)
                                    m_Absolute = false
                                    m_Ghost = false
                                    m_AspectRatio = 0.000000 (0x00000000)
                                    m_Tooltip = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
                                    m_TooltipStyle = { (unsupported basic_string<char,char_traits<char> >) }

                                m_LastClickTime = [6] 
                                    0 (0x0000000000000000)
                                    0 (0x0000000000000000)
                                    0 (0x0000000000000000)
                                    0 (0x0000000000000000)
                                    0 (0x0000000000000000)
                                    0 (0x0000000000000000)
                                m_MouseHovering = false
                                m_Settings = (unsupported map<CStr8,IGUISetting * >)
                                m_pGUI = 0x0ACE5760 (see above)
                                m_ScriptHandlers = (unsupported map<CStr8,JS::Heap<JSObject *> >)
                                m_JSObject = 
                                    (js::PersistentRootedBase<JSObject *>)
                                    
                                        mNext = 0x0AF772D0 -> 
                                            mNext = 0x0AF772D0 (see above)
                                            mPrev = 0x0AF772D0 (see above)
                                            mIsSentinel = false

                                        mPrev = 0x0AF772D0 (see above)
                                        mIsSentinel = false

                                    ptr = 0x00000000

                                m_Enabled = true 
                                m_Hidden = false
                                m_Size = 
                                    pixel = 
                                        left = 0.000000 (0x00000000)
                                        top = 0.000000 (0x00000000)
                                        right = 0.000000 (0x00000000)
                                        bottom = 0.000000 (0x00000000)

                                    percent = 
                                        left = 0.000000 (0x00000000)
                                        top = 0.000000 (0x00000000)
                                        right = 100.000000 (0x42C80000)
                                        bottom = 100.000000 (0x42C80000)


                                m_Style = { (unsupported basic_string<char,char_traits<char> >) }
                                m_Hotkey = { (unsupported basic_string<char,char_traits<char> >) }
                                m_Z = 10.000000 (0x41200000)
                                m_Absolute = false
                                m_Ghost = false
                                m_AspectRatio = 0.000000 (0x00000000)
                                m_Tooltip = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
                                m_TooltipStyle = { (unsupported basic_string<char,char_traits<char> >) }

                            m_LastClickTime = [6] 
                                0 (0x0000000000000000)
                                0 (0x0000000000000000)
                                0 (0x0000000000000000)
                                0 (0x0000000000000000)
                                0 (0x0000000000000000)
                                0 (0x0000000000000000)
                            m_MouseHovering = false
                            m_Settings = (unsupported map<CStr8,IGUISetting * >)
                            m_pGUI = 0x0ACE5760 (see above)
                            m_ScriptHandlers = (unsupported map<CStr8,JS::Heap<JSObject *> >)
                            m_JSObject = 
                                (js::PersistentRootedBase<JSObject *>)
                                
                                    mNext = 0x0AF76CB8 (see above)
                                    mPrev = 0x0AF77B58 (see above)
                                    mIsSentinel = false

                                ptr = 0x078DDD60 -> (JSObject)

                            m_Enabled = true 
                            m_Hidden = false
                            m_Size = 
                                pixel = 
                                    left = 60.000000 (0x42700000)
                                    top = -2.000000 (0xC0000000)
                                    right = 300.000000 (0x43960000)
                                    bottom = 2.000000 (0x40000000)

                                percent = 
                                    left = 0.000000 (0x00000000)
                                    top = 0.000000 (0x00000000)
                                    right = 0.000000 (0x00000000)
                                    bottom = 100.000000 (0x42C80000)


                            m_Style = { (unsupported basic_string<char,char_traits<char> >) }
                            m_Hotkey = { (unsupported basic_string<char,char_traits<char> >) }
                            m_Z = 50.000000 (0x42480000)
                            m_Absolute = false
                            m_Ghost = false
                            m_AspectRatio = 0.000000 (0x00000000)
                            m_Tooltip = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
                            m_TooltipStyle = { (unsupported basic_string<char,char_traits<char> >) }

                        m_LastClickTime = [6] 
                            0 (0x0000000000000000)
                            0 (0x0000000000000000)
                            0 (0x0000000000000000)
                            0 (0x0000000000000000)
                            0 (0x0000000000000000)
                            0 (0x0000000000000000)
                        m_MouseHovering = false
                        m_Settings = (unsupported map<CStr8,IGUISetting * >)
                        m_pGUI = 0x0ACE5760 (see above)
                        m_ScriptHandlers = (unsupported map<CStr8,JS::Heap<JSObject *> >)
                        m_JSObject = 
                            (js::PersistentRootedBase<JSObject *>)
                            
                                mNext = 0x0AF77060 -> 
                                    mNext = 0x0AF77060 (see above)
                                    mPrev = 0x0AF77060 (see above)
                                    mIsSentinel = false

                                mPrev = 0x0AF77060 (see above)
                                mIsSentinel = false

                            ptr = 0x00000000

                        m_Enabled = true 
                        m_Hidden = false
                        m_Size = 
                            pixel = 
                                left = 0.000000 (0x00000000)
                                top = 0.000000 (0x00000000)
                                right = 0.000000 (0x00000000)
                                bottom = 0.000000 (0x00000000)

                            percent = 
                                left = 0.000000 (0x00000000)
                                top = 0.000000 (0x00000000)
                                right = 100.000000 (0x42C80000)
                                bottom = 100.000000 (0x42C80000)


                        m_Style = { (unsupported basic_string<char,char_traits<char> >) }
                        m_Hotkey = { (unsupported basic_string<char,char_traits<char> >) }
                        m_Z = 10.000000 (0x41200000)
                        m_Absolute = false
                        m_Ghost = false
                        m_AspectRatio = 0.000000 (0x00000000)
                        m_Tooltip = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
                        m_TooltipStyle = { (unsupported basic_string<char,char_traits<char> >) }

                    m_LastClickTime = [6] 
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                    m_MouseHovering = true 
                    m_Settings = (unsupported map<CStr8,IGUISetting * >)
                    m_pGUI = 0x0ACE5760 (see above)
                    m_ScriptHandlers = (unsupported map<CStr8,JS::Heap<JSObject *> >)
                    m_JSObject = 
                        (js::PersistentRootedBase<JSObject *>)
                        
                            mNext = 0x0AFD2B30 (see above)
                            mPrev = 0x0AFCED18 (see above)
                            mIsSentinel = false

                        ptr = 0x078E7240 -> (JSObject)

                    m_Enabled = true 
                    m_Hidden = false
                    m_Size = 
                        pixel = 
                            left = 8.000000 (0x41000000)
                            top = -360.000000 (0xC3B40000)
                            right = -8.000000 (0xC1000000)
                            bottom = -94.000000 (0xC2BC0000)

                        percent = 
                            left = 0.000000 (0x00000000)
                            top = 100.000000 (0x42C80000)
                            right = 100.000000 (0x42C80000)
                            bottom = 100.000000 (0x42C80000)


                    m_Style = { (unsupported basic_string<char,char_traits<char> >) }
                    m_Hotkey = { (unsupported basic_string<char,char_traits<char> >) }
                    m_Z = 10.000000 (0x41200000)
                    m_Absolute = false
                    m_Ghost = false
                    m_AspectRatio = 0.000000 (0x00000000)
                    m_Tooltip = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
                    m_TooltipStyle = { (unsupported basic_string<char,char_traits<char> >) }

                m_PreviousTooltipName = { (unsupported basic_string<char,char_traits<char> >) }
                m_PreviousMousePos = 
                    x = 289.000000 (0x43908000)
                    y = 697.000000 (0x442E4000)

                m_Time = 0 (0x0000000000000000)
                m_IsIconTooltip = false

            m_BaseObject = 
                
                    m_CachedActualSize = 
                        left = 0.000000 (0x00000000)
                        top = 0.000000 (0x00000000)
                        right = 0.000000 (0x00000000)
                        bottom = 0.000000 (0x00000000)

                    m_Name = { (unsupported basic_string<char,char_traits<char> >) }
                    m_Children = (unsupported vector<IGUIObject * >)
                    m_pParent = 0x00000000
                    m_LastClickTime = [6] 
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                        0 (0x0000000000000000)
                    m_MouseHovering = false
                    m_Settings = (unsupported map<CStr8,IGUISetting * >)
                    m_pGUI = 0x0ACE5760 (see above)
                    m_ScriptHandlers = (unsupported map<CStr8,JS::Heap<JSObject *> >)
                    m_JSObject = 
                        (js::PersistentRootedBase<JSObject *>)
                        
                            mNext = 0x0ACE5838 (see above)
                            mPrev = 0x0ACE5838 (see above)
                            mIsSentinel = false

                        ptr = 0x00000000

                    m_Enabled = true 
                    m_Hidden = false
                    m_Size = 
                        pixel = 
                            left = 0.000000 (0x00000000)
                            top = 0.000000 (0x00000000)
                            right = 0.000000 (0x00000000)
                            bottom = 0.000000 (0x00000000)

                        percent = 
                            left = 0.000000 (0x00000000)
                            top = 0.000000 (0x00000000)
                            right = 0.000000 (0x00000000)
                            bottom = 0.000000 (0x00000000)


                    m_Style = { (unsupported basic_string<char,char_traits<char> >) }
                    m_Hotkey = { (unsupported basic_string<char,char_traits<char> >) }
                    m_Z = 0.000000 (0x00000000)
                    m_Absolute = true 
                    m_Ghost = false
                    m_AspectRatio = 0.000000 (0x00000000)
                    m_Tooltip = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
                    m_TooltipStyle = { (unsupported basic_string<char,char_traits<char> >) }


            m_FocusedObject = 0x00000000
            m_pAllObjects = (unsupported map<CStr8,IGUIObject * >)
            m_InternalNameNumber = 45 (0x0000002D)
            m_ObjectTypes = (unsupported map<CStr8,IGUIObject * (__cdecl*)(CGUI &) >)
            m_HotkeyObjects = (unsupported map<CStr8,vector<IGUIObject * > >)
            m_GlobalHotkeys = (unsupported map<CStr8,JS::PersistentRooted<JS::Value> >)
            m_PreDefinedColors = (unsupported map<CStr8,CGUIColor const  >)
            m_Sprites = (unsupported map<CStr8,CGUISprite const * >)
            m_Styles = (unsupported map<CStr8,SGUIStyle const  >)
            m_ScrollBarStyles = (unsupported map<CStr8,SGUIScrollBarStyle const  >)
            m_Icons = (unsupported map<CStr8,SGUIIcon const  >)

        DefaultColor = 0x434D0000 -> 
            
                r = (unavailable - internal error)

                g = (unavailable - internal error)

                b = (unavailable - internal error)

                a = (unavailable - internal error)

        pos = 0x0AFC935C -> 
            x = 76.000000 (0x42980000)
            y = 611.000000 (0x4418C000)

        z = 100.099998 (0x42C83333)
        clipping = 0x011BF538 -> 
            left = 0.000000 (0x00290028)
            top = 0.000000 (0x0000003D)
            right = 0.000000 (0x00EC0000)
            bottom = 0.000000 (0x002D0000)

        tech = (shared_ptr<CShaderTechnique>)
        textRenderer = 
            m_Shader = (shared_ptr<CShaderProgram>)
            m_Transform = 
                _11 = 0.001172 (0x3A9991EC)
                _21 = 0.000000 (0x00000000)
                _31 = 0.000000 (0x00000000)
                _41 = 0.000000 (0x00000000)
                _12 = 0.000000 (0x00000000)
                _22 = -0.002081 (0xBB08642A)
                _32 = 0.000000 (0x00000000)
                _42 = 0.000000 (0x00000000)
                _13 = 0.000000 (0x00000000)
                _23 = 0.000000 (0x00000000)
                _33 = -0.001998 (0xBB02F0E9)
                _43 = 0.000000 (0x00000000)
                _14 = -1.000000 (0xBF800000)
                _24 = 1.000000 (0x3F800000)
                _34 = 0.800000 (0x3F4CCCCC)
                _44 = 1.000000 (0x3F800000)
                _data = [16] 
                    0.001172 (0x3A9991EC)
                    0.000000 (0x00000000)
                    0.000000 (0x00000000)
                    0.000000 (0x00000000)
                    0.000000 (0x00000000)
                    -0.002081 (0xBB08642A)
                    0.000000 (0x00000000)
                    0.000000 (0x00000000)
                    0.000000 (0x00000000)
                    0.000000 (0x00000000)
                    -0.001998 (0xBB02F0E9)
                    0.000000 (0x00000000) ...
                _data2d = [4] 
                    [4] { 0.001172 (0x3A9991EC), 0.000000 (0x00000000), 0.000000 (0x00000000), 0.000000 (0x00000000) }
                    [4] { 0.000000 (0x00000000), -0.002081 (0xBB08642A), 0.000000 (0x00000000), 0.000000 (0x00000000) }
                    [4] { 0.000000 (0x00000000), 0.000000 (0x00000000), -0.001998 (0xBB02F0E9), 0.000000 (0x00000000) }
                    [4] { -1.000000 (0xBF800000), 1.000000 (0x3F800000), 0.800000 (0x3F4CCCCC), 1.000000 (0x3F800000) }

            m_Clipping = 
                left = 76.000000 (0x42980000)
                top = 611.000000 (0x4418C000)
                right = 284.000000 (0x438E0000)
                bottom = 833.000000 (0x44504000)

            m_Color = 
                r = 1.000000 (0x3F800000)
                g = 1.000000 (0x3F800000)
                b = 1.000000 (0x3F800000)
                a = 1.000000 (0x3F800000)

            m_FontName = 
                m = 0x14892C70 -> 
                    data = (unsupported basic_string<char,char_traits<char> >)
                    hash = 1642652000 (0x61E8E160)


            m_Font = (shared_ptr<CFont>)
            m_Dirty = false
            m_Batches = (list<CTextRenderer::SBatch >)


    IGUITextOwner::DrawText (iguitextowner.cpp:96)
        this = (unavailable)
        index = 181294944 (0x0ACE5760)
        color = 0x0AFC9430 -> 
            
                r = 1.000000 (0x3F800000)
                g = 1.000000 (0x3F800000)
                b = 1.000000 (0x3F800000)
                a = 1.000000 (0x3F800000)


        pos = 0x0AFC935C (see above)
        z = 100.099998 (0x42C83333)
        clipping = 0x001BF538 -> 
            left = 76.000000 (0x42980000)
            top = 611.000000 (0x4418C000)
            right = 284.000000 (0x438E0000)
            bottom = 833.000000 (0x44504000)


    CText::Draw (ctext.cpp:230)
        this = (unavailable)
        bz = 100.000000 (0x42C80000)
        cliparea = 
            left = 76.000000 (0x42980000)
            top = 611.000000 (0x4418C000)
            right = 284.000000 (0x438E0000)
            bottom = 833.000000 (0x44504000)


    IGUIObject::RecurseObject<> (iguiobject.h:274)
        this = (unavailable)
        isRestricted = 0x00CCCDD0 -> (IGUIObject::IsHidden)
        callbackFunction = 0x00CBF518 -> (IGUIObject::`vcall'{32}')

    IGUIObject::RecurseObject<> (iguiobject.h:278)
        this = (unavailable)
        isRestricted = 0x00CCCDD0 (see above)
        callbackFunction = 0x00CBF518 (see above)

    IGUIObject::RecurseObject<> (iguiobject.h:278)
        this = (unavailable)
        isRestricted = 0x00CCCDD0 (see above)
        callbackFunction = 0x00CBF518 (see above)

    IGUIObject::RecurseObject<> (iguiobject.h:278)
        this = (unavailable)
        isRestricted = 0x00CCCDD0 (see above)
        callbackFunction = 0x00CBF518 (see above)

    IGUIObject::RecurseObject<> (iguiobject.h:278)
        this = (unavailable)
        isRestricted = 0x00CCCDD0 (see above)
        callbackFunction = 0x00CBF518 (see above)

    IGUIObject::RecurseObject<> (iguiobject.h:278)
        this = (unavailable)
        isRestricted = 0x00CCCDD0 (see above)
        callbackFunction = 0x00CBF518 (see above)

    IGUIObject::RecurseObject<> (iguiobject.h:278)
        this = (unavailable)
        isRestricted = 0x00CCCDD0 (see above)
        callbackFunction = 0x00CBF518 (see above)

    CGUI::Draw (cgui.cpp:291)
        this = (unavailable)

    CGUIManager::Draw (guimanager.cpp:368)
        this = (unavailable)
        profile2gpu__ = 
            m_Name = 0x00DE359C -> "gui"

        profile2__ = 
            m_Name = 0x00DE359C (see above)


    Render (gamesetup.cpp:252)
        profile2__ = 
            m_Name = 0x00DCCDAC -> "render"

        profile2gpu__ = 
            m_Name = 0x00D92066 -> [8] { 139, 84 ('T'), 36 ('$'), 8, 141, 66 ('B'), 12, 139 }

        profile2__ = 
            m_Name = 0x00000002

        cursorName = { (unsupported basic_string<wchar_t,char_traits<wchar_t> >) }
        transform = 
            _11 = -411058995200.000000 (0xD2BF6A0D)
            _21 = 0.000000 (0x085A6350)
            _31 = 0.000000 (0x00000000)
            _41 = 0.000000 (0x00BB5E9F)
            _12 = 0.000000 (0x000000C1)
            _22 = 0.000000 (0x084A4080)
            _32 = 0.000000 (0x00001010)
            _42 = 0.000000 (0x001BF6A8)
            _13 = -411062403072.000000 (0xD2BF6A75)
            _23 = 0.000000 (0x085A6350)
            _33 = 0.000000 (0x0AEEBA00)
            _43 = 0.000000 (0x0AEEBA30)
            _14 = 0.000000 (0x00001012)
            _24 = 0.000000 (0x0132C319)
            _34 = 0.000000 (0x001BF71C)
            _44 = -411058995200.000000 (0xD2BF6A0D)
            _data = [16] 
                -411058995200.000000 (0xD2BF6A0D)
                0.000000 (0x085A6350)
                0.000000 (0x00000000)
                0.000000 (0x00BB5E9F)
                0.000000 (0x000000C1)
                0.000000 (0x084A4080)
                0.000000 (0x00001010)
                0.000000 (0x001BF6A8)
                -411062403072.000000 (0xD2BF6A75)
                0.000000 (0x085A6350)
                0.000000 (0x0AEEBA00)
                0.000000 (0x0AEEBA30) ...
            _data2d = [4] 
                [4] { -411058995200.000000 (0xD2BF6A0D), 0.000000 (0x085A6350), 0.000000 (0x00000000), 0.000000 (0x00BB5E9F) }
                [4] { 0.000000 (0x000000C1), 0.000000 (0x084A4080), 0.000000 (0x00001010), 0.000000 (0x001BF6A8) }
                [4] { -411062403072.000000 (0xD2BF6A75), 0.000000 (0x085A6350), 0.000000 (0x0AEEBA00), 0.000000 (0x0AEEBA30) }
                [4] { 0.000000 (0x00001012), 0.000000 (0x0132C319), 0.000000 (0x001BF71C), -411058995200.000000 (0xD2BF6A0D) }

        forceGL = (bool)0xBB

    Frame (main.cpp:419)
        realTimeSinceLastFrame = 0.033333 (0x3D088889)
        time = 1.0895e-14 (0x3D0888891249737E)
        profile2__ = 
            m_Name = 0x00DB4B68 -> "frame"

        profile2__ = 
            m_Name = 0x3D088889 -> (unavailable - internal error)

    RunGameOrAtlas (main.cpp:638)
        argc = 1 (0x00000001)
        argv = 0x00A60008 -> 0x00A60028 -> "D:\ps\binaries\system\pyrogenesis.exe"
        args = 
            m_Args = (unsupported vector<pair<CStr8,CStr8> >)
            m_Arg0 = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 92 ('\')

            m_ArgsWithoutName = (unsupported vector<CStr8 >)

        scriptEngine = 
            (Singleton<ScriptEngine>)
            m_Runtimes = (unsupported list<JSRuntime const * >)

        res = 1.57936e-314 (0x00000000BE892445)
        modsToInstall = (unsupported vector<Path >)
        replayFile = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 47 ('/')

        modPath = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        paths = 
            m_root = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 0

            m_rdata = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 21801

            m_gameData = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 16232

            m_userData = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 0

            m_config = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 0

            m_cache = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 1

            m_logs = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 63824


        replay = 
            m_Stream = 0x00000000

        builder = 
            m_VFS = (shared_ptr<IVFS>)
            m_Files = (unsupported vector<Path >)
            m_TempDir = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 1

            m_NumBaseMods = 1833296 (0x001BF950)

        paths = 
            m_root = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 20752

            m_rdata = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 33973

            m_gameData = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 63428

            m_userData = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 5931

            m_config = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 0

            m_cache = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 0

            m_logs = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 26604


        mod = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        zip = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        mods = (unsupported vector<CStr8 >)
        installedMods = (unsupported vector<CStr8 >)
        paths = 
            m_root = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 20752

            m_rdata = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 33973

            m_gameData = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 63428

            m_userData = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 5931

            m_config = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 0

            m_cache = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 0

            m_logs = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 26604


        installer = 
            m_VFS = (shared_ptr<IVFS>)
            m_ModsDir = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 0

            m_TempDir = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 0

            m_CacheDir = 
                path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
                separator = 11506

            m_InstalledMods = (unsupported vector<CStr8 >)


    SDL_main (main.cpp:684)
        argc = 1 (0x00000001)
        argv = 0x00A60008 (see above)

    main_utf8 (sdl_windows_main.c:126)
        argc = 1 (0x00000001)
        argv = 0x00A60008 (see above)

    wmain (sdl_windows_main.c:151)
        argc = 1 (0x00000001)
        wargv = 0x00412E00 -> 0x00412E08 -> 68 (0x0044)
        wenvp = 0x00416380 -> 52200 (0xCBE8)
        argv = 0x00A60008 (see above)
        retval = 0 (0x00000000)
        i = 1 (0x00000001)

    __scrt_common_main_seh (exe_common.inl:253)
        has_cctor = false
        is_nested = false

    CallStartupWithinTryBlock (wseh.cpp:365)
        ret = 13576352 (0x00CF28A0)

    RtlGetAppContainerNamedObjectPath (:0)

    RtlGetAppContainerNamedObjectPath (:0)


    errno = 0 (No error reported here)
    OS error = 0 (no error code was set)

  2. First feeling when watching the trailer on X019: slightly disappointed. Art direction felt a bit off. AOE2 DE did a better job with the new realistic models. AOE should be historic, stylised realism.

    But to be fair to the devs, nothing was going to live up to my massive expectations, being a massive AOE fanboy since 1997 (aged 10)!

    So I'll track this closely and hope for the best :)

    • Like 1
  3. 0 A.D. Development Report - Autumn 2017

    Wildfire Games, the international group of volunteers developing 0 A.D. : Empires Ascendant, is happy to present this monthly development report.
    If you want to find out more about the development of this open-source, cross-platform real-time strategy game or if you are interested in game development in general, it might provide an interesting read. 

    If you want to be part of this project, we urge you to post your application in our forums or just grab a task from our list of open tickets and get right to it. We are currently looking for Gameplay, AI, Sound and Graphics Programmers along with Animators and 3D & texture artists. You prefer to do something else than programming or drawing? Head to our forums and join our active community!

    2017 Indie of the Year Awards

    We made it to the final 100! Now we need your vote once more! Support the team and community by voting your-favourite-historical-real-time-strategy-game in-the-making to the top! The list of planned features is dwindling, and with the extra attention a prize brings, new contributors flock to our forums.

    Programming

    Itms, our project lead, worked on the build system with the update to premake5 and added VS 2015 support. Now he is showing SpiderMonkey some love... All on top of managing and directing the efforts of the team!

    mimo , our AI programmer, cleaned a lot of legacy code, as the first AI prototype was added many many alpha versions ago. He also removed the old tutorial AI and improved mod support.

    elexis has refactored the majority of the random map generator code, making it easier than ever before to create of new random map script, implemented tab controls for the options page and reviewed many patches by external contributors. The engine code become more fail-safe (by marking simulation states as read-only), simple (only one way to access JSON data globally) and versatile (implementing it in JavaScript instead of C++).

    bb has been busy coding the prerequisites for secondary attacks. Imagine your legionarii throwing their pila before drawing their gladii (just dropping some Latin like it's hot). He also worked on combining victory conditions (so one can play regicide + wonder victory for instance) and has been cleaning up templates for readability (among his work on the template viewer). He is also working on an updated user interface for the game setup, with more space for the options, so more can be added in the future.

    Vladislav has written some validation scripts and has had some experiments with Atlas and cinematics.

    fatherbushido has mostly worked on the attack component, both his own code and reviews of features like the destruction damage ( for instance fire ships exploding upon destruction) by others.

    wraitii has finished some of the pre-requirements of the unit motion rewrite (more fluid movements of units) and rebased the single player campaign patch, laying the groundwork for campaigns to be added in the future.

    Imarok has worked on the mouse wheel batch size (a feature that allows the player to specify the number of units to train by scrolling the mousewheel) and an anti-impersonation lobby patch, which further secures multiplayer lobby authentication. 

    s0600204 and FeXoR  have finished the patch that would make the random map generator wall-placer civ-agnostic. 

    leper has been auditing patches by other programmers, which is a crucial yet tedious task.

    As usual, community members played a key role in our open source development process!

    Sandarac has implemented an attack range visualization that lets you preview the attack capabilities before placing the buildings.

    fpre contributed a number of enrichments to the multiplayer user interface.

    Last but not least, temple has helped tremendously with a lot of patches and reviews! His contributions on an issue with the pathfinder, which was the cause of additional lag, were crucial! 

    Art & Sound

    LordGood and Stan have been working on new graphics for stables, workshops and archery ranges. Stan also committed a patch by Alexandermb which added animations for siege engines. Ever wondered how a zebu would fall lifeless to the ground? Programmers call this ZEBU DEATH ANIM, tells you something about them, right? Well, Stan has been struggling with his animation for quite some time. He has asked for a Field Study trip to South East Asia but our budget only stretches so far... after all: we're free-to-play. Stan also worked on the visual move order indicator.

    Omri Lahav, our ever talented composer-arranger-musician, has been working on another music track, and has acquired vocal recordings to enhance a current track! Head over to the 0 A.D. Bandcamp page and check out the 33 (so far!) original recordings for this project.

    0050.gif

    Judge the zebu death animation for yourself! 

    • Like 9
    • Thanks 3
  4. Hey Maleg

    As Lion.Kanzen already said: lag is a known problem for some time. Pathfinder is being rewritten as we speak so expect a major improvement in that area later in 2015.

  5. I tend to use females for all resource gathering, except wood, as food is plentiful (and wood scarce). I'm not sure this is intended.

    For realism/gameplay we could consider a kind of balance between females/males. For example the ratio should always be almost equal (otherwise negative effects/or just impossible to train male units when you have 5 females and an army of 40 men)...

    Feedback/small things:

    - Peacock has too much health. One or two hits from female should be able to finish them off.

    - Some roman soldiers (hastati or ...) don't carry resources (wood) when they run back to a gathering point

×
×
  • Create New...