Figured about time i wrote these up.
A lot changed In the 6 months between 0.55.2 and 0.60 - some of it obvious (like having all the features removed :]), but most of the work has been in important back-end stuff that takes a lot of effort just to produce a client that appears to do nothing different than before. Such is the joy of programming.
In particular, 0.60 links to new server tech that should allow the game to scale more easily. It also includes a major re-write of the graphics engine which makes conversion of the game to other platform easier. (Though thats not gonna happen anytime soon, unless someone wants to provide us with a whole load of cash). The fact that the game probably looks no different than it did before is in fact a great achievement
Separately, worth noting that a lot of what's been happening lately is being driven by server script rather than client code (which gives obvious benefits when world owners want to do similar stuff but slightly differently) so a lot of things developed recently aren't actually listed here.
Anyway, heres the list of stuff from the source control logs :
Code: Select all
- New 'MainMenu' UI : Removed icons, new menubar, new layouts for inventory and building access screens etc.
- Fix for gal crash that occurs when there are more than 20 ppl in single system at once or after the gal has been running for more than a couple of weeks (at which point it thinks theres more than 20 ppl in a single system at once :] )
- New frontend/intro sequence
- Various bits for space storyline support
- Starting merging the squad and family functionality into a unified system
- Fix for occasional 'random' crash on shutdown of the game
- Cutscene additions : images, and improvements to fade in/out display
- Further support for web-textures referencing images on http servers
- Added 'ScriptedBuilding' type, that lets world owner create buildings driven exclusively by script
- Added 'AccessBuilding' script event
- Added 'gBuildingAccessNum' script system value
- CutScene 'Vector' functions : 'SetToPlayerCameraPosition' & 'SetToPlayerCameraTargetPosition'
- New button graphic
-Added OSDBUILDING type for OSDCreate - no background and aligned to fit on the new building access screen.
- Fix for custom events not firing off from building access events.
- New (WIP) archive system for referencing a bunch of files in a single download
- New news notification alerts (mostly intended for space, when we go back there)
- New (WIP) hunger and thirst mode that uses more complex nutrition calculations and variables
- Redid lighting/material calculations for greater consistency.
- Added commands to allow overriding of item use/type & nutritional values
- adding nutrition info to the 'edit item' screen
- New building access labels and display
- Added new 'mini BuildingDisplay' that pops up pertinent info about a building as you approach it.
- New 'point and click' control method (27)
- Fixed windows cursor behaviour when leaving window
- added OSDBullet for scripted OSD
- Added quickee surface layer option to the map ed
- Tweaked the daytime lighting calculations (Slightly earlier sunrise etc)
- Fix for being able to login to gal with an invalid username
- Tidied some of the downloaded file locations
- New (WIP) string variables in script
- Graphics engine refactor
- added vehicle->extras = 7, for always run.
- added graphics->welcome = 12, for a black band on the welcome image
- added world->DisableConstructionMenu, for disabling the um, construction menu
- tweaked generic landscape renderer for small tile sizes
- Network library refactor for consistency and better modularisation
- Create new login ('Auth') server, and user DB. (Sim-tested to 150,000 accounts without issue :] )
- Added new login connect sequence
- added funky shadowing thing for trees, by lowering the landscape colour around each tree.
- Rearranged startup flow to allow direct connection to specified world through the new auth & universe servers
- New 'Notifications' system for displaying transient things like high score tables and other 'headline' info
- Added transitional effects for login sequence
- Added setting (World -> Days in year) to control the number of days in a game-year
- Tweaked the daytimetype 1 daycycle (the one with the short nights) to start earlier.
- Allowed the lottery to be disabled (economy -> lottery mode 0, all other settings bumped up a number)
- Added a few new settings for controlling hunger & thirst - a 'low rate' needs modifier (to allow hungry/thirsty characters health to degrade more slowly) and a system for affecting max potential health when needs are high. Also fixed calculation inaccuracies so health system matches documentation.
- Linked in the notification score tables to the score data generated by the server
- Added 'oldest ever age' to billing records, and added generation of 'oldest ever' and 'current oldest' highscores to the list of tables to be generated on the server
- Removed 'GodsGoHungry' 99 - which is now default behaviour
- added OSDIMAGE type
- added OSDEXITBUTTON type (that closes the building window when selected)
- added OSDLISTBUTTON type and changed the original OSDBUTTON to use the game button Interface
- Tidied up the death screens a bit.
- Tidied up the highscore notifications menu a bit
- added *sethunger <NAME> <val 0-50000>, and *setthirst
- *sethealth (0-60000) and *setmaxhealth
- added *showneeds <NAME>
- added "NewPlayer" script event, called before PlayerLogin when a new user record is created
- Added namesfile field 'WELCOMEIMAGEHTTP' to specify a webimage for the welcome screen instead of it being a server download
- moved the clocks about
- fix for server commands not executing after a killbillall if the owner is billingID 2.
- added *buildingparam [BuildingRecordNum] [Param (0-255)] for setting a param on a particular building instance. The param can be accessed by script using $gBuildingScriptParam
- Added $gPlayerHunger, $gPlayerThirst, $gPlayerMaxHealth, $gPlayerAge
- Changed life-security mode 0 and added mode 5, which don't suspend health loss for players not in a building when the server is restarted. (Which means the scores regenerate properly on server restart now).
- Fixed bugs caused by the owner not being recognised on startup of world until the owner logged in.
( ---- All the above was 0.60.0 --- )
-Allowed dashes in editbox
- Stopped the construction menu being accessible on keypress when greyed out
- Return to frontend when kicked from world, rather than closing client
- Prevented .fish command when 'Other subgames' is 0
- Prevented .startrace command when racetrack is not valid
- Added 'PlayerBirthday' event
- Got rid of old menu on the character status screen
- Fixed bugs in script parser when using nested elses,else ifs and ifs
- Script parser now ignores semi-colons at the end of a line (coz C programmers sometimes forget not to do that :])
- Fixed lack of buildingScriptParam when using OSD button responses in scripted buildings
- Added racing mode 5 where races can only be created by sysops
- added totals to score table data (e.g. for 'collective wisdom')
- added *eventallonline [CUSTOM_EVENT_NAME]
- scripted osd in buildings closes when you leave the radius of a BuildingAccessDisplay
- added save password and auto-login options to frontend
( ---- Section above was 0.60.1 --- )
- fix for other player's kudos not appearing in player list
- added new chat message types
- fixed ambient lignting settings getting broke when using .thunder
- added high-scores option to info screen
- Work on the auth server admin tool
- Added msg to indicate accounts were reset at the start of 2012 when authserver gives a no record response.
- added age to *showneeds response
( ---- Section above was 0.60.2 --- )
- fix for server lives setting of 1 meaning this one + another.
- Fix for 'all time oldest' scores not including dead people.
- fix for oldest age not being recorded or updated sometimes
- made the capital I in the main font look less like an l
- Fixed & changed the player labels
- added *gocrow [PLAYER]
- New PlayerTasks system and UI
- New inventory screen layout
- Added 'TaskComplete' event
- fixed scaling on topdown landscape render modes
- made sure deaths reset age
- fixed all item sizes to 1
- tidied the status screen a bit
- added item numbers to the world editor items list
- fixed rare bug that meant the high scores screen didnt disappear occasionally
- added *changeinventory function, which works the same as grantitem but doesnt message the player about it. Also added *updateinventory which broadcasts any changes to the player
- added $gTaskItem1, $gTaskItem2, $gTaskItem3 for script access during the 'TaskComplete' event
( ---- Section above was 0.60.3 --- )