ff6e28d381
world, viewer: fix sign text colors
...
- Fix text colors for signs modified using dye
- Fix text colors specified using `#rrggbb` CSS syntax in JSON text
Only named colors specified via JSON text were working as intended. Dyed signs use different
color names.
The mapping of color names to values is now handled by the generator. Both the generator and the
viewer must be updated for sign text colors to work.
2025-01-06 21:16:41 +01:00
9b3b345318
resource: update block types and biomes for 1.21.4
2024-12-31 12:21:09 +01:00
4933d8e15f
treewide: clippy fixes
...
Fix all clippy warnings as of Rust 1.83.0.
2024-12-17 00:24:56 +01:00
414ad5a493
resource: add Minecraft 1.21 block types
2024-06-23 01:24:07 +02:00
e74e7be686
core: region_processor: ignore empty region files
...
Minecraft generates empty region files in some cases. Just ignore these
files instead of printing an error message for each.
2024-06-14 16:19:55 +02:00
66189d279c
core: region_processor: fix crash due to incorrect counting in info message
...
Fixes #52
2024-06-14 16:02:56 +02:00
8a1a26c13c
core: add support for sign text transformations
...
Add support for regexp replacement patterns, which can be useful when
the text matched by --sign-filter or --sign-prefix should not be
displayed.
2024-01-26 22:40:19 +01:00
625f2a13a3
core/metadata_writer: add enabled features to metadata
...
Only consider sign support enabled when at least one pattern is
configured.
2024-01-10 22:56:32 +01:00
87d4371922
core/metadata_writer: implement filtering for signs
2024-01-10 22:56:30 +01:00
a1dd77c8fd
world/sign: implement Display for SignText
2024-01-10 22:56:30 +01:00
9fd5689ebb
core: add sign pattern command line argument handling
2024-01-10 22:56:30 +01:00
6da921cca3
core: wrap long help texts
2024-01-10 22:56:30 +01:00
fb361145eb
world: add sign position and material information to block entities
2024-01-10 22:56:29 +01:00
9aacd9cc2b
resource: make regular signs transparent
...
For consistency with other sign types. Signs will be shown on a separate
layer.
2024-01-10 22:56:29 +01:00
8814dcff89
resource: split BlockType in Copy and !Copy parts
...
Preparation for actually adding !Copy fields to BlockType.
Only the Copy parts are added to the processed data, avoiding .clone()
for the most part.
2024-01-10 22:56:29 +01:00
d29c0df25d
core/metadata_writer: write entity list for viewer
2024-01-10 22:56:28 +01:00
cde6a4b6e6
core: merge entity data for all regions into one file
...
Introduce the EntityCollector, using the TileCollector and TileMerger
traits.
2024-01-10 22:56:28 +01:00
1143396068
core: use debug format for logging errors
...
Show the full cause stack.
2024-01-10 22:56:28 +01:00
0f308788ef
core: split TileMerger out of TileMipmapper
...
Reusable mipmap-style tile merging
2024-01-10 22:56:28 +01:00
7740ce0522
core/region_processor: sort processed block entities
...
Make the block entity list more reproducible when the stored chunk order
changes.
2024-01-10 22:56:27 +01:00
e36ae4601d
world: add Eq + Ord to all block entity types
2024-01-10 22:56:27 +01:00
825cf70e51
core: split TileCollector trait out of TileMipmapper
...
Make mipmap-style recursive processing of tiles reusable.
2024-01-10 22:56:27 +01:00
7297c03567
core/region_processor: store processed block entities for each region
2024-01-10 22:56:27 +01:00
c44f6ab859
io/storage: add JSON support
...
Bincode can't deal with a number of serde's features that would be
desirable if we're using the same Serialize impls for generating JSON
data for the viewer.
2024-01-10 22:56:27 +01:00
5d40d061a4
io/storage: split out inner part of read/write
...
Allow reusing the read/write logic without requiring control over the file
open.
2024-01-10 22:56:26 +01:00
f0e0db63d3
world: process sign data, prepare for serialization
2024-01-10 22:56:26 +01:00
638d5046c9
world/chunk: change Chunk into a struct
...
The version-specific part is extracted as an enum ChunkInner.
2024-01-10 22:56:26 +01:00
61d456846a
world: implement decoding raw JSON text into a linear list of formatted strings
2024-01-10 22:56:26 +01:00
f78dd795ca
world/de: add deserialization of sign block entities
2024-01-10 22:56:26 +01:00
0988ebe095
core/tile_mipmapper: fix file meta version for mipmap tiles
...
The meta version should only change when the outputs must be regenerated
even if the inputs stay the same. This should never be the case for
mipmap tiles, so we separate the meta version from map/lightmap tiles.
2024-01-10 22:56:26 +01:00
f79edb462c
core/common: add better explanation to file meta version definitions
2024-01-10 22:56:25 +01:00
e8165aa47d
world: hide unknown block/biome type warnings by default
...
While using MinedMap with modded Minecraft version is not officially
supported, it should still work reasonably well if you're okay with
custom block types being invisible and custom biomes using default
grass/color/foliage colors.
Avoid spamming the log with messages for each section in this case
without --verbose, and instead just print a single warning at the end of
processing.
2024-01-10 13:02:29 +01:00
1e41e1bc6a
world/chunk: move SectionIter structs to impl
2024-01-10 13:02:29 +01:00
1812e5c6d6
Add type alias for f32 colors to minedmap-resource
...
Allow removing the dependency on a specific glam version from the main
crate.
2023-12-29 20:13:03 +01:00
93c1ce9437
core/region_processor: further split up SingleRegionProcessor::run()
2023-11-25 23:17:04 +01:00
25f675bd3b
core/region_processor: make logic for skipping updates more fine-grained
...
Allow skipping parts of the processing separately for processed region
and lightmap files.
2023-11-25 22:59:12 +01:00
a5ad057e0c
core/region_processor: refactor RegionProcessor::process_region()
2023-11-25 22:54:08 +01:00
fa15a4e6e5
core/common: separate FileMetaVersion for different outputs
2023-11-25 22:13:02 +01:00
4574c06f5d
core/common: remove Clone from ProcessedChunk/ProcessedRegion
...
These can be rather large, and there is no reason to ever clone them.
2023-11-25 22:11:56 +01:00
74a4fc93d0
world/de: rename Variants enums to Variant
2023-11-25 19:01:36 +01:00
fba9b6cb55
core/region_processor: reenable stat output
2023-10-12 21:49:42 +02:00
506631a18f
core/region_processor: only return available regions
...
Ignore regions that failed to process and have no old processed data.
2023-10-12 21:49:42 +02:00
fd48f94f16
core/region_processor: make regular processing errors non-fatal again
...
Never fail because of invalid save files.
2023-10-12 21:49:42 +02:00
09374d755e
core/region_processor: introduce RegionProcessorStatus enum
2023-10-12 20:10:28 +02:00
284892cea6
core/region_processor: make all process_region() error fatal
...
Less severe errors will be changed not to be passed up to run().
2023-10-12 20:10:28 +02:00
46c04e632f
core/region_processor: temporarily disable stat output
2023-10-12 20:10:28 +02:00
38da1616d5
core/region_processor: rename path to input_path in process_region()
...
Make the variable names more consistent.
2023-10-12 20:10:28 +02:00
920547f64a
core/tile_mipmapper: use mpsc channels for counters
...
Make the code a bit easier to understand.
2023-10-12 20:10:28 +02:00
7d37f6a5d0
Add summary messages
2023-09-20 00:38:19 +02:00
a8eb2da95d
Use tracing for configurable logging
2023-09-19 23:29:05 +02:00