Commit Graph

365 Commits

Author SHA1 Message Date
Collin Smith
7f6befd4d0 Added references to Gems and Properties excels 2019-03-28 01:45:02 -07:00
Collin Smith
b1cd95e481 Added support for gem/rune descriptions (see #24)
Added support for gen/rune descriptions (unsocketed only)
Rune names display as Riiablo.colors.orange
Expanded PropertyList API to support some package methods
Added Stat.Instance constructor including param field
Inherent item details are printed for all items now when present
Added Stat.Instance.format() and preparing to remove Stat.Instance.format(boolean)
Added description specific to socketables ("Can be Inserted into Socketed Items")
2019-03-28 01:28:20 -07:00
Collin Smith
71a00195ea Second iteration improvement for #24
Added support for stat aggregation
Added support for stat value adding
Organized property lists more appropriately with well-defined indexes
Disabled set item stats until support is added for only using the appropriate property list
2019-03-27 20:48:05 -07:00
Collin Smith
0d1fe7905c See https://github.com/collinsmith/diablo/issues/25#issue-426280304
Hack to disable first strModEnhancedDamage key in patchstring.tbl
2019-03-27 20:30:46 -07:00
Collin Smith
25ab0a7d4c Whoops, changed it to 0 on accident, should be 1 since this is parameterized now (see #19) 2019-03-27 19:43:46 -07:00
Collin Smith
2d132fd774 See https://github.com/collinsmith/diablo/issues/19#issuecomment-477423382 2019-03-27 19:42:24 -07:00
Collin Smith
2a362cf64a First iteration improvement for #24 2019-03-26 15:29:21 -07:00
Collin Smith
0ae8cddf60 Relaxed requirements on method added documentation for purpose 2019-03-25 22:42:40 -07:00
Collin Smith
96eff08efd Optimization to pixmap wrapper to upload pixels faster 2019-03-24 01:06:33 -07:00
Collin Smith
076adfe9b4 Committing toFloat method and minor cleanup 2019-03-23 04:44:40 -07:00
Collin Smith
376c574dd8 Added class only string to item label 2019-03-23 04:01:37 -07:00
Collin Smith
43e6eae12a Improved item drop labels
Improved item drop labels
Created Item Details header table
Changed Entity label to be an Actor
Changed ItemHolder label to the item details header
Added copy constructor to Label
2019-03-23 03:26:15 -07:00
Collin Smith
174c1cbb53 Added per-component alpha support
Added per-component alpha support
Added support for drawing equipped ethereal items as partly transparent
Cleaned up Animation.Layer API a bit
2019-03-23 02:35:29 -07:00
Collin Smith
747b877980 Added additional fields to item excel files 2019-03-23 02:19:46 -07:00
Collin Smith
d78d36f840 Added support for some item properties 2019-03-23 02:18:58 -07:00
Collin Smith
685c999425 Fixed class skill levels format string 2019-03-23 01:35:32 -07:00
Collin Smith
0393745c88 Added charm descriptor 2019-03-22 23:38:39 -07:00
Collin Smith
73ad05635a Added quantity stat and book stat
Added quantity stat and book stat
Moved wand to staff category
2019-03-22 23:36:01 -07:00
Collin Smith
e643ad5cae Rewrote stat format strings
Rewrote stat format strings (should be correct)
Rewrote item details builder
Changed stat impl to use a map for item inherent stats
Added inherent stats header
Added ethereal/socket footer
Added potion right click description
Added placeholders for many item inherent stats
2019-03-22 23:27:39 -07:00
Collin Smith
5af8068452 Updated ENCODED_COUNT to be more accurate (see #19) 2019-03-22 18:03:44 -07:00
Collin Smith
c547c36286 Tapping button to close quick spells panel will not longer cast spell 2019-03-22 15:25:59 -07:00
Collin Smith
d388d23acd Improved in-game input auto-focus and keyboard handling 2019-03-22 15:23:18 -07:00
Collin Smith
b3ef6de98b Added runes row to item details for socketed runes 2019-03-22 03:41:46 -07:00
Collin Smith
2567b4cf4f Improved set items impl (see #21) 2019-03-22 03:11:47 -07:00
Collin Smith
cdfc592a7d Added support for set item set list 2019-03-22 02:17:40 -07:00
Collin Smith
703571c989 Added item stat grouping (needs optimization) 2019-03-22 02:03:01 -07:00
Collin Smith
852dc8c889 Added support for descfunc 15 and 16 2019-03-22 01:19:12 -07:00
Collin Smith
29677d6269 Added item stat name format support for most stats
Added item stat name format support for most stats
Added CharStats excel
Added CharStats.Entry retrieval from CharacterClass
Fixed bug when retrieving class id from skill without a class
Added classId and CharacterClass lookups from Skills excel
2019-03-22 00:16:16 -07:00
Collin Smith
e239372540 Added item stat encoding support
Added item stat encoding support
Changed item stats to use array (items can have multiple copies of same stats, e.g., add 2 different skills)
Adjusted some item encoding count values (see issue #19)
2019-03-21 22:48:20 -07:00
Collin Smith
a649639e3a Minor fixes
ControlPanel left/right skills will change to aura color if aura
Moved yoffset down a bit for weapon alternates
2019-03-21 15:57:47 -07:00
Collin Smith
0aa620d79b Added item stat list to item details 2019-03-21 15:48:05 -07:00
Collin Smith
0429e456d8 Implemented item attr lists 2019-03-21 15:36:43 -07:00
Collin Smith
c31f4a969c Added support for extended item data (no magical data yet) 2019-03-21 05:21:11 -07:00
Collin Smith
46a0d81b23 Moved details init to Item.load() 2019-03-21 04:07:10 -07:00
Collin Smith
18f4325dff Added player actions array (left/right skills)
Added player actions array (left/right skills)
Temporary fix for non-existing complex casting modes
2019-03-21 01:56:11 -07:00
Collin Smith
c284e1f7fa Added support for stand-still casting for left skill 2019-03-21 01:53:12 -07:00
Collin Smith
5863c1ce71 Fixes #9 2019-03-20 17:42:51 -07:00
Collin Smith
6da8268c4a NPCs will now go to neutral mode when interacted with 2019-03-20 01:16:01 -07:00
Collin Smith
c160d4d76b Added a couple extra spell buttons 2019-03-20 01:09:31 -07:00
Collin Smith
c0e8a87876 Increased button sizes on mobile 2019-03-20 01:06:19 -07:00
Collin Smith
4624f6c3d3 Implemented default skills set by save file 2019-03-20 00:52:55 -07:00
Collin Smith
72164128c8 Fixed touchpad order (now behind left panels) 2019-03-19 23:24:48 -07:00
Collin Smith
3cfb3f1047 Added weapon swap button to mobile panel 2019-03-19 21:09:53 -07:00
Collin Smith
d1a8719ae5 Added casting on mobile 2019-03-19 21:03:06 -07:00
Collin Smith
24fe7a9583 Implemented HotkeyButton skill ids
Implemented HotkeyButton skill ids
Changed GameScreen to cast active right hand skill on right click
2019-03-19 21:01:26 -07:00
Collin Smith
ef8f298f92 Tapping skill button when SpellsQuickPanel is visible will hide it 2019-03-19 20:40:19 -07:00
Collin Smith
6734c9a614 Implemented SpellsQuickPanel changes to MobileControls buttons 2019-03-19 20:34:44 -07:00
Collin Smith
8965238c22 Added SpellsQuickPanel popup to MobileControls 2019-03-19 20:20:20 -07:00
Collin Smith
82ea6acae0 Added support for spells from other char classes 2019-03-19 18:26:49 -07:00
Collin Smith
1608ae5b3d Fixed assignment bugs within GdxKeyMapper
Fixed assignment bugs within GdxKeyMapper
Added bind and unbind console command to (un)assign keys
Added key and key value suggesters
Fixed issue where controlpanel left/right skill buttons was not getting correct blendmode
2019-03-19 16:47:32 -07:00
Collin Smith
18e10a70dd Fixed bug where D2S was stopping reading items too early (a couple item headers contained the section footer) 2019-03-19 14:45:02 -07:00
Collin Smith
ad1aeab45e Changed darken color reference to use existing grey color 2019-03-19 13:38:45 -07:00
Collin Smith
85b7602e15 Added aura icon color
Added aura icon color
Added default button state BlendMode
Changed level entry image to use BlendMode.DARKEN
Added darkenGold color
Changed darken colors to be references of existing colors (looks correct)
Clicking a SpellsQuickPanel button will hide the panel
2019-03-19 13:36:52 -07:00
Collin Smith
c3fcfc4f05 Added SpellsQuickPanel
Added SpellsQuickPanel
Added HotkeyButton assigned to MappedKey
Added Skill1-16 Keys
Button now has a customizable disabled and highlight state
Hacked together a couple skills for testing purposes
Added animation overlay support (will expand in future)
Added Entity.cast(int)
ControlPanel left and right skill corresponds and changes based on active skill
Mapped key now allows primary key as NOT_MAPPED
Added Map from string to mode index
Added Animation clamp function to play animation until over or stop at last frame
Added additional fields to excel Skills
Added excel Overlay
2019-03-19 03:03:25 -07:00
Collin Smith
3acd1ab0c5 Added DARKEN blendMode 2019-03-19 02:56:42 -07:00
Collin Smith
e5bd6e55f0 Redesigned UI on mobile
Redesigned UI on mobile
Added skill icons on desktop/mobile
Added mobile controls panel
2019-03-18 21:45:36 -07:00
Collin Smith
621d42f87d Exposed COF keyframes 2019-03-18 15:19:41 -07:00
Collin Smith
db627b0076 Added player entity zone detection
Added player entity zone detection
Player neutral and walk animations will display the correct town version if in town
2019-03-18 14:12:33 -07:00
Collin Smith
aa84393b27 Added support for more calc functions
Added support for more calc functions
Added StringTBLs.format(String, Object...)
Cleaned up SkillDesc and Skills
2019-03-17 03:10:43 -07:00
Collin Smith
960d1878e6 Added skill dsc2 for sorc 2019-03-17 01:15:19 -07:00
Collin Smith
1dcb773983 Added player skill levels to SpellsPanel
Added player skill levels to SpellsPanel
Increased visibility of D2S.SkillData
Added Skills class to Player to retrieve skill levels (without modifiers)
2019-03-16 14:45:11 -07:00
Collin Smith
244fa720f8 Added skill level labels for skills 2019-03-16 00:41:19 -07:00
Collin Smith
2e77266cd0 Added spell details label
Added spell details label
Created static ref to font16 modal background
Added constructor to Label that takes in a Color too
2019-03-16 00:27:03 -07:00
Collin Smith
5e258077cb Added skill choices remaining counter 2019-03-15 23:57:18 -07:00
Collin Smith
3a2a18aaf0 Reduced collision height of health/mana widgets to the control widget height 2019-03-15 23:52:15 -07:00
Collin Smith
58a17c394d Added close buttons to skill panels
Added close buttons to skill panels
Removed text wrapping (pre-wrapped using the i18n)
Improved readability of label creation
2019-03-15 23:48:39 -07:00
Collin Smith
61c94795ee Added spell tree names and fixed label layouts 2019-03-15 22:24:14 -07:00
Collin Smith
45b67e6cb8 Added spells panel with buttons 2019-03-15 21:54:06 -07:00
Collin Smith
e7a0228de4 Changed default clear color to match the in-game logical black -- will require adjustments with contrast/brightness/gamma 2019-03-15 17:14:34 -07:00
Collin Smith
f37960aa42 Tentative fix for #16 2019-03-15 17:10:01 -07:00
Collin Smith
54b502bb83 Fixed warp i18n
Fixed warp i18n
Temp workaround for #15
2019-03-15 16:54:53 -07:00
Collin Smith
7404a5852d Added level entry label
Added level entry label
Added BlendMode.TINT_ID_RED since I can't subtract RGB components
Fixed EntryFile column in Levels.Entry
Added DCWrapper which wraps a DC in an Image and adds blending functionality
Exposed a Map's act
2019-03-15 16:24:19 -07:00
Collin Smith
598e9887b5 Fixed issue where invisible/out of bounds tiles were rendering 2019-03-15 03:50:48 -07:00
Collin Smith
f76534a051 Adjusted API slightly
Adjusted API slightly
Added support for auto path on exit warp
2019-03-15 03:09:07 -07:00
Collin Smith
f40646fb5a Added bi-directional warping between 1 and 8
Added bi-directional warping between 1 and 8 (see #12)
Warps are set through the build process, I don't know how viable this is for all warps
2019-03-15 02:38:58 -07:00
Collin Smith
e3366849fa Implemented warp interaction
Implemented warp interaction (hard-coded to specific offset)
Added Den of Evil (hard-coded layout)
Increased MapLoader min load to load all Act 1 DT1s (will relax a bit) and up to cave level type
2019-03-14 20:53:33 -07:00
Collin Smith
b7e745a0b8 Partial implementation of #12 2019-03-13 23:57:35 -07:00
Collin Smith
8721ed3a91 Added notes on warp special tiles
Fixed warp label positioning
Fixed bug with player acting when animation was null
2019-03-13 03:27:25 -07:00
Collin Smith
87de881d56 Added level warps
Added level warp detection and entity creation
Moved shadows to own layer in MapRenderer
2019-03-13 02:38:07 -07:00
Collin Smith
abde0c9fdc Added show ground labels for items (not selectable yet)
Added button to show all labels for items on the ground
Fixed issue where dropped items were overwriting existing entities -- going to replace with ashley soon
2019-03-12 01:48:48 -07:00
Collin Smith
053c975fe7 Implemented item pickup from ground 2019-03-11 23:53:25 -07:00
Collin Smith
20aa0e79e3 Added buffer to DS1 loading (buffer size 16K) 2019-03-11 21:09:33 -07:00
Collin Smith
94883beba5 Fixes #10 2019-03-11 20:48:37 -07:00
Collin Smith
395e0274b8 Cleaned up workaround for issue #9
Changed blockIndex back to final
Removed ability to mark blocks as deleted
Moved mpqs to MPQFileHandleResolver
Added public final references to individual mpqs
Forced gem.wav to resolve to d2sfx manually
These changes will have a lower impact when pkexplode eventually gets fixed
2019-03-11 20:00:58 -07:00
Collin Smith
8eb19c2063 Workaround for issue #9 2019-03-11 19:10:01 -07:00
Collin Smith
6b5ab8224e Fixed entities not un-setting selection on mobile
Fixed entities not un-setting selection on mobile
Fixed projection matrix not setting to the correct viewport
Changed auto zoom to apply if default viewport is 360p (for desktop debugging)
2019-03-11 04:00:31 -07:00
Collin Smith
70fc628fba Changed item drop sound to play in the panels and not cursor
Changed item drop sound to play in the panels and not cursor
This resolved an issue where dropping item on the ground was playing the inventory drop sound
2019-03-11 02:14:13 -07:00
Collin Smith
ad931e0e8e Added entity interaction for non-zone entities 2019-03-11 02:07:18 -07:00
Collin Smith
9d2b5e1494 Added transforms to dropped items so color matches 2019-03-11 01:54:21 -07:00
Collin Smith
2615bbcb86 play(String,boolean) will now select a random file from the group (if any) 2019-03-11 01:43:26 -07:00
Collin Smith
23d8c028e1 Added item usable string to item label 2019-03-10 16:34:46 -07:00
Collin Smith
b8c4633597 Quest items will now show up as unique color 2019-03-10 15:37:34 -07:00
Collin Smith
d85c3e99e7 Improved animation listener system
Improved animation listener system
Listeners now support passing desired frame (-1 for final frame)
Listeners are lazily initialized
2019-03-10 15:17:51 -07:00
Collin Smith
78d59793e9 Added BRIGHTEN blend mode
Added BRIGHTEN blend mode which adds some contrast and lightens image
BRIGHTEN more closely matches the in-game effect than TINT_ID
Playing around with new blend modes -- will experiment with actual HSL method as well
2019-03-10 05:05:28 -07:00
Collin Smith
22251f560a Improved entity over detection
Improved entity over detection
Added entity highlighting, however my technique is washing out the image too much
2019-03-10 03:35:25 -07:00
Collin Smith
0d56f2456e Added ability to drop items
Added ability to drop items (no support for pickup yet)
Added ITM entity type
Added debug and bounds checking for non-zone entities
2019-03-10 03:14:13 -07:00
Collin Smith
77c851a5ce Added support for invisible entities
Added support for invisible entities, e.g., placeholders for actual entities
Added some logging for unknown DS1 objects (when no backing id can be found)
2019-03-09 17:12:27 -08:00
Collin Smith
d818d97900 Removed virtual MPQ file support
Removed virtual MPQ file support -- was for previous version where I was making fake assets
Other minor changes
See #8 on some MPQ read issues I've noticed
2019-03-09 16:14:30 -08:00
Collin Smith
06804443fc Refactored naming to Riiablo
Copied over code and fixed some core design issues (much more to come)
Leaving in old code still for now in case some bugs were introduced
Re-designed most of the UI to be far more dynamic in its scaling
Added detection for the android soft keyboard and some UI elements will now actively display above it
Cleanup of old files (not including the old code-base)
Fixed item code 0x53 which was mislabeled
Rewrote Entity class to remove Vector3 dependency and add support for indexed fields
Console cvar completion no longer cares about character case
Added TINT_ID blend mode to add the current color to the image (will use later to highlight entities)
Added very basic controller support (namely splash and main menu)
Redesigned CharacterPreview to be a watered-down player entity instead of a completely separate code-base
Added AnimationWrapper and EntityWrapper classes to assist with adding game elements to Stage
Lots more undocumented changes
2019-03-09 00:16:44 -08:00
Collin Smith
fa15a81bf6 Minor changes 2019-03-05 21:22:26 -08:00
Collin Smith
c52d4aa4b6 Hacked together footstep sounds 2019-03-05 17:31:34 -08:00
Collin Smith
87e95ad1aa Added support for entity animation chaining 2019-03-05 14:57:25 -08:00
Collin Smith
5540c6436c Centered NPC dialog text as good as I can without rewriting TextArea 2019-03-05 13:36:56 -08:00
Collin Smith
e5418464fa Fixed issue with font glyph sizes
Fixed issue with font glyph sizes being slightly too short
I think this was a fix for when there was no padding between glyphs -- no adverse changes apparent yet
2019-03-05 13:14:45 -08:00
Collin Smith
64bf1723aa Documenting bug with coordinate projection 2019-03-05 13:09:42 -08:00
Collin Smith
cb977678ea Fixed issue with viewbuffer algorithm rendering more than we need to 2019-03-05 02:12:57 -08:00
Collin Smith
1d6fac1b52 Disabled mobile panel debugging 2019-03-05 02:00:35 -08:00
Collin Smith
f4f1924343 Added support for COF layer transforms
Added support for COF layer transforms (transparency, luminance blending, etc)
Added tint to Animation.Layer
Refactored Animation API a bit to make common use-case easier
Refactored colors order, added transparency colors
2019-03-05 01:55:39 -08:00
Collin Smith
6e341253c7 Fix for movement on mobile not exiting dialogs/menus 2019-03-04 23:54:33 -08:00
Collin Smith
f55ecf6b75 Added hacky entity interaction support on mobile
Added hacky entity interaction support on mobile
Repurposing automap button for interact button until suitable replacement found
2019-03-04 22:40:42 -08:00
Collin Smith
92c5c2e53f Adding notes on different audio channel support
Each audio channel should have it's own volume level and support on-the-fly changes
2019-03-04 22:05:31 -08:00
Collin Smith
9386ba4e8f Added support for stoppable audio streams
Changed audio system design to support audio instances backed by either a Sound or Music instance
Made NpcDialogBox the owner of the audio it's playing to ensure proper disposal
2019-03-04 21:58:38 -08:00
Collin Smith
2569fbb185 Lowered text start position a bit 2019-03-04 21:13:15 -08:00
Collin Smith
4f0e4f0ccb Replaced font references with a single reference 2019-03-04 21:11:53 -08:00
Collin Smith
b8ba0f17b8 Added flags for NPC menu items 2019-03-04 19:34:35 -08:00
Collin Smith
aba07a0dca Created speech.txt table to map sound id to string tbl key
Created speech.txt table to map sound id to string tbl key
Added more generic Files.loadInternal to load internal tables
2019-03-04 18:59:38 -08:00
Collin Smith
815f390f6c Added NPC dialog box support
Added NPC dialog box support
Added customized implementation of LibGDX scrollpane
Adjusted MapListener to cancel dialog and ignore input temporarily
Changed padding of BorderedPaletteIndexedDrawable
Adjusted BorderedPaletteIndexedDrawable background bounds to be slightly smaller than border bounds
Added fontformal11 to Diablo.font
2019-03-04 16:24:45 -08:00
Collin Smith
0a382d10b5 Added bordered drawable 2019-03-04 01:16:22 -08:00
Collin Smith
7adf37f091 Changed GL clear color to black (from blue) 2019-03-04 00:03:18 -08:00
Collin Smith
4f6966b900 Defined colors for item backgrounds 2019-03-03 23:57:28 -08:00
Collin Smith
32d1761e77 Updated to use newer TextField implementation 2019-03-03 21:19:54 -08:00
Collin Smith
5c76e939ab Implemented proper I18N lookup of names
Implemented proper I18N lookup of names using string TBL
Added StringTBLs.lookup(String)
Added namestr column to ItemEntry
2019-03-03 20:56:28 -08:00
Collin Smith
42d4f7f4dd Adjusted background offsets for neck, rring, lring 2019-03-03 17:52:52 -08:00
Collin Smith
0ce15351ed Disabled bounds and path debugging by default 2019-03-03 17:45:56 -08:00
Collin Smith
38242c6b7a Performance optimizations with MapRenderer
Performance optimizations with MapRenderer to roofs, shadows and wall layers
Extended min zoom level to GameScreen
2019-03-03 17:30:45 -08:00
Collin Smith
c657c1e3e0 Added support for item details label
Added support for item details label
Changed constructor of ItemGrid to GameScreen from Player
2019-03-03 17:11:10 -08:00
Collin Smith
fc35851f0f Added some extra debugging for GameScreen hit check 2019-03-03 15:34:08 -08:00
Collin Smith
78edbb2899 Fixed issue with MapListener touchability and different panels
MapListener will only receive input if nothing touchable is hit
2019-03-03 15:26:29 -08:00
Collin Smith
b23eb9c30b Fixed gloves background image offset 2019-03-03 04:42:58 -08:00
Collin Smith
c80a57ab09 Fixed some NpcMenu behavior with the cancellation callback
Attempted change on cancel callback behavior -- only called when upnav
Introduced some parent functions in NpcMenu to help with determining submenus
Changed menus to NpcMenu (I don't imagine the need for the generalization right now)
2019-03-03 02:29:26 -08:00
Collin Smith
008730d2c9 Added NPC menus
Added NPC menus with submenu support
Fixed issue with cursor movement stopping when touching certain actors
Changed some debug fonts to use consolas12
Changed MapListener implementation to work using client updates instead of InputListener
Fixed MapListener input flow with menus and entity targeting
Introduced Entity.getLabelOffset to replace setting label position manually per implementation
2019-03-03 02:11:43 -08:00
Collin Smith
162862771c NPCs will now stop when interacted with and look at player 2019-03-02 14:40:53 -08:00
Collin Smith
d23b151149 MapListener will no longer react if cursor is over a stage component 2019-03-02 14:30:52 -08:00
Collin Smith
0bba0ccb16 Fixed label world to screen coords
Added MapRenderer.projectScaled which is the same as Camera.project, except uses camera viewport width and height
Labels will now output using screen coordinates and clamp to window bounds
2019-03-02 03:29:17 -08:00
Collin Smith
9102c4ba19 Disabled some debugging on unselectable entities 2019-03-02 03:11:35 -08:00
Collin Smith
a656ae4182 Committing notes on how to handle tree tiles 2019-03-02 02:04:55 -08:00
Collin Smith
42c6073261 Added cache for entire viewbuffer when rendering entities
Added cache for entire viewbuffer when rendering entities to avoid calculating them twice
2019-03-02 01:48:52 -08:00
Collin Smith
eaabd43669 Improved Animation bounds calculation and debugging 2019-03-02 01:06:50 -08:00
Collin Smith
4d7b37e386 Disabled player weapon state debugging 2019-03-01 23:31:21 -08:00
Collin Smith
d3dbdb06bd Greatly improved MapRenderer and implemented basic entity interaction
MapRenderer will now renderer more closely to the game itself
Background layer and foreground layers are now interwoven so entities will render behind correct objects,walls,etc
Shadow abstracted from animation rendering to render separately
Animation class now maintains a box that is representative of all its current layers (COF bbox is inaccurate)
Added getBox(int) to DC and began process to change implementation behavior of how animation boxes should be retrieved
Added className to Entity and Map.Zon to constituent classes
Changed how Labels are implemented in Entity
Added drawShadow method to Entity
Fixed Entity BBox checking to check for more accurate Animation BBox
Added Entity interaction range and interaction methods
Updated Entity API in Monster and StaticEntity
Added some i18n support
Added Waypoint support to StaticEntity
Fixed DS1 shadow layer
Added support for default orientation to DS1.Cell
Changed visibility of Map.Zone.map and Map.Zone.level
Added copyShadows to Map.Preset
Added Map.flags methods to retrieve flags of a specified subtile in world-space
Added MapGraphPath.isEmpty
Implemented Label support to MapListener and GameScreen
Added entity target support to MapListener
Implemented improved MapListener API to GameScreen
Added interact support to AI
Added basic greeting to Npc AI on interaction
2019-03-01 23:26:47 -08:00
Collin Smith
7ec02be171 Changed play(String,boolean) behavior to return id of audio file, 0 if not found 2019-03-01 23:05:52 -08:00
Collin Smith
ca9c9be8df Disabled GL depth test 2019-03-01 23:04:59 -08:00
Collin Smith
cb39a53ee8 Added consolas12 2019-03-01 23:04:25 -08:00
Collin Smith
1bbfd0b02e Added V-Sync Cvar toggle 2019-03-01 23:03:59 -08:00
Collin Smith
70c5a5ecb5 Added support for ds1 object selection
Added support for ds1 object selection
Added additional contains methods with Vector2 (Vector3 to be removed soon)
Added MapListener which will be the primary controller for map elements
Disabled entity over updates with MapRenderer (handled by MapListener)
Increased visibility of StaticEntity fields to public
2019-02-24 04:18:49 -08:00
Collin Smith
0016dda7da Changed rounding behavior of positions
Changed rounding behavior of position from casting down to Math.round
This has helped smooth pathing and prevent some on-the-fly pathing bugs
2019-02-23 15:41:58 -08:00
Collin Smith
e9b2d6f2fb Added some Android-specific config improvements
Disabled some unneeded features
Added status bar toggle cvar (need to resize screen)
2019-02-23 15:12:57 -08:00
Collin Smith
0e7c0f8fb9 Fixed entity starting direction
Fixed entity starting direction
Changed default angle for Player entities to -PI/2
Entities will no longer update angles to target if target is zero
Re-enabled animation speeds for walk animations
2019-02-23 14:44:27 -08:00
Collin Smith
18acef4791 Rewrote direction lookup algorithms
Rewrote direction lookup algorithms using a specialized branchless search
2019-02-23 13:47:35 -08:00
Collin Smith
5adbd55103 Added sound to button select
Added sound to button select
Disabled debug mode
2019-02-23 03:21:19 -08:00
Collin Smith
5d6a140b54 Rewrote Direction utility class for accuracy
Rewrote Direction utility class to relate directions based on tile instead of unit circle
MapRenderer will not longer update angles of objects that have no target set
2019-02-23 03:09:31 -08:00
Collin Smith
edc4166a8d Added Idle AI (default AI)
Added Idle AI (default AI) -- does nothing
Changed default angle for entities to align with correct default direction
2019-02-22 22:11:47 -08:00
Collin Smith
f1fb2e69b2 Fixed Animation shadow blend mode 2019-02-22 21:20:53 -08:00
Collin Smith
d4116eaa06 Temporary fix to movement animation speed -- doesn't take velocity into account 2019-02-22 19:40:01 -08:00
Collin Smith
3e9f0a9d29 Implemented ray-casting-based movement for touchpad controls
Implemented ray-casting-based movement for touchpad controls
Works great in open spaces, some issues with wall detection and following
2019-02-22 16:12:56 -08:00
Collin Smith
d480d2566b Integrated basic NPC AI
Added basic AI support along with NPC AI which uses built in paths/actions
NPCs will choose a random path after each arrival after their action finishes
Added support for per-entity run/walk speed along with a toggle
Added Map as a param for static/monster Entity creation along with Map.Zone
Fixed some debug drawing for entity paths
2019-02-22 00:37:44 -08:00
Collin Smith
aae12329c1 Fixed issue where render bounds rect was incorrect color 2019-02-21 18:28:29 -08:00
Collin Smith
f17278b87b Fix for anim family with differing number of directions crashing on Layer.load(int) 2019-02-21 18:26:24 -08:00
Collin Smith
8bbaec639b Added max steps parameter to path generation
Added max steps parameter to path generation to avoid some behavior on Android with 1 unit walls
Android movement should be reimplemented as raycasting to help with moving near walls
2019-02-21 17:16:36 -08:00
Collin Smith
bc4f1f83b8 Fixed issue where preset objects weren't being loaded to correct location 2019-02-21 16:55:27 -08:00
Collin Smith
8cfe8f9090 NPC paths now show action index at points 2019-02-21 00:35:06 -08:00
Collin Smith
c33e18d8a6 Disabled updateTask for Android
Disabled updateTask because it's causing Android to hang -- likely some concurrency issue?
2019-02-20 22:41:08 -08:00
Collin Smith
679984b9b5 Rewrote MapRenderer, added interpolated movement, and added path finding with collision detection
Removed gdx-ai dependency and replaced GraphPath with my own implementation
Refactored Entity.updatePath to Entity.setPath
Removed src position from path (first element is now first target)
MapPather works in real-time -- improvements to be made
Disabled updateTask in client to use update(float) entity method instead
Added floating point position support to MapRenderer camera
Rewrote MapRenderer with optimizations for 60%+ FPS improvement!
Fixed numerous performance hogs and made optimizations (more to come)
Fixed issue where render bounds was calculated before zoom applied
Frame time on Android (GN5) down from 25ms to 10ms
Frame time on PC seeing similar results (now 0.17ms from about 0.45)
Implemented gdx-ai path finder for testing
Repo cleanup
Added support for path finding metrics for debugging purposes
Disabled some Entity debug messages
Implemented path smoothing on generated paths
Created MapGraph.MapGraphPath
MapRenderer will now render path as lines between points
Entity will clear path once final target reached
Added angle and animation support to Entity pathing
Entities will now change to run animation and set direction to target angle
Implemented basic touchpad support with new movement system
Replaced MapRenderer and MapViewer and removed any existing dependencies
Removed code comments from older revisions
MapRenderer.drawDebug changes projection matrix automatically
Added debug support for path smoothing
Added back networking to player movements
Removed old MapPather and references
Deleted Entity.move() as it's now irrelevant
2019-02-20 21:44:30 -08:00
Collin Smith
46423e10f7 Disabled path finder movement (new branch)
Disabled path finder movement on this branch
Bug fixes to path finder along with distance limiter
Incorporated persistent path into MapViewer/Entity
2019-02-18 14:25:55 -08:00
Collin Smith
5cc2aa55c6 Integrated path finding into Entity
Integrated path finding into Entity
Changed API a bit to accommodate reusing GraphPath
Introduced DiagonalHeuristic -- will need better one later on to include all 16 directions
2019-02-18 01:23:26 -08:00
Collin Smith
9e0df071f2 Improved path finding algorithm to A* 2019-02-18 00:47:50 -08:00
Collin Smith
95d61fc4d7 Added extremely basic path-finding algorithm
Added extremely basic path-finding algorithm
Added accessor to Zone.flags
2019-02-17 18:50:14 -08:00
Collin Smith
98348bd652 Added support for BitmapFont symbol padding
Added padding to FontTBL.BitmapFont to fix issue where some symbols were bleeding adjacent symbols
2019-02-16 15:43:07 -08:00
Collin Smith
0676660f44 Added support for StaticEntity labels
Added support for StaticEntity labels
Refactored entity labels/names into Entity class -- needs optimization
Fixed issue where changing Label text wouldn't resize Label itself
Fixed issue where left padding on Label background Drawable was ignored
2019-02-16 15:34:36 -08:00
Collin Smith
1d1cf585b5 Disabled item bounds debug 2019-02-16 15:21:51 -08:00
Collin Smith
6337b86cf6 Added TODO note for customizing colors 2019-02-16 14:52:35 -08:00
Collin Smith
ece4016b7c Refactored color names
Refactored color names since they are used globally
2019-02-16 14:25:09 -08:00
Collin Smith
2ba6542728 Refactored modal color names
Refactored modal colors to say what transparency they are
Added modal background to EscapePanel
2019-02-16 14:19:03 -08:00
Collin Smith
3829c34c24 Added basic entity cursor focusing
Added basic entity cursor focusing using backing animation bounds and MapRenderer
Added background drawable support to Label widget
Improved ColorDrawable padding calculations such that min width/height is a sum of respective padding
Disabled some mouse debugging features in MapRenderer
2019-02-16 01:26:51 -08:00
Collin Smith
247e62ff2b Improved object order rendering
Made MapRenderer aware of entities and made them render behind walls better
Fixed issue where animations were playing too quickly
2019-02-15 21:11:59 -08:00
Collin Smith
3348098ace Added support for poppads
MapRenderer will now properly hide tiles whose mainIndexes intersect with current position poppads
Entity dirty components debug message will print string representation of flags instead of raw int
2019-02-15 15:55:45 -08:00
Collin Smith
1d781c5b8f Improved entity path debug rendering
Included reference to source DS1.Object in StaticEntity and Monster classes
Added reference to DS1.Path in DS1.Object owner (assumes 1 path per object)
Moved path debug rendering to Entity from MapRenderer
Added Entity.drawDebugPath(ShapeRenderer)
2019-02-15 02:09:17 -08:00
Collin Smith
dda1c4b47d Added debug rendering for DS1 paths
Added rendering of DS1 paths -- need to associate with NPC
2019-02-14 02:17:08 -08:00
Collin Smith
babde9ff6e Added dynamic (monster/npc) entities
Added Monster class generated from DS1 objects -- belong to Map Zones and render per-tile -- optimization needed
Refactored DS1 object generation to Entity class as static method to create type 1 or 2 entities
Updated screenshot with dynamic entities
Removed type from StaticEntity constructor (already included with Objects.Entry)
Added Excel classes for monstats and monstats2 -- optimizations can be made later
2019-02-13 17:41:55 -08:00
Collin Smith
a0983e852c Added static entities
Added StaticEntity class generated from DS1 objects -- belong to Map Zones and render per-tile
Fixed paths for EntType OBJECT and MONSTER
2019-02-13 02:42:07 -08:00
Collin Smith
e5e6be00ce removed some unneccsary files 2019-02-12 02:25:40 -08:00
Collin Smith
a73e0539c3 removed some unnecessary files 2019-02-12 02:23:18 -08:00
Collin Smith
5d3f5dc4b6 Fixed chat box behavior
GameScreen now ignores hotkeys while chat box is open
Esc closes chat box
Closing chat box will now set text to empty string
Chat output TextArea will no longer block touch events (i.e., inventory management)
2019-02-11 01:44:39 -08:00
Collin Smith
6db614c633 Updated screenshot
Updated screenshot with disabled debugging
Removed some debug logging from entity
2019-02-10 02:30:53 -08:00
Collin Smith
c37ddea8d1 Added a bit of spacing adjacent to the buttons 2019-02-10 02:27:01 -08:00
Collin Smith
656f40742f Using mobile panel to open chat box will set keyboard focus 2019-02-10 02:21:35 -08:00
Collin Smith
07eab3a052 Disabled debug mode
Disabled debug mode -- not needed for foreseeable future
2019-02-10 02:18:48 -08:00
Collin Smith
b136b54b93 Re-ordered colormap indexes to match in-game
Changed greys to index 1,2 and removed gold and brown
2019-02-10 02:15:41 -08:00
Collin Smith
c5efbc13a1 Fixed single player character animations
Fixed issue with single player player entity creation by blocking some packets
Fixed issue with character colormap transforms not working as intended for 0x7
Small fix for in-game chat box printing enters -- need to block key commands while typing
Added padding to in-game chat box
Removed shift to not move in-town (was not working as intended anyways)
2019-02-10 02:08:56 -08:00
Collin Smith
22ebede88f Fixed bug with component flags
Fixed default components assignment, now 0 from -1
Changed to entity package
2019-02-09 16:03:01 -08:00
Collin Smith
40e6dda32a Fixed font metrics
Fixed many font metrics -- not perfect, but significantly better for layout
2019-02-09 03:49:26 -08:00
Collin Smith
86c4e6d8ef Added functional networking with multiple clients in a server rendered correctly
Fixed bug with Map.find(int) returning actual GridPoint -- now returns a copy
Added workaround for set(String) in Cvar when generic type is String
Transition to entity package with refinements
2019-02-08 20:56:04 -08:00
Collin Smith
e23532266f Added basic server event objects
Added very simple rendering of character "Tirant" position in another client
2019-02-05 02:14:18 -08:00
Collin Smith
49f1058566 Added basic server support (create/join games and chat)
Separated services into ChatServer, DedicatedServer and Sessions
Single player uses same code-base as DedicatedServer with a special loopback socket
Added SelectCharacterScreen2 copy -- will replace later on with more versatile SelectCharacterScreen impl
2019-02-03 02:47:08 -08:00
Collin Smith
a1e735031f Added server browser chat
Some work on in-game chat
Separated Server into multiple systems (will be easier to transition to distributed servers later)
Minor entity changes -- may transition to an ECS soon
2019-01-30 15:40:17 -08:00
Collin Smith
f7e6ef281c Implemented functioning weapon alternate 2019-01-26 00:05:29 -08:00
Collin Smith
e6e10705c5 Begin transition into entity3 package along with new Animation class 2019-01-25 17:01:35 -08:00
Collin Smith
8cea13273e Added LoginScreen
Implemented Textures texture for TextField cursor
2019-01-21 00:14:32 -08:00
Collin Smith
2197b2fb61 Changed access to modalBackground and cursorTexture to private (Textures class used instead) 2019-01-21 00:13:28 -08:00
Collin Smith
605bd6f7f2 Added Textures class to store some common solid color textures 2019-01-21 00:12:51 -08:00