Jump to content

Krankzinnig

Members
  • Posts

    55
  • Joined

  • Last visited

Everything posted by Krankzinnig

  1. Lmao this is what I was trying to say ;P
  2. Nice! Looks pretty good, can't wait to play it. Which means you better finish it ;P
  3. I see, I know you can do custom exception handling in luabind as well. Try this: luabind::register_exception_handler<MyException>(&FunctionToCallWhenExceptionOccurs); You can also replace the luabind error text with your own and then make it actually return and stop the program maybe? My point was to do it like this: // lua class try { luacode } catch { LuaException = true; } // in any other class try { LuaClass::Init(); if(LuaClass::LuaException) { throw; } } catch(blah) { return 0; // or w/e } Its annoying, but Entity also has multiple levels of exceptions. So when I inherit these classes into my scene classes, all the exceptions forward to my engine and throws my UI notification dialog I made.
  4. Yeah thats working great then, now put throw in there. In your main do your main exception that catches everything.
  5. Check your luabind errors with: lua_error() Although this isn't the only exception luabind will throw, its the most common one ;P
  6. Yeah, I am producing multiple titles with a team. So we will reuse the dialogs but change colors and icons. So keeping that UI class in the engine is really handy. Also thanks for the compliment.
  7. Yeah I get your point but think about Valve, they have a really clean UI for login, error dialogs, notifications. This is what this class is for. In no way shape or form would it replace the in game UI or any other visually important UI. Basically, my main menu wont be a rendered rectangle with text. Its going to be a pretty image based layout as seen above in the screenshot Josh posted. But I don't see the need for a overly flashy box to tell the user they are missing a dll file. I guess using the word UI was too broad, they are more or less my notification dialog's. You know, the ones your not constantly staring at. Btw, almost done implementing my SVG loader woo!
  8. As I have stated before, its all about a blend of images and using these primitive 2D drawing commands. This way your not using a huge image just for a box. I got another example here that might illustrate what I am talking about better: This is now fully functional UI. You can drag it around by the title bar and the button responds. I have this thrown automatically on errors with a corresponding error code so my team can handle support issues easily. For my in game UI I am using a minimal compass svg image and some other basic info. My inventory and etc will all be drawn as the dialog is.
  9. Just like in GNOME, there is no reason I cannot export my UI to XML. So all the colors, shapes and positions of UI elements are human readable and editable. Hell, you could even create an editor like GNOME has for generating GTK+ code. So my artists can easily create multiple dialog boxes and the game reads them fine. This would just slow down the effect of procedural generated UI, but it makes it more accessible for anyone to modify. I really should release this API on my website.
  10. Yeah of course, GNOME can be skinned quite radically. Its all about being creative with your tool-set. Making advanced UI with rectangles and lines is hard, but if you have alpha support and can draw rounded edges and etc you can achieve a really nice looking procedural form. Then with your vector graphics, you can spice up forms with button icons, outer glow and etc. Flexman, for the glassy button I am only using 1 DrawRect command for this. Since the background rects are all transparent and lay on top of each other, I was able to render one darker rect and leave space where the lighter one should be. That way it looks like one lighter box, and one darker box inside a stroke which suggests light reflection. It would be better to use OpenGL, but in interest of time I just tried to use as few LE 2D drawing calls as possible.
  11. I know GNOME is using a lot of OpenGL with GTK+ to do native 3D UI effects such as Apple's cover view. GNOME is almost totally procedurally generated using small SVG images for icons. This is my approach on a much smaller scale. I think GTK+ uses Cario for 2D drawing. You asked how Wndows does it, thought I would shine light on another OS.
  12. I only half agree with you Rick. For a really tiny portable UI I suggest drawing all of your forms without images. If you want to add icons, buttons and etc this can all be done via images. I was going to do my dialog boxes and what not this way, then my in game UI all SVG images.
  13. Bump: Updated my screenshot Dozz, the point of this UI is to make something very light and appealing to the eye. Of course there are more advanced rendering techniques for pretty UI, but nothing beats an intuitive, easy to use, and clean interface. Also about stopping gameplay, since I am not making a first person game I don't have to hide the mouse or set a fixed position to it. I wouldn't suggest using this UI style for and in game first person UI. A sleek HUD would be better for that.
  14. Heh the glassy button was done with two rectangles with slightly different alpha values then all enclosed in a border using lines ofc.
  15. Almost image-less now ;P This is a really really really simple example of drawing your own UI in Leadwerks. I saw a few topics about people struggling with bloated GUI libraries. I guess DrawRect/DrawLine is your best friend when tackling UI. I was able to add some more appealing effects such as the stroke, glassy button and text shadow very easily. All can be moved around the screen ;P Edit: Uploaded an updated screenshot, I will probably end up using a small image for all my buttons to add to appeal, but its pretty much done in this state as far as my dialog box goes.
  16. Its not an extra class, there is no lua file, just the class. ;P
  17. Works great! Thanks a ton ;P EDIT: Converting this to a class for use in C++ if you don't mind ;P EDIT 2: Done ;P
  18. 350 kb/s for all three actually, East Coast USA Funny I pay for 3 mb/s >>
  19. Thanks, going to be recruiting programmers (C++/GLSL) soon.
  20. Krankzinnig

    Entity

    Entity is a 3D Puzzle Exploration RPG developed in Leadwerks. Smallish team, consists if me programming and mapping everything, and some artists/writers. I will update this topic more when I get more updates.
  21. My animation is working really well, doesn't seem to be starting on the wrong frame or anything, its just an issue of the blending so it doesn't look as choppy. I still don't get what you meant about the blend. I tried setting the blend by decreasing the idle by 0.01 and increasing the walk by the same value. I also set the min/max so it would reset after it hit those values. My character just walks as normal and I really do not notice any blending. (Yes I did set the Blend parameter).
  22. Just wanted to start off saying I have read the animation tutorial pdf countless times and cannot figure out how the blend works with idle. I don't get the blend += 0.01 part. I get what it does but I don't get where the value comes from and how I can set up to 48 different animations. I want to wrap this up into a class so I need to know what values I can increment by for blend. Here is some of my existing animation code: if(KeyDown(KEY_W) && !KeyDown(KEY_LSHIFT)) { MoveSpeed = 1.5f; if(HasSword) { // Animate the Walk Forward sequence with sword FrameBegin = 600.0f; FrameEnd = 640.0f; Frame = AppTime() / 100.0f * 2.0f; Frame = fmodf(Frame, FrameEnd - FrameBegin) + FrameBegin; Animate(Player, Frame, 1.0f, 0, true); } else { // Animate the Walk Forward sequence FrameBegin = 10.0f; FrameEnd = 50.0f; Frame = AppTime() / 100.0f * 2.0f; Frame = fmodf(Frame, FrameEnd - FrameBegin) + FrameBegin; Animate(Player, Frame, 1.0f, 0, true); } } else if(KeyDown(KEY_S) && !KeyDown(KEY_W) && !KeyDown(KEY_A) && !KeyDown(KEY_D)) { MoveSpeed = 1.3f; if(HasSword) { // Animate the Walk Backward sequence with sword FrameBegin = 645.0f; FrameEnd = 685.0f; Frame = AppTime() / 100.0f * 2.0f; Frame = fmodf(Frame, FrameEnd - FrameBegin) + FrameBegin; Animate(Player, Frame, 1.0f, 0, true); } else { // Animate the Walk Backward sequence FrameBegin = 55.0f; FrameEnd = 95.0f; Frame = AppTime() / 100.0f * 2.0f; Frame = fmodf(Frame, FrameEnd - FrameBegin) + FrameBegin; Animate(Player, Frame, 1.0f, 0, true); } }
×
×
  • Create New...