Merge remote-tracking branch 'origin'

This commit is contained in:
2025-10-06 19:32:12 +01:00
65 changed files with 316 additions and 84 deletions

View File

@@ -9,6 +9,9 @@
void UpdateWorld(F32 delta, World *world)
{
if(world->bandit.mode == BANDIT_SHOOTOUT){
delta = delta/4;
}
UpdateBandit(delta, &world->bandit, world);
UpdateNPCs(delta, world);
PlayerUpdate(delta, &world->player);
@@ -21,7 +24,7 @@ void UpdateNPCs(F32 delta, World *world)
NPC *npc = &world->npcs[i];
UpdateNPC(delta, npc, world);
if (
world->player.controls.shot && AABB_Slab(world->player.pos, world->player.shotPos, npc->collision) && npc->currentArea == world->player.currentArea)
world->player.controls.shot && AABB_Slab(world->player.collision.pos, world->player.shotPos, npc->collision) && npc->currentArea == world->player.currentArea)
{
printf("You shot %*.s\n", Sv(world->npcs[i].name));
}
@@ -50,7 +53,7 @@ void RenderWorld(World *world, D_Context *draw) {
);
}
}
for (int i = 0; i < world->propCount; i++) {
for (U32 i = 0; i < world->propCount; i++) {
if(world->props[i].area == world->player.currentArea) {
D_Rect(
draw,
@@ -82,10 +85,13 @@ void RenderWorld(World *world, D_Context *draw) {
V2f drawPos = AABB_Centre(world->bandit.collision);
D_Rect(draw, drawPos.x, drawPos.y, .texture = 9);
}
D_Rect(draw, world->player.pos.x, world->player.pos.y, .texture = 1);
PlayerDraw(draw, &world->player);
}
void SaveWorld(M_Arena *arena, World *world) {
(void) arena;
printf("Saving world\n");
OS_Handle file = FS_FileOpen(S("world.sgdat"), FS_ACCESS_WRITE);
U32 offset = 0;