0
0
mirror of https://github.com/sp-tarkov/loot-dump-processor.git synced 2025-02-12 17:10:45 -05:00

89 Commits

Author SHA1 Message Date
BlueXTX
f2fd256aac
Get rid of static and use dependency injection instead (#8)
* Improved thread safety and async processing in dump processor components

* Removed unused _processedDumps field and simplified variable scope in QueuePipeline

* Refactored service registration into dedicated extension methods

* Added configuration binding and environment variables support

* Refactored collector initialization to use dependency injection

* Refactored data storage to use dependency injection

* Refactored configuration models to use records and added validation

* Refactored static loot configuration to use dependency injection

The changes include:
- Moved static weapon IDs and forced items from LootDumpProcessorContext to ForcedStatic record
- Added ForcedStatic configuration injection in StaticLootProcessor and StaticContainerProcessor
- Improved immutability by using read-only collections in ForcedStatic model
- Simplified LootDumpProcessorContext by removing unused methods

* Refactored configuration access to use dependency injection consistently

* Fixed ForcedStatic configuration

* Refactored forced items configuration to use async provider pattern

The changes introduce a new `IForcedItemsProvider` abstraction to handle loading and caching of forced static and loose loot configurations. This improves the code by:

1. Making configuration loading asynchronous
2. Implementing caching of loaded configurations
3. Centralizing forced items configuration access
4. Removing direct file system dependencies from processors
5. Improving testability through dependency injection

The change also updates related processors and interfaces to use async/await pattern consistently.

* Refactored loose loot processor to use async forced items provider

* Reorganized processor and service components into dedicated namespaces
2025-01-13 17:05:36 +00:00
BlueXTX
3cb1be1ec9
Fix static loot output (#6)
* Improved thread safety and async processing in dump processor components

* Removed unused _processedDumps field and simplified variable scope in QueuePipeline
2025-01-12 23:19:41 +00:00
Chomp
a28df281a0
Merge pull request #5 from BlueXTX/pr/bluextx/3
Fix loose loot output
2025-01-12 20:21:24 +00:00
65724da100 Added JSON property name attributes and fixed nullable handling in models 2025-01-12 22:18:06 +03:00
Chomp
5d2c0d04b1
Merge pull request #2 from BlueXTX/pr/bluextx/nextgen-processor
Major performance boost
2025-01-11 10:58:32 +00:00
12746997e7 Refactored model classes to use records and improved immutability 2025-01-11 12:15:01 +03:00
9e9933bd32 Refactored key generation and improved type safety across storage components 2025-01-11 11:50:02 +03:00
02802ddc10 Refactored storage layer to improve thread safety and code consistency 2025-01-11 11:26:11 +03:00
6cdf3c1a9d Removed unused NuGet package dependencies 2025-01-11 11:15:27 +03:00
50e290d491 Removed 7z preprocessing functionality and simplified file processing 2025-01-11 11:14:08 +03:00
e52a8b2fad Removed unused GetAll method from storage interfaces and implementations 2025-01-11 11:08:37 +03:00
4003ca254b Refactored YAML serialization to use static Serializer/Deserializer instances 2025-01-11 11:02:43 +03:00
465ad95cb5 Refactored code to use System.Text.Json and improved code style
The changes include:
- Replaced Newtonsoft.Json with System.Text.Json for serialization
- Removed redundant JsonProperty attributes and simplified model classes
- Converted static fields to constants where appropriate
- Improved code formatting and readability
- Simplified method bodies and expressions
- Removed unused imports and cleaned up namespaces
2025-01-11 10:52:23 +03:00
f31199076b Removed unused imports across configuration models and Program.cs 2025-01-11 09:19:15 +03:00
762c7ac73a Added performance monitoring and improved service registration organization 2025-01-11 09:18:45 +03:00
047372b6dc Refactored dependency injection and logging infrastructure
The changes include:
- Replaced custom logging with Microsoft.Extensions.Logging
- Added TarkovItemsProvider and ComposedKeyGenerator services
- Simplified configuration models by removing redundant options
- Improved dependency injection in processors and readers
- Removed unused factory methods and simplified service registration
2025-01-11 09:12:45 +03:00
8c0d46585a Updated target framework to .NET 9.0 2025-01-11 08:33:58 +03:00
f31fdaa27d Replaced NumSharp with custom math functions for mean and standard deviation calculations 2025-01-11 08:32:15 +03:00
36917aa556 Removed unused imports across multiple files 2025-01-11 08:27:35 +03:00
04a371ce1a Refactored QueuePipeline to use async/await and parallel processing 2025-01-11 08:27:05 +03:00
e7dfc4349d Refactored MultithreadSteppedDumpProcessor to improve concurrency and thread safety 2025-01-11 08:12:58 +03:00
1a4003595a Refactored loose loot processor to process single map 2025-01-11 07:41:15 +03:00
8366915048 Refactored static containers processor to process single map 2025-01-11 07:32:46 +03:00
0af0c9f9c3 Refactored static loot processor to process maps in parallel 2025-01-11 07:27:10 +03:00
7eb932f603 Refactored ammo processor to process maps in parallel 2025-01-11 07:18:44 +03:00
3309ec453b Removed unused ProcessFilesFromDumps method 2025-01-11 07:08:26 +03:00
65b49defc9 Refactored loose loot processor to use dependency injection 2025-01-11 07:04:53 +03:00
9be5d6e342 Refactored processors to use dependency injection and improved immutability 2025-01-11 06:54:59 +03:00
8cc4340340 Added source solution folder to organize project structure 2025-01-10 20:46:10 +03:00
Chomp
6cb2c0423b Updated forced loose loot values with new quest items 2024-12-31 09:13:54 +00:00
CWX
39ac387aae
Per map process (#1)
* Seperate Tasks into their own methods, Add method to add map name to file name

* Formatting and added a few comments

* Add Clear method to collectors

* Change to local var, so data isnt stored longer than needed

* add Clear method to Storages

* Add changes for Per Map Processing and file i forgot to commit last time

* Update config to have mapNames in it, removed unused yaml file

* update comment

* changed to not throw so Filemode still can be used
2024-12-31 09:12:48 +00:00
Chomp
468871b62c Enabled DATAS in project 2024-12-04 17:14:36 +00:00
Dev
f1a7744929 Updated factory4_night forced loot 2024-11-05 15:46:54 +00:00
Dev
17fd368a15 Added additional quest items to forced loot pool 2024-11-05 09:49:06 +00:00
594a489eac Resolve missing static forced containers/weapons when using loot dumps from multiple versions (#7)
Instead of only using the static forced containers from the first dump, merge all static forced containers so we can utilize dumps from multiple versions

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/LootDumpProcessor#7
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-11-05 09:10:40 +00:00
0719a7bfdd
Resolves ArgumentException when processing 0.15.5 loot
Resolves the following exception:

System.ArgumentException: .NET number values such as positive and negative infinity cannot be written as valid JSON. To make it work when using 'JsonSerializer', consider specifying 'JsonNumberHandling.AllowNamedFloatingPointLiterals'
2024-10-31 22:42:26 -04:00
f6f2acd842
Updated Unknown Key Static Container ID 2024-09-16 11:21:44 -04:00
1821756680
Forced Static Loot Update
- Updates streets 'backup hideout key' container ID.
- Adds sandbox_high to the forced static loot config with the same static spawns as sandbox.
2024-09-10 10:52:30 -04:00
235249599e
Updates Sandbox-Scav-Near-Exit Container ID in Static Loot 2024-09-08 20:39:51 -04:00
c011c2dc58
Updates Unknown Key Container ID in Static Loot 2024-09-08 15:26:26 -04:00
a320d24ee4
Changes for 3.10 (32160)
- Updates the Model/Input classes to match the new export JSON structure
- Updates references to model structure
- Updates SevenZipSharp package
- Adds a few null checks
2024-08-22 15:33:27 -04:00
f55ab3cdc0
Merge branch 'PerMapStaticLoot' 3.9 2024-08-22 14:33:48 -04:00
Dev
a68a251901 Altered Upd.StackObjectsCount type to object as BSGs data returns an int 99% of the time and string 1% of the time 2024-06-11 15:12:50 +01:00
Dev
8faea6353b Added additional forced loose items to maps 2024-06-11 13:26:22 +01:00
Dev
3120ab8f91 Removed unnecessary else 2024-05-30 16:07:12 +01:00
Dev
a8b2cb8f31 Fixed tool logging an error when it had reached the map count limit 2024-05-30 16:03:33 +01:00
Dev
4d8b19a83f Fixed issue with forced static loot items not being included 2024-05-20 19:06:54 +01:00
Dev
c032d65497 Moved quest key to new container 2024-05-20 17:42:55 +01:00
Dev
82059d1d13 Migrate static ammo values to be per-map 2024-04-22 22:29:06 +01:00
Dev
f3c904e1d5 Fix sandbox_high not registering properly - Change processor to use map id instead of name 2024-04-22 22:17:04 +01:00