2020-02-01 23:55:56 +00:00
|
|
|
package d2asset
|
|
|
|
|
|
|
|
import (
|
2020-09-12 20:51:30 +00:00
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2cache"
|
2020-09-14 18:47:11 +00:00
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2loader"
|
refactored logging in d2loader, d2record, and d2asset (#898)
* refactored logging in d2config, d2record, and d2asset
* asset manager, record manager, and file loader now utilitize d2util.Logger
* added colored logging to d2util.Logger (excluding windows platforms)
* removed mpq file verification from d2config; d2loader handles this
* record loaders now use the record manager's logger for printing info
* added command line argument for setting log level (`--loglevel 4`, `-l4`, or `-l 4`
* added `LogLevel` parameter to config file
* default log level will show errors, warnings, and info log messages
* specifying log level as an argument overrides setting from config file
* fixed log level tests
2020-11-03 02:23:07 +00:00
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2util"
|
2020-07-08 13:16:16 +00:00
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2config"
|
2020-09-19 18:33:40 +00:00
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2records"
|
2020-02-01 23:55:56 +00:00
|
|
|
)
|
|
|
|
|
2020-09-12 20:51:30 +00:00
|
|
|
// NewAssetManager creates and assigns all necessary dependencies for the AssetManager top-level functions to work correctly
|
refactored logging in d2loader, d2record, and d2asset (#898)
* refactored logging in d2config, d2record, and d2asset
* asset manager, record manager, and file loader now utilitize d2util.Logger
* added colored logging to d2util.Logger (excluding windows platforms)
* removed mpq file verification from d2config; d2loader handles this
* record loaders now use the record manager's logger for printing info
* added command line argument for setting log level (`--loglevel 4`, `-l4`, or `-l 4`
* added `LogLevel` parameter to config file
* default log level will show errors, warnings, and info log messages
* specifying log level as an argument overrides setting from config file
* fixed log level tests
2020-11-03 02:23:07 +00:00
|
|
|
func NewAssetManager(config *d2config.Configuration, l d2util.LogLevel) (*AssetManager, error) {
|
|
|
|
loader, err := d2loader.NewLoader(config, l)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
records, err := d2records.NewRecordManager(l)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2020-09-14 18:47:11 +00:00
|
|
|
manager := &AssetManager{
|
refactored logging in d2loader, d2record, and d2asset (#898)
* refactored logging in d2config, d2record, and d2asset
* asset manager, record manager, and file loader now utilitize d2util.Logger
* added colored logging to d2util.Logger (excluding windows platforms)
* removed mpq file verification from d2config; d2loader handles this
* record loaders now use the record manager's logger for printing info
* added command line argument for setting log level (`--loglevel 4`, `-l4`, or `-l 4`
* added `LogLevel` parameter to config file
* default log level will show errors, warnings, and info log messages
* specifying log level as an argument overrides setting from config file
* fixed log level tests
2020-11-03 02:23:07 +00:00
|
|
|
d2util.NewLogger(),
|
|
|
|
loader,
|
2020-09-14 18:47:11 +00:00
|
|
|
d2cache.CreateCache(tableBudget),
|
2020-09-19 18:33:40 +00:00
|
|
|
d2cache.CreateCache(animationBudget),
|
2020-09-14 18:47:11 +00:00
|
|
|
d2cache.CreateCache(fontBudget),
|
2020-09-12 20:51:30 +00:00
|
|
|
d2cache.CreateCache(paletteBudget),
|
|
|
|
d2cache.CreateCache(paletteTransformBudget),
|
refactored logging in d2loader, d2record, and d2asset (#898)
* refactored logging in d2config, d2record, and d2asset
* asset manager, record manager, and file loader now utilitize d2util.Logger
* added colored logging to d2util.Logger (excluding windows platforms)
* removed mpq file verification from d2config; d2loader handles this
* record loaders now use the record manager's logger for printing info
* added command line argument for setting log level (`--loglevel 4`, `-l4`, or `-l 4`
* added `LogLevel` parameter to config file
* default log level will show errors, warnings, and info log messages
* specifying log level as an argument overrides setting from config file
* fixed log level tests
2020-11-03 02:23:07 +00:00
|
|
|
records,
|
2020-09-19 18:33:40 +00:00
|
|
|
}
|
|
|
|
|
refactored logging in d2loader, d2record, and d2asset (#898)
* refactored logging in d2config, d2record, and d2asset
* asset manager, record manager, and file loader now utilitize d2util.Logger
* added colored logging to d2util.Logger (excluding windows platforms)
* removed mpq file verification from d2config; d2loader handles this
* record loaders now use the record manager's logger for printing info
* added command line argument for setting log level (`--loglevel 4`, `-l4`, or `-l 4`
* added `LogLevel` parameter to config file
* default log level will show errors, warnings, and info log messages
* specifying log level as an argument overrides setting from config file
* fixed log level tests
2020-11-03 02:23:07 +00:00
|
|
|
manager.logger.SetPrefix(logPrefix)
|
|
|
|
manager.logger.SetLevel(l)
|
|
|
|
|
|
|
|
err = manager.init()
|
2020-09-19 18:33:40 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
2020-02-01 23:55:56 +00:00
|
|
|
}
|
|
|
|
|
2020-09-12 20:51:30 +00:00
|
|
|
return manager, nil
|
2020-02-27 03:46:47 +00:00
|
|
|
}
|