SFTtech / SFTtech/openage

DDS parsing and exporting

Open
#1,285 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: assets good first issue lang: cython lang: python
Dominant language
Python
Stars
14.4k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

Required skills: Python, Cython

Difficulty: Medium

DDS files are used to store terrain textures in the Definitive Editions of AoE1 and AoE2. We will need to convert them to PNG so that they can be used by openage. pillow supports DDS, but their parser is written in Python. For maximum speedup, we should implement A parser written in Cython with Python glue code to attach it to the converter.

Renderdoc has a C++ implementation of a DDS parser that we could use as an inspiration

Further Reading

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the converter entry point and trace how Python glue code attaches format parsers. Read Pillow's DDS support and RenderDoc's C++ DDS implementation, then define completion as DDS terrain textures being converted to PNG through a Cython parser integrated with openage.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
game-dev, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.