sm64-port
sm64-port copied to clipboard
FEATURE - Use bottom screen as map per DS
Intro
The DS version of SM64 used the bottom screen for a map (as well as other HUD (HDD?) elements). Rather than having a blank screen, or configuration, we could/should leverage the bottom screen for a map in the 3DS port too.
Considerations
Any assets being distributed as part of the repo need to be free from (Nintendo) copyright. If we wish to use any sprites/assets from either N64 or DS versions they should be extracted from the ROM at compile-time.
TBD: are Blender exports of levels subject to copyright?
Progress:
Versions:
There are a couple ways to do this, lets call them "1.0" and "2.0". Ideally lessons learnt doing 1.0 will transfer to 2.0
1.0
This is the 'lets just get something working' version
- [ ] Create PNG backgrounds (256x256) for each level (WIP)
- [x] UNKNOWN_1
- [x] UNKNOWN_2
- [x] UNKNOWN_3
- [ ] BBH
- [x] CCM
- [x] Area 1
- [x] Area 2
- [ ] CASTLE
- [x] Area 1
- [ ] Area 2
- [x] Area 3
- [ ] HMC
- [ ] SSL
- [ ] Area 1
- [ ] Area 2
- [ ] Area 3
- [X] BOB; done by me, happy to take improvements
- [ ] SL
- [ ] Area 1
- [ ] Area 2
- [ ] WDW
- [ ] Area 1
- [ ] Area 2
- [ ] JRB
- [x] Area 1
- [ ] Area 2
- [ ] THI
- [ ] Area 1
- [ ] Area 2
- [ ] Area 3
- [ ] TTC
- [ ] RR
- [x] CASTLE_GROUNDS
- [x] Moat
- [x] Drained
- [ ] BITDW
- [ ] VCUTM
- [ ] BITFS
- [ ] SA
- [ ] BITS
- [ ] LLL
- [x] Area 1; done by me, happy to take improvements
- [ ] Area 2
- [ ] DDD
- [ ] Area 1
- [ ] Area 2
- [x] WF; done by me, happy to take improvements
- [ ] ENDING
- [ ] CASTLE_COURTYARD
- [ ] PSS
- [ ] COTMC
- [ ] TOTWC
- [x] BOWSER_1
- [ ] WMOTR
- [x] UNKNOWN_32
- [ ] BOWSER_2
- [ ] BOWSER_3
- [x] UNKNOWN_35
- [ ] TTM
- [ ] Area 1
- [ ] Area 2
- [ ] Area 3
- [ ] Area 4
- [x] UNKNOWN_37
- [x] UNKNOWN_38
- [x] Draw the correct background based on the current level being played
- [x] Draw the correct background based on the current AREA of the level being played
- [x] Determine Mario's X/Y world position and map (via scale/offset) into 0-256 and 0-256 coords
- [x] Overlay some kind of 'red dot' for Mario's position
- [x] Sprite for Mario rather than square
- [x] Background colour to fill transparent areas per DS version
- [x] Display arrow for direction Mario is facing
2.0
- [ ] Use higher resolution png (512x512? 1024x1024? e.g, tile 4x 256x256 to make a 512x512 map)
- [ ] TOGGLE: Rotate map based on Mario's direction (Mario always at origin 0,0, (or 160,120 - i.e. centre of the screen))
- [ ] Zoom png based on user input?
- [ ] Overlay assets, stars? other points of interest?
- [ ] Change minimap based on x/y/z location of Mario e.g. Castle and BBH, levels with multiple vertical levels.
Zoom feature could come handy since, using SM64DS Editor, you can render all objects/enemies of the field on a map. I would be an useful map-guide feature.