Skip to content

EndlessClient 0.1.005

Compare
Choose a tag to compare
@ethanmoffat ethanmoffat released this 03 Feb 20:40
c0ca597

Changes:

  • c0ca597 Merge pull request #102 from ethanmoffat/git-tag-fix
  • 52b0753 Copy script setting tag directly from etheos repo
  • bd28c3e Merge pull request #101 from ethanmoffat/convert_pipeline_to_yaml
  • 629197a Update status badge to point at new build definition
  • ad5b0aa Convert pipeline to yaml
  • e2b2f6d Merge pull request #100 from ethanmoffat/bot_interpreter
  • 073b529 Improve error display when a token does not match during interpretation
  • a71b805 Add help message with more info about how to write scripts
  • 84c933b Add command-line option to skip auto connect/disconnect in script. Allows quicker testing of scripts that don't do any connection stuff or scripts that want more control over when to connect (for single bot instance)
  • 1b72feb Improve error checking when calling functions
See More
  • 46730be Don't overwrite existing error during keyword evaluation if evaluation fails
  • 44d6713 Add error handling for interpreter. Change return type of Evaluate method to tuple with status, error reason, and relevant token. Use status enum to differentiate fatal errors from an evaluator not matching the current execution point. Improve existing error checkiong throughout interpreter.
  • c47ad1a Ensure that "Current" token extension method returns EOF (last token) if attempting to get a token outside the range of the program list
  • ca470a6 Update functions error messages when calling with the wrong number of parameters
  • 0527380 Add GetHashCode overrides to variable types to suppress warnings
  • a14260c Partial commit - update bot token parser to store line number/column info in each token for error reporting
  • 6070889 Update packet queue to poll for task completion source to not be null before checking it when signaling consumer. Fixes crash bug when debugging due to race condition
  • ddbaa44 Add receive timeout parameter to client creation. Use longer timeout for bots in consideration of bcrypt hash in etheos. Add timestamp function 'time()'
  • e729a0e Make interpreter run async. Add built-in sleep function. Add delay and automatic disconnect for scripted bots.
  • d0e5285 Integrate running of scripted bots into existing bot framework. Change connection/interpreter setup semantics to better support calling from bot framework.
  • 81495a0 Add more predefined functions
  • 526fe50 Improve code sharing between if/while
  • 67c2310 Add evaluation of while statements. Fix evaluation of conditions in if/while.
  • 4421603 Implement handling of goto. Allow functions to be part of an expression (e.g. function call in if() statement)
  • 81a0279 Make built-in identifiers read-only; return error if trying to write to a read-only variable/function
  • 5cc0ffd Add passing of user-defined args
  • ba0c693 Support if statement evaluation
  • 5a81898 Allow statements to end with EOF instead of forcing a newline for every evaluated statement
  • 615b15e Remove early terminating condition from BotTokenParser. Would omit last token if there wasn't a trailing newline character at the end of the file.
  • 87e4922 Implement calling of functions.
  • 5b495e7 Handle parenthesis with nested expression separately from regular expression handling. Ensure nested parenthesis get evaluated correctly.
  • fb99073 Fix stack bounds check in AssignmentEvaluator
  • 8d7f154 Implement evaluation of assignments/expressions
  • 9f25a89 Add some high level program states (mostly stubbed)
  • 2075a36 Add token parsing for ':' character
  • 6880cce Add data types for variables / function references
  • 0678d24 Add token parser for bot interpreter
  • 36f268e Merge pull request #99 from ethanmoffat/fix_bot
  • 64a3966 Junk cava staffs
  • 52793db Add signal to client when item junk packet is handled.
  • 816ee02 Simplify async pattern in EOBot. Rely primarily on CancellationToken as a signal for when work is cancelled.
  • f9bb9a8 Add color and consolidate console output
  • 60194d8 Add API/handling for junking items. Junk picked up items in TrainerBot if specified.
  • f3dc5ef Show amount of item in inventory when picking item up
  • 814a3c5 Fix sit to die
  • ce4c534 Fix crash in NPCLeaveMapHandler when there's no character matching player ID
  • 8db36a2 Fix infinite loop using heal items, add more output when attacking stuff
  • b9ff4cf Update TrainerBot to interact with anything surrounding it
  • a4748cd Make code in TrainerBot easier to read; add retries for NoDataSentException
  • ca38f55 Add sit if weight limit has been reached (to die)
  • 3d18fa7 Multiple changes (see description)
  • 256041b Add spell casting to CharacterActions
  • e81b4cb Make heal mechanics in TrainerBot a little more generic when selecting which heal item to use. Start by using the lowest HP heal item instead of taking the first item in the inventory arbitrarily
  • be69c44 Fix item use handler to handle correct packet type. Fix inventory amount update
  • 7ded0ec Update EOBot to work with new client architecture. Add TrainerBot.
  • e83711c Fix signal of task completion in packet queue to work with console apps
  • a64d617 Add handling for using items
  • 61c12ec Move adding default text to chat out of domain and into controller
  • 6b25235 Add isHeal parameter to notifying character about damage taken. Used for health potions
  • c64020a Merge pull request #98 from ethanmoffat/network_disconnect
  • 4db38f5 Update networking to show dialog immediately when connection to the server is lost and gracefully return to initial game state
  • f587db2 Merge pull request #97 from ethanmoffat/sitting
  • b0d4b12 Fix skin/equipment rendering offsets for floor sitting
  • 9a470c3 Fix bug in PMs where incoming PM would cause a crash
  • cb19f7e Fix offsets for male armor/boots when walking
  • f2eaafd Fix character equipment/hair/skin rendering offsets for chairs
  • e5b8084 Add handling for sit/stand from chairs
  • 33f01f7 Rename WalkErrorHandler -> UnwalkableTileActions
  • c89193d Add handling for F11 sit and rendering of sit state
  • d4fde4d Merge pull request #96 from ethanmoffat/map_features
  • 3c38020 Encapsulate quake state into single object
  • 6b70cb4 First pass of map earthquake effects
  • 23745f1 Move effect related packet handlers to Effects namespace/folder
  • b34842c Serialize map file sign title and message together. Fixes serialization of map file signs.
  • 786e20a Fix issue with attacking NPC with invalid index
  • 741d035 Fix BatchMap execution
  • 26d58b3 Add stepping stone (jump tilespec) walk animation
  • 60b4921 Rename WalkFrame -> RenderWalkFrame
  • 794c4ec Add handling for map signs. Ensure that mouse cursor renderer and keyboard input don't work if a dialog is active.
  • e7ea02b Update version of XNAControls with label fix
  • 97eacf9 Fix issue where clicking on status bars would start the character walking
  • 5aa6581 Don't handle mouse click if clicking outside the map bounds
  • 163ba88 Fix character info panels not updating when game is not the active window
  • 2a6a974 Fix calculation of MapProjectedDrawArea. Use MapProjectedDrawArea for positioning of name label
  • 95e698d Fix character ranged attack sending too many attack packets instead of waiting for animation to complete
  • 4a691c6 Fix potential issue for trying to attack protected NPCs not rendering an attack animation
  • ac44d39 Handle main player avatar change
  • 863ab4a Fix exceptions when the client gets player damage packets before loading completes
  • 3d18c8b Add health bars/damage counters rendering over players/NPCs
  • 3b36e2b Move HealthBar file to OldDamageCounter
  • 64dede4 Add handling for when NPCs are targeted/killed by spells
  • ee2e6e2 Add handling for spells that target other players
  • 427e3e9 Add rendering for self-target spell casting for other players
  • 6c5a513 Show potion effects
  • d2bba9a Show warp effect animations for admin players
  • 723b2c6 Show water splashies when walking on water tiles
  • 197a81c Refactor effect renderer for use with new code
  • 1c64621 Add timed spike / map hp drain effect handling
  • ab3c7bb Fix handling for other players opening doors
  • 95294e6 Handle other players taking damage from spike traps. Properly remove spike traps when another player dies to them
  • 552fc69 Add handling for spike trap and map tp drain for main character
  • dc7880d Fix socket receive bug for too much data when calling $remap
  • 66e4faa Render spike traps when players walk over them. TODO: handle players dying to spikes
  • b52603d Add support for F12 refreshing map state
  • 9981e2d Merge pull request #95 from ethanmoffat/rendering_features
  • 2a0515f Fix character transparency blending with objects. Draw the character twice - once at full opacity underneath map objects, and once at half opacity on top of everything
  • f14d43c Extract ClickWalkPathHandler out of MouseCursorRenderer. Handles pathfinding and path updating when player clicks to move
  • 7ef7311 Add character walking when clicking. TODO: organize code properly, cancel pathfinding when player uses arrow key
  • f8c1212 Add AStarPathFinder. Prep for character walking to clicked destination
  • 8043024 Only animate click when target cell is empty
  • 7fe4ac3 Fix NPCs not showing up on login
  • 62abf77 Add animation when clicking the mouse on an empty grid spot
  • eb6a368 Add name labels for characters and NPCs
  • f85f3e6 Fix offset for rendering items on map
  • 21addf8 Update CharacterRenderer to store ICharacter instead of ICharacterRenderProperties
  • 4bc8457 Render animated ground like the item layer instead of drawing it to one of the object render targets
  • 677ee80 Animate wall/ground tiles with more than one frame
  • 56b8c9c Merge pull request #94 from ethanmoffat/fix_transition_perf
  • a8e5e08 Move map renderer draw calls to draw method. Fixes perf issues when rendering the map entry transition
  • a0ea190 Merge pull request #93 from ethanmoffat/rendering_perf
  • 368022b Fix broken config test due to disable transition
  • 8e3cc5d Fix mouse cursor for main character
  • 35d4f13 Fix NPC offsets to use Apollo's universal formula. Fix offset for large NPCs (Apozen) and ensure that standing frame 1 is not rendered if there are only RGB (8, 8, 8) colors in it.
  • 06026f1 Disable map transition due to performance issues
  • dea962f Handle tilespec 173 on original map 30
  • 682dee4 Batch more draw calls by reducing SpriteBatch.End calls
  • 8ed77a6 Use HashSet for collections in CurrentMapStateRepository instead of list. Should improve performance of lookups in those collections.
  • ec2d863 Fix map entity render order (objects being drawn on top of walls)
  • 2db4d42 Fix rendering offsets for all map layers
  • 9029681 Fix offset for map ground layer render target
  • 7d9d60e Fix rendering of item layer
  • 9a9c656 Draw map base layer to render target. Improves drawing performance for large maps
  • 4330242 Render the ground layer using absolute coordinates
  • d2f2ce0 Allow creating render targets with specified dimensions
  • 095c895 Add map checksum int representation to map file properties
  • 4903e2e Merge pull request #92 from ethanmoffat/gfx_align_3
  • 8d89aef Fix ranged attack glitch due to related bug fix for animation frame timings
  • 40bc07d Fix merge conflict issue
  • a41da4b Merge branch 'master' into gfx_align_3
  • c9db97b Add note about broken attack frame 1 for ranged weapons
  • c3c905a Fix walk/attack frames for ranged weapons
  • ada3596 Fix render order so arrows appear over long hair
  • ecb0371 Fix ranged attack rendering for shields on back
  • 6612fef Fix render offsets for boot attack frames for ranged weapons
  • e941de1 Merge pull request #91 from ethanmoffat/handle_login_ban
  • 16b1e11 Handle INIT_INIT ban on logins
  • 196c447 Handle LoginReply for ban
  • d03ac54 Merge branch 'master' into gfx_align_3
  • 7d3a0ba Merge pull request #90 from ethanmoffat/relicense
  • a41e4b9 Clarify headings in preamble section of readme so TOC doesn't get eclipsed
  • 9590ad0 Add note about license update to readme
  • ce75ff3 Relicense to MIT
  • 1b6fa4c Remove copyright header from project
  • fcb48ca Merge pull request #89 from ethanmoffat/music_extra_values
  • 422afea Add MusicControl enum type and use for Control of MapFileProperties
  • a818c94 Rename MusicExtra -> Control
  • c3ba501 Add more quakes to map effect
  • 507a35c Fix armor rendering for all frames of ranged weapons
  • 6e4d4d1 Fix hat/hair render offsets for ranged weapons
  • fa61a3d Merge branch 'master' into gfx_align_3
  • f872b87 Merge pull request #88 from ethanmoffat/arg_for_host
  • 27f4b06 Use conditional for applying hair clip shader (Linux only)
  • a971e14 Add argument parsing. Allow specifying host on command-line for debugging.
  • 64dea09 Merge pull request #86 from ethanmoffat/account_seq_fix
  • 95ec605 Handle variable packet lengths for account name check depending on if EOSERV has sequence fix applied
  • b134aa2 Fix hat rendering offset for ranged weapons
  • 826db37 Fix hair rendering offset for ranged weapons
  • d6c4ffe Fix bug where character walk animations were really choppy
  • 9f04e58 Align character skin for ranged attacks
  • c454e71 Remove redundant ranged weapon parameter
  • 570b1cd Update render properties to track if weapon is ranged. Only use 2 attack frames for ranged weapons.
  • 0c31de7 Pass variable for if weapon is ranged to Skin/Face/Emote renderers
  • d29e061 Merge pull request #85 from ethanmoffat/character_use_depth
  • 45f7ec5 Fix hair rendering on Linux
  • 7e5bd2f Use layer depth instead of manually calculating order of sprites
  • c5a4e3e Refactor character property renderers to introduce layer depth
  • 9ae217d Merge pull request #84 from ethanmoffat/gfx_align_2
  • 1d23e09 Merge with master
  • aff1514 Remove requirement for unique item graphics
  • dc5fea4 Update weapon rendering to use centering approach. Correctly render melee weapon attack frame 2
  • 75a4e16 Update character texture calculation to support extra weapon texture for attack frame 2
  • 51a7006 Use extension method for determining if shield is on back
  • aebab98 Fix shield rendering for female / attack frame 2
  • a68b665 Fix alignment for shields on back (male)
  • 1d4d70b Fix issue where ping wasn't working due to use of unsigned short client-side (#83)
  • 163ad8b Pixel-perfect alignment of shield gfx. Does not work for wings/arrows/bag yet
  • 5e8c482 Merge pull request #82 from ethanmoffat/linux_hair_fix
  • f2c5f5e Use explicit pixel format in cross platform MakeTransparent
  • e851bed Use empty sprite with bounds for no hair so that hats still render in the correct spot
  • bfa1dc8 Fix some hair clipping types due to mask color not implemented
  • 28f954e Fix condition around including precompiled HairClip.xnb
  • 437244a Add (pre-compiled) shader for Linux to fix hat rendering
  • 22b3996 Monogame auto-edits
  • 94ce887 Merge pull request #81 from ethanmoffat/linux_fixes
  • 682340e Update linux HD serial number to pull a real value
  • 22c916f Update graphics loading routine with cross-platform MakeTransparent workaround. Use lock object instead of double-checking cache keys.
  • 972fbbd Make sure data files are in order before validating file names
  • 674f561 Cross-platform HDSerialNumberService
  • cb5abc2 Merge pull request #80 from ethanmoffat/ethanmoffat/gfx_align
  • b94ea0f Fix compile error with named args
  • dab694f Add configuration file to control hat/hair masking behavior
  • f55eb66 Update NativeGraphicsManager to make hat graphics transparent
  • caf2742 Add hair clipping configuration file
  • 896f387 Fix crash logging in when NPCs are chatting
  • cf7b726 Fix gender toggle in character state test
  • 671f4f9 Change boots rendering to use centering approach instead of magic number offsets
  • 7a8dce6 Add reverse support for all character properties via shift
  • 434d3ee Fix character state test not switching properly between armors
  • 6f41fa5 Division is hard
  • 26dec50 Update XNAControls to fix crash when backspacing in empty textbox
  • 63f16b9 Add offsets to validate MapRenderer (thanks @Cirras!)
  • d51f84f Change armor rendering to use centering approach instead of magic number offsets
  • c060fd7 Change hair rendering to use centering approach instead of magic number offsets
  • 6a120c2 Fix offsets for rendering other characters
  • 188f1e0 Change skin rendering to use centering approach instead of magic number offsets
  • c705b47 Fix issue with crash during disconnect in AsyncSocket
  • 4668ffd Update README with more specifics on the todo list
  • 8837a97 Update readme section header text
  • 39c05b2 Update readme, remove Release.zip
  • 95ec827 Merge pull request #79 from ethanmoffat/Issue54_AddMouseCursorRendering
  • 413ae3f Notes about npc alignment
  • 927c636 Add client-side validation for item pickups
  • f9bfaf0 Fix status label updating (update method not called if control is not visible)
  • 806782f Add support for picking up items
  • 7b450a3 Fix warping glitches due to in-progress animation, improve character rendering performance
  • 1319e8a Fix type mapping for IPubFileProvider
  • 1ca84a7 Fix load issue with UnknownMapEntity (NullReferenceException)
  • 758fd4f Remove old code in OldMouseCursorRenderer
  • 36a7308 Make map item text part of game's controls so it is rendered on top of other stuff in the map
  • d7ef056 First pass using MouseCursorRenderer to render mouse cursor
  • 8c6331f Implement proper Dispose pattern on MouseCursorRenderer
  • 2ad2ce1 Make MouseCursorRenderer independent of xna controls. Prepping for making it into a map entity
  • dffc5ad First pass of new Mouse Cursor Renderer
  • c5aaf25 Add ItemStringService to EOLib
  • 56f8b80 Rename MouseCursorRenderer to OldMouseCursorRenderer
  • ce4a1a6 Merge pull request #78 from ethanmoffat/perf
  • 2c1d907 Improve performance of check for an NPC renderer on grid coordinates
  • f08b931 Update opposite direction calculation to a one-liner
  • da53183 Merge pull request #77 from ethanmoffat/ethanmoffat/fix_type_mapper
  • 13caf9d Use latest AutoTypeMapper library to fix issue with varied registrations across assemblies
  • 6cd8196 Merge pull request #74 from ethanmoffat/better_ioc
  • a2e4c45 Reference MonoGame.Content.Builder.targets from nuget package
  • 12fa635 Add build status image badge
  • cefbbb1 Onboard EOLib containers to use AutomaticTypeMapper. Remove EOLib.DependencyInjection project and references.
  • fa336c9 Update Unity to 5.9.7. Update AutomaticTypeMapper to 1.2.0
  • 5e35c35 Fix calculation of top pixel not on UI thread
  • f542f6e Update to latest XNAControls
  • 941a927 Remove reference to DisposablePictureBox (not needed)
  • 1ad45d9 Update nuget dependencies / test code to run tests referencing MonoGame.Framework.DesktopGL

This list of changes was auto generated.