Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Menu backgrounds #6

Closed
5 tasks done
FolkertVanVerseveld opened this issue May 18, 2017 · 2 comments
Closed
5 tasks done

Menu backgrounds #6

FolkertVanVerseveld opened this issue May 18, 2017 · 2 comments

Comments

@FolkertVanVerseveld
Copy link
Owner

FolkertVanVerseveld commented May 18, 2017

The backgrounds use a custom text file format which contains multiple
reference IDs to shp/slp files. In order to properly render backgrounds
we have to:

  • reverse engineer custom background file format
    • determine dimensions
    • extract palette
  • reverse engineer rendering technique
  • extend draw menu/rendering subsystem

The dimensions are probably hardcoded, since all supported fullscreen
resolutions are 640x480, 800x600, 1024x768 and 1280x1024 were 800x600 is
the best fit and other dimensions just stretch the background to make it
fit.

The rendering process is probably just blitting the background picture,
but we have to reverse engineer this to make sure that's all that's
required.

@FolkertVanVerseveld
Copy link
Owner Author

The aoesetup.exe program does not seem to do any post processing after
loading the RT_BITMAP resources. empires.exe probably doesn't do this
either, but we have to verify this.

The setup main screen and its buttons are loaded and displayed
correctly. Transparent pixels are not handled yet.

@FolkertVanVerseveld
Copy link
Owner Author

The game now properly renders background menus! This milestone means a
lot to me, because it took many months to reverse-engineer the whole
process. Finally, we can close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant