Jump to content

Josh

Staff
  • Posts

    23,142
  • Joined

  • Last visited

Everything posted by Josh

  1. Update Fixed spotlight shadow refresh bug
  2. You can upload the Zips and I will try it, if you can reliably reproduce the problem. Compression is an all-or-nothing thing. I doubt using max compression will make any difference.
  3. The only restriction is you should not use AES encryption.
  4. Update Fixed a problem with bone scale not being loaded from MDL files. The previous problem with bone positions in skinned models in Cyclone maps is solved. Fixed a problem with scale not being considered during animation. Was able to load level 8 with no problems with several zip files: I have also noticed animated models are not causing spotlights to refresh their shadows.
  5. Was that the cause of your problem? Update Prefabs will now be cached and instanced when loaded, instead of loading from the file each time. This is a little more efficient and you'll see fewer printed messages.
  6. Maybe the folder is missing in the zip file? Does prefabs.zip contain a folder called Prefabs?
  7. And Another You may see significant improvement in speed when skinned meshes are in use
  8. Important Update Fixed some problems with skinned models. Not completely sure if the bone starting positions are correct or not, but other than that it should be good. Fixed problem where probe and light textures never got released. Was unable to see any problems loading scenes from a zip package, may be fixed.
  9. Okay, I have to break the RenderTexture class down into two classes, otherwise it will never go out of scope...
  10. This is what I am working with now. It will crash after a few seconds: #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a world auto world = CreateWorld(); //Create a camera auto camera = CreateCamera(world); camera->SetPosition(0, 0, -4); camera->SetClearColor(0, 0, 1); auto light = CreateSpotLight(world); //auto tb = CreateTextureBuffer(512, 512); while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { world->Update(); world->Render(framebuffer); //tb = NULL; //tb = CreateTextureBuffer(512, 512); light = NULL; light = CreateSpotLight(world); } return 0; }
  11. It's working okay in my current build so maybe it was a small issue I fixed since then...
  12. I have the skeleton issue solved, I think. Unrelated, it looks like textures are not being properly deallocated, so it runs out of slots after loading the scene a few times...stay tuned...
  13. I am pretty sure this has something to do with the management of skeleton IDs.
  14. Apparently a copy of a skeleton works fine, but a copy of a copy does not...
  15. And if you manually set the skeleton it fixes the problem... #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a world auto world = CreateWorld(); //Create a camera auto camera = CreateCamera(world); camera->SetPosition(0, 0, -4); camera->SetClearColor(0, 0, 1); auto actor = CreateActor(camera); actor->AddComponent<CameraControls>(); auto model = LoadModel(world, "Models/props/energycatcher.mdl"); shared_ptr<Entity> inst; auto skel = model->skeleton; while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { if (window->KeyHit(KEY_SPACE)) { inst = LoadModel(world, "Models/props/energycatcher.mdl");; inst->SetPosition(0, 0, 2); model->SetSkeleton(skel); inst->As<Model>()->SetSkeleton(skel); } world->Update(); world->Render(framebuffer); } return 0; }
  16. In fact, just creating an instance of the model is enough to destroy the original. It must be a problem with the skeleton... #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a world auto world = CreateWorld(); //Create a camera auto camera = CreateCamera(world); camera->SetPosition(0, 0, -4); camera->SetClearColor(0, 0, 1); auto actor = CreateActor(camera); actor->AddComponent<CameraControls>(); auto model = LoadModel(world, "Models/props/energycatcher.mdl"); shared_ptr<Entity> inst; while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { if (window->KeyHit(KEY_SPACE)) { inst = model->Instantiate(world); inst->SetPosition(0, 0, 2); } world->Update(); world->Render(framebuffer); } return 0; }
  17. It's a lot easier just to test the one model like this: #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a world auto world = CreateWorld(); //Create a camera auto camera = CreateCamera(world); camera->SetPosition(0, 0, -4); camera->SetClearColor(0, 0, 1); auto actor = CreateActor(camera); actor->AddComponent<CameraControls>(); auto box = CreateBox(world); box->SetPosition(0, -1, 0); auto model = LoadModel(world, "Models/props/energycatcher.mdl"); while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { if (window->KeyHit(KEY_SPACE)) { model = LoadModel(world, "Models/props/energycatcher.mdl"); } world->Update(); world->Render(framebuffer); } return 0; }
  18. Oh, I was looking at the emitter device. The catcher does indeed fail to load:
  19. I'm not able to see any errors with the code below: got it! #include "UltraEngine.h" #include "ComponentSystem.h" using namespace UltraEngine; int main(int argc, const char* argv[]) { //Get the displays auto displays = GetDisplays(); //Create a window auto window = CreateWindow("Ultra Engine", 0, 0, 1280, 720, displays[0], WINDOW_CENTER | WINDOW_TITLEBAR); //Create a framebuffer auto framebuffer = CreateFramebuffer(window); //Create a world auto world = CreateWorld(); //Create a camera auto camera = CreateCamera(world); camera->SetPosition(0, 0, -4); camera->SetClearColor(0, 0, 1); auto actor = CreateActor(camera); actor->AddComponent<CameraControls>(); auto scene = LoadScene(world, "maps/lvl8.map"); auto box = CreateBox(world); while (window->Closed() == false and window->KeyDown(KEY_ESCAPE) == false) { if (window->KeyHit(KEY_SPACE)) { scene = NULL;// works with or without this line scene = LoadScene(world, "maps/lvl8.map"); } world->Update(); world->Render(framebuffer); } return 0; } Fog isn't supported yet. I can't see any other apparent problems in level 8. This should be solved, but since it is a fairly simple cosmetic issue I'd like to try to focus on other things first.
  20. There are two different systems. DLCs are official add-ons. The Workshop consists of user-created content, some of which is free and some of which is paid.
  21. Hi, yes this is the best place to get help with Leadwerks. 😃 This message indicates that Leadwerks is not able to retrieve file information in the Steam user-generated content system. However, I don't think this will affect the DLC nistallation. When the DLC files have been installed in your project, you will find the Zone map in the maps folder, and a lot of models and materials in their folders as well in your project. Have these files been added to your project?
  22. My mistake, it is using the x position, not the z position...update is available now.
  23. Update Modifying a widgetblock texture will now work correctly Removed a lot of unimplemented camera methods, including fog commands There is a "z'" member of the widget class now that stores the Z-position of the first widget block's sprite. This is a temporary hack and it will eventually go away
  24. This is because the system doesn't see that anything it is looking for has changed. The system uses currently pixmaps, not textures, although I can certainly see the usefulness for textures in 3D interfaces. I will need to think about this.
  25. The default pixmap position mode is PIXMAP_CENTER. This places the image in the center of the widget, but does not stretch or squeeze the image to fill the widget. There are other options that can be used to change the size the image is displayed at. However, if you were to fit the image into a panel half its size, the one-pixel border on the edges would likely not be visible. When the panel is sized to the same size as the image, the image border is visible. This example also shows that the panel on the left, which uses the PANEL_BORDER style, has an error in its drawing, as the border is one pixel off where it should be. However, these small artifacts are the lowest priority to solve right now.
×
×
  • Create New...