Commit Graph

1947 Commits

Author SHA1 Message Date
Collin Smith
d1b12236b8 Changed MpqFileHandle equality contact to match only MpqFileHandle#path() and not FileHandle#type which is not set by MpqFileHandle 2025-01-09 15:33:32 -08:00
Collin Smith
187ffe190b Updated AssetManager#defaultParams to more modern usage and accessibility modifier support 2025-01-09 01:32:04 -08:00
Collin Smith
61765cf492 Assign default params to asset desc when loading if none have been declared 2025-01-09 01:21:53 -08:00
Collin Smith
641e8f4a2c Built Tile#roofHeight into TileRenderer offsets 2025-01-05 14:04:01 -08:00
Collin Smith
34a71052f4 Fixed an issue where after a decoding exception, the tile would attempt to be unloaded erroneously 2025-01-05 14:02:42 -08:00
Collin Smith
c0f35211e7 Redesigned Dt1 decoder and renderer
Created TileRenderer to handle backend tile rendering (debug and graphics)
Added 14 segment display API to draw ASCII strings using ShapeRenderer for debug mode
Created BlockLoader and expanded Dt1Decoder to support independently decoding blocks. Dt1 debugging requires that the blocks are still accessible to see what the decoder is doing
Added tile flag constants and debugging (may split up the debug modes later)
Utilize BBox to draw Dt1 in minimum sized pixmap and position it based on the x,y min
TODO: Incorporate Tile#roofHeight into BBox calculation for final rendering offset
2025-01-05 00:01:49 -08:00
Collin Smith
8a31ba49c3 Created Dt1Params instance for library ref
Created Dt1Params.library()
Changed Dt1Loader to use Dt1Params.library() in preference to self defined reference
Refactor renamed Dt1Decoder7.readLibHeader -> Dt1Decoder7.readLibraryHeader
Changed MpqViewer Dt1 loader to save reference to Dt1 library and load tiles as-needed
MpqViewer Dt1 will dispose Dt1 library when switching Dt1 libraries
2024-12-28 19:12:12 -08:00
Collin Smith
b4c05b569f Added improved dt1 codec/loader utilizing new mpq APIs
Added dt1 support to new MpqViewer app
2024-12-26 02:47:38 -08:00
Collin Smith
5f7ecf6228 Added missing info tables 2024-12-26 02:41:12 -08:00
Collin Smith
7f43ca5e86 Upgraded video test tool to use lwjgl3 2024-12-24 11:59:55 -08:00
Collin Smith
9ebf326ac1 Adjusted gradle jvm args
Removed MaxPermSize jvm arg (deprecated in favor of MaxMetaspaceSize)
Reduced MaxMetaspaceSize to 256M (down from 1G) -- I think this is more reasonable
2024-12-24 01:10:02 -08:00
Collin Smith
c561844d70 Removed artemis odb bytecode weaving gradle plugin -- deprecated and throwing compilation errors 2024-12-24 01:00:59 -08:00
Collin Smith
84e21f2fdd Suppress expected deprecation warnings for test cases using test-specific code 2024-04-02 16:27:31 -07:00
Collin Smith
0f226739d1 Additional functions in AssetUtils for disposing gdx assets quietly 2023-09-09 00:20:01 -07:00
Collin Smith
410ce17498 Created ByteInputStream variant of ByteInput which wraps an InputStream but without many features from ByteInput which are not required at this time, may need to expand functionality later to make stream variant indistinguishable from normal variant
Created additional constructors for InvalidFormat for ByteInputStream
2023-09-09 00:19:00 -07:00
Collin Smith
fa3b2b72ea Expanded PaletteIndexedPixmap constructors to include arrays with specified lengths 2023-09-09 00:16:37 -07:00
Collin Smith
ab379c7910 Added mockito for mocking headless g2d instance to create mock textures 2023-09-09 00:14:18 -07:00
Collin Smith
9d03f869ce Added a couple documentation notes for plausible memory leak if asset manager does not work correctly 2023-08-17 23:10:30 -07:00
Collin Smith
ec9ff67c80 Added support for viewing palette files 2023-08-14 21:47:46 -07:00
Collin Smith
e212201fc6 Added error logging for AssetManager AssetLoader#loadAsync errors 2023-08-06 20:56:31 -07:00
Collin Smith
f811a85141 Fixed attribute labels sort order 2023-08-06 01:29:29 -07:00
Collin Smith
597835ab08 Added support for blend mode color 2023-08-06 01:16:44 -07:00
Collin Smith
bc33e691a0 Added custom VisUI skin for MPQ viewer 2023-08-06 00:33:04 -07:00
Collin Smith
a3d8adb16e Added support for changing blend mode of dc files 2023-08-06 00:14:03 -07:00
Collin Smith
1ac688586f Added AssetManager#unloadAll(AssetDesc[]) to help with batch unloading 2023-08-06 00:12:55 -07:00
Collin Smith
5b5d63f338 Added controls for changing the direction of a cof animation 2023-08-06 00:10:13 -07:00
Collin Smith
eecaeb5bb9 Changed default window size of MPQ view to accommodate the additional controls 2023-08-06 00:09:00 -07:00
Collin Smith
5cb83081c8 Added test case for DccDecoder 2023-08-06 00:05:45 -07:00
Collin Smith
8e90f3d999 Fixed pixel buffer sign-extension for DccDecoder 2023-08-06 00:04:54 -07:00
Collin Smith
7a8f303164 Added code-base for new MPQ viewer 2023-08-05 22:52:35 -07:00
Collin Smith
4eba03fc1c Updated Windows registry API signatures to Java 11 handles
See 1caa6fcbfb (diff-8f418d108b62bb6aca97a716d72ce680fb95070a8e83fba5cf491612a0d18fc6R175)
2023-04-01 00:38:03 -07:00
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