-
Posts
544 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Everything posted by martyj
-
@AggorJorn Just in case it doesn't get resolved https://chrome.google.com/webstore/detail/stylish-custom-themes-for/fjnbnpbmkenffdnngjfgmeleoegfcffe?hl=en
-
So with itch.io, gamejolt, and now Steam Direct, do you feel like game launcher is still useful, or should I focus on integrating itch.io or something? I think it's useful. A large amount of our community wants to develop games for fun. They don't want to spend $100 to be able to share the game with friends. Do you think charging a small amount for game launcher is a good idea, in order to increase the number of installs and get your games more exposure? I don't think people paying for the game would increase exposure. How many of us own games on steam that we paid for, yet haven't even touched.
-
Here is what I found so far: for (int i = 0; i < this->world->terrain->CountVegetationLayers(); i++) { VegetationLayer* layer = this->world->terrain->GetVegetationLayer(i); std::string modelPath = layer->modelpath; if (modelPath.find("oak") != std::string::npos) { layer->Hide(); layer->SetVisibility(0, 0, false); layer->viewrange = 0; Model* model = Model::Load(modelPath); AABB aabb = world->aabb; std::vector<Mat4> instances; layer->GetInstancesInAABB(aabb, instances); for (int j = 0; j < instances.size(); j++) { Mat4 instance = instances[j]; Entity* copy = model->Copy(true, true); copy->SetMatrix(instance, true); copy->SetScale(instance.GetScale()); } } } This hides the selected layer, and creates an object as expected. The problem is the scale is off. layer->viewrange = 0; is the only thing that currently hides a layer. For performance you can divide the world into different AABB regions. With a separate Entity object, you can assign a script or assign it to an Actor class.
-
That would be a good option as well. The question is, how do we go about performing the action of "convert all instances in one section to regular models, and remove that area from the vegetation grid. " If we convert all vegetation in an area into a model, could we, for performance reasons, change it back to vegetation?
-
@Rick, then how does he apply the decal in the video? You should be able to modify the placement map. It might require some OpenGL hackery. Update the texture used to show where the vegetation is, then update the GPU. Have a look at Vegetation.h in the class VegetationLayer. I think the following properties look promising. Texture* instancetexture; Texture* filtermap; Texture* variationmap; GLuint buffertexture; Also how does physics work with vegetation? ------------------ Edit: In regards to physics the Vegetation.h shows this: //---------------------------------------------------------- //Physics //---------------------------------------------------------- NewtonMesh* newtonmesh; NewtonDynamicsShape* instanceshape; Surface* collisionsurface; std::vector<int> indices; std::vector<float> facenormals; std::vector<float> vertexpositions; std::vector<int> collisionsurfaceindicecounts[32]; std::vector<int> collisionsurfaceindices[32]; std::vector<float> collisionsurfacevertices[32]; std::vector<Mat4> instances[32]; So a player can collide with up to 32 items?
-
Well surly in that video Josh is having some sort of "Pick" option, using the Pick to figure out what position to apply a decal at. I just want to know how I can see what vegetation the user is trying to interact with at a given camera view. My ultimate goal is to then modify the vegetation layer to remove vegetation at that point, and replace it with an actual temporary entity. Use the performance of vegetation + ease of implementation along with providing dynamic content.
-
How can I select items in the vegetation layer for picking? See this video for an example.
-
I don't think you need to be having a CA file. The CA file is basically a way to identify that a certificate has been verified through the certificate authority for a domain. There are two parts to SSL encryption over HTTP. The first is Domain verification. The second is encryption. Domain Verification is through the use of Certificate Authorities Operating systems include a bunch of certificate authority files from like GeoTrust, DigiCert, ect. When you go to create an SSL certificate you use like GeoTrust or whoevever. They usually have domain verification to prove that you own leadwerks.com. That way not just anybody can create an SSL certificate on your domain. GeoTrust will then issue you a SSL certificate based off of their CA private key. Your SSL certificate is in two parts, a public key and a private key. You keep your private key a secret and hand out your public key. When you visit say https://leadwerks.com, there is an SSL handshake which provides information about your public key, the ca to use, ect. Your browser will then look at the certificate authority to check if that public key really came from say GeoTrust or if your SSL certificate is lying. This allows the "green" secure icon in the top of your browser stating, yes you are in fact visiting leadwerks.com instead of someone pretending to be. Look up bitsquating if you want to see attacks that can be done if this wasn't around. The second part of SSL is pretty straight forward. Tom Scott on Youtube has some good videos on RSA encryption ---- Now the self signed certificates. Previously SSL certificates use to be super expensive. Like $50-$1200/year per domain name. Since GeoTrust paid Microsoft and Apple a ton of money to include their CA on their operating systems, they have to make some of it back, by charging you. If you wanted free SSL certificates in the past you could create your own certificate authority file. Have users install it on their system, then you could verify domain names yourself, without having to pay someone to do it. Currently if you want a free SSL certificate, LetsEncrypt is the best way to go IMO. So you shouldn't have to deal with certificate authorities. You can have free SSL certificates.
-
Were you trying to publish your own certificate authority file? I believe libcurl uses Window's CA list by default unless you wanted to self-sign your own SSL certificates.
-
The current version of Libcurl with Leadwerks on Windows doesn't support SSL. The error I get from ERRORBUFFER is as follows: Protocol \"https\" not supported or disabled in libcurl
-
Five Programming Changes You'll See in Leadwerks 5
martyj commented on Josh's blog entry in Ultra Software Company Blog
With the creation of a GameEngine class, does this mean we could have two worlds loaded at once? Say for example, have level 1 loaded and playing, then in the background, spawn a new GameEngine to load level 2 for an almost seamless transition? -
A Look at C++11 Shared Pointers in Leadwerks 5
martyj commented on Josh's blog entry in Ultra Software Company Blog
I take it the above code examples means you've already started transitioning LE to shared pointers? What happens if you call delete on a shared pointer? Will I also have to transition my code when migrating to LE 5.5? -
That worked. Thanks guys!
-
The physics mesh is just a cube.
-
My code is basically as follows: Entity* entity = this->GetEntity(); World* world = World::GetCurrent(); if (entity == NULL) { return; } if (world == NULL) { return; } float rx = Math::Random(2.0) - 1.0; float rz = Math::Random(2.0) - 1.0; Vec3 posit = entity->GetPosition(); posit.x += (5.0*rx); posit.z += (5.0*rz); posit.y = world->terrain->GetElevation(posit.x, posit.z)+.5; if (!entity->GoToPoint(posit, 2.5, 1.5)) { System::Print("Error moving"); return false; } The Entity::GoToPoint returns False. My Entity has SetNavigationMode(true); and the World has a valid Navigation Map The Entity has a Physics Mode of Rigid Body, Collision Type of Character, Mass of 70kg Why would this return false?
-
I think the main reason this hasn't been considered is nobody has produced a game needing anything close to this. 4096 map is really huge in size. Often times developers can split up their game maps into different maps without sacraficing game play. Filling content for large maps requires a ton of time.
-
Run this commend in terminal and I'll help you find the right driver. lspci | grep Ethernet You should see something similar to this: 01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express Linux drivers are really just kernel modules. They operate in /dev/ file path much like a file would with open, read, write commands, they also support ioctl commands for passing parameters and other use cases. Way less complicated than windows tbh.
-
Who is your current manufacturer? Drivers should be available on their website. Run lspci to see full ethernet info. As far as PCI Express cards go, I'd recommend anything in the server space. Enterprise hardware has a better chance at working in Linux than consumer grade. http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&LH_BIN=1&_dcat=20318&Brand=Dell&_nkw=PCI+Express+ethernet&_sop=15 You can change the brand if you want. Something IBM, HP, Dell would all work fine.
-
Looks amazing. All you need now is to adjust rotation with the model moving in the direction of the next point. Keep it up! If you have this for a C++ library/class I'm sure some of us are willing to pay
-
Building Multiplayer Games with Leadwerks
martyj commented on Josh's blog entry in Ultra Software Company Blog
By Enet are you referring to http://enet.bespin.org/? -
Building Multiplayer Games with Leadwerks
martyj commented on Josh's blog entry in Ultra Software Company Blog
How well will this work with writing unsigned char* data to a socket? Is this TCP or UDP? Does this have callbacks for dropped client/server connections? -
When will this be released?
-
Website refresh and Leadwerks 5
martyj commented on Josh's blog entry in Ultra Software Company Blog
Does the enterprise version include source code? Or is that no longer an option? Is this also a yearly license? I like the idea of a subscription. Granted it will cost me more overall, but I think it will allow for more updates to the engine. Would allow you to grow leadwerks better. I'm super excited about multi-threaded support. I know asset loading is a frustration section for me as it locks up the UI. I'm also super excited about the idea of plugins and open source support. As far as SharedPointers, will there be a backwards compatibility API for legacy code? My source is getting pretty large TBH, it would be difficult to replace everything to shared pointers that interacted with Leadwerks specifically. Which is why I haven't really adopted the Actor class as well. -
I assume you're wanting to do something like this? https://stackoverflow.com/questions/596162/can-you-remove-elements-from-a-stdlist-while-iterating-through-it
-
@Shadmar, would you like me to host the files on https://martyj.net for you?