❄️🎁⛄ The Winter Games Tournament is Live! 🎄🎅❄️
Jump to content

Recommended Posts

Posted
  • Game Mechanics video tutorial series is added on Leadwerks Game Engine beta branch.
  • The last three videos produce an error "Error 2" (?) but there does not seem to be any problem with audio or video playing.
  • Like 1

Let's build cool stuff and have fun. :)

  • 2 weeks later...
Posted

5.0.1 beta

The first build of version 5.0.1 is available on the beta branch. This revises brush picking so that brush faces of all sizes can be successfully picked in the editor. Only the editor is updated at this time.

You must opt into the beta branch on Steam if you want to test this version before a new release goes out to the default branch. Right-click on the application in the Steam interface, select the Properties menu, and in the Betas section, select "Beta - Development branch for testing".

  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

In this build, the requirement for an environment variable is removed, and a Visual Studio property sheet is used instead,

  • The rules for environment variables on Windows are unclear, and even if I spend a lot of time studying and testing them, they could change at some point in the future, or potentially act differently on some configation.
  • Having information in three different places (project folder, install directory, env var) is confusing.
  • If you have a shared project, and two different people have Leadwerks installed in different locations, you will need to remove the PropertySheet.props file from the repo. This is a slight inconvenience, but that's not as bad as having a magic variable hidden in the Windows settings.

Existing C++ projects will not be affected by this. If you want to modify them, place this in a file called "PropertySheet.props", then "Add an existing property sheet" and include this in your project:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros">
    <LEADWERKS>C:/Program Files (x86)/Steam/steamapps/common/Leadwerks</LEADWERKS>
  </PropertyGroup>
</Project>

 

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

An update for the C++ programming library is available now.

  • Fixes error reported in textfield hiding infinite loop, in some situations
  • Includes new raycasting method for brush entities
  • Brush::meshes member is now exposed, contains the visual meshes built to display the brush entity
  • Like 2
  • Upvote 1

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

In this build, when you create a new map, the editor will select the create object mouse tool, and when you open a map file the editor will choose the Selection mouse tool.

  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

Editor will now compile all shaders as soon as they go to the GPU, instead of waiting until they are about to be used. Editor starts in 2.3 secinds instead of 1.8, but there's no delay now when you enable tessellation on a material, for example.

There is a compile error on one of the vertex shader variations right now, will fix.

This will get extended to the engine soon.

  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

Whole engine is updated to precompile shaders now, I'm going to see about that vertex shader fix now...

  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

This update rolls back the always-precompile change I made. I think this will require more time to be done properly.

  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

Fixed some JSON definition files for the C++ template that did not have "auto-generated" set to true, so they would not get updated automatically if the C++ code changes.

  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

  • Fixed problem with new C++ projects referencing invalid files.
  • Fixed bug that was printing an extra line return.
  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

  • Full update of C++ lib and Lua EXEs.
  • C++ header and entity definition files updated.
  • Think it's time to release this on default branch soon.
  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.1

  • Version 5.0.1 is now on the default branch. This removes the need for a system environment variable for C++ projects, and fixes several bugs.
  • Beta and default are in sync.
  • Version 5.0.0 is now archived.
  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.2 beta

  • Added option in general settings to not show the project name in the title bar.
  • WASD keys can now be remapped, for users who don't have English keyboards with WASD keys in the top-left. Open the file "C:\ProgramData\Leadwerks\settings.json" and find the section called "controls". You can modify the navigation keys here. It's not the ideal user experience right now, but this is just the first step.
    	"controls":
    	{
    		"back": 83,
    		"down": 81,
    		"forward": 87,
    		"left": 65,
    		"right": 68,
    		"up": 69
    	},
  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.2 beta

  • Adjusted the behavior of search and replace fields in script editor.
  • Adjusted behavior of search field in project tab. Wildcards are no longer used, it just does a simple lower-case find/match for the search term.
  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.1 beta

I recompiled the current build, with the version marked 5.0.1. It's on the beta branch and it will go onto default tomorrow. This will be the stable build that goes out right before tournament time.

  • Like 1

Let's build cool stuff and have fun. :)

Posted

5.0.2 beta

Added experimental Camera:SetMouseLook command. This handles mouse looking in the rendering thread, right before a frame is drawn, in the same way that our VR orientation updating code operates. This will provide you with very low-latency mouse feedback, ideal for fast-paced games.

The arguments are mode, speed, and smoothness and it should be called like this:

camera:SetMouseLook(true, 0.1, 0.5)-- 0.1 degree / pixel moved, 0.5 smoothness

Speed (second value) should be greater than zero. Smoothness (last value) should be less than 1.0, 0.0 for no smoothing.

You only need to call this command once. You should not mix this with your own mouse look code. The camera rotation will be retrieved back from the rendering thread automatically.

Note this does not yet handle objects parented to the camera, like a weapon view model.

Here is a version of the CameraControls.lua script, adjusted to use this feature. Since the looking behavior is controlled in the rendering thread, you need to disable it before switching to the menu, or is it keep control of the mouse. Hit Alt + F4 to close the window if you get stuck.

---@class CameraControls : Entity
CameraControls = {}
CameraControls.mousesmoothing = 0.5--"Mouse smoothing"
CameraControls.mouselookspeed = 1.0--"Look speed"
CameraControls.movespeed = 4.0--"Move speed"

---@param self CameraControls
function CameraControls:Start()
	local camera = Camera(self)
	if camera ~= nil then camera:SetMouseLook(true, self.mouselookspeed * 0.1, self.mousesmoothing) end
	self:ListenEvent(EVENT_WORLDPAUSE, self.world)
	self:ListenEvent(EVENT_WORLDRESUME, self.world)
end

---@param self CameraControls
---@param event Event
function CameraControls:ProcessEvent(event)
	local camera = Camera(self)
	if event.id == EVENT_WORLDPAUSE then
		if camera ~= nil then camera:SetMouseLook(false, self.mouselookspeed * 0.1, self.mousesmoothing) end
	elseif event.id == EVENT_WORLDRESUME then
		if camera ~= nil then camera:SetMouseLook(true, self.mouselookspeed * 0.1, self.mousesmoothing) end
	end
end

---@param self CameraControls
function CameraControls:Update()
    local window = ActiveWindow()
    if window == nil then
        return
    end
    
    local speed = self.movespeed / 60.0
    
    if window:KeyDown(KEY_SHIFT) then
        speed = speed * 10.0
    elseif window:KeyDown(KEY_CONTROL) then
        speed = speed * 0.25
    end
    
    if window:KeyDown(KEY_E) then
        self:Translate(0, speed, 0)
    end
    
    if window:KeyDown(KEY_Q) then
        self:Translate(0, -speed, 0)
    end
    
    if window:KeyDown(KEY_D) then
        self:Move(speed, 0, 0)
    end
    
    if window:KeyDown(KEY_A) then
        self:Move(-speed, 0, 0)
    end
    
    if window:KeyDown(KEY_W) then
        self:Move(0, 0, speed)
    end
    
    if window:KeyDown(KEY_S) then
        self:Move(0, 0, -speed)
    end
end

 

  • Like 2

Let's build cool stuff and have fun. :)

Guest
This topic is now closed to further replies.
×
×
  • Create New...