Commit Graph

515 Commits

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