2020-09-08 15:58:35 -04:00
|
|
|
package d2util
|
2020-08-05 21:27:45 -04:00
|
|
|
|
|
|
|
import "image/color"
|
|
|
|
|
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-02 21:23:07 -05:00
|
|
|
// Color converts an rgba uint32 to a colorEnabled.RGBA
|
2020-08-05 21:27:45 -04:00
|
|
|
func Color(rgba uint32) color.RGBA {
|
|
|
|
result := color.RGBA{}
|
|
|
|
a, b, g, r := 0, 1, 2, 3
|
|
|
|
byteWidth := 8
|
|
|
|
byteMask := 0xff
|
|
|
|
|
|
|
|
for idx := 0; idx < 4; idx++ {
|
|
|
|
shift := idx * byteWidth
|
|
|
|
component := uint8(rgba>>shift) & uint8(byteMask)
|
|
|
|
|
|
|
|
switch idx {
|
|
|
|
case a:
|
|
|
|
result.A = component
|
|
|
|
case b:
|
|
|
|
result.B = component
|
|
|
|
case g:
|
|
|
|
result.G = component
|
|
|
|
case r:
|
|
|
|
result.R = component
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return result
|
|
|
|
}
|