47 Commits

Author SHA1 Message Date
Deathemonic
79c2ba0b9b refactor: improve performance
- improve catalog parsing performance
- properly proxy version checking
- cached contains ignore case
2025-10-04 16:44:44 +08:00
Deathemonic
81e92b2636 chore: bump baad_core
- use owo build in support color
- improve performance on path joining
- use error transparent instead of "{0}"
2025-10-04 13:50:27 +08:00
Deathemonic
a67981a7e1 chore: clean up 2025-09-28 12:46:20 +08:00
Deathemonic
9987a27599 feat: improve downloading and color output
- added list_assets helper to easily print or get the asset names
- refactored codebase and remove redundant code
- added a color detecting logic on baad_core to prevent weird characters on ansi terminals (e.g command prompt)
2025-09-28 12:26:37 +08:00
Deathemonic
a62c0fb6c4 fix: fix exports redirect 2025-09-26 20:53:22 +08:00
Deathemonic
732ba17fde feat: improve performance
- improve performance on api data saving
- improve performance on filtering
2025-09-26 17:09:14 +08:00
Deathemonic
26ac5ba851 chore: export baad_core 2025-09-25 08:35:17 +08:00
Deathemonic
df75c9f077 feat: direct file download and proxy support
- added proxy support
- added a way to download file directly in japan server without downloading the zip file
2025-09-24 23:40:18 +08:00
Deathemonic
2473a7bc0e feat: error properly
> api changes:
- eyre is not a requirement for handling error
- removed log features
- removed auto logging, will now require to set up logging if you want to have output
- bump dependencies
- use thiserror for error handling
2025-09-21 22:29:26 +08:00
Deathemonic
e5c01ba72a fix (2.4.1): changed cache path to baad 2025-09-11 09:04:36 +08:00
Deathemonic
d9b419f064 feat (v2.4.0): new logging system
- updated the logging system using tracing
- moved out the file manager to baad_core
- bump dependencies to latest
- remove unnecessary panics
- docs: readme update
- docs: library update
- api: changed anyhow to eyre
2025-09-10 21:05:28 +08:00
Deathemonic
4c0df123ca feat: added search through bundle name in jp 2025-09-08 17:42:27 +08:00
Deathemonic
25cac0d6a2 fix: catalog wont update when passing --ios or --teen 2025-09-08 16:24:36 +08:00
Deathemonic
57e353b4b1 feat: add ios and teen build support with performance optimizations
- add --ios flag for both global and japan servers to download ios builds
- add --teen flag for global server only to download teen-rated content
- implement platform enum (android, ios) and buildtype enum (standard, teen)
- refactor serverconfig with optional platform/build parameters and defaults
- add marketconfig struct for cleaner global server market configuration
- validate teen build restriction to global server only
- convert pathbuf fields to box<path> in structs for memory efficiency
- update utility functions to use &path parameters for zero-cost borrowing
- cache frequently computed path components in catalogparser
- optimize temporary pathbuf usage throughout codebase
- consolidate duplicate download logic into single reusable function
- remove unused downloadargsext trait
- simplify serverconfig constructor logic
- hide cli module from library users with #[doc(hidden)]
- enhance error handling for invalid platform/build combinations
- serverconfig::new() accepts option<platform> and option<buildtype>
- add serverconfig::get_market_config() method for global server
- update path-related function signatures across utility modules
- improve resourcedownloader and builder pattern consistency

breaking change: serverconfig::new() signature changed to accept optional platform and build type parameters
2025-09-08 15:39:54 +08:00
ヒヤシンス
3565e469a6 feat: added configurable filemanager
- added a way to change the app name and data dir for filemanager
- refactored paths to be shared and only called once
- change public function in cli to private
2025-07-14 13:12:07 +08:00
ヒヤシンス
4cb7fa9816 feat: switch filemanager to fp instead of oop
- changed the filemanager to use fp making FileManager::new() is now unnecessary
2025-07-14 11:29:50 +08:00
ヒヤシンス
b3838f108b chore: integrate baad-core and remove redundant helper modules 2025-06-28 13:32:50 +08:00
ヒヤシンス
8b87260568 feat: added cli logic and update logic
- idk anymore my brain hurts
- added clear all helper for filemanager
- refactored apk fetch
2025-06-27 14:06:36 +08:00
ヒヤシンス
99ac6c1173 chore: clippy fixes 2025-06-26 21:04:47 +08:00
ヒヤシンス
f661a9ba61 refactor: introduced smart pointers for shared ownership
- replaced direct struct references with `Rc` in managers, fetchers, and extractors for better memory management
- updated constructors and methods to accept and use `Rc`-wrapped instances
- refactored extraction rules into static constants for reusability
- streamlined APK and resource handling using centralized configurations
2025-06-25 13:19:15 +08:00
ヒヤシンス
42e8a2a5d9 refactor: reorganized modules
- moved `network` module from `helpers` to `utils` for better organization
- moved `cli` module from `utils` to the root namespace
- updated import paths across modules to reflect changes
- removed unused imports and cleaned up dependencies
2025-06-23 22:40:33 +08:00
ヒヤシンス
b547b118e7 refactor: added unified error handling with custom traits
- introduced `ErrorContext` and `ErrorExt` traits for error handling
- replaced direct `.unwrap()` and `.context()` usage with new traits
- improved error handling consistency across modules
- updated file, JSON, catalog, and APK processing to use `handle_errors`
- enhanced logging for detailed error messages
2025-06-23 22:36:19 +08:00
ヒヤシンス
8deac4ded6 refactor: reorganized imports and exposed core structs/functions
- standardized imports across modules for consistency
- introduced `pub use` to expose key structs/functions
- updated readme to mark library functions as exposed
- improved codebase structure by merging scattered import sources
2025-06-23 18:45:50 +08:00
ヒヤシンス
deedc8ec28 feat: added resource filtering to downloader
- introduced `ResourceFilter` with multiple filtering methods
- added `filter` module to manage filtering logic
- integrated filtering functionality into `ResourceDownloader`
- implemented filtering options like exact, contains, regex, and glob patterns
- updated `download` method to support optional filters
- added new dependencies: lazy-regex, glob, nucleo
2025-06-23 17:49:11 +08:00
ヒヤシンス
f1191baf12 feat: refactored resource handling
- added `GameResources` struct for unified resource definitions
- refactored catalog parsing for resources
- added resource downloader module with support for retries and timeouts
- improved directory handling and introduced `get_output_dir` function
- upgraded dependencies and added `rustls` feature to trauma
2025-06-23 16:15:22 +08:00
ヒヤシンス
9db59eec2a feat: added global catalogs
- added global catalog fetching
- added global catalog parsing
- moved api from apk to helpers
- fixed save_json not making directories
- refactored apk fetch
2025-06-20 21:32:30 +08:00
ヒヤシンス
1f1173c817 feat: added apk extracting
- added apk extractor
- refactored fetch
- make library public
- added with config on file manager
2025-06-19 14:30:14 +08:00
ヒヤシンス
1bfd2daf04 feat: json and file manager
- added json util
- added file manager util
- added check apk and download apk
- changed extract_download_url to extract_url
- added error handling to server config
2025-06-17 13:31:54 +08:00
ヒヤシンス
b6eef97f1d prepare: restarted project
- docs: readme update
- added apk parser (partial)
2025-06-17 11:02:05 +08:00
ヒヤシンス
7d8a08d6d2 feat: expose apkparser
- introduced extractionconfig and extractiontule structures
- updated apkparser to support extraction configuration
- modified main.rs to utilize new extraction features
- adjusted cargo.toml for library and binary paths
2025-06-14 03:36:32 +08:00
ヒヤシンス
13229597b5 fix: tablebundle downloading index
- fix where tablebundle url in gamefiles is set to index instead of name
2025-06-14 00:22:18 +08:00
ヒヤシンス
41da26bdc5 release: 1.0.0
- change download method to streaming
- improve progress bar
- improve interface
- improve formating
- bump version
2025-04-04 10:42:02 +08:00
ヒヤシンス
9bdc6cebaf chore: organized imports 2025-04-04 00:37:06 +08:00
ヒヤシンス
2a37d935c0 chore: restore
- added apk download back
- added catalog download back
- added ui back
2025-04-04 00:32:13 +08:00
ヒヤシンス
16c96f3466 chore: test
- simplied download_manager
- temporary disabled ui
- added macros to logs
- added chunk calculations
2025-04-04 00:03:54 +08:00
ヒヤシンス
0fe4933e56 feat: enhance download options and configurations
- updated DownloadArgs to support connections and multithread options as usize
- improved logging messages for download configurations
- refactored DownloadManager to streamline connection and thread handling
- optimized download strategies for better performance and resource management
2025-04-02 14:04:35 +08:00
ヒヤシンス
bc8212c2c0 feat: progress bar
- added progress bar
- added network helper
2025-04-01 12:26:08 +08:00
ヒヤシンス
354d9aa822 fix: re enabled asset downloading
- re enabled tui
- re enabled asset downloading
2025-04-01 00:42:01 +08:00
ヒヤシンス
447849ee70 feat: ui
- added tui using ratatui
- added a logging system for better print
- rewrite file manager library
- rewrite resource downloader
- disabled progress bar (planning to replace with ratatui)
- temporary disabled resource downloading
- temporary disabled ui for debugging
2025-04-01 00:14:44 +08:00
ヒヤシンス
81ec0f40e0 feat: downloading aasets
- add semaphore for concurrent download control
- simplify APK version and download checks
- enhance CLI argument handling for download options
- refactor main.rs for better modularity and readability
2025-03-29 23:38:25 +08:00
ヒヤシンス
5bc26cf3bf feat: enhance APK and catalog management
- refactored APKParser and CatalogParser to utilize RegionConfig for improved region handling
- added cleaning functionality for data and cache directories in FileManager
- implemented download strategies with concurrent download limits in ResourceDownloader
- introduced new methods for fetching and processing catalogs for both Japan and global regions
- removed unused CRC calculation code and updated dependencies for better performance
- improved error handling and logging throughout the download process
2025-03-29 12:29:31 +08:00
ヒヤシンス
92251c5c2a feat: enhance download management and file handling
- updated dependencies to use rand 0.9.0 for improved randomness
- integrated DownloadManager for efficient file downloads in ApkParser and CatalogParser
- added methods for temporary file management in FileManager
- implemented cleanup for temporary files to optimize storage usage
- improved error handling and logging during file operations
2025-03-29 08:47:39 +08:00
ヒヤシンス
0fc54aee9d feat: add catalog and memory management
- introduced Catalog and Media structures for managing game assets
- implemented JSON serialization and deserialization for catalog data
- added CRC32 checksum support for data integrity
- refactored file management to enhance error handling and maintainability
- updated APK parser to utilize new catalog structures and improve addressable URL handling
2025-03-28 23:38:34 +08:00
ヒヤシンス
2f4046b9ea docs: correction needed 😭 2025-03-28 19:33:51 +08:00
ヒヤシンス
d6983b10f8 feat: global support
- added a way to fetch global addressables
2025-03-28 19:20:12 +08:00
ヒヤシンス
82e51323c7 feat: encyptions
- ported crypto
- ported decrypting catalog url
2025-03-28 18:37:46 +08:00
ヒヤシンス
d245f2c793 feat: oxidization 2025-03-27 17:37:37 +08:00