feat/refactor: player health and overlay display
This commit is contained in:
+2
-6
@@ -93,13 +93,9 @@ void RenderGame(App *app) {
|
|||||||
BeginMode2D(*camera);
|
BeginMode2D(*camera);
|
||||||
RenderComponents(app);
|
RenderComponents(app);
|
||||||
EndMode2D();
|
EndMode2D();
|
||||||
DrawTextureRec(
|
RenderOverlay(&g->mouse);
|
||||||
g->mouse.cursorTexture,
|
|
||||||
(Rectangle){0, 0, g->mouse.cursorTexture.width,
|
|
||||||
g->mouse.cursorTexture.height},
|
|
||||||
(Vector2){g->mouse.screenPosition.x, g->mouse.screenPosition.y}, WHITE);
|
|
||||||
EndTextureMode();
|
EndTextureMode();
|
||||||
|
|
||||||
BeginDrawing();
|
BeginDrawing();
|
||||||
ClearBackground(BLACK);
|
ClearBackground(BLACK);
|
||||||
for (int i = 0; i < SHADER_COUNT; i++) {
|
for (int i = 0; i < SHADER_COUNT; i++) {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#include "app.h"
|
#include "app.h"
|
||||||
#include <raylib.h>
|
|
||||||
|
|
||||||
float playerCollisionRadius = 8.0f;
|
float playerCollisionRadius = 8.0f;
|
||||||
float enemiesCollisionRadius = 8.0f;
|
float enemiesCollisionRadius = 8.0f;
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#include "app.h"
|
||||||
|
#include "raylib.h"
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
|
void RenderOverlay(Mouse *mouse) {
|
||||||
|
|
||||||
|
// Health
|
||||||
|
Player *player = GetPlayer();
|
||||||
|
const char *healthText = TextFormat("%d", player->health);
|
||||||
|
DrawText(healthText, 0, 0, 25, WHITE);
|
||||||
|
|
||||||
|
// Mouse
|
||||||
|
Rectangle mouseRectangle = (Rectangle){0, 0, mouse->cursorTexture.width,
|
||||||
|
mouse->cursorTexture.height};
|
||||||
|
DrawTextureRec(mouse->cursorTexture, mouseRectangle, mouse->screenPosition,
|
||||||
|
WHITE);
|
||||||
|
}
|
||||||
+8
-2
@@ -10,6 +10,8 @@ float playerSpeeds[SPEED_COUNT] = {
|
|||||||
10.0f
|
10.0f
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Config config;
|
||||||
|
|
||||||
playerSpeedID GetPlayerSpeedID(float speed) {
|
playerSpeedID GetPlayerSpeedID(float speed) {
|
||||||
for (int i = 0; i < SPEED_COUNT; i++) {
|
for (int i = 0; i < SPEED_COUNT; i++) {
|
||||||
if (playerSpeeds[i] == speed) {
|
if (playerSpeeds[i] == speed) {
|
||||||
@@ -27,12 +29,15 @@ Player* GetPlayer(void)
|
|||||||
|
|
||||||
void CreatePlayer(void)
|
void CreatePlayer(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
InitConfig(&config, "config/player.ini");
|
||||||
|
int PLAYER_HEALTH_MAX = GetConfigInt(&config, "HEALTH_MAX");
|
||||||
|
|
||||||
TextureAsset startShipAsset = playerTextureAssets[START_SHIP];
|
TextureAsset startShipAsset = playerTextureAssets[START_SHIP];
|
||||||
|
|
||||||
Texture2D texture = LoadTexture(startShipAsset.path);
|
Texture2D texture = LoadTexture(startShipAsset.path);
|
||||||
float frameWidth = startShipAsset.frameWidth;
|
float frameWidth = startShipAsset.frameWidth;
|
||||||
float rotation = startShipAsset.rotation;
|
float rotation = startShipAsset.rotation;
|
||||||
|
|
||||||
|
|
||||||
Sprite playerSprite = {
|
Sprite playerSprite = {
|
||||||
.texture = texture,
|
.texture = texture,
|
||||||
@@ -66,7 +71,8 @@ void CreatePlayer(void)
|
|||||||
.sprite = playerSprite,
|
.sprite = playerSprite,
|
||||||
.animation = playerAnimation,
|
.animation = playerAnimation,
|
||||||
.physics = playerPhysics,
|
.physics = playerPhysics,
|
||||||
.rotation = rotation
|
.rotation = rotation,
|
||||||
|
.health = PLAYER_HEALTH_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ void UpdateProjectiles(Projectiles *projectiles) {
|
|||||||
|
|
||||||
void RenderProjectiles(Projectiles *projectiles) {
|
void RenderProjectiles(Projectiles *projectiles) {
|
||||||
for (int i = 0; i < projectiles->count; i++) {
|
for (int i = 0; i < projectiles->count; i++) {
|
||||||
printf("Projectile Active: %d", projectiles->active[i]);
|
|
||||||
if (projectiles->active[i] == true) {
|
if (projectiles->active[i] == true) {
|
||||||
DrawCircle(projectiles->physics[i].position.x,
|
DrawCircle(projectiles->physics[i].position.x,
|
||||||
projectiles->physics[i].position.y, projectiles->radius[i],
|
projectiles->physics[i].position.y, projectiles->radius[i],
|
||||||
|
|||||||
Reference in New Issue
Block a user