@ -161,15 +161,33 @@ float AiL::SIZE_CHANGE_SPEED=1;
AiL : : AiL ( bool testingMode ) {
olc_SetTestingMode ( testingMode ) ;
GFX . Reset ( ) ;
DATA . Reset ( ) ;
MONSTER_LIST . clear ( ) ;
InitializeGameConfigurations ( ) ;
# pragma region Extra Config Initializations
if ( TestingModeEnabled ( ) ) { //Unit Test-specific custom configurations.
std : : string CONFIG_PATH = " config_path " _S ;
std : : string ITEM_CONFIG = CONFIG_PATH + " item_config " _S ;
std : : string ITEM_SET_CONFIG = CONFIG_PATH + " item_set_config " _S ;
ITEM_CONFIG = CONFIG_PATH + " item-test_config " _S ;
ITEM_SET_CONFIG = CONFIG_PATH + " item_set-test_config " _S ;
utils : : datafile : : Read ( DATA , ITEM_CONFIG , ' , ' , datafile : : OverwriteMode : : OVERWRITE ) ;
utils : : datafile : : Read ( DATA , ITEM_SET_CONFIG , ' , ' , datafile : : OverwriteMode : : OVERWRITE ) ;
auto keys = DATA . GetProperty ( " ItemConfiguration " ) ;
for ( auto & [ key , value ] : keys ) {
std : : string config = DATA [ " ItemConfiguration " ] [ key ] . GetString ( ) ;
utils : : datafile : : Read ( DATA , CONFIG_PATH + " item_directory " _S + config , ' , ' , datafile : : OverwriteMode : : OVERWRITE ) ;
}
}
DEBUG_PATHFINDING = " debug_pathfinding " _I ;
# pragma endregion
sAppName = " GAME_NAME " _S ;
game = this ;
gameStarted = time ( NULL ) ;
}
void AiL : : InitializeGameConfigurations ( ) {
void InitializeGameConfigurations ( ) {
DATA . Reset ( ) ;
utils : : datafile : : Read ( DATA , " assets/config/configuration.txt " ) ;
std : : filesystem : : create_directories ( " save_file_path " _S ) ;
@ -205,11 +223,6 @@ void AiL::InitializeGameConfigurations(){
std : : string ITEM_CONFIG = CONFIG_PATH + " item_config " _S ;
std : : string ITEM_SET_CONFIG = CONFIG_PATH + " item_set_config " _S ;
if ( TestingModeEnabled ( ) ) { //Unit Test-specific custom configurations.
ITEM_CONFIG = CONFIG_PATH + " item-test_config " _S ;
ITEM_SET_CONFIG = CONFIG_PATH + " item_set-test_config " _S ;
}
utils : : datafile : : Read ( DATA , ITEM_CONFIG ) ;
utils : : datafile : : Read ( DATA , ITEM_SET_CONFIG ) ;
}
@ -229,8 +242,6 @@ void AiL::InitializeGameConfigurations(){
utils : : datafile : : Read ( DATA , CONFIG_PATH + " item_directory " _S + config ) ;
}
DEBUG_PATHFINDING = " debug_pathfinding " _I ;
std : : vector < std : : string > values = DATA . GetProperty ( " class_list " ) . GetValues ( ) ;
for ( const std : : string & cl : values ) {
LOG ( cl ) ;
@ -2060,10 +2071,9 @@ void AiL::RenderHud(){
hudOverlay . Draw ( ) ;
Pixel vignetteOverlayColor = " Interface.Vignette Color " _Pixel ;
const float vignetteTotalDisplayTime = " Interface.Vignette Appearance Time " _F + " Interface.Vignette Fadeout Time " _F ;
if ( vignetteDisplayTime < " Interface.Vignette Fadeout Time " _F ) vignetteOverlayColor . a = util : : lerp ( 0 , 255 , vignetteDisplayTime / " Interface.Vignette Fadeout Time " _F ) ;
DrawDecal ( { 0 , 0 } , GFX [ " vignette.png " ] . Decal ( ) , { 1.f , 1.f } , vignetteOverlayColor ) ;
if ( vignetteDisplayTime < " Interface.Vignette Fadeout Time " _F ) vignetteOverlayCol . a = util : : lerp ( 0 , 255 , vignetteDisplayTime / " Interface.Vignette Fadeout Time " _F ) ;
DrawDecal ( { 0 , 0 } , GFX [ " vignette.png " ] . Decal ( ) , { 1.f , 1.f } , vignetteOverlayCol ) ;
}
void AiL : : RenderCooldowns ( ) {
@ -3080,6 +3090,7 @@ int main(const int argn,char**args)
}
}
{
InitializeGameConfigurations ( ) ;
AiL demo ;
demo . UsingSteamAPI ( usingSteam ) ;
@ -4334,8 +4345,9 @@ const float AiL::GetEncounterDuration()const{
return encounterDuration ;
}
void AiL : : ShowDamageVignetteOverlay ( ) {
void AiL : : ShowDamageVignetteOverlay ( const Pixel col ) {
vignetteDisplayTime = " Interface.Vignette Appearance Time " _F + " Interface.Vignette Fadeout Time " _F ;
vignetteOverlayCol = col ;
}
void AiL : : GlobalGameUpdates ( ) {