Skip to content

Releases: ethanmoffat/EndlessClient

EndlessClient 1.0.208

20 May 08:46
dd688e9
Compare
Choose a tag to compare
EndlessClient 1.0.208 Pre-release
Pre-release

Changes:

  • dd688e9 Merge pull request #313 from ethanmoffat/beta_bugfix
  • fb00c47 Take NPC walking into account when getting map cell state
  • 08ce610 Invoke game state change operations that generate lots of new components on the main update thread.
  • 3a3935e Improve in-game exception handling. Any thrown exceptions kick the game back to the main menu, reset the display size, and show a "lost connection" dialog.
  • 48f7ad9 Merge pull request #312 from ethanmoffat/jukebox
  • e78ed4a Fix title bar not resetting after hard-coded timeout
  • a8deb83 Implement Jukebox dialog UI
  • ba97243 Don't play music if the configuration has music disabled.
  • 853d190 Fix packet handling for jukebox packets. Add missing Jukebox_Agree handler.
  • 01789a3 Add handling for Jukebox packets
See More
  • 56f2144 Skeleton for opening/showing Jukebox
  • 13a9322 Change ScrollingListDialogSize -> DialogType with enum values representing which dialog it actually is
  • b7f911f Add jukebox resource IDs to EOResourceID enum
  • d5befa2 Merge pull request #310 from ethanmoffat/boards
  • d77ee12 Add walk action for opening board when you walk into a board tile
  • a6ad514 Fixes for network handling of board packets
  • 83325cd Implement Board dialog in UI. Add property for detecting if any of a logged in user's characters have admin permissions.
  • e277af5 Add packet handling for Board packets
  • 2205483 Add request of board and display of board dialog
  • 10491f9 Merge pull request #308 from ethanmoffat/fix_map_entity_perf
  • d52b77d Fix EOBot build
  • 6d7e377 Fix stat display bug where evade and armor were swapped
  • 17763ce Fix NPC death animations not rendering
  • faff160 NPC index guards in NPCActions
  • 6805bc0 Use MapEntityCollectionHashSet for characters/npcs on map
  • 46bc241 Update MapItems to use multi-key collection. Fixes rendering performance issues when trying to look up map items by map coordinate
  • c29f700 Fix shop dialog only allowing 1 item per buy when BuyLimit is set
  • ed65589 Merge pull request #307 from ethanmoffat/fix_animation
  • b206ba6 Fix animation timing for emotes
  • bc2dba5 Merge pull request #306 from ethanmoffat/timings_and_perf
  • 5ef4c76 Remove DateTimeExtensions
  • cc228dc Update trainerbot with new timing mechanisms
  • 095f51b Make NPC animation timings slightly slower. More accurate to original client.
  • 57e1ca7 Fix death animation happening too quickly
  • 859365f Update all animation timing to use tick-based approach. Fixes animation timing issues and makes behavior more consistent with vanilla client
  • 2ff8af3 Fix timestamp generation on non-windows
  • 8e05a27 Implement LRU cache for NPC sprite data. Prevents large number of NPCs from consuming too much memory.
  • 232c38b Cache sprite data for NPCs. Reduces garbage generated from detecting the pixel below the mouse cursor.
  • 8df81f2 Fix off-by-one error in map item layer renderer
  • f3e7235 Update to PELoaderLib v1.6 and use byte memory directly when constructing textures instead of parsing through SixLabors.ImageSharp
  • 1aeff07 Load HUD background once instead of in draw loop. Eliminates massive number of garbage collection events.
  • 07547bb Reduce lambda usage in entity renderers. Reduces garbage collections
  • 1300e6f Reduce allocations of temporary LibraryGraphicPair objects in NativeGraphicsManager
  • 7c5cda4 Convert lambdas in MapRenderer to local functions. Reduces allocations that need to be collected by GC
  • 5363746 Make animation timings wrok more consistently. Fixes:
  • c795ced Merge pull request #304 from ethanmoffat/use_decompiled_algos
  • 06f1b48 Consider inserted characters for additional insertions in drunk text algorithm
  • ebcb528 Update algorithm for AFK timer to be accurate to EO main
  • 920dafa Update algorithm for drunk text to be accurate to EO main
  • 133e2c6 Merge pull request #303 from ethanmoffat/bugfixes
  • c339317 Update NPC_PLAYER packet handler to work with game server using 'chunked' approach to packet parsing
  • 239c61a In fixed window size mode, remove NPCs/characters that are out of range. Fixes display bugs with GameServer/resoserv.
  • 323fb25 Fix refresh request packet to work with GameServer
  • 0a01c60 Prevent sitting while otherwise acting. Use map warp backoff when a refresh packet is received.
  • 885c425 Fix render location of NPC name labels, using NameLabel metadata property for location instead of arbitrary location based on draw area
  • 2d7511f Update chat bubble render position to be closer to character's head
  • 3dcc3ae Update character name label position when character sits based on sit state
  • ff35d27 Exclusive curse filter now properly filters curses from other players
  • e47a425 Fix inventory panel item label draw order when inventory panel has layout stored that is > 200
  • fc858f5 Feature parity with vanilla client: making space for inventory items that aren't displayed causes them to appear
  • 4dd21ea Center trade dialog when beginning trade. Cancel offer agreement when other party changes offer.
  • 0a96d42 Fix startup crash when no pub files are present
  • f447949 Fix emote display when sitting
  • 4414a6b Fix files always redownloading when switching from a server using split pubs to single pub
  • c6b92d1 Don't show health bar when characters use mana potions
  • b991303 Merge pull request #298 from ethanmoffat/resizable_display_3
  • 1126967 Fix HairClip shader on linux
  • 816c8d0 Remove unused stuff
  • e04c1e2 Remove todo comment from BaseMapEntityRenderer
  • 56d7a3b Shorten map transition time. Reduces length of perf hit for large maps.
  • e621a0c Fix render position of context menus for resizable display
  • 1f091bc Don't reset dialog height for in-game dialogs when window is resizable
  • 18e9bb9 Fix display positioning for other characters when resizing window
  • 6475bb7 Fix render position of other characters
  • 1df8623 Fix online list panel online player count label position
  • 79cfa3b Keep panels from resetting position when window is resized
  • abd8f85 Render minimap to render target instead of drawing static objects each draw loop. Improves rendering performance and eliminates frame drops when minimap is enabled
  • 0a48caf Store window size and panel draw order in layout config
  • 2992431 Fix clicking NPCs that don't have a sprite with visible pixels
  • deac6f3 Fix integer overflow errors for values that can get very large
  • 0ad9e22 Prioritize map item pickup when clicking on the map. Allow map item click to happen concurrently with clicking other stuff.
  • f98bb3a Add persistence for panel state in resizable mode
  • 90de46a Fix draw order of inventory item labels in resizable mode
  • 687baa9 Ensure panels have no drag+drop functionality if not in resizable mode
  • 7d149c4 Removing the InGameWidth and InGameHeight config options now sets resizable mode off
  • 212c418 Clicking a panel now brings it to the top
  • bbe8760 Fix interaction with friend/ignore button
  • 88f899f Update readme with info on resizable mode
  • 207f0c3 Add alt+{num} keyboard shortcut to show/hide panels
  • 98ed718 Merge branch 'master' into res...
Read more

EndlessClient 0.10.072

19 Nov 01:19
Compare
Choose a tag to compare

Changes:

  • 25c7322 Update pipeline to run CI/scheduled build on release branches
  • f96751d Merge pull request #245 from ethanmoffat/eobot_talk
  • b8e51ee Fix argument parsing forcing all passwords to lowercase
  • 771b684 Add method for chatting in EOBot
  • a46a1ff Merge pull request #244 from ethanmoffat/hotfix
  • d444a65 Update host arg to be separate host/port. Remove IPEndpoint usage that didn't work with DNS hostnames.
  • f2db780 Reset player state to be not in game when leaving PlayingTheGame state.
  • c8223d4 Merge pull request #229 from miou-gh/fix-inventory-drag-item
  • 3c7d3c9 Merge branch 'master' into fix-inventory-drag-item
  • b21ab37 Merge pull request #227 from miou-gh/minor-alignment-fixes
See More
  • c3165df Merge branch 'master' into minor-alignment-fixes
  • b2ca533 Merge branch 'master' into fix-inventory-drag-item
  • c619c08 InventoryItemPanel refactoring
  • 8bcb448 Merge pull request #228 from miou-gh/fix-error-dialog
  • a1b59c9 Fix dragged inventory item from being rendered prematurely
  • 0d9c855 Show proper error dialog when unable to connect
  • dea5baa Fix wrapping of EOMessageBox message label
  • ac06227 Fix alignment of EOMessageBox caption
  • 50c6544 Fix parsing of host command line argument
  • b2b661f Use accurate offsets for InitialControlSet positions

This list of changes was auto generated.

EndlessClient 0.10.058

20 Sep 18:50
86880ba
Compare
Choose a tag to compare

Changes:

  • 86880ba Merge pull request #224 from ethanmoffat/release_bugfixes
  • 4d8e64c Update XNAControls to latest version. Set MaxWidth on chat text box so long message don't extend beyoned the edge of the UI
  • 227bb8d Fix frame update timing for release builds (limit to 60 updates/second)
  • c4d244c Fix map edge rendering in MiniMapRenderer. Fix interaction with Unknown tile specs in MiniMapRenderer and WalkValidationActions.
  • 0d30778 Update input handling to back off when completing a warp. Fixes some issues where warping causes the character to jump about weirdly
  • c12bd67 Handle dialog open packets that were not initiated client-side
  • 5433ead Ensure map renderer does not render the same map coordinate twice. This is a hack since I CBA to figure out why the diagonal rendering loops overlap.
  • bdb8ce4 Fix bug in data encoder where MSB of 128 and 0 value bytes was erroneously being flipped
  • 6676c84 Increase render distance for Overlay layer. Fixes large overlay tiles popping in
  • 478be4e Revert "Render NPCs a little earlier on the map (one row/col higher). Fixes render order bug with NPCs and down-facing walls."
See More
  • 3f2b1a3 Fix bug in default panel display
  • d968292 Fix mouseover check for irregularly sized NPC texture sets. Fixes bug where mouseover would cause crash when standing frame was sized differently than different direction frames.
  • 663e50a Make sure chat panel is set as the default panel if there is no news text
  • 41311c8 Ensure empty news text does not show an empty message with the string "Server" if there is no news header
  • 3d932d8 Fix email regex for account creation to accept all 2-letter domains. Ensure email validation ignores capitalized characters.
  • 7b603e6 Render NPCs a little earlier on the map (one row/col higher). Fixes render order bug with NPCs and down-facing walls.
  • 34a159a Ensure walking NPCs are rendered as part of the correct row/col
  • 457634c Fix bug where replaying a walk after turning when you would have hit a wall caused the replay to fail and the character to stop. Also simplifies the replay walk code.
  • b22aada Jump tiles play SFX when clicking to walk
  • ebc8f06 Fix bug where idling at initial screen for a while and then logging in immediately does an afk emote
  • f80b3b0 Update README
  • 59b71f4 Fix replaying a walk into walls/NPCs bumping the character back
  • 42eee0a Extract UnwalkableTileActionsHandler from ArrowKeyController
  • 2194fa2 Calculate Top/Bottom pixel of NPCs correctly. Add check for visible pixel to click/hover behavior
  • 6428220 Split MESSAGE_ACCEPT single string messages at 68 spaces.
  • 255afc1 Make clicking an object after clicking to walk cancel the walk path
  • d0db16d Unset selected spell when clicking on a non-target. Make map sign dialogs modal.
  • bf737a2 Add door validation for click to open and fix character taking a step when clicking an unwalkable tile.
  • 3dcda22 Support clicking to open doors
  • 02bb182 Update detection for stacked characters to consider character draw area rather than mouse cursor's cell state
  • c47e2d6 Use ConcurrentDictionary in NativeGraphicsManager instead of locking around regular dictionary
  • 78f3046 Merge pull request #217 from ethanmoffat/delete_old_code
  • 75268bf Remove old code
  • d5edeb6 Merge pull request #215 from ethanmoffat/trade
  • dc5e49f Remove erroneously added System.Windows.Documents using statement
  • 78a2a54 Ensure trade offer updates read the break bytes. Ensure weight never goes below zero after trade completes.
  • 23158cc Ensure trade agree is setting agreement for the correct player
  • 15e1514 Remove TradeSessionID (this is probably not what the mystery byte is for)
  • 363b619 Ensure equality of InventoryItem/TradeOffer is properly defined
  • f1c2cd9 Fix various minor display bugs in TradeDialog
  • a461571 Wire up trade actions to context menu. Finish implementing trade dialog actions.
  • a4524c2 Support drag+drop to add item to trade offer
  • fdd97b2 Implement InventorySpaceValidator.ItemsFit
  • c0d1145 First-pass implementation of trade dialog.
  • 716f636 Update inventory drag+drop to work with bank deposit
  • cc295d6 Update base dialog to store a NativeGraphicsManager. Allows trade dialog to hold ListDialogItems
  • 64e1ba7 Add check for NPC renderer existence before attempting to show damage counter
  • aaa474b Merge branch 'master' into trade
  • 7ec1d32 Merge pull request #213 from ethanmoffat/bu_support
  • 7ee51e8 Update NativeGraphicsLoaderTest with new expected culture value (default=-1)
  • 24b2be0 Add missing methods to interface implementations in EOBot
  • 967f279 Ensure renderers are disposed properly. Fixes issues when changing to initial state where chat bubbles and entity name labels would persist
  • c4c756c Update mouse cursor renderer to control which character renderers show their name label
  • 2881351 Fix level up emote not displaying while attacking/casting
  • 6a4a127 Fix bug where other players would not finish casting a spell targeted at NPCs
  • 5c0603d Fix showing speech bubble during global chat
  • 6be6256 Show "The NPC dropped" message when NPCs drop an item
  • ebf5dcc Ensure ground layer draws as part of update loop.
  • 3f54196 Fix weapon sounds not playing when multiple weapons in a pub file have the same graphic
  • a33c682 Ensure boss NPCs can still be attacked when under siege
  • 43c9729 Fix map item text label rendering when the same item is in adjacent tiles
  • 1a42a74 Play NPC attack sound
  • a15932c Update cached scroll offset for inactive tabs when updating chat text. Fixes bug where inactive tabs wouldn't scroll to the bottom on new chat.
  • 482bc66 Implement MESSAGE_ACCEPT handler. Allows for more player commands to work on BU
  • 4f9842d Play effect potion sounds when using a nonstandard effect ID
  • 8101f4a Add missing return for known potion effects
  • a44e8ac Use default implementation for effect potions when values are out of range. Fixes crash on BU for missing effects.
  • 6f59e43 Ensure opened doors do not play a sound effect twice.
  • 405ed3a Update WallLayerRenderer to use constant offset instead of width-based offset. Fixes render issues with irregularly sized BU graphics.
  • 8c7c6c3 Make effects that play via effect packet look slightly more accurate
  • 84f6b94 Remove --clonecompat flag in favor of loading first culture in the list as a default when loading GFX
  • aa0f957 Reduce timeout for NPC actions. Fixes NPC graphic glitches when moving fast.
  • 4f9286e Ensure animated ground tiles have at least 2 full frames before animating them. Fixes rendering issue on slightly oversized ground tiles (e.g. 66x33)
  • ea19e68 Update map renderer to render diagonally.
  • 17b1a11 Fix version label placement on first screen to support BU gfx
  • 03d5ac7 NPC chat bubbles no longer persist between maps or when NPC is out of view.
  • 0b7730d Update UnwalkableTileActions to return a list of actions.
  • 4acf7af Fix wall layer rendering for fancy chests/lockers
  • 0c4272c Fix quest dialog crash when requesting NPC id is missing
  • c9bb922 Implement EFFECT_AGREE handler for rendering an effect at given coordinates
  • 4be483c Remove crash conditions for unrecognized tile specs. Allows for custom tilespec support (fishing/mining)
  • e82157a Update to latest PELoaderLib.
  • 414b2ea Paramete...
Read more

EndlessClient 0.9.011

27 Apr 15:00
0f2b155
Compare
Choose a tag to compare

Changes:

  • 0f2b155 Merge pull request #188 from ethanmoffat/bard
  • 1335b1c Separate Emote from Attack in CharacterAnimator
  • 512ed1a Ensure CharacterRenderer is not updating textures every single frame
  • aafaa13 Add support for bard music. Player can click to play harp/guitar notes, and notes played by other players will be played.
  • bfb045f Rate limit bard dialog input based on update tick
  • bea0e27 Update instrument attacks to render as ranged weapons instead of melee weapons
  • 3b8b042 Show bard dialog when using the bard spell
  • fc5b486 Add SfxPlayer and loading of SFX files in content provider
  • e13bb5a Merge pull request #185 from ethanmoffat/skillmaster_dialog
  • a8989cb Finish implementing skillmaster dialog
See More
  • ea276ef Packet handling and domain changes for forgetting skill and resetting stats
  • 3a6ff4c Actually show dialog for confirming learning of skill
  • fbe9366 Implement skill learning and packet handling for skill learn error
  • e29ec80 First pass re-implementation of skillmaster dialog (initial state)
  • fbcdbc2 Domain model and packet handling for skillmaster dialogs
  • d12b7a1 Remove GameStateProvider as dependency of TextInputDialog
  • 55b90c2 Fix windows-only code warnings in ReleaseGameRunner
  • 7ca095a Remove unused old ItemTransferDialog
  • 4700b28 Merge pull request #183 from ethanmoffat/spell_casting
  • 6fd8fd0 Fix mouseover for spell panel items while scrolling in panel
  • 18840b8 Fix moving spell while scrolling in panel (no longer hides dragging icon)
  • 914b138 Ensure spell inventory uses preferred slot from config file if it exists
  • d9f835b Reduce character SP when attaccking or casting spells
  • aab32ba Throw if the Packet Handler component is ever removed from the game's components
  • e57aadb Ensure spell cast shout stops when appropriate
  • b48ed13 Make spell cast frame render for slightly longer
  • 59d635b Fix rearranging of spell icons in active spells panel (drag+drop)
  • 094eac5 Fix casting of self target spells and anything bound to F8
  • a5bc32d Check TP/SP requirements before casting a spell
  • ae959e8 Add handling for PK spells
  • 7e2809e Ensure invalid spell targets do not attempt a spell cast
  • 7f45d64 Don't prepare the spell for group target if not in a group. Immediately cast group target spell.
  • 47faba6 Target others with spells
  • 8272314 Fix spell targeting to use NPC index instead of ID
  • 07b9f5e Implement casting for self-cast spells
  • 7550935 Ensure newly added spells don't render rows beyond scroll limit when first logging in to the game
  • bc7aa0b Refactor how spell selection is handled. Use a repository to track which spell is in which slot, which spell is selected, and if the spell is prepared for casting.
  • 7aad651 Merge pull request #182 from ethanmoffat/active_spells
  • 4792118 Implement handler for StatskillTake for learning skills
  • bbe6283 Update selection logic and label/level up property changes for active spells
  • 40bcd01 Packet handling for training a spell
  • d951cb9 Remove old spell icon/panel code
  • e9bd17b Interaction with active spells (except for leveling up)
  • e06e750 Initial display of spell icons in active spells panel
  • 8141961 Move Spell Icon stuff to Old namespace. Prep for rewrite
  • 6f6a54f Fix main character render position when logging in to a sitting character
  • 6e8b354 Update version to 0.9

This list of changes was auto generated.

EndlessClient 0.8.017

11 Apr 00:38
56d71d3
Compare
Choose a tag to compare

Changes:

  • 56d71d3 Merge pull request #179 from ethanmoffat/clickable_map_entities
  • 749a333 Clicking adjacent square no longer walks two squares
  • a3e4d9f Show NPC name in status bar when clicking the NPC
  • 3e0b86e Use Single() in place of erroneous accessor for dialog titles
  • 4fb9f5c Prevent clicks on map NPCs behind context menu items from triggering both context menu and NPC click handler
  • 43de64b Ensure E/Q buttons for HUD use transparent background
  • 8ed1699 Don't reset quest NPC. Fixes title bug where quest shows multiple dialogs
  • 0d3ff9c Ensure clicks don't trigger multiple handlers
  • 0afed66 Ensure clicking a sign does not invoke the MouseCursorRenderer click handler
  • b0e6f14 Add check for clicks based on the bounds of the graphic associated with a map sign
See More
  • 6c05472 Merge pull request #178 from ethanmoffat/bank
  • 8975081 Implement bank account dialog with Withdraw/Deposit/Upgrade actions
  • 96c2cce Packets for bank account open, deposit, withdraw and locker storage upgrade
  • 45b097f Merge pull request #176 from ethanmoffat/locker
  • 04d42e6 Prevent interaction with map stuff when clicking in an open dialog
  • 63b4416 Show/interact with locker dialog
  • 14503ab Move packet handlers for shop out of Interact namespace
  • 9d694e0 Packet structure for locker family of packets
  • e91e102 Extract ChestActions out of MapActions
  • a707282 Merge pull request #175 from ethanmoffat/fix_chest_key_check
  • 36ce0af Make clicking a chest validate keys. Re-use validation code from walking into a chest. Ensure key name is displayed properly.
  • 808a435 Merge pull request #174 from ethanmoffat/chest_dialog
  • 85a0de2 Support add/remove/update of chest
  • de86fa5 Show chest dialog and load initial items
  • c7cdebe Handle packet for opening chest
  • 188b9c0 Refactor UnwalkableTileActions to not send packets directly. Move sending of packets for door/chair into appropriate domain model actions classes.
  • 291e930 Update MapCellState to hold optinal chest key instead of chest object
  • b7f95ee Merge pull request #173 from ethanmoffat/quest_history_progress
  • 750ba3e Add Session EXP dialog
  • 5baee0d Implement display of quest progress/status
  • bf61e2d Add more sizes to ScrollingListDialog (preparation for quest history/progress).
  • 02583ae Render shadows from slightly farther away. Prevents large shadows from suddenly popping in
  • 60e69f5 Fix bug where quest NPC dialog caused a crash because the requested NPC was never set
  • 4037a11 Migrate quest history/progress packet handling to new paradigm
  • 5e344b6 Merge pull request #170 from ethanmoffat/quest_dlg
  • 7924191 Disable click to walk when target cell has a character or npc
  • 927c60d Don't show empty dialogs if there is no response from the server when interacting with an NPC
  • 64511fa Fix click handler for non-hyperlink ListDialogItem
  • e3e0be0 Fix formatting for status label text when earning EXP
  • 096db72 Ensure status label shows message when doing stuff in a quest
  • a8b8a81 Fix quest item change handlers to update inventory correctly when items are added/removed via quest
  • ca9599e Reimplement quest dialog
  • dc51324 Fix ListDialogItem click causing hyperlinks to be clicked twice
  • 722530a Update ScrollingListDialog to support more buttons/sizes. Preparation for supporting smaller scrolling list dialog size.
  • 6397611 Implement network actions for opening quest dialog and responding
  • ca9611f Reimplement Message_Open handler for setting status label from quest
  • 574fb4f Merge pull request #169 from ethanmoffat/shop
  • 97a6e1f Fix logic for picking stuff up
  • 8ff8ad0 Allow drop/junk from inventory if a dialog is open
  • bbd72f1 Add logic for crafting items from shops
  • 89f6d9a Make sure stale shop data isn't shown when opening new shop after previous shop has been opened
  • 5f4eda4 Don't show craft icon if there is nothing to craft in the shop
  • d434e89 Add logic for buy/sell of items from shops
  • 55e231b Update 8.75pt font to be 9pt. Makes text look a little nicer and less blurry.
  • 4bf92a6 First pass of opening/rendering shop dialog. Todo: action for buy/sell/trade items
  • 499c27d Make ShopCraftHandler constructor public
  • 6aa0ff2 Migrate shop packet family to new handlers/actions
  • 8820813 Add packets for requesting shop and handling data about shop
  • 6eddceb Extract paperdoll request into PaperdollActions in new EOLib.Domain.Interact namespace
  • 78bcdcf Update version to 0.8

This list of changes was auto generated.

EndlessClient 0.7.051

01 Apr 23:13
781de8e
Compare
Choose a tag to compare

Changes:

  • 781de8e Merge pull request #167 from ethanmoffat/paperdoll_drag
  • 2162c7d Drag to/from inventory panel to equip/unequip. Follows semantics of original client.
  • 86a0cf9 Implement drag to paperdoll to equip
  • 14188b3 Ensure Paperdoll is not click/dragged when an inventory item is dragged over it
  • 769fa69 Update credit in ChatProcessor
  • a452c4f Ensure dialogs do not stay open when switching away from PlayingTheGame game state
  • ba0b8da Merge pull request #166 from ethanmoffat/emotes
  • 80f6272 Extract drunk/afk emote logic from CharacterAnimator into separate PeriodicEmoteHandler hud control
  • dba8410 Add periodic emote for AFK players
  • a66f9cc Use newly added pub record property for drunk time to set timeout for how long a character stays drunk
See More
  • 1279f47 Test exp reward item type
  • ac42e7c Implement drunk action from using beer types items. Implement drunk text transformation
  • 32d71e5 Show warning when trying to attack with ranged weapon and arrows aren't equipped
  • 0e9e7e1 Fix ranged attack skin rendering on female characters
  • 4601f70 Handle level up emote. Ensure emote plays unconditionally when Recover_Reply is received (with updated level) to emulate original client behavior.
  • 2bcf1ce Implement emotes from client side (face/emote renderer already existed). Remove old emote related code.
  • 2b81c32 Merge pull request #162 from ethanmoffat/139_item_actions
  • 4023c43 Reduce number of inventory items updated to only items with changed amounts
  • 97dfc6c Extract validator services out of InventoryController for drop/equip of items
  • 83727d7 Fix bug where used slots weren't cleared between logins
  • 015b7db Show karma string on stats panel
  • 6f7c952 Implement RecoverReply handler
  • 232cfb1 Test and implement all usable items except beer / exp reward
  • 9ce93e4 Fix PaperdollDialog crash for unset class ID
  • 07d5019 Implement UseItem client action and quest item handlers. Remove old item related network code
  • 1c51aed Implement item junk from inventory
  • 3f6ee12 Implement item drop. Drop supported via drag to map renderer or drop item button.
  • 6cebd7b Add ItemTransferDialog and factory
  • 307fa01 Move equip/unequip to ItemActions. Create InventoryController to reduce scope of InventoryPanel. Method inject InventoryPanel into PaperdollDialogFactory to prevent cyclical dependency via constructor injection.
  • e3ba04a Move UseItem to ItemActions
  • e671401 Set JailMap during login
  • 4491547 Create ItemActions. Move JunkItem from MapActions to ItemActions.
  • 06e6c29 Merge pull request #158 from ethanmoffat/inventory
  • 852ffeb Merge branch 'master' into inventory
  • 8459c42 Fix update of inventory panel weight label
  • ca5dc9d Fix online list packet translator for new InitReply enum values
  • 2ba0c86 Fix inventory save routine to ini file so that it doesn't persist old slot data for a character
  • 1d70706 Rename changed PlayerID property -> SessionID
  • a4b3c85 Merge pull request #156 from sorokya/mapinfo-packets
  • 0e81e93 allow NPCs to still appear while connected to EOSERV/ETHEOS
  • db82164 only clear unknowns if the packet was sent successfully
  • f909bb2 return true instead of false when adding unknowns
  • a4f5f93 remove default constructor from NPCFromPacketFactory
  • 3e5279d Make MapWarpState readonly for provider
  • 0532a5e remove blank lines
  • 4b0758b Add UnknownEntitiesRequester to game
  • b2d72c5 Store unknown Players/NPC in MapState repository
  • 278c31f Request map info for new characters/npcs in the walk reply
  • 2803ca9 Create NPCFromPacketFactory
  • 31cc6d9 Read ClassID in CharacterFromPacketFactory
  • 0ba65eb Rename AutoRefresh to CharacterMapInfo
  • f74780a Merge branch 'master' into inventory
  • 2d113e7 Remove stale inventory-related code
  • b47c2db Implement InventorySpaceValidator
  • 622ce06 Extract repository for inventory slots
  • b7e3540 Extract ItemNameColorService for getting colors for item name labels in inventory/map
  • 5d01f6e Fix render order of inventory item name labels. Fix display of inventory item background outside the bounds of the inventory grid.
  • e5b6c1b First-pass implementation of drag+drop in inventory
  • fa9898d Add Save to IniReader
  • dfe4ec6 Merge pull request #152 from sorokya/select-character-with-keyboard
  • 36ca945 Merge branch 'master' into select-character-with-keyboard
  • f8a2ad0 Merge pull request #150 from sorokya/update-session-id-logic
  • e727b88 Switch to IsKeyPressedOnce
  • cc56416 Do character login by pressing number for character
  • 08a9b2b Overwrite character id with player id when logging in
  • 23b4e49 rename playerID->sessionID
  • 13011a3 remove extra async/await when requesting files from server
  • c7cabc7 remove AddShort overload
  • 546fe80 re-add warp specific map requester
  • 3c7929d Drop sessionID from player info repository
  • 763a76c create overload for AddShort that accepts ushort
  • c7fe494 Update Packet test fixture to use byte for InitReply rather than char
  • 2a700df remove un-needed cast
  • ba4226d implement session id for login actions, warping, and file request service
  • 16b6953 Swapped ClientID to PlayerID
  • e792aff Merge branch 'master' into inventory
  • 8701325 Handle item equip from inventory via double-click
  • bacb8b2 Set paperdoll info for main player on login
  • 02c0245 Remove unused dependencies from LoginActions
  • 4a54404 Remove unused paperdoll repository from LoginActions
  • 4eb4cd0 Merge pull request #153 from sorokya/reset-chat-on-login
  • 8792597 Add TODO commend
  • 483023c Clear all chats unconditionally
  • d2b2961 Clear chat on login
  • 7336c97 Display of items in inventory panel
  • 04d7450 Implement inventory panel skeleton. No inventory items are rendered yet.
  • 5fa705f Merge pull request #123 from ethanmoffat/fix_perf_pregame
  • 8a7a7f3 Update readme/contributing
  • 5343f80 Fix mouse cursor not showing properly on NPC wall tilespecs
  • 44420e8 Direct copy pixel memory from image instead of saving to memory stream
  • 5ee2f46 Load empty character info panels are part of content loading. Reduces delay when switching to LoggedIn game state
  • 4c822df Abstract content manager away from consuming classes
  • 8cbdc19 Merge pull request #122 from ethanmoffat/paperdoll
  • f2bb8a6 Add support for equip/unequip item packets and responses. Unequip items from paperdoll when right-clicked in the dialog.
  • d93c57c Move right-click detection to character renderer. Makes it easier to get a right-click action
  • cf4c2c3 Make PaperdollData into a dictionary keyed on EquipLocation
  • cf4d279 Add context menu renderer. Implement paperdoll, PM, friend, and ignore actions for context menus.
  • 1adb207 Clean up old PaperdollDialogItem controls when updating paperdoll data
  • 97eb1e9 Show paperdoll equipment icons
  • fde266c...
Read more

EndlessClient 0.6.006

18 Mar 15:53
e3af7b3
Compare
Choose a tag to compare

Changes:

  • e3af7b3 Merge pull request #118 from ethanmoffat/immutable_pub
  • 771735f Add coverage for testing serialization/deserialization of pub record implementations
  • a3bc199 Make existing pub file tests more generic
  • 96b22f7 Add test coverage for BasePubFile methods. Improve constraints on pub modifications and add record insert operation
  • c5d0a19 Add WithName method
  • 0b668f7 Fix build in remaining projects
  • fd738a8 Fix errors in EOLib/EndlessClient due to refactor
  • e682dcf Improve test coverage for new pub file stuff
  • 75e7f41 Make pub files/records immutable. Separate serialization of pub files/records into separate serializer objects. Use generic approach to data storage for pub records. EOLib.IO(.Test) builds and tests pass.
  • efce006 Move PubRecordProperty to EOLib.IO.Pub
See More
  • d50bbb9 Merge pull request #117 from ethanmoffat/localization_dataencoder
  • 2b66e6f Merge branch 'master' into localization_dataencoder
  • c1a7d30 Add test coverage for encoding data files
  • 575d869 Fix crash bug encoding data files
  • cf4e545 Fix existing tests
  • 3e87c32 Update version number
  • 8783687 Merge pull request #116 from Septharoth/finish-pub-spec
  • 0e94781 Update pub record tests
  • a417f78 fix ItemElement ItemElementPower
  • 2c258e8 Rename Unk values in pub records
  • fc83caa cast SpellType to int when serializing
  • e207ae4 Update PubRecordProperty with full pub spec
  • b1cab3d Update ESFRecord with full ESF Spec
  • 161609e Update ENFRecord with full ENF Spec
  • b971de3 Update EIFRecord with full EIF spec
  • 19384e4 Introduce separate (I)EDFLoaderService for loading EDF file content. Make IEDFFile immutable
  • fc1f1f7 Extract DataEncoderService from packet encoding to EOLib.IO
  • c7facbb Merge pull request #115 from ethanmoffat/minor_fixes
  • 1acdd75 Two map serialization bug fixes that caused certain maps to always be re-downloaded on first load due to length mismatch.
  • 4d7787c Update map serialization to store row IDs for GFX rows that contain zero elements. Fixes login bug where certain maps would always be redownloaded due to mismatched expected length.
  • d1b9dea Fix crash in click to walk
  • 16f8405 Add option to rewrite CRC when saving a file (default: ON). EndlessClient turns this off when requesting files from the server.
  • 5356fc4 Fix rendering of unreadable characters in map signs

This list of changes was auto generated.

EndlessClient 0.5.002

10 Mar 08:23
e5a3118
Compare
Choose a tag to compare

Changes:

  • e5a3118 Merge pull request #114 from ethanmoffat/eolib_nuget
  • 361accf Rev version to 0.5.x
  • 7e377ed Disable XML doc generation. Publish nugets to platform-specific artifact names
  • b74a0f4 Fix file filter for exluding test projects
  • 069a647 Fix copy nuget task. Try different file path specification for only EOLib projects assembly version
  • f84df27 Fix filename filter when setting assembly versions
  • 191cdf0 Suppress warnings for missing XML doc comments
  • 5967b78 Set assembly version for all assemblies. Create packages for only EOLib.* projects (excluding tests). Copy/publish nuget packages
  • d24ad23 Set description for each EOLib package and remove AssemblyInfo
  • 57956c6 Update pipeline to only set assembly info/packaging for EOLib.* projects (excluding tests)
See More
  • 1a5c309 Add Assembly-Info-NetCore task to set assembly/package versions to build number
  • cd86d37 Merge pull request #113 from ethanmoffat/animation_fixes
  • 0302959 Chat bubble overhaul and simplification. Fixes render order issue where chat bubbles were drawn on the same layer as their owner. Chat bubbles are now drawn on top of all map objects.
  • 3253382 Fix for chat bubble positioning. Fixes for figuring out top pixel of character/npc.
  • 7c178c2 Move handling for click to move to character animator. Consolidates walk logic to animator. Remove ClickWalkPathHandler and fix crashes when attempting to click in a diagonal due to changes to how animation works.
  • e96cb13 Player walk handler updates other player position/direction if they aren't walking
  • a10e8fb Fix rendering of other characters
  • 6c5cd65 Fix rendering of Overlay2 layer. Tested on map 4 (temple) and 76 (jail)
  • 04ef7ff Make F12 redraw the ground layer. Allows player to refresh ground tiles if there is an error drawing them
  • a37ecfd Update character renderers to take into account destination coordinates when walking. Fixes display bug where weapon would render underneath wall when walking.
  • fdc848d Update character collection to use key/value store keyed on character ID instead of a hashset of character objects. Simplifies code when querying for a character or checking if it exists by ID
  • a767c16 Add more bounds checking to collections. Prevents a number of crashes
  • 114e6e4 Prevent main character from trying to walk to an unwalkable tile
  • bcc1a70 Prevent character that is walking from starting attack animation
  • 82e9d2e Fix animation speed for attacks.
  • e84cfe9 Fix main character attack animation speed.
  • 4e0b1f2 Add flag to config for main clone support (default: off). Updated PELoaderLib to support main clone EGFs
  • 8734c3a Fix other character walk animations
  • 2ceeff5 Character/NPC animation improvements/bugfixes

This list of changes was auto generated.

EndlessClient 0.4.014

04 Mar 06:29
8fb279f
Compare
Choose a tag to compare

Changes:

  • 8fb279f Merge pull request #111 from ethanmoffat/fixup
  • b80ff5c Fix login for player IDs greater than short.MaxValue due to sign extension
  • 44cb872 Change game state before showing login busy dialog when logging in. Ensures dialog can be closed.
  • 9e37d65 Fix reading of optional byte when listing characters for character select
  • 70a5a8d Remove unused number encoder field from LoginRequestGrantedPacketTranslator
  • db100eb Merge pull request #110 from ethanmoffat/gameserver_support_2
  • fee5887 Update bot helper for character management calls
  • 85a271a Support GameServer for character create/delete operations
  • 74ee1a2 Fix sign extension issue when encoding 2-byte number for packets. Converting short back to ushort before it gets extended to int fixes the problem.
  • 5b3e02e Fix handling of CONNECTION_PLAYER when sending response to GameServer
See More
  • 0ee4532 Support creating accounts with GameServer.exe. Works inconsistently.

This list of changes was auto generated.

EndlessClient 0.4.009

25 Feb 06:36
96d472e
Compare
Choose a tag to compare

Changes:

  • 96d472e Merge pull request #109 from ethanmoffat/gameserver_support
  • 9498d6e Fix tests (use Select to cast to byte instead of Cast())
  • 078ebb4 Minor fixes to PacketDecoder
  • a85c830 Login path compatibility with GameServer.exe. Support for official server software.

This list of changes was auto generated.