Skip to content

Internal Resources

Core implementation zones used most during development and review:

  • include/ for shared headers, constants, structs, and APIs
  • srcs/ for the mandatory and core engine: parsing, validation, input, rendering, shutdown
  • srcs_bonus/ for bonus systems: retro, minimap, doors, pickups, sprites, HUD, levels, and no-op stubs
  • maps/ for mandatory and bonus example or playable maps
  • tests/ for parser, validation, render, and bonus test maps plus test scripts
  • textures/ for mandatory and bonus texture assets
  • minilibx/ and libft/ for dependencies used by the build

Build:

Terminal window
make
make bonus

Tests:

Terminal window
make test
make test_bonus

Quality checks:

Terminal window
norminette include srcs srcs_bonus
valgrind --leak-check=full --track-fds=yes ./cub3D <map.cub>
valgrind --leak-check=full --track-fds=yes ./cub3D_bonus <map.cub>

Useful folders for quick verification:

  • tests/mandatory/parser/ for parser cases
  • tests/mandatory/validation/ for map validation cases
  • tests/mandatory/render/ for render sanity checks
  • tests/bonus/ for bonus runtime cases
  • tests/mandatory/init/ for init and texture failure cases
  • mandatory entry: srcs/core/main.c
  • frame loop hook target: srcs/render/render_frame.c
  • parser flow root: srcs/parsing/parse_file.c
  • map closure checks: srcs/validation/validate_map_closed.c
  • levels and progression: srcs_bonus/levels/
  • doors: srcs_bonus/doors/
  • pickups and stats: srcs_bonus/pickups/
  • sprites: srcs_bonus/sprites/
  • HUD: srcs_bonus/hud/
  • retro, minimap, walls, and shading: srcs_bonus/retro/

Documentation-specific screenshots or demo captures belong in the documentation repository rather than the cub3D runtime repository.