Git Product home page Git Product logo

mario's Introduction

Mario

A C++ clone of the classic Super Mario Bros. games.

Screenshot

Compiling

You will need a compiler supporting C++11. So far, only mingw-w64-g++ 4.8 on Windows has been used, although the code is very portable. You will also need the following libraries:

  • SDL2
  • SDL2_mixer
  • opengl
  • DevIL
  • boost
  • rapidxml

Resources

These are needed to run the game in it's current form. I've shared them publicly in my Dropbox: http://bit.ly/1myJJk0 Copy everything from there to the /resources directory.

Documentation

This varies depending on the source file. Some are well documented, others could use some serious work. If you follow the path of execution from Main.cpp it should be self-explanitory for the most part.

License

I haven't formally decided on a license for this project yet.

mario's People

Contributors

mitchellsternke avatar richelbilderbeek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mario's Issues

Compiler errors in MainState.cpp

I have two errors on MainState.cpp when trying to run this in Visual Studio. All the libraries have been linked. I haven't been able to find a solution for them: "no instance of function template ________ matches the argument list". See the attached images.
error
error2

Guidance to get started working with the code

I would like to fiddle with the settings a bit, and also reducing boost dependency, if can be.

Any suggestion from your side will be of great help, so that after my modifications it doesn't just end up only in seg faults or undefined references

compile

how to compile this project exactly?
it doesn't have a makefile

i am getting this error when i run your code in ubuntu

/tmp/ccojDm13.o:Main.cpp:(.text+0xd2): undefined reference to IniFile::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccojDm13.o:Main.cpp:(.text+0x3f0): undefined reference to InputManager::Controller::Controller()'
/tmp/ccojDm13.o:Main.cpp:(.text+0x411): undefined reference to InputManager::Controller::mapKey(SDL_Scancode, InputButton)' /tmp/ccojDm13.o:Main.cpp:(.text+0x42b): undefined reference to InputManager::Controller::mapKey(SDL_Scancode, InputButton)'
/tmp/ccojDm13.o:Main.cpp:(.text+0x445): undefined reference to InputManager::Controller::mapKey(SDL_Scancode, InputButton)' /tmp/ccojDm13.o:Main.cpp:(.text+0x45f): undefined reference to InputManager::Controller::mapKey(SDL_Scancode, InputButton)'
/tmp/ccojDm13.o:Main.cpp:(.text+0x479): undefined reference to InputManager::Controller::mapKey(SDL_Scancode, InputButton)' /tmp/ccojDm13.o:Main.cpp:(.text+0x493): more undefined references to InputManager::Controller::mapKey(SDL_Scancode, InputButton)' follow
/tmp/ccojDm13.o:Main.cpp:(.text+0x4de): undefined reference to InputManager::addController(InputManager::Controller*)' /tmp/ccojDm13.o:Main.cpp:(.text+0x68a): undefined reference to SDL_Init'
/tmp/ccojDm13.o:Main.cpp:(.text+0x6b7): undefined reference to Mix_Init' /tmp/ccojDm13.o:Main.cpp:(.text+0x6e2): undefined reference to __imp_ilInit'
/tmp/ccojDm13.o:Main.cpp:(.text+0x71d): undefined reference to Game::Game(GameState*)' /tmp/ccojDm13.o:Main.cpp:(.text+0x729): undefined reference to Game::isRunning() const'
/tmp/ccojDm13.o:Main.cpp:(.text+0x739): undefined reference to Game::update()' /tmp/ccojDm13.o:Main.cpp:(.text+0x747): undefined reference to Game::~Game()'
/tmp/ccojDm13.o:Main.cpp:(.text+0x76e): undefined reference to Game::~Game()' /tmp/ccojDm13.o:Main.cpp:(.text+0x7d9): undefined reference to createGlobals()'
/tmp/ccojDm13.o:Main.cpp:(.text+0x810): undefined reference to SDL_GL_SetAttribute' /tmp/ccojDm13.o:Main.cpp:(.text+0x85a): undefined reference to SDL_CreateWindow'
/tmp/ccojDm13.o:Main.cpp:(.text+0x88c): undefined reference to SDL_GetError' /tmp/ccojDm13.o:Main.cpp:(.text+0x92b): undefined reference to SDL_GL_CreateContext'
/tmp/ccojDm13.o:Main.cpp:(.text+0x94b): undefined reference to SDL_GetError' /tmp/ccojDm13.o:Main.cpp:(.text+0x9f3): undefined reference to Mix_OpenAudio'
/tmp/ccojDm13.o:Main.cpp:(.text+0xa7f): undefined reference to Mix_AllocateChannels' /tmp/ccojDm13.o:Main.cpp:(.text+0xaac): undefined reference to destroyGlobals()'
/tmp/ccojDm13.o:Main.cpp:(.text+0xab1): undefined reference to Mix_HaltMusic' /tmp/ccojDm13.o:Main.cpp:(.text+0xab6): undefined reference to Mix_CloseAudio'
/tmp/ccojDm13.o:Main.cpp:(.text+0xabb): undefined reference to Mix_Quit' /tmp/ccojDm13.o:Main.cpp:(.text+0xac0): undefined reference to SDL_Quit'
/tmp/ccojDm13.o:Main.cpp:(.text+0xc88): undefined reference to IniFile::getValue(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const' /tmp/ccojDm13.o:Main.cpp:(.text+0xe02): undefined reference to IniFile::getValue(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&) const'
/tmp/ccojDm13.o:Main.cpp:(.text$_ZN6LoggerlsEPFRSoS0_E[_ZN6LoggerlsEPFRSoS0_E]+0x98): undefined reference to Logger::notifyListeners(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccojDm13.o:Main.cpp:(.text$_ZN12LoadingStateC1Ev[_ZN12LoadingStateC1Ev]+0x19): undefined reference to GameState::GameState(bool)'
/tmp/ccojDm13.o:Main.cpp:(.text$ZN6LoggerlsIPKcEERS_T[ZN6LoggerlsIPKcEERS_T]+0xa4): undefined reference to Logger::notifyListeners(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccojDm13.o:Main.cpp:(.text$_ZN6LoggerlsIcEERS_T_[_ZN6LoggerlsIcEERS_T_]+0xa3): undefined reference to Logger::notifyListeners(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/tmp/ccojDm13.o:Main.cpp:(.text$ZN6LoggerlsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS_T[ZN6LoggerlsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERS_T]+0xa4): undefined reference to Logger::notifyListeners(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccojDm13.o:Main.cpp:(.text$_ZN6LoggerlsIiEERS_T_[_ZN6LoggerlsIiEERS_T_]+0x9e): undefined reference to Logger::notifyListeners(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
/tmp/ccojDm13.o:Main.cpp:(.text$ZN6LoggerlsIbEERS_T[ZN6LoggerlsIbEERS_T]+0xa3): undefined reference to Logger::notifyListeners(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccojDm13.o:Main.cpp:(.rdata$.refptr.window[.refptr.window]+0x0): undefined reference to window'
/tmp/ccojDm13.o:Main.cpp:(.rdata$.refptr._ZTV12LoadingState[.refptr._ZTV12LoadingState]+0x0): undefined reference to vtable for LoadingState' /usr/lib/gcc/x86_64-w64-mingw32/5.3-win32/../../../../x86_64-w64-mingw32/lib/libmingw32.a(lib64_libmingw32_a-crt0_c.o): In function main':
/build/mingw-w64-_1w3Xm/mingw-w64-4.0.4/mingw-w64-crt/crt/crt0_c.c:18: undefined reference to `WinMain'
collect2: error: ld returned 1 exit status

Request: document how to run a real level

When I run the game, I get an 'Infinite level' with a 1UP and then nothing. Whereas in the resources I see that there are the building blocks of all enemies/blocks/map/etc present.

I hope you will briefly document how to get to use these and play a real level or game.

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.