* Big, nasty process of moving all TU stuff to new tech - connecting to the shared 'UserLogin' service and the new Chat service, and started using the shared 'GameCommon' code thats used for other projects * Broke everything. * Tweaked various lighting settings ; Added a bit of base ambient to the default lighting setup so there's not quite so much blackness * New 'Universe Server' (which keeps track of which worlds are active, which should appear on the explore menu and where the player should go to by default etc) * Changed the global game scale, so that 1.0 = 1m now ; This also involves re-exporting all the existing models at the new scale, hence the local cache location has been moved. It also involves changing a whole bunch of code for things like controls, camera setups, particles, shadow scales and default speeds. * Added new 'Bullet' physics world ; heightmap added to physics world. (WIP - needs setup) bullet physics vehicle on control mode 26. * Large amount of code restructuring and tidying. * Changed vehicle orientation to forward=y- to standardise physics layout across projects * Fixed problems with the internal timer that sometimes created camera and control jerkiness * Extended the default far clipping range when using landscape LODs (i.e. you can see further when using *settings -> Landscape -> Culling Mode 1) * Fix for fog settings not applying correctly to water shader * Frontend tidyups for small screens * Pressing left/right arrow immediately cancels destination when in point & click travel mode * World servers now connect to the common login service to validate owner identity * Extended the day cycle so skies are lighter earlier and go darker slightly later * (WIP) Shadow map system (*settings -> graphics -> shadow mode 6) ; looks ok sometimes, looks bad sometimes - need to add cascade system for it to be decent... * World server now has built in webserver functionality, so you can browse to it and get details about world and player state * Fix for server crash from script if no parameters are provided to a function that expects em * Changed script function sysAddToInventory so that it still performs the transaction if the full amount specified cannot be added but a partial amount can (previously it would fail and return 0) * Added a much simpler method for handling tasks in scripts ; 'task callbacks' - so can do *dotask [playerid] [callbackname] [text] (instead of the 2nd parameter being a number), which subsequently triggers the event ("TaskComplete", "[callbackname]" ) * Added wildlife ai type 7 for a particularly cautious behaviour * Added script param to *buildingconstruct (so its now *buildingconstruct [player_name],[building_num],[building_name],[param]) which can be accessed in the 'PlaceBuilding' or 'PlaceAnyBuilding' events at $gParam[2] * Added extra param to osdaddat for supporting tooltip text on images, buttons, etc * Added *dotaskparam [playername] [callback/code] [param1] [param2] [text] * Added *dobuildingtaskparam [playername] [buildingnum] [callback/code] [param1] [param2] [text] * Added *settings->graphics->status screen mode = 8, to show age, cash & 'wisdom'(i.e. kudos) in status panel * (WIP) Block items * Changed landscape terrain params structure to allow larger bulge min/range values for larger scale maps * Added *settings -> Graphics -> Main Menu Display Mode 5, for on-screen inventory with click to use item and a separate extra 'discard items' option * Going into water now affects speed/friction/acceleration * Increased limit on number of trees that can be present on a world * Added new vehicle settings to specifc 'max wheel impact', 'max body impact' and an 'impact damage mod' ; these can be set so that hitting the ground too quickly destroys the vehicle * Added a skid element to standard (mode 0) vehicle controls * Death screen UI tidied up a little ; vehicles no longer automatically re-orient themselves after death * Fixed bgmodel delete options in map editor so they delete single bg models placed using the editor * Fix for bg model rotations not being applied to collision * If 'always run' is on (vehicle -> extras 7), holding shift and pressing up will put the player in a 'keep running' state until the down key is pressed * Switching between inventory and skills on on-screen inventory moved to insert * Added weapon FIRE=TargetWildlife, used in conjuction with OBJECT=ProjectileWithTarget and RANGE=xxx - projectiles are fired at nearest wildlife and blend towards the target * Fixed bug that meant weapon ammo items were removed locally twice * Changed bonus weapon system so that it only removes ammo count when the weapon is actually fired * Added new autograss type 16 for large clumps * Added vertex colours and (basic) material/lighting values to the standard shader * Added *centraltext [player] [text] ; adds a bit of text in the lower middle of the screen, which lasts for a few seconds before fading off * Moved various bits of text output from the chat window to the centraltext thing (e.g. You have discarded..) * Changed landscape->autograss setting so it directly controls the amount of grass * Added cutscene Camera functin cam.RestoreOriginal( [time] ) * Onscreen inventory capacity highlighted when inv is full * added *setting -> buildings -> building process 14, which is like 7 but level 1 buildings use same item as level 0 for construction * All building screens now have a wee 'x' exit button at top right * '[' and ']' on vehicle settings screen change vehicle being edited * added *setspawnstate [player] [num] command * added *settings-> world -> Destroyed vehicle effect 18 ; if player's spawn state is 0 the player will respawn at the deafult spawn zone, otherwise they spawn at the nearest town. * Fixed a few minor memory leaks on the world server * Added scripted OSD slider * Params for value control and sliders can now be either | or , separated * &command can now have a single value parameter passed into the script as $gParam[1] (e.g. &test 1 == Event( "&command", "test" ) { $val = $gParam[1] } ) * Fix for barter screen allowing more cash to be offered than the player has * Onscreen inventory selection disabled during tasks and when in spectator mode * moved the current task display to the middle of the screen, 'ctrl -' building access display removed when task is in progress * Improved the layout of the in-house screen a bit * changed graphics -> player label mode to 'Text Label Mode'. Building labels now default to off, unless Text Label Mode is 4 or higher. When off, the currently selected building is highlighted with a lil bobbing arrow. * moved the 'island map is required to use f5' option to Graphics -> Special Menu Modes 10 * added 'Wages handled by script' flag to buildings ed ; this means the default server stuff for paying wages (and firing employees etc) is not run on this building * added 'always show building label' option to buildings ed * sysAddBuilding fails if X and Y are both 0 (as this usually indicates a script bug, and we don't really want lots of buildings ending up there by accident) * *settings -> world -> new player start position = 6, new players always use the default spawn zone * auto-hide chat console when not used for a while (experimental..) * fix for passing a array into a function as a param then passing the same array into another function which previously didnt work. * changed the building access request rate so that its generally quicker but slows down if the player has made a lot of requests in the past 10 seconds * changed server BillingSave so that saves are requested and enacted no more than once every 10 seconds, rather than always done immediately * added *settings -> world -> discard item mode ; when 2 or higher objects that are discarded are shown to other people on the world (later it'll be possible to pick up discarded items) * when a building type is modified using the *changebuilding command (e.g Villa construction in aramathea script) the new building type now has the usual collision exclusion set, to avoid players getting stuck in the building * fix for mismatch between script set and bdat set construction amounts causing the buildng display to show '-22% complete' (etc) for an under construction building * added rotation controls to the *buildingconstruct screen * forget skill & drop items buttons greyed out when player has no skills / items * fix for cutscene Image.FadeIn / .FadeOut not working * fix for comments in array assignments with commas in them breaking the array assignment * fix for script images failing to appear if using a script that doesnt use HTTPSET after using one that does
Dec 2017
* fixing up some duff references to old PeerConnection classes, which was causing a server crash on player leave * fix for scripted building add using the player position to determine if the building was far enough away from the town or not. * ball control physics things * .physicsdebugdraw (1 or 0) to turn on/off the physics debug draw stuff * tinkering with the navgalaxy * on-screen inventory hidden when other screens are primary * added checks to stop barter taking place if either party doesn't have sufficient space in their inventory (wip - needs to notify both players that its failed) * (another) new TU frontend flow * fix for duplicated crow labels when shadowmaps active * cockpit lighting * linking the navGalaxy to the cockpit screens, redoing the cockpit screens * fixes for static object draw lists needing to be newly created when using landscape quadtrees and shadowmaps * fix for robocrow settings screen being broken * fix for crow trails not appearing * added *settings -> graphics -> crow trail scale * tidying up space -> world connection sequence * webuniverse stuff * made ping tracking keepalives optional on peerconnections to reduce bandwidth use on chat server * various bits of code tidying aiming towards merging the newer 'navgal' star and planet data into the old structures. * Added projection matrix control to extend the farclip plane when rendering distant planets (etc) * basic terraformer screens * shorter 'stardrive' sequence for gal navigation * landing on world from space process updated to operate without the galaxy * lighting tweaks and setup for the moon template * onscreen inventory selection defaults to 'use item' * various shader fixes & improvements * new ground rendering system that uses a pattern map to determine location of roads etc * separate alpha layer for player rendering to fix crow trails appearing below buildings * various fixes and improvements to hornball - ball location is now requested automatically from the server if not received within a few seconds of login * various world editor improvements - drag n drop buildings etc * added point lighting, specular and spotlights to new shaders
* landscape patternmap included in .imp file if applicable * world editor racetrack functions added * fix scale for racing flags * various bits of tidying up for the old-style pub interface * changed the initial racestatus download so it only sends details of the races that are actually active * removed a duplicate send of the game settings data (reducing initial login bandwidth by about 3K per login, sweet!) - map file is now sent from server once the townsettings send has completed * linking in the texas holdem game to the bar
* caching of settings to reduce amount of unnecessary downloads on world login * wall collision fixes * fix for spec scale being overscaled * SSL support in http get * steam login process * added 'set max employees' option on building admin for buildings that have more than 1 employee * escape button always used to exit menus and enter the topleft minimainmenu * engine off/on, fuel and headlights icons * set rental price functional in building admin ; rent building buttons added * moved some of the building access UI around * change construction tax option in town admin screens * engine automatically turns off / on at appropriate points (e.g. going home, when fuel runs out) * allow renting from jehovah * fixed some particle scaling issues * increased shadow resolution * added light priority system so that your own headlights don't flicker on and off when theres (for instance) lots of explosions around * various fixes for scaling of sounds * headlights auto on if you join a world thats in darkness and you're in a suitable vehicle * various world editor improvements ; building rotations supported, buildings properly removed when using 'undo', etc * added 'Min town construction tax' * fixed weapon -> building collision checks * optimised lighting system to automatically remove lights that are placed in pretty much the same place * various improvements to lighting effects for streetlights etc * improvements to the method for drawing static objects, so that tracking of object events is easier. * added new 'secondary construction price' field to buildings editor and script function sysGetSecondaryConstructionPrice * shadows, lighting and arrangement of stuff in pub * engine icons * various poker updates * New scripted 'ServerSubgame' systems that make scripting minigames much easier : SubgameJoin( gameID, playerID ), SubgameLeave, SubgameEventAll( gameID, "event", "params" ), SubgameMessageAll( gameID, text, [soundnum] ), SubgameSoundAll, SubgameEventTeam( gameID, teamNum, "event", "params" ), SubgameMessageTeam, SubgameSoundTeam, SubgameSetStat( gameID, "statname", value ), SubgameGetStat, SubgameGetNumPlayers, SubgameGetNumPlayersOnTeam, SubgameIncrementStat, SubgameDecrementStat * adding in instanceID to the subgame system for future support of subgame instances (i.e. separate poker tables in separate bars) * replicated midi-controlled piano in bar (everyone must demand that Fooli performs for them!) * entry fee option on subgames