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