Jump to content
  • entries
    165
  • comments
    199
  • views
    87,349

Upgrade 2.32 - let the fun begin


Flexman

1,741 views

 Share

screenshot_109.pngMy wife reminds me that it takes typically two weeks after each engine upgrade to get things working as intended.

 

There's the odd "caps sensitive" issue in some of the LUA source. And a quick change of fw.Main to fw.main in Renderer to get ll the helo/sky scripts working. Rebuilding the lua-gluefunctions and making sure not residue from the previous version was causing problems.

 

All that's left is handling changes of appearance and shaders....and re-serialising all of the 3D work.

 

Performance is fantastic almost doubling frame-rates in our vegetation heavy scenes. The vegetation rewrite has been well worth the effort, with collisions and lighting changes. More varied lighting does a lot to reduce the uniform appearance at range. At least I hope the lighting variations are intentional and not some shader problem. The evening skies came out purple in the new version for some reason, now I really like this colour. It reminded me right away of the

. Nailed the colour palette.

 

The downside is the need to re-export all the 3D work. The cockpit simply doesn't work anymore except for a couple of buttons. Interestingly the weapon arming only 50% works too, that uses linepicks also. And the upfront controller material has a normal map smeared over it. I'll have to look at the materials for these, make sure it's not using one.

 

And the occlusion culling is a little problematic. Half of the cockpit vanishes at certain angles and the helipad and radio towers vanish, and when they do other objects tend to go with them. Those are typically large objects, the helipad is often positioned so it intersects the terrain. It's all very strange and interesting doing these updates ;)

 

I'm hoping a lot of problems are just down to the need to fix up the 3D assets. Some behaviours have changed, Coronas, I used as hazard lights are so dim they are hard to see. Also the sun as represented by a Corona, now seems to have been flung from the heavens and lets you 'walk' around it. But is still rendered in the background world.

 

In the mean-time while I go through those assets I'll continue work on the current 'stable' build. I've added config options to set the server and port address with an 'auto join' flag to start the client mode after game load. The 'radar' dish (pictured above) is another interactive object that gives access to multiplayer options. Start Server / Client Connect and an as yet unimplemented address-book.

 

I'd like to thank AndyGFX for his posts on migration issues past and present that helped enormously, and also Macklebee, Red Ocktober and others that have also been posting their issues and solutions.4946580266235927217-996837677190334688?l=combathelo.blogspot.com

 

Source

 Share

2 Comments


Recommended Comments

Thanks for the update. I've been trying to download the Update for a few days but every time I do, it stalls out and goes corrupt.

 

Could you elaborate a little more the day-night cycle? I know Josh mentioned it in one of his blogs but, as above, I haven't had a chance to try it out.

Link to comment

I can't get the r2 update to download either. I'm using the one that the alternative Updater pulled down.

 

The day-night cycle was one I quickly made. Here's the setup I ripped. It's a pivot, a directional light (not compatible with existing directional lights so it's vital to delete/free any directional lights in the scene after loading). And a Corona to represent the visible sun.

 

Here's a mish mash from what I used.

 

Field sunlight:TDirectionalLight;
Field sunpivot:TPivot;
Field suncorona:TCorona;
...
...
	SetWorld(Self.world) ;
	Self.sunpivot = CreatePivot() ;
	Self.sunlight = CreateDirectionalLight() ;
	Self.sunlight.SetPosition(Vec3(0, 0, 0))
	Self.sunlight.SetParent(Self.sunpivot, 0) ;
	SetWorld(Self.framewerk.background.world) ;
	suncorona = CreateCorona(Self.sunpivot) ;
	suncorona.SetPosition(Vec3(0, 0, -10)) ;
	suncorona.Paint(LoadMaterial("abstract::Flare1.mat")) ;
	SetCoronaRadius(suncorona, 10, 20) ;
	SetWorld(Self.world) ;
	Self.sunlight.SetShadowMode(SHADOW_DYNAMIC) ;
...
...
' EXCERPT OF ENVIRONMENTAL FUNCTION TO SET TIMEOFDAY
' WORK OUT YOU NEW RGB COLOURS BASED ON TIME/SEASON/LOOKUP/WHATEVER '

	' SET COLOUR WITH NEW COLOURS USING WHATEVER MEANS '
	Self.scene.sunlight.SetColor(newSunColor) ;
	SetWorld(scene.framewerk.background.world);
	If scene.framewerk.renderer.skybox
		scene.framewerk.renderer.skybox.SetColor(newSkyColor);
	Else
		scene.framewerk.renderer.backgroundcolor = newSkyColor.Times(Vec4(0.7, 0.6, 1.8)) ;
	End If
	SetWorld scene.framewerk.Main.world
	scene.framewerk.renderer.fogcolor = newFogColor.Times(Vec4(1.0, 1.2, 1.4, 0.8)) ;
	scene.sunpivot.SetRotation(Vec3(270 + (CurrentTime * 15), 120, 10))

 

And you can improve it by hiding lights as they pass by the horizon, increasing blue ambient at night. I don't know what Josh did for his.

 

The corona above doesn't work too well in 2.32.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...