Coder Social home page Coder Social logo

cub3d's People

Contributors

fotogiorgo avatar lsileoni avatar

Watchers

 avatar

cub3d's Issues

Norming

Immediate norming is required for rendering and possibly other stuff.

Mlx basic functioning

What needs to be done

Need to integrate the mlx library into the project in order to interact with the X server and render a framebuffer.

How

A good start would be to render a flat color on an image, that was created with mlx.

Fix up libft

Libft is in a bad state, get next line is not up to date and there's no trusty hashtable implementation in sight.

Poor error handling

There's a lack of error handling for many things and in general the whole project needs a deep look.

Lack of a basic workflow

There should be a basic workflow for the project, which makes the project and checks whether it succeeded or not. Just as an additional check to see if there's anything wrong with the project.

Map parser

What needs to be done

There is a need to write a map parser for the program. It takes in a file, which is a stream of bytes and you have to parse out the path to the textures, floor and ceiling RGB colors and the map data itself.

Example map

NO ./path_to_the_north_texture
SO ./path_to_the_south_texture
WE ./path_to_the_west_texture
EA ./path_to_the_east_texture

F 220,100,0 (Floor RGB color)
C 225,30,0 (Ceiling RGB color)

        1111111111111111111111111
        1000000000110000000000001
        1011000001110000000000001
        1001000000000000000000001
111111111011000001110000000000001
100000000011000001110111111111111
11110111111111011100000010001
11110111111111011101010010001
11000000110101011100000010001
10000000000000001100000010001
10000000000000001101010010001
11000001110101011111011110N0111
11110111 1110101 101111010001
11111111 1111111 111111111111

Conditions the map must fulfill

  • The map must be closed/surrounded by walls, if not the program must return an error.
  • Except for the map content, each type of element can be separated by one or more empty line(s).
  • Except for the map content which always has to be the last, each type of element can be set in any order in the file.
  • Except for the map, each type of information from an element can be separated by one or more space(s).
  • The map must be parsed as it looks in the file. Spaces are a valid part of the map and are up to you to handle. You must be able to parse any kind of map, as long as it respects the rules of the map.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.