Jump to content

reepblue

Developers
  • Posts

    2,600
  • Joined

  • Last visited

Everything posted by reepblue

  1. I don't mind the basic GUI colors as I've spent years staring at Hammer's UI for over 6 years which kept it's 90's feel unless you applied a manifest. A "Dark Skin" would be nice, but I think something like allowing users to customize their workflow layout, Toolbar adjustments,and hotkeys to increase workflow is far more important then a nice coat of paint.
  2. I'm not sure if this was reported or not, but I noticed that there is a black line on the Horizon, and other skybox + water screenshots don't have it. Does this in the editor and in-game. Is this a rendering issue, or is it something can be fixed with changing the settings? Sorry to bother you if this was mentioned, but I did a quick search before I posted. Intel i5 Quadcore Processor @ 2.67 GHz 16GM of RAM (DDR3) EVGA Geforce GTX 750 (FTW) graphics card with the latest Nivida Drivers (347.25). Windows 8.1
  3. Thanks, I got it working. It took me a bit to figure out how to call the C++ functions, but in the end it all worked out.
  4. I did some poking around, it's the use of tolua_luacommands_open(lua_State* tolua_S) under "/* Open function */" ls what kills it. The function can just return 0, and it will still crash. So I assume this is an issue with the library?
  5. Hi, Over the past few weeks, I've been looking into how to link objects to classes created in C++. Since I prefer to code in C++ but still value the flexibility of Lua, the goal of mine is to simply link a Object whether be a pivot, CSG, or a model to a C++ Class while having all the advantages of the Flowgraph communication, and such. When I came across ToLua++ (This File), I thought this would fix my problem. The plan was to link an object to a class by doing something like this in the Start function: self = self.class:new() However, if the lua-gluecode.cpp is included in the project at all without any calls from the Interpreter, the game will just downright crash if any object has a lua script attached to it, even the ones included in the SDK. I thought it was lua-gluecode.cpp calling my class wrong, but if it's NULL, it still does the same thing. luacommands.pkg: class BaseEntity; lua-gluecode.cpp: /* ** Lua binding: luacommands ** Generated automatically by tolua++-1.0.92 on 01/15/15 17:09:26. */ #ifndef __cplusplus #include "stdlib.h" #endif #include "string.h" #include "tolua++.h" /* Exported function */ TOLUA_API int tolua_luacommands_open (lua_State* tolua_S); /* function to register type */ static void tolua_reg_types (lua_State* tolua_S) { tolua_usertype(tolua_S,"BaseEntity"); } /* Open function */ TOLUA_API int tolua_luacommands_open (lua_State* tolua_S) { tolua_open(tolua_S); tolua_reg_types(tolua_S); tolua_module(tolua_S,NULL,0); tolua_beginmodule(tolua_S,NULL); tolua_cclass(tolua_S,"BaseEntity","BaseEntity","",NULL); tolua_beginmodule(tolua_S,"BaseEntity"); tolua_endmodule(tolua_S); tolua_endmodule(tolua_S); return 1; } #if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 501 TOLUA_API int luaopen_luacommands (lua_State* tolua_S) { return tolua_luacommands_open(tolua_S); }; #endif App.cpp:: #include "App.h" using namespace Leadwerks; App::App() : window(NULL), context(NULL), world(NULL), camera(NULL) {} App::~App() { delete world; delete window; } Vec3 camerarotation; bool freelookmode=true; bool App::Start() { //Initialize Steamworks (optional) if (!Steamworks::Initialize()) { System::Print("Error: Failed to initialize Steam."); return false; } // Call ToLua++ if (Interpreter::L == NULL) Interpreter::Reset(); tolua_luacommands_open(Interpreter::L); //Create a window if (System::GetProperty("fullscreen") == "1") { window = Window::Create("Test v0.0", 0, 0, 1024, 768, Window::FullScreen); } else { window = Window::Create("Test v0.0", 0, 0, 1024, 768, Window::Titlebar); } //Create a context context = Context::Create(window); //Create a world world = World::Create(); //Create a camera camera = Camera::Create(); camera->Move(0,2,-5); //Hide the mouse cursor window->HideMouse(); std::string mapname = System::GetProperty("map","Maps/start.map"); Map::Load(mapname); //Move the mouse to the center of the screen window->SetMousePosition(context->GetWidth()/2,context->GetHeight()/2); return true; } bool App::Loop() { //Close the window to end the program if (window->Closed()) return false; //Press escape to end freelook mode if (window->KeyHit(Key::Escape)) { if (!freelookmode) return false; freelookmode=false; window->ShowMouse(); } if (freelookmode) { //Keyboard movement float strafe = (window->KeyDown(Key:) - window->KeyDown(Key::A))*Time::GetSpeed() * 0.05; float move = (window->KeyDown(Key::W) - window->KeyDown(Key::S))*Time::GetSpeed() * 0.05; camera->Move(strafe,0,move); //Get the mouse movement float sx = context->GetWidth()/2; float sy = context->GetHeight()/2; Vec3 mouseposition = window->GetMousePosition(); float dx = mouseposition.x - sx; float dy = mouseposition.y - sy; //Adjust and set the camera rotation camerarotation.x += dy / 10.0; camerarotation.y += dx / 10.0; camera->SetRotation(camerarotation); //Move the mouse to the center of the screen window->SetMousePosition(sx,sy); } Time::Update(); world->Update(); world->Render(); context->Sync(); return true; } If you want my BaseEntity.cpp/.h stuff, I can send it over, but it does absolutely nothing but print something on spawn. And as I said before, the luacommands.pkg can be totally empty and not be calling anything and it will still crash. If anyone could help, or recommend me better ways of doing this, I'll appreciate it. Thanks!
  6. Again, I already know you can create your own saving and loading data system. But it would be better if this was built in. Please excuse me being that the only other Engine I really know is Source. Just quickly explanation, you define those bools, ints, whatever under a table and those values are then used to keep track of them. When the game saves, all the values under that table are saved onto a .sav file along with other entities were also saved. I would think it would be nice if Leadwerks had a similar, or better way of doing this. But again, I know some people prefer to just write their own code and have things saved their own way in the end. Dunno, was just a quick suggestion.
  7. Editor: - Being able to move the UI elements such as the Asset Browser, and buttons would be nice. The Leadwerks editor is the only software I use daily that does not support this. - Key Shortcuts. Seriously, it will increase the workflow by a lot Leadwerks had more shortcuts, - Allowing people to edit their controls. - More example content! Maybe the uncompiled model file of the Crawler, the pistol viewmodel would be nice. Engine: - Both C++ and Lua games should have a base menu script, or at least one in the MyGame sample game. - Saving and loading system. Yes, there are tutorials and scripts around that do this but it would be nice if this was apart of the SDK. (Again, the MyGame sample) I only been using Leadwerks for a month or so, and these main things plus some of what others suggested are my nitpicks so far.
×
×
  • Create New...