sm64-port icon indicating copy to clipboard operation
sm64-port copied to clipboard

FEATURE - Use bottom screen as map per DS

Open mkst opened this issue 4 years ago • 1 comments

Intro

image

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:

image image image image image image image

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.

mkst avatar Aug 25 '20 10:08 mkst

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.

Screenshot_Level_6_1598816778406

stranno avatar Aug 30 '20 19:08 stranno