GithubHelp home page GithubHelp logo

urho3d / urho3d Goto Github PK

View Code? Open in Web Editor NEW
4.5K 253.0 1.0K 167.64 MB

Game engine

Home Page: https://urho3d.github.io

License: MIT License

Shell 0.13% CMake 2.30% C++ 81.20% Objective-C 0.04% GLSL 1.38% Batchfile 0.05% HTML 0.09% MAXScript 0.78% HLSL 1.50% AngelScript 12.14% Kotlin 0.16% ActionScript 0.22%
game-engine urho3d open-source game-development angelscript cross-platform game gamedev 2d 3d

urho3d's Introduction

Активная работа над движком без сохранения обратной совместимости ведётся в форке Dviglo.


The founder of Urho3D (Lasse Öörni) is currently working on Turso3D.


Urho3D

CI/CD Coverity Scan Build Status

Urho3D is a free lightweight, cross-platform 2D and 3D game engine.

License

Licensed under the MIT license, see LICENSE for details.
Licenses for third-party libraries: licenses.
Credits: licenses/urho3d/credits.md.

Important Links

Project Authors

The founder of the project is Lasse Öörni. A huge contribution to the project was also made by Yao Wei Tjong, asterj and many other developers, a list of which can be viewed here.


Информация для русскоязычной аудитории

Urho3D - это легковесный, кроссплатформенный 2D и 3D игровой движок.

Лицензия

Urho3D распространяется под лицензией MIT.

Тексты лицензий:

Папку licenses удобно распространять вместе с игрой.

Важные ссылки:

Авторы проекта

Основателем проекта является Lasse Öörni. Огромный вклад в развитие проекта также внесли Yao Wei Tjong, asterj и многие другие разработчики, список которых можно посмотреть тут.

urho3d's People

Contributors

1vank avatar alexparlett avatar arnislielturks avatar aster2013 avatar cadaver avatar cosmy1 avatar darwikey avatar enhex avatar eugeneko avatar friesencr avatar hjmediastudios avatar iainmerrick avatar jtippetts avatar juj avatar konstantintomashevich avatar lumak avatar mike3d avatar monkeyfirst avatar ninjastone avatar orefkov avatar plasmadev5 avatar predatormf avatar rokups avatar sirnate0 avatar superwangkai avatar svifylabs avatar szamq avatar thecomet avatar urho3d-travis-ci avatar weitjong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

urho3d's Issues

Bump freetype?

I was noticing that our fonts don't render at the same quality as native desktop apps. I did a little research into freetype. It looks like adobe/google worked together and contributed to a new hinting engine within the last few months. I am kind of surprised adobe would lend their expertise for this since their algorithms are so good.

http://blogs.adobe.com/typblography/2013/05/adobe-contributes-cff-rasterizer-to-freetype.html
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/CHANGES

As of 2.5 the new hinting engine is the default.

  As  announced in  the  previous release,  the  old FreeType  CFF
  engine  is now  disabled by  default.  It  can be  conditionally
  compiled     by     defining     the     configuration     macro
  CFF_CONFIG_OPTION_OLD_ENGINE.

It may be worth a bump to improve the rendering quality of fonts. As a person who stares at fonts all day, I like nice sharp readable fonts :D

Thanks,
Chris

Problems running with raspbian

I've try to run Urho3D in a raspberry pi model b rev2 running raspbian.

Compilation is fine, but when I try to run any a demo script, out is:

$ ./Urho3D Data/LuaScripts/01_HelloWorld.lua 
[Sat Oct 12 17:38:59 2013] INFO: Opened log file Urho3D.log
[Sat Oct 12 17:38:59 2013] INFO: Added resource path /home/pi/repositories/Urho3D/Bin/CoreData/
[Sat Oct 12 17:38:59 2013] INFO: Added resource path /home/pi/repositories/Urho3D/Bin/Data/
[Sat Oct 12 17:38:59 2013] ERROR: Could not open window

I added a LOGERROR with SDL_GetError after the code that show this message in Source/Engine/Graphics/OpenGL/OGLGraphics.cpp. Now the out show:

....
[Sat Oct 12 17:38:59 2013] ERROR: Could not load OpenGL ES/EGL library

ldd not show link with libEGL

$ ldd Urho3D
    /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0xb6fa1000)
    libbcm_host.so => /opt/vc/lib/libbcm_host.so (0xb6f87000)
    libGLESv2.so.2 => /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 (0xb6f6e000)
    libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6f63000)
    librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6f54000)
    libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6f35000)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6e68000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6df7000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6dcf000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6ca0000)
    libvcos.so => /opt/vc/lib/libvcos.so (0xb6c8d000)
    libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0xb6c7f000)
    libglapi.so.0 => /usr/lib/arm-linux-gnueabihf/libglapi.so.0 (0xb6c58000)
    libdrm.so.2 => /usr/lib/arm-linux-gnueabihf/libdrm.so.2 (0xb6c46000)

I checked using strace that sdl try to load /opt/vc/lib/libEGL.so

... more out ...
open("/opt/vc/lib/libEGL.so", O_RDONLY) = 7
read(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\4i\0\0004\0\0\0"..., 512) = 512
lseek(7, 170600, SEEK_SET)              = 170600
read(7, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120
lseek(7, 170227, SEEK_SET)              = 170227
read(7, "A?\0\0\0aeabi\0\0015\0\0\0\5ARM1176JZF-S\0\6\7"..., 64) = 64
fstat64(7, {st_mode=S_IFREG|0644, st_size=204116, ...}) = 0
mmap2(NULL, 203908, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 7, 0) = 0xb4b7d000
mprotect(0xb4ba6000, 32768, PROT_NONE)  = 0
mmap2(0xb4bae000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0x29) = 0xb4bae000
close(7)                                = 0
mprotect(0xb4b7d000, 167936, PROT_READ|PROT_WRITE) = 0
munmap(0xb4b7d000, 203908)              = 0
gettimeofday({1381599563, 400519}, NULL) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
write(2, "[Sat Oct 12 17:39:23 2013] ERROR"..., 56[Sat Oct 12 17:39:23 2013] ERROR: Could not open window
... more out ...

I review Source/ThirdParty/SDL/src/video/raspi/SDL_raspiopengles.c and check that libEGL.so have the symbol eglChooseConfig

$ nm /opt/vc/lib/libEGL.so | grep eglChoose
00008984 T eglChooseConfig

My last experiment is use this precompiled version of SDL. I replace libSDL.a in Build/ThirdParty/SDL with that. Recompile and now when I try to run an example the out is:

$ ./Urho3D Data/LuaScripts/01_HelloWorld.lua 
[Sat Oct 12 17:56:16 2013] INFO: Opened log file Urho3D.log
[Sat Oct 12 17:56:16 2013] INFO: Added resource path /home/pi/repositories/Urho3D/Bin/CoreData/
[Sat Oct 12 17:56:16 2013] INFO: Added resource path /home/pi/repositories/Urho3D/Bin/Data/
[Sat Oct 12 17:56:16 2013] INFO: Set screen mode 1280x720 fullscreen
[Sat Oct 12 17:56:16 2013] INFO: Initialized input
[Sat Oct 12 17:56:16 2013] INFO: Initialized user interface
[Sat Oct 12 17:56:16 2013] ERROR: Failed to create vertex buffer
[Sat Oct 12 17:56:16 2013] ERROR: Failed to create index buffer
[Sat Oct 12 17:56:16 2013] ERROR: Failed to create vertex buffer
[Sat Oct 12 17:56:16 2013] ERROR: Failed to create index buffer
[Sat Oct 12 17:56:16 2013] ERROR: Failed to create vertex buffer
[Sat Oct 12 17:56:16 2013] ERROR: Failed to create index buffer
[Sat Oct 12 17:56:16 2013] INFO: Initialized renderer
[Sat Oct 12 17:56:16 2013] INFO: Set audio mode 44100 Hz stereo interpolated
[Sat Oct 12 17:56:16 2013] ERROR: Could not load texture from image resource
[Sat Oct 12 17:56:16 2013] ERROR: Could not load texture from image resource
[last line repeated forever]

And only a blank screen show.

I'm using that revision. First, I try with 1.3 from here but when I execute cmake_gcc.sh fail with this out:

$ sh cmake_gcc.sh -DENABLE_LUA=1
cmake_gcc.sh: 116: cmake_gcc.sh: [[: not found
cmake_gcc.sh: 119: cmake_gcc.sh: [[: not found
-e 
Native build
===============================================================================
-- The C compiler identification is GNU 4.6.3
-- The CXX compiler identification is GNU 4.6.3
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file stdint.h
-- Looking for include file stdint.h - not found.
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (MESSAGE):
  Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:288 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-2.8/Modules/FindOpenGL.cmake:153 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  ThirdParty/SDL/CMakeLists.txt:48 (find_package)


-- Configuring incomplete, errors occurred!

Thanks for your support.

Encryption option for PAK files

I just thought that PAK files should have some kind of protection option set like Rijndael encryption to secure content and at least prevent forms of hacking like getting into exposed source codes or grabbing content.

Suggestion:
http://www.cryptopp.com/

kNet does not compile with MinGW 4.8.1

The kNet which Urho3D uses, has some problems compiling with MinGW 4.8.1, with MinGW 4.7.2 it works fine.
I tried also updating kNet, but it needs BOOST, which is not included in Urho3D.

[ 64%] Building CXX object ThirdParty/kNet/CMakeFiles/kNet.dir/src/FragmentedTransferManager.cpp.obj
In file included from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/win32/WS2Include.h:49:0,
                 from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/Socket.h:22,
                 from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/MessageConnection.h:29,
                 from D:\GitHub\Urho3D\Source\ThirdParty\kNet\src\FragmentedTransferManager.cpp:26:
d:\mingw472full\include\ws2tcpip.h:38:2: error: #error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead."
 #error "ws2tcpip.h is not compatible with winsock.h. Include winsock2.h instead."
  ^
In file included from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/win32/WS2Include.h:49:0,
                 from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/Socket.h:22,
                 from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/MessageConnection.h:29,
                 from D:\GitHub\Urho3D\Source\ThirdParty\kNet\src\FragmentedTransferManager.cpp:26:
d:\mingw472full\include\ws2tcpip.h:147:8: error: redefinition of 'struct ip_mreq'
 struct ip_mreq {
        ^
In file included from d:\mingw472full\include\windows.h:93:0,
                 from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/Clock.h:20,
                 from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/PolledTimer.h:19,
                 from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/NetworkSimulator.h:20,
                 from D:/GitHub/Urho3D/Source/ThirdParty/kNet/include/kNet/MessageConnection.h:26,
                 from D:\GitHub\Urho3D\Source\ThirdParty\kNet\src\FragmentedTransferManager.cpp:26:

Differences with clipped & non clipped horizontal aligned ui elements

I am getting a difference in behavior with alignment with ui elements.

urho3d_editor_not-clipped

urho3d_editor_-_clipped

You can see that once the element starts clipping the horizontal align works as expected.

This is the code that creates the text with a button in it.

void CreateFileList(BrowserFile@ file)
{
    Text@ fileText = Text();
    browserFileList.InsertItem(browserFileList.numItems, fileText);
    fileText.AddChild(fileText);
    fileText.style = "FileSelectorListText";
    fileText.text = file.fullname;
    fileText.name = file.resourceKey;
    fileText.layoutMode = LM_HORIZONTAL;
    fileText.vars[TEXT_VAR_FILE_ID] = file.id;
    fileText.vars[TEXT_VAR_DIR_ID] = file.dir.id;
    fileText.vars[TEXT_VAR_BROWSER_TYPE] = file.resourceType;
    if (file.resourceType > 0)
        fileText.dragDropMode = DD_SOURCE;

    Button@ button = Button();
    fileText.AddChild(button);
    button.style = AUTO_STYLE;
    button.SetFixedSize(36, ATTR_HEIGHT - 2);
    button.horizontalAlignment = HA_RIGHT;

    Text@ buttonText = Text();
    button.AddChild(buttonText);
    buttonText.style = "EditorAttributeText";
    buttonText.SetFont(cache.GetResource("Font", "Fonts/Anonymous Pro.ttf"), 9);
    buttonText.SetAlignment(HA_CENTER, VA_CENTER);
    buttonText.text = "Edit";
}

A full working example can be found on my resource browser branch. https://github.com/friesencr/Urho3D/tree/resource_browser

Compiling with Urho3D as Library- Undefined References

In compiling an application using Urho3D (64-bit flavor, static library) linked as defined in the documentation, I get several errors of undefined references to pthread, OpenGL, and other 3rd-party libraries in the link stage, as shown below. I am using the latest revision of Urho3D.

System: 64-bit Ubuntu 13.04

Linking CXX executable MyApplication
/.../Urho3D/Lib/libUrho3D.a(Network.cpp.o): In function `kNet::Network::Network()':
Network.cpp:(.text+0x1ffe): undefined reference to `pthread_mutexattr_init'
Network.cpp:(.text+0x200b): undefined reference to `pthread_mutexattr_settype'
/.../Urho3D/Lib/libUrho3D.a(NetworkServer.cpp.o): In function `kNet::NetworkServer::NetworkServer(kNet::Network*, std::vector<kNet::Socket*, std::allocator<kNet::Socket*> >)':
NetworkServer.cpp:(.text+0x13a9): undefined reference to `pthread_mutexattr_init'
NetworkServer.cpp:(.text+0x13b6): undefined reference to `pthread_mutexattr_settype'
/.../Urho3D/Lib/libUrho3D.a(MessageConnection.cpp.o): In function `kNet::MessageConnection::MessageConnection(kNet::Network*, kNet::NetworkServer*, kNet::Socket*, kNet::ConnectionState)':
MessageConnection.cpp:(.text+0x41bb): undefined reference to `pthread_mutexattr_init'
MessageConnection.cpp:(.text+0x41c8): undefined reference to `pthread_mutexattr_settype'
MessageConnection.cpp:(.text+0x42a8): undefined reference to `pthread_mutexattr_init'
MessageConnection.cpp:(.text+0x42b7): undefined reference to `pthread_mutexattr_settype'
/.../Urho3D/Lib/libUrho3D.a(NetworkLogging.cpp.o): In function `_GLOBAL__sub_I__ZN4kNet29TimeOutputDebugStringVariadicEjPKciS1_z':
NetworkLogging.cpp:(.text.startup+0x54): undefined reference to `pthread_mutexattr_init'
NetworkLogging.cpp:(.text.startup+0x61): undefined reference to `pthread_mutexattr_settype'
/.../Urho3D/Lib/libUrho3D.a(OGLTexture2D.cpp.o): In function `Urho3D::Texture2D::~Texture2D()':
OGLTexture2D.cpp:(.text+0x2a2): undefined reference to `glDeleteTextures'
/.../Urho3D/Lib/libUrho3D.a(OGLTexture2D.cpp.o): In function `Urho3D::Texture2D::Release()':
OGLTexture2D.cpp:(.text+0x7aa): undefined reference to `glDeleteTextures'
/.../Urho3D/Lib/libUrho3D.a(OGLTexture2D.cpp.o): In function `Urho3D::Texture2D::Create()':
OGLTexture2D.cpp:(.text+0xc7a): undefined reference to `glGenTextures'
OGLTexture2D.cpp:(.text+0xcfb): undefined reference to `glTexParameteri'
OGLTexture2D.cpp:(.text+0xd0e): undefined reference to `glTexParameteri'
OGLTexture2D.cpp:(.text+0xec1): undefined reference to `glGetError'
OGLTexture2D.cpp:(.text+0xee9): undefined reference to `glTexImage2D'
OGLTexture2D.cpp:(.text+0xeee): undefined reference to `glGetError'
/.../Urho3D/Lib/libUrho3D.a(OGLTexture2D.cpp.o): In function `Urho3D::Texture2D::SetData(unsigned int, int, int, int, int, void const*)':
OGLTexture2D.cpp:(.text+0x1a76): undefined reference to `glTexImage2D'
OGLTexture2D.cpp:(.text+0x1db4): undefined reference to `glTexSubImage2D'
/.../Urho3D/Lib/libUrho3D.a(OGLTexture2D.cpp.o): In function `Urho3D::Texture2D::GetData(unsigned int, void*) const':
OGLTexture2D.cpp:(.text+0x2011): undefined reference to `glGetTexImage'
/.../Urho3D/Lib/libUrho3D.a(OGLTextureCube.cpp.o): In function `Urho3D::TextureCube::Release() [clone .part.17]':
OGLTextureCube.cpp:(.text+0x33f): undefined reference to `glDeleteTextures'
/.../Urho3D/Lib/libUrho3D.a(OGLTextureCube.cpp.o): In function `Urho3D::TextureCube::Create()':
OGLTextureCube.cpp:(.text+0xa6a): undefined reference to `glGenTextures'
OGLTextureCube.cpp:(.text+0xb0f): undefined reference to `glTexParameteri'
OGLTextureCube.cpp:(.text+0xb22): undefined reference to `glTexParameteri'
OGLTextureCube.cpp:(.text+0xb69): undefined reference to `glGetError'
OGLTextureCube.cpp:(.text+0xb94): undefined reference to `glTexImage2D'
OGLTextureCube.cpp:(.text+0xb99): undefined reference to `glGetError'
OGLTextureCube.cpp:(.text+0xbca): undefined reference to `glTexImage2D'
OGLTextureCube.cpp:(.text+0xbcf): undefined reference to `glGetError'
OGLTextureCube.cpp:(.text+0xc00): undefined reference to `glTexImage2D'
OGLTextureCube.cpp:(.text+0xc05): undefined reference to `glGetError'
OGLTextureCube.cpp:(.text+0xc36): undefined reference to `glTexImage2D'
OGLTextureCube.cpp:(.text+0xc3b): undefined reference to `glGetError'
OGLTextureCube.cpp:(.text+0xc6c): undefined reference to `glTexImage2D'
OGLTextureCube.cpp:(.text+0xc71): undefined reference to `glGetError'
OGLTextureCube.cpp:(.text+0xca2): undefined reference to `glTexImage2D'
OGLTextureCube.cpp:(.text+0xca7): undefined reference to `glGetError'
/.../Urho3D/Lib/libUrho3D.a(OGLTextureCube.cpp.o): In function `Urho3D::TextureCube::SetData(Urho3D::CubeMapFace, unsigned int, int, int, int, int, void const*)':
OGLTextureCube.cpp:(.text+0x1d9d): undefined reference to `glTexImage2D'
OGLTextureCube.cpp:(.text+0x20f7): undefined reference to `glTexSubImage2D'
/.../Urho3D/Lib/libUrho3D.a(OGLTextureCube.cpp.o): In function `Urho3D::TextureCube::GetData(Urho3D::CubeMapFace, unsigned int, void*) const':
OGLTextureCube.cpp:(.text+0x2365): undefined reference to `glGetTexImage'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetTexture(unsigned int, Urho3D::Texture*) [clone .part.36]':
OGLGraphics.cpp:(.text+0xbc): undefined reference to `glEnable'
OGLGraphics.cpp:(.text+0xcf): undefined reference to `glBindTexture'
OGLGraphics.cpp:(.text+0x111): undefined reference to `glDisable'
OGLGraphics.cpp:(.text+0x154): undefined reference to `glBindTexture'
OGLGraphics.cpp:(.text+0x193): undefined reference to `glBindTexture'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::CheckExtension(Urho3D::String&, Urho3D::String const&)':
OGLGraphics.cpp:(.text+0x256): undefined reference to `glGetString'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetTextureForUpdate(Urho3D::Texture*)':
OGLGraphics.cpp:(.text+0x225e): undefined reference to `glBindTexture'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetBlendMode(Urho3D::BlendMode)':
OGLGraphics.cpp:(.text+0x2b55): undefined reference to `glEnable'
OGLGraphics.cpp:(.text+0x2b6b): undefined reference to `glBlendFunc'
OGLGraphics.cpp:(.text+0x2b89): undefined reference to `glDisable'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetColorWrite(bool)':
OGLGraphics.cpp:(.text+0x2bba): undefined reference to `glColorMask'
OGLGraphics.cpp:(.text+0x2bed): undefined reference to `glColorMask'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetCullMode(Urho3D::CullMode)':
OGLGraphics.cpp:(.text+0x2c25): undefined reference to `glEnable'
OGLGraphics.cpp:(.text+0x2c39): undefined reference to `glCullFace'
OGLGraphics.cpp:(.text+0x2c59): undefined reference to `glDisable'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetDepthBias(float, float)':
OGLGraphics.cpp:(.text+0x2c99): undefined reference to `glDisable'
OGLGraphics.cpp:(.text+0x2ce2): undefined reference to `glEnable'
OGLGraphics.cpp:(.text+0x2cfe): undefined reference to `glPolygonOffset'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetDepthTest(Urho3D::CompareMode)':
OGLGraphics.cpp:(.text+0x2d36): undefined reference to `glDepthFunc'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetDepthWrite(bool)':
OGLGraphics.cpp:(.text+0x2d71): undefined reference to `glDepthMask'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetFillMode(Urho3D::FillMode)':
OGLGraphics.cpp:(.text+0x2dbb): undefined reference to `glPolygonMode'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetScissorTest(bool, Urho3D::Rect const&, bool)':
OGLGraphics.cpp:(.text+0x2e49): undefined reference to `glDisable'
OGLGraphics.cpp:(.text+0x2fea): undefined reference to `glScissor'
OGLGraphics.cpp:(.text+0x3026): undefined reference to `glEnable'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetScissorTest(bool, Urho3D::IntRect const&)':
OGLGraphics.cpp:(.text+0x31e0): undefined reference to `glEnable'
OGLGraphics.cpp:(.text+0x323e): undefined reference to `glDisable'
OGLGraphics.cpp:(.text+0x3280): undefined reference to `glScissor'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetStencilTest(bool, Urho3D::CompareMode, Urho3D::StencilOp, Urho3D::StencilOp, Urho3D::StencilOp, unsigned int, unsigned int, unsigned int)':
OGLGraphics.cpp:(.text+0x339b): undefined reference to `glDisable'
OGLGraphics.cpp:(.text+0x33cf): undefined reference to `glStencilFunc'
OGLGraphics.cpp:(.text+0x3400): undefined reference to `glStencilMask'
OGLGraphics.cpp:(.text+0x3437): undefined reference to `glStencilOp'
OGLGraphics.cpp:(.text+0x3479): undefined reference to `glEnable'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::CheckFeatureSupport(Urho3D::String&)':
OGLGraphics.cpp:(.text+0x4500): undefined reference to `glGetIntegerv'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::ResetCachedState()':
OGLGraphics.cpp:(.text+0x47d7): undefined reference to `glEnable'
OGLGraphics.cpp:(.text+0x47ea): undefined reference to `glEnable'
OGLGraphics.cpp:(.text+0x47f4): undefined reference to `glCullFace'
OGLGraphics.cpp:(.text+0x4811): undefined reference to `glDepthFunc'
OGLGraphics.cpp:(.text+0x482e): undefined reference to `glDepthMask'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::CommitFramebuffer()':
OGLGraphics.cpp:(.text+0x7b68): undefined reference to `glEnable'
OGLGraphics.cpp:(.text+0x7b81): undefined reference to `glDisable'
OGLGraphics.cpp:(.text+0x7c03): undefined reference to `glReadBuffer'
OGLGraphics.cpp:(.text+0x7c44): undefined reference to `glBindTexture'
OGLGraphics.cpp:(.text+0x7c9c): undefined reference to `glBindTexture'
OGLGraphics.cpp:(.text+0x7cfc): undefined reference to `glBindTexture'
OGLGraphics.cpp:(.text+0x7d5c): undefined reference to `glBindTexture'
OGLGraphics.cpp:(.text+0x7db3): undefined reference to `glDrawBuffer'
OGLGraphics.cpp:(.text+0x7f1c): undefined reference to `glBindTexture'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetViewport(Urho3D::IntRect const&)':
OGLGraphics.cpp:(.text+0x83c4): undefined reference to `glViewport'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::TakeScreenShot(Urho3D::Image&)':
OGLGraphics.cpp:(.text+0x86f6): undefined reference to `glReadPixels'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::ResolveToTexture(Urho3D::Texture2D*, Urho3D::IntRect const&)':
OGLGraphics.cpp:(.text+0x8dd8): undefined reference to `glBindTexture'
OGLGraphics.cpp:(.text+0x8e08): undefined reference to `glCopyTexSubImage2D'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::Draw(Urho3D::PrimitiveType, unsigned int, unsigned int, unsigned int, unsigned int)':
OGLGraphics.cpp:(.text+0x91a9): undefined reference to `glDrawElements'
OGLGraphics.cpp:(.text+0x920c): undefined reference to `glDrawElements'
OGLGraphics.cpp:(.text+0x924a): undefined reference to `glDrawElements'
OGLGraphics.cpp:(.text+0x9262): undefined reference to `glDrawElements'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::Draw(Urho3D::PrimitiveType, unsigned int, unsigned int)':
OGLGraphics.cpp:(.text+0x92b1): undefined reference to `glDrawArrays'
OGLGraphics.cpp:(.text+0x92f0): undefined reference to `glDrawArrays'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::Clear(unsigned int, Urho3D::Color const&, float, unsigned int)':
OGLGraphics.cpp:(.text+0x93b4): undefined reference to `glStencilMask'
OGLGraphics.cpp:(.text+0x945c): undefined reference to `glClear'
OGLGraphics.cpp:(.text+0x948b): undefined reference to `glColorMask'
OGLGraphics.cpp:(.text+0x94a4): undefined reference to `glDepthMask'
OGLGraphics.cpp:(.text+0x94bf): undefined reference to `glStencilMask'
OGLGraphics.cpp:(.text+0x9505): undefined reference to `glColorMask'
OGLGraphics.cpp:(.text+0x9571): undefined reference to `glClearColor'
OGLGraphics.cpp:(.text+0x958f): undefined reference to `glClearDepth'
OGLGraphics.cpp:(.text+0x95a7): undefined reference to `glClearStencil'
OGLGraphics.cpp:(.text+0x95cd): undefined reference to `glDepthMask'
OGLGraphics.cpp:(.text+0x960f): undefined reference to `glColorMask'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::SetMode(int, int, bool, bool, bool, bool, int)':
OGLGraphics.cpp:(.text+0x99aa): undefined reference to `glGetIntegerv'
OGLGraphics.cpp:(.text+0x9f64): undefined reference to `glPixelStorei'
OGLGraphics.cpp:(.text+0x9f73): undefined reference to `glPixelStorei'
/.../Urho3D/Lib/libUrho3D.a(OGLGraphics.cpp.o): In function `Urho3D::Graphics::BeginFrame()':
OGLGraphics.cpp:(.text+0xa626): undefined reference to `glColorMask'
OGLGraphics.cpp:(.text+0xa640): undefined reference to `glDepthMask'
/.../Urho3D/Lib/libUrho3D.a(NetworkWorkerThread.cpp.o): In function `kNet::NetworkWorkerThread::NetworkWorkerThread()':
NetworkWorkerThread.cpp:(.text+0x82): undefined reference to `pthread_mutexattr_init'
NetworkWorkerThread.cpp:(.text+0x93): undefined reference to `pthread_mutexattr_settype'
NetworkWorkerThread.cpp:(.text+0xc0): undefined reference to `pthread_mutexattr_init'
NetworkWorkerThread.cpp:(.text+0xcf): undefined reference to `pthread_mutexattr_settype'
/.../Urho3D/Lib/libUrho3D.a(UnixThread.cpp.o): In function `kNet::Thread::Stop()':
UnixThread.cpp:(.text+0xd9): undefined reference to `pthread_join'
/.../Urho3D/Lib/libUrho3D.a(UnixThread.cpp.o): In function `kNet::Thread::StartThread()':
UnixThread.cpp:(.text+0x26f): undefined reference to `pthread_create'
/.../Urho3D/Lib/libUrho3D.a(Mutex.cpp.o): In function `Urho3D::Mutex::Mutex()':
Mutex.cpp:(.text+0x36): undefined reference to `pthread_mutexattr_init'
Mutex.cpp:(.text+0x43): undefined reference to `pthread_mutexattr_settype'
/.../Urho3D/Lib/libUrho3D.a(OGLTexture.cpp.o): In function `Urho3D::Texture::UpdateParameters()':
OGLTexture.cpp:(.text+0x4cc): undefined reference to `glTexParameteri'
OGLTexture.cpp:(.text+0x4e7): undefined reference to `glTexParameteri'
OGLTexture.cpp:(.text+0x502): undefined reference to `glTexParameteri'
OGLTexture.cpp:(.text+0x56c): undefined reference to `glTexParameterf'
OGLTexture.cpp:(.text+0x581): undefined reference to `glTexParameteri'
OGLTexture.cpp:(.text+0x595): undefined reference to `glTexParameterfv'
OGLTexture.cpp:(.text+0x5ab): undefined reference to `glTexParameteri'
OGLTexture.cpp:(.text+0x5bd): undefined reference to `glTexParameteri'
OGLTexture.cpp:(.text+0x5e0): undefined reference to `glTexParameteri'
OGLTexture.cpp:(.text+0x5f2): undefined reference to `glTexParameteri'
OGLTexture.cpp:(.text+0x650): undefined reference to `glTexParameteri'
/.../Urho3D/Lib/libUrho3D.a(OGLTexture.cpp.o):OGLTexture.cpp:(.text+0x676): more undefined references to `glTexParameteri' follow
/.../Urho3D/Lib/libUrho3D.a(SDL_sysloadso.c.o): In function `SDL_LoadObject':
SDL_sysloadso.c:(.text+0x17): undefined reference to `dlopen'
SDL_sysloadso.c:(.text+0x1f): undefined reference to `dlerror'
/.../Urho3D/Lib/libUrho3D.a(SDL_sysloadso.c.o): In function `SDL_LoadFunction':
SDL_sysloadso.c:(.text+0x8a): undefined reference to `dlsym'
SDL_sysloadso.c:(.text+0xf6): undefined reference to `dlsym'
SDL_sysloadso.c:(.text+0x103): undefined reference to `dlerror'
/.../Urho3D/Lib/libUrho3D.a(SDL_sysloadso.c.o): In function `SDL_UnloadObject':
SDL_sysloadso.c:(.text+0x136): undefined reference to `dlclose'
/.../Urho3D/Lib/libUrho3D.a(SDL_systls.c.o): In function `SDL_SYS_GetTLSData':
SDL_systls.c:(.text+0x1e): undefined reference to `pthread_getspecific'
SDL_systls.c:(.text+0x80): undefined reference to `pthread_key_create'
/.../Urho3D/Lib/libUrho3D.a(SDL_systls.c.o): In function `SDL_SYS_SetTLSData':
SDL_systls.c:(.text+0xb8): undefined reference to `pthread_setspecific'
/.../Urho3D/Lib/libUrho3D.a(SDL_sysmutex.c.o): In function `SDL_CreateMutex':
SDL_sysmutex.c:(.text+0x30): undefined reference to `pthread_mutexattr_init'
SDL_sysmutex.c:(.text+0x3d): undefined reference to `pthread_mutexattr_settype'
/.../Urho3D/Lib/libUrho3D.a(SDL_sysmutex.c.o): In function `SDL_TryLockMutex':
SDL_sysmutex.c:(.text+0x11a): undefined reference to `pthread_mutex_trylock'
/.../Urho3D/Lib/libUrho3D.a(SDL_systhread.c.o): In function `SDL_SYS_CreateThread':
SDL_systhread.c:(.text+0x5c): undefined reference to `pthread_create'
SDL_systhread.c:(.text+0xa8): undefined reference to `dlsym'
/.../Urho3D/Lib/libUrho3D.a(SDL_systhread.c.o): In function `SDL_SYS_SetupThread':
SDL_systhread.c:(.text+0x12f): undefined reference to `pthread_sigmask'
/.../Urho3D/Lib/libUrho3D.a(SDL_systhread.c.o): In function `SDL_SYS_WaitThread':
SDL_systhread.c:(.text+0x1b7): undefined reference to `pthread_join'
/.../Urho3D/Lib/libUrho3D.a(SDL_syssem.c.o): In function `SDL_CreateSemaphore':
SDL_syssem.c:(.text+0x2a): undefined reference to `sem_init'
/.../Urho3D/Lib/libUrho3D.a(SDL_syssem.c.o): In function `SDL_DestroySemaphore':
SDL_syssem.c:(.text+0x7a): undefined reference to `sem_destroy'
/.../Urho3D/Lib/libUrho3D.a(SDL_syssem.c.o): In function `SDL_SemTryWait':
SDL_syssem.c:(.text+0xaa): undefined reference to `sem_trywait'
/.../Urho3D/Lib/libUrho3D.a(SDL_syssem.c.o): In function `SDL_SemWait':
SDL_syssem.c:(.text+0xda): undefined reference to `sem_wait'
/.../Urho3D/Lib/libUrho3D.a(SDL_syssem.c.o): In function `SDL_SemWaitTimeout':
SDL_syssem.c:(.text+0x199): undefined reference to `sem_timedwait'
SDL_syssem.c:(.text+0x221): undefined reference to `sem_trywait'
SDL_syssem.c:(.text+0x239): undefined reference to `sem_wait'
/.../Urho3D/Lib/libUrho3D.a(SDL_syssem.c.o): In function `SDL_SemValue':
SDL_syssem.c:(.text+0x297): undefined reference to `sem_getvalue'
/.../Urho3D/Lib/libUrho3D.a(SDL_syssem.c.o): In function `SDL_SemPost':
SDL_syssem.c:(.text+0x2b7): undefined reference to `sem_post'
/.../Urho3D/Lib/libUrho3D.a(glew.c.o): In function `_glewInit_GL_VERSION_1_3':
glew.c:(.text+0x26a): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x284): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x29e): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x2b8): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x2d2): undefined reference to `glXGetProcAddressARB'
/.../Urho3D/Lib/libUrho3D.a(glew.c.o):glew.c:(.text+0x2ec): more undefined references to `glXGetProcAddressARB' follow
/.../Urho3D/Lib/libUrho3D.a(glew.c.o): In function `glewGetExtension':
glew.c:(.text+0x13daa): undefined reference to `glGetString'
/.../Urho3D/Lib/libUrho3D.a(glew.c.o): In function `glxewGetExtension':
glew.c:(.text+0x13e0b): undefined reference to `glXGetClientString'
/.../Urho3D/Lib/libUrho3D.a(glew.c.o): In function `glxewContextInit':
glew.c:(.text+0x13e5e): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x13ea3): undefined reference to `glXQueryVersion'
glew.c:(.text+0x13ecc): undefined reference to `glXGetClientString'
glew.c:(.text+0x13f66): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x1454a): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x14564): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x145a6): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x145c0): undefined reference to `glXGetProcAddressARB'
/.../Urho3D/Lib/libUrho3D.a(glew.c.o):glew.c:(.text+0x145da): more undefined references to `glXGetProcAddressARB' follow
/.../Urho3D/Lib/libUrho3D.a(glew.c.o): In function `glewInit':
glew.c:(.text+0x15e6a): undefined reference to `glGetString'
glew.c:(.text+0x160b4): undefined reference to `glGetString'
glew.c:(.text+0x16101): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x16117): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x1612d): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x16147): undefined reference to `glXGetProcAddressARB'
glew.c:(.text+0x16160): undefined reference to `glXGetProcAddressARB'
/.../Urho3D/Lib/libUrho3D.a(glew.c.o):glew.c:(.text+0x16171): more undefined references to `glXGetProcAddressARB' follow
/.../Urho3D/Lib/libUrho3D.a(civetweb.c.o): In function `master_thread':
civetweb.c:(.text+0x288a): undefined reference to `pthread_join'
/.../Urho3D/Lib/libUrho3D.a(civetweb.c.o): In function `mg_start_thread':
civetweb.c:(.text+0x36e6): undefined reference to `pthread_create'
/.../Urho3D/Lib/libUrho3D.a(civetweb.c.o): In function `mg_stop':
civetweb.c:(.text+0xc41e): undefined reference to `pthread_join'
/.../Urho3D/Lib/libUrho3D.a(civetweb.c.o): In function `mg_start':
civetweb.c:(.text+0xc75c): undefined reference to `dlopen'
civetweb.c:(.text+0xc794): undefined reference to `dlsym'
civetweb.c:(.text+0xc7c7): undefined reference to `dlclose'
civetweb.c:(.text+0xc7db): undefined reference to `dlopen'
civetweb.c:(.text+0xc820): undefined reference to `dlsym'
civetweb.c:(.text+0xc850): undefined reference to `dlclose'
civetweb.c:(.text+0xd1ef): undefined reference to `pthread_create'
civetweb.c:(.text+0xd279): undefined reference to `pthread_create'
civetweb.c:(.text+0xd315): undefined reference to `pthread_create'
/.../Urho3D/Lib/libUrho3D.a(SDL_x11opengl.c.o): In function `X11_GL_InitExtensions':
SDL_x11opengl.c:(.text+0x655): undefined reference to `dlsym'
SDL_x11opengl.c:(.text+0xa4d): undefined reference to `dlsym'
SDL_x11opengl.c:(.text+0xa63): undefined reference to `dlsym'
SDL_x11opengl.c:(.text+0xa7d): undefined reference to `dlsym'
SDL_x11opengl.c:(.text+0xa93): undefined reference to `dlsym'
/.../Urho3D/Lib/libUrho3D.a(SDL_x11opengl.c.o): In function `X11_GL_LoadLibrary':
SDL_x11opengl.c:(.text+0xb5a): undefined reference to `dlopen'
SDL_x11opengl.c:(.text+0xbb4): undefined reference to `dlsym'
SDL_x11opengl.c:(.text+0xbcc): undefined reference to `dlsym'
SDL_x11opengl.c:(.text+0xd0d): undefined reference to `dlsym'
SDL_x11opengl.c:(.text+0xd2d): undefined reference to `dlsym'
SDL_x11opengl.c:(.text+0xd4d): undefined reference to `dlsym'
/.../Urho3D/Lib/libUrho3D.a(SDL_x11opengl.c.o):SDL_x11opengl.c:(.text+0xd6d): more undefined references to `dlsym' follow
/.../Urho3D/Lib/libUrho3D.a(SDL_x11opengl.c.o): In function `X11_GL_LoadLibrary':
SDL_x11opengl.c:(.text+0xe0f): undefined reference to `dlerror'
/.../Urho3D/Lib/libUrho3D.a(SDL_x11opengl.c.o): In function `X11_GL_GetProcAddress':
SDL_x11opengl.c:(.text+0x70): undefined reference to `dlsym'
/.../Urho3D/Lib/libUrho3D.a(Thread.cpp.o): In function `Urho3D::Thread::~Thread()':
Thread.cpp:(.text+0x4c): undefined reference to `pthread_join'
/.../Urho3D/Lib/libUrho3D.a(Thread.cpp.o): In function `Urho3D::Thread::~Thread()':
Thread.cpp:(.text+0x9c): undefined reference to `pthread_join'
/.../Urho3D/Lib/libUrho3D.a(Thread.cpp.o): In function `Urho3D::Thread::Run()':
Thread.cpp:(.text+0x15c): undefined reference to `pthread_create'
/.../Urho3D/Lib/libUrho3D.a(Thread.cpp.o): In function `Urho3D::Thread::Stop()':
Thread.cpp:(.text+0x195): undefined reference to `pthread_join'
/.../Urho3D/Lib/libUrho3D.a(Thread.cpp.o): In function `Urho3D::Thread::SetPriority(int)':
Thread.cpp:(.text+0x1cd): undefined reference to `pthread_setschedprio'
collect2: error: ld returned 1 exit status
make[2]: *** [MyApplication] Error 1
make[1]: *** [CMakeFiles/MyApplication.dir/all] Error 2
make: *** [all] Error 2

AABB of object with rigid bodies not updated correctly

I have a scene where multiple rigidbodies component are attached one after another to bones simulating rope(variation of ragdoll sample). I noticed that AABB's are not updated correctly when rope is moving, which causes that the AnimatedModel is sometimes invisible. When I move my camera near first bone of armature then the graphics model suddenly appears.

Note: I can see white boxes when F2(physics debug) is pressed in editor, but I can't see AABB debug render(F3) nor AnimatedModel itself.

Note2: I remember I got variation of this problem when I was starting Urho3d. In that case I created on scene dynamic rigidbody sphere and attached particle emitter to it. The result was that in rare cases particle emitter was not emitting particles, even it was visible by camera. I think that can be also related to this issue.

I wanted to provide fix for this issue, but I got lost in dark, mystery parts of urho3d source code :]

Crash - MacOSX - Scene#Instantiate(File)

I called scene.Instantiate within AngelScript and it crashed. It looks like String is causing the blowup.

In this case the file is an xml file.

Node@ node = scene.Instantiate(browserFile.GetFile(), Vector3(), Quaternion());
node.parent = targetNode;

Stacktrace

xception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
terminating with uncaught exception of type std::bad_alloc: std::bad_alloc
abort() called

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x9827a952 __pthread_kill + 10
1   libsystem_pthread.dylib         0x97c93167 pthread_kill + 101
2   libsystem_c.dylib               0x9613a340 abort + 155
3   libc++abi.dylib                 0x96239869 abort_message + 169
4   libc++abi.dylib                 0x9625a57b default_terminate_handler() + 264
5   libc++abi.dylib                 0x96257dd0 std::__terminate(void (*)()) + 14
6   libc++abi.dylib                 0x962577eb __cxa_throw + 116
7   libc++.1.dylib                  0x93e72b66 operator new(unsigned long) + 102
8   Urho3D                          0x000dba1e Urho3D::String::Resize(unsigned int) + 206 (Str.cpp:413)
9   Urho3D                          0x000ee662 Urho3D::String::operator+=(char) + 50 (Str.h:199)
10  Urho3D                          0x0020fdb7 Urho3D::Deserializer::ReadString() + 119 (Deserializer.cpp:218)
11  Urho3D                          0x002105fe Urho3D::Deserializer::ReadVariant(Urho3D::VariantType) + 510 (Deserializer.cpp:303)
12  Urho3D                          0x002f7f07 Urho3D::Serializable::Load(Urho3D::Deserializer&, bool) + 423 (Serializable.cpp:259)
13  Urho3D                          0x002dc1d1 Urho3D::Node::Load(Urho3D::Deserializer&, Urho3D::SceneResolver&, bool, bool, Urho3D::CreateMode) + 113 (Node.cpp:1052)
14  Urho3D                          0x002eb675 Urho3D::Scene::Instantiate(Urho3D::Deserializer&, Urho3D::Vector3 const&, Urho3D::Quaternion const&, Urho3D::CreateMode) + 245 (Scene.cpp:330)
15  Urho3D                          0x00418c50 Urho3D::SceneInstantiate(Urho3D::File*, Urho3D::Vector3 const&, Urho3D::Quaternion const&, Urho3D::CreateMode, Urho3D::Scene*) + 96 (SceneAPI.cpp:101)
16  Urho3D                          0x005c5cac endcopy8 + 3 (as_callfunc_x86.cpp:411)
17  Urho3D                          0x005c5631 CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned long*, void*, unsigned long long&) + 1633 (as_callfunc_x86.cpp:203)
18  Urho3D                          0x005c480e CallSystemFunction(int, asCContext*, void*) + 718 (as_callfunc.cpp:487)
19  Urho3D                          0x0061b4ed asCContext::ExecuteNext() + 5597 (as_context.cpp:2317)
20  Urho3D                          0x0061998a asCContext::Execute() + 1530 (as_context.cpp:1146)
21  Urho3D                          0x004409a6 Urho3D::ScriptFile::Execute(asIScriptFunction*, Urho3D::Vector<Urho3D::Variant> const&, bool) + 326 (ScriptFile.cpp:245)
22  Urho3D                          0x0043ff4a Urho3D::ScriptFile::HandleScriptEvent(Urho3D::StringHash, Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 346 (ScriptFile.cpp:631)
23  Urho3D                          0x004473ca Urho3D::EventHandlerImpl<Urho3D::ScriptFile>::Invoke(Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 154 (Object.h:258)
24  Urho3D                          0x000e9cb7 Urho3D::Object::OnEvent(Urho3D::Object*, Urho3D::StringHash, Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 375 (Object.cpp:79)
25  Urho3D                          0x000ead07 Urho3D::Object::SendEvent(Urho3D::StringHash, Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 1543 (Object.cpp:274)
26  Urho3D                          0x00572cd2 Urho3D::UI::ProcessClickEnd(Urho3D::IntVector2 const&, int, int, int, Urho3D::Cursor*, bool) + 1986 (UI.cpp:961)
27  Urho3D                          0x0056afa5 Urho3D::UI::HandleMouseButtonUp(Urho3D::StringHash, Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 277 (UI.cpp:1066)
28  Urho3D                          0x0057840a Urho3D::EventHandlerImpl<Urho3D::UI>::Invoke(Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 154 (Object.h:258)
29  Urho3D                          0x000e9cb7 Urho3D::Object::OnEvent(Urho3D::Object*, Urho3D::StringHash, Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 375 (Object.cpp:79)
30  Urho3D                          0x000ead07 Urho3D::Object::SendEvent(Urho3D::StringHash, Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 1543 (Object.cpp:274)
31  Urho3D                          0x00225f23 Urho3D::Input::SetMouseButton(int, bool) + 579 (Input.cpp:537)
32  Urho3D                          0x00222ea0 Urho3D::Input::HandleSDLEvent(void*) + 1360 (Input.cpp:645)
33  Urho3D                          0x0022220c Urho3D::Input::Update() + 924 (Input.cpp:114)
34  Urho3D                          0x00225b6d Urho3D::Input::HandleBeginFrame(Urho3D::StringHash, Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 29 (Input.cpp:903)
35  Urho3D                          0x0022b2ca Urho3D::EventHandlerImpl<Urho3D::Input>::Invoke(Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 154 (Object.h:258)
36  Urho3D                          0x000e9cb7 Urho3D::Object::OnEvent(Urho3D::Object*, Urho3D::StringHash, Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 375 (Object.cpp:79)
37  Urho3D                          0x000ead07 Urho3D::Object::SendEvent(Urho3D::StringHash, Urho3D::HashMap<Urho3D::ShortStringHash, Urho3D::Variant>&) + 1543 (Object.cpp:274)
38  Urho3D                          0x000f205f Urho3D::Time::BeginFrame(float) + 367 (Timer.cpp:91)
39  Urho3D                          0x00108c23 Urho3D::Engine::RunFrame() + 243 (Engine.cpp:329)
40  Urho3D                          0x000fa7e7 Urho3D::Application::Run() + 487 (Application.cpp:69)
41  Urho3D                          0x000c9abb RunApplication() + 187 (Urho3D.cpp:72)
42  Urho3D                          0x000c9bd3 main + 51 (Urho3D.cpp:72)
43  libdyld.dylib                   0x99d3770d start + 1

Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib          0x9827b992 kevent64 + 10
1   libdispatch.dylib               0x952a38bd _dispatch_mgr_invoke + 238
2   libdispatch.dylib               0x952a3556 _dispatch_mgr_thread + 52

Thread 2:
0   libsystem_kernel.dylib          0x9827a802 __psynch_mutexwait + 10
1   libsystem_pthread.dylib         0x97c95945 _pthread_mutex_lock + 404
2   libsystem_pthread.dylib         0x97c957ac pthread_mutex_lock + 16
3   Urho3D                          0x000e9709 Urho3D::Mutex::Acquire() + 25 (Mutex.cpp:83)
4   Urho3D                          0x000f7ed2 Urho3D::WorkQueue::ProcessItems(unsigned int) + 114 (WorkQueue.cpp:233)
5   Urho3D                          0x000fa03c Urho3D::WorkerThread::ThreadFunction() + 44 (WorkQueue.cpp:53)
6   Urho3D                          0x000f1a35 Urho3D::ThreadFunctionStatic(void*) + 37 (Thread.cpp:49)
7   libsystem_pthread.dylib         0x97c925fb _pthread_body + 144
8   libsystem_pthread.dylib         0x97c92485 _pthread_start + 130
9   libsystem_pthread.dylib         0x97c97cf2 thread_start + 34

Thread 3:: com.apple.audio.IOThread.client
0   libsystem_kernel.dylib          0x98275f7a mach_msg_trap + 10
1   libsystem_kernel.dylib          0x9827516c mach_msg + 68
2   com.apple.audio.CoreAudio       0x97dd2e9a HALB_MachPort::SendMessageWithReply(unsigned int, unsigned int, unsigned long, unsigned long, mach_msg_header_t*, bool, unsigned int) + 138
3   com.apple.audio.CoreAudio       0x97dcd34e HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 68
4   com.apple.audio.CoreAudio       0x97dcbb27 HALC_ProxyIOContext::IOWorkLoop() + 1111
5   com.apple.audio.CoreAudio       0x97dcb5ff HALC_ProxyIOContext::IOThreadEntry(void*) + 167
6   com.apple.audio.CoreAudio       0x97dd5f52 ___ZN19HALC_ProxyIOContextC2Emj_block_invoke + 20
7   com.apple.audio.CoreAudio       0x97dcb4fb HALB_IOThread::Entry(void*) + 69
8   libsystem_pthread.dylib         0x97c925fb _pthread_body + 144
9   libsystem_pthread.dylib         0x97c92485 _pthread_start + 130
10  libsystem_pthread.dylib         0x97c97cf2 thread_start + 34

Thread 4:
0   libsystem_kernel.dylib          0x9827ab76 __semwait_signal + 10
1   libsystem_c.dylib               0x9615905b nanosleep$UNIX2003 + 219
2   libsystem_c.dylib               0x96158f06 usleep$UNIX2003 + 60
3   Urho3D                          0x000f247b Urho3D::Time::Sleep(unsigned int) + 27 (Timer.cpp:155)
4   Urho3D                          0x0021972e Urho3D::FileWatcher::ThreadFunction() + 46 (FileWatcher.cpp:294)
5   Urho3D                          0x002199ac non-virtual thunk to Urho3D::FileWatcher::ThreadFunction() + 28 (FileWatcher.cpp:304)
6   Urho3D                          0x000f1a35 Urho3D::ThreadFunctionStatic(void*) + 37 (Thread.cpp:49)
7   libsystem_pthread.dylib         0x97c925fb _pthread_body + 144
8   libsystem_pthread.dylib         0x97c92485 _pthread_start + 130
9   libsystem_pthread.dylib         0x97c97cf2 thread_start + 34

Thread 5:
0   libsystem_kernel.dylib          0x9827ab76 __semwait_signal + 10
1   libsystem_c.dylib               0x9615905b nanosleep$UNIX2003 + 219
2   libsystem_c.dylib               0x96158f06 usleep$UNIX2003 + 60
3   Urho3D                          0x000f247b Urho3D::Time::Sleep(unsigned int) + 27 (Timer.cpp:155)
4   Urho3D                          0x0021972e Urho3D::FileWatcher::ThreadFunction() + 46 (FileWatcher.cpp:294)
5   Urho3D                          0x002199ac non-virtual thunk to Urho3D::FileWatcher::ThreadFunction() + 28 (FileWatcher.cpp:304)
6   Urho3D                          0x000f1a35 Urho3D::ThreadFunctionStatic(void*) + 37 (Thread.cpp:49)
7   libsystem_pthread.dylib         0x97c925fb _pthread_body + 144
8   libsystem_pthread.dylib         0x97c92485 _pthread_start + 130
9   libsystem_pthread.dylib         0x97c97cf2 thread_start + 34

Thread 6:
0   libsystem_kernel.dylib          0x9827ab76 __semwait_signal + 10
1   libsystem_c.dylib               0x9615905b nanosleep$UNIX2003 + 219
2   libsystem_c.dylib               0x96158f06 usleep$UNIX2003 + 60
3   Urho3D                          0x000f247b Urho3D::Time::Sleep(unsigned int) + 27 (Timer.cpp:155)
4   Urho3D                          0x0021972e Urho3D::FileWatcher::ThreadFunction() + 46 (FileWatcher.cpp:294)
5   Urho3D                          0x002199ac non-virtual thunk to Urho3D::FileWatcher::ThreadFunction() + 28 (FileWatcher.cpp:304)
6   Urho3D                          0x000f1a35 Urho3D::ThreadFunctionStatic(void*) + 37 (Thread.cpp:49)
7   libsystem_pthread.dylib         0x97c925fb _pthread_body + 144
8   libsystem_pthread.dylib         0x97c92485 _pthread_start + 130
9   libsystem_pthread.dylib         0x97c97cf2 thread_start + 34

Thread 7:
0   libsystem_kernel.dylib          0x98275f7a mach_msg_trap + 10
1   libsystem_kernel.dylib          0x9827516c mach_msg + 68
2   com.apple.CoreFoundation        0x92901f69 __CFRunLoopServiceMachPort + 169
3   com.apple.CoreFoundation        0x92901541 __CFRunLoopRun + 1393
4   com.apple.CoreFoundation        0x92900d5a CFRunLoopRunSpecific + 394
5   com.apple.CoreFoundation        0x92900bbb CFRunLoopRunInMode + 123
6   com.apple.AppKit                0x98ec2f18 _NSEventThread + 283
7   libsystem_pthread.dylib         0x97c925fb _pthread_body + 144
8   libsystem_pthread.dylib         0x97c92485 _pthread_start + 130
9   libsystem_pthread.dylib         0x97c97cf2 thread_start + 34

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0xa11c5c0c  ecx: 0xbff3a73c  edx: 0x9827a952
  edi: 0xa132d1a8  esi: 0x00000006  ebp: 0xbff3a758  esp: 0xbff3a73c
   ss: 0x00000023  efl: 0x00000206  eip: 0x9827a952   cs: 0x0000000b
   ds: 0x00000023   es: 0x00000023   fs: 0x00000000   gs: 0x0000000f
  cr2: 0x00c9a000

Logical CPU:     0
Error Code:      0x00080148
Trap Number:     132

Editor lost sound filename

Googlegroup not work fine. I write here.
I get updated changes from repository. Open Editor and create node and SoundSource3D component. Next pick sound file. Deselect node. Select it again - Sound field is empty. Also it empty if change some other fields for this component.

Add option to read a pak file from startoffset of an exe file

I would like to bundle exe+pak into one file, but for that I would need an option that the engine can read pak files from a given offset instead of the hardcoded 0 offset.

Additionally there could be a tag finder, which would find a certain tag between the end of the exe file and the start of the pak file, if a fixed offset is not given.

Bundling exe+pak itself can be done from CodeBlocks, by adding a simple post-build step bat file which copies the exe+tag+pak into one exe.

Vertical orientation of text in ui elements

I have been digging in the font code and have been testing various fonts and finding some some problems.

Here is a button with the text well within its bounds
Good button

If you change the font these kinds of things happen.

The text is too low in general.
Bad button

The text is low, the icon is not centered.
Bad menu with icon

The text is low within this menu container
Bad menu

I don't know what the exact answer is. It would be nice for people to be able to use whatever fonts they want in their games and have it work with minimal effort. I do not have a nuanced knowledge of the rendering or glyph information to speak with authority but with most of the fonts i tested they were low. We can maybe calculate the offsetY and height of some of the taller letters like M and get an average offset of those letters and position the fonts within a row of text. From the offset vertical, middle, and baseline alignments can be made. Another option would be to give the user a customizable value to change the verticle offset. Using ems would be the most flexible as it would adjust with fontsizes but I don't think urho does anything with ems presently.

Or maybe i am just overlooking a setting urho already has. It wouldn't be the first time nor the last.

Thanks,
Chris

AngelScript casting void function crashes

this falls under the stupid category but its a crashes no less. casting a void function to a component causes a crash. anglescript seems to signoff on the compile check but then urho crashes.

in the editor

cast<ParticleEmitter>(CreateComponent("ParticleEmitter"));

Size in percents

How to make size of UI elements in percents?
I make interface for game and need scale background image to fullcreen.

Error link Urho3d

I dont know if it's only a my issue,
i updated yesterday trunk at revision 2990 , all urho's project compiled ok,
but when i compile my projects ( static lib , dll and exe) i take and linker
error:

ChronoEngine.lib(SceneManager.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class Urho3D::Model * __thiscall Urho3D::StaticModel::GetModel(void)const " (_imp?GetModel@StaticModel@Urho3D@@QBEPAVModel@2@XZ)

I have already included urho3d.lib in my projects,
in warnings i see that static model has some problem:

2>Urho3D.lib(Model.obj) : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library.

i suppose that it can generated by precompiled issue but i m not sure, now i m really tired,tomorrow it's an another day 👍
Someone has same issue?
thanks

--rev 2990 - VS 2010 sp1

Draw Distance issue

StaticModel::SetDrawDistance dont take in account camera position.
i suggest to lasse to take a look at this simple patch, unfortunately i cannot attach here patch...

Index: View.cpp
===================================================================
--- View.cpp    (revision 3012)
+++ View.cpp    (working copy)
@@ -179,13 +179,14 @@
     while (start != end)
     {
         Drawable* drawable = *start++;
-        
+        drawable->UpdateBatches(view->frame_);
         // If draw distance non-zero, check it
         float maxDistance = drawable->GetDrawDistance();
+       
         if ((maxDistance <= 0.0f || drawable->GetDistance() <= maxDistance) && (!buffer || !drawable->IsOccludee() ||
             buffer->IsVisible(drawable->GetWorldBoundingBox())))
         {
-            drawable->UpdateBatches(view->frame_);
+            
             drawable->MarkInView(view->frame_);

             // For geometries, find zone, clear lights and calculate view space Z range

It is too late to use LibRocket as UI system?

I saw that this project implements its own ui system. However, I cannot avoid to suggest Librocket

But what is Librocket?: "libRocket is the C++ user interface middleware package based on the HTML and CSS standards. It is designed as a complete solution for any project's interface needs.

libRocket uses the time-tested open standards XHTML1.0 and CSS2.0 (while borrowing features from HTML5 and CSS3), and extends them with features suited towards real-time applications. Because of this, you don't have to learn a whole new proprietary technology like other packages in this middleware space."

What do you think, guys? :)

Crash - ListView:InsertItem

I am adding a Text to a ListView:

void CreateFileList(BrowserFile@ file)
{
    Text@ fileText = Text();
    browserFileList.InsertItem(browserFileList.numItems, fileText);
    fileText.style = "FileSelectorListText";
    fileText.text = file.name;
    fileText.name = file.resourceKey;
    Print(file.name);
}

Unhandled exception at 0x00e03cb1 in Urho3D.exe: 0xC0000005: Access violation reading location 0x00000190.

It looks like something is funny with _baseIndent.

>   Urho3D.exe!Urho3D::ListView::GetBaseIndent()  Line 132 + 0x11 bytes C++
    Urho3D.exe!Urho3D::HierarchyContainer::InsertChild(unsigned int index, Urho3D::UIElement * element)  Line 146 + 0x15 bytes  C++
    Urho3D.exe!Urho3D::ListView::InsertItem(unsigned int index, Urho3D::UIElement * item, Urho3D::UIElement * parentItem)  Line 346 C++
    Urho3D.exe!CallThisCallFunction(const void * obj, const unsigned long * args, int paramSize, void (void)* func)  Line 1062  C++
    Urho3D.exe!CallSystemFunctionNative(asCContext * context, asCScriptFunction * descr, void * obj, unsigned long * args, void * retPointer, unsigned __int64 & __formal)  Line 179 + 0x1b bytes   C++
    Urho3D.exe!CallSystemFunction(int id, asCContext * context, void * objectPointer)  Line 487 + 0x37 bytes    C++
    Urho3D.exe!asCContext::ExecuteNext()  Line 2317 + 0x12 bytes    C++
    Urho3D.exe!asCContext::Execute()  Line 1146 + 0x8 bytes C++
    Urho3D.exe!Urho3D::ScriptFile::Execute(asIScriptFunction * function, const Urho3D::Vector<Urho3D::Variant> & parameters, bool unprepare)  Line 245 + 0xf bytes  C++
    Urho3D.exe!Urho3D::ScriptFile::Execute(const Urho3D::String & declaration, const Urho3D::Vector<Urho3D::Variant> & parameters, bool unprepare)  Line 225    C++
    Urho3D.exe!Urho::Start()  Line 151 + 0x49 bytes C++
    Urho3D.exe!Urho3D::Application::Run()  Line 64 + 0xf bytes  C++
    Urho3D.exe!RunApplication()  Line 72 + 0xf5 bytes   C++
    Urho3D.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * prevInstance, char * cmdLine, int showCmd)  Line 72 + 0x35 bytes  C++
    Urho3D.exe!__tmainCRTStartup()  Line 547 + 0x2c bytes   C
    Urho3D.exe!WinMainCRTStartup()  Line 371    C
    kernel32.dll!74b9850d()     
    [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]  
    ntdll.dll!7717bf39()    
    ntdll.dll!7717bf0c()    

border image rendering bug

wierd_toolbar

The toolbar at the bottom is fine in the editor. in the game to the left it has funny icons showing up.

the initalization is from an xml layout

i reported a bug like this before except it was only occurring in the editor.

    skillTray = ui.LoadLayout(cache.GetResource("XMLFile", "UI/SkillTray.xml"));
    ui.root.AddChild(skillTray);

here is the xml

<?xml version="1.0"?>
<element style="UIElement">
    <attribute name="Name" value="SkillTray" />
    <attribute name="Size" value="808 88" />
    <attribute name="Min Size" value="808 88" />
    <attribute name="Horiz Alignment" value="Center" />
    <attribute name="Vert Alignment" value="Bottom" />
    <element type="Window">
        <attribute name="Name" value="Background" />
        <attribute name="Size" value="808 88" />
        <attribute name="Min Size" value="808 88" />
        <attribute name="Max Size" value="808 88" />
        <attribute name="Layout Mode" value="Horizontal" />
        <attribute name="Layout Spacing" value="8" />
        <attribute name="Layout Border" value="10 10 10 10" />
        <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
    </element>
    <element style="UIElement">
        <attribute name="Size" value="808 88" />
        <attribute name="Min Size" value="808 88" />
        <attribute name="Layout Mode" value="Horizontal" />
        <attribute name="Layout Spacing" value="4" />
        <attribute name="Layout Border" value="10 10 10 10" />
        <element type="BorderImage">
            <attribute name="Name" value="Skill1" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
            <element type="Sprite" style="Sprite">
                <attribute name="Position" value="2 2" />
                <attribute name="Size" value="64 64" />
                <attribute name="Texture" value="Texture2D;Textures/game-icons.png" />
                <attribute name="Image Rect" value="128 960 192 1024" />
            </element>
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill2" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
            <element type="Sprite" style="Sprite">
                <attribute name="Position" value="2 2" />
                <attribute name="Size" value="64 64" />
                <attribute name="Texture" value="Texture2D;Textures/game-icons.png" />
                <attribute name="Image Rect" value="256 896 320 960" />
            </element>
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill3" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
            <element type="Sprite" style="Sprite">
                <attribute name="Position" value="2 2" />
                <attribute name="Size" value="64 64" />
                <attribute name="Texture" value="Texture2D;Textures/game-icons.png" />
                <attribute name="Image Rect" value="256 704 320 770" />
            </element>
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill4" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
            <element type="Sprite" style="Sprite">
                <attribute name="Position" value="2 2" />
                <attribute name="Size" value="64 64" />
                <attribute name="Texture" value="Texture2D;Textures/game-icons.png" />
                <attribute name="Image Rect" value="384 768 448 832" />
            </element>
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill5" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
            <element type="Sprite" style="Sprite">
                <attribute name="Position" value="2 2" />
                <attribute name="Size" value="64 64" />
                <attribute name="Texture" value="Texture2D;Textures/game-icons.png" />
                <attribute name="Image Rect" value="640 960 640 960" />
            </element>
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill6" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill7" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill8" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill9" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill10" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
        </element>
        <element type="BorderImage">
            <attribute name="Name" value="Skill11" />
            <attribute name="Min Size" value="68 68" />
            <attribute name="Max Size" value="68 68" />
            <attribute name="Texture" value="Texture2D;Textures/combatui.png" />
            <attribute name="Image Rect" value="128 48 144 64" />
            <attribute name="Border" value="4 4 4 4" />
        </element>
    </element>
</element>

Urho3D_lib post-build error on VS2012 with cmake_vs2012.bat

Windows 7
VS2012 Express Debug win32
cmake_vs2012.bat

Edit: Same error en VS2013

Related to http://stackoverflow.com/questions/17052406/pdb-files-with-libraries-in-visual-studio-10

Error   11  error MSB3073: The command "setlocal
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E copy_if_different "D:\Programacion\Urho3D\Build\Engine\Debug\Urho3D_d.lib" "D:/Programacion/Urho3D/Lib"
if %errorlevel% neq 0 goto :cmEnd
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E copy_if_different "D:\Programacion\Urho3D\Build\Engine\Debug\Urho3D_d.pdb" "D:/Programacion/Urho3D/Lib"
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
:VCEnd" exited with code 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets  134 5   Urho3D_lib

XML Scrollbar element not loading correct size.

Hi, I'm trying to create a scrollbar element through Editor/XML file and somehow the size is not correctly loaded again in the editor or a sample script.

I'm setting it to 16 x 60 then saving it but it always loads up to 120 x 240.

cmake_mingw with all options creates only libUrho3D.a

I can't get cmake to general a complete makefile, which would compile all examples, tools, and static Urho3D library. It only creates the libUrho3D.a, however when I remove the -DURHO3D_BUILD_TYPE=STATIC, then it creates the tools and examples, but no libUrho3D.a:

cmake_mingw -DENABLE_TOOLS=1 -DENABLE_SAMPLES=1 -DUSE_OPENGL=1 -DURHO3D_BUILD_TYPE=STATIC

Freetype compile error (Linux 64bit Release)

I'm getting this error on my CentOS machine 64bit build release:

In file included from /var/linux/Source/ThirdParty/FreeType/include/freetype/freetype.h:33,
                 from /var/linux/Source/ThirdParty/FreeType/src/autofit/afpic.c:20,
                 from /var/linux/Source/ThirdParty/FreeType/src/autofit/autofit.c:21:
/var/linux/Source/ThirdParty/FreeType/include/freetype/config/ftconfig.h: In function ‘FT_MulFix_x86_64’:
/var/linux/Source/ThirdParty/FreeType/include/freetype/config/ftconfig.h:484: error: #pragma GCC diagnostic not allowed inside functions
/var/linux/Source/ThirdParty/FreeType/include/freetype/config/ftconfig.h:485: error: #pragma GCC diagnostic not allowed inside functions
/var/linux/Source/ThirdParty/FreeType/include/freetype/config/ftconfig.h:524: error: #pragma GCC diagnostic not allowed inside functions
make[2]: *** [ThirdParty/FreeType/CMakeFiles/FreeType.dir/src/autofit/autofit.c.o] Error 1
make[1]: *** [ThirdParty/FreeType/CMakeFiles/FreeType.dir/all] Error 2
make: *** [all] Error 2

what's next?

what's urho3d's roadmap or plan after V1.3? thank you!

cmake_mingw does not generate DirectX build

I wanted to try if I can compile libUrho3D.a with DirectX enabled, but the debug level log shows that it still uses GLSL when I specify -DUSE_OPENGL=0 as cmake_mingw parameter.

Can't Build libUrho3D.a on Linux with GCC

It looks like it's looking in the wrong path for the object file.

make[2]: *** No rule to make target ThirdParty/JO/CMakeFiles/JO.dir/src/Urho3D/Source/ThirdParty/JO/jo_jpeg.cpp.o', needed by/home/jsmith/src/Urho3D/Lib/libUrho3D.a'. Stop.
make[1]: *** [Engine/CMakeFiles/Urho3D.dir/all] Error 2
make: *** [all] Error 2

I've checked and it appears as though the object file compiles fine and sits in the folder below.

~/src/Urho3D/Build/ThirdParty/JO/CMakeFiles/JO.dir/jo_jpeg.cpp.o

Noticeable motion jerk when fps not at full speed

When scene is large or it has big number of lights then I see noticeable snap of moving rigid bodies or even camera movement. It is visible approximately every second. Note, that the snap is also visible when fps is quite good (about 100fps).

I attached quite extensive scene build with Urho3d default models, which decreases frames per second(you may add more lights if it's not enough for your computer).

https://docs.google.com/file/d/0B-FH5cooowQpdEU0ZlY1cHZseGs/edit?usp=sharing

Mingw, CMAKE_BUILD_TYPE=DEBUG build failure

On Mingw-w64, gcc version 4.8.1, build fails when attempting to build a debug target.

CMake configuration: cmake_mingw.bat -DENABLE_LUA=1 -DENABLE_LUA_JIT=1 -DURHO3D_BUILD_TYPE=EXE -DCMAKE_BUILD_TYPE=DEBUG

Compilation failure occurs when compiling kNet\src\DataDeserializer.cpp with the error:

C:/Urho3D/Source/ThirdParty/kNet/include/kNet/DebugMemoryLeakCheck.h:34:80: error: 'void* operator n
ew(size_t, const char*, int)' may not be declared as static

This same error (along with multiple others that possibly result from this set of errors) occurs multiple times throughout DebugMemoryLeakCheck.h.

It's not a game-breaker obviously, since release is unaffected.

Load particles in editor

Add loading particles as xml-file in editor, please.
Simple field for filename and two buttons - Save and Load.

Crash on shutdown if ScriptObject implements TransformChanged

When using LuaScript, if a scene includes a ScriptObject that implements TransformChanged(), the Scene needs to be explicitly destroyed, or all children invoking TransformChanged() need to be explicitly removed, before program shutdown. If the Scene is destroyed, then at some point Node::RemoveChild(Vector<SharedPtr >::Iterator i) is called, which in turn calls MarkDirty() on the removed child. This causes an attempt to call TransformChanged() on the script object, which can segfault during program shutdown if the Lua state has already been destroyed.

Here is a minimal script showing the problem:

TestObject=ScriptObject()

function TestObject:Start()
end

function TestObject:TransformChanged()

    local x,y,z=self.node:GetWorldPositionXYZ()
end

function Start()
    context = GetContext()
    input = GetInput()
    renderer = GetRenderer()
    ui = GetUI()
    graphics=GetGraphics()

    scene=Scene(context)
    scene:CreateComponent("Octree")
    SubscribeToEvent("KeyDown", "HandleKeyDown")

    local node=scene:CreateChild("Test")
    node:CreateScriptObject("TestObject")
    node:SetPositionXYZ(1,2,3)
end


function HandleKeyDown(eventType, eventData)
    local key = eventData:GetInt("Key")

    if key == KEY_ESC then
        local engine = GetEngine()
        engine:Exit()
    end
end

And here is a gdb backtrace showing the call chain when the segfault occurs, during program exit:

(gdb) backtrace
#0  0x009d4938 in lua_rawgeti ()
#1  0x004c0f3b in Urho3D::LuaFunction::BeginCall(Urho3D::LuaScriptInstance const*) ()
#2  0xffffd8f0 in ?? ()
#3  0x014080e0 in ?? ()
#4  0x009329e6 in Urho3D::Node::MarkDirty() [clone .part.66] ()
#5  0x00939cf4 in Urho3D::Node::RemoveChild(Urho3D::RandomAccessIterator<Urho3D::SharedPtr<Urho3D::N
ode> >) ()
#6  0x00939fbb in Urho3D::Node::RemoveChildren(bool, bool, bool) ()
#7  0x0093a072 in Urho3D::Node::RemoveAllChildren() ()
#8  0x00927a9a in Urho3D::Scene::~Scene() ()
#9  0x0022fb48 in ?? ()
#10 0x00000001 in ?? ()
#11 0x40000060 in ?? ()
#12 0x7c91a3d0 in ntdll!RtlpUnWaitCriticalSection () from C:\WINDOWS\system32\ntdll.dll
#13 0x00000001 in ?? ()
#14 0x01222898 in ?? ()
#15 0x0000001b in ?? ()
#16 0xffffffff in ?? ()
#17 0x0000000c in ?? ()
#18 0x00a4ff37 in Urho::~Urho() ()
#19 0xffffffff in ?? ()

Note that explicitly destroying the Scene object in Stop() will prevent this happening, since it only occurs at shutdown, likely due to the Lua state having already been destroyed before the call to lua_rawgeti().

Add LineEdit::SetEditable(<true|false>)

I need a text box where user can select and copy text from, but not change it.
It would be nice to have a LineEdit::SetEditable(false); method, since now I have to do it with a hacky workaround like this:

...
map<LineEdit*,String> textmap;
...
    SubscribeToEvent(edit1, E_TEXTCHANGED, HANDLER(MyApp, HandleReadOnly));
...
void MyApp::HandleReadOnly(StringHash eventType, VariantMap& eventData)
{
    LineEdit* edit1=(LineEdit*)eventData["Element"].GetPtr();
    edit1->SetText(textmap[edit1]);
}

The command line argument parsing is making to many assumptions

At first I reported this in the forum asking whether it should be considered a bug or not. At the time, we came to the conclusion that it wasn't, the issue could be worked around easily (https://groups.google.com/forum/#!topic/urho3d/VR4zomukD1M). But I've now noticed how the current implementation is limiting users.

In my game I use a custom parsing of the command line parameters to easily start the game in debug mode, skipping game menus and other things making it much easier to develop. The current method of adding resource paths to the engine is by specifying the -p parameter and define the different paths to be included within the same string, not as a proceeding value, e.g. "-p/home/user/Workspace/Game" instead of "-p /home/user/Workspace/Game". This causes problems for me now that I'm parsing a command line parameter called -players which specifies the amount of players I start the game with. When I do that the engine interprets it as I want to add the path "layers".

This can be solved by changing how the values are specified for the parameters on the command line. For my other command line parameters I simply select the next index of the arguments and I don't see why this can't be done for the engine?

e.g.:

        Array<String>@ arguments = GetArguments();
        bool skipNext = false;

        for (uint i = 0; i < arguments.length; ++i)
        {
            if (skipNext)
            {
                skipNext = false;
                continue;
            }

            String argument = arguments[i];

            if (argument.StartsWith("-"))
            {
                argument = argument.Substring(1).ToLower();

                if (argument == "address" || argument == "client")
                {
                    this.network.SetMode("client");

                    if (arguments.length >= i+2)
                    {
                        this.network.serverAddress = arguments[i + 1].ToLower();
                    }
                    else
                    {
                        log.Warning("No server address has been specified for argument \"-" + argument + "\", selecting \"localhost\" as default");
                        this.network.serverAddress = "localhost";
                    }
                    skipNext = true;
                }
            }
        }

BillboardSet/ParticleEmitter decouple billboarding from relative_ flag?

Would it be possible to somehow decouple billboarding of a particle set from the relative_ flag? That is, allow a billboard set to derive transformation from it's node's world transform, but force the generated particles to still face the camera? I have some effects that would like to use the relative transform to affect emission direction and emitted particle locations (ie, have them follow the transform of the owning node), but if I use relative_=true then these effects can only be viewed from certain directions relative to the node, since the particles themselves no longer billboard toward the camera.

Support the SDL2 GameController API

SDL2 implements a Game Controller API, on top of the lower-level joystick input, that maps automatically joystick events to named sticks and buttons of common game controllers (Xbox compatible, DualShock, Logitech...) Non standard gamepads can be configured as well. In particular, mappings are forwarded from Steam Big Picture.

Support of this API would be convenient, but doesn't add functionality.

SDL 2.0.1

http://forums.libsdl.org/viewtopic.php?t=9676


2.0.1:

General:

  • Added an API to get common filesystem paths in SDL_filesystem.h:
    SDL_GetBasePath(), SDL_GetPrefPath()
  • Added an API to do optimized YV12 and IYUV texture updates:
    SDL_UpdateYUVTexture()
  • Added an API to get the amount of RAM on the system:
    SDL_GetSystemRAM()
  • Added a macro to perform timestamp comparisons with SDL_GetTicks():
    SDL_TICKS_PASSED()
  • Dramatically improved OpenGL ES 2.0 rendering performance
  • Added OpenGL attribute SDL_GL_FRAMEBUFFER_SRGB_CAPABLE

Windows:

  • Created a static library configuration for the Visual Studio 2010 project
  • Added a hint to create the Direct3D device with support for multi-threading:
    SDL_HINT_RENDER_DIRECT3D_THREADSAFE
  • Added a function to get the D3D9 adapter index for a display:
    SDL_Direct3D9GetAdapterIndex()
  • Added a function to get the D3D9 device for a D3D9 renderer:
    SDL_RenderGetD3D9Device()
  • Fixed building SDL with the mingw32 toolchain (mingw-w64 is preferred)
  • Fixed crash when using two XInput controllers at the same time
  • Fixed detecting a mixture of XInput and DirectInput controllers
  • Fixed clearing a D3D render target larger than the window
  • Improved support for format specifiers in SDL_snprintf()

Mac OS X:

  • Added support for retina displays:
    Create your window with the SDL_WINDOW_ALLOW_HIGHDPI flag, and then use SDL_GL_GetDrawableSize() to find the actual drawable size. You are responsible for scaling mouse and drawing coordinates appropriately.
  • Fixed mouse warping in fullscreen mode
  • Right mouse click is emulated by holding the Ctrl key while left clicking

Linux:

  • Fixed float audio support with the PulseAudio driver
  • Fixed missing line endpoints in the OpenGL renderer on some drivers
  • X11 symbols are no longer defined to avoid collisions when linking statically

iOS:

  • Fixed status bar visibility on iOS 7
  • Flipped the accelerometer Y axis to match expected values

Android:
IMPORTANT: You MUST get the updated SDLActivity.java to match C code

  • Moved EGL initialization to native code
  • Fixed the accelerometer axis rotation relative to the device rotation
  • Fixed race conditions when handling the EGL context on pause/resume
  • Touch devices are available for enumeration immediately after init

Raspberry Pi:

  • Added support for the Raspberry Pi, see README-raspberrypi.txt for details

Editor hangs if can't find font for Text

if you change the font to something that doesn't exist and fire up the editor it hangs. I don't know if its a true hang it kind of looks like its stuck in a loop. It keeps spewing errors in the log.

If you do the same to the EditorAttributeText the font is simply not rendered.

Angelscript 2.28

the new initializer syntax is very nice!

they added a dictionary type which isn't as useful but checkout the nice syntax

 dictionary dict = ({'one', 1}, {'object', object}, {'handle', @handle}};

it looks like there is syntax for multidimentional arrays

array<array<int>> b = {{1,2},{3,4}}

now if only they had anonymous methods and shorthand function notation. watch out c#

microsoft directx sdk (february 2010) creates compilation error

when compiling in windows 7 using VS 2012 express and microsoft directx sdk 11 (february 2010) installed im getting this compilation error:
,,,
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d10effect.h(271): error C2146: syntax error : missing ';' before identifier 'Class'
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d10effect.h(271): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d10effect.h(272): error C2146: syntax error : missing ';' before identifier 'Type'
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d10effect.h(272): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d10effect.h(947): error C2061: syntax error : identifier 'D3D10_SIGNATURE_PARAMETER_DESC'
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d10effect.h(948): error C2061: syntax error : identifier 'D3D10_SIGNATURE_PARAMETER_DESC'
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d10effect.h(1422): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d10effect.h(1422): error C2143: syntax error : missing ',' before '*'
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d11shader.h(164): error C2146: syntax error : missing ';' before identifier 'InputPrimitive'
25>d:\program files (x86)\microsoft directx sdk (february 2010)\include\d3d11shader.h(164): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
25>D:\dev\cpp\3d\game_engines\Urho3D\Source\Tools\ShaderCompiler\ShaderCompiler.cpp(441): error C2065: 'D3DCOMPILE_OPTIMIZATION_LEVEL3' : undeclared identifier
25>D:\dev\cpp\3d\game_engines\Urho3D\Source\Tools\ShaderCompiler\ShaderCompiler.cpp(459): error C2065: 'D3DCOMPILE_PREFER_FLOW_CONTROL' : undeclared identifier
26> Urho3DPlayer.vcxproj -> D:\dev\cpp\3d\game_engines\Urho3D\Bin\Urho3DPlayer.exe
27>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 ------
27> Building Custom Rule D:/dev/cpp/3d/game_engines/Urho3D/Source/CMakeLists.txt
27> CMake does not need to re-run because D:\dev\cpp\3d\game_engines\Urho3D\Build\CMakeFiles\generate.stamp is up-to-date.
27> Build all projects
,,,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.