Commit Graph

1861 Commits

Author SHA1 Message Date
Collin Smith
c84db7729a Fixed issue decoding files where dCell doesn't map directly to fCell
Renamed PixelBuffer#cell to PixelBuffer#lastCell
Created PixelBuffer#cell to store fCell mapping
Renamed cell variables to be more consistent for dCell vs fCell
Adjusted test cases to work better, but disabled draw_pixmaps2
2021-11-06 00:38:13 -07:00
Collin Smith
61db57060a Added support for loading Dcc bitmaps off of the GL thread
Added pixmap buffer to Dcc.Direction
Created Dcc#uploadTextures() to generate textures on GL thread and dispose pixmaps
Exposed DccDecoder#decode(Dcc,int) to public
Implemented DccDecoder into DccLoader
2021-11-04 21:59:02 -07:00
Collin Smith
cafc56dad8 Implemented DccDecoder
Created DccDecoder to decode file streams into Dcc instances
Added generic bound to MpqParams#of to <T>
Changed Dc.Direction and Dc.Frame to be static abstract classes
Made Dc.Direction implement Disposable interface to dispose all its frames
Added Dc.Frame#texture() to return the TextureRegion of that frame
Implemented Dcc.DccDirection#texture as an array of textures (not a sprite sheet)
Changed Dcc.DccDirection#pixelValues to short to ease byte to ubyte conversion
Disabled some code in Dcc which expanded box width/heights by 1 (doesn't seem to be required)
Refactored Dcc.DccFrame#box initialization to be more simple
2021-11-03 23:53:24 -07:00
Collin Smith
7e7b340fa2 Fixed build issue, see #142 #issuecomment-939136245
https://github.com/collinsmith/riiablo/issues/142#issuecomment-939136245
2021-10-08 15:08:10 -07:00
Collin Smith
0a6547b1b6 Fixed buffer futures to return slices with writer index set
Fixed buffer futures to return slices with writer index set
Reorganized DecodingTest cases to make adding additional tests easier
Added additional tests to DecodingTest and validate readable bytes of `actual`
2021-09-25 20:03:58 -07:00
Collin Smith
4ac297dc1d Changed override return type for MpqFileResolver#resolve to MpqFileHandle 2021-09-25 20:02:17 -07:00
Collin Smith
c10083d1ea Cleaned up Dcc impl
Renamed optional* to extra*
Renamed flip to flipY and changed to boolean
Removed additional trace logging in favor of unit testing
2021-09-23 11:49:08 -07:00
Collin Smith
4239f92d18 Fixed releasing data-holding structs for DccLoader 2021-09-23 11:47:10 -07:00
Collin Smith
04b8421f0f Implemented Dcc direction and frames decoding
Implemented Dc and Dcc direction abstractions
Added AssetManager argument to AssetLoader#ioAsync for dependency access
Suppressed unchecked warnings in AssetDescTest test case
2021-09-23 00:23:53 -07:00
Collin Smith
b7ae431a31 Implemented MpqBufferStream#read()
Implemented MpqBufferStream#read()
DccLoader#loadAsync will now process Dcc headers
Reorganized AssetManager io code and integrated rough loadAsync execution
2021-09-22 18:04:07 -07:00
Collin Smith
f3f2d8b356 Implemented MpqBufferStream and started work on Dc decoder
Created MpqBufferStream which uses backing mpq file decoding
Created MpqFileHandle#bufferStream(EventExecutor)
Changed MpqFileResolver resolve failure to log at debug level
Work on new Dc,Dcc,Dc6 codecs for testing AssetManager
Roughed in deallocation for AssetContainer
2021-09-22 17:48:56 -07:00
Collin Smith
f207861e41 Added asset manager tests 2021-09-21 23:36:57 -07:00
Collin Smith
150c28ce80 Added improved AssetManager implementation
Work on new AssetManager using netty and futures
Removed older implementation which are now behind this one
Removed MountPoint abstraction from MpqFileResolver
Moved some static functions from Mpq.HashTable to Mpq
Added support for AssetDesc into MpqFileResolver
Created MpqFileHandle#sectorSize()
Created mockup loaders to sample API usage
2021-09-21 21:13:22 -07:00
Collin Smith
9dabe6daf2 Fixed code formatting 2021-09-20 22:16:37 -07:00
Collin Smith
5e8c3590a1 Refactored mpq_bytebuf to work using netty Future and EventExecutorGroup 2021-09-18 13:34:32 -07:00
Collin Smith
9adfa09ae4 Added MpqFileHandle#stream methods to create InputStreams 2021-09-17 23:03:32 -07:00
Collin Smith
a1bc7d1464 Removed unused BitVector field EMPTY_BIT_VECTOR 2021-09-17 17:00:10 -07:00
Collin Smith
762bcee63f Removed hacked in code to support streaming -- streaming now calls SectorDecodeTask directly 2021-09-17 16:59:28 -07:00
Collin Smith
bebcf90683 Added automated shutdown hook for DecodingService in case not shutdown properly 2021-09-16 19:17:43 -07:00
Collin Smith
31a60c37d8 Refactored local com.riiablo.file onto com.riiablo.mpq_bytebuf
Refer to c.r.m.package-info.java in this commit for more info
2021-09-16 18:03:01 -07:00
Collin Smith
7b7c442525 Revert 7525e288ea 2021-09-16 12:28:15 -07:00
Collin Smith
7525e288ea Allow instantiation of EndOfInput outside of com.riiablo.io 2021-09-16 12:27:07 -07:00
Collin Smith
474ea5b44b Integrated arg name into InstallationFinder searching methods
Integrated arg name into InstallationFinder searching methods
Refactored tools to use InstallationFinder#defaultHomeDir
Added java.lang.Exception to throws clause of Tool#handleCliOptions
Uncaught exceptions thrown by Tool#handleCliOptions will be fatal
2021-09-16 12:25:34 -07:00
Collin Smith
c5c98ce48c Integrated InstallationFinder folder searching directly into InstallationFinder 2021-09-16 11:54:30 -07:00
Collin Smith
69bfbfbf4f Parameterized RiiabloTest dirs
Added D2_TEST environment variable and getTestDirs for InstallationFinder
d2 home and d2 test home set by InstallationFinder for RiiabloTest
2021-09-15 23:07:21 -07:00
Collin Smith
e342870bd9 Extended capabilities of RiiabloTest
Added #testAsset(String) to resolve file from test home
Added #toByteArray(short[]) to simplify ubyte array creation
2021-09-15 14:01:58 -07:00
Collin Smith
1324adf677 Revised code style -- enabled space within braces 2021-09-08 23:03:50 -07:00
Collin Smith
daedefa04f Bound ESCAPE to reset camera zoom and position to origin 2021-08-30 00:35:19 -07:00
Collin Smith
0e5fc03f31 Created package-info.java for mpq_bytebuf 2021-08-29 23:46:10 -07:00
Collin Smith
c744ac149b Changed visibility of methods for easier testing 2021-08-29 23:27:48 -07:00
Collin Smith
82917f747c Created ImplUtils containing developmental functions 2021-08-20 17:51:23 -07:00
Collin Smith
a8403abd19 Expose DS1 constants to public visibility 2021-08-08 00:34:18 -07:00
Collin Smith
d067fea4de Implemented clearing array cells for primitive array types 2021-08-08 00:25:33 -07:00
Collin Smith
fa45d5d4b7 Implemented subtile flags merging from tile layers
Implemented subtile flags merging from tile layers
Fixed algebra calculating Chunk#numTiles
Hacked MapGenerator to function with test DS1
2021-08-07 00:29:22 -07:00
Collin Smith
db51859edc Fixed bug where chance initialized as 0 would select null tile 2021-08-06 17:08:07 -07:00
Collin Smith
3bbcd2c086 Changes size of Chunk#flags to subtiles size
Changes size of Chunk#flags to subtiles size
Chunk#reset() now clears Chunk#tiles[][] entries
2021-08-04 14:08:54 -07:00
Collin Smith
466d94b6fb Created Chunk#flags to store aggregated flags of chunk layers 2021-08-04 00:06:58 -07:00
Collin Smith
d3c47b5781 Reorganized code 2021-08-04 00:03:51 -07:00
Collin Smith
c3e10ed506 Restructured code to improve readability 2021-08-03 23:58:49 -07:00
Collin Smith
6f44f10d4f Removed ChunkGrid note 2021-08-03 23:55:29 -07:00
Collin Smith
bdc4892cd0 Renamed DS1.Object to DS1.Ds1Object for Ds1Info 2021-08-03 23:50:49 -07:00
Collin Smith
6a73e59369 Renamed DS1.Object to DS1.Ds1Object to fix annoying IDEA parse bug 2021-08-03 23:50:10 -07:00
Collin Smith
8656d50dfa Refined impls
Restricted scoping of DS1Reader constants specific to class impl to reduce confusion
Restructured DS1Reader a bit
Added support for DS1#layers bitsum of active layers
Implemented multiple layers into Chunk#tiles via Chunk#layers
Changed MapDebugger to y-up be north (more logical with level layouts and ds1 coordinates scheme)
2021-08-03 23:40:53 -07:00
collinsmith
508f08d8ef com.riiablo.map2 work from camping, including adding javax.annotation api depedency 2021-07-30 23:37:39 -07:00
collinsmith
78135e4ae1 Center map debug drawing at 0,0 2021-07-26 21:41:01 -07:00
Collin Smith
9db87b166e Tests for random seed serialization 2021-07-24 00:57:54 -07:00
Collin Smith
983552fe01 Created riiablo:tools:map-debugger to assist with com.riiablo.map2 api development 2021-07-24 00:57:18 -07:00
Collin Smith
25cf027454 Added Map and MapGenerator implementations 2021-07-24 00:55:52 -07:00
Collin Smith
66109d0cee Assignment of Chunk#tiles from pool 2021-07-24 00:55:27 -07:00
Collin Smith
4421bdf78f Created Prefab class to be used to track prefab tile configurations 2021-07-24 00:49:27 -07:00