Commit Graph

1489 Commits

Author SHA1 Message Date
Collin Smith
43cccecec3 Iterative cleanup of com.riiablo.assets 2020-10-13 08:50:49 -07:00
Collin Smith
7fe8e8d66a Added Project-specific code style to repo 2020-10-10 12:40:19 -07:00
Collin Smith
bee1a3e566 Removed .idea/codeStyles/Project.xml from gitignore 2020-10-10 12:38:07 -07:00
Collin Smith
d136e3d599 Replaced Pathfinder dependency with Actioneer#moveTo 2020-10-09 12:34:32 -07:00
Collin Smith
c305f1c586 Removed Pathfinder system injection from CursorMovementSystem 2020-10-09 12:32:26 -07:00
Collin Smith
9c7a7f9795 Implemented EngineConfig (see #109) 2020-10-08 23:48:53 -07:00
Collin Smith
30bd940846 Created basic BinkVideo packet and added additional logging to BinkAudio 2020-10-08 22:13:38 -07:00
collinsmith
1e9695a125 Reordered log message output 2020-10-06 11:54:50 -07:00
collinsmith
2dd14725c4 Implemented error checking and killing of audio threads when player is disposed 2020-10-06 11:53:01 -07:00
collinsmith
46b52ccbf6 Pass BIK reference to child BinkAudio for flags and version validation 2020-10-06 11:35:09 -07:00
collinsmith
292747adb3 Fixed passing incorrect buffer 2020-10-06 11:02:54 -07:00
collinsmith
be2e0d005c Created AudioPacket and basic executor 2020-10-06 10:55:04 -07:00
collinsmith
3803abb02b Implemented frame delta with time steps 2020-10-06 10:28:26 -07:00
collinsmith
ac5ec5f0d8 Resolve keyframe at decode layer so that info is preserved without creating extra data 2020-10-06 10:13:37 -07:00
collinsmith
a6f4aeb467 Better slicing of audio and video packets per frame 2020-10-06 09:59:38 -07:00
collinsmith
db97517cd2 Perform keyframe checking and masking of offsets table 2020-10-05 10:51:06 -07:00
Collin Smith
fac0f9fd5d Changed Bink code to help with debugging and testability 2020-10-05 01:46:06 -07:00
Collin Smith
bb8a621d5d Additional work on Bink video codec 2020-10-05 00:49:04 -07:00
Collin Smith
2bbd3f0c9c Created BIK coded along with BinkAudio and BinkVideo (see #59) 2020-10-04 16:58:22 -07:00
Collin Smith
58d31d0634 Adjusted API of UnsafeNarrowing to be more useful
UnsafeNarrowing is now loosely coupled with InvalidFormat via UnsafeNarrowing#wrapAndThrow
UnsafeNarrowing can now be passed an optional offset value
2020-10-03 00:56:58 -07:00
Collin Smith
08bc23160f Increased robustness of UnsafeNarrowing exception
UnsafeNarrowing now requires a ByteInput argument to track where exception was thrown
Changed visibility of BitConstraints to public
Added BitConstraints safeXXu checkers for BitInput as well as ByteInput
2020-10-02 22:03:54 -07:00
Collin Smith
5a9d179e15 Ported readSafeXXu methods from ByteInput to BitInput 2020-10-02 21:01:14 -07:00
Collin Smith
35eaccf9a9 RiiabloTest changes logger to synchronous appender 2020-10-02 18:57:06 -07:00
Collin Smith
c62c103948 Implemented support for com.riiablo.io into DCC codec
InputStream signatures have all been removed (interoperability would have meant tons of code duplication)
MPQInputStream now supports fast-track reading of uncompressed files
2020-10-02 12:11:48 -07:00
Collin Smith
64fa1611e4 Revised BitInput slice strategy
BitInput now carries logical bitsRead from all previous ByteInput slices
Created BitInput#maxBit to track initial bitsRead + numBits
Created BitInput#maxBitByteOffset to trace delta between maxByte bit offset and maxBit
numBits check not replaced with bitsRead vs maxBit
ByteInput#slice(long) will slice at the current buffer readerIndex instead of mark due to an issue where mark was carrying parent offset
2020-10-02 11:41:54 -07:00
Collin Smith
6e65f5361a Added support for reading bit input slices of arbitrary boundaries (closes #118)
BitInput#readSlice uses ByteInput#slice and performs manual #skipBits on parent buffer
Added single-byte tests
2020-09-30 16:36:38 -07:00
collinsmith
235ae94d5a Begin work on transitioning DCC to use new io API 2020-09-30 14:47:07 -07:00
collinsmith
757a85f84b Propagated name change 2020-09-30 10:18:34 -07:00
collinsmith
bb84f49d63 Merge branch 'master' of https://github.com/collinsmith/riiablo 2020-09-30 09:51:09 -07:00
collinsmith
d1af110c12 Created util function to retrieve safe u32s 2020-09-30 09:50:40 -07:00
Collin Smith
88e173de60 Spelling error 2020-09-29 15:57:39 -07:00
collinsmith
1116e14fc7 Refined implementation
FileHandleAdapter changed to abstract class
FileHandleAdapter now incorporates Reader functionality via #adapt(FileHandle,Class)
Removed specialized functions from AsyncAssetLoader (should be callable directly now)
Refactor renamed readers to adapters
AssetLoader changed from interface to abstract class
AssetLoader requires type reference and is more similar to LibGDX implementation
Adjusted test case with new API
2020-09-29 12:10:23 -07:00
Collin Smith
0c81104adb Reorganized code slightly 2020-09-29 01:17:37 -07:00
Collin Smith
d3a9511a35 Closer API to what I would like, still requires better type inference on Reader 2020-09-29 01:14:06 -07:00
Collin Smith
9d7ee8450e Changed strategy to support FileHandleAdapter and AsyncAdapter 2020-09-29 00:55:40 -07:00
Collin Smith
8837ff46b6 Fixed typing issue 2020-09-28 22:22:46 -07:00
Collin Smith
f92db89f61 Refined implementation
Attempted transition from reader type to filehandle type
Created sample loaders for testing purposes
Created SyncReader interface
2020-09-28 22:21:28 -07:00
Collin Smith
8305ba4b50 Committing experimental Asset Manager 2020-09-28 21:09:58 -07:00
Collin Smith
ad19056cfb Changed async logger appender to be a daemon thread 2020-09-27 13:12:53 -07:00
Collin Smith
1a6783f047 Workaround for an issue with LibGDX AssetDescriptor path contraint 2020-09-25 01:22:43 -07:00
Collin Smith
01d92a69c3 Changed capitalization of extensions 2020-09-25 01:03:53 -07:00
Collin Smith
055b56907b Reorganized code slightly 2020-09-25 00:42:17 -07:00
Collin Smith
f2ec4c9c2e Created Decryptor.LookupTable#fix(String) to return a valid translated path string 2020-09-25 00:26:11 -07:00
Collin Smith
e2c00d7336 Cleaner way of doing byte[] to upper case and converting path delimiter 2020-09-25 00:17:14 -07:00
Collin Smith
874bb809f8 Fixed mpq_bytebuf impl bugs
Added remaining MPQFileHandle impl override methods
MPQFileHandleResolver will automatically fix path delimiters
Fixed decompression on an uncompressed sector
2020-09-24 19:34:33 -07:00
Collin Smith
e091821c46 Fixed an issue where Exploder was masking an incorrect number of bytes for the copy offset 2020-09-24 19:12:26 -07:00
Collin Smith
8284ab095e Removed INTS pool by using a ByteBuf instead 2020-09-24 17:57:26 -07:00
Collin Smith
cd9d8801c7 Refactored CursorMovementSystem#setTarget to Actioneer#moveTo 2020-09-23 11:48:54 -07:00
Collin Smith
6f40094f73 Increased sectors cache to 16384 offsets (67 MB)
Should research keeping a ByteBuf copy of offsets
2020-09-23 01:55:28 -07:00
Collin Smith
e1252e172c Added terminator for MPQ#getIndex(long,int,short) for case where not found 2020-09-23 01:54:08 -07:00