Operation Null Mind 0.4.1
A 2D roguelike top down shooter game made with SDL2
 
Loading...
Searching...
No Matches
enemy_vantage.h
Go to the documentation of this file.
1
9#pragma once
10#include <enemy.h>
11#include <gun.h>
12
17
18typedef struct {
21 float shootTime;
26
27 // Vantage-specific fields - keep original functionality
28 bool aiming;
29 float aimTime;
30 float aimTimer;
33
38
39void Vantage_Start(EnemyData* data);
40void Vantage_Update(EnemyData* data);
42void Vantage_Render(EnemyData* data);
47
This file contains the definition of the EnemyData struct and its functions.
void Vantage_UpdateGun(EnemyData *data)
Updates the gun position and orientation for the Vantage enemy.
Definition vantage_update.c:27
void Vantage_UpdateParticles()
Updates all particle emitters related to the Vantage enemy.
Definition vantage_update.c:137
ParticleEmitter * VantageBulletEmitter
Definition vantage_start.c:18
ParticleEmitter * VantageCasingEmitter
Definition vantage_start.c:20
void Vantage_UpdateLazer(EnemyData *data)
Updates the laser targeting system for the Vantage enemy.
Definition vantage_update.c:175
VantageConfig VantageConfigData
Definition vantage_data.c:14
void Vantage_RenderParticles()
Definition vantage_render.c:32
void Vantage_Render(EnemyData *data)
Definition vantage_render.c:14
EnemyData VantageData
[Data] Vantage enemy default data
Definition vantage_data.c:71
void Vantage_RenderLaser(EnemyData *data)
Definition vantage_render.c:40
void Vantage_Start(EnemyData *data)
[Start] Initializes a Vantage enemy instance
Definition vantage_start.c:31
ParticleEmitter * VantageMuzzleFlashEmitter
Definition vantage_start.c:19
void Vantage_Update(EnemyData *data)
[PostUpdate] Updates the Vantage enemy's state
Definition vantage_update.c:54
ParticleEmitter * VantageBulletFragmentsEmitter
Definition vantage_start.c:21
Implements weapon systems including animations, shooting mechanics, and particle effects.
Enemy data structure.
Definition enemy.h:103
Gun data structure.
Definition gun.h:116
A struct that represents the configurations of a particle emitter.
Definition particles.h:105
Definition enemy_vantage.h:18
bool shooting
Definition enemy_vantage.h:32
int lazerWidth
Definition enemy_vantage.h:31
float shootTime
Definition enemy_vantage.h:21
bool aiming
Definition enemy_vantage.h:28
Vec2 gunOffset
Definition enemy_vantage.h:24
float aimTime
Definition enemy_vantage.h:29
Vec2 lazerDirection
Definition enemy_vantage.h:35
float directionChangeTimer
Definition enemy_vantage.h:19
float directionChangeTime
Definition enemy_vantage.h:20
Vec2 lastPosition
Definition enemy_vantage.h:25
GunData gun
Definition enemy_vantage.h:23
float aimTimer
Definition enemy_vantage.h:30
float shootTimer
Definition enemy_vantage.h:22
Vec2 lazerEnd
Definition enemy_vantage.h:36
Vec2 lazerStart
Definition enemy_vantage.h:34
A 2D vector structure.
Definition vec2.h:81