Release 0.5.4

From LugdunonWiki
Jump to: navigation, search
Engine Content: This information applies to the engine and therefore to all servers.

0.5.4


07/10/2013


  • Identified and resolved an issue with the build that may have been causing issues with css.
  • Changed the default full screen toggle keybinding to ‘\’ on the main keyboard.
  • Changed the default minimap toggle keybinding to ‘]’ on the main keyboard.
  • Cursor placement now takes the live scrolling implementation into account.
  • Added tool use animations for the scythe.
  • Added tool use animations for the hammer.
  • Added tool use animations for the hoe.
  • Added tool use animations for the shovel.
  • Added an action performed command call for when an item is placed by a player.
  • Updated default world to add conch shells to the southern beach.
  • Updated default world to add a bear spawn point.
  • Updated default world to add a bridge over the stream that was blocking access to the mine just north of the farm.
  • Added check to client to warn if a player has their client zoomed.
  • Added console parameter filters. This allows for replacing certain patterns in /console commands with other information.
  • Added net.lugdunon.command.core.console.parameters.IParameterFilter to server-side codebase.
  • Added net.lugdunon.command.core.console.parameters.RegexBasedParameterFilter to server-side codebase. This base class allows for case insensitive filters consisting of a leading “%” followed by an alphanumeric pattern.
  • Added net.lugdunon.command.core.console.parameters.TargetParameterFilter to server-side codebase. This filter matches %t and replaces the filter with the player’s target’s name.
  • Added net.lugdunon.command.core.console.parameters.PlayerGenderParameterFilter to server-side codebase. This filter matches %gm and replaces the filter with the player’s gender (him/her).
  • Added net.lugdunon.command.core.console.parameters.PlayerPossessiveGenderParameterFilter to server-side codebase. This filter matches %gpm and replaces the filter with the player’s gender (his/hers).
  • Added net.lugdunon.command.core.console.parameters.TargetGenderParameterFilter to server-side codebase. This filter matches %gt and replaces the filter with the player’s target’s gender (him/her).
  • Added net.lugdunon.command.core.console.parameters.TargetPossessiveGenderParameterFilter to server-side codebase. This filter matches %gpt and replaces the filter with the player’s target’s gender (his/hers).
  • Added net.lugdunon.command.CommandRequest.setProperties(CommandProperties properties) to server-side API.
  • Added net.lugdunon.command.CommandRequest.getProperties() to server-side API.
  • Added net.lugdunon.command.Interpreter.registerConsoleParameterFilters(String consoleParameterFiltersFile) to server-side API.
  • Added net.lugdunon.command.Interpreter.registerConsoleParameterFilter(Class consoleParameterFilter) to server-side API.
  • Added net.lugdunon.command.Interpreter.unregisterConsoleParameterFilter(String match) to server-side API.
  • Added net.lugdunon.command.Interpreter.listConsoleParameterFilters() to server-side API.
  • Added net.lugdunon.command.Interpreter.getConsoleParameterFilter(String match) to server-side API.
  • Added net.lugdunon.state.mod.Mod.listConsoleParameterFilters() to server-side API. This allows mods to publish their own console parameter filters.
  • Added etc/consoleParameterFilters.json to the configuration file structure.
  • Added net.lugdunon.character.Character.getPinText() to the client-side API.
  • Remade the lunar phase art assets to be more consistent with the current theme.
  • Added game.input.setGenericSharedInputEvents(e) to the client-side API.
  • Fixed an issue with erratic minimap positioning then moving via keyboard.
  • Fixed an issue with other clients failing to correctly update your position when moving via keyboard.
  • Fixed jerkiness of lightmap and the screen indicator when moving via keyboard.
  • Added diamond-shaped target pins.
  • Added labels to pins and the lunar phase indicator.
  • Added support for minimap pins via a simple add/remove pin API on the game.minimap object.
  • Currently quests, player, and player target are displayed as map pins.
  • Added net.lugdunon.util.Math.pointToMinimapCoords(loc,sLoc) to client-side API.
  • Added net.lugdunon.character.Character.setPinIcon(icon) to client-side API.
  • Added net.lugdunon.character.Character.getPinIcon() to client-side API.
  • Added net.lugdunon.character.NonPlayerCharacter.setQuestState(qsi,qs) to client-side API.
  • Added placeholder assets for lunar phases.
  • Added configure button assets.
  • Added target (neutral, friendly, and hostile) indicators to icon asset sheet.
  • Added calendar support. Years, months, weeks, and days are now tracked in addition to hours and minutes.
  • Minimap now displays the current lunar phase, data, and time on the header.
  • Ping listener API changed to pingReceived(ping,hours,minutes) to pingReceived(ping,time).
  • Added net.lugdunon.world.environment.IEnvironment.setTime(time) to client-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getCalendar() to client-side API.
  • Added net.lugdunon.world.environment.IEnvironment.getCalendar() to server-side API.
  • Added net.lugdunon.world.defaults.environment.command.SetDateCommand. “/date DD/MM/YYYY”.
  • Added net.lugdunon.world.defaults.environment.calendar.BaseCalendar class to the client and server-side codebases.
  • Added net.lugdunon.world.defaults.environment.calendar.SimpleGaulishCalendar class to the client and server-side codebases.
  • Got a new logo! Yay!
  • Added a new loading image to reflect the new logo.
  • Added a new button art assets for a minimap screen location indicator toggle.
  • Added net.lugdunon.ui.settingsMenu.settings.SettingStore to the client-side code base. This now serves as the base class for any class that wishes to persists items in the client-side settings store.
  • Added minimap controls for zooming and toggling the screen location indicator. Controls appear when a player mouses over the minimap’s content area.
  • Implemented a settings store for the minimap configuration options.
  • Added game.getCurrentViewRect() and game.getCurrentLoc() to provide an agnostic method for gaining access to the view rect and location without needing to know which game mode the client session is in.
  • Refactored the net.lugdunon.world.defaults.environment.Environment.renderLight() code to take wrapping into account.
  • Refactored the net.lugdunon.world.defaults.environment.Environment.draw() code to take wrapping into account.
  • net.lugdunon.command.core.PanScreenCommand now leverages the “CORE.COMMAND.PLAYER.MOVE” command to do its work.
  • net.lugdunon.command.core.player.PlayerMoveCommand now correctly functions regardless of the client session’s game mode.
  • Added a ScreenResolutionPrefs instance for when the map is smaller than the minimap region.
  • net.lugdunon.world.terrain.Terrain.getTerrainChunks(Account account) now correctly behaves when the map is smaller than the minimap region.
  • Basic minimap implemented.
  • Added net.lugdunon.input.keybind.MinimapToggleKeybinding to the client-side code base. Default key is the ‘-’ key on the main keyboard.
  • Added net.lugdunon.ui.minimap.Minimap to the client-side codebase.
  • Added isOnScreen flag to both net.lugdunon.states.tiledGame.chunk.Chunk and net.lugdunon.world.placeables.PlaceableItemInstance.
  • Chunk loading underwent a complete overhaul. The client is now only aware of the chunks that occupy the area comprising the minimap. The minimap area surrounds the main player, with the magnitude of that area dictated by the side of the client’s screen. net.lugdunon.states.tiledGame.chunk.ChunkManager has been practically rewritten to accomodate these changes.
  • Environment moved from the net.lugdunon.states.tiledGame.TiledGame instance to game.environment.
  • Environment now updates the lightmap for the entire region covered by the minimap.
  • Added net.lugdunon.util.Math.tileToMinimapCoords(loc,sLoc) to the client-side API.
  • Added Number.padLeft(length) to the client-side API. Left pads a number with 0s.
  • Added net.lugdunon.state.item.manifestation.IManifestationHandler.drawForegroundOnMinimap(placeableItemInstance,mmCtxt,mmRect,mmRes) to the client-side API.
  • Added net.lugdunon.state.item.manifestation.IManifestationHandler.drawBackgroundOnMinimap(placeableItemInstance,mmCtxt,mmRect,mmRes) to the client-side API.
  • Added net.lugdunon.world.placeables.PlaceableItemInstance.drawForegroundOnMinimap(mmCtxt,mmRect,mmRes) to the client-side API.
  • Added net.lugdunon.world.placeables.PlaceableItemInstance.drawBackgroundOnMinimap(mmCtxt,mmRect,mmRes) to the client-side API.
  • Fixed an issue with the set time of day command not properly setting the minutes portion.
  • Load character command now exports the time of day.
  • Added net.lugdunon.state.character.PlayerCharacter.setMinMaxForCurrentMiniMapView(Point tl, Point br) to the server-side API.
  • Added net.lugdunon.state.character.PlayerCharacter.getTopLeftVisibleCoordForCurrentMiniMapView() to the server-side API.
  • Added net.lugdunon.state.character.PlayerCharacter.getBottomRightVisibleCoordForCurrentMiniMapView() to the server-side API.
  • Added net.lugdunon.state.character.PlayerCharacter.getChunksVisibleOnMinimap() to the server-side API.
  • Added net.lugdunon.state.character.PlayerCharacter.placeablesVisibleOnMinimap(Collection placeables) to the server-side API.
  • Removed net.lugdunon.state.Account.setScreenW(int screenW) from the server-side API.
  • Removed net.lugdunon.state.Account.setScreenH(int screenH) from the server-side API.
  • Added net.lugdunon.state.Account.setScreenDimensions(int screenW, int screenH) to the server-side API.
  • Added net.lugdunon.state.Account.ScreenResolutionPrefs to the server-side API. Contains the settings used to form the minimap size, the distance a player needs to travel towards a boundary before update, and the number of iterations required to update the chunk data for a given range of screen sizes.
  • Added net.lugdunon.state.Account.updateScreenResolutionPrefs(int d) to the server-side API.
  • Added net.lugdunon.state.Account.getScreenResolutionPreference() to the server-side API.
  • Added net.lugdunon.world.terrain.Chunk.topLeftTileLoc() to the server-side API.
  • Rewrote net.lugdunon.world.terrain.Terrain.getTerrainChunks(Account account) to implement the new chunk loading scheme.
  • Added net.lugdunon.math.Point.add(int i) to the server-side API.
  • Added net.lugdunon.math.Point.sub(int i) to the server-side API.
  • Initial support for live scrolling added.
  • In game mode 0 (regular play mode), screen location is now directly tied to the player’s location.
  • Added net.lugdunon.states.tiledGame.chunk.Chunk.rect to client-side API. This property stores a chunk’s top left and bottom right corners in absolute space.
  • Added net.lugdunon.world.placeables.PlaceableItemInstance.rect to client-side API. This property stores a placeable item instance’s top left and bottom right corners in absolute space.
  • Increased the size of the transport variable storing the total number of chunks and visible chunks sent to a client from an unsigned byte to an unsigned short integer to allow for values greater than 255.
  • Added net.lugdunon.util.Math.isOnScreen(rect) to client-side API.
  • The chunk manager now checks to see if a given chunk or placeable is visible on screen before attempting to draw it.
  • Added game.normalizedScreenOffset to the client-side API.
  • Added game.editingRect to the client-side API.
  • Added game.screenRect to the client-side API.
  • Removed game.screenLoc from the client-side API.
  • Removed net.lugdunon.state.Account.getScreenLocation() from the server-side API.
  • Removed net.lugdunon.state.Account.setScreenLocation(Point screenLoc) from the server-side API.
  • Added net.lugdunon.state.Account.getScreenTileX() to the server-side API.
  • Added net.lugdunon.state.Account.getScreenTileY() to the server-side API.
  • Added net.lugdunon.state.character.initChunksVisibleOnMinimap() to the server-side API.
  • Added net.lugdunon.state.character.isChunkVisibleOnMinimap(int chunk) to the server-side API.
  • Added net.lugdunon.state.character.chunkVisibleOnMinimap(int chunk) to the server-side API.
  • Added net.lugdunon.state.character.initPlaceablesVisibleOnMinimap() to the server-side API.
  • Added net.lugdunon.state.character.placeableVisibleOnMinimap(long placeable) to the server-side API.
  • Added net.lugdunon.state.character.isPlaceableVisibleOnMinimap(long itemInstanceId) to the server-side API.
  • Added net.lugdunon.state.character.getPlaceablesVisibleOnMinimap() to the server-side API.
  • Yes, this means that mini-maps are finally happening!
  • Support for full screen mode added.
  • Support for in game resizing of screen without client reload added.
  • Added a keybind for full screen mode: net.lugdunon.input.keybind.FullScreenToggleKeybinding. Default keybind is ‘=’ on the main keyboard.
  • Added a command to allow a screen resize during a game session: net.lugdunon.command.core.ScreenResizeCommand.
  • Added an initData property (fireImmediately) to net.lugdunon.input.keybind.Keybinding to allow a keybind to immediately fire, this bypassing the event queue, and retaining the original event context.
  • Added net.lugdunon.input.keybind.Keybinding.isFireImmediately() to client-side API.
  • Added net.lugdunon.ui.ActionButtonType.screenResized() to client-side API.
  • Added net.lugdunon.states.BaseGameState.screenResized() to client-side API.
  • Fixed an issue with attempting to close the options dialog before a game state has been instantiated.
  • Client now remembers if the last session ended in full screen mode.
  • Added net.lugdunon.ui.settingsMenu.settings.ScreenResolutionSetting.setFullScreenFlag(boolean) to client-side API.
  • Added net.lugdunon.ui.Dialog.center() to client-side API.
  • Fixed styles and code for centering dialogs so that they auto-center.
  • Added game.resize() to client-side API.
  • Added game.toggleFullScreen() to client-side API.
  • Added game.isFullScreen() to client-side API.
  • Added game.goWindowed() to client-side API.
  • Added game.goFullScreen() to client-side API.