Collin Smith
6cd0777557
Workaround for interactable entities not allowing to be pathed to (since their coords were flagged on map)
2019-11-23 19:22:25 -08:00
Collin Smith
29cbcead58
Made item entities interactable
2019-11-23 18:29:31 -08:00
Collin Smith
917c461e37
Extended PathfindDebugSystem to better support using independently from engine to test path finding
...
Added support for drawing ellipses with DebugUtils
2019-11-23 17:59:11 -08:00
Collin Smith
407d41c7ba
Implemented a JPS path finder (see #63 )
2019-11-23 16:58:37 -08:00
Collin Smith
b2d8b7f8b9
Fixed variable names
2019-11-23 02:04:30 -08:00
Collin Smith
1d820b8bb2
Folded NodeRecord into Point2
...
Renamed IndexAStarPathFinder to AStarPathFinder because it isn't indexed anymore
2019-11-22 23:49:49 -08:00
Collin Smith
42c440618f
Minor change to enforce correct heuristic type is assigned to heuristic fields
2019-11-22 22:34:46 -08:00
Collin Smith
99914c2c23
Rewrote path finding related classes to be more tailored to my needs (see #63 )
2019-11-22 22:20:53 -08:00
Collin Smith
673463da91
Refactored and moved some things around -- changed node category to byte
2019-11-22 16:17:04 -08:00
Collin Smith
8545fc22fc
Replaced node records array with one that is dynamically resized
2019-11-22 16:00:41 -08:00
Collin Smith
a5898b568f
Moved graph indexing abstraction to node interface
...
Moved graph indexing abstraction to node interface
Created clearanced node interface
Simplified IndexedAStarPathfinder
2019-11-22 03:26:15 -08:00
Collin Smith
f7bdd339e4
Added support for item entities
...
Created ItemLoaderSystem to defer flippy file loading
Item entities are selectable only after their flippy file has been loaded since they have no bbox
Changed implementations from EntityListener to EntityAdapter
2019-11-21 04:11:16 -08:00
Collin Smith
07ec6a9bc1
Relaxed family constraint that all entities should have a COF -- items do not
2019-11-21 03:39:31 -08:00
Collin Smith
354c715261
Fix for shoving NPCs
2019-11-21 02:00:14 -08:00
Collin Smith
2e264abb66
Fixed issue setting flags for multiple rows
2019-11-21 01:58:12 -08:00
Collin Smith
d6f8de3b86
Added support for generating box2d bodies for monster and objects and generalized player entities
...
Added support for generating box2d bodies for monster and objects and generalized player entities
Added support for object entities to perform a bitwise or with the map tile flags so pathfinding will avoid them
2019-11-21 01:34:56 -08:00
Collin Smith
266eca76ce
Deferred disposing to Disposable interface
2019-11-20 05:00:54 -08:00
Collin Smith
24b6a9d3ed
Fixed Box2D world generation
...
Fixed Box2D world generation by subtracting tile offset
Added Box2D debug renderer
Disabled RenderSystem debug subtile flag
2019-11-20 00:16:10 -08:00
Collin Smith
3bd3e5f64e
Added debug logging for number of box2d bodies generated
2019-11-19 23:55:50 -08:00
Collin Smith
4e5fbc03d6
Made Box2DPhysicsSystem disposable
2019-11-19 23:32:32 -08:00
Collin Smith
35df3a6b96
Added support for retrieving vector2 view of MapGaphPath iterator
...
Added support for retrieving vector2 view of MapGaphPath iterator
Changed representation of PathfindComponent to Vector2 from MapGraph.Point2
Deleted old MapGraph racaster
2019-11-19 21:55:56 -08:00
Collin Smith
4d1ecab3f5
Added support for sized path smoothing (see #63 )
...
Added support for sized path smoothing
Removed extra data structures and put references directly into Point2
Added back direction-8 children successors
2019-11-19 20:46:55 -08:00
Collin Smith
40d9b56c33
Increased position lerp tolerance to 0.1 yards -- should help prevent entities getting stuck at waypoints
2019-11-19 16:48:42 -08:00
Collin Smith
b6bf8773a1
Implemented variation of A* that includes support for clearance (see #63 )
...
Added SizeComponent and implemented auto sizing within engine entity creation
2019-11-19 02:07:42 -08:00
Collin Smith
09c4a01b3e
Implemented map to store existing paths to prevent object creation
2019-11-19 00:58:50 -08:00
Collin Smith
2298d80cab
Reduced static memory usage of MapGraph
...
Changed rounding method of Map#flags(float,float) to use Map#round(float) instead of casting down to int
Removed indexing and connection links from Point2
Point2 are now indexed using MapGraph#getOrCreate and mapped using an ObjectSet -- using int hash did not seem sufficient
Connections to a given Point2 are lazily generated using a static Array -- it did not make sense to cache this for every node
Cleaned up API and method references (all pathing methods now use MapGraph#searchNodePath as their base method)
Most of these changed are geared to hopefully use the underlying map collision flags array as the graph instead of building a new one
2019-11-18 16:36:24 -08:00
Collin Smith
222fe7077a
Added Box2D dependency
...
Created Box2DComponent to store Box2D body
Created Box2DPhysicsSystem to generate world objects and iterate physics
Created Box2DBodySystem to propagate VelocityComponent to Box2D bodies
2019-11-17 03:08:42 -08:00
Collin Smith
5d077652ea
Added getter method for RenderSystem isometric camera
2019-11-15 16:14:49 -08:00
Collin Smith
bdfb83da30
Added pathfinding that includes collision detection with world -- PhysicsSystem still ignores collision
2019-11-15 16:04:08 -08:00
Collin Smith
11fe2682f6
Fixed issue with displaying unloaded texture briefly before new one is loaded
2019-11-15 05:28:02 -08:00
Collin Smith
22d7701647
Fixed changing cof components of an existing animation
...
Introduced CofComponent.setComponent(int,int) to auto set dirty flags for changed components
AnimationLoaderSystem will now unset load flag for null layers and remove transform and alpha update flags
CofLoaderSystem will now trigger a layer load when a nil component is encountered
2019-11-15 03:53:52 -08:00
Collin Smith
d34964c4ba
Increased Warp interaction range to 3 yards
2019-11-15 02:29:17 -08:00
Collin Smith
3c1a8e4933
Added InteractableComponent
2019-11-15 01:24:51 -08:00
Collin Smith
d0e323e320
Added AutoInteractSystem which will automatically hover and sort nearby entities for selection on mobile
2019-11-15 01:22:51 -08:00
Collin Smith
00947ba87d
Added ZoneEntrySystem to display zone entry texture when RenderSystem source entity changes zones
2019-11-12 20:13:44 -08:00
Collin Smith
3317794cb5
Added PlayerSystem and Map.Zone tracking
...
Created ZoneAwareComponent and ZoneUpdate tags
Added factory method to create players within Engine
2019-11-12 19:40:22 -08:00
Collin Smith
7c1c64823b
Added MovementModeComponent and System to manage walk/run/neutral mode based on velocity
2019-11-12 17:18:05 -08:00
Collin Smith
5754ba9b57
Added conditional coloring of selectable bbox to represent hovered state
2019-11-12 04:11:31 -08:00
Collin Smith
318382ee34
Refactored SELECTABLE and SELECTED states to components
2019-11-12 04:08:34 -08:00
Collin Smith
93be087793
Added static factory method to get or create a specified component for an entity
2019-11-12 01:55:54 -08:00
Collin Smith
58a011ab07
Refactored alpha and transform updates to components and systems
...
Removed generic update flags from CofComponent
Created AlphaUpdate and TransformUpdate components to store flags of layers that need updating
AnimationLoaderSystem no longer sets alpha and transform values and sets flags instead
Created AlphaUpdateSystem and TransformUpdateSystem to update animation layers
2019-11-12 01:31:50 -08:00
Collin Smith
5beafce761
Removed tile alignment from entity debug status text
2019-11-10 17:32:19 -08:00
Collin Smith
364775954c
Added support for setting animation speeds
2019-11-10 15:21:19 -08:00
Collin Smith
29f619fe1b
Added support for animation transformations / alphas
...
Added support for animation transformations / alphas
Changed CofComponent transformation field back to byte
Introduced update dirty flags in CofComponent to track transformation changes
2019-11-10 15:02:34 -08:00
Collin Smith
32b20d284e
Added run and walk speeds to VelocityComponent
...
Added run and walk speeds to VelocityComponent
Added RUNNING flag to tell if entity should use run or walk speed
2019-11-10 02:25:04 -08:00
Collin Smith
4ed6792996
Added physics system placeholder which manages velocity application on position
2019-11-10 01:56:23 -08:00
Collin Smith
caec8d7032
Small optimizations
2019-11-09 22:09:39 -08:00
Collin Smith
c270dbb7a3
Added PlayerComponent
...
Added PlayerComponent containing D2S reference
Added alpha array to CofComponent
2019-11-09 22:02:40 -08:00
Collin Smith
851cdc2aa5
Moved default angle to its own field
2019-11-09 21:52:11 -08:00
Collin Smith
41ff1997a4
Added support for angular velocity
...
Added target field to AngleComponent
Set default AngleComponent angles to PI/2
Changed AngleComponent angle fields to Vector2
Added support for angular velocity -- entities will no longer instantly update to target vector
2019-11-09 21:48:03 -08:00
Collin Smith
bac1c3c59c
Added AngleComponent to debug status text
2019-11-09 15:36:07 -08:00
Collin Smith
9201f63914
Added AngleSystem and refactored com.riiablo.entity.Direction as com.riiablo.engine.Direction
...
New direction class assumes angles are given using isometric coordinates (no longer uses pixel-aligned cartesian coordinates)
2019-11-09 14:53:26 -08:00
Collin Smith
8b2f671834
Added assertion that RenderSystem source entity has a position component
2019-11-08 16:03:56 -08:00
Collin Smith
f6b806bd59
Removed path debug fields (debugging now within PathDebugSystem)
2019-11-08 00:56:05 -08:00
Collin Smith
88a02f2306
Refactored Animation#setLooping and Animation#setClamp with Animation#setMode
2019-11-07 14:20:28 -08:00
Collin Smith
56e18a0b41
Refactored Animation#reset(COF) with Animation#setCOF(COF)
2019-11-07 14:06:07 -08:00
Collin Smith
ba03f5c269
Defined a custom BBox for waypoint pads to be more squared with tiles and slightly larger
2019-11-07 13:58:15 -08:00
Collin Smith
8c18e072dd
Moved boxComponent assignment from AnimationLoaderSystem to Engine entitity creation
2019-11-07 13:57:20 -08:00
Collin Smith
9c414c1065
Resetting AnimationComponent will reset underlying Animation
2019-11-07 13:44:08 -08:00
Collin Smith
581a1b4715
Replaced Animation with improved version
...
Added support for pooling Animation, Animation.Builder, Animation.Layer
Animation will now use only its managed BBox -- no more returning BBox of layers
Redefined animation states into Mode enum -- they were discrete
Replaced act methods with update
Animation builder now copies layers instead of setting the animation object layers reference to builder layers reference
2019-11-07 13:41:38 -08:00
Collin Smith
5361d80864
Closes #34
2019-11-06 13:13:04 -08:00
Collin Smith
223efec103
Exposed render bounds
2019-11-06 00:37:29 -08:00
Collin Smith
f3f91d5a85
Fixes issue where non-default zoomed client would display labels in incorrect location
2019-11-06 00:35:40 -08:00
Collin Smith
19ab19d4e0
Added support for invisible object entities
...
Objects tagged with no draw will no longer have CofComponent and AnimationComponent added and will have the INVISIBLE flag set
2019-11-05 15:42:44 -08:00
Collin Smith
0321d769bf
Refactored TextureRegion frames into DC
...
Refactored TextureRegion frames into DC
Implementation will be improved later
2019-11-05 13:47:33 -08:00
Collin Smith
df4a4d144e
Duplicated DC6 TextureRegion workaround into DCC
2019-11-05 13:05:56 -08:00
Collin Smith
1f9ca594ba
Added support for ds1 object paths
...
Added support for ds1 object paths
Added first debug system PathDebugSystem -- more features will be moved from RenderSystem
Added radius field to RenderSystem to track radius of overscan (used to clamp rendering of entities to fov)
2019-11-04 14:51:59 -08:00
Collin Smith
909e74c166
Adjustment to e9f7dc758e
for #43 to provide upper bound on width increase
...
font16 W was rendering an additional line of pixels from adjacent character -- this should prevent the character size increase if it extends into adjacent pixels
2019-11-04 03:03:24 -08:00
Collin Smith
6b41cee758
Improved support for debugging entities in RenderSystem
...
Improved support for debugging entities in RenderSystem
Moved Warp label down to center of bbox
2019-11-04 02:45:06 -08:00
Collin Smith
b8abe4f6f5
Added support for entity labels
2019-11-04 02:19:13 -08:00
Collin Smith
424ec57eb1
Refactored select code to SelectedSystem
2019-11-03 23:56:27 -08:00
Collin Smith
ff9350d0f9
Added support for object orderflag for RenderSystem
2019-11-03 20:44:01 -08:00
Collin Smith
9b46940b3a
Added support for highlighting animations when selected
2019-11-03 01:36:58 -07:00
Collin Smith
6fb76615ba
Added support for warp substs
2019-11-03 01:20:20 -07:00
Collin Smith
ad0aa06a5d
Refactored MapComponent into MapComponent and DS1Component to separate DS1 object references
2019-11-02 14:13:41 -07:00
Collin Smith
4d177f1b96
Amending last commit -- added WarpComponent
2019-11-02 14:12:46 -07:00
Collin Smith
27121b2076
Added partial support for level warp entities
2019-11-02 14:04:16 -07:00
Collin Smith
a7d120e8a8
Set IdSystem as a non processing system (should only need to run on add and remove, not every frame)
2019-11-02 14:03:15 -07:00
Collin Smith
58df4878a2
Integrated PositionComponent assignment into entity creation
2019-11-02 14:01:30 -07:00
Collin Smith
50fa387a16
Added method to create an entity with a specified classname
2019-11-02 13:41:35 -07:00
Collin Smith
45059dfb32
Added debug rendering for selectable bounds
2019-11-02 13:30:24 -07:00
Collin Smith
fe39cda390
Refactor renamed BoxComponent to BBoxComponent
2019-11-02 13:11:50 -07:00
Collin Smith
59e5edaca4
Added support for selectable entities
...
Added support for selectable entities (BoxComponent)
Added entity Flags class
Displays active flags for entities in debug mode
ObjectSystem changed to IteratingSystem setting SELECTABLE flag per mode
Added SelectableSystem to set SELECTABLE using primary Gdx.input pointer
2019-11-02 03:32:22 -07:00
Collin Smith
2aa689a598
Added debug rendering of entity state
2019-11-01 16:55:50 -07:00
Collin Smith
3af22bd04e
Added MapComponent to entity
2019-11-01 14:55:37 -07:00
Collin Smith
9c898976bc
Refactored ds1 references from ObjectComponent and MonsterComponent to MapComponent
2019-11-01 14:49:09 -07:00
Collin Smith
b7778c4398
Added MonsterComponent and support for dynamic entities
2019-11-01 14:46:20 -07:00
Collin Smith
6be326e362
Removed debug messages
2019-11-01 14:18:41 -07:00
Collin Smith
02347dc66a
Backported separate draw call to roofs (will render on top of wall/ent layer)
2019-11-01 14:02:44 -07:00
Collin Smith
88d829a82f
Added support for poppads
...
Added support for poppads
Moved drawRoofs to separate draw method (named drawForeground)
Renamed previous drawForeground method to drawMiddleground
2019-10-31 16:51:59 -07:00
Collin Smith
6ea1b919d9
Disabled debug on AnimationLoaderSystem
2019-10-31 16:04:00 -07:00
Collin Smith
090389a80c
Implemented ecs render system
...
Added RenderSystem which is essentially MapRenderer using IsometricCamera and ecs entities
Added builder method for IsometricCamera to perform aggregate operations
Improved Animation getKeyFrameIndex to return a valid result for an uninit animation
Added various components
Added support for Animation#updateBox in AnimationLoaderSystem
Added AnimationSystem to update animation frames
Added ObjectSystem to initialize Object entities
Created Engine subclass which will be used to create Riiablo-specific entities with preconfig components
Hacked Riiablo.engine2 which will eventually replace Riiablo.engine when completed
2019-10-31 02:12:08 -07:00
Collin Smith
0a9b4c5b8e
Minor bugfixes
...
Removed redundant method call from drawDebugSpecial
Fixed issue where resizing MapRenderer was not forcing update
2019-10-27 23:30:02 -07:00
Collin Smith
0c4c4a5fb1
Fixed issue with camera toScreen coordinates applying pixel offset at incorrect time
...
Fixed issue with camera toScreen coordinates applying pixel offset at incorrect time
Added debug render of iso boundary rect
2019-10-24 00:32:43 -07:00
Collin Smith
43c9f14799
Temp fix to hide labels under certain circumstances on mobile before that gets flushed out
2019-10-22 22:35:34 -07:00
Collin Smith
019257511d
Changes resulting from #62
2019-10-22 22:27:04 -07:00
Collin Smith
c2883766f6
Added support for previewing DT1 tiles
2019-10-22 21:53:51 -07:00
Collin Smith
104042471f
Fixed issue on android where audio doesn't play on the same frame it's loaded
...
Fixed issue on android where audio doesn't play on the same frame it's loaded
SFX audio that doesn't play will remain deferred until subsequent frame
Small optimization with audio instance creation
2019-10-20 22:53:54 -07:00
Collin Smith
4e374c946d
Set conditional for debug rendering to improve performance on mobile
2019-10-20 17:15:35 -07:00
Collin Smith
7b70ff819b
Removed possible vector for errors by calling reset in constructor to set initial values
...
Removed possible vector for errors by calling reset in constructor to set initial values
I do not expect issues here, but this component is complex enough to warrant it
2019-10-20 17:02:02 -07:00
Collin Smith
a596c88a1f
Added transform field
...
Added transform field
Changed component implementation to use cloning/copying of a default array
2019-10-20 16:57:11 -07:00
Collin Smith
c394ed178e
Added annotation type DependsOn to try and document system dependencies
2019-10-20 16:48:02 -07:00
Collin Smith
69b607324e
Implemented system priorities and created SystemPriority to store them
2019-10-20 16:41:53 -07:00
Collin Smith
c09160230f
Changed byte fields to int fields
...
Changed byte fields to int fields -- space/performance change negligible and improves readability
2019-10-20 15:24:16 -07:00
Collin Smith
1a8738fc93
Added support for async audio loading and playing on subsequent frames
2019-10-20 01:36:34 -07:00
Collin Smith
d6105d9f9a
Improved isometric camera API
...
Documented isometric camera API
Implemented pix and tile offsets instead of just offset
Made pix and tile offsets private -- pix offset set via offset and tile offset set automatically
toTile50 may be deprecated in the future if I cannot find a use for it (tile offset may have superseded it)
2019-10-19 15:04:41 -07:00
Collin Smith
1d6365dcbe
Implemented asset streaming to remove much of the hitching
...
Implemented asset streaming to remove much of the hitching
Added millis to asset manager update function to load as much as possible
2019-10-19 02:04:11 -07:00
Collin Smith
dfbf132063
Fixed translation issue for mouse movement caused by not applying offset
2019-10-17 16:52:43 -07:00
Collin Smith
04ebeb1a61
Added wrld field to track cursor tile position
...
Added wrld field to track cursor tile position
Added 0.5f offset to world tile position to account for camera offset
2019-10-17 16:23:24 -07:00
Collin Smith
7ca9e73941
Added private default constructor to enforce non-instantiation
2019-10-17 16:17:18 -07:00
Collin Smith
d2eb8bca07
Fixed variable name
2019-10-17 02:02:25 -07:00
Collin Smith
cb1b53d390
Started rewriting engine using ECS
...
Added COF/animation related components and systems for streaming assets
Added additional factory method to Animation for empty constructor
2019-10-17 02:01:09 -07:00
Collin Smith
ef0b641fae
Added some controls to disable debug rendering
2019-10-06 05:54:13 -07:00
Collin Smith
d2b48b8119
Implemented slightly improved parser for TXTs (see #26 )
2019-09-29 03:47:15 -07:00
Collin Smith
0416c93abf
Updated ClassUtils and fixed some minor warnings with Excel
2019-09-28 03:45:38 -07:00
Collin Smith
761c6f8447
Implemented support for binary excel loading (see #26 )
2019-09-28 03:35:07 -07:00
Collin Smith
3fe5d9bc58
Fixed issue with Components column within MonStats2
2019-09-25 01:46:21 -07:00
Collin Smith
814925d76c
Added annotation field to allow bin generator to ignore certain columns
2019-09-23 17:42:40 -07:00
Collin Smith
d9b701901d
Added var to force using txt instead of bin for benchmarking later on
2019-09-23 17:20:16 -07:00
Collin Smith
ec4b8e5d2e
Removed unused method
2019-09-23 04:05:33 -07:00
Collin Smith
6bb974e711
Added support for binary excel loading (see #26 )
...
Refactored Excel parse factory methods to load methods
Added tentative serialization code to MonStats
2019-09-23 03:51:55 -07:00
Collin Smith
d7f2a42e9c
Removed AssetManager reference usage (no plans on using)
...
Removed AssetManager reference usage (no plans on using)
Leaving original constructor intact for now (added TODO to remove later on)
Added default constructor which creates Files with null AssetManager
2019-09-23 03:23:15 -07:00
Collin Smith
7e3a17cd33
Added debug logging for time it takes to load excel tables
2019-09-23 03:08:06 -07:00
Collin Smith
807d67292f
Corrected some columns (El2Mode, El2Type, El3Mode, El3Type)
2019-09-19 01:24:25 -07:00
Collin Smith
7495aff11d
Added support for multiple client connections to BNLS
...
Added support for multiple client connections to BNLS
Added support for ConnectionClosed packet to politely close connection
2019-09-12 02:23:53 -07:00
Collin Smith
3b24c3a58b
Created BNLS (login service) skeleton
2019-08-27 22:37:16 -07:00
Collin Smith
cc2ea8ba00
Removed eclipse stuff from gradle (was giving warnings and completely unused)
2019-06-24 03:25:43 -07:00
Collin Smith
b8660a5458
Removed cache field
2019-05-28 01:33:42 -07:00
Collin Smith
f7bdf363dc
Simplified implementation
2019-05-10 02:00:32 -07:00
Collin Smith
2ae55d9eb8
Changed translation amount
...
Changed translation amount
Added support for toTile50 for position coords because of centering
Display iso position and tile position
Changed access of offset and position
2019-05-10 00:20:58 -07:00
Collin Smith
a7682d8743
Added support for isometric offsets
2019-05-09 23:46:44 -07:00
Collin Smith
eaf97baf6e
Added translation support
...
Added translation support
Changed IsometricCamera to use tile coordinates for position coords
2019-05-09 16:00:07 -07:00
Collin Smith
7b4b58ee2d
Algebraic simplifications
2019-05-08 23:43:14 -07:00
Collin Smith
a5ff6233c9
Removed unneeded qualification
2019-05-08 23:37:38 -07:00
Collin Smith
fe1e15d1fc
Committing new camera classes
2019-05-08 23:34:44 -07:00
Collin Smith
06b91341bf
int pixel coords to float
2019-05-07 02:52:23 -07:00
Collin Smith
c10af745b9
Small optimization for mobile to limit updates to entities about 1-2 screen away
2019-05-04 03:20:22 -07:00
Collin Smith
60ecc72fca
Fixed quillrat missile
...
Fixed quillrat missile initial direction
Exposed Entity.screen vector
Integrated EngineUtils into Missile updates
2019-05-04 02:07:28 -07:00
Collin Smith
b9b74768ee
Added entity debug size support to monsters
2019-05-03 18:11:00 -07:00
Collin Smith
274e756cce
Bugfix for NPE thrown by layers -- creating issue #51
2019-05-03 17:54:24 -07:00
Collin Smith
e672466200
Added support for draw debug entity sizes
...
Added support for draw debug entity sizes
Fixed bug with debug shape type in draw walkable tiles
Assigned Player entities to size 2
2019-05-03 17:50:10 -07:00
Collin Smith
1b7b7ed350
Added drawDiamond functionality to DebugUtils
...
Added drawDiamond functionality to DebugUtils
Propagated change to classes
Added drawDiamond2 variation to interpret x,y as bottom left corner
2019-05-03 17:37:32 -07:00
Collin Smith
00c7a6c31a
Fixed issue where engine entities weren't cleared after exiting GameScreen
2019-05-02 22:02:55 -07:00
Collin Smith
801df645a3
Added check for param equality (will result in invalid value if same reference for both params)
2019-05-02 21:25:20 -07:00
Collin Smith
058d7e9944
Integrated EngineUtils into MapRenderer
2019-05-02 21:23:38 -07:00
Collin Smith
f2941cc9ca
Deprecated DirectionUtils and removed it from repo
...
Deprecated DirectionUtils and removed it from repo
Propagated changes back into DirectionTool
Fixed bug regarding direction4 math
2019-05-02 20:59:38 -07:00
Collin Smith
b15f76b2bf
Formatting fix
2019-05-02 20:41:26 -07:00
Collin Smith
4947d8a8a9
Replaced pixel location calculations with single reference calculated during act(float)
2019-05-02 19:05:29 -07:00
Collin Smith
69da1eef24
Inlined array declarations with pre-generated values
2019-05-02 05:38:15 -07:00
Collin Smith
4c2b8f8d1c
Replaced initial branch statement with code similar to existing branchless code
2019-05-02 05:06:05 -07:00
Collin Smith
2a0ed7d40a
Created direction tools to provide interactive testing tool for new directions
2019-05-02 02:51:35 -07:00
Collin Smith
86317ebf66
Added COF animations support
...
Added COF animations support
Added accessor for Animation.Layer DC
2019-04-29 05:02:27 -07:00
Collin Smith
95944f7bcd
Fix for bytime encoding bit counts (see #20 )
2019-04-28 00:53:09 -07:00
Collin Smith
413b2a0e02
Removed Poolable dependency to be added again in the future if necessary
2019-04-27 00:50:32 -07:00
Collin Smith
acdf053a76
Fixes stat mismatch between current and max -- will likely require more modifications to apply all current mods to max stat
2019-04-24 22:18:38 -07:00
Collin Smith
a019755a96
Integrated Stat label
...
Integrated Stat label
Improved resistances colorizer (requires additional refinement)
2019-04-24 22:07:55 -07:00
Collin Smith
6e3ba33a9d
Improved stat label font layout
...
Improved stat label font layout
Stat label style updates properly
Added more accurate metrics to font8
Fixed position and size of armorclass stat label
2019-04-24 15:49:09 -07:00
Collin Smith
7c144a329c
Fixes armorclass showing as modified when original game does not in this case
2019-04-24 15:37:35 -07:00
Collin Smith
e3c07e0934
Clearing property list will now free all stat objects
2019-04-24 02:25:15 -07:00
Collin Smith
069add223d
Testing live-update player stats
2019-04-22 02:38:14 -07:00
Collin Smith
9a6e17496e
Refactored attributes modified list with stat-internal modified field
2019-04-21 03:52:36 -07:00
Collin Smith
87c372bad5
Changed API to start using Poolable stats
...
Changed API to start using Poolable stats
Moved modified attribute to Stat
2019-04-21 03:41:23 -07:00
Collin Smith
b8449d6f42
Improved charged skill icons
2019-04-19 15:47:20 -07:00
Collin Smith
961acb0df1
Added support for charged skill -- further testing required
2019-04-18 22:01:48 -07:00
Collin Smith
d45bad230e
Added support for charges label
...
Added support for charges label
Adjusted component placement
Refactored label to hotkey
2019-04-18 16:25:45 -07:00
Collin Smith
f3098b6d5e
Adds charged skill to skills (non-charged for now)
2019-04-18 13:57:35 -07:00
Collin Smith
9901d3b1d2
Added support for throw skill and scroll/book skills (see #49 )
2019-04-18 13:43:47 -07:00
Collin Smith
eca930a911
Removed top/bottom quick panel rows
...
Removed top/bottom quick panel rows
Added default skills
2019-04-18 03:10:04 -07:00
Collin Smith
69b4993207
Temp fix for missile trajectory
2019-04-17 03:37:53 -07:00
Collin Smith
ddb869308f
Added Missile entity
2019-04-17 01:00:10 -07:00
Collin Smith
93b9acc944
Added Missiles excel
2019-04-16 01:42:09 -07:00
Collin Smith
4bac597e40
Temp fix to hide health and mana globe labels on android until appropriate positioning determined
2019-04-15 18:53:53 -07:00
Collin Smith
1ad3349bb3
Should fix issue where wide screen ratios would display item in wrong location
2019-04-15 18:49:58 -07:00
Collin Smith
60816c9e6d
Added QuillRat AI
...
Added QuillRat AI
Propagated MonSound to AI class
2019-04-15 18:03:36 -07:00
Collin Smith
9267f03d61
Refactored Preconditions to Validate (guava to apache commons)
2019-04-15 01:12:19 -07:00
Collin Smith
33e53d0ef1
Propagated sleep and params up to AI class
2019-04-14 23:38:49 -07:00
Collin Smith
230816cfe2
Small change to improve readability
2019-04-13 04:35:56 -07:00
Collin Smith
1590adce0f
Fixes issue with draw fps text
2019-04-13 04:25:54 -07:00
Collin Smith
6576fa4242
Added labels to health/mana globes
2019-04-13 03:29:31 -07:00
Collin Smith
dace9e31e9
Organized packets better (going to add d2gs, mcp and perhaps bnls)
2019-04-12 15:33:02 -07:00
Collin Smith
172f7180da
Fixed panel alignment when repacking
2019-04-12 15:11:54 -07:00
Collin Smith
2a6ab418ed
Improved stat and skill update support
2019-04-12 02:14:47 -07:00
Collin Smith
652b748553
Added support for dynamic spell quickpanel
2019-04-12 01:56:50 -07:00
Collin Smith
7f76f4c680
Removed redundant null checks for AI
2019-04-12 01:43:29 -07:00
Collin Smith
022aea2013
Added some debug messaging for entity AI state
2019-04-11 16:07:18 -07:00
Collin Smith
a5db1b4e48
Added some additional packet types
2019-04-11 15:51:25 -07:00
Collin Smith
140e6bfad8
Changed flatbuffers to use union of message types
2019-04-11 15:46:04 -07:00
Collin Smith
95cc1837de
Duplicated Zombie code and made it more responsive for Fallen base
2019-04-11 02:04:28 -07:00
Collin Smith
7386548047
Refactored name to Connection
2019-04-11 01:27:35 -07:00
Collin Smith
f361d48777
Added flatbuffers dependency
...
Added flatbuffers dependency
Created test connection.fbs
2019-04-10 05:08:54 -07:00
Collin Smith
ab9d9fd481
Changed logic slightly and made attack a sequence to return to NU state
2019-04-10 03:43:07 -07:00
Collin Smith
4eac702c33
Added attack state for zombie
...
Added attack state for zombie
Added sound to zombie attack
Changed randoms to float from int
2019-04-10 02:15:45 -07:00
Collin Smith
45137d9fa4
Dulled inv colors a bit and tried to make them more accurate
...
Dulled inv colors a bit and tried to make them more accurate
Created darkRed for MonsterLabel label background
2019-04-10 00:19:59 -07:00
Collin Smith
792c0e3d7c
Fixes crash equipping ethereal shield to character without a shield
2019-04-10 00:17:55 -07:00
Collin Smith
a479764a47
Added monster description label for hostile monsters
2019-04-09 23:56:32 -07:00
Collin Smith
761b5d1e3f
Improved AI independent sleep timer
...
Improved AI independent sleep timer
Fixed idle state not setting zombie to neutral mode
2019-04-09 21:54:52 -07:00
Collin Smith
941503fd22
Changed implementation method to use a state machine
2019-04-09 17:29:09 -07:00
Collin Smith
5c35c79581
Added approach AI to Zombie
2019-04-09 03:16:23 -07:00
Collin Smith
9710712b00
Added Engine class
...
Added Engine class to manage entity ids
Temporary until ECS is explored more
2019-04-09 03:08:00 -07:00
Collin Smith
23443dfb52
Implemented group spawning
...
Implemented group spawning
Replaced NPC AI code with reflection (lookup table coming later)
Added basic wandering AI and duplicated for Fallen and QuillRat
2019-04-08 17:52:52 -07:00
Collin Smith
df71bac470
Fixes crash for Monster entities without a backing ds1 object
2019-04-08 14:35:40 -07:00
Collin Smith
1d0833ed9c
Added basic monster generation
2019-04-08 00:53:03 -07:00
Collin Smith
dd9132d6df
Created Zombie AI placeholder
2019-04-07 03:31:40 -07:00
Collin Smith
81bf62c316
Added hotkey labels for belt buttons
2019-04-07 00:10:39 -07:00
Collin Smith
e9f7dc758e
Fixes #43
2019-04-06 23:46:29 -07:00
Collin Smith
63cd0a35f6
Improved CharacterPanel stat display
2019-04-06 23:15:12 -07:00
Collin Smith
2923f3d498
Added detection for item_nonclassskill
2019-04-06 20:45:16 -07:00
Collin Smith
7305ce40a6
Refactored Stat.stat to Stat.id
2019-04-06 20:32:52 -07:00
Collin Smith
d29e22ece5
Limited set bonus to only display for equipped items
2019-04-06 20:30:08 -07:00
Collin Smith
d210ae84dc
Added support for adding dex modifier to armorclass
...
Added support for adding dex modifier to armorclass
Added Stat.add(int) method which only works with encodings 0,1,2
2019-04-06 15:38:14 -07:00
Collin Smith
878786a49f
Added armorclass calculation support for player attributes
2019-04-06 15:29:30 -07:00
Collin Smith
7cb45f389d
Fixed vitality and energy calculations
...
Fixed vitality and energy calculations
Small optimization to Attributes.update to reduce copying
Added updateStats function which will be used to operate on some stats, like skills
2019-04-06 15:18:00 -07:00
Collin Smith
e5fa9025fa
Previous commit should have removed need for scratch, since the ops are no longer multiplicative
2019-04-06 14:49:08 -07:00
Collin Smith
512b6eb55a
Fixed issue where opstats were applying to aggregate instead of base value
2019-04-06 04:44:54 -07:00
Collin Smith
377ddb1cc6
Fixed item property list application (See #36 )
...
Fixed item property list application
Removed coupling between individual lists
Included set items to item property list applications
Created scratch property list within Attributes to assist with pre-aggregation
2019-04-06 04:37:02 -07:00
Collin Smith
0d66edcd9c
Small formatting change
2019-04-06 04:03:59 -07:00
Collin Smith
5d0ee82cd3
Small fix for some of my custom items
...
I don't anticipate this being necessary for any game generated items
However the original client can display them, so why not mine
2019-04-06 04:03:33 -07:00
Collin Smith
561b8a8022
Fixed set property lists to be cumulative
2019-04-06 03:58:28 -07:00
Collin Smith
a7511cb741
Added support for charms
2019-04-06 03:29:37 -07:00
Collin Smith
62ef62c497
Removed Stat.Instance in favor of Stat (previously Stat was an enum, so Stat.Instance was necessary)
2019-04-06 02:41:41 -07:00
Collin Smith
47c63dce58
Added basic item-player stat aggregation (See #36 )
2019-04-06 00:59:12 -07:00
Collin Smith
7b7146dcdf
Redesigned Attributes (See #36 )
2019-04-05 23:10:38 -07:00
Collin Smith
cdf196bcec
Changed items to be assigned an empty sockets array by default
2019-04-05 03:07:10 -07:00
Collin Smith
fa956b47d1
Removed grouping of SET and UNIQUE cases
2019-04-05 02:46:24 -07:00
Collin Smith
699e905ba2
Refactored socketed to sockets
2019-04-05 02:44:52 -07:00
Collin Smith
39f0ada5a7
Moved attributes to update method within Item
...
Moved attributes to update method within Item
Modified attributes to be an accessor within Attributes
2019-04-05 00:56:48 -07:00
Collin Smith
87dd1f873b
Fixed chance to block to include default character class block chance
2019-04-04 23:51:00 -07:00
Collin Smith
f0c06afed9
Added life, stamina, mana and defense to character panel
2019-04-04 22:06:11 -07:00
Collin Smith
c7576e4f99
Added error detection for multiple cursor items
2019-04-04 19:14:31 -07:00
Collin Smith
b1109882a6
Fixes #39
...
Fixes #39
Added Excel.EXPANSION declaration to weapons, armor and misc excels
2019-04-04 17:58:43 -07:00
Collin Smith
93e584df57
Added ValShift to starting hp,mana,stamina fields
2019-04-04 17:04:39 -07:00
Collin Smith
598f424f3a
Temp fix for #37
2019-04-04 16:59:58 -07:00
Collin Smith
fe9cdd0fd8
Added remaining columns to CharStats excel
2019-04-04 16:17:49 -07:00
Collin Smith
3c40777ac8
Added DifficultyLevels excel
...
Added DifficultyLevels excel
Removed Files.loadObj -- was deprecated and Files.loadInternal works fine
2019-04-04 16:10:03 -07:00
Collin Smith
86ae7560f7
Fixed attrs to show correct, modded values
...
Fixed attrs to show correct, modded values
Fixed weapon damage description for 1h, 2h and both (if barb)
2019-04-03 06:22:27 -07:00
Collin Smith
57a554549c
Added Stat.op function to format stat values correctly (See #38 )
...
Added Stat.op function to format stat values correctly
Minor fixed to prevent a NPE if loading character with no hireling (See #40 )
Added TODO for default resistances
2019-04-03 03:34:49 -07:00
Collin Smith
d5fcec07f8
Refactored D2S stat names to their correct names within ItemStatCost.txt
2019-04-03 01:51:23 -07:00
Collin Smith
5a5819329a
Closes #35
2019-04-03 01:44:09 -07:00
Collin Smith
bdfbb5c922
Added set items tracking
2019-04-02 15:53:05 -07:00
Collin Smith
93f578373f
Created Attributes class (see #36 )
2019-04-02 15:32:28 -07:00
Collin Smith
d4858781c9
Created CharData (See #35 )
2019-04-01 22:44:08 -07:00
Collin Smith
8b590d109c
Removed item groups from D2S
2019-04-01 20:49:48 -07:00
Collin Smith
d05a3c6f3e
Added horadric cube
...
Added horadric cube
Added support for usable item spells
2019-04-01 17:44:06 -07:00
Collin Smith
18c12515a3
Added gold transfer button
2019-04-01 17:26:40 -07:00
Collin Smith
b4b679ec66
Disabled control panel grouping cvar on mobile
2019-04-01 17:09:26 -07:00
Collin Smith
c7be4a6b8b
Fixed bug where required code was run in an assertion and not running on android
2019-04-01 05:46:09 -07:00
Collin Smith
3c71976972
Fixed issue where blocked audio que played when no item was held
2019-04-01 03:37:27 -07:00
Collin Smith
33504d74d6
Removed incorrect assertion
2019-04-01 03:34:53 -07:00
Collin Smith
df40ff5acd
BeltGrid will no longer allow non poti item types
...
BeltGrid will no longer allow non poti item types
Added support for ItemGrid to reject an item type
2019-04-01 02:57:49 -07:00
Collin Smith
8010dd9c4e
Added hideable belt to control panel
...
Added hideable belt to control panel
Populated belt with d2s potions
2019-04-01 02:40:01 -07:00