Pass GameBitmaps to piggy_bitmap_page_in

This commit is contained in:
Kp 2022-06-05 17:44:52 +00:00
parent f36a8e015e
commit 11a0aae9ee
2 changed files with 10 additions and 17 deletions

View file

@ -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<unsigned, 2620> 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<grs_bitmap, MAX_BITMAP_FILES>;
extern std::array<digi_sound, MAX_SOUND_FILES> 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)

View file

@ -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