Trouble on iPhone...

ZealAddon

01-03-2010 05:48:02

So MyGUI is "working" on the iphone, but there are some major problems...

1.) All text shows up as solid quads (no text). Its as if there is some problem with transparency. The polys themselves are colored according to setTextColour oddly enough.

2.) Injecting inputs seems to be off. I am injecting inputs at the correct touch locations, but MyGUI is not always responding to them correctly.

3.) I noticed a strange crash when trying to click on my ComboBox...
terminate called after throwing an instance of 'Ogre::InternalErrorException'
what(): OGRE EXCEPTION(7:InternalErrorException): Cannot create GL vertex buffer in GLESHardwareVertexBuffer::GLESHardwareVertexBuffer at /Users/jeffwieland/sdks/Ogre/trunk/RenderSystems/GLES/src/OgreGLESHardwareVertexBuffer.cpp (line 57)


The strange thing is, MyGUI seems to work fine on my PC. And am not getting any odd errors in the logs...
Creating resource group _MyGUI
Added resource location '/Users/jeffwieland/Library/Application Support/iPhone Simulator/User/Applications/92DA9C66-6883-48EE-AEFB-3550813C90FF/SimEngine.app/Scripts/_Core/MyGUI/' of type 'FileSystem' to resource group '_MyGUI'
Initialising resource group _MyGUI
Parsing scripts for resource group _MyGUI
Finished parsing scripts for resource group _MyGUI
* Initialise: OgreRenderManager | /Users/jeffwieland/sdks/MyGUI/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRenderManager.cpp | 27
OgreRenderManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreRenderManager.cpp | 55
* Initialise: OgreDataManager | /Users/jeffwieland/sdks/MyGUI/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreDataManager.cpp | 46
OgreDataManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/Platforms/Ogre/OgrePlatform/src/MyGUI_OgreDataManager.cpp | 50
* Initialise: Gui | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_Gui.cpp | 82
* MyGUI version 3.0.0 | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_Gui.cpp | 86
* Initialise: ResourceManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 43
ResourceManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 51
* Initialise: LayerManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_LayerManager.cpp | 45
LayerManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_LayerManager.cpp | 53
* Initialise: WidgetManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_WidgetManager.cpp | 66
WidgetManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_WidgetManager.cpp | 105
* Initialise: InputManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_InputManager.cpp | 42
InputManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_InputManager.cpp | 59
* Initialise: SubWidgetManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_SubWidgetManager.cpp | 44
SubWidgetManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_SubWidgetManager.cpp | 64
* Initialise: SkinManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_SkinManager.cpp | 46
SkinManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_SkinManager.cpp | 54
* Initialise: FontManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_FontManager.cpp | 44
FontManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_FontManager.cpp | 53
* Initialise: ControllerManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ControllerManager.cpp | 42
ControllerManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ControllerManager.cpp | 52
* Initialise: PointerManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_PointerManager.cpp | 51
PointerManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_PointerManager.cpp | 69
* Initialise: ClipboardManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ClipboardManager.cpp | 82
ClipboardManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ClipboardManager.cpp | 96
* Initialise: LayoutManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_LayoutManager.cpp | 43
LayoutManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_LayoutManager.cpp | 49
* Initialise: DynLibManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_DynLibManager.cpp | 35
DynLibManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_DynLibManager.cpp | 37
* Initialise: PluginManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_PluginManager.cpp | 37
PluginManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_PluginManager.cpp | 41
* Initialise: LanguageManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_LanguageManager.cpp | 40
LanguageManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_LanguageManager.cpp | 44
* Initialise: FactoryManager | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_FactoryManager.cpp | 34
FactoryManager successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_FactoryManager.cpp | 37
Load ini file 'core_theme.xml' | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
Load ini file 'core_language.xml' | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
Load ini file 'core_font.xml' | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
ResourceTrueTypeFont 'font_DejaVuSans.17' using texture size 512 x 256 | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp | 183
ResourceTrueTypeFont 'font_DejaVuSans.17' using real height 17 pixels | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp | 184
ResourceTrueTypeFont 'font_DejaVuSans.14' using texture size 256 x 256 | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp | 183
ResourceTrueTypeFont 'font_DejaVuSans.14' using real height 14 pixels | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceTrueTypeFont.cpp | 184
Texture: core_micro_font.PNG: Loading 1 faces(PF_A8B8G8R8,512x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,512x128x1.
Load ini file 'core_resource.xml' | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
Load ini file 'core_skin.xml' | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
Texture: core_black_blue.png: Loading 1 faces(PF_A8B8G8R8,1024x256x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,1024x256x1.
Load ini file 'core_pointer.xml' | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
Load ini file 'core_layer.xml' | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
Load ini file 'core_settings.xml' | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_ResourceManager.cpp | 152
Texture: core_pointer.png: Loading 1 faces(PF_A8B8G8R8,256x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
Gui successfully initialized | /Users/jeffwieland/sdks/MyGUI/MyGUIEngine/src/MyGUI_Gui.cpp | 129


I am still using MyGUI 3.0... Only thing I can think of is maybe it has something to do with how I had to change the names of the 'None' enums... Its been awhile but I remember I had to jump through a million hoops in order to get MyGUI to compile... But its linking just fine now so I dont see how that matters..

Have you had any luck getting MyGUI to work on the iPhone simulator?

ZealAddon

02-03-2010 00:14:24

Ok well I figured out why I was having trouble injecting inpupt - I assumed that when you injected a mousepress that MyGUI would automatically set the 'mousemove' position to the press location, but it does not. Since I have it setup so the 'mousemoved' callback only fires when youre DRAGGING a finger, the two were not lining up. A simple solution was to just inject a 'mousemoved' whenever I inject a 'mousepress'.

However, the text fields still show up as solid quads. Again I am not sure if this is a problem with transparency, or something more serious. And I also still crash when I try to expand a combo box widget (maybe this is related to the text problem?). There shouldnt be any major differences between how the OpenGL ES render system handles transparency or vertex buffers... I cant figure out whats going on...

Altren didnt you say you were testing on the iphone now? Are you able to reproduce these problems?

Altren

02-03-2010 08:10:12

I'm not yet testing - still trying to set up virtual machine with working environment. First time I installed too old Mac OS X :( I hope I'll get it working in two days.

About input - yes, you should add mouse move before click and your solution looks ok for me.

Text quads simply black and properly colored with setTextColour, right?

About combobox crash - looks like OpenGL ES can't create new vertex buffer. Try to create several more widgets instead trying to open ComboBox - that should cause same crash.

ZealAddon

02-03-2010 09:59:03

Text quads simply black and properly colored with setTextColour, right?

Yes, the quads seem to respond to setTextColour.

About combobox crash - looks like OpenGL ES can't create new vertex buffer. Try to create several more widgets instead trying to open ComboBox - that should cause same crash.

Oddly enough I am able to create a window, editbox, scroll window, multilist and multiple buttons, no problem. Its only when I try and expand a combo box that I get the crash... So there must be something different with how MyGUI 3.0 creates the combobox dropdown?