diff --git a/common/main/piggy.h b/common/main/piggy.h index 4f9440a99..7c6182461 100644 --- a/common/main/piggy.h +++ b/common/main/piggy.h @@ -99,8 +99,6 @@ int piggy_find_sound(const char *name); void piggy_read_bitmap_data(grs_bitmap * bmp); namespace dsx { void piggy_read_sound_data(digi_sound *snd); -} - void piggy_load_level_data(); #if defined(DXX_BUILD_DESCENT_I) @@ -112,20 +110,15 @@ constexpr std::integral_constant MAX_BITMAP_FILES{}; #endif #define MAX_SOUND_FILES MAX_SOUNDS - -namespace dsx { -extern void piggy_bitmap_page_in( bitmap_index bmp ); -void piggy_bitmap_page_out_all(); - using GameBitmaps_array = std::array; extern std::array GameSounds; extern GameBitmaps_array GameBitmaps; -# define PIGGY_PAGE_IN(bmp) _piggy_page_in(bmp) -static inline void _piggy_page_in(bitmap_index bmp) { +void piggy_bitmap_page_in(GameBitmaps_array &, bitmap_index bmp); +# define PIGGY_PAGE_IN(bmp) _piggy_page_in(GameBitmaps, bmp) +static inline void _piggy_page_in(GameBitmaps_array &GameBitmaps, bitmap_index bmp) +{ if (GameBitmaps[bmp.index].get_flag_mask(BM_FLAG_PAGED_OUT)) - { - piggy_bitmap_page_in( bmp ); - } + piggy_bitmap_page_in(GameBitmaps, bmp); } #if defined(DXX_BUILD_DESCENT_I) diff --git a/similar/main/piggy.cpp b/similar/main/piggy.cpp index c2c3244c8..3c00c125d 100644 --- a/similar/main/piggy.cpp +++ b/similar/main/piggy.cpp @@ -198,6 +198,7 @@ struct DiskSoundHeader namespace dsx { namespace { +static void piggy_bitmap_page_out_all(); #if defined(DXX_BUILD_DESCENT_II) #define D1_MAX_TMAP_NUM 1630 // 1621 in descent.pig Mac registered @@ -1303,7 +1304,7 @@ void piggy_read_sounds(void) } #endif -void piggy_bitmap_page_in( bitmap_index bitmap ) +void piggy_bitmap_page_in(GameBitmaps_array &GameBitmaps, const bitmap_index bitmap) { grs_bitmap * bmp; int i,org_i; @@ -1463,11 +1464,10 @@ void piggy_bitmap_page_in( bitmap_index bitmap ) //@@ Error( "Error modifying selector base in piggy.c\n" ); //@@ } //@@#endif - -} } -namespace dsx { +namespace { + void piggy_bitmap_page_out_all() { int i; @@ -1486,6 +1486,7 @@ void piggy_bitmap_page_out_all() } } + } void piggy_load_level_data() @@ -1494,7 +1495,6 @@ void piggy_load_level_data() paging_touch_all(Vclip); } -namespace dsx { namespace { #if defined(DXX_BUILD_DESCENT_II) #if DXX_USE_EDITOR