Reposition stars on resize

This commit is contained in:
Layla Marchant 2020-12-26 00:07:51 -05:00
parent 46ffc40592
commit 135a64e178
No known key found for this signature in database
GPG Key ID: 52FB5C20A8336782
3 changed files with 17 additions and 6 deletions

View File

@ -175,12 +175,7 @@ void game_init()
player.weaponType[0] = W_PLAYER_WEAPON;
player.weaponType[1] = W_ROCKETS;
for (int i = 0 ; i < STARS_NUM ; i++)
{
stars[i].x = rand() % screen->w;
stars[i].y = rand() % screen->h;
stars[i].speed = 1 + (rand() % 3);
}
game_setStars();
weapons_init();
mission_init();
@ -228,6 +223,19 @@ static void game_addDebris(int x, int y, int amount)
}
}
/*
Sets star positions. Must do this any time the window size changes.
*/
void game_setStars()
{
for (int i = 0 ; i < STARS_NUM ; i++)
{
stars[i].x = rand() % screen->w;
stars[i].y = rand() % screen->h;
stars[i].speed = 1 + (rand() % 3);
}
}
/*
Simply draws the stars in their positions on screen and moves
them around.
@ -2789,6 +2797,7 @@ int game_mainLoop()
}
else
{
player_getInput();
LIMIT_ADD(engine.musicVolume, -0.2, 0, 100);
audio_setMusicVolume(engine.musicVolume);
if (SDL_GetTicks() >= engine.missionCompleteTimer)

View File

@ -99,6 +99,7 @@ extern Game game;
extern char game_systemNames[SYSTEM_MAX][STRMAX_SHORT];
void game_init();
void game_setStars();
void game_doStars();
void game_doExplosions();
void game_delayFrame();

View File

@ -458,6 +458,7 @@ void player_getInput()
if (engine.event.window.event == SDL_WINDOWEVENT_SIZE_CHANGED)
{
screen_adjustDimensions(engine.event.window.data1, engine.event.window.data2);
game_setStars();
renderer_reset();
gfx_scaleBackground();
screen_clear(black);