Commit Graph

1537 Commits

Author SHA1 Message Date
Collin Smith
16474a215f Replaced gdx object pool with thread-safe com.riiablo.util.Pool 2020-09-22 13:40:36 -07:00
Collin Smith
5c10340222 Added support for initial capacity pre-init to Pool 2020-09-22 13:35:23 -07:00
Collin Smith
63c17b0e17 Created com.riiablo.util.Pool thread safe pool (closes #116) 2020-09-22 13:22:24 -07:00
Collin Smith
6d8cefb2c8 Committing tests of mpq_bytebuf package 2020-09-22 12:37:09 -07:00
Collin Smith
bd9b30a33d Upgraded mpq_bytebuf library
Created MPQFileHandleResolver to resolve a filename to an MPQ
Greatly improved efficiency of MPQInputStream and reduced overhead
Added support for fast-path ByteBufInputStream for a native memory read
MPQFileHandle now supports key/offset caching for faster lookup
MPQ now initializes using a FileChannel instead of a RandomAccessFile
MPQ hash and block tables are read using a buffer
Moved MPQFileHandle file operations to MPQFileHandle from MPQ
Added ability to retrieve MPQ block table entry from an MPQ hash table entry
Inlined Exploder#TRUNCATE
Decryptor now works using arrays directly (asserted input is a heap byte buf)
Decryptor returns a long tuple consisting of key and seed state for buffered calls
2020-09-22 12:36:40 -07:00
Collin Smith
35504fccdc Improved logger throughput
Added initial size and pool object init
AsyncAppender now releases events more reliably
Workaround for #116
2020-09-21 13:36:12 -07:00
Collin Smith
24f8c764bb Created var-arg alternative methods 2020-09-21 02:32:19 -07:00
Collin Smith
368f2f71bf Deferred log message creation until enabled is evaluated 2020-09-21 02:25:44 -07:00
Collin Smith
6117efc25e Created AsyncOutputStreamAppender to support logging output on separate threads 2020-09-21 02:02:16 -07:00
Collin Smith
bb4efb7967 Created Pooled variations of message factory implementations
Created Pooled variations of message factory implementations
Set logger to default to use these pooled message factories
2020-09-21 01:45:23 -07:00
Collin Smith
aa04ebd132 Changed LogEvent to support pooling 2020-09-21 01:32:55 -07:00
Collin Smith
703be01ceb Created Message#release() 2020-09-21 01:30:56 -07:00
Collin Smith
dd0707a759 Created methods for non-varargs log functions 2020-09-21 01:25:10 -07:00
Collin Smith
5b22902b10 Changed varargs to array 2020-09-21 01:10:16 -07:00
Collin Smith
68ada6121f Added virtuals for newMessage without var args 2020-09-21 01:09:26 -07:00
Collin Smith
bd0752cc6a Created Message#numParameters() 2020-09-21 00:54:47 -07:00
Collin Smith
f2816b24ab Removed AbstractLogger and implemented functionality directly into Logger class 2020-09-21 00:42:56 -07:00
Collin Smith
2e4f7f6690 Created Actioneer#canInterrupt(int) to check whether an entity action can be interrupted
Implemented interruption checking into CursorMovementSystem#updateLeft()
2020-09-20 21:41:53 -07:00
Collin Smith
b8756bbe8d MPQ library implemented with ByteBuf and MappedByteBuffer (see #8) 2020-09-19 22:23:27 -07:00
Collin Smith
9009cdcfd9 Resolved a concurrency issue regarding shared state within static decompress method 2020-09-18 22:36:18 -07:00
Collin Smith
303e063586 Tested charclass sound against local player component 2020-09-13 19:46:10 -07:00
Collin Smith
aa948b9b1f Resetting Animation instances clears Animation#cof reference (see #113) 2020-09-13 13:46:27 -07:00
Collin Smith
28fb71de85 Fixed radial spells to 64 directions 2020-09-13 13:21:59 -07:00
Collin Smith
add2ea22b5 Added support for per-layer shadow flag
Added support for per-layer shadow flag
Set automatically for now based on blendMode
2020-09-13 13:15:50 -07:00
Collin Smith
c98c3dc2c8 Added support for cltdofunc 25 (shouts / novas)
Added support for cltdofunc 25 (shouts / novas)
Changed animation frame delta for missiles to 256 from Missile.Entry.animrate
Disabled Missie.Entry.TravelSound audio until it can be figured out better
Added Skills.Entry.cltmissile(a-d)
2020-09-12 15:31:45 -07:00
Collin Smith
372f501b4b Created RADIANS_64
Created RADIANS_64
Redefined RADIANS_X tables mathematically to improve readability
2020-09-12 15:19:35 -07:00
Collin Smith
54216795f6 Enabled bullet flag for missiles and changed to sensors to disable collision 2020-09-12 14:48:39 -07:00
Collin Smith
efc6a5c0e4 Created MissileHandler to dispose of missile entities past their range
Created MissileHandler to dispose of missile entities past their range
MissileLoader now resets direction to 0 when missile is loaded
2020-09-12 14:21:48 -07:00
Collin Smith
b01f5180b2 Changed monster placement algorithm to distribute grouped monsters across an area 2020-09-11 13:26:59 -07:00
Collin Smith
0dccc53c44 Monster label now shows first non-empty hitpoints monster 2020-09-11 13:24:01 -07:00
Collin Smith
8eb29c9cfb Monster label will hide itself if the target monster is dead 2020-09-11 13:20:46 -07:00
Collin Smith
8be6bee27a Increased default mele range to 3 units 2020-09-11 13:20:00 -07:00
Collin Smith
143634858d Fixed encoding for negative fixed point numbers 2020-09-11 13:08:35 -07:00
Collin Smith
6cc41eb633 Assigned missiles a physics body (see #113) 2020-09-10 23:46:27 -07:00
Collin Smith
63bfa85173 Resolved the actual crash this time
It would appear that a valid targetId is given that has a position, except that the position is null? This will be looked into later.
2020-09-10 23:31:17 -07:00
Collin Smith
0590ddc166 Fixed crash caused resulting by a previous fix which incorrectly unset target entity 2020-09-10 23:28:02 -07:00
Collin Smith
30f4190ead Added support for MonsterLabelManager to draw monster health
Added support for MonsterLabelManager to draw monster health
Added percent and modal params to PaletteIndexedColorDrawable to allow use as a progress bar
2020-09-10 23:27:22 -07:00
Collin Smith
c906a20817 Added sound effect for hit impact 2020-09-10 22:50:47 -07:00
Collin Smith
39f3d5aaca Added attack range check for left click
Added attack range check for left click
Added null check for dangling target
2020-09-10 22:41:02 -07:00
Collin Smith
c64042bafe Created DamageHandler and implemented hit sounds 2020-09-10 19:16:08 -07:00
Collin Smith
4e0e2c142a Created DamageEvent and dispatching 2020-09-10 19:11:28 -07:00
Collin Smith
7b227fe2ed Committing DeathEvent 2020-09-10 19:09:14 -07:00
Collin Smith
61985ed440 Checks if target is still valid (some trailing event target ids?) 2020-09-10 18:40:27 -07:00
Collin Smith
28d6eddcb6 Another workaround for #113 2020-09-10 18:39:59 -07:00
Collin Smith
83c0e87a9a Unset killer target if target was victim 2020-09-10 18:32:05 -07:00
Collin Smith
52edd64327 Fixed spelling error DC.Direction#toReadDir -> #toRealDir 2020-09-10 18:31:42 -07:00
Collin Smith
0087e832c2 Implemented monster deaths
Added AI death state and AI#kill() virtual method
DeathHandler handles state transition and entity disposal
2020-09-10 18:22:44 -07:00
Collin Smith
bfcee599bf Increased damage and added death event with subscriber to play death sequence 2020-09-10 17:31:41 -07:00
Collin Smith
f3c9ff82aa Fixed an issue where consecutive stat gets were corrupting previous values 2020-09-10 16:59:22 -07:00
Collin Smith
d77a109be2 Added support for getting a stat from Attributes into a provided tuple 2020-09-10 16:58:44 -07:00