| ▼ include | |
| ▼ App | |
| app.h | This file contains the definition of the AppData struct, and the 6 main routine functions inside main.c |
| ▼ Core | |
| ► UI | |
| UI.h | Defines the base UI element structure for the user interface system |
| UI_button.h | Defines button components for the user interface system |
| UI_text.h | Implements text rendering and management for the UI system |
| camera.h | Provides camera functionality for world-to-screen coordinate conversion |
| colliders.h | Defines the collider system for collision detection |
| input.h | Handles mouse and keyboard input processing for the game |
| sound.h | Manages audio playback for music and sound effects |
| time_system.h | Manages time-related functionality for frame rate independence and timing |
| vec2.h | Provides 2D vector functionality for positions, directions, and transformations |
| ▼ Game | |
| ► Enemy | |
| ► Types | |
| enemy_echo.h | This file contains the data for the enemy Echo |
| enemy_juggernaut.h | This file contains the data for the Juggernaut enemy type |
| enemy_kamikaze.h | This file contains the data for the enemy Echo |
| enemy_libet.h | |
| enemy_proxy.h | This file contains the data for the Proxy enemy type |
| enemy_radius.h | This file contains the data for the Radius enemy type |
| enemy_recharge.h | This file contains the data for the Recharge enemy type |
| enemy_sabot.h | This file contains the data for the Sabot enemy type |
| enemy_sentry.h | This file contains the data for the Sentry enemy type |
| enemy_tactician.h | This file contains the data for the Tactician enemy type |
| enemy_vantage.h | This file contains the data for the Vantage enemy type |
| enemy.h | This file contains the definition of the EnemyData struct and its functions |
| enemy_types.h | This file includes every .h files inside include/Game/Enemy/Types |
| ► Environment | |
| chunks.h | Implements environment chunks that form game maps and rooms |
| maps.h | Manages game world maps composed of environment chunks |
| tiles.h | Defines and manages environment tiles for game world construction |
| ► Interactables | |
| interactable.h | |
| interactable_crate.h | |
| logs.h | |
| ► Menus | |
| controls.h | Controls screen interface for displaying game controls to the player |
| death.h | Manages the game's pause screen functionality and display |
| hud.h | |
| level_transition.h | |
| menu.h | Manages game main menu system, including rendering and user interactions |
| minimap.h | Minimap functionality for the game's navigation system |
| mission_briefing.h | |
| pause.h | Manages the game's pause screen functionality and display |
| win.h | |
| bullet.h | Handles bullet functionality, including creation, movement and collision |
| game.h | |
| gun.h | Implements weapon systems including animations, shooting mechanics, and particle effects |
| player.h | Manages player character state, movement, animations, and interactions |
| ▼ Utilities | |
| ► Particles | |
| particle_emitterpresets.h | Defines preset particle emitter configurations for common visual effects |
| particle_movement.h | Provides custom movement behaviors for particles |
| particles.h | A particle system for visual effects and environmental elements |
| animation.h | A simple animation system capable of loading a spritesheet with fixed sized frames |
| circle.h | |
| debug.h | Provides debug visualization and information display functionality |
| initialize_SDL.h | Initializes SDL libraries, renderer, windows and other required systems |
| lazer_system.h | |
| random.h | Provides random number generation functionality for integers, floats, and boolean values |
| timer.h | Provides timing functionality for cooldowns, fire rates, animations, and other time-based features |
| ▼ src | |
| ▼ App | |
| app_render.c | Main rendering pipeline |
| ▼ Core | |
| ► UI | |
| UI_text.c | Text rendering and management for UI elements |
| camera.c | Game camera system |
| colliders.c | Collision detection system |
| sound.c | Sound system implementation |
| time_system.c | Game timing and frame rate management |
| vec2.c | 2D vector operations library |
| ▼ Game | |
| ► Enemy | |
| ► Base | |
| enemy_bossmanager.c | |
| enemy_manager.c | Manages enemy spawning and room encounters |
| enemy_render.c | Renders all enemy types |
| enemy_spawn.c | Handles enemy spawning and initialization |
| enemy_start.c | Initializes the enemy system |
| enemy_takedamage.c | Handles enemy damage and health |
| enemy_update.c | Core enemy update system |
| ► Types | |
| ► Echo | |
| echo_data.c | Contains data definitions for Echo enemy type |
| echo_render.c | Renders Echo enemy type |
| echo_start.c | Initializes Echo enemy instances |
| echo_update.c | Implements update logic for Echo enemy type |
| ► Juggernaut | |
| juggernaut_data.c | Contains data definitions for Juggernaut enemy type |
| juggernaut_render.c | Renders Juggernaut enemy type |
| juggernaut_start.c | Initializes Juggernaut enemy instances |
| juggernaut_update.c | Implements update logic for Juggernaut enemy type |
| ► Kamikaze | |
| kamikaze_data.c | |
| kamikaze_render.c | |
| kamikaze_start.c | |
| kamikaze_update.c | |
| ► Libet | |
| libet_data.c | |
| libet_render.c | |
| libet_start.c | |
| libet_update.c | |
| ► Proxy | |
| proxy_data.c | Contains data definitions for Proxy enemy type |
| proxy_render.c | Renders Proxy enemy type |
| proxy_start.c | Initializes Proxy enemy instances |
| proxy_update.c | Implements update logic for Proxy enemy type |
| ► Radius | |
| radius_data.c | Contains data definitions for Radius enemy type |
| radius_render.c | Renders Radius enemy type |
| radius_start.c | Initializes Radius enemy instances |
| radius_update.c | Implements update logic for Radius enemy type |
| ► Recharge | |
| recharge_data.c | Contains data definitions for Recharge enemy type |
| recharge_render.c | Renders Recharge enemy type |
| recharge_start.c | Initializes Recharge enemy instances |
| recharge_update.c | Implements update logic for Recharge enemy type |
| ► Sabot | |
| sabot_data.c | Contains data definitions for Sabot enemy type |
| sabot_render.c | Renders Sabot enemy type |
| sabot_start.c | Initializes Sabot enemy instances |
| sabot_update.c | Implements update logic for Sabot enemy type |
| ► Sentry | |
| sentry_data.c | Contains data definitions for Sentry enemy type |
| sentry_render.c | Renders Sentry enemy type |
| sentry_start.c | Initializes Sentry enemy instances |
| sentry_update.c | Implements update logic for Sentry enemy type |
| ► Tactician | |
| tactician_data.c | Contains data definitions for Tactician enemy type |
| tactician_render.c | Renders Tactician enemy type |
| tactician_start.c | Initializes Tactician enemy instances |
| tactician_update.c | Implements update logic for Tactician enemy type |
| ► Vantage | |
| vantage_data.c | Contains data definitions for Vantage enemy type |
| vantage_render.c | Renders Vantage enemy type |
| vantage_start.c | Initializes Vantage enemy instances |
| vantage_update.c | Implements update logic for Vantage enemy type |
| ► Environment | |
| ► Chunks | |
| chunk_create.c | Creates and initializes environment chunks |
| chunk_data.c | Contains chunk data structures and default values |
| chunk_render.c | Renders environment chunks |
| chunk_start.c | Initializes the chunk system |
| chunk_utils.c | Utility functions for environment chunks |
| ► Maps | |
| map_create.c | Implements procedural map generation |
| map_data.c | Contains map data structures and default values |
| map_render.c | Handles rendering of the game map |
| map_start.c | Initializes the map generation system |
| ► Tiles | |
| tile_data.c | Contains definitions for tile types and resources |
| tile_render.c | Handles tile rendering with optimizations |
| tile_start.c | Initializes the tile system |
| tile_utils.c | Utility functions for tile-based environment |
| ► Gun | |
| ► Base | |
| gun_animations.c | Handles weapon animation states and transitions |
| gun_data.c | Contains definitions for all weapon types |
| gun_position.c | Implements a generalized gun positioning system for all entity types |
| gun_render.c | Handles rendering of weapons and weapon effects |
| gun_start.c | Initializes the weapon system |
| gun_update.c | Handles gun positioning, animation and state updates |
| ► Bullet | |
| bullet_render.c | Handles rendering of bullets and impact effects |
| bullet_start.c | Initializes the bullet system |
| bullet_update.c | Handles bullet movement and collision logic |
| ► Interactables | |
| ► Base | |
| interactable_create.c | |
| interactable_data.c | |
| interactable_render.c | |
| interactable_start.c | |
| interactable_update.c | |
| ► Environment | |
| interactable_crate.c | |
| ► Items | |
| interactable_abilities.c | |
| interactable_gun.c | |
| interactable_health.c | |
| ► Narrative | |
| logs.c | |
| ► Menu | |
| controls.c | Implements the controls screen for Operation Null Mind |
| death_layout.c | Implements the death screen |
| hud.c | |
| level_transitioning.c | |
| menu_layout.c | Implements the main menu interface |
| minimap.c | Implements the minimap display system |
| mission_briefing.c | |
| pause_layout.c | Implements the pause menu screen |
| win_layout.c | Implements the win screen |
| ► Player | |
| ► Base | |
| player_animations.c | Player animation system implementation |
| player_data.c | Contains player data definitions and default values |
| player_input_handler.c | Processes player input for character control |
| player_postupdate.c | Post-update logic for the player character |
| player_preupdate.c | Pre-update logic for the player character |
| player_render.c | Handles rendering of the player character |
| player_start.c | Initializes the player character |
| ► Gameplay | |
| player_combat.c | Implements player combat functionality |
| player_handlecollision.c | Handles player collisions with the environment and entities |
| player_movement.c | Handles player character movement |
| player_skills.c | Implements player special abilities and skills |
| game.c | |
| ▼ Utilities | |
| ► Particles | |
| particle_emitterpresets.c | Contains preset configurations for particle emitters |
| particle_movement.c | Contains movement patterns for particles |
| particles.c | Implements the particle system for visual effects |
| animation.c | Sprite animation system implementation |
| circle.c | |
| debug.c | Debug visualization and information tools |
| lazer_system.c | |
| random.c | Random number generation utilities |
| timer.c | Implementation of the timer utility |