diff --git a/src/editor.c b/src/editor.c index 63b6ecf030..8a924b9d7e 100644 --- a/src/editor.c +++ b/src/editor.c @@ -63,7 +63,7 @@ void editor_load() unpause_sounds(); object_unload_all(); map_init(150); - RCT2_CALLPROC_EBPSAFE(0x006B9CB0); + banner_init(); reset_park_entrances(); user_string_clear_all(); reset_sprite_list(); @@ -211,7 +211,7 @@ void trackdesigner_load() object_unload_all(); map_init(150); set_all_land_owned(); - RCT2_CALLPROC_EBPSAFE(0x006B9CB0); + banner_init(); reset_park_entrances(); user_string_clear_all(); reset_sprite_list(); @@ -248,7 +248,7 @@ void trackmanager_load() object_unload_all(); map_init(150); set_all_land_owned(); - RCT2_CALLPROC_EBPSAFE(0x006B9CB0); + banner_init(); reset_park_entrances(); user_string_clear_all(); reset_sprite_list(); @@ -362,7 +362,7 @@ static void sub_69F06A() RCT2_GLOBAL(0x013CE770, uint32) |= (1 << 0) | (1 << 1) | (1 << 14) | (1 << 2) | (1 << 3); if (!(RCT2_GLOBAL(0x013CE770, uint32) & (1 << 4))) { RCT2_GLOBAL(0x013CE770, uint32) |= (1 << 4); - RCT2_CALLPROC_EBPSAFE(0x006B9CB0); + banner_init(); // 6B9CB0 } if (!(RCT2_GLOBAL(0x013CE770, uint32) & (1 << 6))) { RCT2_GLOBAL(0x013CE770, uint32) |= (1 << 6); diff --git a/src/world/banner.c b/src/world/banner.c index 9a957a83b1..172ab08f7d 100644 --- a/src/world/banner.c +++ b/src/world/banner.c @@ -21,4 +21,14 @@ #include "../addresses.h" #include "banner.h" -rct_banner *gBanners = (rct_banner*)0x0135A124; \ No newline at end of file +rct_banner *gBanners = (rct_banner*)0x0135A124; + +/** + * + * rct2: 0x006B9CB0 + */ +void banner_init() { + for(int i = 0; i < MAX_BANNERS; i++) { + gBanners[i].type = BANNER_NULL; + } +} diff --git a/src/world/banner.h b/src/world/banner.h index f9e7822c96..5e7843818a 100644 --- a/src/world/banner.h +++ b/src/world/banner.h @@ -43,4 +43,6 @@ enum{ extern rct_banner *gBanners; +void banner_init(); + #endif