Commit Graph

701 Commits

Author SHA1 Message Date
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