1951 Commits

Author SHA1 Message Date
59aa8d5021 Added first iteration of improved Ds1 class and codec
Created new Ds1Decoder utilizing async ByteInput from the new asset manager
Added Riiablo#actToString to generate a human-readable act name
Added support for reading Ds1 tiles with MpqViewer (graphical interface to come)
2025-01-12 22:57:39 -08:00
c9bb81f9bf Added Dt1 tests 2025-01-12 22:54:11 -08:00
6ec6861735 Refactor renamed Tile#orientation to Tile#tileType to be clearer on use 2025-01-12 12:55:26 -08:00
65ccf5acc8 Enforce no direct Dt1 instantiation 2025-01-12 12:53:05 -08:00
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
187ffe190b Updated AssetManager#defaultParams to more modern usage and accessibility modifier support 2025-01-09 01:32:04 -08:00
61765cf492 Assign default params to asset desc when loading if none have been declared 2025-01-09 01:21:53 -08:00
641e8f4a2c Built Tile#roofHeight into TileRenderer offsets 2025-01-05 14:04:01 -08:00
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
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
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
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
5f7ecf6228 Added missing info tables 2024-12-26 02:41:12 -08:00
7f43ca5e86 Upgraded video test tool to use lwjgl3 2024-12-24 11:59:55 -08:00
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
c561844d70 Removed artemis odb bytecode weaving gradle plugin -- deprecated and throwing compilation errors 2024-12-24 01:00:59 -08:00
84e21f2fdd Suppress expected deprecation warnings for test cases using test-specific code 2024-04-02 16:27:31 -07:00
0f226739d1 Additional functions in AssetUtils for disposing gdx assets quietly 2023-09-09 00:20:01 -07:00
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
fa3b2b72ea Expanded PaletteIndexedPixmap constructors to include arrays with specified lengths 2023-09-09 00:16:37 -07:00
ab379c7910 Added mockito for mocking headless g2d instance to create mock textures 2023-09-09 00:14:18 -07:00
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
ec9ff67c80 Added support for viewing palette files 2023-08-14 21:47:46 -07:00
e212201fc6 Added error logging for AssetManager AssetLoader#loadAsync errors 2023-08-06 20:56:31 -07:00
f811a85141 Fixed attribute labels sort order 2023-08-06 01:29:29 -07:00
597835ab08 Added support for blend mode color 2023-08-06 01:16:44 -07:00
bc33e691a0 Added custom VisUI skin for MPQ viewer 2023-08-06 00:33:04 -07:00
a3d8adb16e Added support for changing blend mode of dc files 2023-08-06 00:14:03 -07:00
1ac688586f Added AssetManager#unloadAll(AssetDesc[]) to help with batch unloading 2023-08-06 00:12:55 -07:00
5b5d63f338 Added controls for changing the direction of a cof animation 2023-08-06 00:10:13 -07:00
eecaeb5bb9 Changed default window size of MPQ view to accommodate the additional controls 2023-08-06 00:09:00 -07:00
5cb83081c8 Added test case for DccDecoder 2023-08-06 00:05:45 -07:00
8e90f3d999 Fixed pixel buffer sign-extension for DccDecoder 2023-08-06 00:04:54 -07:00
7a8f303164 Added code-base for new MPQ viewer 2023-08-05 22:52:35 -07:00
4eba03fc1c Updated Windows registry API signatures to Java 11 handles
See 1caa6fcbfb (diff-8f418d108b62bb6aca97a716d72ce680fb95070a8e83fba5cf491612a0d18fc6R175)
2023-04-01 00:38:03 -07:00
995244a940 Adjusted :core logging events and exception format 2021-12-16 20:37:50 -08:00
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
f5925b4b32 Changed AssetManager#getDepNow return null behavior 2021-12-16 19:30:35 -08:00
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
3f2bf82ddc Changed visibility of load to public (fix for previous refactor) 2021-12-16 00:01:22 -08:00
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
25412d1781 Disposing AssetManager will clear resolvers 2021-12-14 18:24:18 -08:00
d0ccd1aa11 Integrated combineFrames from boolean to int 2021-12-14 12:46:44 -08:00
83516f5d6a Fixed code style 2021-12-11 12:34:03 -08:00
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
8dec04360d Added Dc6Loader to VCS (wasn't included a couple commits ago) 2021-12-02 22:29:37 -08:00
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
264a7a9630 Created Adapter#self(EventExecutor,FileHandle) to return instant handle reference 2021-12-02 22:27:08 -08:00
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
070295a25c Moved d2video test case to correct class 2021-12-02 10:23:03 -08:00