I've been working on this some more.
So far I've finished adding support for everything that HDNes currently supports (I believe):
-CHR RAM games
-Custom palettes (palette.dat file)
-Brightness parameter on tiles
On top of this, I've added my own extensions to the format (and gave it version number 100 to avoid any potential numbering conflicts with HDNes). It keeps the same overall format, but adds some things:
1) Conditions: You can use conditions to conditionally replace tiles with different HD tiles based on surrounding tiles, or the presence of a specific tile at a specific point on the screen, etc.
2) Backgrounds: You can define a background image that will be used instead of the NES' background color. This makes it possible, for example, to give a background to the fight sequences in Final Fantasy games, instead of a black background:
3) IPS/BPS patches: It's now possible to ship IPS/BPS patches along with the HD pack itself so that you can, for example, create a HD pack for an existing romhack (or create a romhack specifically for the HD pack)
4) A flag to disable the sprite limit
#Defining a condition that checks if we're on the battle screen, in the crystal tower, in FF3:
#Using that condition to setup a background image (e.g what was shown in the screenshot above):
#Defining an IPS patch to use with the HD pack:
#Disabling the sprite limit:
I think that's about it for additions to the HD pack format.
On top of this, I also added a tile dumping tool to Mesen that dumps a game's graphics as you play through the game. The PNG files created display the tiles in the same order that they were placed in CHR ROM/RAM, which usually makes sense. There are a few options to try and get the best results possible based on the game (it's by no means perfect, but it's a decent starting point to making an HD pack)
Technically speaking, after playing through the entire game with the dumping tool turned on, the "only" thing left to do is to redraw the PNG files with better graphics (which is probably the most time consuming part of the process).
The tool allows you to select what scale/filter you want to dump the tiles with - so you can dump the tiles as they appear with the xBRZ filter, for example, and use that as a starting point to redraw them properly in HD.
The tool doesn't actually let you manually modify the contents of a HD pack, though - this still needs to be done manually by editing the text file (at least for now)
There's still a little bit of work to get done (and most likely bugs to fix), but I'm slowly getting there.