News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Arcana - Seal of Rimsala! (SNES)  (Read 124566 times)

Sarah Shinespark

  • Full Member
  • ***
  • Posts: 122
  • Creator of Arcana: Seal of Rimsala
    • View Profile
Re: Arcana - Seal of Rimsala! (SNES)
« Reply #200 on: July 12, 2021, 01:18:07 am »
OK, I can work on an equip that gives bonus gold! Plenty of worthless chests to replace with awesome new finds.

So I wanted to brag a little; I wrote a new program that extracts and prints the game's maps, and it works for both vanilla mods and SOR. I'll look into generating a RTF file, until then the highlighting was done manually. Please check it out! I'd like to know how readable it is.

Special

  • Sr. Member
  • ****
  • Posts: 366
    • View Profile
Re: Arcana - Seal of Rimsala! (SNES)
« Reply #201 on: July 12, 2021, 01:33:16 am »
Hey I downloaded your recent update and noticed that all the docs (maps, treasures, etc.) were now turned into PDFs, any chance your can bring them back in "txt" form again, PDFs are a pain to open sometimes whereas a simple .txt file in notepad is much easier.

odditude

  • Jr. Member
  • **
  • Posts: 68
    • View Profile
Re: Arcana - Seal of Rimsala! (SNES)
« Reply #202 on: July 12, 2021, 01:46:23 am »
OK, I can work on an equip that gives bonus gold! Plenty of worthless chests to replace with awesome new finds.

So I wanted to brag a little; I wrote a new program that extracts and prints the game's maps, and it works for both vanilla mods and SOR. I'll look into generating a RTF file, until then the highlighting was done manually. Please check it out! I'd like to know how readable it is.

that's really nifty!

i'd ask that if you do add RTF export, keep the plaintext export as an option - that output is easier to parse if you want to programmatically generate a "pretty" map (such as one that does the different encounter zones as different shades).

speaking of which, are you willing to provide that raw text output?

Sarah Shinespark

  • Full Member
  • ***
  • Posts: 122
  • Creator of Arcana: Seal of Rimsala
    • View Profile
Re: Arcana - Seal of Rimsala! (SNES)
« Reply #203 on: July 12, 2021, 10:16:25 am »
All of my programs generate in plaintext, I prefer it too. I printed to PDF because IIRC someone had trouble viewing the maps; figured the tabs/spacing weren't the same on their computer so I did it to show what it looked like on mine. The maps are 95 characters per line (32 bytes single spaced) so they don't really work on mobile.

But sure, I can go back to txt and provide PDF separately.
Vanilla maps
SOR maps

My next goal with these is to add the treasure chest locations and the monster encounters per tile.
Here's my mockup  :beer:
« Last Edit: July 12, 2021, 10:23:36 am by Sarah Shinespark »

odditude

  • Jr. Member
  • **
  • Posts: 68
    • View Profile
Re: Arcana - Seal of Rimsala! (SNES)
« Reply #204 on: July 12, 2021, 01:26:22 pm »
 :beer:

Sarah Shinespark

  • Full Member
  • ***
  • Posts: 122
  • Creator of Arcana: Seal of Rimsala
    • View Profile
Re: Arcana - Seal of Rimsala! (SNES)
« Reply #205 on: July 14, 2021, 02:11:58 am »
OK, the treasure reader is re-written!
Vanilla treasures

Next step is combining both, like [Balnia 1F] [Treasures 1F] [Balnia 2F] etc. I made the data formats easy to combine, but the trick is going to be having the program edit the maps to indicate WHICH treasure is which by going off the coordinates.

By the way, after seeing every treasure in the game I noticed there are two unreachable chests in vanilla Arcana, both in Icicle Dungeon. Two of the dead ends (green circles) are supposed to have a Restore Honey and MP Honey, but their coordinates are off; the game has the treasures' Y-positions as 1B (27) instead of 0B (11). Even if you try getting the treasures there (in the outermost donuts at the bottom), the game won't load their chests because it also checks the map for a "treasure tile" before drawing a treasure chest. Incidentally, treasure tiles are no-encounter tiles, so if you knew about this you could spin where the chests *should* be (green circles) and let your spirits recover.


Sure wish I could generate maps like that myself, would be super fun to draw on my own maps like that.


Oh, I found something neat! There's lots of unused map display tiles. Some would be really useful, and some look like they're used for marking the map as you go.



Some map musings:
The Map command displays a 16x16 grid. Full maps are 32x32, so this map is 1/4 scale. I'd love to add code to move the map around, but I think the code only renders the 16x16; need to investigate this. The code for generating the map is some kind of nested loop that updates square tiles into corner tiles etc, intuition tells me it's super inefficient and could be optimized. In addition, this code is ran EVERY time you open the map. If it was changed to drawing the whole map to RAM when you enter the floor and just turning off the tiles you haven't reached, loading new floors could be slower but opening the map would be way faster. (The map sprite #'s are written to RAM Fxxx and transferred to VRAM xxx). Also, I'm very close to being able to set the entire map to "seen", and I'm thinking about making an Easy Vanilla patch where the maps are already drawn. I'll combine it with the above discovery so you can see doors and event tiles too.

Also also, having bosses/events show up on the map is useless if you can't see them ahead of time. What if the map was updated slightly ahead of you?
« Last Edit: July 21, 2021, 12:47:07 pm by Sarah Shinespark »

Sarah Shinespark

  • Full Member
  • ***
  • Posts: 122
  • Creator of Arcana: Seal of Rimsala
    • View Profile
Re: Arcana - Seal of Rimsala! (SNES)
« Reply #206 on: July 21, 2021, 10:16:12 am »
I'm starting to suspect that the bugs in FastROM patch might actually be vanilla bugs  :huh: Was playing vanilla in Geiger's Debugger and got the Shaman game freeze bug.

reyvgm

  • Hero Member
  • *****
  • Posts: 1238
    • View Profile
Re: Arcana - Seal of Rimsala! (SNES)
« Reply #207 on: July 22, 2021, 10:09:47 am »
OK, the treasure reader is re-written!
Vanilla treasures

Next step is combining both, like [Balnia 1F] [Treasures 1F] [Balnia 2F] etc. I made the data formats easy to combine, but the trick is going to be having the program edit the maps to indicate WHICH treasure is which by going off the coordinates.

By the way, after seeing every treasure in the game I noticed there are two unreachable chests in vanilla Arcana, both in Icicle Dungeon. Two of the dead ends (green circles) are supposed to have a Restore Honey and MP Honey, but their coordinates are off; the game has the treasures' Y-positions as 1B (27) instead of 0B (11). Even if you try getting the treasures there (in the outermost donuts at the bottom), the game won't load their chests because it also checks the map for a "treasure tile" before drawing a treasure chest. Incidentally, treasure tiles are no-encounter tiles, so if you knew about this you could spin where the chests *should* be (green circles) and let your spirits recover.


Sure wish I could generate maps like that myself, would be super fun to draw on my own maps like that.


Oh, I found something neat! There's lots of unused map display tiles. Some would be really useful, and some look like they're used for marking the map as you go.



Some map musings:
The Map command displays a 16x16 grid. Full maps are 32x32, so this map is 1/4 scale. I'd love to add code to move the map around, but I think the code only renders the 16x16; need to investigate this. The code for generating the map is some kind of nested loop that updates square tiles into corner tiles etc, intuition tells me it's super inefficient and could be optimized. In addition, this code is ran EVERY time you open the map. If it was changed to drawing the whole map to RAM when you enter the floor and just turning off the tiles you haven't reached, loading new floors could be slower but opening the map would be way faster. (The map sprite #'s are written to RAM Fxxx and transferred to VRAM xxx). Also, I'm very close to being able to set the entire map to "seen", and I'm thinking about making an Easy Vanilla patch where the maps are already drawn. I'll combine it with the above discovery so you can see doors and event tiles too.

Also also, having bosses/events show up on the map is useless if you can't see them ahead of time. What if the map was updated slightly ahead of you?

Add the unused stuff to TCRF.net !
If you don't feel like it, then compile the unused stuff somewhere with a description of what it is and I'll add it and give you credit for it.

Sarah Shinespark

  • Full Member
  • ***
  • Posts: 122
  • Creator of Arcana: Seal of Rimsala
    • View Profile
Re: Arcana - Seal of Rimsala! (SNES)
« Reply #208 on: July 22, 2021, 02:47:59 pm »
Add the unused stuff to TCRF.net !
If you don't feel like it, then compile the unused stuff somewhere with a description of what it is and I'll add it and give you credit for it.
I did  8) Looks like you found it, too.
There's a lot of other textures that don't make sense, probably part of graphics elsewhere.

Oh yeah, I released a vanilla patch that makes all maps visible. It just changes the instruction "get the map completion bytes" to "get FF". Well that was easy!


Speaking of maps, here's the 256 map tiles... at least the ones loaded in this scene. Most of them are wall textures, which show the wrong palette when the map is up. Hmm, if I REALLY wanted to I could redraw the dungeon walls... but I don't want to. Again, those graphics are saved to RAM 7EF980 -> VRAM 980. Really easy to trace from there.



I found the code for all of the menu commands, so I can rearrange them or call them elsewhere. I want to make shortcuts so opening the menu isn't always necessary (A=Open, Y=Map, L=Inventory, R=Magic), but unfortunately the commands' code is in sub-assembly which is much harder to read and inject. There's plenty of room for me to jump somewhere else, but I'm not sure how to return from a jump in that language.


Quote from: torha
I was watching the vram in dungeon walking mode. It runs slow because it decompresses the dungeon tiles every frame. It'd be much faster if you expanded LoROM to 2MB and threw the raw tiles in there. Maybe battle monster sprites too.

It runs the decompressor 80/8766 every time the player moves (which is better than I thought), but the main thing against storing decompressed tiles is the game assembling them in a really complicated way. It's somehow using all those tiny lines in the screenshot above and manipulating them to procedurally draw the dungeon. It's bizarre to analyze because it's NOT 3D, there aren't actually walls with textures.
« Last Edit: July 23, 2021, 11:16:07 am by Sarah Shinespark »