openage icon indicating copy to clipboard operation
openage copied to clipboard

Implement a parser for the new sprite format

Open Vtec234 opened this issue 7 years ago • 8 comments

Contributing to the new renderer:

The renderer interface is defined in headers, with the main class in libopenage/renderer/renderer.h. A good place to start looking is libopenage/renderer/tests.cpp, which presents a sample usage of the renderer. To run the test, after compiling Openage do ./run test -vd renderer.tests.renderer_demo 0.

Required knowledge:

  • Reading a file and parsing a regular language
  • You need to be familiar with how animations can be drawn from texture atlases.

What to modify:

  1. The new sprite format is defined in this doc. A parser for it should be implemented in libopenage/renderer/resources, using the existing Texture2d.. classes to store the actual data. The sprite could be stored in a class such as Sprite2dAnimated.
  2. A test for drawing animations with these sprites should be added to libopenage/renderer/tests.cpp, e.g. as test number 1. The animation timing logic should not be added to the renderer itself, but rather implemented on top of it.
  3. Documentation should be added to every new header and existing documentation updated to reflect changes.

Vtec234 avatar Oct 06 '18 13:10 Vtec234

I would like to do this contribution.

Montx avatar Oct 07 '18 11:10 Montx

@Montx feel free to ask on IRC/Matrix about anything you might need.

Vtec234 avatar Oct 07 '18 14:10 Vtec234

Please include the documentation draft in the pull request so it becomes official (as doc/media/sprites.md).

TheJJ avatar Oct 07 '18 16:10 TheJJ

Sorry guys I thought I could pick this one up but I am on a mac and I can't update it to Mojave yet. So there are some functions on the game that are not supported by High Sierra. Currently I don't have my windows setup, and I can't mess with this mac, since it's not mine :/ Really frustrated with this, I could not find any work around. I hope I can still do some contributions in the future. Will continue to try and get a workaround.

Montx avatar Oct 09 '18 17:10 Montx

I think I can handle this one. I've implemented SpriteSheet parsing and animation in MonoGame before. Just need to smash through those Windows build errors. 😝

Firearrow5235 avatar Jan 28 '19 23:01 Firearrow5235

@Firearrow5235 I attached a yaml-File for appveyor that should help you setting up your own pipeline. You still need to change the file extension and change some stuff inside. But openage should be building fine with this on windows. So you don't need to smash through those build errors. ;-)

appveyor_vcpkg.yml.txt

simonsan avatar Sep 23 '19 10:09 simonsan

How can I contribute to this project? please let me know.

aakashsoni-cloud avatar Oct 22 '19 15:10 aakashsoni-cloud

@Aakash10-Coder You could read a bit through our contribution guide. Also I would recommend to pass by in the developers chat to figure out with the other people what can be done. :-)

simonsan avatar Oct 22 '19 16:10 simonsan