smiley80
15-01-2009 16:42:24
viewtopic.php?f=8&t=13997
smiley80
15-01-2009 16:42:24
Beauty
16-01-2009 02:20:32
smiley80
16-01-2009 09:23:07
Nice
I created a wiki page and filled in your information:
http://www.ogre3d.org/wiki/index.php/Miyagi
Because it's only for Mogre (as I suppose)
For buttonGUI are nice screenshots. Is it also possible to use such a nice lock?
smiley80
24-02-2009 18:13:41
raygeee
24-02-2009 18:51:59
alaredo
06-04-2009 06:23:59
smiley80
06-04-2009 11:34:11
GuiManager.Singleton.Initialize(1024, 768, MySceneManager, MyCamera, MyMouse, MyKeyboard, true);
MyKeyboard.Capture();
MyMouse.Capture();
alaredo
07-04-2009 06:06:00
private void initGui()
{
GuiManager.Singleton.Initialize((int)this.window.Width,
(int)this.window.Height,
this.sceneMgr,
this.camera,
this.inputMouse,
this.inputKeyboard, false);
//create text schema
GuiManager.Singleton.CreateTextScheme("BlueHighway", "BlueHighway", 20, 0, 0, 0, 1);
GuiManager.Singleton.DefaultTextScheme = "BlueHighway";
//create cursor
GuiManager.Singleton.CreateCursor("Cursor", new Size(16, 16), new Position(0, 0));
GuiManager.Singleton.Cursor.Hotspots.Add("ResizeLeft", new Position(8, 8));
GuiManager.Singleton.Cursor.Hotspots.Add("ResizeTop", new Position(8, 8));
GuiManager.Singleton.Cursor.Hotspots.Add("ResizeTopLeft", new Position(8, 8));
GuiManager.Singleton.Cursor.Hotspots.Add("ResizeTopRight", new Position(8, 8));
//create Panel
float px = (float) ((this.window.Width - 250 ) / 2);
float py = (float) ((this.window.Height - 210) / 2);
Panel panel1 = new Panel("Panel1", "Panel", new Size(250, 210), new Position(px, py))
{
Movable = true,
MinSize = new Size(150, 90),
MagneticDockSize = new Size(20, 20)
};
panel1.SetBorderSize(8, 8, 16, 8);
panel1.Opacity = 0.5f;
TextBox txtServer = new TextBox("txtServer", "Textbox", new Size(128, 32), new Position(61, 20))
{
Text = "Servidor...",
TextOffset = new Position(18, 8),
TextSchemeName = "BlueHighway",
Opacity = 0.8f
};
TextBox txtPort = new TextBox("txtPort", "Textbox", new Size(128, 32), new Position(61, 60))
{
Text = "Porta...",
TextOffset = new Position(18, 8),
TextSchemeName = "BlueHighway",
Opacity = 0.8f
};
TextBox txtNick = new TextBox("txtNick", "Textbox", new Size(128, 32), new Position(61, 100))
{
Text = "Apelido...",
TextOffset = new Position(18, 8),
TextSchemeName = "BlueHighway",
Opacity = 0.8f
};
Button btnOk = new Button("Ok", "Button", new Size(64, 32), new Position(93, 160))
{
Text = "Ok",
TextAlignment = Alignments.Center,
TextOffset = new Position(0, 8)
};
btnOk.MouseClick += new EventHandler<ControlMouseEventArgs>(btnOk_MouseClick);
panel1.Controls.Add(txtServer);
panel1.Controls.Add(txtPort);
panel1.Controls.Add(txtNick);
panel1.Controls.Add(btnOk);
guiServer = GuiManager.Singleton.CreateGui("guiServer");
guiServer.Controls.Add(panel1);
GuiManager.Singleton.Mouse = inputMouse;
GuiManager.Singleton.Keyboard = inputKeyboard;
}
and it is my frame listener
bool Skeletal_FrameStarted(FrameEvent evt)
{
if (ctlNet)
{
setNetwork();
ctlNet = false;
}
foreach (Personagem personagem in htPlayers.Values)
{
personagem.mAnimationState.AddTime(evt.timeSinceLastFrame * 1f);
}
base.HandleInput(evt);
// Rotaciona Robo
yawRobot(evt);
// Movimenta Robo
moveRobot(evt);
GuiManager.Singleton.Update();
inputKeyboard.Capture();
inputMouse.Capture();
//GuiManager.Singleton.Update();
return true;
}
satik
07-04-2009 09:42:26
smiley80
07-04-2009 10:53:03
Sorry for my newbie question but my mouse cursor is fixed at up/left corner. I don't need update your position at frame listener?
Hi all, how can I load my own font (from *.ttf for example)? I couldnt find any info about it and all my tries failed
satik
07-04-2009 14:29:40
ImageFont
{
type image
source font.bmp
glyph A 0 0 63 63
}
GuiManager.Singleton.CreateTextScheme("SomeFont", "ImagFont", 16, 1, 1, 1, 1);
smiley80
07-04-2009 15:24:13
glyph A 0 0 63 63
Beauty
08-04-2009 09:56:56
So the code is like this line
galaktor
30-07-2009 18:13:02
smiley80
30-07-2009 18:45:35
The cursor obviously reacts to mouse movement, but only in a restricted little area.
galaktor
30-07-2009 19:08:13
The documentation is in the 'Help' folder.
Plus there is a sample with source code. Granted, it's pretty crappy, that's mainly because the API isn't fix at the moment.
smiley80
30-07-2009 19:45:49
MOIS.MouseState_NativePtr state = mouse.MouseState;
state.width = (int)renderWindow.Width;
state.height = (int)renderWindow.Height;
galaktor
30-07-2009 19:51:56
Okay thanks, I think I've found the error and I've guessed right.
You're missing:
MOIS.MouseState_NativePtr state = mouse.MouseState;
state.width = (int)renderWindow.Width;
state.height = (int)renderWindow.Height;
smiley80
30-07-2009 20:44:40
By the way, how can I adjust mouse speed?
galaktor
31-07-2009 00:09:34
By the way, how can I adjust mouse speed?
Not possible in MOIS afaik.
I could add a mouse speed multiplicator. The only problem I see atm is that it would screw up the absolute position stored in MouseState of Mois.Mouse.
In any case, in the next version you can insert the mouse coordinates directly, which could be used to realize something like that.
smiley80
31-07-2009 01:41:57
SetMaterialOpacity(this.BorderPanel.MaterialName, this.Opacity);
galaktor
31-07-2009 11:38:03
galaktor
31-07-2009 11:44:00
smiley80
31-07-2009 12:29:53
I have a question concerning the ability to define events inside the xml. Is there anyway to deactivate the import of those events? The thing is, I think it is a security problem when allowing the user to inject c# code directly into my program.
I would rather define the event code within my assembly but still load the gui from an xml. Is that possible?
GuiManager.Singleton.GetControl("MyButton").MouseClick += ...
I also think I just found a bug. If a listbox is longer than the panel containing it, the list keeps on going outside of the control. Maybe you already know about it, but it would be cool if that could be fixed at some point.
Either just cut off the rest (not so cool), or allow a panel to be scrollable as soon as there are larger controls within it (way cooler).
galaktor
31-07-2009 12:45:12
I would rather define the event code within my assembly but still load the gui from an xml. Is that possible?
You can always do something like this:
GuiManager.Singleton.GetControl("MyButton").MouseClick += ...
smiley80
31-07-2009 13:00:52
// Import Events
ei.AddEventHandler(c, Delegate.CreateDelegate(ei.EventHandlerType, mi));
galaktor
31-07-2009 13:56:00
No, you have to remove the relevant parts in GuiSerializer.ImportControl.
From line 285:
// Import Events
to the closing bracket in line 335.
Or just comment out:
ei.AddEventHandler(c, Delegate.CreateDelegate(ei.EventHandlerType, mi));
galaktor
31-07-2009 14:20:49
smiley80
31-07-2009 14:32:55
galaktor
31-07-2009 15:53:29
galaktor
31-07-2009 16:25:45
smiley80
31-07-2009 18:09:42
I would appreciate it if the 'Initialize' method would have more overloads.
Initialize(bool suppressGuiLoad)
Initialize(MOIS.Mouse mouse, MOIS.Keyboard keyboard, bool suppressGuiLoad)
Will Miyagi support rendering the GUI to more than one camera?
galaktor
31-07-2009 21:38:15
Initialize(MOIS.Mouse mouse, MOIS.Keyboard keyboard, bool suppressGuiLoad)
It gets the former parameters (SceneManager, Camera and resolution) automatically now. But those can also be changed manually afterwards.
smiley80
31-07-2009 22:35:20
galaktor
02-08-2009 19:10:16
smiley80
02-08-2009 19:52:56
galaktor
04-08-2009 13:27:57
In beta3, all changes you make to a control (Position, Size and so on) are delayed till the next update.
rattus
04-08-2009 16:23:58
Miyagi.GuiManager.Singleton.CreateCursor( "Cursor",
new Miyagi.Size( 16, 16 ),
new Miyagi.Position( 8, 8 ) );
Miyagi.Gui gui = Miyagi.GuiManager.Singleton.CreateGui( "Gui1" );
gui.Mode = Miyagi.GuiMode.XPopup;
gui.PopupRange = new Pair<float, float>( 0, 0.05f );
Miyagi.Panel panelXpop = new Miyagi.Panel( "Xpop", "Panel2",
new Miyagi.Size( 100, _viewport.ActualHeight),
new Miyagi.Position( 0, 0 ) )
{
ResizeMode = Miyagi.Orientations.None
};
gui.Controls.Add( panelXpop );
at Miyagi.Label.Dispose(Boolean disposing)
at Miyagi.BaseControl.Dispose()
at Miyagi.Gui.DeleteAllControls()
at Miyagi.Gui.Dispose(Boolean disposing)
at Miyagi.Gui.Dispose()
at Miyagi.GuiManager.DeleteGui(String name)
at Miyagi.GuiManager.Shutdown()
at RoboRally.Client.MainWindow.DestroyScene() in \MainWindow.cs:line 429
at RoboRally.Client.MainWindow.Go() in \MainWindow.cs:line 55
at RoboRally.Client.Program.Main(String[] args) in \Program.cs:line 20
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
smiley80
04-08-2009 19:22:37
So Miyagi receives events from MOIS each time I perfom a capture on keyboard and mouse, meaning that in just that moment the changes are applied to the gui - but will only be displayed at the next update (beta3)...right?
All runs fine but when quitting, on Miyagi.GuiManager.Shutdown() i get exception disposing label.
Also even if i hide the cursor the popup reacts when mouse gets in the position for popup to activate ( i hope this will be solved by the changes to update in beta3 ).
rattus
05-08-2009 08:15:38
If that's an NullReferenceException, that'll be fixed in the next release. Happen when DefaultTextScheme is not set.
galaktor
05-08-2009 19:40:39
anyway thanks and please release beta3 soon
smiley80
07-08-2009 02:04:22
galaktor
08-08-2009 09:23:07
System.NullReferenceException wurde nicht behandelt.
Message="Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
Source="Miyagi"
StackTrace:
bei Miyagi.Core.Cursor.Update()
bei Miyagi.Core.GuiManager.Update(Boolean captureInput)
bei MogreSpike.Program.root_FrameEnded(FrameEvent evt) in[SOMEPATH]\Program.cs:Zeile 1623.
bei Mogre.Root.raise_FrameEnded(FrameEvent evt)
bei Mogre.Root.OnFrameEnded(FrameEvent evt)
bei Mogre.FrameListener_Director.frameEnded(FrameListener_Director* , FrameEvent* evt)
bei Ogre.Root.renderOneFrame(Root* )
bei Mogre.Root.RenderOneFrame()
bei MogreSpike.Program.<Main>b__1() in [SOMEPATH]Program.cs:Zeile 1439.
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException:
GuiManager.Singleton.Initialize(Program.mouse, Program.keyboard, true );
Miyagi.Serialization.XmlSerializer.ImportFromFile( @"content\materials\textures\gui\mogrespike.mgx" );
Gui gui1 = GuiManager.Singleton.Guis[ "MainGui" ];
gui1.GetControl( "Background" ).MousePressed += ( sender, e ) =>
{
Console.WriteLine("Background clicked!");
};
GuiManager.Singleton.Update(false);
smiley80
08-08-2009 13:24:25
Xml deserialization fails with a NullPointerException as soon as you remove a child node that describes a GUI in XML. In my case, I did not want the background to have a texture, so I just took out the node.
- I like that I have more control over the way Miyagi gets it's MOIS inputs. It is weird, though, that the InputManager has methods to inject mouse input, but not for the keyboard. It would be cool if I wouldn't have to give Miyagi keyboard or mouse at all, just use the inject methods every frame to feed it.
So, here is my actual error. I get an exception when calling GuiManager.Update() the first time:
Could there be a problem because I am calling the update from a separate thread? Here is my setup code:
galaktor
12-08-2009 13:46:36
There's a potential NullReferenceException if the MaterialScheme of the cursor is not defined correctly.
Is it possible, that the separate thread calls Update before the other one finishes initializing the GuiManager?
Zonder
14-08-2009 09:07:52
Next up in Beta 3:
Gui Editor
Python and/or Lua integration
luismesas
19-08-2009 12:36:06
GuiManager.CreateMaterialScheme("BackgroundMaterial", typeof(Panel), "Magic", true);
smiley80
19-08-2009 22:05:46
Could I suggest you use the .NET Dynamic Language Runtime (http://www.codeplex.com/dlr) will make things simpler also you have a choice or different scripting languages
Hi,
Can panels be transparent?
new Panel("Panel1", string.Empty, new Size(300, 200), new Position(50, 50));
boyamer
19-08-2009 22:43:54
luismesas
20-08-2009 09:52:40
Transparent textures should work.
Try saving the texture with another program, or use a different file format that supports transparency (gif, tiff).
Another way to achieve that is passing an empty string or null as the parameter for material in the Panel constructor.
new Panel("Panel1", string.Empty, new Size(300, 200), new Position(50, 50));
smiley80
22-08-2009 06:56:39
GuiManager.Singleton.PluginManager.LoadPlugin("Miyagi.Scripting.CSharp");
Sprites can be zoomed or rotated?
Is any way to get the cursor on a fixed position? for instance, I want the cursor fixed on it's current position when I move a camera.
galaktor
22-08-2009 22:27:07
Is any way to get the cursor on a fixed position? for instance, I want the cursor fixed on it's current position when I move a camera.
smiley80
23-08-2009 22:32:07
token
24-08-2009 17:13:08
smiley80
25-08-2009 01:28:22
One small question. I have not found a way to manually focus a control.
token
28-08-2009 16:11:21
tp = TextureManager.Singleton.GetByHandle(currChunk.TexHandle);
smiley80
28-08-2009 18:51:11
First I have ( maybe had ) a problem with the TerrainSceneManager:
So now I get a InvalidCastException in SpriteRenderer.cs at line 255 :
TexturePtr t = TextureManager.Singleton.Load("Button.png", ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME);
ResourceGroupManager.Singleton.InitialiseAllResourceGroups();
token
28-08-2009 22:53:10
... ( Ogre Init )
23:53:42: ***************************************
23:53:42: *** D3D9 : Subsystem Initialised OK ***
23:53:42: ***************************************
23:53:42: ResourceBackgroundQueue - threading disabled
23:53:42: Particle Renderer Type 'billboard' registered
23:53:42: Added resource location '..\Media' of type 'FileSystem' to resource group 'General'
23:53:42: Added resource location '..\Media\Gui' of type 'FileSystem' to resource group 'General'
23:53:42: Parsing scripts for resource group Autodetect
23:53:42: Finished parsing scripts for resource group Autodetect
23:53:42: Parsing scripts for resource group General
23:53:42: Parsing script OldButton.material
23:53:42: Parsing script BerlinSans32.fontdef
23:53:42: Finished parsing scripts for resource group General
23:53:42: Parsing scripts for resource group Internal
23:53:42: Finished parsing scripts for resource group Internal
23:53:42: Texture: Button.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Mesh: Loading cube.mesh.
23:53:42: Can't assign material 1 - Default to SubEntity of DummyEntity because this Material does not exist. Have you forgotten to define it in a .material script?
23:53:42: *** Initializing OIS ***
23:53:42: Texture: Button.Focused.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Texture: EventButton.MouseEnter.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Texture: EventButton.MouseLeave.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Texture: EventButton.MousePressed.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Texture: EventButton.MouseReleased.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Texture: EventButton.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Texture: Checkbox.Checked.png: Loading 1 faces(PF_R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,32x32x1.
23:53:42: Texture: Checkbox.Focused.Checked.png: Loading 1 faces(PF_R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,32x32x1.
23:53:42: Texture: Checkbox.Focused.png: Loading 1 faces(PF_R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,32x32x1.
23:53:42: Texture: Checkbox.png: Loading 1 faces(PF_R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,32x32x1.
23:53:42: Texture: Radiobutton.Checked.png: Loading 1 faces(PF_A8R8G8B8,16x16x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,16x16x1.
23:53:42: Texture: Radiobutton.png: Loading 1 faces(PF_A8R8G8B8,16x16x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,16x16x1.
23:53:42: Texture: Panel.Border.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
23:53:42: Texture: Panel.png: Loading 1 faces(PF_A8R8G8B8,600x500x1) with 9 generated mipmaps from Image. Internal format is PF_A8R8G8B8,600x500x1.
23:53:42: Texture: Textbox.Focused.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Texture: Textbox.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Texture: Listbox.png: Loading 1 faces(PF_A8R8G8B8,80x300x1) with 8 generated mipmaps from Image. Internal format is PF_A8R8G8B8,80x300x1.
23:53:42: Texture: Listbox.ScrollBar.png: Loading 1 faces(PF_A8R8G8B8,16x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,16x128x1.
23:53:42: Texture: Listbox.ScrollBar.Thumb.Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
23:53:42: Texture: Listbox.ScrollBar.Thumb.png: Loading 1 faces(PF_A8R8G8B8,15x60x1) with 5 generated mipmaps from Image. Internal format is PF_A8R8G8B8,15x60x1.
23:53:42: Texture: DropDownList.List.png: Loading 1 faces(PF_A8R8G8B8,80x300x1) with 8 generated mipmaps from Image. Internal format is PF_A8R8G8B8,80x300x1.
23:53:42: Texture: DropDownList.png: Loading 1 faces(PF_A8R8G8B8,100x25x1) with 6 generated mipmaps from Image. Internal format is PF_A8R8G8B8,100x25x1.
23:53:42: Texture: DropDownList.ScrollBar.png: Loading 1 faces(PF_A8R8G8B8,16x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,16x128x1.
23:53:42: Texture: DropDownList.ScrollBar.Thumb.Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
23:53:42: Texture: DropDownList.ScrollBar.Thumb.png: Loading 1 faces(PF_A8R8G8B8,15x60x1) with 5 generated mipmaps from Image. Internal format is PF_A8R8G8B8,15x60x1.
23:53:42: Texture: ProgressbarH.Bar.png: Loading 1 faces(PF_A8R8G8B8,90x20x1) with 6 generated mipmaps from Image. Internal format is PF_A8R8G8B8,90x20x1.
23:53:42: Texture: ProgressbarH.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:42: Texture: ProgressbarV.Bar.png: Loading 1 faces(PF_A8R8G8B8,20x90x1) with 6 generated mipmaps from Image. Internal format is PF_A8R8G8B8,20x90x1.
23:53:43: Texture: ProgressbarV.png: Loading 1 faces(PF_A8R8G8B8,128x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
23:53:43: Texture: SliderH.Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
23:53:43: Texture: SliderH.png: Loading 1 faces(PF_R8G8B8,128x16x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,128x16x1.
23:53:43: Texture: SliderH.Thumb.Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
23:53:43: Texture: SliderH.Thumb.png: Loading 1 faces(PF_A8R8G8B8,10x30x1) with 4 generated mipmaps from Image. Internal format is PF_A8R8G8B8,10x30x1.
23:53:43: Texture: SliderV.png: Loading 1 faces(PF_A8R8G8B8,16x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,16x128x1.
23:53:43: Texture: SliderV.Thumb.png: Loading 1 faces(PF_A8R8G8B8,30x10x1) with 4 generated mipmaps from Image. Internal format is PF_A8R8G8B8,30x10x1.
23:53:43: Texture: Cursor.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
23:53:43: Texture: Cursor.ResizeBottomLeft.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
23:53:43: Texture: Cursor.ResizeBottomRight.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
23:53:43: Texture: Cursor.ResizeLeft.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
23:53:43: Texture: Cursor.ResizeTop.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
23:53:43: Font Miyagi_bluehigh.ttf_12using texture size 256x256
23:53:43: Info: Freetype returned null for character 127 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 128 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 129 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 130 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 131 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 132 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 133 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 134 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 135 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 136 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 137 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 138 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 139 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 140 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 141 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 142 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 143 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 144 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 145 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 146 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 147 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 148 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 149 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 150 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 151 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 152 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 153 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 154 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 155 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 156 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 157 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 158 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 159 in font Miyagi_bluehigh.ttf_12
23:53:43: Info: Freetype returned null for character 160 in font Miyagi_bluehigh.ttf_12
23:53:43: Texture: Miyagi_bluehigh.ttf_12Texture: Loading 1 faces(PF_BYTE_LA,256x256x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,256x256x1.
23:53:43: Font Miyagi_bluehigh.ttf_16using texture size 512x256
23:53:43: Info: Freetype returned null for character 127 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 128 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 129 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 130 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 131 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 132 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 133 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 134 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 135 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 136 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 137 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 138 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 139 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 140 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 141 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 142 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 143 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 144 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 145 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 146 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 147 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 148 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 149 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 150 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 151 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 152 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 153 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 154 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 155 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 156 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 157 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 158 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 159 in font Miyagi_bluehigh.ttf_16
23:53:43: Info: Freetype returned null for character 160 in font Miyagi_bluehigh.ttf_16
23:53:43: Texture: Miyagi_bluehigh.ttf_16Texture: Loading 1 faces(PF_BYTE_LA,512x256x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,512x256x1.
23:53:43: Font Miyagi_bluehigh.ttf_14using texture size 512x256
23:53:43: Info: Freetype returned null for character 127 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 128 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 129 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 130 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 131 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 132 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 133 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 134 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 135 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 136 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 137 in font Miyagi_bluehigh.ttf_14
23:53:43: Info: Freetype returned null for character 138 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 139 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 140 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 141 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 142 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 143 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 144 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 145 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 146 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 147 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 148 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 149 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 150 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 151 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 152 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 153 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 154 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 155 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 156 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 157 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 158 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 159 in font Miyagi_bluehigh.ttf_14
23:53:44: Info: Freetype returned null for character 160 in font Miyagi_bluehigh.ttf_14
23:53:44: Texture: Miyagi_bluehigh.ttf_14Texture: Loading 1 faces(PF_BYTE_LA,512x256x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,512x256x1.
23:53:44: Texture: berlin_sans32.png: Loading 1 faces(PF_A8R8G8B8,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
23:53:44: Texture: Background.png: Loading 1 faces(PF_R8G8B8,1024x768x1) with 10 generated mipmaps from Image. Internal format is PF_X8R8G8B8,1024x768x1.
23:53:44: Texture: Logo.png: Loading 1 faces(PF_A8R8G8B8,283x200x1) with 8 generated mipmaps from Image. Internal format is PF_A8R8G8B8,283x200x1.
23:53:44: Texture: ListBoxTexture1.png: Loading 1 faces(PF_A8R8G8B8,79x20x1) with 6 generated mipmaps from Image. Internal format is PF_A8R8G8B8,79x20x1.
end of log
smiley80
29-08-2009 00:29:39
Maybe it's about the failing fonts ?
I can try/catch the Exceptions and bypass them , so I can get to the known GUI screen. But half the textures are not loaded, like in the screen below:
Will it be ( or maybe it is already) possible to run miyagi without MOIS but with .net key and mouse events ?
boyamer
31-08-2009 08:02:39
smiley80
31-08-2009 14:27:45
GuiManager.Singleton.PluginManager.LoadPlugin(PathToAssembly, ArrayOfObjects(optional));
GuiManager.Singleton.PluginManager.UnloadPlugin(BasePlugin or NameOfPlugin);
or
GuiManager.Singleton.PluginManager.UnloadAllPlugins()
smiley80
16-09-2009 22:51:32
boyamer
21-09-2009 22:56:35
smiley80
22-09-2009 20:09:37
boyamer
23-09-2009 08:13:37
smiley80
23-09-2009 20:21:03
kubatp
23-09-2009 21:38:42
in Mogre.TexturePtr.op_Implicit(ResourcePtr ptr)
v Miyagi.Rendering.SpriteRenderer.RenderSprites()
v Miyagi.Rendering.RenderManager.FireRenderers()
v Miyagi.Rendering.RenderManager.RenderQueue_Started(Byte queueGroupId, String invocation, Boolean& skipThisInvocation)
v Mogre.SceneManager.raise_RenderQueueStarted(Byte queueGroupId, String invocation, Boolean& skipThisInvocation)
v Mogre.SceneManager.OnRenderQueueStarted(Byte queueGroupId, String invocation, Boolean& skipThisInvocation)
v Mogre.RenderQueueListener_Director.renderQueueStarted(RenderQueueListener_Director* , Byte queueGroupId, basic_string<char\,std::char_traits<char>\,std::allocator<char> >* invocation, Boolean* skipThisInvocation)
v Ogre.Root.renderOneFrame(Root* )
v Mogre.Root.RenderOneFrame()
v Aggressors.UI.MogreForm.Go() v D:\pavel\uceni\agresori\currentVersion\GUI\MogreForm.cs:řádek 85
v Aggressors.UI.MogreForm.Run() v D:\pavel\uceni\agresori\currentVersion\GUI\MogreForm.cs:řádek 65
v Aggressors.UI.Program.Main() v D:\pavel\uceni\agresori\currentVersion\GUI\Program.cs:řádek 19
smiley80
23-09-2009 23:44:17
Am I doing something wrong?
kubatp
24-09-2009 00:15:32
boyamer
24-09-2009 08:30:02
kubatp
24-09-2009 10:42:19
smiley80
24-09-2009 11:20:05
Hi,
I actually have a laptop - Asus f3jp AP098C (GPU ATI Mobility Radeon X1700 256MB)
kubatp
24-09-2009 11:37:10
smiley80
24-09-2009 18:40:43
kubatp
24-09-2009 22:23:55
smiley80
24-09-2009 23:22:01
the FPS is low (just 60), but it works.
kubatp
26-09-2009 10:08:34
smiley80
27-09-2009 00:57:30
however there is one thing I have noticed - every time, right before the exception is thrown, one of those components changes colour to white. Is this something helpful or you already know this?
I have one more question - why there is no way to set the position of the mouse cursor?
kubatp
28-09-2009 12:05:59
I get that when I use a wrong texture handle, but it doesn't crash.
You could use GuiManager.InputManager.InjectMouseMoved(x, y, false) where x and y are the new absolute mouse position.
But Mois doesn't support setting the mouse position, so you'll end up with the old position when you move the mouse.
kubatp
30-09-2009 23:59:26
smiley80
01-10-2009 00:53:46
I see. So another question. Is there a way how to prevent mouse from moving?
I am trying to add button with hover and press effect. How to implement this the easiest way?
GuiManager.Singleton.CreateMaterialScheme("ButtonMaterial", typeof(Button), "MyButton", false);
new Button("Button", "ButtonMaterial", new Size(128, 32), new Position(100, 300));
smiley80
01-10-2009 09:02:05
private void SetMousePosition(int x, int y)
{
MOIS.MouseState_NativePtr msnp = this.inputMouse.MouseState;
MOIS.Axis_NativePtr anp = msnp.X;
anp.abs = x;
anp = msnp.Y;
anp.abs = y;
GuiManager.Singleton.InputManager.InjectMouseMoved(x, y, false);
}
kubatp
01-10-2009 10:23:47
kubatp
01-10-2009 21:07:05
smiley80
01-10-2009 22:31:58
1) I read all three options of the text scheme creation. Definitely the easiest way is to use ttf file, but is there a way to extend the look by any "effects"? For example the "outer glow" effect? If not, I guess the only way it to create image font with the glyphs already having this effect, right?
3) What materialScheme method would you recommend? Is it better to learn how to write this mgx file and load it from this or create it in code (like you suggested) or use Ogre Materials (which seem to be depreciated from the note in readme file)?
1) I am not sure how can I fix the control to a specified anchor. I know there is this anchor property, but I tried to use it and it still sets the position to top left corner
2) The button texture seems to be "blurred" when I sees it in my application. I have been wondering if it's not because of the texturefiltering, however when I change the texturefiltering to none, it was the same.
kubatp
02-10-2009 00:08:03
Anchor only specifies how the control behaves when its parent gets resized (like in WinForms).
Might be due to scaling.
Do you see any difference if you set the filtering to linear (i.e. its more blurred)?
smiley80
03-10-2009 02:22:51
I am not sure if I understand it correctly. Does it really work the same way like WinForms do? Winforms can be anchored to the specified corner and when user resizes it, the control will stay in the same distance to the anchored corner. The Mogre GUI works another way. When it's resized, it just "zooms" the same screen, so there is actually no anchor. The question is, how can I anchore the control to the right bottom corner, when I don't know in advance the window size. Is it understanable?
luismesas
05-10-2009 10:01:29
panel.Controls.Remove(button);
button.Dispose();
smiley80
05-10-2009 14:33:35
Will remove button from that panel. Will be button properly destroyed or is there a better way?
MouseHover is only raised if no mouse button is pressed. Is any way to enable it to be raised with a button pressed?
Is there any way to catch mouse events not used by gui. (moves over no control, clicks over no control...)
kubatp
05-10-2009 14:59:44
luismesas
05-10-2009 15:05:24
Just calling Dispose is sufficient. That includes removing the control from its parent.
No, but that behaviour might change in future versions.
You could subscribe to the the Mois events and check whether GuiManager.Singleton.GetTopControl() returns null.
smiley80
05-10-2009 17:06:22
1) Is it possible to attach to Miyagi Panel a 3D object (mesh)? I would like to add to one of my panels a 3D object (unit) which will rotate on one of axis. If it's not possible to do it, what is the easiest way to display a 3d unit picture on panel?
MeshElement me = new MeshElement("MyMeshElement", "MyMeshName", new Size(32, 32), new Position(0, 0));
myPanel.Meshes.Add(me);
2) On one of my another panels should be a game map. This map is dynamic - it's a 2D picture, but dynamic. Is it possible to create a dynamic picture (or texture) on the fly and display it?
3) I have more panels and two of them have one pixel border around them, which doesn't exist in the png texture. I can send a screenshot. The weird thing is, that the border is not around the whole panel. It's ok in the corners. Do you have any ideas, what can be a problem here?
4) I am still getting the same exceptions as I did before. Are there any ways how can I help with the investigation?
Is GetTopControl() a big load?.
kubatp
05-10-2009 22:22:42
Something like this:
CODE: SELECT ALL
MeshElement me = new MeshElement("MyMeshElement", "MyMeshName", new Size(32, 32), new Position(0, 0));
myPanel.Meshes.Add(me);
Problem at the moment is that the cursor will be rendered behind the mesh.
Try a larger texture or a texture with power-of-2 dimensions (if this isn't already the case).
It would be nice if you could compile the SVN version, i.e. you'll need .Net 3.5 and VS2008 or #D 3.0.
The next version will have a PictureBox.
smiley80
06-10-2009 00:54:00
I have tried this with no luck. The mesh is definitely found, but it's not displayed. When I change the mesh name to something non-existing, it throws the exception straight away.
- More controls mean faster crash
I absolutely appreciate, that this is just your hobby to create this GUI system. I just need to know roughly when this new version will be created. You mean new version like 1.0 beta 4d or like 2.0?
MaterialScheme msMap = new MaterialScheme("Map");
msMap.Textures["Map"] = "dummy.png";
GuiManager.Singleton.MaterialSchemes.Add(msMap);
unsafe void DrawMap(System.Drawing.Bitmap bitmap)
{
TexturePtr tex = TextureManager.Singleton.Load("dummy.png", ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME);
HardwarePixelBufferSharedPtr texBuffer = tex.GetBuffer();
texBuffer.Lock(HardwareBuffer.LockOptions.HBL_DISCARD);
PixelBox pb = texBuffer.CurrentLock;
using (System.Drawing.Bitmap bm = new System.Drawing.Bitmap(
(int)tex.Width,
(int)tex.Height,
(int)((tex.Width * 4) + (pb.RowSkip * 4)),
System.Drawing.Imaging.PixelFormat.Format32bppArgb,
pb.data))
{
using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bm))
{
g.DrawImage(bitmap, 0, 0);
}
}
texBuffer.Unlock();
texBuffer.Dispose();
}
boyamer
06-10-2009 16:41:33
kubatp
06-10-2009 21:52:50
Argh, that's a bug. Only happens when you use DirectX, should work fine in OpenGL.
I've tested it with ~1000 controls for ~2 hours and it didn't crash.
I'll prepare some test assemblies in the course of this week, maybe that sheds some light upon the cause of the exception.
smiley80
06-10-2009 22:56:43
Will this be available in the next release?
I noticed, that if I define an image font, it is displayed as black only and I can't change colour to something else. Is there some kind of flag, I have to change to have colourful fonts? Currently it's just black.
foreach (MaterialChangingEvent mce in Enum.GetValues(typeof(MaterialChangingEvent)))
{
myTextScheme.Colours[mce] = new TextScheme.ColourDefinition(colour);
}
kubatp
06-10-2009 23:19:01
You can change the colour with:
CODE: SELECT ALL
foreach (MaterialChangingEvent mce in Enum.GetValues(typeof(MaterialChangingEvent)))
{
myTextScheme.Colours[mce] = new TextScheme.ColourDefinition(colour);
}
smiley80
06-10-2009 23:42:13
kubatp
07-10-2009 10:16:11
smiley80
07-10-2009 20:20:37
kubatp
07-10-2009 23:34:28
luismesas
08-10-2009 10:19:05
Okay, here are the test assemblies: tests.zip
Test 4 will not show any textures.
Test 6 will not render anything at all.
luismesas
08-10-2009 10:22:24
kubatp
08-10-2009 10:26:50
luismesas
08-10-2009 10:34:57
kubatp
08-10-2009 10:47:50
luismesas
08-10-2009 11:04:04
kubatp
08-10-2009 11:35:00
smiley80
08-10-2009 16:30:28
1 - works
2 - crashes
3 - crashes after a while
4 - works
5 - works
6 - crashes
For a password textbox, what do you recommend? to use a font with all characters replaced by a mask character or to capture the KeyPress event?
Perhaps this is related too: I'm constantly adding and removing buttons from a panel and resizing Panel according to number of buttons. I have added to it's Controls Collection. Sometimes Panel texture is rendered on a missplaced position-size. But surprissingly this position-size corresponds to another panel I used in a different class (but on same GUI object). I'm sure on panel names being different and I even checked using different materials for them.
luismesas
08-10-2009 17:53:09
Try to set the parent of the buttons to null or, if feasible, dispose them.
kubatp
08-10-2009 21:48:58
Hmm, that's strange. If #1 works, #3 and #6 should also work, so please try to crash #1.
Do you see any differences between the debug and release dlls of beta 4c?
kubatp
08-10-2009 22:50:09
Miyagi.Core.TextScheme nyalaImage2 = Miyagi.Core.TextScheme.FromFont("imagefontsmall", (FontPtr)FontManager.Singleton.Load("guifontsmall", ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME));
foreach (Miyagi.Core.MaterialChangingEvent mce in Enum.GetValues(typeof(Miyagi.Core.MaterialChangingEvent)))
{
nyalaImage2.Colours[mce] = new Miyagi.Core.TextScheme.ColourDefinition(ColourValue.White);
}
nyalaImage2.CreateFont();
nyalaImage2.Name = "imagefontsmall";
nyalaImage2.SpaceWidth = 0;
Miyagi.Core.GuiManager.Singleton.TextSchemes.Add(nyalaImage2);
Miyagi.Core.TextScheme nyalaImage = Miyagi.Core.TextScheme.FromFont("imagefont", (FontPtr)FontManager.Singleton.Load("guifont", ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME));
nyalaImage.CreateFont();
nyalaImage.Name = "imagefont";
Miyagi.Core.GuiManager.Singleton.TextSchemes.Add(nyalaImage);
foreach (Miyagi.Core.MaterialChangingEvent mce in Enum.GetValues(typeof(Miyagi.Core.MaterialChangingEvent)))
{
nyalaImage.Colours[mce] = new Miyagi.Core.TextScheme.ColourDefinition(ColourValue.White);
}
smiley80
09-10-2009 01:20:20
Assembly Test 1 worked.
1) I declared two image fonts this way:
2) Is there a way how to set MOIS mouse sensitivity? (it's maybe not directly related to Miyagi).
kubatp
09-10-2009 08:23:17
Do those fonts, by any chance, point to the same texture or have both textures the same name?
guifontsmall
{
type image
source guifontsmall.png
glyph ! 0.0859375 0.125 0.101563 0.1875
guifont
{
type image
source guifont.png
glyph ! 0.0859375 0.125 0.101563 0.1875
Not to my knowledge. But because I now know how to set the mouse position, I'll try to implement it.
luismesas
09-10-2009 09:13:48
Smiley thank you for your efford, but this is really low priority and not related to Miyagi anyway. I think you have helped me (and all the guys who use Miyagi) already a lot. I know you have lot of work with Miyagi itself, so don't waste your valuable time with this:)
kubatp
09-10-2009 10:30:00
luismesas
09-10-2009 17:14:48
For a password textbox, what do you recommend? to use a font with all characters replaced by a mask character or to capture the KeyPress event?
The former should be easier. I'll add a PasswordChar property in the next version.
kierenj
09-10-2009 18:11:31
kubatp
09-10-2009 20:08:14
smiley80
10-10-2009 01:41:07
I actually have one more question. Is it possible to add Miyagi controls to the MOGRE node (i.e. to SceneNode)? I would like to display small panels with texts on the terrain.
Hiya -
I'm writing my own GUI for Mogre (only for my use atm), from first principles - I was wondering how you dealt with scrolling content, eg text within a textbox or vertically scrolling windows / parent controls (does Miyagi do the latter?).
Do you just manually calculate each character's position/texcoords to fit the textbox, or do something stencilly/clippy?
Hi Smiley,
actually one more - Panel has Border property. How should I use this UV? It's not describe in the help file.
Thank you
kierenj
10-10-2009 09:52:13
luismesas
11-10-2009 18:57:36
19:58:14: WARNING: Texture instance 'Miyagi_Caret' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
smiley80
11-10-2009 20:33:01
kubatp
12-10-2009 11:48:54
You need to get the 2D coordinates of the node like described here (Note: they are [0;1]), and then update the position of the control. If you want to zoom the controls, you need the distance of the node to the camera, and then change the size of the control appropriately.
kubatp
12-10-2009 11:56:37
smiley80
12-10-2009 18:24:01
This solution seems to be little bit dirty. I understand, that you get position of the element on the screen and you can place there Miyagi controls. But isn't it dirty solution?
private void AttachToMovableObject(MovableObject mo, BaseControl control)
{
Vector2 result;
if (GetScreenspaceCoords(mo, this.camera, out result))
{
int x = (int)(result.x * this.window.Width);
x -= control.Width / 2;
int y= (int)(result.y * this.window.Height);
control.Position = new Position(x,y);
}
}
private bool GetScreenspaceCoords(MovableObject mo, Camera camera, out Vector2 result)
{
result = Vector2.ZERO;
if(!mo.IsInScene)
return false;
AxisAlignedBox AABB = mo.GetWorldBoundingBox(true);
Vector3 point = (AABB.GetCorner(AxisAlignedBox.CornerEnum.FAR_LEFT_BOTTOM)
+ AABB.GetCorner(AxisAlignedBox.CornerEnum.FAR_RIGHT_BOTTOM)
+ AABB.GetCorner(AxisAlignedBox.CornerEnum.NEAR_LEFT_BOTTOM)
+ AABB.GetCorner(AxisAlignedBox.CornerEnum.NEAR_RIGHT_BOTTOM)) / 4;
// Is the camera facing that point? If not, return false
Plane cameraPlane = new Plane(camera.DerivedOrientation.ZAxis, camera.DerivedPosition);
if(cameraPlane.GetSide(point) != Plane.Side.NEGATIVE_SIDE)
return false;
// Transform the 3D point into screen space
point = camera.ProjectionMatrix * (camera.ViewMatrix * point);
// Transform from coordinate space [-1, 1] to [0, 1] and update in-value
result.x = (point.x / 2) + 0.5f;
result.y = 1 - ((point.y / 2) + 0.5f);
return true;
}
rattus
23-10-2009 11:38:54
Miyagi.ListBox tmpList = new Miyagi.ListBox( "tmpList", "Listbox", new Miyagi.Size( 150, 150 ), new Miyagi.Position( 20, 10 ) )
{
TextSchemeName = "WhiteText",
Anchor = Miyagi.Alignments.Left | Miyagi.Alignments.Top,
ItemTextSchemeName = "WhiteText",
};
tmpList.Items.Add( "Test1" );
tmpList.Items.Add( "Test2" );
tmpList.Items.Add( "Test3" );
Miyagi.GuiManager.Singleton.AddOrphanControls( panelBottom.Controls );
smiley80
23-10-2009 12:38:54
( latest version crashes even on sample for me )
rattus
23-10-2009 12:59:29
Try setting tmpList.ItemSize to an appropriate size.
Try the dll in the test1 folder from here (together with the latest release) if it's an InvalidCastException.
PantheR
25-10-2009 06:35:51
smiley80
25-10-2009 08:09:04
Is there smth special about DropDownList scrollbar? It doesn't work for me with dll from Test #1 so i can't scroll down items i need
Another question: Do you have any ideas how to restrict click through GUI elements?
And the last one: Is there any potential release date of a new dll version
or may be usable SVN update including Ptr exception hotfix?
PantheR
25-10-2009 22:28:00
Another question: Do you have any ideas how to restrict click through GUI elements?
Sorry, I'm not entirely sure what you mean.
It should work if there are more items than the DropDownList can display.
smiley80
25-10-2009 23:14:23
I mean that i need to check which Panels(with elements) i click on and do not allow further OnClick event processing for some of them (so called click-through element feature i.e. i'm coding game level editor with mouse pickup functions - i don't need to process pickup on Panel click etc. ). So i have OnMouseClick event working - how can i check which Miyagi elements has been clicked?
I have more items in ddl than i can see but scrollbar isn't interactible - i can see it but i can't do anything with it. I've copied ddl creation from examples found in Miyagi SDK.
P.S.: Smiley80, There is a feature with DropDownListBox i want you to take a notice: when i click ddlb button that show ddList it is Ok but it will be nice to close ddList by clicking that button again (by now you must click elsewhere to close it - it is uncomfortable for apps where every single click elsewhere doeas matter)
PantheR
25-10-2009 23:31:40
I have more items in ddl than i can see but scrollbar isn't interactible - i can see it but i can't do anything with it. I've copied ddl creation from examples found in Miyagi SDK.
Does it work in the sample?
GuiManager.Singleton.Initialize(false);
Gui mygui = GuiManager.Singleton.CreateGui("lvleditor_gui");
GuiManager.Singleton.DefaultTextScheme = GuiManager.Singleton.CreateTextScheme("MyTextScheme", "bluehigh.ttf", 16, 72, ColourValue.Black);
GuiManager.Singleton.CreateTextScheme("MyTextScheme", "bluehigh.ttf", 16, 72, ColourValue.Black);
GuiManager.Singleton.DoScissorTest = true;
TextScheme ts_list = new TextScheme("ts_list", "bluehigh.ttf", 14, 72, ColourValue.Black);
ts_list.Colours[MaterialChangingEvent.MousePressed] = new TextScheme.ColourDefinition(ColourValue.Red, ColourValue.White);
ts_list.Colours[MaterialChangingEvent.MouseEnter] = new TextScheme.ColourDefinition(new ColourValue(1, 1, 1));
GuiManager.Singleton.TextSchemes.Add(ts_list);
GuiManager.Singleton.CreateMaterialScheme("DropDownListMaterial", typeof(Miyagi.Controls.DropDownList), "DropDownList", true);
//Object select panel
Miyagi.Controls.Panel ws_panel = new Miyagi.Controls.Panel("ws_panel", "PanelMaterial", new Miyagi.Core.Size(210, 350), new Position(100, 100))
{
Movable = true,
MinSize = new Miyagi.Core.Size(100,100),
MagneticDockSize = new Miyagi.Core.Size(),
ResizeAreaSize = new Miyagi.Core.Size(),
ZOrder = 10,
Border =
{
Size = new BorderSize(3, 16, 3, 3)
}
};
Miyagi.Controls.DropDownList comb = new Miyagi.Controls.DropDownList("DropDownList", "DropDownListMaterial", new Miyagi.Core.Size(100, 25), new Position(10, 40))
{
ZOrder = 41,
DropDownListSize = new Miyagi.Core.Size(100, 300),
Items =
{
Offset = new Position(5, 0),
Size = new Miyagi.Core.Size(79, 20),
TextScheme = ts_list,
},
Text =
{
Offset = new Position(8, 0)
},
ScrollBar =
{
AlwaysVisible = true,
Width = 16,
Thumb =
{
Border =
{
Size = new BorderSize(2, 2, 2, 2)
}
}
}
};
comb.Items.AddRange(new string[] { "Item1", "Item2", "Item3", "Item4", "Item5", "Item6", "Item7", "Item8", "Item9", "Item10", "Item11", "Item12", "Item13", "Item14", "Item15", "Item16", "Item17", "Item18" });
ws_panel.Controls.Add(comb);
mygui.Controls.Add(ws_panel);
PantheR
25-10-2009 23:36:35
PantheR
26-10-2009 00:05:55
smiley80
26-10-2009 23:31:06
Yes it work. I've checked my code and it seems to be similar... my be i missed smth. So i'm listing my piece of code here
Btw, there is a weird but understandable feature with DropDownList: ddl placed in the panel is croped inside the panel rectangle so if opened ddl is too long in height it will be cut off by the panel rectangle. Instead of this it will be nice to have ddl added to the Panel, but drop down list itself placed as a standalone object above parent panel.
Is that Ok? You've mentioned an update to SVN.
I use: http://miyagi.googlecode.com/svn/trunk/
Am i messed up smth?
PantheR
27-10-2009 23:39:03
Yes it work. I've checked my code and it seems to be similar... my be i missed smth. So i'm listing my piece of code here
Do the items change their colour if you move the mouse over them?
smiley80
29-10-2009 11:12:42
PantheR
31-10-2009 16:55:47
Do you get the same behaviour with ListBoxes?
Note: ScrollBars only move if you drag the thumb; background clicks don't work yet.
kubatp
03-11-2009 21:42:50
smiley80
04-11-2009 00:30:04
kubatp
04-11-2009 10:01:01
kubatp
20-11-2009 10:11:15
luismesas
20-11-2009 10:16:46
luismesas
20-11-2009 10:20:03
texturename.Border.png
luismesas
20-11-2009 10:21:14
Hi Smiley,
actually one more - Panel has Border property. How should I use this UV? It's not describe in the help file.
Thank you
UV describes the uv-coordinates of the center rectangle in the texture that's not used for the actual border.
See Panel.Border.png in the sample, which uses the default value (0.25, 0.25, 0.75, 0.75).
smiley80
20-11-2009 11:02:29
Hi Smiley,
I have a button, which has UV border. I know, that I can change a texture of content on some events, but is it possible to change border texture on these events as well?
Thank you Pavel
BaseName.Focused.Border
kubatp
20-11-2009 11:22:08
kubatp
20-11-2009 19:31:31
No, you'd have to change that manually in the event handler.
But there's separate border material for focused controls (which is somewhat like MousePressed):
CODE: SELECT ALL
BaseName.Focused.Border
smiley80
20-11-2009 20:01:15
How can I set border texture in the event handler, when BorderElement doesn't have the Texture property?
myMs.Textures["windowActionButton.Border"] = "windowActionButton.Focused.Border.png";
This BaseName.Focused.Border doesn't work either.
Beauty
29-11-2009 06:13:38
Beauty
29-11-2009 06:19:45
[assembly: AssemblyTitle("MbuttonGUI")]
[assembly: AssemblyProduct("MbuttonGUI")]
Beauty
01-12-2009 00:40:59
smiley80
01-12-2009 01:33:27
boyamer
01-12-2009 09:59:30
smiley80
01-12-2009 15:51:42
sirleon
04-12-2009 17:55:25
Create a transparent viewport (SetClearEveryFrame(false)) with a higher zOrder than your main viewport, and set GuiManager.Singleton.Camera to the camera of that viewport.
smiley80
04-12-2009 18:50:16
this.guiCam = this.sceneMgr.CreateCamera("GuiCam");
this.guiViewport = this.window.AddViewport(this.guiCam, 10);
this.guiViewport.SetClearEveryFrame(false);
this.guiViewport.ShadowsEnabled = false;
this.guiViewport.SetVisibilityMask(0);
GuiManager.Singleton.Camera = this.guiCam;
rattus
09-12-2009 15:10:47
16:04:27: Texture: Miyagi_bluehigh.ttf_14Texture: Loading 1 faces(PF_BYTE_LA,512x256x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,512x256x1.
16:04:28: Texture: Logo.png: Loading 1 faces(PF_A8R8G8B8,283x200x1) with 9 generated mipmaps from Image. Internal format is PF_A8R8G8B8,512x256x1.
16:04:28: D3D9 : ***** Dimensions altered by the render system
16:04:28: D3D9 : ***** Source image dimensions : 79x20
16:04:28: D3D9 : ***** Texture dimensions : 128x32
16:04:28: Texture: ListBoxTexture1.png: Loading 1 faces(PF_A8R8G8B8,79x20x1) with 7 generated mipmaps from Image. Internal format is PF_A8R8G8B8,128x32x1.
16:04:28: OGRE EXCEPTION(3:RenderingAPIException): Failed to DrawPrimitive : Invalid call in D3D9RenderSystem::_render at ..\src\OgreD3D9RenderSystem.cpp (line 2912)
16:04:28: OGRE EXCEPTION(3:RenderingAPIException): Failed to DrawPrimitive : Invalid call in D3D9RenderSystem::_render at ..\src\OgreD3D9RenderSystem.cpp (line 2912)
16:04:28: *-*-* OGRE Shutdown
Beauty
09-12-2009 20:17:20
rattus
09-12-2009 20:44:46
smiley80
09-12-2009 23:21:09
running old miyagi sample ok
rattus
10-12-2009 10:34:17
smiley80
10-12-2009 13:19:47
WarehouseJim
11-12-2009 11:02:26
GuiMgr.ScreenResolutionX = x;
GuiMgr.ScreenResolutionY = y;
GuiMgr.Cursor.Dispose(); //Dispose, don't set to null, or you'll get dead cursors lying around the screen.
GuiMgr.CreateCursor("CursorMaterial", new Size(16, 16), new Position(0, 0));
GuiMgr.Cursor.Hotspots.Add(Miyagi.Core.Cursor.ResizeLeft, new Position(8, 8));
GuiMgr.Cursor.Hotspots.Add(Miyagi.Core.Cursor.ResizeTop, new Position(8, 8));
GuiMgr.Cursor.Hotspots.Add(Miyagi.Core.Cursor.ResizeTopLeft, new Position(8, 8));
GuiMgr.Cursor.Hotspots.Add(Miyagi.Core.Cursor.ResizeTopRight, new Position(8, 8));
foreach(var gui in GuiMgr.Guis)
{
foreach(var control in gui.Controls)
{
control.ForceRedraw();
}
}
MOIS.MouseState_NativePtr state = inputMouse.MouseState;
state.width = x;
state.height = y;
WarehouseJim
11-12-2009 11:36:56
System.InvalidCastException was unhandled
Message="The underlying type of the ResourcePtr object is not of type Font."
Source="Mogre"
StackTrace:
at Mogre.FontPtr.op_Implicit(ResourcePtr ptr)
at Miyagi.Core.TextScheme.MeasureString(String text) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Core\TextScheme.cs:line 345
at Miyagi.Controls.Label.OnTextChanged(String newText) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Label.cs:line 326
at Miyagi.Controls.Label.Miyagi.Controls.Elements.ITextElementOwner.OnTextChanged(String newText) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Label.cs:line 237
at Miyagi.Controls.Elements.TextElement.OnTextChanged(String newText) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Elements\TextElement.cs:line 235
at Miyagi.Controls.Elements.TextElement.OnStylePropertyChanged(Object sender, PropertyChangedEventArgs e) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Elements\TextElement.cs:line 194
at Miyagi.Controls.Elements.BaseStyle.OnPropertyChanged(String propertyName) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Elements\BaseStyle.cs:line 71
at Miyagi.Controls.Elements.TextStyle.set_Value(String value) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Elements\TextStyle.cs:line 214
at Miyagi.Controls.Label.set_Text(String value) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Label.cs:line 131
at _3dViewer.MogreForm.UpdateFpsStats() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\myproject\3dViewer\MogreForm.cs:line 952
at _3dViewer.MogreForm.FrameStarted(FrameEvent evt) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\myproject\3dViewer\MogreForm.cs:line 608
at Mogre.Root.raise_FrameStarted(FrameEvent evt)
at Mogre.Root.OnFrameStarted(FrameEvent evt)
at Mogre.FrameListener_Director.frameStarted(FrameListener_Director* , FrameEvent* evt)
at Ogre.Root.renderOneFrame(Root* )
at Mogre.Root.RenderOneFrame()
at _3dViewer.MogreForm.Go() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\myproject\3dViewer\MogreForm.cs:line 342
at Test.Program.Main() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\myproject\3dViewer\Program.cs:line 20
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
System.AccessViolationException was unhandled
Message="Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
Source="Mogre"
StackTrace:
at Ogre.TextureUnitState.getTextureName(TextureUnitState* )
at Mogre.TextureUnitState.get_TextureName()
at Miyagi.Core.TextScheme.FontDefinition.get_TextureName() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Core\TextScheme.cs:line 803
at Miyagi.Rendering.RenderManager.CreateQuadsForText(Rect rect, String text, TextScheme textScheme, ColourDefinition colour, TextAlignment alignment, Boolean multiline) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Rendering\RenderManager.cs:line 334
at Miyagi.Controls.Elements.TextElement.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Elements\TextElement.cs:line 127
at Miyagi.Controls.Label.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Label.cs:line 269
at Miyagi.Controls.BaseControl.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\BaseControl.cs:line 2018
at Miyagi.Controls.Label.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Label.cs:line 267
at Miyagi.Controls.BaseTexturedControl.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\BaseTexturedControl.cs:line 351
at Miyagi.Core.Gui.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Core\Gui.cs:line 566
at Miyagi.Core.GuiManager.Update(Boolean captureInput) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Core\GuiManager.cs:line 998
at _3dViewer.MogreForm.Scene_FrameStarted(FrameEvent evt) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\myproject\3dViewer\MogreFormMiyagi.cs:line 605
at Mogre.Root.raise_FrameStarted(FrameEvent evt)
at Mogre.Root.OnFrameStarted(FrameEvent evt)
at Mogre.FrameListener_Director.frameStarted(FrameListener_Director* , FrameEvent* evt)
at Ogre.Root.renderOneFrame(Root* )
at Mogre.Root.RenderOneFrame()
at _3dViewer.MogreForm.Go() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\myproject\3dViewer\MogreForm.cs:line 380
at Test.Program.Main() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\myproject\3dViewer\Program.cs:line 20
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
averageFpsLabel = new Label("averageFpsLabel", new Size(farRightPosition - rightPosition, height), new Position(rightPosition, i * (height + vSpacing))) { Text = "0" };
smiley80
11-12-2009 15:11:59
Is this the right way to do it? Is there a single function to update all?
Do you have any idea what could be causing this?
boyamer
12-12-2009 08:04:29
WarehouseJim
14-12-2009 15:37:53
I hope that's caused by undisposed pointers getting finalized. If that's the case, then it's fixed in r213.
System.AccessViolationException was unhandled
Message="Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
Source="Mogre"
StackTrace:
at Ogre.TextureUnitState.getTextureName(TextureUnitState* )
at Mogre.TextureUnitState.get_TextureName()
at Miyagi.Core.FontDefinition.get_TextureName() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Core\FontDefinition.cs:line 146
at Miyagi.Controls.Elements.TextElement.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Elements\TextElement.cs:line 129
at Miyagi.Controls.Label.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Label.cs:line 260
at Miyagi.Controls.BaseControl.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\BaseControl.cs:line 2043
at Miyagi.Controls.Label.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\Label.cs:line 258
at Miyagi.Controls.BaseTexturedControl.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Controls\BaseTexturedControl.cs:line 342
at Miyagi.Core.Gui.Update() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Core\Gui.cs:line 564
at Miyagi.Core.GuiManager.Update(Boolean captureInput) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\miyagitk2\Miyagi\Core\GuiManager.cs:line 1037
at _3dViewer.MogreForm.Scene_FrameStarted(FrameEvent evt) in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\mysoln\3dViewer\MogreFormMiyagi.cs:line 619
at Mogre.Root.raise_FrameStarted(FrameEvent evt)
at Mogre.Root.OnFrameStarted(FrameEvent evt)
at Mogre.FrameListener_Director.frameStarted(FrameListener_Director* , FrameEvent* evt)
at Ogre.Root.renderOneFrame(Root* )
at Mogre.Root.RenderOneFrame()
at _3dViewer.MogreForm.Go() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\mysoln\3dViewer\MogreForm.cs:line 380
at Test.Program.Main() in C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\mysoln\3dViewer\Program.cs:line 20
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
erroring line: return fp.GetMaterial().GetTechnique(0).GetPass(0).GetTextureUnitState(0).TextureName;
fp points to "Miyagi_bluehigh.ttf_16"
smiley80
14-12-2009 18:53:37
Would be nice if you remove the PINVOKE methods and make it cross platfrom
WarehouseJim
15-12-2009 12:25:45
I've overlooked some pointers, so please try r225
boyamer
16-12-2009 11:13:23
smiley80
24-12-2009 03:56:33
kubatp
24-12-2009 10:01:27
private Miyagi.Controls.Panel GetCityPanel(string cityName, int x, int y)
{
string id = String.Format("citylabel-{0}-{1}", x, y);
Miyagi.Controls.Panel result = new Miyagi.Controls.Panel(id + "panel", "CityPanelMaterial", new Miyagi.Core.Size(130, 24), new Miyagi.Core.Position(0, 0));
result.Movable = false;
result.ResizeMode = Miyagi.Core.ResizeModes.None;
Miyagi.Controls.Label cityLabel = new Miyagi.Controls.Label(id + "label",new Miyagi.Core.Size(120, 20), new Miyagi.Core.Position(5, 2));
cityLabel.Text.Value = cityName;
cityLabel.Text.Alignment = Miyagi.Core.TextAlignment.Center;
cityLabel.Text.TextScheme = EffectTextScheme;
gui.Controls.Add(result);
return result;
}
smiley80
24-12-2009 11:23:10
result.Controls.Add(cityLabel);
kubatp
24-12-2009 16:55:14
private Miyagi.Controls.Panel GetCityPanel(string cityName, int x, int y)
{
string id = String.Format("citylabel-{0}-{1}", x, y);
Miyagi.Controls.Panel result = new Miyagi.Controls.Panel(id + "panel", "CityPanelMaterial", new Miyagi.Core.Size(130, 24), new Miyagi.Core.Position(0, 0));
result.Movable = false;
result.ResizeMode = Miyagi.Core.ResizeModes.None;
Miyagi.Controls.Label cityLabel = result.CreateChildControl<Miyagi.Controls.Label>(id + "label",new Miyagi.Core.Size(120, 20), new Miyagi.Core.Position(5, 2));
cityLabel.Text.Value = cityName;
cityLabel.Text.Alignment = Miyagi.Core.TextAlignment.Center;
cityLabel.Text.TextScheme =EffectTextScheme;
gui.Controls.Add(result);
return result;
}
kubatp
24-12-2009 17:01:00
smiley80
26-12-2009 12:18:55
kubatp
26-12-2009 21:25:58
smiley80
27-12-2009 03:37:00
The ZOrder of every panel was different and the citylabel as well, but the result is still the same. I tried to display only the cityLabel, but it doesn't appear there as well (as standalone element).
- I would suppose, that the ZOrder works this way - you create controls and attach to gui. For these controls, it compares ZOrder and according to this are those controls displayed. When CreateChildControl method is called, it should (I suppose) be displayed this way - all the childs are compared according to ZOrder but this ZOrder is not the same as the ZOrder of the parent controls. I.e. every parent creates its own "stack".
- When two panels (or any elements) have the same zorder, what exactly is the bug? I don't know why, but I already saw occurances, when one element dissapears when another is displayed. Is this it?
- There probably is a problem with border of panel. When I don't use border property, the panel is displayed like this:
kubatp
27-12-2009 19:56:07
Try to add the panels right in the beginning, don't call AttachToMovableObject and make sure the text is small enough to fit into the label.
Miyagi.Core.GuiManager.Singleton.DoScissorTest = false;
smiley80
28-12-2009 13:29:51
WarehouseJim
30-12-2009 15:20:13
smiley80
03-01-2010 19:34:00
WarehouseJim
05-01-2010 21:36:57
smiley80
06-01-2010 15:09:58
kubatp
06-01-2010 19:59:08
smiley80
06-01-2010 20:48:02
kubatp
09-01-2010 23:04:04
//main cursor
Miyagi.Core.GuiManager.Singleton.CreateMaterialScheme("CursorMaterial", typeof(Miyagi.Core.Cursor), "Cursor", true);
Miyagi.Core.GuiManager.Singleton.CreateCursor("CursorMaterial", new Miyagi.Core.Size(16, 16), new Miyagi.Core.Position(0, 0));
//test cursor
string cursorName = "testCursor";
Miyagi.Core.GuiManager.Singleton.CreateMaterialScheme(cursorName, typeof(Miyagi.Core.Cursor), cursorName , true);
Miyagi.Core.GuiManager.Singleton.CreateCursor(cursorName, new Miyagi.Core.Size(56, 56), new Miyagi.Core.Position(28, 28));
Miyagi.Core.GuiManager.Singleton.Cursor.ActiveCursor = cursorName;
smiley80
10-01-2010 00:36:05
Cursor cursor = GuiManager.Singleton.CreateCursor("CursorMaterial", new Miyagi.Core.Size(16, 16), new Miyagi.Core.Position(0, 0));
cursor.Hotspots.Add("MyCustomMode", new Position(8,8));
Miyagi.Core.GuiManager.Singleton.Cursor.ActiveCursor = "MyCustomMode";
kubatp
10-01-2010 12:33:15
smiley80
10-01-2010 15:07:12
Tweetak
11-01-2010 18:44:27
V externí součásti došlo k výjimce.
v Ogre.Font.getGlyphInfo(Font* , UInt32 )
v Mogre.Font.GetGlyphInfo(UInt32 id)
v Miyagi.Rendering.RenderManager.CreateQuadsForText(Rect rect, String text, TextScheme textScheme, ColourDefinition colour, TextAlignment alignment, Boolean multiline)
v Miyagi.Controls.Elements.TextElement.Update()
v Miyagi.Controls.Label.Update()
v Miyagi.Controls.BaseControl.Update()
v Miyagi.Controls.Label.Update()
v Miyagi.Controls.BaseTexturedControl.Update()
v Miyagi.Controls.Panel.Update()
v Miyagi.Core.Gui.Update()
v Miyagi.Core.GuiManager.Update(Boolean captureInput)
smiley80
11-01-2010 19:48:07
font.SetParameter("code_points", "32-255");
kubatp
12-01-2010 16:14:33
Tweetak
12-01-2010 18:24:26
Miyagi creates fonts with the default Ogre code point range, which doesn't include all UTF-8 characters.
Two ways to fix it:
Add the following line to TextScheme.cs after line 245:
font.SetParameter("code_points", "32-255");
and rebuilt it.
Or, use TextScheme.FromFont with a Mogre font whose .fontdef script defines this code point range.
http://www.ogre3d.org/docs/manual/manual_44.html
smiley80
12-01-2010 18:52:18
Tweetak
12-01-2010 19:11:44
@Tweetak
Argh, those fancy characters of yours aren't in UTF-8.
The highest number of the three you mentioned is š (353), so it should work if you change 255 to 353.
But check the other characters first, maybe there's a higher one.
Solver
12-01-2010 19:30:08
smiley80
12-01-2010 20:00:26
Solver
12-01-2010 21:00:09
smiley80
12-01-2010 21:51:44
SpriteRenderer rend = GuiManager.Singleton.RenderManager.CreateRenderer(3);
Sprite sprite = new Sprite(null);
sprite.SetTexture("Logo.png");
// Rect -> position and size, FloatRect -> UV-coordinates
Quad q = GuiManager.Singleton.RenderManager.CreateQuad(ColourValue.White, ColourValue.White, new Rect(0, 0, 100, 100), new FloatRect(0,0,0.5f,0.5f));
sprite.SetQuads(q);
sprite.SetProperties(true, 1, 0, TextureFiltering.Linear);
rend.AddSprite(sprite);
Solver
12-01-2010 21:55:01
smiley80
12-01-2010 22:54:19
kubatp
12-01-2010 23:55:31
smiley80
13-01-2010 00:39:21
kubatp
13-01-2010 13:24:11
kubatp
14-01-2010 14:59:25
smiley80
15-01-2010 00:19:38
Solver
16-01-2010 15:33:29
GuiManager.Singleton.CreateMaterialScheme("MyMaterial", "cooltexture", typeof(Panel), true);
smiley80
16-01-2010 18:03:28
MaterialScheme ms = GuiManager.Singleton.MaterialSchemes["MyMaterial"];
Mogre.TexturePtr tPtr = (Mogre.TexturePtr)Mogre.TextureManager.Singleton.GetByName(ms.Textures["MyMaterial"]);
Solver
16-01-2010 19:19:11
APXEOLOG
31-01-2010 08:31:13
smiley80
31-01-2010 16:26:54
--assemblies
luanet.load_assembly("System")
luanet.load_assembly("Miyagi")
luanet.load_assembly("Miyagi.Controls")
luanet.load_assembly("Mogre")
--imports
DialogBox = luanet.import_type("Miyagi.Controls.DialogBox")
DialogBoxButtons = luanet.import_type("Miyagi.Core.DialogBoxButtons")
DialogResult = luanet.import_type("Miyagi.Core.DialogResult")
Root = luanet.import_type("Mogre.Root")
function Event_Quit_Click(sender, e)
if DialogBox.Show("Do you really want to quit?", "Miyagi Sample", DialogBoxButtons.YesNo) == DialogResult.Yes then
Root.Singleton.RenderSystem:GetRenderTarget("OGRE Render Window"):Destroy()
end
end
// load the Lua scripting plugin
GuiManager.Singleton.PluginManager.LoadPlugin("Plugins\\Miyagi.Scripting.Lua");
// create the EventScriptingScheme (called ScriptingScheme in SVN)
EventScriptingScheme esd = GuiManager.Singleton.CreateEventScriptingScheme("Events");
// set the file path to the above Lua file
esd.FilePath = @"..\Media\Scripts\Events.lua";
// create the EventMethodDefinition (called ScriptMap in SVN) for a control named 'QuitButton'
EventScriptingScheme.EventMethodDefinition emd = new EventScriptingScheme.EventMethodDefinition(GuiManager.Singleton.GetControl("QuitButton"));
// the button's 'MouseClick' event is to be bound to the 'Event_Quit_Click' method
emd.SetEventMethod("MouseClick", "Event_Quit_Click");
esd.EventMethodDefinitions.Add(emd);
// bind all EventScriptingSchemes
GuiManager.Singleton.BindAllEventMethods();
APXEOLOG
31-01-2010 16:59:19
<Border> // When it would work? if define special border image?
<Size>
<Bottom>0</Bottom>
<Left>0</Left>
<Right>0</Right>
<Top>0</Top>
</Size>
<UV> // What is it?
<Left>0.25</Left>
<Top>0.25</Top>
<Right>0.75</Right>
<Bottom>0.75</Bottom>
</UV>
</Border>
<Rectangle> // Cant understand what this parameters do
<Left>0.09</Left>
<Top>0.026041666045785</Top>
<Right>0.22265625</Right>
<Bottom>0.0677083358168602</Bottom>
</Rectangle>
<Texture> // I use material, need i this property?
<FileName>exit.png</FileName>
</Texture>
smiley80
01-02-2010 03:23:45
<Border> // When it would work? if define special border image?
<UV> // What is it?
UV describes the uv-coordinates of the center rectangle in the texture that's not used for the actual border.
See Panel.Border.png in the sample, which uses the default value (0.25, 0.25, 0.75, 0.75).
<Rectangle> // Cant understand what this parameters do
<Texture> // I use material, need i this property?
kubatp
09-02-2010 15:50:50
smiley80
09-02-2010 22:28:50
kubatp
10-02-2010 09:05:50
MiyagiSystem.ResourceManager.CreateSkin("buttonActionUnload", typeof(Miyagi.UI.Controls.Button), "buttonActionUnload", false);
public string this[string skin]
{
get
{
return this.items[skin];//exception thrown here
}
}
smiley80
10-02-2010 13:22:36
fails when I hover the button and move cursor away of the button (it tries to find buttonActionUnload.MouseReleased) in Miyagi code here:
kubatp
10-02-2010 16:56:31
AndroidAdam
10-02-2010 22:25:15
Keyboard.Capture();
Mouse.Capture();
GuiManager.Singleton.Update(true);
Keyboard.Capture();
Mouse.Capture();
GuiManager.Singleton.InputManager.InjectMouseMoved(Mouse.MouseState.X.abs, Mouse.MouseState.Y.abs, false);
GuiManager.Singleton.Update(true);
smiley80
10-02-2010 23:28:08
retValue.Textures[skinname] = texturefile;
kubatp
11-02-2010 14:37:13
smiley80
11-02-2010 22:34:09
kubatp
12-02-2010 11:50:20
smiley80
12-02-2010 14:08:00
kubatp
12-02-2010 15:16:50
kubatp
12-02-2010 17:05:20
protected virtual void OnMouseHover()
{
if (this.MouseHover != null)
{
->> this.MouseHover(this, (MouseEventArgs)MouseEventArgs.Empty);
}
}
koirat
12-02-2010 22:46:04
smiley80
13-02-2010 00:47:22
if this behavior - overlapping of inner controls - can still be achieved and how
this.TextureElement.DoNotCrop = true;
this.TextElement.DoNotCrop = true;
this.BorderElement.DoNotCrop = true;
Btw. there is an error in ControlBase line 2472
Any solutions. (Different than setting screen resolution in Miyagi)
At the moment, there are two ways that should work properly:
Saving the guis to XML, changing the resolution, resetting the GuiManager and then loading the guis again.
Or, if you use relative values when you create the guis, changing the resolution, resetting the GuiManager and creating the guis again.
koirat
14-02-2010 00:05:12
ResourceGroupManager.Singleton.AddResourceLocation(@".\Media", "FileSystem");
ResourceGroupManager.Singleton.AddResourceLocation(@".\Media\Gui\", "FileSystem");
ResourceGroupManager.Singleton.InitialiseAllResourceGroups();
guiMgr.Initialize(true);
guiMgr.DoScissorTest = true;
guiMgr.XmlSerializer.ImportFromFile("guis.mgx");
guiMgr.Update(false);
smiley80
16-02-2010 21:07:31
guiMgr.DoScissorTest = false;
nico008
18-02-2010 13:39:55
smiley80
19-02-2010 16:24:44
When is the next release?
Anyway, I just noticed the "Ok" is not displayed on the DialogBox's button. (Thought DialogBox.TextOk == "Ok" :-s)
I want a TextBox component to be hidden just after it has been created
[...]
and that I start this again and again the panel is not anymore fully visible
nico008
20-02-2010 15:33:53
kubatp
20-02-2010 16:22:06
nico008
20-02-2010 16:49:28
Currently, you have to derive your own class from Panel and in the constructor add these lines:
this.TextureElement.DoNotCrop = true;
this.TextElement.DoNotCrop = true;
this.BorderElement.DoNotCrop = true;
smiley80
20-02-2010 19:12:51
about the panel fading away, it is a bit better, but the problem is still there
Also, now with ListBox, when I call Items.Clear(); -> it throws an Exception from line 106 of ListBoxItem.
-> I tried this but it didn't change anything
nico008
20-02-2010 20:14:18
luismesas
21-02-2010 01:32:50
int count = spr.QuadCount; //line 695 on TextBox.cs
smiley80
21-02-2010 10:02:01
luismesas
21-02-2010 14:14:21
luismesas
27-02-2010 15:03:25
TrueTypeFont white = resMgr.CreateTrueTypeFont("BlueHighwayWhite", "bluehigh.ttf", 10, 96, Color.White);
TrueTypeFont black = resMgr.CreateTrueTypeFont("BlueHighwayBlack", "bluehigh.ttf", 10, 96, Color.Black);
TrueTypeFont black = resMgr.CreateTrueTypeFont("BlueHighwayBlack", "bluehigh.ttf", 10, 96, Color.Black);
TrueTypeFont white = resMgr.CreateTrueTypeFont("BlueHighwayWhite", "bluehigh.ttf", 10, 96, Color.White);
smiley80
27-02-2010 17:51:42
Now textbox max characters are limited by size of textbox. Previously there was an internall scroll that allowed you to write as many characters as you want.
I have another question about font textures. I have defined this two fonts:
You have lost Caret somewhere in revision 291
luismesas
27-02-2010 18:08:28
Carets work fine for me. Make sure you have the size set.
Btw.:
Everyone who has a Google account can also report bugs via the issue tracker:
fac
02-03-2010 16:27:16
kubatp
02-03-2010 17:43:57
Miyagi.UI.Controls.Label result = this.CreateChildControl<Miyagi.UI.Controls.Label>(Name + name, new Size(100, this.Size.Height - 30), new Point(0, 0));
result.AutoSize = true;
result.TextStyle.Multiline = true;
result.TextStyle.WordWrap = true;
result.AutoSizeMode = Miyagi.AutoSizeMode.GrowAndShrink;
result.Margin = new Thickness(5, 5, 5, 5);
result.TextStyle.Alignment = Miyagi.Alignment.TopLeft;
result.Text = text;
CurrentGUI.Visible = false;
MiyagiSystem.Update();
ModalGUI.Show(true);
smiley80
02-03-2010 20:01:11
Hi, I am interested in using the graphical editor. What is its status? I've downloaded the b4 tag in the repo, but it seems to lack one dll (Scintilla). Is is still being developed?
1) I would like to use label control with fixed width, which would wrap to another lines. Unfortunately the wrapping doesn't work properly. It's inside a inherited class from panel
2) I would like to hide one GUI and right after display another one. I tried both Gui.Hide and GUI.Visible = false, but unfortunately even I call MiagySystem.Update() (or GuiManager.Update())
nico008
02-03-2010 23:12:42
smiley80
03-03-2010 01:25:15
I'm not able anymore to enter special chars in textbox (like space, dot, etc).
Do you also have that bug? Note that I'm using bluehigh.ttf font.
I especially need locales files (fr)
I would like to try Miyagi in linux. Has someone already made it work?
nico008
03-03-2010 15:34:57
smiley80
04-03-2010 16:48:26
nico008
04-03-2010 21:26:15
smiley80
05-03-2010 01:15:50
Just a strange thing : with Axiom in Linux, manually loaded skins applyed on button are in the wrong side.
Do you know how to set the window size when using Axiom?
root.RenderSystem.ConfigOptions["Video Mode"] = new Axiom.Configuration.ConfigOption("Video Mode", "640x480", false);
RenderWindow.Resize
Do you know how to use Axiom.Input to handle keyboard and mouse? I haven't found any sample for it on the web
nico008
05-03-2010 02:02:46
smiley80
05-03-2010 14:26:53
nico008
05-03-2010 15:17:25
kubatp
14-03-2010 19:58:56
smiley80
14-03-2010 21:15:59
nico008
19-03-2010 09:34:43
nico008
21-03-2010 23:17:53
nico008
22-03-2010 08:04:32
smiley80
22-03-2010 08:46:21
this.guiCam = this.sceneMgr.CreateCamera("GuiCam");
this.guiViewport = this.window.AddViewport(this.guiCam, 10);
this.guiViewport.SetClearEveryFrame(false);
this.guiViewport.ShadowsEnabled = false;
this.guiViewport.OverlaysEnabled = false;
this.guiViewport.SetVisibilityMask(0);
((Miyagi.Rendering.RenderManager)this.miyagiSystem.Backend.RenderManager).Camera = this.guiCam;
nico008
22-03-2010 10:49:03
smiley80
22-03-2010 23:06:22
this.guiViewport.SkiesEnabled = false;
Miyagi.Rendering.RenderManager doesn't exists with the SVN MIYAGI version. Only RenderManagerBase exists, and there is no Camera property in it.
nico008
22-03-2010 23:14:04
kubatp
23-03-2010 16:12:38
nico008
23-03-2010 20:37:39
smiley80
24-03-2010 00:11:19
Is there a way to change "padding" from the top left corner of the list box item?
Another question related to ListBox, is there a way to use the WordWrap feature like in TextBox?
I just tryed myGUI.Hide(false), then when I do myGUI.Show(false), every children are now visible, but I don't want these children to appear. What can I do?
kubatp
24-03-2010 08:23:23
kubatp wrote:
Is there a way to change "padding" from the top left corner of the list box item?
You can change that for all items with ListBox.ListBoxStyle.ItemOffset.
nico008
24-03-2010 09:44:19
smiley80
24-03-2010 10:35:46
- I have found out, that I can change the text padding by setting ListBoxItem.Style.TextStyle.Offset
I have tried to use ListBoxItem.Style.TextStyle.Alignment = Alignment.BottomCenter, but it doesn't work at all. Why is that?
- I created listbox with fixed size. I presumed, when there are more items and it's not possible to fit them to this fixed size, the scrollbar appears (i.e. if (ListBoxStyle.ItemSize.Height * ListBox.Items.Count > ListBox.Size.Height). Unfortunately it doesn't show scrollbar and throws the exception
- The last but the biggest problem is this - I have a listbox. I have bound SelectedItemIndexChanged to my method. In this method I call ListBox.Dispose() but this always crashes. The problem is on line no. 639 in ListBox.cs where it tries to get reference to this.MiyagiSystem, but it's already null.
Will you totally remove Hide/Show methods? Show() and Hide() + Show(int fadetime) and Hide(int fadetime) would be convenient for me.
When I use gui.Visible = false then gui.Visible = true, then children doesn't appears but their "Visible" property is set to true anyway so It doesn't solve my problem actualy
About ListBox, I have to set ListBoxStyle.ItemSize = new Size(79, 50); to have WordWrap working, but then if I add a short line, it takes like 3 lines. Is there a autosize thing? I just want the width to be fixed
if I don't specify "ListBoxStyle.ItemSize = something" then "internal int MaxVisibleItems" from ListBox.cs throws Exception (div 0)
Also when I right click before moving the mouse, it throws NullRefExcpt from FireMouseGestureEvent() in InputManager.
smiley80
24-03-2010 14:46:33
kubatp
24-03-2010 16:58:53
TextStyle.Offset should work better in r324.
kubatp wrote:
- The last but the biggest problem is this - I have a listbox. I have bound SelectedItemIndexChanged to my method. In this method I call ListBox.Dispose() but this always crashes. The problem is on line no. 639 in ListBox.cs where it tries to get reference to this.MiyagiSystem, but it's already null.
Fixed.
kubatp wrote:
- I created listbox with fixed size. I presumed, when there are more items and it's not possible to fit them to this fixed size, the scrollbar appears (i.e. if (ListBoxStyle.ItemSize.Height * ListBox.Items.Count > ListBox.Size.Height). Unfortunately it doesn't show scrollbar and throws the exception
That's what should happen...I mean the first part, not the exception. Speaking of which, what exception do you get?
nico008
24-03-2010 18:22:40
smiley80
26-03-2010 05:19:26
Anyway, would you mind to tell me what files (skins) do I need to get the listbox working?
-> sorry but I don't understand what to do
component = new Component();
Controls.Add(component);
component.Hide(false);
nico008
26-03-2010 12:03:30
When I use gui.Visible = false then gui.Visible = true, then children doesn't appears but their "Visible" property is set to true anyway so It doesn't solve my problem actualy
nico008
28-03-2010 22:03:20
smiley80
28-03-2010 23:48:48
Is there a way to change keyboard locale? I have french keyboard, but in miyagi controls it write as if I had QWERTY keyboard.
kubatp
29-03-2010 12:28:54
BaseName.VScrollBar <- there might be the problem, cause it was previously just ScrollBar.
nico008
29-03-2010 13:36:13
smiley80
29-03-2010 13:37:41
Is it possible to add this functionality?
I cannot find a URL where Miyagi is available (the source code) in SVN branch, would you mind to paste it here please?
nico008
29-03-2010 14:29:36
kubatp
29-03-2010 17:44:37
kubatp
29-03-2010 18:07:36
smiley80
29-03-2010 19:29:30
smiley80
03-04-2010 17:20:54
Is there a way to change keyboard locale? I have french keyboard, but in miyagi controls it write as if I had QWERTY keyboard.
nico008
03-04-2010 17:38:53
kubatp
03-04-2010 18:40:38
smiley80
03-04-2010 21:48:10
Keyboard layout seems to be QWERTY at the moment.
How can I change it to French?
What I would suggest to add is a "Padding" feature of the text ToolTip. I know, there is offset, but this just sets the margin from top left. Is it possible to add padding feature, where all the four padding directions would be specified?
nico008
04-04-2010 09:39:44
smiley80
04-04-2010 11:49:43
Is there a lot of work to do to map every keys correctly? Mainly ! = + \ - _ are different from French keyboard
About GUI texture files, is it possible to have borders and center in the same file instead of Panel.Border + Panel?
Skin skinPanel = Skin.Create("PanelSkin");
TextureFrame frame1 = new TextureFrame("Panel.png", RectangleF.FromLTRB(0.25f, 0.25f, 0.75f, 0.75f), 0);
skinPanel.SubSkins["PanelSkin"] = new Miyagi.Resources.Texture(frame1);
TextureFrame frame2 = new TextureFrame("Panel.png", RectangleF.FromLTRB(0, 0, 1f, 1f), 0);
skinPanel.SubSkins["PanelSkin.Border"] = new Miyagi.Resources.Texture(frame2);
resMgr.Skins.Add(skinPanel)
nico008
04-04-2010 20:20:08
smiley80
04-04-2010 21:00:37
kubatp
11-04-2010 22:11:04
smiley80
12-04-2010 00:01:18
kubatp
14-04-2010 22:25:22
smiley80
15-04-2010 00:34:31
kubatp
15-04-2010 07:32:15
smiley80
15-04-2010 15:17:35
RenderTargetListener.PostRenderTargetUpdateHandler del = delegate { this.miyagiSystem.RenderManager.DoRender(); };
this.window.PostRenderTargetUpdate += del;
this.window.Update();
this.window.PostRenderTargetUpdate -= del;
kubatp
15-04-2010 19:35:59
smiley80
15-04-2010 20:33:04
Hi Smiley,
thank you for your help, unfortunately it still doesn't work. On line this.window.Update(); it still throws exception - Ogre::RenderingAPIException (the same one as I stated in the previuos post)
Second thing is - I still try to display entity on top of the GUI. It works with mogre overlay and Add3D function, but the problem is, that it's on the top of everything. It's great, that it's above the Miagyi controls, unfortunately it's above the cursor as well. I have tried to play with RenderQueueGroup of this entity, but without luck. It's under the gui controls and cursor OR above both. Is there a solution?
Third thing is, that sometimes Miyagi throws the exception on line 372 in SpriteRenderer (Sprite batch = this.SpriteList[nextBatchIndex];) - System.ArgumentOutOfRangeException' occurred in mscorlib.dll (OgreException.LastThrown is null). Is this something you are aware of?
kubatp
15-04-2010 21:18:48
Do you call it (indirectly) from a Mogre eventhandler (e.g.. FrameStarted)?
Anyhow, did you try the RenderBox control?
Do you use multiple threads?
smiley80
15-04-2010 23:03:08
So I have swap it and it doesn't throw this exception anymore; but the problem is the same. It doesn't update the progress control and the rest of Miyagi controls - it's wierd, but it looks like the controls were "doubled" - those which are transparent have filling colours, it's more bright and contrasty.
No I haven't. I am sorry, it's hard to keep up with your quick development progress (which is great). But when I take a look on the code of RenderBox, it seems like for textures only. I need to add entity, which should rotate....
Overlay works fine, the only problem is the cursor...
In general, is there some kind of common approach what to do, when many entities should be rendered at the same time? When you create scene, etc... it freezes, which is not really nice. It's a question to another thread, I know. I am just wondering if you (Because of I guess you have an experience with this) can answer this...
kubatp
16-04-2010 12:49:12
Yeah, strange. Can't reproduce that. You do call MiyagiSystem.Update (I've forgot that in my post)?
A RenderBox is pretty much just a render-to-texture wrapper.
You attach the entity to a scenenode as usual, set up an additional camera and point that camera at the entity.
But you have to make sure the main camera doesn't see this entity and additional camera doesn't see the other entities (e.g. through VisiblityFlags).
That should work fine now.
Anyway, it shouldn't freeze (except for the time it actually loads one resource) when you update the window.
smiley80
16-04-2010 15:49:13
I still cannot get it working. When I set RenderQueueGroup of the entity to 99 it's below, when to 100 it's above. How can I decide in what layer this will be displayed (above controls and below cursor)?
If it shouldn't freeze, I do something wrong. I create big manual object on a Main thread (which means it should freeze). This creation is fired by another thread (returned from backend), so it's actually not really during update, it's when it returns from backend. Should this be changed?
kubatp
19-04-2010 13:56:23
It works when both 3d overlay and Miyagi are on the same RenderQueueGroup (that's the case by default), and Miyagi doesn't use a different camera with disabled overlays.
SceneNode sn = SceneManager.CreateSceneNode("selectedUnitElementSceneNode");
Overlay unitOverlay = OverlayManager.Singleton.Create("unitOverlay");
unitOverlay.Add3D(sn);
unitOverlay.Show();
sn.Position = new Vector3(1.58f, -0.77f, -2);
Entity selectedUnitElement = SceneManager.CreateEntity("testName", "unit.mesh");
selectedUnitElement.Visible = true;
sn.AttachObject(selectedUnitElement);
sn.SetVisible(true);
sn._update(true, true);
To be on safe side, you should check whether all Miyagi or Mogre related stuff is called from the same (i.e. main) thread.
ResourceGroupManager.Singleton.AddResourceLocation(currentApplicationPath, "FileSystem", ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME, true);
ResourceGroupManager.Singleton.InitialiseAllResourceGroups();
MOIS.ParamList pl = new MOIS.ParamList();
IntPtr windowHnd;
RenderWindow.GetCustomAttribute("WINDOW", out windowHnd); // window is your RenderWindow!
pl.Insert("WINDOW", windowHnd.ToString());
MOIS.InputManager inputManager = MOIS.InputManager.CreateInputSystem(pl);
mouse = (MOIS.Mouse)inputManager.CreateInputObject(MOIS.Type.OISMouse, true);
MOIS.MouseState_NativePtr state = mouse.MouseState;
state.width = (int)RenderWindow.Width;
state.height = (int)RenderWindow.Height;
keyboard = (MOIS.Keyboard)inputManager.CreateInputObject(MOIS.Type.OISKeyboard,true);
keyboard.KeyPressed += new MOIS.KeyListener.KeyPressedHandler(keyboard_KeyPressed);
keyboard.KeyReleased += new MOIS.KeyListener.KeyReleasedHandler(keyboard_KeyReleased);
mouse.MouseMoved += new MOIS.MouseListener.MouseMovedHandler(mouse_MouseMoved);
mouse.MousePressed += new MOIS.MouseListener.MousePressedHandler(mouse_MousePressed);
mouse.MouseReleased += new MOIS.MouseListener.MouseReleasedHandler(mouse_MouseReleased);
Miyagi.Plugin.InputPlugin iptPlg = (Miyagi.Plugin.InputPlugin)MiyagiSystem.PluginManager.LoadPlugin(currentApplicationPath + @"GUI\lib\Miyagi.Plugin.Input.Mois.dll");
iptPlg.SetKeyboardCaptureDevice(keyboard);
iptPlg.SetMouseCaptureDevice(mouse);
gui = GUIManager.CreateGUI("gui");
modalGui = GUIManager.CreateGUI<Miyagi.UI.ModalGUI>("modalgui");
modalGui.Visible = false;
CreateCursors();
CreateMaterialSchemes();
CreateTextSchemes();
AddGuiControls(gui);
Root.FrameStarted += new FrameListener.FrameStartedHandler(this.Scene_FrameStarted);
Tubulii
19-04-2010 15:07:27
smiley80
19-04-2010 18:48:55
and the overlay is correctly above the controls but above the cursor as well.
What I am trying to do is get working the usage Debug version of Direct3D. But there is a wierd problem with Miyagi. This problem is not in Retail version, however in debug version it throws
OGRE EXCEPTION(3:RenderingAPIException): Failed to DrawPrimitive : Invalid call in D3D9RenderSystem::_render at ..\\src\\OgreD3D9RenderSystem.cpp (line 2915) on first RenderOneFrame call.
How can I change a texture at runtime, for example: I created a new image(for a button) and now want to update it.
myButton.TextureStyle.Texture = new Miyagi.Resources.Texture("myNewTexture.png");
And how can I limit the texture stretch without always using different images for all controls?
kubatp
19-04-2010 18:54:26
And it should look like this:
Debug DirectX is a bit anal at that point (the colour element of the vertex is declared as a FLOAT4 instead of COLOUR).
I'll try to fix it, if it's not too much of a performance hit.
smiley80
19-04-2010 19:51:33
This is exactly what I have been trying to achieve, but it doesn't work for me. Have you used my code? What can I do wrong, that the cursor is still behind the overlay entity?
I am not really sure I understand this. So you have found what is the problem already?
kubatp
19-04-2010 21:24:29
Just a different node scale and position (shouldn't make a difference) and, obviously, a different mesh.
I've seen that behaviour only when you use a separate camera for Miyagi.
Yep, should be fixed now.
smiley80
19-04-2010 22:05:06
kubatp
20-04-2010 08:13:38
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\tutorial1.exe', No native symbols in symbol file.
'tutorial1.exe': Loaded 'C:\Windows\System32\ntdll.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\mscoree.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\kernel32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\advapi32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\rpcrt4.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\shlwapi.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\gdi32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\user32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\msvcrt.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\imm32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\msctf.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\lpk.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\usp10.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\avgrsstx.dll'
'tutorial1.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6002.18005_none_5cb72f96088b0de0\comctl32.dll'
'tutorial1.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll'
'tutorial1.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\msvcr80.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\shell32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\ole32.dll'
'tutorial1.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Culture.dll'
'tutorial1.exe': Unloaded 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Culture.dll'
'tutorial1.exe': Loaded 'C:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\894183c0c47bd4772fbfad4c1a7e3b71\mscorlib.ni.dll'
'tutorial1.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'tutorial1.exe': Loaded 'C:\Windows\System32\uxtheme.dll'
'tutorial1.exe' (Managed): Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\tutorial1.exe', Symbols loaded.
'tutorial1.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll'
'tutorial1.exe': Loaded 'C:\Windows\assembly\NativeImages_v2.0.50727_32\System\13cce38e8de5fd54853390e4e98abd0e\System.ni.dll'
'tutorial1.exe': Loaded 'C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Drawing\57e722244d3b48cb92b340bc92d7a191\System.Drawing.ni.dll'
'tutorial1.exe': Loaded 'C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Windows.Forms\425e95df110b77abad261a46fca54e99\System.Windows.Forms.ni.dll'
'tutorial1.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'tutorial1.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'tutorial1.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Mogre.dll'
'tutorial1.exe': Unloaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Mogre.dll'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Mogre.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\rsaenh.dll'
'tutorial1.exe': Unloaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Mogre.dll'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Mogre.dll'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\OgreMain.dll'
'tutorial1.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\msvcr90.dll'
'tutorial1.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\msvcp90.dll'
'tutorial1.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\msvcm90.dll'
'tutorial1.exe' (Managed): Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Mogre.dll'
'tutorial1.exe': Loaded 'ImageAtBase0x71760000', No symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0x52c0000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x71760000'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Kernel.dll', No native symbols in symbol file.
'tutorial1.exe' (Managed): Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Kernel.dll', Symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0x601f0000'
'tutorial1.exe': Loaded 'ImageAtBase0x52f0000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x601f0000'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Miyagi.dll', No native symbols in symbol file.
'tutorial1.exe' (Managed): Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Miyagi.dll', Symbols loaded.
'tutorial1.exe': Loaded 'C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Configuration\78aac991cacbc9665c628f5466cec9c1\System.Configuration.ni.dll'
'tutorial1.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'tutorial1.exe': Loaded 'C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Xml\99e7927ccb9099e607035349814d4cf6\System.Xml.ni.dll'
'tutorial1.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'tutorial1.exe': Loaded 'ImageAtBase0x73a10000', No symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0x5370000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x73a10000'
'tutorial1.exe': Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'
'tutorial1.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'
'tutorial1.exe': Loaded 'D:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\x86\Microsoft.VisualStudio.Debugger.Runtime.Impl.dll'
'tutorial1.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\diasymreader.dll'
'tutorial1.exe' (Managed): Loaded 'C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\msvcm90.dll'
'tutorial1.exe': Loaded 'ImageAtBase0x5850000', No symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0x58d0000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x5850000'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\MOIS.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\dinput8.dll'
'tutorial1.exe' (Managed): Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\MOIS.dll'
'tutorial1.exe': Loaded 'ImageAtBase0x6b350000', No symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0x5950000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x6b350000'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Resource.dll', No native symbols in symbol file.
'tutorial1.exe' (Managed): Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Resource.dll', Symbols loaded.
'tutorial1.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.0.6002.18005_none_9e50b396ca17ae07\GdiPlus.dll'
Creating resource group General
Creating resource group Internal
Creating resource group Autodetect
SceneManagerFactory for type 'DefaultSceneManager' registered.
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type 'ParticleSystem' registered.
OverlayElementFactory for type Panel registered.
OverlayElementFactory for type BorderPanel registered.
OverlayElementFactory for type TextArea registered.
Registering ResourceManager for type Font
ArchiveFactory for archive type FileSystem registered.
ArchiveFactory for archive type Zip registered.
FreeImage version: 3.10.0
This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2
DDS codec registering
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type 'Entity' registered.
MovableObjectFactory for type 'Light' registered.
MovableObjectFactory for type 'BillboardSet' registered.
MovableObjectFactory for type 'ManualObject' registered.
MovableObjectFactory for type 'BillboardChain' registered.
MovableObjectFactory for type 'RibbonTrail' registered.
Loading library .\RenderSystem_Direct3D9
Installing plugin: D3D9 RenderSystem
D3D9 : Direct3D9 Rendering Subsystem created.
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\RenderSystem_Direct3D9.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\d3d9.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\version.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\d3d8thk.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\dwmapi.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\D3DX9_40.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\d3d9d.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\winmm.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\oleaut32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\oleacc.dll'
Direct3D9: :====> ENTER: DLLMAIN(6d8da170): Process Attach: 00001064, tid=00000320
Direct3D9: :====> EXIT: DLLMAIN(6d8da170): Process Attach: 00001064
Direct3D9: (INFO) :Direct3D9 Debug Runtime selected.
'tutorial1.exe': Loaded 'C:\Windows\System32\atiumdag.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\atiumdva.dll'
D3D9: Driver Detection Starts
D3D9: Driver Detection Ends
Plugin successfully installed
Loading library .\RenderSystem_GL
'tutorial1.exe': Loaded 'C:\Windows\System32\atipdlxx.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\setupapi.dll'
'tutorial1.exe': Unloaded 'C:\Windows\System32\atipdlxx.dll'
'tutorial1.exe': Unloaded 'C:\Windows\System32\setupapi.dll'
D3D9 Helper: Enhanced D3DDebugging disabled; Application was not compiled with D3D_DEBUG_INFO
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\RenderSystem_GL.dll', Binary was not built with debug information.
'tutorial1.exe': Loaded 'C:\Windows\System32\opengl32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\glu32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\ddraw.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\dciman32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\setupapi.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\atioglxx.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\ws2_32.dll'
Installing plugin: GL RenderSystem
OpenGL Rendering Subsystem created.
'tutorial1.exe': Loaded 'C:\Windows\System32\nsi.dll'
Plugin successfully installed
Loading library .\Plugin_ParticleFX
Installing plugin: ParticleFX
Particle Emitter Type 'Point' registered
Particle Emitter Type 'Box' registered
Particle Emitter Type 'Ellipsoid' registered
Particle Emitter Type 'Cylinder' registered
Particle Emitter Type 'Ring' registered
Particle Emitter Type 'HollowEllipsoid' registered
Particle Affector Type 'LinearForce' registered
Particle Affector Type 'ColourFader' registered
Particle Affector Type 'ColourFader2' registered
Particle Affector Type 'ColourImage' registered
Particle Affector Type 'ColourInterpolator' registered
Particle Affector Type 'Scaler' registered
Particle Affector Type 'Rotator' registered
Particle Affector Type 'DirectionRandomiser' registered
Particle Affector Type 'DeflectorPlane' registered
Plugin successfully installed
Loading library .\Plugin_BSPSceneManager
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Plugin_ParticleFX.dll', Binary was not built with debug information.
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Plugin_BSPSceneManager.dll'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Plugin_OctreeSceneManager.dll'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Plugin_CgProgramManager.dll'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\cg.dll', Binary was not built with debug information.
Installing plugin: BSP Scene Manager
Plugin successfully installed
Loading library .\Plugin_OctreeSceneManager
Installing plugin: Octree & Terrain Scene Manager
Plugin successfully installed
Loading library .\Plugin_CgProgramManager
Installing plugin: Cg Program Manager
Plugin successfully installed
*-*-* OGRE Initialising
*-*-* Version 1.6.4 (Shoggoth)
Creating resource group
D3D9 : RenderSystem Option: Full Screen = No
D3D9 : RenderSystem Option: Video Mode = 1280 x 800 @ 32-bit colour
CPU Identifier & Features
-------------------------
* CPU ID: GenuineIntel: Intel(R) Core(TM)2 Duo CPU E8500 @ 3.16GHz
* SSE: yes
* SSE2: yes
* SSE3: yes
* MMX: yes
* MMXEXT: yes
* 3DNOW: no
* 3DNOWEXT: no
* CMOV: yes
* TSC: yes
* FPU: yes
* PRO: yes
* HT: no
-------------------------
D3D9 : Subsystem Initialising
***************************************
*** D3D9 : Subsystem Initialised OK ***
***************************************
D3D9RenderSystem::_createRenderWindow "Main RenderWindow", 1280x800 windowed miscParams: externalWindowHandle=1312978
D3D9 : Created D3D9 Rendering Window 'Main RenderWindow' : 1264x764, 32bpp
D3D9 : WARNING - disabling VSync in windowed mode can cause timing issues at lower frame rates, turn VSync on if you observe this problem.
Direct3D9: (INFO) :======================= Hal HWVP device selected
Registering ResourceManager for type Texture
Registering ResourceManager for type GpuProgram
D3D9: Vertex texture format supported - PF_L8
D3D9: Vertex texture format supported - PF_L16
D3D9: Vertex texture format supported - PF_A8
D3D9: Vertex texture format supported - PF_A4L4
D3D9: Vertex texture format supported - PF_BYTE_LA
D3D9: Vertex texture format supported - PF_R5G6B5
D3D9: Vertex texture format supported - PF_B5G6R5
D3D9: Vertex texture format supported - PF_A4R4G4B4
D3D9: Vertex texture format supported - PF_A1R5G5B5
D3D9: Vertex texture format supported - PF_A8R8G8B8
D3D9: Vertex texture format supported - PF_B8G8R8A8
D3D9: Vertex texture format supported - PF_A2R10G10B10
D3D9: Vertex texture format supported - PF_A2B10G10R10
D3D9: Vertex texture format supported - PF_DXT1
D3D9: Vertex texture format supported - PF_DXT2
D3D9: Vertex texture format supported - PF_DXT3
D3D9: Vertex texture format supported - PF_DXT4
D3D9: Vertex texture format supported - PF_DXT5
D3D9: Vertex texture format supported - PF_FLOAT16_RGB
D3D9: Vertex texture format supported - PF_FLOAT16_RGBA
D3D9: Vertex texture format supported - PF_FLOAT32_RGB
D3D9: Vertex texture format supported - PF_FLOAT32_RGBA
D3D9: Vertex texture format supported - PF_X8R8G8B8
D3D9: Vertex texture format supported - PF_X8B8G8R8
D3D9: Vertex texture format supported - PF_R8G8B8A8
D3D9: Vertex texture format supported - PF_DEPTH
D3D9: Vertex texture format supported - PF_SHORT_RGBA
D3D9: Vertex texture format supported - PF_FLOAT16_R
D3D9: Vertex texture format supported - PF_FLOAT32_R
D3D9: Vertex texture format supported - PF_SHORT_GR
D3D9: Vertex texture format supported - PF_FLOAT16_GR
D3D9: Vertex texture format supported - PF_FLOAT32_GR
D3D9: Vertex texture format supported - PF_SHORT_RGB
RenderSystem capabilities
-------------------------
RenderSystem Name: Direct3D9 Rendering Subsystem
GPU Vendor: ati
Device Name: ASUS EAH4850 series
Driver Version: 7.14.10.597
* Fixed function pipeline: yes
*
Direct3D9: (INFO) :HalDevice Driver Style b
Direct3D9: :DoneExclusiveMode
Direct3D9: (INFO) :Using FF to VS converter
Direct3D9: (INFO) :Using FF to PS converter
Hardware generation of mipmaps: yes
* Texture blending: yes
* Anisotropic texture filtering: yes
* Dot product texture operation: yes
* Cube mapping: yes
* Hardware stencil buffer: yes
- Stencil depth: 8
- Two sided stencil support: yes
- Wrap stencil values: yes
* Hardware vertex / index buffers: yes
* Vertex programs: yes
* Fragment programs: yes
* Geometry programs: no
* Supported Shader Profiles: hlsl ps_1_1 ps_1_2 ps_1_3 ps_1_4 ps_2_0 ps_2_a ps_2_b ps_2_x ps_3_0 vs_1_1 vs_2_0 vs_2_a vs_2_x vs_3_0
* Texture Compression: yes
- DXT: yes
- VTC: no
* Scissor Rectangle: yes
* Hardware Occlusion Query: yes
* User clip planes: yes
* VET_UBYTE4 vertex element type: yes
* Infinite far plane projection: yes
* Hardware render-to-texture: yes
* Floating point textures: yes
* Non-power-of-two textures: yes
* Volume textures: yes
* Multiple Render Targets: 4
- With different bit depths: yes
* Point Sprites: yes
* Extended point parameters: yes
* Max Point Size: 256
* Vertex texture fetch: yes
- Max vertex textures: 4
- Vertex textures shared: no
* Render to Vertex Buffer : no
* DirectX per stage constants: yes
ResourceBackgroundQueue - threading disabled
Particle Renderer Type 'billboard' registered
SceneManagerFactory for type 'BspSceneManager' registered.
Registering ResourceManager for type BspLevel
SceneManagerFactory for type 'OctreeSceneManager' registered.
SceneManagerFactory for type 'TerrainSceneManager' registered.
Parsing scripts for resource group
Parsing script OgreCore.material
Parsing script OgreProfiler.material
Parsing script Ogre.fontdef
Parsing script OgreDebugPanel.overlay
Texture: New_Ogre_Border_Center.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
Texture: New_Ogre_Border.png: Loading 1 faces(PF_A8R8G8B8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
Texture: New_Ogre_Border_Break.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
Font BlueHighwayusing texture size 512x512
Info: Freetype returned null for character 127 in font BlueHighway
Texture: BlueHighwayTexture: Loading 1 faces(PF_BYTE_LA,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_BYTE_LA,512x512x1.
Texture: ogretext.png: Loading 1 faces(PF_A8R8G8B8,256x128x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x128x1.
Parsing script OgreLoadingPanel.overlay
Finished parsing scripts for resource group
Parsing scripts for resource group Autodetect
Finished parsing scripts for resource group Autodetect
Parsing scripts for resource group General
Parsing script Tiles.material
Compiler error: unknown error in Tiles.material(23): token "scene_blend" is not recognized
Parsing script guifontsmall.fontdef
Finished parsing scripts for resource group General
Parsing scripts for resource group Internal
Finished parsing scripts for resource group Internal
Added resource location 'D:\Development\Aggressors\currentVersion\' of type 'FileSystem' to resource group 'General' with recursive option
'tutorial1.exe': Loaded 'C:\Windows\System32\hid.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\wintrust.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\crypt32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\msasn1.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\userenv.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\secur32.dll'
'tutorial1.exe': Loaded 'C:\Windows\System32\imagehlp.dll'
'tutorial1.exe': Loaded 'ImageAtBase0x71870000', No symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0xb7c0000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x71870000'
[9:13:57] Information: Logging started.
[9:13:57] Information: Loading backend: Mogre
'tutorial1.exe': Loaded 'C:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_cs_b77a5c561934e089\mscorlib.resources.dll', Binary was not built with debug information.
'tutorial1.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_cs_b77a5c561934e089\mscorlib.resources.dll'
'tutorial1.exe': Loaded 'ImageAtBase0x694b0000', No symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0xb810000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x694b0000'
'tutorial1.exe': Unloaded 'ImageAtBase0xb810000'
'tutorial1.exe': Loaded 'ImageAtBase0x69430000', No symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0xb810000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x69430000'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Miyagi.Backend.Mogre.dll', No native symbols in symbol file.
'tutorial1.exe' (Managed): Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\Miyagi.Backend.Mogre.dll', Symbols loaded.
[9:13:57] Information: Backend successfully loaded: Mogre
[9:13:57] Information: Registered new manager of type: Plugin
[9:13:57] Information: Loading plugin: D:\Development\Aggressors\currentVersion\GUI\lib\Miyagi.Plugin.Input.Mois.dll
'tutorial1.exe': Loaded 'ImageAtBase0x694b0000', No symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0xb940000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x694b0000'
'tutorial1.exe': Loaded 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Culture.dll'
'tutorial1.exe': Unloaded 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\Culture.dll'
Managed Debugging Assistant 'LoadFromContext' has detected a problem in 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\tutorial1.exe'.
Additional Information: Sestavení nazvané Miyagi.Plugin.Input.Mois bylo načteno z file:///D:/Development/Aggressors/currentVersion/GUI/lib/Miyagi.Plugin.Input.Mois.dll s využitím kontextu LoadFrom. Použití tohoto kontextu může způsobit neočekávané chování při serializaci, přetypování a řešení závislostí. V téměř všech případech se doporučuje nepoužívat kontext LoadFrom. To lze uskutečnit instalací sestavení v mezipaměti GAC (Global Assembly Cache) nebo v adresáři ApplicationBase a použitím funkce Assembly.Load k explicitnímu načítání sestavení.
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\lib\Miyagi.Plugin.Input.Mois.dll', No native symbols in symbol file.
[9:13:59] Information: Registered new manager of type: Input
[9:13:59] Information: Plugin successfully loaded: Miyagi.Plugin.Input.Mois
[9:13:59] Information: Registered new manager of type: GUI
[9:13:59] Information: Registered new manager of type: Render
'tutorial1.exe' (Managed): Loaded 'D:\Development\Aggressors\currentVersion\GUI\lib\Miyagi.Plugin.Input.Mois.dll', Symbols loaded.
[9:13:59] Information: Registered new manager of type: Resource
[9:14:00] Information: 10 files found for skin: Cursor.DEFAULT
'tutorial1.exe': Loaded 'C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Core\670d343c8b3213883fa70837195f7f81\System.Core.ni.dll'
'tutorial1.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'tutorial1.exe': Loaded 'ImageAtBase0x686b0000', No symbols loaded.
'tutorial1.exe': Loaded 'ImageAtBase0xba20000', No symbols loaded.
'tutorial1.exe': Unloaded 'ImageAtBase0x686b0000'
'tutorial1.exe': Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\cs-CZ\tutorial1.resources.dll', Binary was not built with debug information.
'tutorial1.exe' (Managed): Loaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\cs-CZ\tutorial1.resources.dll'
[9:14:18] Information: ToolTipElement Unhandled change. Property name: Padding
[9:14:18] Information: ToolTipElement Unhandled change. Property name: HoverDuration
MiyagiGuiWindow UnnamedSelectorWindow_47 created.
SelectorWindow UnnamedSelectorWindow_47 created.
MiyagiGuiWindow mainMenu init.
MiyagiGuiWindow UnnamedSelectorWindow_52 created.
SelectorWindow UnnamedSelectorWindow_52 created.
MiyagiGuiWindow loadMenu init.
[9:14:22] Debug: Disposing control: mainMenu
[9:14:22] Debug: Disposing control: mainMenuwindowButtonTitle
[9:14:22] Debug: Disposing control: mainMenuwindowButtonTitleLabel
[9:14:22] Debug: Disposing control: mainMenucloseWindowButton
[9:14:22] Debug: Disposing control: mainMenuinnerList
'tutorial1.exe': Loaded 'C:\Windows\System32\apphelp.dll'
'tutorial1.exe' (Managed): Loaded '4k4utghd'
'tutorial1.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.6001.18000_none_886786f450a74a05\comctl32.dll'
MiyagiGuiWindow UnnamedProgressWindow_57 created.
SelectorWindow UnnamedProgressWindow_57 created.
[9:14:26] Debug: Disposing control: loadMenu
[9:14:26] Debug: Disposing control: loadMenuwindowButtonTitle
[9:14:26] Debug: Disposing control: loadMenuwindowButtonTitleLabel
[9:14:26] Debug: Disposing control: loadMenucloseWindowButton
[9:14:26] Debug: Disposing control: loadMenuinnerList
MiyagiGuiWindow progressWindow init.
local sends message to serverLOAD_RESOURCE
server accepts message LOAD_RESOURCE
server sends message to clientLOAD_RESOURCE
local accepts ok message LOAD_RESOURCE
Direct3D9: (ERROR) :Need to call BeginScene before rendering.
Windows has triggered a breakpoint in tutorial1.exe.
This may be due to a corruption of the heap, which indicates a bug in tutorial1.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while tutorial1.exe has focus.
The output window may have more diagnostic information.
First-chance exception at 0x7551fbae in tutorial1.exe: Microsoft C++ exception: long at memory location 0x0024db04..
Direct3D9: (ERROR) :DrawPrimitive failed.
Windows has triggered a breakpoint in tutorial1.exe.
This may be due to a corruption of the heap, which indicates a bug in tutorial1.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while tutorial1.exe has focus.
The output window may have more diagnostic information.
First-chance exception at 0x7551fbae in tutorial1.exe: Microsoft C++ exception: Ogre::RenderingAPIException at memory location 0x0024dd10..
A first chance exception of type 'System.Runtime.InteropServices.SEHException' occurred in Mogre.dll
Additional information: V externí součásti došlo k výjimce.
A first chance exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
Additional information: Cíl vyvolání způsobil výjimku.
Unregistering ResourceManager for type BspLevel
Direct3D9: (WARN) :Device that was created without D3DCREATE_MULTITHREADED is being used by a thread other than the creation thread.
Direct3D9: (WARN) :Device that was created without D3DCREATE_MULTITHREADED is being used by a thread other than the creation thread.
*-*-* OGRE Shutdown
Unregistering ResourceManager for type Compositor
Unregistering ResourceManager for type Font
Unregistering ResourceManager for type Skeleton
Unregistering ResourceManager for type Mesh
Unregistering ResourceManager for type HighLevelGpuProgram
Uninstalling plugin: Cg Program Manager
Plugin successfully uninstalled
Unloading library .\Plugin_CgProgramManager
Uninstalling plugin: Octree & Terrain Scene Manager
Plugin successfully uninstalled
Unloading library .\Plugin_OctreeSceneManager
Uninstalling plugin: BSP Scene Manager
Plugin successfully uninstalled
Unloading library .\Plugin_BSPSceneManager
Uninstalling plugin: ParticleFX
Plugin successfully uninstalled
Unloading library .\Plugin_ParticleFX
Uninstalling plugin: GL RenderSystem
*** Stopping Win32GL Subsystem ***
Plugin successfully uninstalled
Unloading library .\RenderSystem_GL
Uninstalling plugin: D3D9 RenderSystem
D3D9 : Shutting down cleanly.
Unregistering ResourceManager for type Texture
Unregistering ResourceManager for type GpuProgram
D3D9 : Direct3D9 Rendering SubsysteDirect3D9: (WARN) :Device that was created without D3DCREATE_MULTITHREADED is being used by a thread other than the creation thread.
Direct3D9: (WARN) :Device that was created without D3DCREATE_MULTITHREADED is being used by a thread other than the creation thread.
Direct3D9: (WARN) :Device that was created without D3DCREATE_MULTITHREADED is being used by a thread other than the creation thread.
'tutorial1.exe': Unloaded 'D:\Development\Aggressors\currentVersion\GUI\bin\Debug\RenderSystem_Direct3D9.dll'
'tutorial1.exe': Unloaded 'C:\Windows\System32\D3DX9_40.dll'
m destroyed.
Plugin successfully uninstalled
Unloading library .\RenderSystem_Direct3D9
Unregistering ResourceManager for type Material
First-chance exception at 0x1005b1b3 in tutorial1.exe: 0xC0000005: Access violation reading location 0x01b28a3c.
An unhandled exception of type 'System.AccessViolationException' occurred in Mogre.dll
Additional information: Došlo k pokusu o čtení nebo zápis v chráněné paměti. Zpravidla se jedná o indikaci, že došlo k poškození další paměti.
The thread 'Win32 Thread' (0x124c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x204) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x3e0) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1ac) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x97c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1ec) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xbf8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1f8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x83c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x320) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xf50) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x15b0) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x558) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x804) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0xdcc) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x16f0) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1444) has exited with code 0 (0x0).
The program '[4196] tutorial1.exe: Managed' has exited with code 0 (0x0).
The program '[4196] tutorial1.exe: Native' has exited with code 0 (0x0).
00000000 9:21:24.073 [3760] Current Time 3380151, Last Input Time 3380042, Idle Time
00000001 9:21:24.073 [3760] ~~~[CpuPowerMonitor] value:cb35 msb:fffffff9 lsb:335 power 6.414062
00000002 9:21:24.074 [3760] ~~~[EnergySaving] CurrentPower:6.414062, EPU Staus:3, Facotr 0.460000, CurrentSaving:0.004098, TotalSaving:3247.597586, CumulativeSaving:3247.473691
00000003 9:21:24.074 [3760] ~~~[EnergySaving] CurrentPower:0.000000, EPU Staus:3, Facotr 0.000000, CurrentSaving:0.000000, TotalSaving:0.000000, CumulativeSaving:0.000000
00000004 9:21:28.162 [4092] Direct3D9: :====> ENTER: DLLMAIN(6d8da170): Process Attach: 00000ffc, tid=00000ff4
00000005 9:21:28.162 [4092]
00000006 9:21:28.162 [4092] Direct3D9: :====> EXIT: DLLMAIN(6d8da170): Process Attach: 00000ffc
00000007 9:21:28.162 [4092]
00000008 9:21:28.162 [4092] Direct3D9: (INFO) :Direct3D9 Debug Runtime selected.
00000009 9:21:28.162 [4092]
00000010 9:21:28.180 [4092] D3D9 Helper: Enhanced D3DDebugging disabled; Application was not compiled with D3D_DEBUG_INFO
00000011 9:21:28.840 [4092] Direct3D9: (INFO) :======================= Hal HWVP device selected
00000012 9:21:28.840 [4092]
00000013 9:21:28.840 [4092] Direct3D9: (INFO) :HalDevice Driver Style b
00000014 9:21:28.840 [4092]
00000015 9:21:28.840 [4092] Direct3D9: :DoneExclusiveMode
00000016 9:21:28.840 [4092]
00000017 9:21:28.841 [4092] Direct3D9: (INFO) :Using FF to VS converter
00000018 9:21:28.841 [4092]
00000019 9:21:28.841 [4092] Direct3D9: (INFO) :Using FF to PS converter
00000020 9:21:28.841 [4092]
00000021 9:21:29.081 [3760] Current Time 3385159, Last Input Time 3381680, Idle Time
00000022 9:21:29.082 [3760] ~~~[CpuPowerMonitor] value:d296 msb:fffffffa lsb:296 power 10.343750
00000023 9:21:29.082 [3760] ~~~[EnergySaving] CurrentPower:10.343750, EPU Staus:3, Facotr 0.460000, CurrentSaving:0.006609, TotalSaving:3247.604194, CumulativeSaving:3247.480300
00000024 9:21:29.083 [3760] ~~~[EnergySaving] CurrentPower:0.000000, EPU Staus:3, Facotr 0.000000, CurrentSaving:0.000000, TotalSaving:0.000000, CumulativeSaving:0.000000
00000025 9:21:34.088 [3760] Current Time 3390166, Last Input Time 3381680, Idle Time
00000026 9:21:34.088 [3760] ~~~[CpuPowerMonitor] value:d296 msb:fffffffa lsb:296 power 10.343750
00000027 9:21:34.089 [3760] ~~~[EnergySaving] CurrentPower:10.343750, EPU Staus:3, Facotr 0.460000, CurrentSaving:0.006609, TotalSaving:3247.610803, CumulativeSaving:3247.486908
00000028 9:21:34.089 [3760] ~~~[EnergySaving] CurrentPower:0.000000, EPU Staus:3, Facotr 0.000000, CurrentSaving:0.000000, TotalSaving:0.000000, CumulativeSaving:0.000000
00000029 9:21:39.096 [3760] Current Time 3395174, Last Input Time 3395158, Idle Time
00000030 9:21:39.097 [3760] ~~~[CpuPowerMonitor] value:d2c1 msb:fffffffa lsb:2c1 power 11.015625
00000031 9:21:39.097 [3760] ~~~[EnergySaving] CurrentPower:11.015625, EPU Staus:3, Facotr 0.460000, CurrentSaving:0.007038, TotalSaving:3247.617840, CumulativeSaving:3247.493946
00000032 9:21:39.098 [3760] ~~~[EnergySaving] CurrentPower:0.000000, EPU Staus:3, Facotr 0.000000, CurrentSaving:0.000000, TotalSaving:0.000000, CumulativeSaving:0.000000
00000033 9:21:39.636 [4092] MiyagiGuiWindow UnnamedSelectorWindow_47 created.
00000034 9:21:39.636 [4092] SelectorWindow UnnamedSelectorWindow_47 created.
00000035 9:21:39.639 [4092] MiyagiGuiWindow mainMenu init.
00000036 9:21:40.290 [4092] MiyagiGuiWindow UnnamedSelectorWindow_52 created.
00000037 9:21:40.290 [4092] SelectorWindow UnnamedSelectorWindow_52 created.
00000038 9:21:40.290 [4092] MiyagiGuiWindow loadMenu init.
00000039 9:21:42.212 [4092] MiyagiGuiWindow UnnamedProgressWindow_57 created.
00000040 9:21:42.212 [4092] SelectorWindow UnnamedProgressWindow_57 created.
00000041 9:21:42.212 [4092] MiyagiGuiWindow progressWindow init.
00000042 9:21:42.222 [4092] local sends message to serverLOAD_RESOURCE
00000043 9:21:42.222 [4092] server accepts message LOAD_RESOURCE
00000044 9:21:42.412 [4092] server sends message to clientLOAD_RESOURCE
00000045 9:21:42.412 [4092] local accepts ok message LOAD_RESOURCE
00000046 9:21:42.565 [4092] Direct3D9: (ERROR) :Need to call BeginScene before rendering.
00000047 9:21:42.568 [4092]
00000048 9:21:44.103 [3760] Current Time 3400182, Last Input Time 3400104, Idle Time
00000049 9:21:44.104 [3760] ~~~[CpuPowerMonitor] value:cb1b msb:fffffff9 lsb:31b power 6.210938
00000050 9:21:44.104 [3760] ~~~[EnergySaving] CurrentPower:6.210938, EPU Staus:3, Facotr 0.460000, CurrentSaving:0.003968, TotalSaving:3247.621808, CumulativeSaving:3247.497914
00000051 9:21:44.104 [3760] ~~~[EnergySaving] CurrentPower:0.000000, EPU Staus:3, Facotr 0.000000, CurrentSaving:0.000000, TotalSaving:0.000000, CumulativeSaving:0.000000
kubatp
20-04-2010 16:44:40
smiley80
20-04-2010 19:03:56
kubatp
21-04-2010 08:18:27
ATM you can only check whether GUIManager.GetTopControl is null (i.e. cursor is not over a control) in your mouse event handler.
Please post the DebugView log.
kubatp
21-04-2010 15:27:38
smiley80
21-04-2010 19:56:50
Have you found anything interesting in there?
Just a quick question, is it possible to change color of label (color of text) without creating new font by MiyagiSystem.ResourceManager.CreateTrueTypeFont?
myLabel.TextStyle.ForegroundColour = Color.PapayaWhip;
Tubulii
24-04-2010 17:32:07
In the Mercurial version:
myButton.TextureStyle.Texture = new Miyagi.Resources.Texture("myNewTexture.png");
would change the current texture of the button.
Dim t As New Miyagi.Controls.Elements.TextureElement
t = TargetInfo.Texture
smiley80
24-04-2010 18:59:20
myButton.Texture.FileName = "myNewTexture.png";
Tubulii
25-04-2010 15:35:35
smiley80
25-04-2010 16:45:43
this.miyagiSystem.ResourceManager.CreateSkin("MyButtonSkin", typeof(Miyagi.UI.Controls.Button), "Button", true);
Skin msBackground = Skin.Create("Background");
msBackground.SubSkins["Background"] = new Miyagi.Resources.Texture("Background.png");
//...
this.miyagiSystem.ResourceManager.Skins.Add(msBackground);
this.miyagiSystem.ResourceManager.CreateSkinFromXml(@"path\to\xml");
this.miyagiSystem.ResourceManager.CreateTrueTypeFont("BlueHighwaySmall", "bluehigh.ttf", 12, 72);
this.miyagiSystem.ResourceManager.CreateTrueTypeFont("Arial", "arial.ttf", 16, 96, FontStyle.Bold);
List<Couple<int>> myAsciiCodePoints = new List<Couple<int>> { new Couple<int>(32, 127) };
this.miyagiSystem.ResourceManager.CreateTrueTypeFont("Arial", "arial.ttf", 16, 96, FontStyle.Regular, myAsciiCodePoints );
this.miyagiSystem.ResourceManager.CreateImageFont("MyImageFont", "MyImageFontTexture.png", myGlyphsDict);
Tubulii
25-04-2010 19:07:21
smiley80
25-04-2010 19:35:51
<?xml version="1.0" encoding="UTF-8"?>
<Skin Name="EventButtonSkin"
Type="Miyagi.UI.Controls.Button">
<SubSkins>
<SubSkin Name="EventButtonSkin">
<Frames>
<Frame>
<FileName>gui1.png</FileName>
<Duration>0</Duration>
<UV>
<X>0.125</X>
<Y>0.5</Y>
<Width>0.125</Width>
<Height>0.03125</Height>
</UV>
</Frame>
</Frames>
</SubSkin>
<SubSkin Name="EventButtonSkin.MouseLeave">
<Frames>
<Frame>
<FileName>gui1.png</FileName>
<Duration>0</Duration>
<UV>
<Left>0.125</Left>
<Top>0.53125</Top>
<Right>0.25</Right>
<Bottom>0.5625</Bottom>
</UV>
</Frame>
</Frames>
</SubSkin>
</SubSkins>
</Skin>
kubatp
27-04-2010 07:31:06
smiley80
28-04-2010 01:56:45
Tubulii
01-05-2010 17:20:09
smiley80
02-05-2010 13:56:15
this.guiCam = this.sceneMgr.CreateCamera("GuiCam");
this.guiViewport = this.window.AddViewport(this.guiCam, 10);
this.guiViewport.SetClearEveryFrame(false);
this.guiViewport.ShadowsEnabled = false;
this.guiViewport.OverlaysEnabled = false;
this.guiViewport.SkiesEnabled = false;
this.guiViewport.SetVisibilityMask(0);
((MogreRenderManager)this.miyagiSystem.Backend.RenderManager).Camera = this.guiCam;
kubatp
04-05-2010 16:00:58
Miyagi.UI.Controls.Panel result = realresult.CreateChildControl<Miyagi.UI.Controls.Panel>(name, size, new Point(0, 0));
Skin skin = MiyagiSystem.ResourceManager.Skins[materialName];
result.TextureStyle.Texture = new Texture(skin.SubSkins[materialName].Frames[0].FileName, new RectangleF(fromU, fromV, toU - fromU, toV - fromV));
smiley80
04-05-2010 18:21:05
kubatp
05-05-2010 18:45:14
1) The texture is loaded only once.
2) Try the ".Focused" subskin. If you don't specify ".Focused.MouseDown/MouseUp...", it should stay on ".Focused" after the control has been clicked till another control gets the focus.
smiley80
05-05-2010 23:26:07
kubatp
10-05-2010 16:03:46
smiley80
10-05-2010 19:57:57
kubatp
11-05-2010 17:37:08
smiley80
12-05-2010 08:51:04
kubatp
12-05-2010 14:10:47
if (!this.Visible || this.opacity < OpacityThreshold)
instead of if (!this.Visible && this.opacity < OpacityThreshold)
if (value != -1) this.SelectItems(this.Owner.Items[value]);
smiley80
12-05-2010 20:58:10
andyhebear1
05-06-2010 02:40:00
smiley80
05-06-2010 11:18:28
kubatp
08-06-2010 16:14:28
Tubulii
26-06-2010 18:06:46
smiley80
26-06-2010 19:33:43
this.miyagiSystem.PluginManager.LoadPlugin(@"path\to\Miyagi.Plugin.Input.WinForms.dll", ogrePanel);
Kohedlo
27-06-2010 23:51:16
smiley80
28-06-2010 13:13:16
panel.BackgroundStyle.Texture = new Texture("myNewTexture.png");
panel.Texture.FileName = "myNewTexture.png";
coco
02-07-2010 10:39:09
Panel pan1 = new Panel("panel1")
{
BackgroundStyle = bgStyle,
RelativeRectangle = new RectangleD(0,0,0.5,0.5)
};
smiley80
02-07-2010 16:00:43
Beauty
03-07-2010 12:56:21
coco
05-07-2010 15:23:45
smiley80
05-07-2010 19:58:57
I have a question concerning the ListBox scrollbar, I've tried renaming the images from base.ScrollBar to base.VScrollBar, and setting the thumb size and orientation, but haven't been able to get it to show, any pointers will be very appreciated.
Another issue I've encounterd is the font. This font was made using BlueHighway font, size 16 and resolution 72. There are extra dash underneath some characters, possible something to do with the glyph coordinate including the character below it?
coco
06-07-2010 09:10:18
Please check whether that still happens in the latest revision.
coco
07-07-2010 11:47:00
smiley80
07-07-2010 18:30:10
However, sorry to be a bother again, although the font is better now, some characters still have some issues (seems to be only with lower case b, e, y and z)
I'm trying to use GUIManager.ResetLocationAndSize() when resizing the window (after a call to update MiyagiSystem.ScreenResolution). The location and size of all controls do get placed in the correct place, however, the Skin still get distored by the screen size. Is there a way around this?
coco
08-07-2010 08:28:29
Try setting the resolution to 96 and the size to 12.
Btw. it works on my machine™.
Munku
12-07-2010 02:01:44
kubatp
12-07-2010 17:44:16
smiley80
12-07-2010 18:50:30
mySkin.SubSkins["mySkin"] = new Texture("atlas.png", RectangleF.FromLTRB(0, 0, 0.5f, 0.5f));
mySkin.SubSkins["mySkin.Focused"] = new Texture("atlas.png", RectangleF.FromLTRB(0.5f, 0.5f, 1, 1));
// and so on
<Skin Name="EventButtonSkin" Type="Miyagi.UI.Controls.Button">
<SubSkins>
<SubSkin Name="EventButtonSkin">
<Frames>
<Frame>
<FileName>gui1.png</FileName>
<Duration>0</Duration>
<UV>
<X>0.125</X>
<Y>0.5</Y>
<Width>0.125</Width>
<Height>0.03125</Height>
</UV>
</Frame>
</Frames>
</SubSkin>
</SubSkins>
</Skin>
kubatp
14-07-2010 15:11:46
+----------------------+
| |
| +---------+ |
| +---------+ |
| |
+----------------------+
smiley80
14-07-2010 18:41:37
nico008
14-07-2010 20:25:49
smiley80
14-07-2010 22:14:25
nico008
14-07-2010 23:17:15
oldZOrder = itemIcon.ZOrder;
gui.pickedItem.ZOrder = oldZOrder;
itemIcon.ZOrder = 99999;
private void ScrollToBottom()
{
if (ListBoxStyle.ItemSize.Height == 0)
return;
if (Items.Count <= TotalAvailableHeight / ListBoxStyle.ItemSize.Height)
SelectedIndex = 0;
else
SelectedIndex = Items.Count - 1;
if (SelectedIndex < TopItemIndex)
TopItemIndex = SelectedIndex;
else if (SelectedIndex > TopItemIndex + TotalAvailableHeight / ListBoxStyle.ItemSize.Height - 1)
TopItemIndex = SelectedIndex - TotalAvailableHeight / ListBoxStyle.ItemSize.Height + 1;
}
smiley80
15-07-2010 00:40:56
Thanks man, but I still miss some files : sepia.cg, probably some other
Also, in my own project, I don't know what I could use to replace :
oldZOrder = itemIcon.ZOrder;
gui.pickedItem.ZOrder = oldZOrder;
itemIcon.ZOrder = 99999;
oldZOrder = parentControlCollection.IndexOf(itemIcon);
gui.Controls.ChangeIndex(oldZOrder, pickedItem);
itemIcon.BringToFront();
private void ScrollToBottom()
listbox.TopItemIndex = listbox.Items.Count;
ListBox.ScrollBarStyle
TextBox.CaretStyle
ListBox.ListBoxStyle.ScrollBarStyle
TextBox.TextBoxStyle.CaretStyle
TextBox.TextStyle.AreaSize
Also, strange you removed ResourceManager, it was much easier to use than FactoryManager + List + ToDictionnary + Dictionnary + ...
nico008
15-07-2010 13:05:56
private void ScrollToBottom()
{
int maxVisibleLinesCount = TotalAvailableHeight / ListBoxStyle.ItemSize.Height;
TopItemIndex = Items.Count - maxVisibleLinesCount;
}
smiley80
15-07-2010 18:12:05
when I set myTextBox.Visible = false; -> the caret is not hidden and keeps on blinking
2) I want to move camera when I click and move mouse -> it's ok. But I don't want the camera to move when I click on a GUI window. You see what I mean?
How can I easily dectect that the mouse click was not on a GUI window?
3) "listbox.TopItemIndex = listbox.Items.Count;" -> it scroll too much.
private void ScrollToBottom()
{
int maxVisibleLinesCount = TotalAvailableHeight / ListBoxStyle.ItemSize.Height;
TopItemIndex = Items.Count - maxVisibleLinesCount;
}
nico008
16-07-2010 01:46:00
Sdl.SDL_Init(Sdl.SDL_INIT_EVERYTHING);
SIS.ParameterList pl = new SIS.ParameterList();
object windowHnd;
windowHnd = window.GetCustomAttribute("WINDOW");
SIS.Parameter param = new SIS.Parameter("WINDOW", windowHnd.ToString());
pl.Add(param);
SIS.Keyboard inputKeyboard;
SIS.InputManager inputManager;
SIS.Mouse inputMouse;
inputManager = SIS.InputManager.CreateInputSystem(pl);
inputKeyboard = inputManager.CreateInputObject<SIS.Keyboard>(true, "");
EventHandler e = new EventHandler();
inputKeyboard.EventListener = e;
inputMouse = inputManager.CreateInputObject<SIS.Mouse>(true, "");
inputMouse.EventListener = e;
Sdl.SDL_Init(Sdl.SDL_INIT_VIDEO);
Sdl.SDL_SetVideoMode(100, 100, 32, Sdl.SDL_OPENGL | Sdl.SDL_HWPALETTE);
smiley80
16-07-2010 06:44:29
SIS.ParameterList pl = new SIS.ParameterList();
IntPtr windowHnd = (IntPtr)this.window["WINDOW"];
pl.Add(new SIS.Parameter("WINDOW", windowHnd));
inputManager = SIS.InputManager.CreateInputSystem(pl);
inputKeyboard = inputManager.CreateInputObject<SIS.Keyboard>(true, string.Empty);
inputMouse = inputManager.CreateInputObject<SIS.Mouse>(true, string.Empty);
inputMouse.MouseState.Width = window.Width;
inputMouse.MouseState.Height = window.Height;
this.miyagiSystem.PluginManager.LoadPlugin("..\\..\\Plugins\\Miyagi.Plugin.Input.SharpInputSystem.dll", inputKeyboard, inputMouse);
nico008
16-07-2010 09:34:20
nico008
16-07-2010 13:01:51
mikael
17-07-2010 12:06:14
F:\Mogre>hg clone http://miyagi.hg.sourceforge.net:8000/h ... agi/miyagi
destination directory: miyagi
requesting all changes
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
abort: An existing connection was forcibly closed by the remote host
F:\Mogre>hg update http://bitbucket.org/mogre/mogreaddons
abort: There is no Mercurial repository here (.hg not found)!
smiley80
17-07-2010 13:37:13
mikael
17-07-2010 21:50:48
smiley80
20-07-2010 16:56:50
Input would be an easy thing if you could host the render window in a GTK widget or WinForm on Linux. But it seems the OpenTK renderer doesn't have that ability atm.
[DllImport("user32.dll", EntryPoint="FindWindow", SetLastError = true)]
static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);
//...
this.root.Initialize(false);
Gtk.Application.Init();
Gtk.Window w = new Gtk.Window("test");
w.SetSizeRequest(800, 600);
w.AddEvents((int)Gdk.EventMask.AllEventsMask);
w.Show();
var wi = OpenTK.Platform.Utilities.CreateWindowsWindowInfo(FindWindowByCaption(IntPtr.Zero, "test")); // CreateX11WindowInfo on Linux
var npl = new NamedParameterList();
npl.Add("externalWindowInfo", wi);
this.window = this.root.RenderSystem.CreateRenderWindow("test", 800, 600, false, npl);
//...
this.miyagiSystem.PluginManager.LoadPlugin("..\\..\\Plugins\\Miyagi.Plugin.Input.GTK.dll", w);
//...
Gtk.Application.Run();
kubatp
21-07-2010 18:08:26
kubatp
21-07-2010 18:22:08
smiley80
21-07-2010 20:34:40
Hi Smiley,
I have possibly found a bug in ProgressBar. When an atlas texture is used for the control (including .Bar texture) and the progressBar.Value is changed, it incorrectly sets the UV to [0,0] - [1,1] which is wrong when atlas is used.
And one more question - is there a way to have the tooltip texture in atlas as well? I haven't found a way to do it without actual Miyagi code change.
Beauty
22-07-2010 10:55:34
nico008
22-07-2010 21:49:59
smiley80
23-07-2010 09:52:06
public static IWindowInfo GetWindowInfo(Gtk.Widget widget)
{
IntPtr display = gdk_x11_drawable_get_xdisplay(widget.GdkWindow.Handle);
int screen = widget.Screen.Number;
IntPtr handle = gdk_x11_drawable_get_xid(widget.GdkWindow.Handle);
IntPtr root = gdk_x11_drawable_get_xid(widget.RootWindow.Handle);
IntPtr visual = gdk_x11_visual_get_xvisual(widget.GdkWindow.Visual.Handle);
return OpenTK.Platform.Utilities.CreateX11WindowInfo(display, screen, handle, root, visual);
}
[DllImport("libgtk-x11-2.0")]
private static extern IntPtr gdk_x11_visual_get_xvisual(IntPtr gdkVisual);
[DllImport("libgtk-x11-2.0")]
private static extern IntPtr gdk_x11_drawable_get_xid(IntPtr gdkWindow);
[DllImport("libgtk-x11-2.0")]
private static extern IntPtr gdk_x11_drawable_get_xdisplay(IntPtr gdkDrawable);
nico008
23-07-2010 11:12:21
No overload for method 'CreateX11WindowInfo' takes 5 arguments
IWindowInfo CreateWindowInfo(GraphicsMode, Control)
IWindowInfo CreateWindowInfo(GraphicsMode, IntPtr)
smiley80
23-07-2010 12:03:59
kubatp
23-07-2010 16:23:39
smiley80
26-07-2010 08:02:36
kubatp
26-07-2010 08:13:37
coco
26-07-2010 10:14:27
smiley80
26-07-2010 12:12:28
I've got some questions, firstly, with the removal of ItemSize from the ListBox.ListBoxStyle, is the number of items visible in the ListBox now depends entirely on MaxVisibleItems?
Secondly, for the screen resize, I've noticed that all controls are scaled in proportion to the screen size. Would it be helpful to add an option to keep the control size constant regardless of screen size?
myGui.HandleScreenResolutionChanges = false;
window.Resize(320, 240);
miyagiSystem.ScreenResolution = new System.Drawing.Size(320, 240);
myGui.ForceRedraw();
coco
27-07-2010 21:45:06
coco
29-07-2010 15:29:44
smiley80
29-07-2010 16:03:05
Sorry again, but for multiline text, is there any character/s that are used for line break? Like "\n"?
Furthermore, how exactly do you make a panel/textbox scrollable?
SkinName.VScrollBar
SkinName.VScrollBar.Thumb
SkinName.HScrollBar
SkinName.HScrollBar.Thumb
SkinName.ScrollBarCorner
nico008
30-07-2010 10:02:41
Oh right, CreateX11WindowInfo is new in version 1.0.
You have to recompile the svn truck of Axiom against the 1.0 branch of OpenTK.
The compiler appears to have crashed. Check the build output pad for details.
Unhandled Exception : System.NotSupportedException: Operation is not supported.
at System.Reflection.MonoGenericClass.GetCustomAttributes(System.Type.attributeType, Boolean inherit)
...
(+ 77 warnings)
smiley80
30-07-2010 10:22:16
nico008
30-07-2010 11:16:20
window = root.RenderSystem.CreateRenderWindow("test", 800, 600, false, npl);
** (./YAMORPAG.exe:4542): WARNING **: The class Axiom.Scripting.IPropertyCommand`2 could not be loaded, used in Axiom, Version=0.8.0.0, Culture=neutral, PublicKeyToken=null
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
at Axiom.Graphics.Material.set_LodStrategy (Axiom.Core.LodStrategy value) [0x00000] in <filename unknown>:0
at Axiom.Graphics.Material.CopyTo (Axiom.Graphics.Material target, Boolean copyUniqueInfo) [0x00000] in <filename unknown>:0
at Axiom.Serialization.MaterialSerializer.ParseMaterial (System.String parameters, Axiom.Serialization.MaterialScriptContext context) [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
at Axiom.Serialization.MaterialSerializer.InvokeParser (System.String line, Axiom.Collections.AxiomCollection`1 parsers) [0x00000] in <filename unknown>:0
at Axiom.Serialization.MaterialSerializer.ParseScriptLine (System.String line) [0x00000] in <filename unknown>:0
at Axiom.Serialization.MaterialSerializer.ParseScript (System.IO.Stream stream, System.String groupName, System.String fileName) [0x00000] in <filename unknown>:0
at Axiom.Graphics.MaterialManager.ParseScript (System.IO.Stream stream, System.String groupName, System.String fileName) [0x00000] in <filename unknown>:0
at Axiom.Core.ResourceGroupManager._parseResourceGroupScripts (Axiom.Core.ResourceGroup grp) [0x00000] in <filename unknown>:0
at Axiom.Core.ResourceGroupManager.InitializeAllResourceGroups () [0x00000] in <filename unknown>:0
at YAMORPAG.YGraphics.LoadResources () [0x00000] in <filename unknown>:0
at YAMORPAG.YGraphics.Setup () [0x00000] in <filename unknown>:0
at YAMORPAG.YGraphics..ctor (YAGM.YClientPreferences prefs, YAGM.YObjectsManager objectsManager, YAGM.YClient client) [0x00000] in <filename unknown>:0
at YAMORPAG.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
coco
02-08-2010 09:51:06
var panel = new Panel("VScrollPanel")
{
BackgroundStyle = {Skin = panelSkin},
Size = new Size(560, 200),
Location = new Point(20, 40),
TextStyle =
{
Multiline = true,
Alignment = Alignment.TopLeft,
ForegroundColour = lightGreen,
Offset = new Point(8, 0),
},
VScrollBarStyle = {Extent = 10},
};
smiley80
02-08-2010 10:46:01
coco
02-08-2010 12:59:22
That should work for child controls.
But it won't work for the panel's text. For that, you'll need to add a label, that resizes itself when the text changes, to the panel.
smiley80
02-08-2010 13:36:33
kubatp
26-08-2010 17:08:49
smiley80
27-08-2010 14:21:32
coco
31-08-2010 10:35:00
smiley80
31-08-2010 11:30:07
coco
31-08-2010 14:41:25
smiley80
31-08-2010 15:38:51
Gui.Resize((double)newSize.Width / oldSize.Width, (double)newSize.Height / oldSize.Height);
Gui.ForceRedraw();
kubatp
31-08-2010 16:32:38
smiley80
31-08-2010 16:44:09
kubatp
01-09-2010 08:34:22
coco
01-09-2010 08:35:55
smiley80
01-09-2010 10:26:10
WarehouseJim
08-09-2010 12:34:49
smiley80
08-09-2010 14:03:15
Tubulii
11-09-2010 20:35:39
smiley80
11-09-2010 21:33:42
foreach (var subskin in mySkin.SubSkins)
{
foreach (var frame in subskin.Value.Frames)
{
TextureManager.Singleton.Load(frame.FileName, ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME).Dispose();
}
}
foreach (var subskin in mySkin.SubSkins)
{
foreach (var frame in subskin.Value.Frames)
{
TextureManager.Singleton.Unload(frame.FileName);
}
}
Beauty
13-09-2010 13:50:52
smiley80
13-09-2010 14:11:19
Beauty
13-09-2010 14:50:30
smiley80
13-09-2010 16:43:09
What would happen when somebody forget to dispose?
kubatp
17-09-2010 15:36:46
smiley80
17-09-2010 16:21:08
float4 main(float2 vIn : TEXCOORD0,
sampler2D tex0 : TEXUNIT0,
uniform float brightness
) : COLOR
{
float4 color = tex2D(tex0, vIn);
color.rgb += brightness;
return color;
}
texture.GpuPrograms.Add(
this.gpu = Miyagi.Common.Resources.GpuProgram.Create(
this.miyagiSystem,
"FadeToWhite",
"cg",
"FadeToWhite.cg",
Miyagi.Common.Resources.GpuProgramType.Fragment,
new Dictionary<string, string>
{
{ "entry_point", "main" },
{ "profiles", "ps_2_0 arbfp1" }
}));
this.gpu.NamedConstants["brightness"] = 0f;
Tubulii
20-09-2010 18:26:09
...
MOGRE_Base.GUI.UIManager.Singelton.Skins.Add(.CreateSkin("CursorSkin", "Cursor", True))
...
GUIManager.Cursor = New Cursor(MOGRE_Base.GUI.UIManager.Singelton.Skins.Item("CursorSkin"), New Size(16, 16), New Point(0, 0), True)
GUIManager.Cursor.Skin = MOGRE_Base.GUI.UIManager.Singelton.Skins.Item("CursorSkin")
GUIManager.Cursor.Hotspots.Add(CursorMode.Main, New Point(8, 8))
GUIManager.Cursor.Hotspots.Add(CursorMode.ResizeLeft, New Point(8, 8))
GUIManager.Cursor.Hotspots.Add(CursorMode.ResizeTop, New Point(8, 8))
GUIManager.Cursor.Hotspots.Add(CursorMode.ResizeTopLeft, New Point(8, 8))
GUIManager.Cursor.Hotspots.Add(CursorMode.ResizeTopRight, New Point(8, 8))
GUIManager.Cursor.SetActiveMode(CursorMode.Main)
...
smiley80
20-09-2010 22:57:01
GUIManager.Cursor.Skin.IsSubSkinDefined("CursorSkin")
Information: 5 files found for skin: CursorSkin
Texture: Cursor.png: Loading 1 faces [...]
Tubulii
21-09-2010 18:53:10
E.g. this should return true:
GUIManager.Cursor.Skin.IsSubSkinDefined("CursorSkin")
Miyagi.log should contain something like:
Information: 5 files found for skin: CursorSkin
Does Ogre.log report the loading of the cursor texture?
Texture: Cursor.png: Loading 1 faces [...]
19:46:24: Texture: Cursor.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
19:46:24: Texture: Cursor.ResizeBottomLeft.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
19:46:24: Texture: Cursor.ResizeBottomRight.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
19:46:24: Texture: Cursor.ResizeLeft.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
19:46:24: Texture: Cursor.ResizeTop.png: Loading 1 faces(PF_A8R8G8B8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
smiley80
21-09-2010 22:36:09
Tubulii
22-09-2010 16:46:33
Do you have more than one camera?
this.guiCam = this.sceneMgr.CreateCamera("GuiCam");
this.guiViewport = this.window.AddViewport(this.guiCam, 10);
this.guiViewport.SetClearEveryFrame(false);
this.guiViewport.ShadowsEnabled = false;
this.guiViewport.OverlaysEnabled = false;
this.guiViewport.SkiesEnabled = false;
this.guiViewport.SetVisibilityMask(0);
((MogreRenderManager)this.miyagiSystem.Backend.RenderManager).Camera = this.guiCam;
And you have to add a reference to 'Miyagi.Backend.Mogre.dll'.
Do you use a Form as RenderWindow?
smiley80
23-09-2010 08:26:45
Tubulii
23-09-2010 18:14:39
Any differences if you exchange the cursor texture for another texture that does render?
Also, try updating to the latest revision, if you haven't already.
smiley80
23-09-2010 22:51:40
My version is quite uptodate but I am using VS 2008 and you upgraded to 2010. After I tried to downgrade the solution there were some code errors like the Net. 4 feature optional parameters which do not work in Net. 3.5.
Tubulii
25-09-2010 18:22:42
smiley80
26-09-2010 07:09:34
I have a question: 'this' is the firemainrenderer, isn't it?
Nevertheless i took a deeper look at the cursor class. Somehow the cursor seems to get the right texture but somewhere it gets 'lost'.
I have a few suggestens: the cursor needs some events: Cursor moved, clicked,
visiblechanged, hotspotchanged and activemodechanged.
And the texture property should become public. This should make it more 'user-friendly' .
WarehouseJim
22-11-2010 14:10:17
public Bitmap Bitmap
{
get
{
return this.bitmap;
}
set
{
this.ThrowIfDisposed();
if (this.bitmap != value)
{
if (this.bitmap != null)
{
this.bitmap.Dispose();
}
if (value.Width != this.Width || value.Height != this.Height)
{
this.bitmap = new Bitmap(this.Width, this.Height);
using (var g = Graphics.FromImage(this.bitmap))
{
g.DrawImage(value, 0, 0, this.Width, this.Height);
}
}
else
{
this.bitmap = value;
}
this.NeedsUpdate = true;
}
}
}
public Bitmap Bitmap
{
get
{
return this.bitmap;
}
set
{
this.ThrowIfDisposed();
if (this.bitmap != value)
{
this.bitmap = value;
this.NeedsUpdate = true;
}
}
}
public void Add(object item)
{
this.Add(new ListItem(item.ToString()));
}
public void Add(object item)
{
base.Add(new ListItem(item.ToString()));
}
/// <summary>
/// Initializes a new instance of the <see cref="ListItem"/> class with both its text and name set to the name parameter.
/// </summary>
/// <param name="text">The name (and text) of the ListBoxItem.</param>
public ListItem(string name)
{
this.Name = this.Text = name;
}
11:22:44: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource Button.Focused.png in resource group General or any other group. in ResourceGroupManager::openResource at ..\..\ogre\OgreMain\src\OgreResourceGroupManager.cpp (line 753)
smiley80
22-11-2010 16:59:39
WarehouseJim
23-11-2010 12:20:30
Does 'TextureManager.Singleton.ResourceExists("Button.Focused.png")' return true directly after you initialize the resource groups?
smiley80
23-11-2010 14:24:35
ResourceGroupManager.Singleton.ResourceExists(ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME, "Button.Focused.png")
WarehouseJim
23-11-2010 16:18:02
Right, that should have been: ResourceGroupManager.Singleton.ResourceExists(ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME, "Button.Focused.png")
__Button__
Button
Button.png In TextureManager: False In ResourceManager: True
Button
Button.Focused.png In TextureManager: False In ResourceManager: False
__Button__
Button
ButtonDepressed.png In TextureManager: False In ResourceManager: False
__Checkbox__
Checkbox
Checkbox.png In TextureManager: False In ResourceManager: True
Checkbox
Checkbox.Checked.png In TextureManager: False In ResourceManager: True
Checkbox
Checkbox.Focused.png In TextureManager: False In ResourceManager: True
Checkbox
Checkbox.Focused.Checked.png In TextureManager: False In ResourceManager: True
__Radiobutton__
Radiobutton
Radiobutton.png In TextureManager: False In ResourceManager: True
Radiobutton
Radiobutton.Checked.png In TextureManager: False In ResourceManager: True
__Textbox__
Textbox
Textbox.png In TextureManager: False In ResourceManager: True
Textbox
Textbox.Focused.png In TextureManager: False In ResourceManager: True
__Listbox__
Listbox
Listbox.png In TextureManager: False In ResourceManager: True
Listbox
Listbox.ScrollBar.png In TextureManager: False In ResourceManager: False
Listbox
Listbox.ScrollBar.Thumb.png In TextureManager: False In ResourceManager: False
Listbox
Listbox.ScrollBar.Thumb.Border.png In TextureManager: False In ResourceManager: False
__DropDownList__
DropDownList
DropDownList.png In TextureManager: False In ResourceManager: True
DropDownList
DropDownList.List.png In TextureManager: False In ResourceManager: True
DropDownList
DropDownList.ScrollBar.png In TextureManager: False In ResourceManager: True
DropDownList
DropDownList.ScrollBar.Thumb.png In TextureManager: False In ResourceManager: True
DropDownList
DropDownList.ScrollBar.Thumb.Border.png In TextureManager: False In ResourceManager: True
__SliderH__
SliderH
SliderH.png In TextureManager: False In ResourceManager: True
SliderH
SliderH.Border.png In TextureManager: False In ResourceManager: True
SliderH
SliderH.Thumb.png In TextureManager: False In ResourceManager: True
SliderH
SliderH.Thumb.Border.png In TextureManager: False In ResourceManager: True
__Cursor__
Cursor
Cursor.png In TextureManager: False In ResourceManager: True
Cursor
Cursor.ResizeBottomLeft.png In TextureManager: False In ResourceManager: True
Cursor
Cursor.ResizeBottomRight.png In TextureManager: False In ResourceManager: True
Cursor
Cursor.ResizeLeft.png In TextureManager: False In ResourceManager: True
Cursor
Cursor.ResizeTop.png In TextureManager: False In ResourceManager: True
__Panel__
Panel
Panel.png In TextureManager: False In ResourceManager: True
Panel
Panel.Border.png In TextureManager: False In ResourceManager: True
smiley80
23-11-2010 17:16:18
NB: I have also had troubles with the ScrollBars on ListBoxes... maybe it's having the same issue?
WarehouseJim
24-11-2010 13:43:15
>>skins = [mogreForm.buttonSkin, mogreForm.buttonDownSkin, mogreForm.checkBoxSkin, mogreForm.radioButtonSkin, mogreForm.textBoxSkin, mogreForm.listBoxSkin, mogreForm.dropDownListSkin, mogreForm.sliderHSkin, mogreForm.cursorSkin, mogreForm.panelSkin,]
>>
>>for skin in skins:
>> print skin.Name
>> for subskin in skin.SubSkins:
>> #print "\t"+subskin.Value.Name
>> for frame in subskin.Value.Frames:
>> print "\t\t" + frame.FileName
>> print 3*"\t"+" in TextureManager " +str(TextureManager.Singleton.ResourceExists(frame.FileName))
>> print 3*"\t"+" in ResourceGroupManager (default group) "+ str(ResourceGroupManager.Singleton.ResourceExists(ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME, frame.FileName))
>> print 3*"\t"+" in any ResourceGroup "+str(ResourceGroupManager.Singleton.ResourceExistsInAnyGroup(frame.FileName))
>>
>>
Button
Button.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Button.Focused.png
in TextureManager False
in ResourceGroupManager (default group) False
in any ResourceGroup False
Button
ButtonDepressed.png
in TextureManager False
in ResourceGroupManager (default group) False
in any ResourceGroup False
Checkbox
Checkbox.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Checkbox.Checked.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Checkbox.Focused.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Checkbox.Focused.Checked.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Radiobutton
Radiobutton.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Radiobutton.Checked.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Textbox
Textbox.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Textbox.Focused.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Listbox
Listbox.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Listbox.VScrollBar.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Listbox.VScrollBar.Thumb.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Listbox.VScrollBar.Thumb.Border.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
DropDownList
DropDownList.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
DropDownList.List.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
DropDownList.ScrollBar.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
DropDownList.ScrollBar.Thumb.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
DropDownList.ScrollBar.Thumb.Border.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
SliderH
SliderH.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
SliderH.Border.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
SliderH.Thumb.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
SliderH.Thumb.Border.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Cursor
Cursor.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Cursor.ResizeBottomLeft.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Cursor.ResizeBottomRight.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Cursor.ResizeLeft.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Cursor.ResizeTop.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Panel
Panel.png
in TextureManager True
in ResourceGroupManager (default group) True
in any ResourceGroup True
Panel.Border.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Panel.Listbox.VScrollBar.png
in TextureManager False
in ResourceGroupManager (default group) False
in any ResourceGroup False
Panel.VScrollBar.Thumb.png
in TextureManager False
in ResourceGroupManager (default group) True
in any ResourceGroup True
Panel.VScrollBar.Thumb.Border.png
in TextureManager False
in ResourceGroupManager (default group) False
in any ResourceGroup False
smiley80
24-11-2010 18:18:18
WarehouseJim
25-11-2010 16:42:20
WarehouseJim
25-11-2010 17:45:37
ResourceGroupManager.Singleton.AddResourceLocation(parentFolderPath, "FileSystem", MiyagiMediaResourceGroupName, true);
ResourceGroupManager.Singleton.AddResourceLocation(Path.Combine(parentFolderPath, folderName), "FileSystem", MiyagiMediaResourceGroupName);
WarehouseJim
25-11-2010 17:50:50
MiyagiMediaResourceGroupName = ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME;
smiley80
26-11-2010 12:29:28
WarehouseJim
01-12-2010 13:03:08
this.FocusedControl = newNode.Value;
if(newNode!=null)
{
this.FocusedControl = newNode.Value;
}
else
{
this.FocusedControl = null;
}
smiley80
01-12-2010 15:23:36
Not sure I've got a use for it yet, but still cool.
I've found another bug in InputManager.TabMovement():
Pyritie
08-12-2010 17:54:26
Could not load file or assembly 'Mogre, Version=1.6.2.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Error 1 Property or indexer 'Mogre.SubEntity.MaterialName' cannot be assigned to -- it is read only C:\Users\___\Desktop\Miyagi1.0beta4c\Miyagi\Controls\Elements\MeshElement.cs 122 17 Miyagion this line in MeshElement.cs
this.entity.GetSubEntity(x).MaterialName = materiallnstanceName;
smiley80
08-12-2010 19:19:29
Pyritie
08-12-2010 19:57:24
1.0 doesn't work with Mogre 1.7.1.
smiley80
08-12-2010 20:09:03
Pyritie
08-12-2010 20:11:35
Pyritie
13-12-2010 23:21:29
smiley80
14-12-2010 01:59:42
splash.Increment("Loading first level...");
Kernel.Get<ILevelManager>().LoadLevel(0, false);
splash.Increment("Initialising UI...");
Kernel.Get<UIMain>();
Pyritie
14-12-2010 11:14:16
When Miyagi's RenderManager is initialized, it takes the first Viewport of the first SceneManager as the default for future SpriteRenderer.
You can set the Viewports manually through RenderMananger.MainViewport or GUI.SpriteRenderer.Viewport.
Or you can initialize Miyagi after you create your viewport (in Main.cs):
splash.Increment("Loading first level...");
Kernel.Get<ILevelManager>().LoadLevel(0, false);
splash.Increment("Initialising UI...");
Kernel.Get<UIMain>();
kubatp
14-12-2010 15:19:51
kubatp
14-12-2010 15:30:17
smiley80
14-12-2010 19:13:14
How do I go from a mogre viewport to a miyagi viewport? Or am I misunderstanding you?
miyagiSystem.RenderManager.MainViewport = new MogreViewport(this.viewport);
gui.SpriteRenderer.Viewport = new MogreViewport(this.viewport);
Nope, didn't do anything different :/
But backwards - first Mogre uses this texture and after this, the texture is used by Miyagi - it throws the exception, that the file is locked and it cannot be accessed.
Actually one more thing - this GUI3D, is it now possible to attach controls to actual 3D SceneNode?
Pyritie
14-12-2010 19:44:43
How do I go from a mogre viewport to a miyagi viewport? Or am I misunderstanding you?
You have to update to the latest revision (RenderManager.MainViewport setter was wrongly set to 'protected' before that) and add a reference to Miyagi.Backend.Mogre:
miyagiSystem.RenderManager.MainViewport = new MogreViewport(this.viewport);
gui.SpriteRenderer.Viewport = new MogreViewport(this.viewport);
Nope, didn't do anything different :/
Works for me with the latest trunk version:
kubatp
14-12-2010 20:51:55
But backwards - first Mogre uses this texture and after this, the texture is used by Miyagi - it throws the exception, that the file is locked and it cannot be accessed.
smiley80
14-12-2010 21:07:15
Pyritie
14-12-2010 21:59:02
smiley80
14-12-2010 22:38:14
((MogreRenderManager)miyagiSystem.RenderManager).SceneManager = newSceneManager;
but physx just crashes.
ulong* pLong = (ulong*)ibuf.Lock(HardwareBuffer.LockOptions.HBL_READ_ONLY);
uint* pLong = (uint*)ibuf.Lock(HardwareBuffer.LockOptions.HBL_READ_ONLY);
Pyritie
14-12-2010 23:17:04
When you create a new SceneManager:Now I'm getting some sort of null exception from the scene manager but that's probably related to my own dependency injection mess
((MogreRenderManager)miyagiSystem.RenderManager).SceneManager = newSceneManager;
((MogreRenderManager)MiyagiSys.RenderManager).SceneManager = Kernel.Get<SceneManager>();
at Mogre.SceneManager.remove_RenderQueueStarted(RenderQueueStartedHandler hnd)
at Miyagi.Backend.Mogre.MogreRenderManager.set_SceneManager(SceneManager value)
at Lymph.UI.UIMain.OnLevelLoad(LevelChangedEventArgs eventArgs) in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\GUI\GUIMain.cs:line 86
at Lymph.Levels.LevelManager.LoadLevel(Level newLevel, Boolean showSplashScreen) in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\Levels\LevelManager.cs:line 143
at Lymph.Levels.LevelManager.LoadLevel(Int32 newLevelID) in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\Levels\LevelManager.cs:line 83
at Lymph.Levels.LevelChangerHandler.input_OnKeyboardPress_Anything(KeyEvent ke) in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\Levels\LevelChangerHandler.cs:line 27
at Lymph.LymphInputEventHandler`1.Invoke(T eventArgs)
at Lymph.InputMain.FireEvent[T](LymphInputEventHandler`1 handler, T eventArgs) in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\InputMain.cs:line 92
at Lymph.InputMain.KeyPressed(KeyEvent ke) in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\InputMain.cs:line 130
at MOIS.KeyListener.KeyPressedHandler.Invoke(KeyEvent arg)
at MOIS.Keyboard.raise_KeyPressed(KeyEvent arg)
at MOIS.Keyboard.OnKeyPressed(KeyEvent arg)
at MOIS.KeyListener_Director.keyPressed(KeyListener_Director* , KeyEvent* arg)
at MOIS.OISObject.Capture()
at Miyagi.Plugin.Input.Mois.MoisInputManager.Capture()
at Miyagi.Common.InputManager.Update()
at Miyagi.MiyagiSystem.Update()
at Lymph.UI.UIMain.root_FrameEnded(FrameEvent evt) in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\GUI\GUIMain.cs:line 108
at Mogre.Root.raise_FrameEnded(FrameEvent evt)
at Mogre.Root.OnFrameEnded(FrameEvent evt)
at Mogre.FrameListener_Director.frameEnded(FrameListener_Director* , FrameEvent* evt)
at Ogre.Root.renderOneFrame(Root* )
at Mogre.Root.RenderOneFrame()
at Lymph.Main.StartRendering() in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\Main.cs:line 133
at Lymph.Main.Go() in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\Main.cs:line 23
at Lymph.Launch.Main() in A:\Pyritie\Documents\Computer Science\MOgre\Lymph\Lymph\Launch.cs:line 21
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
but physx just crashes.
in PhysXMain.GetMeshInformation change:
ulong* pLong = (ulong*)ibuf.Lock(HardwareBuffer.LockOptions.HBL_READ_ONLY);
to
uint* pLong = (uint*)ibuf.Lock(HardwareBuffer.LockOptions.HBL_READ_ONLY);
smiley80
15-12-2010 03:15:37
Now I'm getting some sort of null exception from the scene manager but that's probably related to my own dependency injection mess
no seriously how did you know this :0
kubatp
15-12-2010 11:40:56
Pyritie
15-12-2010 15:04:42
god damn you did it again <3Now I'm getting some sort of null exception from the scene manager but that's probably related to my own dependency injection mess
Try setting RenderManager.SceneManager to null before you destroy the old SceneManager.
ahh. Well I got that part from the wiki so I updated that page with your fix too. :Dno seriously how did you know this :0
I made the same mistake too.
smiley80
15-12-2010 19:51:57
Hi Smiley,
the fix really solved the problem I was experiencing, however there is another exception -
line no. 372 MogreSpriteRenderer2D (this.hardwareBuffer.Dispose();)
how did you figure that out? did you have the same problem at one point too?
kubatp
16-12-2010 08:32:12
Hi Smiley,
the fix really solved the problem I was experiencing, however there is another exception -
line no. 372 MogreSpriteRenderer2D (this.hardwareBuffer.Dispose();)
Under which circumstances does that happen?
Miyagi.Backend.Mogre.dll!Miyagi.Backend.Mogre.MogreSpriteRenderer2D.DestroyHardwareBuffer() Line 372 + 0xd bytes
Miyagi.Backend.Mogre.dll!Miyagi.Backend.Mogre.MogreSpriteRenderer2D.CheckBufferSize() Line 319 + 0x8 bytes
Miyagi.Backend.Mogre.dll!Miyagi.Backend.Mogre.MogreSpriteRenderer2D.AddSprite(Miyagi.Common.Rendering.Sprite sprite = {Miyagi.UI.UISprite}) Line 145 + 0x8 bytes
Miyagi.dll!Miyagi.Common.Rendering.Sprite.Sprite(Miyagi.Common.Rendering.ISpriteRenderer spriteRenderer = {Miyagi.Backend.Mogre.MogreSpriteRenderer2D}, Miyagi.Common.Rendering.Primitives.IPrimitive[] primitives = {Miyagi.Common.Rendering.Primitives.Quad[4]}) Line 73 + 0xc bytes
Miyagi.dll!Miyagi.UI.UISprite.UISprite(Miyagi.UI.Controls.Elements.IElement owner = {Miyagi.UI.Controls.Elements.TextElement}, Miyagi.Common.Rendering.Primitives.IPrimitive[] primitives = {Miyagi.Common.Rendering.Primitives.Quad[4]}) Line 50 + 0x20 bytes
Miyagi.dll!Miyagi.UI.Controls.Elements.TextElement.CreateSprite() Line 453 + 0x63 bytes
Miyagi.dll!Miyagi.UI.Controls.Elements.TextElement.UpdateCore() Line 331 + 0x8 bytes
Miyagi.dll!Miyagi.UI.Controls.Elements.Element<Miyagi.UI.Controls.Elements.Owner.ITextElementOwner,Miyagi.UI.Controls.Elements.Styles.TextStyle>.Update(Miyagi.Common.Data.Point deltaLocation = {Miyagi.Common.Data.Point}, Miyagi.Common.Data.Point deltaSize = {Miyagi.Common.Data.Point}) Line 755 + 0xb bytes
Miyagi.dll!Miyagi.UI.Controls.Label.UpdateCore() Line 350 + 0x49 bytes
Miyagi.dll!Miyagi.UI.Controls.SkinnedControl.UpdateCore() Line 538 + 0x8 bytes
Miyagi.dll!Miyagi.UI.Controls.ScrollableControl.UpdateCore() Line 424 + 0x8 bytes
Miyagi.dll!Miyagi.UI.Controls.Panel.UpdateCore() Line 465 + 0x8 bytes
Miyagi.dll!Miyagi.UI.Controls.Control.Update() Line 1893 + 0xb bytes
Miyagi.dll!Miyagi.UI.Controls.Control.Update() Line 1901 + 0x23 bytes
Miyagi.dll!Miyagi.UI.Controls.Control.Update() Line 1901 + 0x23 bytes
Miyagi.dll!Miyagi.UI.Controls.Control.Update() Line 1901 + 0x23 bytes
Miyagi.dll!Miyagi.UI.GUI.UpdateCore() Line 633 + 0x23 bytes
Miyagi.dll!Miyagi.UI.GUI.Update() Line 447 + 0xb bytes
smiley80
16-12-2010 08:58:06
kubatp
16-12-2010 13:55:08
Miyagi.dll!Miyagi.Common.Rendering.Primitives.Quad.SetCroppedValues(Miyagi.Common.Data.RectangleF cropArea = {RectangleF(-2.893196,-5.202879,0.2373416,-0.08638763)}) Line 367 + 0x14 bytes
Miyagi.dll!Miyagi.UI.UISprite.UpdateCrop() Line 208 + 0x24 bytes
Miyagi.dll!Miyagi.UI.Controls.Elements.Element<Miyagi.UI.Controls.Elements.Owner.ITextElementOwner,Miyagi.UI.Controls.Elements.Styles.TextStyle>.UpdateSpriteCrop() Line 769 + 0x15 bytes
Miyagi.dll!Miyagi.UI.Controls.Elements.TextElement.UpdateSpriteCrop() Line 208 + 0x8 bytes
Miyagi.dll!Miyagi.UI.Controls.Elements.Element<Miyagi.UI.Controls.Elements.Owner.ITextElementOwner,Miyagi.UI.Controls.Elements.Styles.TextStyle>.Update(Miyagi.Common.Data.Point deltaLocation = {Point(-11196,2370)}, Miyagi.Common.Data.Point deltaSize = {Point(0,0)}) Line 713 + 0xb bytes
Miyagi.dll!Miyagi.UI.Controls.Label.UpdateCore() Line 350 + 0x49 bytes
Miyagi.dll!Miyagi.UI.Controls.Control.Update() Line 1893 + 0xb bytes
Miyagi.dll!Miyagi.UI.Controls.Control.Update() Line 1901 + 0x23 bytes
Miyagi.dll!Miyagi.UI.GUI.UpdateCore() Line 633 + 0x23 bytes
Miyagi.dll!Miyagi.UI.GUI.Update() Line 447 + 0xb bytes
Miyagi.dll!Miyagi.UI.GUIManager.Update() Line 670 + 0x2f bytes
Miyagi.dll!Miyagi.MiyagiSystem.Update() Line 617 + 0x1c bytes
gui.exe!Aggressors.UI.SecondForm.Scene_FrameStarted(Mogre.FrameEvent evt = {Mogre.FrameEvent}) Line 5638 + 0x1b bytes
smiley80
16-12-2010 20:12:52
kubatp
17-12-2010 13:01:26
MiyagiGuiWindow UnnamedMaterialCroppingWindow_357 created.
MaterialCroppingWindow UnnamedMaterialCroppingWindow_357 created.
MiyagiGuiWindow terrainSelector init.
[12:55:52] Information: ToolTipElement Unhandled change. Property name: Padding
[12:55:52] Information: ToolTipElement Unhandled change. Property name: HoverDuration
[12:55:52] Information: ToolTipElement Unhandled change. Property name: Padding
[12:55:52] Information: ToolTipElement Unhandled change. Property name: HoverDuration
[12:55:52] Information: ToolTipElement Unhandled change. Property name: Padding
[12:55:52] Information: ToolTipElement Unhandled change. Property name: HoverDuration
[12:55:52] Information: ToolTipElement Unhandled change. Property name: Padding
[12:55:52] Information: ToolTipElement Unhandled change. Property name: HoverDuration
Texture: newtiles4.png: Loading 1 faces(PF_A8R8G8B8,8192x8192x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,8192x8192x1.
-- THIS IS IN CYCLE - START --
D3D9 Device 0x[0A51CF80] entered lost state
D3D9 Device 0x[0A51CF80] entered lost state
D3D9 : WARNING - disabling VSync in windowed mode can cause timing issues at lower frame rates, turn VSync on if you observe this problem.
The thread 'Win32 Thread' (0xe8c) has exited with code 0 (0x0).
!!! Direct3D Device successfully restored.
D3D9 device: 0x[0A51CF80] was reset
-- THIS IS IN CYCLE - END --
smiley80
19-12-2010 15:44:53
((MogreRenderManager)miyagiSystem.RenderManager).SceneManager = null;
kubatp
19-12-2010 17:30:14
smiley80
20-12-2010 05:20:54
kubatp
20-12-2010 15:12:48
smiley80
20-12-2010 16:17:11
Direct3D9: (ERROR) :Need to call BeginScene before rendering.
kubatp
21-12-2010 14:33:19
I still think it's some kind of multithreading issue.
Direct3D9: (ERROR) :Invalid sample type specified. CheckDeviceMultiSampleType fails.
Compiler error: unknown error in Tiles.material(23): token "scene_blend" is not recognized
Direct3D9: (ERROR) :Need to call BeginScene before rendering.
gui.exe has triggered a breakpoint
The thread 'Win32 Thread' (0x1c70) has exited with code 0 (0x0).
First-chance exception at 0x758ffbae in gui.exe: Microsoft C++ exception: long at memory location 0x0025d260..
The thread 0x5cc has exited with code 0 (0x0).
Direct3D9: (ERROR) :DrawPrimitive failed.
First-chance exception at 0x758ffbae in gui.exe: Microsoft C++ exception: Ogre::RenderingAPIException at memory location 0x0025d454..
A first chance exception of type 'System.Runtime.InteropServices.SEHException' occurred in Mogre.dll
Direct3D9: (WARN) :Device that was created without D3DCREATE_MULTITHREADED is being used by a thread other than the creation thread.
Direct3D9: (ERROR) :Final Release for a device can only be called from the thread that the device was created from.
Windows has triggered a breakpoint in gui.exe.
This may be due to a corruption of the heap, which indicates a bug in gui.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while gui.exe has focus.
The output window may have more diagnostic information.
Direct3D9: :====> ENTER: DLLMAIN(5981a170): Process Detach 00001d70, tid=00000698
Direct3D9: (INFO) :MemFini!
Direct3D9: :====> EXIT: DLLMAIN(5981a170): Process Detach 00001d70
smiley80
23-12-2010 07:56:48
I hope it is not multithreading issue. I do all the GUI operation on the same thread.
kubatp
23-12-2010 10:58:24
nico008
27-12-2010 00:57:34
this.TextureElement.DoNotCrop = true;
this.TextElement.DoNotCrop = true;
this.BorderElement.DoNotCrop = true;
Location = new Point(-1, -1)
? (I want the button to be out of the center area of my form)Resources.Fonts.Add("BlueHighwaySmall", TrueTypeFont.Create(guiSystem, "BlueHighwaySmall", path + "bluehigh.ttf", 14, 72, System.Drawing.FontStyle.Regular, null));
Skin.CreateFromFiles(name, @"blabla\folder", fileName, system);
smiley80
27-12-2010 09:17:24
Is it the same thread as the Form thread, where is it displayed?
Any ideas regard to those Direct3D9 errors?
But there is no more TextureElement.
-> is it ok if I use "null" as last parameter?
-> why is it deprecated? Do we really need to use xml? I don't understand why we can't keep this method
nico008
27-12-2010 16:23:01
itemIcon = new Button(name)
{
CenterOnGrab = true,
Movable = true
};
smiley80
27-12-2010 18:27:47
class MyButton : Button
{
public bool IgnoreHitTest
{
get;
set;
}
protected override bool HitTestCore(int x, int y)
{
return !this.IgnoreHitTest && base.HitTestCore(x, y);
}
protected override void OnMouseDown(MouseButtonEventArgs e)
{
this.IgnoreHitTest = true;
base.OnMouseDown(e);
}
protected override void OnMouseUp(MouseButtonEventArgs e)
{
this.IgnoreHitTest = false;
base.OnMouseUp(e);
}
}
itemIcon.SuccessfulHitTest += (s, e) => e.Cancel = s == this.MiyagiSystem.GUIManager.GrabbedControl;
kubatp
27-12-2010 20:58:23
kubatp wrote:
Is it the same thread as the Form thread, where is it displayed?
I don't think it has to be the main thread, just the one the device has been created on.
countryEmblem.Bitmap = myBitmap;
countryEmblem.Size = new Size(countryEmblem.Bitmap.Size.Width, countryEmblem.Bitmap.Size.Height);
nico008
27-12-2010 23:02:41
Edit:
In the latest revision you can also do:
itemIcon.SuccessfulHitTest += (s, e) => e.Cancel = s == this.MiyagiSystem.GUIManager.GrabbedControl;
smiley80
28-12-2010 10:22:38
I actually mean one thing - when I receive the message from my backend (which runs on another thread), I should use MiyagiSystem.Invoke? What should I use for Mogre update?
None of these lines work - it doesnt change the bitmap, and it doesnt change the size as well.
I don't understand that syntax but this magic line does exactly what I want
kubatp
28-12-2010 12:33:44
Fixed in the latest revision.
You can check whether you have to use MiyagiSystem.Invoke with MiyagiSystem.InvokeRequired. The important thing is that the MiyagiSystem has been created on the same thread as Mogre, and that MiyagiSystem.Update is also called on the same thread.
Pyritie
28-12-2010 16:26:31
smiley80
28-12-2010 17:29:58
The resizing seems to work, however the bitmap change doesnt. It works the first time when you set bitmap, but next times, it doesnt update the bitmap anymore.
I get an exception about "unable to find FreeImage" or something.
nico008
28-12-2010 23:00:58
smiley80
29-12-2010 09:02:12
kubatp
29-12-2010 09:45:33
Should work again now.
nico008
29-12-2010 15:10:58
smiley80
29-12-2010 16:15:39
nico008
29-12-2010 16:39:15
smiley80
30-12-2010 14:41:38
WarehouseJim
30-12-2010 17:14:44
var g = this.CreateGraphics();
this.Dpi = new Vector2(g.DpiX, g.DpiY);
string fontFileName = "bluehigh.ttf";
int pointSize = 32;
var fontStyle = FontStyle.Regular;
string miyagiFontName = "BlueHigh32";
TrueTypeFont.Create(miyagiSystem, miyagiFontName, fontFileName, pointSize * 96 / (int)Mogre.Math.Ceil(Dpi.y), (int)Mogre.Math.Ceil(Dpi.y), fontStyle, null);
leading = (int)Math.Ceiling(font.GetHeight());
Debug.WriteLine("Size " + c + " = " + size+ " location = ("+x+", "+y+")");
g.DrawString(c, font, brush, x, y, sf);
Creating [FontFamily: Name=Blue Highway] size 32
Size = SizeF(0,37.54666) location = (0, 0)
Size ! = SizeF(7.594666,37.54666) location = (1, 0)
Size " = SizeF(9.983998,37.54666) location = (9.594666, 0)
Size # = SizeF(21.07733,37.54666) location = (20.57866, 0)
Size $ = SizeF(17.32266,37.54666) location = (42.65599, 0)
Size % = SizeF(20.65066,37.54666) location = (60.97866, 0)
Size & = SizeF(24.02133,37.54666) location = (82.62932, 0)
Size ' = SizeF(4.778666,37.54666) location = (107.6507, 0)
Size ( = SizeF(9.941332,37.54666) location = (113.4293, 0)
Size ) = SizeF(9.898665,37.54666) location = (124.3706, 0)
Size * = SizeF(19.62666,37.54666) location = (135.2693, 0)
Size + = SizeF(11.264,37.54666) location = (155.896, 0)
Size , = SizeF(6.741332,37.54666) location = (168.16, 0)
Size - = SizeF(10.24,37.54666) location = (175.9013, 0)
Size . = SizeF(7.082666,37.54666) location = (187.1413, 0)
Size / = SizeF(13.26933,37.54666) location = (195.224, 0)
Size 0 = SizeF(20.56533,37.54666) location = (209.4933, 0)
Size 1 = SizeF(8.746666,37.54666) location = (231.0586, 0)
Size 2 = SizeF(17.36533,37.54666) location = (240.8053, 0)
Size 3 = SizeF(16.512,37.54666) location = (259.1706, 0)
Size 4 = SizeF(17.96266,37.54666) location = (276.6826, 0)
Size 5 = SizeF(17.92,37.54666) location = (295.6453, 0)
Size 6 = SizeF(16.93866,37.54666) location = (314.5653, 0)
Size 7 = SizeF(16.59733,37.54666) location = (332.5039, 0)
Size 8 = SizeF(17.36533,37.54666) location = (350.1013, 0)
Size 9 = SizeF(17.024,37.54666) location = (368.4666, 0)
Size : = SizeF(7.466666,37.54666) location = (386.4906, 0)
Size ; = SizeF(6.869332,37.54666) location = (394.9572, 0)
Size < = SizeF(18.98666,37.54666) location = (402.8266, 0)
Size = = SizeF(12.33066,37.54666) location = (422.8132, 0)
Size > = SizeF(18.98666,37.54666) location = (436.1439, 0)
Size ? = SizeF(14.93333,37.54666) location = (456.1306, 0)
Size @ = SizeF(20.56533,37.54666) location = (472.0639, 0)
Size A = SizeF(19.24266,37.54666) location = (0, 40)
Size B = SizeF(19.072,37.54666) location = (20.24266, 40)
Size C = SizeF(20.56533,37.54666) location = (40.31466, 40)
Size D = SizeF(21.20533,37.54666) location = (61.87999, 40)
Size E = SizeF(16.42666,37.54666) location = (84.08532, 40)
Size F = SizeF(15.40266,37.54666) location = (101.512, 40)
Size G = SizeF(21.76,37.54666) location = (117.9146, 40)
Size H = SizeF(20.13866,37.54666) location = (140.6746, 40)
Size I = SizeF(7.637332,37.54666) location = (161.8133, 40)
Size J = SizeF(12.88533,37.54666) location = (170.4506, 40)
Size K = SizeF(20.26666,37.54666) location = (184.336, 40)
Size L = SizeF(16.128,37.54666) location = (205.6026, 40)
Size M = SizeF(23.63733,37.54666) location = (222.7306, 40)
Size N = SizeF(20.224,37.54666) location = (247.368, 40)
Size O = SizeF(22.22933,37.54666) location = (268.5919, 40)
Size P = SizeF(18.60266,37.54666) location = (291.8213, 40)
Size Q = SizeF(22.18666,37.54666) location = (311.424, 40)
Size R = SizeF(19.49866,37.54666) location = (334.6106, 40)
Size S = SizeF(17.74933,37.54666) location = (355.1093, 40)
Size T = SizeF(18.64533,37.54666) location = (373.8586, 40)
Size U = SizeF(19.88266,37.54666) location = (393.5039, 40)
Size V = SizeF(20.52266,37.54666) location = (414.3866, 40)
Size W = SizeF(31.06133,37.54666) location = (435.9093, 40)
Size X = SizeF(21.58933,37.54666) location = (467.9706, 40)
Size Y = SizeF(20.13866,37.54666) location = (490.5599, 40)
Size Z = SizeF(18.688,37.54666) location = (0, 80)
Size [ = SizeF(9.642666,37.54666) location = (19.688, 80)
Size \ = SizeF(14.08,37.54666) location = (30.33066, 80)
Size ] = SizeF(9.727999,37.54666) location = (45.41066, 80)
Size ^ = SizeF(16.64,37.54666) location = (56.13866, 80)
Size _ = SizeF(18.816,37.54666) location = (73.77866, 80)
Size ` = SizeF(6.655999,37.54666) location = (93.59466, 80)
Size a = SizeF(16.68266,37.54666) location = (101.2507, 80)
Size b = SizeF(17.152,37.54666) location = (118.9333, 80)
Size c = SizeF(15.27466,37.54666) location = (137.0853, 80)
Size d = SizeF(17.45066,37.54666) location = (153.36, 80)
Size e = SizeF(17.28,37.54666) location = (171.8107, 80)
Size f = SizeF(10.79467,37.54666) location = (190.0907, 80)
Size g = SizeF(17.024,37.54666) location = (201.8853, 80)
Size h = SizeF(16.68266,37.54666) location = (219.9093, 80)
Size i = SizeF(7.551999,37.54666) location = (237.592, 80)
Size j = SizeF(7.210666,37.54666) location = (246.144, 80)
Size k = SizeF(16.42666,37.54666) location = (254.3546, 80)
Size l = SizeF(7.551999,37.54666) location = (271.7813, 80)
Size m = SizeF(27.34933,37.54666) location = (280.3333, 80)
Size n = SizeF(17.36533,37.54666) location = (308.6826, 80)
Size o = SizeF(17.28,37.54666) location = (327.048, 80)
Size p = SizeF(17.152,37.54666) location = (345.328, 80)
Size q = SizeF(17.23733,37.54666) location = (363.48, 80)
Size r = SizeF(11.47733,37.54666) location = (381.7173, 80)
Size s = SizeF(14.80533,37.54666) location = (394.1946, 80)
Size t = SizeF(11.69066,37.54666) location = (410, 80)
Size u = SizeF(17.45066,37.54666) location = (422.6906, 80)
Size v = SizeF(16.29866,37.54666) location = (441.1413, 80)
Size w = SizeF(26.79466,37.54666) location = (458.44, 80)
Size x = SizeF(15.01866,37.54666) location = (486.2346, 80)
Size y = SizeF(16.768,37.54666) location = (0, 120)
Size z = SizeF(15.744,37.54666) location = (17.768, 120)
Size { = SizeF(15.44533,37.54666) location = (34.512, 120)
Size | = SizeF(5.503999,37.54666) location = (50.95733, 120)
Size } = SizeF(15.488,37.54666) location = (57.46133, 120)
Size ~ = SizeF(60.33066,37.54666) location = (73.94933, 120)
Size = SizeF(0,38.35416) location = (135.28, 120)
Size = SizeF(0,38.35416) location = (136.28, 120)
Size = SizeF(0,38.35416) location = (137.28, 120)
Size = SizeF(21.33333,38.35416) location = (138.28, 120)
Size = SizeF(21.33333,38.35416) location = (160.6133, 120)
Size = SizeF(0,38.35416) location = (182.9466, 120)
Size
= SizeF(0,38.35416) location = (183.9466, 120)
Size = SizeF(21.33333,38.35416) location = (184.9466, 120)
Size = SizeF(21.33333,38.35416) location = (207.28, 120)
Size = SizeF(15.54167,38.35416) location = (229.6133, 120)
Size = SizeF(33.375,38.35416) location = (246.155, 120)
Size = SizeF(20.625,38.35416) location = (280.53, 120)
Size = SizeF(21.33333,38.35416) location = (302.155, 120)
Size = SizeF(42.58333,38.35416) location = (324.4883, 120)
Size = SizeF(0,38.35416) location = (368.0717, 120)
Size = SizeF(0,38.35416) location = (369.0717, 120)
Size = SizeF(0,38.35416) location = (370.0717, 120)
Size = SizeF(0,38.35416) location = (371.0717, 120)
Size = SizeF(8.541666,38.35416) location = (372.0717, 120)
Size = SizeF(8.541666,38.35416) location = (381.6133, 120)
Size = SizeF(17.91667,38.35416) location = (391.155, 120)
Size = SizeF(17.91667,38.35416) location = (410.0716, 120)
Size = SizeF(0,38.35416) location = (428.9883, 120)
Size = SizeF(22.66667,38.35416) location = (429.9883, 120)
Size = SizeF(42.41666,38.35416) location = (453.6549, 120)
Size = SizeF(14.41667,38.35416) location = (497.0716, 120)
Size = SizeF(39.70833,38.35416) location = (0, 160)
Size = SizeF(15.54167,38.35416) location = (40.70833, 160)
Size = SizeF(10.66667,38.35416) location = (57.25, 160)
Size = SizeF(23.70833,38.35416) location = (68.91666, 160)
Size = SizeF(0,38.35416) location = (93.625, 160)
Size = SizeF(0,38.35416) location = (94.625, 160)
Size = SizeF(29.83333,38.35416) location = (95.625, 160)
Size = SizeF(11.33333,38.35416) location = (126.4583, 160)
Size ¡ = SizeF(7.125332,37.54666) location = (138.7917, 160)
Size ¢ = SizeF(16.64,37.54666) location = (146.917, 160)
Size £ = SizeF(18.688,37.54666) location = (164.557, 160)
Size ¤ = SizeF(16.59733,37.54666) location = (184.245, 160)
Size ¥ = SizeF(20.13866,37.54666) location = (201.8423, 160)
Size ¦ = SizeF(18.98666,37.54666) location = (222.981, 160)
Size § = SizeF(16.64,37.54666) location = (242.9677, 160)
Size ¨ = SizeF(14.336,37.54666) location = (260.6076, 160)
Size © = SizeF(27.09333,37.54666) location = (275.9436, 160)
Size ª = SizeF(15.79167,38.35416) location = (304.037, 160)
Size « = SizeF(15.95733,37.54666) location = (320.8286, 160)
Size ¬ = SizeF(24.91667,38.35416) location = (337.7859, 160)
Size = SizeF(0,38.35416) location = (363.7026, 160)
Size ® = SizeF(23.04,37.54666) location = (364.7026, 160)
Size ¯ = SizeF(12.58666,37.54666) location = (388.7426, 160)
Size ° = SizeF(13.696,37.54666) location = (402.3293, 160)
Size ± = SizeF(24.91667,38.35416) location = (417.0253, 160)
Size ² = SizeF(14.20833,38.35416) location = (442.9419, 160)
Size ³ = SizeF(14.20833,38.35416) location = (458.1503, 160)
Size ´ = SizeF(6.613332,37.54666) location = (473.3586, 160)
Size µ = SizeF(17.74933,37.54666) location = (480.972, 160)
Size ¶ = SizeF(22.91667,38.35416) location = (0, 200)
Size · = SizeF(11.85417,38.35416) location = (23.91667, 200)
Size ¸ = SizeF(7.722666,37.54666) location = (36.77083, 200)
Size ¹ = SizeF(14.20833,38.35416) location = (45.4935, 200)
Size º = SizeF(15.58333,38.35416) location = (60.70183, 200)
Size » = SizeF(16.46933,37.54666) location = (77.28516, 200)
Size ¼ = SizeF(23.552,37.54666) location = (94.75449, 200)
Size ½ = SizeF(25.51466,37.54666) location = (119.3065, 200)
Size ¾ = SizeF(23.46666,37.54666) location = (145.8212, 200)
Size ¿ = SizeF(14.976,37.54666) location = (170.2878, 200)
Size À = SizeF(19.24266,37.54666) location = (186.2638, 200)
Size Á = SizeF(19.24266,37.54666) location = (206.5065, 200)
Size  = SizeF(19.24266,37.54666) location = (226.7491, 200)
Size à = SizeF(19.24266,37.54666) location = (246.9918, 200)
Size Ä = SizeF(19.24266,37.54666) location = (267.2345, 200)
Size Å = SizeF(19.24266,37.54666) location = (287.4771, 200)
Size Æ = SizeF(27.22133,37.54666) location = (307.7198, 200)
Size Ç = SizeF(20.56533,37.54666) location = (335.9412, 200)
Size È = SizeF(16.42666,37.54666) location = (357.5065, 200)
Size É = SizeF(16.42666,37.54666) location = (374.9332, 200)
Size Ê = SizeF(16.42666,37.54666) location = (392.3598, 200)
Size Ë = SizeF(16.42666,37.54666) location = (409.7865, 200)
Size Ì = SizeF(7.637332,37.54666) location = (427.2132, 200)
Size Í = SizeF(7.637332,37.54666) location = (435.8505, 200)
Size Î = SizeF(7.637332,37.54666) location = (444.4878, 200)
Size Ï = SizeF(7.637332,37.54666) location = (453.1252, 200)
Size Ð = SizeF(21.20533,37.54666) location = (461.7625, 200)
Size Ñ = SizeF(20.224,37.54666) location = (483.9678, 200)
Size Ò = SizeF(22.22933,37.54666) location = (0, 240)
Size Ó = SizeF(22.22933,37.54666) location = (23.22933, 240)
Size Ô = SizeF(22.22933,37.54666) location = (46.45866, 240)
Size Õ = SizeF(22.22933,37.54666) location = (69.68799, 240)
Size Ö = SizeF(22.22933,37.54666) location = (92.91732, 240)
Size × = SizeF(24.91667,38.35416) location = (116.1467, 240)
Size Ø = SizeF(22.22933,37.54666) location = (142.0633, 240)
Size Ù = SizeF(19.88266,37.54666) location = (165.2926, 240)
Size Ú = SizeF(19.88266,37.54666) location = (186.1753, 240)
Size Û = SizeF(19.88266,37.54666) location = (207.058, 240)
Size Ü = SizeF(19.88266,37.54666) location = (227.9406, 240)
Size Ý = SizeF(20.13866,37.54666) location = (248.8233, 240)
Size Þ = SizeF(17.536,37.54666) location = (269.9619, 240)
Size ß = SizeF(18.816,37.54666) location = (288.498, 240)
Size à = SizeF(16.68266,37.54666) location = (308.314, 240)
Size á = SizeF(16.68266,37.54666) location = (325.9966, 240)
Size â = SizeF(16.68266,37.54666) location = (343.6793, 240)
Size ã = SizeF(16.68266,37.54666) location = (361.362, 240)
Size ä = SizeF(16.68266,37.54666) location = (379.0447, 240)
Size å = SizeF(16.68266,37.54666) location = (396.7274, 240)
Size æ = SizeF(23.85066,37.54666) location = (414.41, 240)
Size ç = SizeF(15.27466,37.54666) location = (439.2607, 240)
Size è = SizeF(17.28,37.54666) location = (455.5353, 240)
Size é = SizeF(17.28,37.54666) location = (473.8153, 240)
Size ê = SizeF(17.28,37.54666) location = (492.0953, 240)
Size ë = SizeF(17.28,37.54666) location = (0, 280)
Size ì = SizeF(7.637332,37.54666) location = (18.28, 280)
Size í = SizeF(7.637332,37.54666) location = (26.91733, 280)
Size î = SizeF(7.637332,37.54666) location = (35.55466, 280)
Size ï = SizeF(7.637332,37.54666) location = (44.192, 280)
Size ð = SizeF(16.93866,37.54666) location = (52.82933, 280)
Size ñ = SizeF(17.36533,37.54666) location = (70.76799, 280)
Size ò = SizeF(17.28,37.54666) location = (89.13332, 280)
Size ó = SizeF(17.28,37.54666) location = (107.4133, 280)
Size ô = SizeF(17.28,37.54666) location = (125.6933, 280)
Size õ = SizeF(17.28,37.54666) location = (143.9733, 280)
Size ö = SizeF(17.28,37.54666) location = (162.2533, 280)
Size ÷ = SizeF(24.91667,38.35416) location = (180.5333, 280)
Size ø = SizeF(17.28,37.54666) location = (206.45, 280)
Size ù = SizeF(17.45066,37.54666) location = (224.73, 280)
Size ú = SizeF(17.45066,37.54666) location = (243.1806, 280)
Size û = SizeF(17.45066,37.54666) location = (261.6313, 280)
Size ü = SizeF(17.45066,37.54666) location = (280.082, 280)
Size ý = SizeF(16.768,37.54666) location = (298.5326, 280)
Size þ = SizeF(17.152,37.54666) location = (316.3006, 280)
Size ÿ = SizeF(16.768,37.54666) location = (334.4526, 280)
WarehouseJim
30-12-2010 17:49:25
List<Range> validRanges = new List<Range>();
validRanges.Add(new Range(32, 0x7E)); //see http://www.fileformat.info/info/charset/UTF-32/list.htm
TrueTypeFont.Create(....., validRanges);
Pyritie
30-12-2010 18:13:29
smiley80
30-12-2010 19:39:50
nico008
31-12-2010 01:10:54
fHealth = new ProgressBar("Health")
{
Size = new Size(140, 18),
Location = new Point(90, 35),
ProgressBarStyle =
{
Mode = ProgressBarMode.Continuous,
},
TextStyle =
{
Alignment = Alignment.MiddleCenter,
Font = Resources.Fonts["BlueHighwayWhite"],
ForegroundColour = Colours.White
},
Skin = Resources.Skins["HealthSkin"]
};
...
fHealth.Text = "blabla";
fHealth.Value = 100;
smiley80
01-01-2011 11:40:58
nico008
01-01-2011 14:24:39
nico008
01-01-2011 17:17:41
smiley80
01-01-2011 18:32:08
When I click on a Panel, it brings it to front.
Also, have you ever tried putting some "\n\r" in ToolTipText property?
nico008
01-01-2011 22:59:05
nico008
03-01-2011 23:12:11
fCurrentLine = new ListItem("");
fCurrentLine.Style.TextStyle.WordWrap = true;
fCurrentLine.Style.TextStyle.Multiline = true;
fCurrentLine.Text += "blabla" + Environment.NewLine + "not displayed :("; //or a long string without newline
Items.Add(fCurrentLine);
smiley80
04-01-2011 11:04:28
WarehouseJim
04-01-2011 11:11:26
nico008
04-01-2011 11:54:24
smiley80
04-01-2011 14:12:16
Going back to the font rendering issues....
Is it possible to set autoSize = true?
Because I don't know the required size. Number of line can vary
Note that I'm not able to specify listbox item height at all
Can you give me a peace of code with multiline in listbox working?
nico008
04-01-2011 16:38:19
smiley80
04-01-2011 18:15:38
Why not use a ListBox?
So I could use ScrollToBottom();
nico008
04-01-2011 22:37:01
Label label = new Label
{
...
AutoSize = true,
MaxSize = new Miyagi.Common.Data.Size(300, 1024),
...
}
MinSize = new Size(300, 20),
smiley80
05-01-2011 00:03:20
How to make some free space near border of my console? (it was ok with ListBox)
My console has Movable = true. But now if I clic on the text of my console, I can't move it anymore (it was also ok with ListBox).
I tried setting label.Enabled = false but it's not working (and it is not the right way I think)
nico008
05-01-2011 00:21:03
Should work that way (ie. Panel.Movable=true, Label.Enabled=false).
Actually, when I add some Environment.NewLine + Environment.NewLine + Environment.NewLine then Multiline works better. But then of course a single line has some free space under it...
smiley80
05-01-2011 10:15:00
-> this is exactly what I was doing but Enabled=false has no effect.
label.SuccessfulHitTest += (s, e) => e.Cancel = true;
So you should try adding a long line like "wwww[snip]wwwEND" and see if "END" is written next line or not.
Also I remember a lot of time ago Miyagi had fading/fadout animation for some Controls. Is it still possible to use them?
WarehouseJim
05-01-2011 12:05:37
smiley80
05-01-2011 13:34:28
nico008
05-01-2011 13:40:19
smiley80
05-01-2011 16:55:19
kubatp
09-01-2011 17:03:48
smiley80
09-01-2011 19:59:27
from time to time it throws unexpectely an exception "System.ArgumentOutOfRangeException" on line number 120 file FastSmartWeatEvent. Do you any ideas why is this happening?
I would like to ask you for one thing - would it be possible to implement tooltip for each listItem in listbox?
kubatp
10-01-2011 10:48:27
private void UpdateGUI()
{
CurrentGUI.Update();
ModalGUI.Update();
RenderWindow.Update();
MiyagiSystem.RenderManager.DoRender();
}
smiley80
10-01-2011 15:12:40
Could you please take a look?
I still think about this threading issue and I couldnt find a line where could this happen till now. I know we came across this long time ago, but once again - when I am creating terrain (it is a big chunk of work for Mogre), GUI freezes for this period. Because I wanted to update at least progress bar, I have created this function:
private void UpdateGUI()
{
Root.Singleton.RenderOneFrame();
Root.Singleton._updateAllRenderTargets();
WindowEventUtilities.MessagePump();
}
WarehouseJim
10-01-2011 15:55:29
smiley80
10-01-2011 17:22:26
WarehouseJim
13-01-2011 12:56:41
var quads = new Quad[count];
WarehouseJim
13-01-2011 17:19:48
smiley80
13-01-2011 19:30:24
In TextElement.SetSelectedText() I got an exception as it tried to run
I use a multi-line label to display some text, which varies in length. It is set to AutoSize = true and contained in a scrollable panel. When I increase the amount of text, the scroll bar appears as, I assume, the label has increased in size. However, when I reduce the amount of text, the scroll bar remains, so I assume the label isn't shrinking down.
myLabel.AutoSizeMode = AutoSizeMode.GrowAndShrink;
kubatp
19-01-2011 11:53:06
smiley80
19-01-2011 14:58:43
kubatp
19-01-2011 16:29:30
kubatp
19-01-2011 16:50:30
smiley80
19-01-2011 17:24:30
Thank you Smiley.
I presume the Control.UserData is there for the same purpose, correct?
Is there a way to create Skin as before?
private static Skin CreateFromFiles(string name, string path, string fileName)
{
var files = Directory.GetFiles(path, fileName + ".*");
var retValue = new Skin(name);
foreach (string textureFile in files)
{
string skinName = Path.GetFileNameWithoutExtension(textureFile);
if (skinName == null)
{
continue;
}
skinName = skinName.Contains('.')
? ReplaceFirst(skinName, skinName.Substring(0, skinName.IndexOf('.')), name)
: name;
retValue.SubSkins[skinName] = new Texture(textureFile);
}
return retValue;
}
private static string ReplaceFirst(string self, string oldValue, string newValue)
{
int pos = self.IndexOf(oldValue);
if (pos < 0)
{
return self;
}
return self.Substring(0, pos) + newValue + self.Substring(pos + oldValue.Length);
}
cabritito
20-01-2011 17:26:02
the guis are now resolution-agnostic. If you pass a float between 0 and 1 in the position and size constructor, it is interpretated as a percentage of the screen resolution.
smiley80
20-01-2011 18:17:04
MiyagiSystem.GUIManager.Resize((double)newSize.Width / oldSize.Width, (double)newSize.Height / oldSize.Height);
CodeKrash
20-01-2011 19:25:44
smiley80
22-01-2011 19:41:56
kubatp
25-01-2011 09:13:27
smiley80
25-01-2011 18:07:07
new ListItem("Item1", "myListBoxTexture.png")
kubatp
26-01-2011 00:51:19
kubatp
27-01-2011 00:03:37
Pyritie
28-01-2011 13:40:52
smiley80
28-01-2011 18:00:09
Pyritie
29-01-2011 13:51:11
@Pyritie:
I prefer Boo. It's a statically/duck typed language with a very Python-like syntax.
kubatp
29-01-2011 15:19:39
@kubatp:
No, that shouldn't happen. Unfortunately, I'm not able to reproduce this behaviour. MouseUp and MouseClick should both go to the currently focused control.
smiley80
29-01-2011 22:43:37
var control = (Control)sender;
bool hit = control.DisplayRectangle.Contains(e.MouseLocation - control.GetLocationInViewport());
kubatp
29-01-2011 23:02:24
smiley80
01-02-2011 10:54:23
kubatp
01-02-2011 11:35:38
Done. MouseUp, MouseDown, MouseClick, and MouseDoubleClick are no longer raised when the mouse is over a scrollbar.
Acnirak
02-02-2011 15:23:41
smiley80
03-02-2011 03:52:18
Acnirak
04-02-2011 12:05:23
Acnirak
08-02-2011 12:58:37
smiley80
08-02-2011 14:16:54
Acnirak
08-02-2011 15:33:58
private void InputManagerMouseLocationChanged(object sender, ChangedValueEventArgs<Point> e)
{
if (this.IsCursorVisible)
{
this.Cursor.Location = e.NewValue - this.Cursor.ActiveHotspot;