Commit Graph

1916 Commits

Author SHA1 Message Date
Collin Smith
995244a940 Adjusted :core logging events and exception format 2021-12-16 20:37:50 -08:00
Collin Smith
3b9f076cdf Changed MpqBufferStream threading model to sync properly
Changed MpqBufferStream threading model to sync properly
Initial read can be async, subsequent will be on the caller's thread
Added additional tests for file which has a larger than single sector header
2021-12-16 19:32:44 -08:00
Collin Smith
f5925b4b32 Changed AssetManager#getDepNow return null behavior 2021-12-16 19:30:35 -08:00
Collin Smith
4dbf9dfefb Removed assertion that wait failing due to expected behavior
syncInitialization was failing assertion because all bytes were read, but test was before additional bytes were read into buffer
2021-12-16 14:32:29 -08:00
Collin Smith
3f2bf82ddc Changed visibility of load to public (fix for previous refactor) 2021-12-16 00:01:22 -08:00
Collin Smith
4a16b06aab Changed AssetContainer#dependencies to AssetDesc[]
Changed AssetContainer#dependencies to AssetDesc[]
This allows containers to be more flexible for lookup and exception handling
Changed Array<AssetDesc> members to AssetDesc[] for simplicity
2021-12-15 23:59:30 -08:00
Collin Smith
25412d1781 Disposing AssetManager will clear resolvers 2021-12-14 18:24:18 -08:00
Collin Smith
d0ccd1aa11 Integrated combineFrames from boolean to int 2021-12-14 12:46:44 -08:00
Collin Smith
83516f5d6a Fixed code style 2021-12-11 12:34:03 -08:00
Collin Smith
9dfe541319 Added decorators for AssetLoader functions
AssetLoader functions will now notify passed Promise of exceptions
Changed DcParams#combineFrames from boolean to int [-1 (auto), 0 (don't combine), 1 (combine)]
2021-12-05 18:54:43 -08:00
Collin Smith
8dec04360d Added Dc6Loader to VCS (wasn't included a couple commits ago) 2021-12-02 22:29:37 -08:00
Collin Smith
c70c008861 Added custom support for MpqFileHandle#read() to support audio playback
Audio playback required FileHandle reference, can't pass stream directly
Audio classes call FileHandle#read()
2021-12-02 22:28:47 -08:00
Collin Smith
264a7a9630 Created Adapter#self(EventExecutor,FileHandle) to return instant handle reference 2021-12-02 22:27:08 -08:00
Collin Smith
ffad38ad76 Added support for DcParams#combineFrames
Added boolean combineFrames argument to Dc#uploadTextures()
Created Dc#numPages() to support combined frames
Defined Dc6#PAGE_SIZE and changed constants to reference it
Implemented combined frames into Dc6 (Dcc unsupported)
Refactored subclass fields into Dc#MISSING_TEXTURE
Created Dc#box() methods
Improved DccLoader test cases with asset failure to load test case
2021-12-02 22:26:20 -08:00
Collin Smith
070295a25c Moved d2video test case to correct class 2021-12-02 10:23:03 -08:00
Collin Smith
b57d7aaf4e Added additional test cases
Added additional test cases
Fixed decode_future() not calling super.decode_future()
2021-12-02 08:14:15 -08:00
Collin Smith
1779e3d8a9 Removed superfluous println statement 2021-12-02 08:12:37 -08:00
Collin Smith
21adf993b6 Fixed bug where encrypted uncompressed files were not copied into buffer 2021-12-02 08:11:07 -08:00
Collin Smith
1f9523425d Added support for graceful asset load failures
Changed AssetManager#load(AssetDesc) return type to Promise
Created classes to handle class load exceptions
Created AssetLoader#validate(AssetDesc) to validate asset desc
Changed asset types to bounded wildcards for polymorphism (test)
2021-12-02 06:45:45 -08:00
Collin Smith
c0df032d1e Updated gdx-controllers version 2.2.0 -> 2.2.1 2021-11-30 16:44:04 -08:00
Collin Smith
501b787bc2 Fixed ambiguous method call to ItemGenerator#generate 2021-11-30 16:33:49 -08:00
Collin Smith
c8f14134ac Changed Java source/target compatibility to Java 8
Changed Java source/target compatibility to Java 8
Removed special :core:compileTestJava Java 8 support to use default above
2021-11-30 16:32:30 -08:00
Collin Smith
dbb0866985 Adding cool awesome looking project file icon for IntelliJ 2021-11-30 16:16:30 -08:00
Collin Smith
5c7b5216f4 Updated android gradle plugin 4.2.0 -> 7.0.1 2021-11-30 16:03:44 -08:00
Collin Smith
ef89a85165 Updated gradle wrapper to 7.3 2021-11-30 14:13:04 -08:00
Collin Smith
bcb6d7973d Fixed build instructions -- android SDK no longer required for non-android builds 2021-11-30 01:45:47 -08:00
Collin Smith
bded14c1eb Moved icon resources into lwjgl, lwjgl3 backends 2021-11-27 23:46:20 -08:00
Collin Smith
0cf617b55a Moved tools into backend dependencies and old tools into tools:old
Moved gdx-backend-lwjgl dependency from impl to testImpl in :core
Created backend tool libraries for headless, lwjgl, lwjgl3
2021-11-27 23:42:18 -08:00
Collin Smith
b040835ddb Added missing code style config 2021-11-27 23:38:26 -08:00
Collin Smith
6ab1bb2dd6 Removed compile org.slf4j depdendency
See #105, no longer required
2021-11-27 15:17:04 -08:00
Collin Smith
5fcc4a6a59 Moved idea run configurations from .idea\runConfigurations\ to .run\ 2021-11-26 20:39:13 -08:00
Collin Smith
6b946b70ec Updated gradle wrapper to 7.0 2021-11-26 13:16:30 -08:00
Collin Smith
3ef662d1b6 Updated android gradle plugin 4.1.1 -> 4.2.0 2021-11-26 13:02:32 -08:00
Collin Smith
8287515b24 Added dependency for idea task to generate core sources
gradlew idea should now generate version and flatbuffer sources
2021-11-26 12:56:43 -08:00
Collin Smith
e0f52fc0f9 Updated android build script
Increased sdk compile/target versions to 30 (Android 11)
Modified android content root to directly specify /assets/
Changed java source/target compat to JavaVersion const
2021-11-26 12:55:43 -08:00
Collin Smith
b05ca8b092 Fixed non-zero exit code warning in supported platforms 2021-11-24 14:08:26 -08:00
Collin Smith
8272dda9ef Added tag and uncompressedSize to Dcc header 2021-11-24 12:17:31 -08:00
Collin Smith
e39979faa8 Created Dc6 codec
Created Dc6 file codec and Dc6Decoder and tests
Amended Dc to remove Dc#dirOffsets and use virtual method instead
Dc6 implements offsets for each frame and therefore requires a bit of specialization
2021-11-17 22:48:05 -08:00
Collin Smith
46aea7d6a1 Added Dcc test suite 2021-11-17 22:44:58 -08:00
Collin Smith
1295b35f19 Implemented multi-threaded asset loading
Refactored single-threaded executors into executor group (async)
Removed deps and io executors
Suppressed unchecked warning for AssetManager#ioAsync
2021-11-14 23:02:52 -08:00
Collin Smith
84fe716246 Moved dependency deallocation/unloading to AssetManager from AssetContainer
Unloading asset correctly unloads dependencies instead of only releasing them
2021-11-14 23:00:57 -08:00
Collin Smith
b3586799cc Replaced resolver unwrap iteration with cached copy of sorted resolvers 2021-11-14 23:00:00 -08:00
Collin Smith
a0c4a773fc Replaced mpqs iterator with array-based iteration
Concurrency issues in immutated array
2021-11-14 22:42:56 -08:00
Collin Smith
bcefe041c3 Additional test cases 2021-11-14 22:41:49 -08:00
Collin Smith
78852e4ea9 DccDecoder optimizations
Refactored 2d pixel buffer array to 1d array
Change made to try and alleviate memory usage issues on mobile
2021-11-14 20:09:44 -08:00
Collin Smith
0bd76baf8f Cleaned up some comments 2021-11-11 00:34:26 -08:00
Collin Smith
f6cd8b4447 Fixed bug where Dcc frame offsets were not read as signed integers 2021-11-10 18:24:28 -08:00
Collin Smith
5187976ccf Updated DccDecoderTest to new Dcc spec
Implemented Dcc release for each refCnt
Updated pixelCodeAndDisplacementBitStream assertion message
2021-11-10 16:46:36 -08:00
Collin Smith
6151379853 Optimized Dcc decoding to eliminate OOM errors
Refactored Cell impls to data-oriented-design approach
Added Dcc#MISSING_TEXTURE to set as the unloaded texture value
Added Dc#direction(int) to obtain the Dc.Direction
Removed old Dcc code which is no longer needed
Added accessor field for PaletteIndexedPixmap Pixmap.Format value
Added RiiabloTest#clearGdxContext() to reset Gdx fields to null
Fixed issues with LWJGL test cases not supporting more than 1 iteration
Enabled additional parameterized test cases for DccDecoderTest
Created test cases for DccLoader in DccLoaderTest using AssetManager
Removed FileHandleResolver field and accessors from AssetLoader
Added Palette decoder and PaletteLoader
Fixed issue where releasing Dcc direction was releasing all directions
Dc now implements ReferenceCounted and increments for each direction read
Removed FileHandleResolver field from AssetLoader (handled by AssetManager)
2021-11-10 15:49:49 -08:00
Collin Smith
bd8e1638d2 Implemented AssetManager#sync(long) replacing AssetManager#update()
Implemented AssetManager#sync(long) replacing AssetManager#update()
Removed load_mpq0 test case
2021-11-08 22:01:05 -08:00