Commit Graph

1155 Commits

Author SHA1 Message Date
Collin Smith
ee62188c91 Added additional fields to Skills excel 2020-08-21 18:33:06 -07:00
Collin Smith
28dffc917f Removed resolved comment 2020-08-21 15:07:31 -07:00
Collin Smith
9b874036b8 Made clicking a button in quickpanel assign it to the correct action id 2020-08-21 14:59:47 -07:00
Collin Smith
46bdd1f94a Created CharData#setAction(int,int) which passes current alternate id
Created CharData#setAction(int,int) which passes current alternate id
Created SpellsQuickPanel#buttonId field to store Input.Buttons.LEFT or Input.Buttons.RIGHT
2020-08-21 14:58:20 -07:00
Collin Smith
5061c10b69 Move skill consts to com.riiablo.skill.SkillCodes 2020-08-21 12:43:42 -07:00
Collin Smith
c155b7bacb Renamed Spellcast to SkillCast to be consistent 2020-08-21 12:37:16 -07:00
Collin Smith
a1bc6c48fb Decoupled client-side code from Actioneer
Created SpellcastEvent and SpellcastHandler to handle client-side effects
2020-08-21 01:42:08 -07:00
Collin Smith
e42288f8f6 Added rudimentary support for animation overlays 2020-08-21 01:14:17 -07:00
Collin Smith
cf410fc64d Added audio playback of spell cast 2020-08-20 22:48:10 -07:00
Collin Smith
0159615dba Added workaround for invalid spell cast modes
SQ defaults to SC when encountered until implemented
SpellsQuickPanel changes CharData actions for the time being
2020-08-20 22:47:26 -07:00
Collin Smith
8a820effc8 Created Actioneer system to manage entity actions such as spell casting 2020-08-20 22:39:02 -07:00
Collin Smith
885df8f4e2 Updated comment to clarify what I think I meant when I wrote it 2020-08-20 22:05:10 -07:00
Collin Smith
8d7677cf50 Replaced ControlPanel specific code with an observer copy 2020-08-20 22:03:34 -07:00
Collin Smith
392889b030 Replace ControlPanel specific code with an observer copy 2020-08-20 22:02:57 -07:00
Collin Smith
dee6066306 Switching weapons will now change control panel skills to active skills 2020-08-20 21:54:50 -07:00
Collin Smith
57107ea0d1 Moved command suggesters into com.riiablo.suggesters package 2020-08-20 12:25:26 -07:00
Collin Smith
320ea8d28f Implemented structured logging into gem props 2020-08-19 22:23:24 -07:00
Collin Smith
e0da8aaa02 Improved logging of stat values 2020-08-19 22:19:43 -07:00
Collin Smith
3b6c1f81dc Fixed bug where reqdex was indexed as reqstr id 2020-08-19 22:19:01 -07:00
Collin Smith
6c5269c61e Greatly improved logging of property lists and attributes for items 2020-08-19 22:00:02 -07:00
Collin Smith
0c883a9bc8 Created synthetic stats for reqstr and reqdex 2020-08-19 21:48:53 -07:00
Collin Smith
ddb4351fb7 Deprecated serialized item data fields until they are refactored 2020-08-19 21:20:06 -07:00
Collin Smith
2beecb35a8 Implemented ItemReader and ItemWriter into Item component serializer 2020-08-19 21:16:52 -07:00
Collin Smith
1bd32e777d Created ByteInput#wrap(ByteBuf) 2020-08-19 21:15:45 -07:00
Collin Smith
c7123a63f4 Workaround for #99 2020-08-19 21:14:58 -07:00
Collin Smith
56e6eb4802 Replaced com.riiablo.save.D2S with com.riiablo.save.d2s package contents
Removed dangling byte[] data refs within CharData for serialization
Removed dangling FileHandle file refs within CharData and D2S
Removed some methods within D2S which should not be required anymore
Reduced visibility of D2SReader96#readD2S -- should be package-private
Created D2SWriter with D2SWriterStub to temp hold D2S data refs until serialization is finished
D2SWriter will eventually contain code to serialize CharData to byte[]
Changed D2S.MercData int xp to long experience (is really a uint32)
Created some public accessor fields within D2S to grab basic version agnostic info
Created some deprecated public accessor fields within D2S until CharacterPreview is fixed
2020-08-19 20:43:14 -07:00
Collin Smith
8c3c304dcd Created ByteOutput#writeString(CharSequence,int)
writeString writes a string and either truncates or pads it with zeros to len
2020-08-19 20:27:05 -07:00
Collin Smith
8506cc4324 Fixed bug specific to socketed misc items
Custom Tome of TP I have that has socket flag set and game still works
This fix allows socketing of non armor or weapon items (as in original game)
2020-08-19 18:13:04 -07:00
Collin Smith
3c56558e9c Fixed bug reading string where null characters were included within content 2020-08-18 01:57:18 -07:00
Collin Smith
7667cfdff2 Fixed bug where readSafe64u was reading 32u 2020-08-18 01:41:46 -07:00
Collin Smith
00caad594c Added log message for deserialized item object 2020-08-17 20:39:51 -07:00
Collin Smith
d4a4c87b38 Added assertion to validate item list includes expected number of entries (even if some errored) 2020-08-17 20:38:24 -07:00
Collin Smith
447fc70ad2 Stubbed out D2SReader#copyTo(D2S,CharData) 2020-08-17 20:31:28 -07:00
Collin Smith
daaf6773c2 Disallows rendering of empty content within console (log4j messages were outputting extra blank lines) 2020-08-17 20:05:34 -07:00
Collin Smith
575ba39b2d Updated API calls to not cast raw int types 2020-08-17 19:26:25 -07:00
Collin Smith
28fbed711b Renamed Riiablo#MAX_ACTS to Riiablo#NUM_ACTS and Riiablo#MAX_CLASSES to Riiablo#NUM_CLASSES 2020-08-17 19:19:57 -07:00
Collin Smith
a5e83ede40 Renamed Riiablo#MAX_ACTS to Riiablo#NUM_ACTS 2020-08-17 19:19:10 -07:00
Collin Smith
6ccb2a5d02 Renamed Riiablo#MAX_DIFFS to Riiablo#NUM_DIFFS 2020-08-17 19:18:09 -07:00
Collin Smith
91f0971f79 Created const for num classes 2020-08-17 19:15:51 -07:00
Collin Smith
0e71f0b635 Created consts for act indexes 2020-08-17 19:15:11 -07:00
Collin Smith
6e01e4d11b Changed WS to raw bytes 2020-08-16 20:33:02 -07:00
Collin Smith
938fea3375 Improved readability and added recovery for items list 2020-08-16 20:06:55 -07:00
Collin Smith
41d484217b Created recover method 2020-08-16 19:27:12 -07:00
Collin Smith
3c53303d1b Added support for reading corpse item list 2020-08-16 13:40:43 -07:00
Collin Smith
506773d25c Added missing assertions 2020-08-16 02:33:47 -07:00
Collin Smith
2eb773633a Added D2S#getTownsString() and implemented it into D2S Reader logging 2020-08-16 01:18:21 -07:00
Collin Smith
c85f1b9e44 Added comment 2020-08-16 01:14:50 -07:00
Collin Smith
97a3265e05 Changed D2SReader into a singleton 2020-08-16 01:04:52 -07:00
Collin Smith
4af5aac494 Improved comment regarding why a check is made 2020-08-16 01:02:24 -07:00
Collin Smith
1d173c605f Moved Riiablo#getDifficultyString to DebugUtils and created DebugUtils#getClassString
These methods are meant for debugging and quick lookups
2020-08-16 00:59:01 -07:00
Collin Smith
37a17bf323 Created name constants for character classes 2020-08-16 00:51:01 -07:00
Collin Smith
3f9ebfb57c Added progression methods 2020-08-16 00:42:17 -07:00
Collin Smith
28086714b4 Added extension field 2020-08-16 00:36:00 -07:00
Collin Smith
ee0110125c Added flag check methods 2020-08-16 00:35:43 -07:00
Collin Smith
52a5508167 Added more robust logging for item reader and writer bytes read and written 2020-08-16 00:27:53 -07:00
Collin Smith
bebd4dc3ff Added getter for written bytes 2020-08-16 00:10:23 -07:00
Collin Smith
7d908b1e6c Committing logger console commands and Riiablo.logs within Client 2020-08-15 20:59:36 -07:00
Collin Smith
962938bcb3 Replaced log context int to string conversions with int
Log#put(String,String) refactored to Log#put(String,int)
2020-08-15 20:54:39 -07:00
Collin Smith
44a704a4bc Committing experimental D2S Reader and D2S
Will deprecate and replace some com.riiablo.save classes eventually
D2S acts only as a tuple
D2SReader has significantly more robust debugging tools than com.riiablo.save.D2S
Added Riiablo#getDifficultyString(int) to get the debug difficulty string
Added D2SReaderTool used to debug D2S files and diagnose format issues
2020-08-15 20:52:10 -07:00
Collin Smith
7691fb323c Added convenience method to put thread context int 2020-08-15 20:02:23 -07:00
Collin Smith
b573bd4fa7 Added programmic loading of log4j2 configuration file
Committing log4j2.xml with default settings (to be ammended)
2020-08-15 13:34:11 -07:00
Collin Smith
39227995a2 Added ItemWriter and item serialization support (see #93)
Created ItemWriter Item serialization class
Removed skipping of property lists for BOOK item types
Added support for serializing PropertyList values
Added support for serializing RareQualityData values
Added support for serializing Stat values
2020-08-14 00:12:08 -07:00
Collin Smith
886c24cdfd Improved API
writing 0 bits with _writeUnsigned is a no-op
write unsigned methods changed from byte and short to int types
added writeString(CharSequence,int,boolean) to write an optional null char
2020-08-14 00:08:07 -07:00
Collin Smith
fda76aad7a Exposed ByteBuf for ByteInput and ByteOutput as a read-only view with doc 2020-08-13 18:06:54 -07:00
Collin Smith
1fcd8b7a4d Renamed ItemSerializer to ItemReader to allow room for ItemWriter counterpart 2020-08-13 17:43:55 -07:00
Collin Smith
a3073167a6 Fixed bug where readSafe operations were incrementing bits erroneously 2020-08-13 17:40:25 -07:00
Collin Smith
322b94bc8c Added item name along with item code for clarity 2020-08-13 00:22:05 -07:00
Collin Smith
a2d8157987 Created SignatureMismatch exception to better describe that case 2020-08-13 00:10:10 -07:00
Collin Smith
5560eb2b3f Moved BitUtils#readSignature to ByteInput
ByteInput#readSignature behaves similarly, except mismatch will reset position to before reading
2020-08-12 23:59:25 -07:00
Collin Smith
5dd29339fc Implemented ByteInput#realign 2020-08-12 23:58:03 -07:00
Collin Smith
c0ef2dcb8a Refactored com.riiablo.item to use com.riiablo.io for data streams
Temp workarounds implemented for Item#loadFromStream and ItemSerializer#readSingleItem
2020-08-12 23:23:40 -07:00
Collin Smith
cafe8679b4 Added support for marking read position for debugging 2020-08-12 17:22:55 -07:00
Collin Smith
d70668d11d Added InvalidFormat
Added deprecated constructor for InvalidFormat with a null ByteInput for temp back compat
2020-08-12 15:05:10 -07:00
Collin Smith
088cde3b9e Ranamed SafeUnsigned to UnsafeNarrowing 2020-08-11 17:56:40 -07:00
Collin Smith
d8679e34e1 Committing BitUtils and SafeUnsigned 2020-08-11 01:07:35 -07:00
Collin Smith
e3fc03f240 Adjusted documentation and added ByteInput#readString(int,boolean) 2020-08-11 01:03:05 -07:00
Collin Smith
efce34ef8a Renamed len to maxLen 2020-08-11 00:55:04 -07:00
Collin Smith
8b31ee02a1 Bugfix 2020-08-11 00:28:59 -07:00
Collin Smith
e7ab37c01c Added methods to safely read unsigned values in their java signed limits 2020-08-11 00:24:53 -07:00
Collin Smith
871cadaa2b Moved BitConstraints#isUnsigned to BitUtils 2020-08-10 21:22:26 -07:00
Collin Smith
90564f39a3 Committing JUnit tests for BitOutput and interoperability 2020-08-10 18:43:01 -07:00
Collin Smith
9b0a3cf498 Filled remaining methods and changed write methods to support chaining 2020-08-10 18:35:45 -07:00
Collin Smith
8941ceee6e Implemented BitOutput#skipBits(long) and ByteOutput#skipBytes(int) 2020-08-10 18:34:54 -07:00
Collin Smith
984a0864ea Implemented writeString(CharSequence,int) 2020-08-10 18:34:12 -07:00
Collin Smith
2433fac1fe Implemented writeBoolean(boolean) and write1(int) methods to write a single bit 2020-08-10 18:33:40 -07:00
Collin Smith
4a00f0207f Relaxed requirements to allow writing 0 bits (a no-op) 2020-08-10 18:32:57 -07:00
Collin Smith
043e032ec5 Added getter for ByteInput ByteBuf for testing 2020-08-10 18:32:13 -07:00
Collin Smith
43b2eda1c6 Added method chaining support 2020-08-10 17:35:22 -07:00
Collin Smith
74d980319a Cleaned up flush and align methods
flush write cache and then erases it
align performs a flush and returns ByteOutput view
Reduced visibility of writeSigned and writeUnsigned
Implemented write signed methods
Implemented writeRaw method
Added getters for bitsCached and cache fields with package visibility
2020-08-10 01:49:36 -07:00
Collin Smith
66840f94d7 Refactored _writeUnsigned with _writeRaw with unsigned bit limits 2020-08-09 23:11:48 -07:00
Collin Smith
f901989e14 Implemented _writeRaw(long,int) 2020-08-09 23:05:38 -07:00
Collin Smith
11555397e3 Created ByteOutput and BitOutput 2020-08-09 20:06:06 -07:00
Collin Smith
4e2cd665cd Made bitsToAdd final 2020-08-09 20:05:44 -07:00
Collin Smith
f62c038ffe Added BYTE_MASK const (0xFF) 2020-08-09 20:05:31 -07:00
Collin Smith
97ebbb1dbb Additional assertion to validate invariants 2020-08-09 12:51:02 -07:00
Collin Smith
1b51043d7d Moved UBITS consts to BitConstants 2020-08-09 12:48:33 -07:00
Collin Smith
a9d33c2de8 Pulled unsigned masks out to BitConstants class 2020-08-08 23:06:36 -07:00
Collin Smith
c2ce0a3179 Added string reason for shift assertion failure 2020-08-08 17:53:50 -07:00
Collin Smith
7ed92b1f49 Replaced com.riiablo.io classes with com.riiablo.io.nio classes 2020-08-08 14:49:23 -07:00
Collin Smith
c8b74fccbf Commented out comments -- linter was thinking this class was deprecated 2020-08-08 14:46:32 -07:00
Collin Smith
acdbace5ea Deprecated and removed multi-byte read methods from BitInput
Unaligned multi-byte read operations shouldn't align stream
Implementing unaligned multi-byte read support is required
2020-08-08 14:40:11 -07:00
Collin Smith
7006ce9dc0 Added ByteBuf read-only invariant 2020-08-08 14:29:33 -07:00
Collin Smith
683d592c55 Created placeholder documentation to document relationship between input classes 2020-08-08 14:26:25 -07:00
Collin Smith
83ead2a990 Reduced #bitInput() method visibility -- unalign should be used instead outside of package 2020-08-08 14:24:47 -07:00
Collin Smith
f7a38d5e15 Documented ByteInput#bitInput(BitInput) invariants 2020-08-08 14:18:33 -07:00
Collin Smith
75ac29d698 Created bitInput() accessor to manage BitInput initialization and access 2020-08-08 14:15:51 -07:00
Collin Smith
20ae623fe7 Tightened up field visibility
Tightened up field visibility
ByteInput#bitInput set via bitInput(BitInput) which enforces invariants
2020-08-08 14:08:26 -07:00
Collin Smith
afd7bafa12 Fixed skipBits multi-byte using unaligned bit stream 2020-08-08 13:17:59 -07:00
Collin Smith
e62d3ec383 ByteInput#skipBytes now increments bitsRead 2020-08-08 12:04:51 -07:00
Collin Smith
99f0c11064 Created static factory method for constructing a BitInput from a byte array 2020-08-08 11:50:59 -07:00
Collin Smith
a244fbd09d Changed access to private 2020-08-08 11:48:01 -07:00
Collin Smith
f5ababed84 Renamed discard methods to skip 2020-08-08 11:45:37 -07:00
Collin Smith
f71d32bc51 Removed interfaces and added documentation to BitInput and ByteInput directly 2020-08-08 11:44:26 -07:00
Collin Smith
3e31869417 Fixed NPE caused by lazily initializing BitInput 2020-08-08 10:51:50 -07:00
Collin Smith
1868a8c089 Renamed discard methods to more explicit ByteInput#discardBytes and BitInput#discardBits 2020-08-08 03:49:36 -07:00
Collin Smith
3e6e2c05ce Changed ByteInput to lazily allocate BitInput object
BitInput not always required, mostly only ByteInput is used
Removed specialized BitInput constructors from ByteInput
ByteInput#unalign will allocate a BitInput of readableBytes size
BitInput#readSlice will allocate a BitInput of specified size
2020-08-08 03:47:36 -07:00
Collin Smith
673b437c61 Committing com.riiablo.io.nio experiment
Replaces com.riiablo.io if I decide to go this route
2020-08-08 01:07:28 -07:00
Collin Smith
dd1444ad9a Created com.riiablo.io with BitInput
Version 1 without full functionality
2020-08-07 12:17:54 -07:00
Collin Smith
cfb2850d92 Created more robust BitStream implementation
Pending validation, will deprecate and replace com.riiablo.codec.util.BitStream
2020-08-05 19:57:54 -07:00
Collin Smith
84748c56a3 Implemented skipUntil function to allow recovery attempts
skipUntil will align the bit stream to next byte and search for a 2 byte signature
2020-08-03 20:21:46 -07:00
Collin Smith
294f74dde3 Added warnf without Throwable arg 2020-08-03 20:17:28 -07:00
Collin Smith
65a8dee1eb Removed readU8 and replaced with equivalent appropriate substitutions 2020-08-03 16:29:21 -07:00
Collin Smith
0050720249 Implemented some use-cases for readRaw
Implemented some use-cases for readRaw and readU63
Replaced some Java primitive size consts with actual bit sizes according to d2 spec
2020-08-03 16:22:28 -07:00
Collin Smith
a0a46dc481 Changed DCC outsizeCoded from int to long to ensure it can hold a u32 2020-08-03 16:20:32 -07:00
Collin Smith
af480bdfc3 Created readRaw(int) and added support for correctly reading signed 64 bits 2020-08-03 16:12:52 -07:00
Collin Smith
d1ee547530 Created BitStream#readU63(int) 2020-08-03 16:11:59 -07:00
Collin Smith
55d1f18463 Renamed readUnsigned8OrLess to readU8 2020-08-03 16:06:05 -07:00
Collin Smith
8c9d51ee03 Renamed readUnsigned31OrLess to readU31 2020-08-03 16:04:46 -07:00
Collin Smith
10f8945ddb Renamed readUnsigned15OrLess to readU15 2020-08-03 16:03:45 -07:00
Collin Smith
70200c5521 Renamed readUnsigned7OrLess to readU7 2020-08-03 16:02:56 -07:00
Collin Smith
a8e2402a19 Disabled skipping of item byte stream signature
ItemSerializer will process and validate item signature
Implemented far more robust logging to ItemSerializer
2020-08-02 11:11:59 -07:00
Collin Smith
e8f359ffa2 Changed return type of readSigned from sign extended int to long 2020-07-28 04:59:49 -07:00
Collin Smith
5f2c2ca999 Removed read*BitsOrLess and replaced with casted readUnsigned 2020-07-28 04:54:28 -07:00
Collin Smith
940addbca1 Improved assertion messages 2020-07-28 04:46:34 -07:00
Collin Smith
fa2594048c Function ordering 2020-07-28 04:38:36 -07:00
Collin Smith
148a8e108e Validate bit args, formatting and removed read0Bits function 2020-07-28 04:36:58 -07:00
Collin Smith
25b428cb04 Rolled CTX functions into Log 2020-07-26 02:12:51 -07:00
Collin Smith
8067e6fec3 Added support for full mode output for MDC layout 2020-07-25 18:31:06 -07:00
Collin Smith
d18885b17c Marked writeEntry with OrderedMap as deprecated 2020-07-25 18:22:50 -07:00
Collin Smith
4eed3a819e Deprecated OrderedMap impl -- only a decorator for ThreadContext map methods 2020-07-25 18:18:44 -07:00
Collin Smith
c56431b57f Replaced CTX impl with ThreadContext impl 2020-07-25 18:16:08 -07:00
Collin Smith
29ea674060 OrderedMap impl of ThreadContextMap -- deprecated but may be of use later 2020-07-25 17:35:36 -07:00
Collin Smith
f52d47c235 Added Log4J2 as a dependency (see #88)
Created log package with wrappers on top of Log4J
2020-07-25 14:35:38 -07:00
Collin Smith
1d78fb5844 Fixed formatting 2020-07-24 02:24:23 -07:00
Collin Smith
e90ed609aa Fixed formatting 2020-07-24 02:23:00 -07:00
Collin Smith
fcd49c337b Fixed format 2020-07-22 01:31:11 -07:00
Collin Smith
a171783286 Improved support for printList
Adding ability to print all values in-line
If padEnd doesn't pad any chars, will append a single space char
2020-07-20 14:26:10 -07:00
Collin Smith
7bb5110f82 Added suggester for connect command to auto write localhost ip address 2020-07-20 04:50:14 -07:00
Collin Smith
4ca93620b5 Partial decoupling of Item from UI code
Moved Actor-related fields to ItemWrapper
ItemWrapper unfortunately remains a field within Item (see #91)
Renamed INSTORE and created Item#flags2 field to track riiablo item flags
2020-07-19 05:52:05 -07:00
Collin Smith
ebac0a1a6c Fixed network crash -- todo stub out vendor generation when networked #89 2020-07-19 05:37:37 -07:00
Collin Smith
f0a1cdfdb5 Moved helper functions from ItemUtils to Item 2020-07-19 01:38:08 -07:00
Collin Smith
b6c21abbf7 Fixed deserialization bug and appended additional fields to Item#toString 2020-07-18 02:39:52 -07:00
Collin Smith
47d96abde4 Implemented dispose 2020-07-18 02:08:34 -07:00
Collin Smith
6a23fde852 Changed qualification of RareQualityData 2020-07-18 02:06:16 -07:00
Collin Smith
0306c60850 Created ItemWrapper class which is an Actor that wraps an Item
Added static util methods to ItemUtils
This is experimental to play with simplifying Item class
2020-07-18 02:05:48 -07:00
Collin Smith
90971e57b8 Extracted RunewordData and RareQualityData to upper level 2020-07-18 02:03:23 -07:00
Collin Smith
2db28a4c4f Added ethereal alpha const 2020-07-18 02:02:25 -07:00
Collin Smith
c066cb5627 Added convenience methods for checking identified and ethereal flags 2020-07-18 02:01:59 -07:00
Collin Smith
36a7ab73d1 Experimentation with decoupled Item class hierarchy 2020-07-17 18:06:38 -07:00
Collin Smith
b62d397c2e Fixed bug where item data initialization would read data outside bounds 2020-07-16 19:31:08 -07:00
Collin Smith
623859681b Removed QUEST flag declaration -- appears incorrect 2020-07-14 15:40:54 -07:00
Collin Smith
0bd809ef2d Changed visibility of flag consts to public 2020-07-14 13:48:18 -07:00
Collin Smith
30d574a537 Blocked UI events for items that have INSTORE flag set 2020-07-13 19:06:45 -07:00
Collin Smith
417347e4e9 VendorGenerator sets INSTORE flag and item display will show the item's 'cost' in details 2020-07-13 18:05:21 -07:00
Collin Smith
cfcf709ec3 Filled out some basic item generation
Filled out some basic item generation
Disabled until item generation progresses more
2020-07-13 17:53:48 -07:00
Collin Smith
a57ce99e5e Added gemsockets column to ItemEntry and improved MaxSock support in ItemTypes 2020-07-13 15:56:23 -07:00
Collin Smith
61ec4e821a Added basic check to prevent invalid magic items from generation 2020-07-12 18:30:18 -07:00
Collin Smith
b9f0b25765 Disabled debug mode for VendorPanel 2020-07-12 18:27:45 -07:00
Collin Smith
e161df36b8 Added rows for other acts 2020-07-12 18:26:54 -07:00
Collin Smith
2e774fd953 Added support for distinct vendor inventories
Added support for distinct vendor inventories
No inventory component yet -- generated each time vendor loaded
Moved VendorPanel inventory management to Npc for time being (from UI to a system)
Modified VendorPanel#config signature to include inventory item list
Created VendorGenerator#generate(String) to generate an inventory for a specified vendor
Added ItemGenerator and VendorGenerator systems to various engines
2020-07-12 17:11:05 -07:00
Collin Smith
bda2b7152b VendorGrid#drain clears children 2020-07-12 16:56:29 -07:00
Collin Smith
fe863584a4 Fixed layout bugs with two items occupying same bounds and not fitting within grid area 2020-07-12 16:55:29 -07:00
Collin Smith
be0d08698b Empty vendor tabs will be hidden 2020-07-12 16:17:03 -07:00
Collin Smith
3c7b35bc5d Added support for generating items for vendor inventory
Created vendor generator which uses reflection to access item data and generate items
Added stub item generation for armor and weapons
Changed visibility of ItemGrid#addItem to protected (from public)
ItemGrid#addItem vis will revert when drain function is moved up class hierarchy
Modified signatures of VendorGrid#place* methods and function
VendorGrid#place* now returns boolean if the item can be placed
VendorGrid#place* stores available coords in input coords parameter
Added columns for base item vendor entries and noted issue with hratli
Added Excel#getEntryClass to retrieve the entry class type via reflection
VendorPanel populates tabs using "akara" columns
2020-07-12 16:11:28 -07:00
Collin Smith
ad7e1431d0 Added condition for max y placement 2020-07-12 12:29:14 -07:00
Collin Smith
c8b69868b5 Added todo comment for excel column feature 2020-07-12 00:43:41 -07:00
Collin Smith
19a7f10766 Added basic support for VendorPanel VendorGrid items
Added basic support for VendorPanel VendorGrid items
Added very basic ItemGenerator class to create Item instances
VendorPanel tabs now support distinct grid objects
VendorPanel will display the grid for the active tab
Added basic sort and layout function in VendorGrid to place items
VendorPanel MISC tab has sample data injected
2020-07-11 14:09:51 -07:00
Collin Smith
518ce4fb2e Fixes #87 2020-07-10 22:18:45 -07:00
Collin Smith
d81740bd23 Changed toString 'type' field to 'code' 2020-07-10 16:21:41 -07:00
Collin Smith
91e2dd8851 Created an item version code for riiablo, anticipating serialization incompatibility 2020-07-10 16:14:16 -07:00
Collin Smith
c6e9929f88 Created constants for item version codes 2020-07-10 16:13:30 -07:00
Collin Smith
f1f64fca24 Exposed item flags to package visibility 2020-07-10 16:12:49 -07:00
Collin Smith
faf5354276 Added reference to item type2 entry and aggregated type to be logical oring of type and type2 bits 2020-07-10 15:54:33 -07:00
Collin Smith
3b958f3afa Renamed typeCode to code
Renamed typeCode to code (was confusing with type and type2)
Changed EAR flag to automatically set code to 'ear'
2020-07-10 15:42:22 -07:00
Collin Smith
101c6c2b0a Added support for aggregating multiple types
Added support for aggregating multiple types
Included pre-defined types for the cartesian products of gem types and qualities
2020-07-09 04:04:29 -07:00
Collin Smith
ee23568f2b Added index for 'none' item type 2020-07-09 04:03:15 -07:00
Collin Smith
5dd1122c0d Added getHexString to return hex representation of set bits 2020-07-09 02:18:42 -07:00
Collin Smith
ce886d1031 Moved toString method to getOrdinalString and made toString delegate 2020-07-09 02:17:43 -07:00
Collin Smith
c39f3e47b7 Changed default numBits to 0x7F (127) 2020-07-09 02:12:27 -07:00
Collin Smith
ed17dfda20 Renamed UNK3 -> GROUND 2020-07-08 00:30:31 -07:00
Collin Smith
9bb02ec9ac Added consts for Item modes (unused) 2020-07-07 12:08:52 -07:00
Collin Smith
eb06205951 Renamed Location UNK3 -> GROUND 2020-07-07 12:08:15 -07:00
Collin Smith
2e2eae85bc Updated item flags 2020-07-07 12:07:31 -07:00
Collin Smith
31a181ec1f Added additional material types 2020-07-05 01:41:39 -07:00
Collin Smith
31c24a054e Added support for playing footstep sounds for client's player
Added Map#material(int,int) and Map#material(Vector2)
FootstepEmitter uses internal trigger frames instead of AnimationListener
Only works for Riiablo.game.player entity
This should be a good starting point for adding support for other entities
2020-07-05 01:33:44 -07:00
Collin Smith
596c430a15 Added function in Map.Zone to retrieve material type for tiles 2020-07-05 00:31:26 -07:00
Collin Smith
311c06b3ab Refactored DT1Materials to Material and aggregated functionality 2020-07-04 23:49:32 -07:00
Collin Smith
5166988466 Added parameter to addStateListener to control initialization
Param `init` tells whether or not StateListener#onLoaded is called
2020-07-04 18:45:25 -07:00
Collin Smith
ed0db89720 Added support for debugging tile materials within renderer 2020-07-04 17:08:48 -07:00
Collin Smith
3970e649ab Fixed issue with resetting cursor on mobile 2020-07-04 12:02:22 -07:00
Collin Smith
59c0f5ab11 Implemented support for buy, sell and repair cursors 2020-07-04 11:20:40 -07:00
Collin Smith
eeea7adde3 Improved cursor features
Added support for hotspot offset
Added methods that support setting a cursor with a specific page in a DC
Setting cursor to predefined cursor DC automatically applies hotspot
2020-07-04 11:20:19 -07:00
Collin Smith
9bf83e683a Buy, sell and repair buttons are now managed by a button group 2020-07-04 10:21:50 -07:00
Collin Smith
eff7d8cdd8 Reset buy/sell to unchecked state when config called 2020-07-04 02:41:20 -07:00
Collin Smith
dfbd3a3e6f Changed buy/sell buttons to be mutually exclusive 2020-07-04 02:40:47 -07:00
Collin Smith
9e56ff51db Removed clicklistener for blank buttons 2020-07-04 02:39:01 -07:00
Collin Smith
0b38050429 Added support for using VendorPanel for gambling
Added support for using VendorPanel for gambling
TBD if this will require any major modifications
2020-07-04 02:32:26 -07:00
Collin Smith
0af512b3f4 Interacting with NPC menus will now show the vendor panel
Interacting with NPC menus will now show the vendor panel
Added support for configuring panel buttons using flags
Added blank buttons for each vendor action (even if unused)
2020-07-04 02:28:15 -07:00
Collin Smith
8a2be22c20 Created VendorGrid impl of ItemGrid
VendorGrid blocks all grid actions and accepts no items
Added showFill field to ItemGrid to draw background for cursor item
2020-07-04 01:46:27 -07:00
Collin Smith
92673c0da9 Created VendorPanel 2020-07-04 01:35:14 -07:00
Collin Smith
fba74adb74 Added i18n factory method to create instances with resolved string id 2020-07-04 01:18:08 -07:00
Collin Smith
475018e6f6 Fixed invgold position and size 2020-07-04 01:17:34 -07:00
Collin Smith
1977b0e93a Rolled back change on func check for dsc2line 2020-07-03 20:04:37 -07:00
Collin Smith
6e2ded3550 Improved layout of spell details text 2020-07-03 19:56:49 -07:00
Collin Smith
76643ef2a9 Changed SpellsPanel to support event-based updating
SpellsPanel is now a CharData.SkillListener and is event based
SpellsPanel no longer statically generates it's data when created
Created SpellsPanel.SpellButton impl which wraps each class-specific spell
SpellsPanel.SpellButton has an update method to be called whenever the wrapped spell changes
Label for spell button level moved to child of button and relative to button location
Added Label(LabelStyle) constructor for labels that are defaulted to empty
2020-07-03 15:40:04 -07:00
Collin Smith
8e4c4a5154 Added support for animated cursor 2020-07-03 01:34:09 -07:00
Collin Smith
f8e0c62646 Documented reasoning for deprecation 2020-07-02 18:47:31 -07:00
Collin Smith
fc6d8b0039 Added basic toString implementation 2020-07-02 18:34:49 -07:00
Collin Smith
b47a021679 Moved impl netty code to server:netty module 2020-06-30 10:30:34 -07:00
Collin Smith
03ae8f103c Added SocketAddress from parameter to packet callbacks
from paramter will be either TCP channel remote address or UDP packet sender
2020-06-27 15:58:25 -07:00
Collin Smith
3906fbdf4c Added support for reversing Animation direction 2020-06-27 01:29:01 -07:00
Collin Smith
1781e46724 Created experimental Netty impl of a TCP D2GS server
Created experimental Netty impl of a TCP D2GS server
Added salt field to Netty Connection fbs
Created ConnectionState for Connection fbs
2020-06-27 00:30:15 -07:00
Collin Smith
127186f385 Updated comment note 2020-06-26 18:56:42 -07:00
Collin Smith
d1270b1a75 Created UnicastEndpoint interface on top of Endpoint
Allows sending a message and letting the Endpoint figure out where it should go
Will only be used for client-side endpoints
2020-06-26 13:53:54 -07:00
Collin Smith
143bfca048 Changed signature of PacketSender functions and prepended InetSocketAddress parameter for target 2020-06-26 13:31:47 -07:00
Collin Smith
ad78346c1e Added salt field to Netty fbs 2020-06-25 19:47:39 -07:00
Collin Smith
9c586f90d0 Fix to prevent profiler activation key from triggering when console is open 2020-06-25 19:37:51 -07:00
Collin Smith
dac10467fa Changed signatures for packet processing calls from Channel to ChannelHandlerContext 2020-06-25 17:29:20 -07:00
Collin Smith
57a8c1167e Fixed debug logging for inbound messages 2020-06-25 14:47:28 -07:00
Collin Smith
17d257b2b0 Improved memory usage metrics and created #80 2020-06-25 13:32:09 -07:00
Collin Smith
b9bf27d2f6 Added heap usage to display 2020-06-25 13:04:46 -07:00
Collin Smith
31af776e42 exceptionCaught will log the error and close the connection -- will add proper pipeline later 2020-06-25 12:44:20 -07:00
Collin Smith
8a38fd7139 Added Channel field to processPacket callback to retrieve attributes and manage connection 2020-06-25 12:18:44 -07:00
Collin Smith
597ae213c5 Moved netty netcode from :server:netty to :core module 2020-06-25 10:08:00 -07:00
Collin Smith
24eb6f1c9b Fixed bug and missing dependency preventing MapViewer from running correctly 2020-06-23 18:41:45 -07:00
Collin Smith
d13fb953d5 Added comments explaining the need for some buffer position manipulations 2020-06-20 14:29:48 -07:00
Collin Smith
5c4c06d47e Created setContentSize method to support composite buffers
Created setContentSize method to support composite buffers
Removed UDP header fields from Netty fbs table
2020-06-20 12:47:31 -07:00
Collin Smith
a8fe6bc732 Removed Header table from fbs and inlined fields within the Netty table 2020-06-20 00:21:04 -07:00
Collin Smith
101cc92be4 Added protocol field to netty packet header 2020-06-19 15:01:01 -07:00
Collin Smith
cad29c7b82 Created Header table in Netty fbs and sample packet 2020-06-16 02:40:39 -07:00
Collin Smith
f5454be03d Created test fbs packets 2020-06-14 20:59:27 -07:00
Collin Smith
cbd55ee164 Replaced StringEscapeUtils from apache commons-lang3 with commons-text
StringEscapeUtils from commons-lang3 was deprecated and should be using version from commons-text
Optimized imports
2020-06-14 12:35:15 -07:00
Collin Smith
eda10f1da9 Small optimization 2020-06-13 17:45:36 -07:00
Collin Smith
07d98015fd Fixed code formatting and removed fully qualified com.riiablo.codec.COF references 2020-06-13 01:25:19 -07:00
Collin Smith
6be70a3667 Changed parameters for hits ObjectSet -- libgdx changed the parameter check an doesn't allow 1.0f load factor 2020-06-12 22:28:34 -07:00
Collin Smith
eb2d672ac1 Improved accuracy of networking ping calculation #77 2020-06-12 20:08:58 -07:00
Collin Smith
cbfae0f702 Cleaned formatting and alignment 2020-06-12 19:22:50 -07:00
Collin Smith
97b1a3d2d3 Removed static methods and management structs from SystemProfiler
Created ProfilerManager passive system to act as a manager and factory for SystemProfiler instances
Changed SystemProfiler static functions to be a ProfilerManager instance via injection
Fixed some UI bugs within SystemProfiler GUI including incorrect width
Added reference to ProfilerSystem within CursorMovementSystem to block input events when profiler GUI is open
Removed ProfilerSystem#dispose() -- ProfilerManager has it's own dispose method
Reduced visibility of SystemProfiler constructors -- instances should only be created by ProfilerManager
SystemProfiler#initialize() will no longer add the instances to a struct -- automatically added when created by ProfilerManager factory
2020-06-12 17:47:05 -07:00
Collin Smith
8f04cb5c94 Removed dependency on net.mostlyoriginal.artemis-odb:contrib-plugin-profiler
Replaced with com.riiablo.profiler
Copied contrib-plugin-profiler GUI skin to internal assets
2020-06-12 16:04:05 -07:00
Collin Smith
42ff871f38 Removed unneed code 2020-06-12 15:52:43 -07:00