Romhacking.net

Romhacking => ROM Hacking Discussion => Topic started by: pbandpickle on June 08, 2020, 06:46:11 pm

Title: Solstice Randomizer (NES)
Post by: pbandpickle on June 08, 2020, 06:46:11 pm
Hello All,

I have just published my first rom hack ever! I am very excited to bring you my first public version of the Solstice Randomizer.

https://pbandpickle.com/ (https://pbandpickle.com/)

The randomizer will mix up all collectible objects (with logic). It also supports custom seed and outputs a "spoiler" log if desired. The output is a simple IPS patch which you will want to apply to an unmodified US Solstice rom.
There are currently a few limitations involving Credits and Detonators but those will be cleared up eventually. I also have made a few minor edits to certain rooms to allow access to a greater area without the Magic Boots.

I would like to throw out a big thanks to Jp32 for his documentation (http://www.romhacking.net/documents/783/ (http://www.romhacking.net/documents/783/)) as it gave me a huge jump-start to tackle a project like this.
Various randomization options will be implemented over the next couple weeks. I'll keep an updated feature / update log on at my website as they are added.

I hope someone gets some enjoyment of of it!

-pbandpickle

EDIT:  Now featuring optional CREDIT and KEY randomization
EDIT2: Added optional object color correction. Adjusted title text
EDIT3: Added optional teleporter randomization
EDIT4: Added magic boot strength and starting room randomizer. Color correction is a bit broken currently

(https://pbandpickle.com/SolRand/Images/sol1.png)
(https://pbandpickle.com/SolRand/Images/sol2.png)
(https://pbandpickle.com/SolRand/Images/sol3.png)
Title: Re: Solstice Randomizer (NES)
Post by: nesrocks on June 08, 2020, 11:30:43 pm
This should probably make the game easier. Because it's not possible that by chance it would make the items appear in a more awkward order than the original order. Sounds fun, I'll give it a go in a few days.
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on June 09, 2020, 12:31:46 am
I would reckon it’s a bit harder now as you are almost required to search every room to find the staff pieces (assuming you don’t peek at the log file). Additionally, there is a much larger area you have to explore without the magic boots.

Also, since this version does not color palette correction,  it’s impossible to tell which kind of potion is which until until you pick it up.

I have big plans for the future of this hack. i’m very excited to add more features.
Title: Re: Solstice Randomizer (NES)
Post by: J^P on June 09, 2020, 10:38:05 am
Good to see something came out of my documentation :)

This should probably make the game easier. Because it's not possible that by chance it would make the items appear in a more awkward order than the original order. Sounds fun, I'll give it a go in a few days.
Actually you can explore surprisingly good part of the game without magic boots, you just have get creative with enemies and blue/yellow potions, though you do get soft-locked if you go into cave of doomed souls(the bottom layer, the 3x3 room maze), well it the original game anyway, as you need the extra jump height to get out of there. The changed item location isn't as easy as it sound as there are some obscure rooms there
Spoiler:
like the one where you have to jump into spikes which disappears with hidden room underneath
. Plus there is a lot potential yet as this currently just shuffles items around.
Title: Re: Solstice Randomizer (NES)
Post by: Googie on June 10, 2020, 11:27:17 am
I'm gonna try this randomizer, I love Solstice, thanks for the hookup! :D
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on June 11, 2020, 08:34:39 pm
I have added in optional Key and Credit randomization. I have also cleaned up the title screen text to be a little less dumb.

Item Palette correction is just about finished. I added support into the interface but it doesn't quite work yet. I'll probably get it working over the weekend.

I also slightly expanded the possible rooms for the Magic Boots to appear.

June 12, 2020, 08:07:01 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
UPDATE:

Object Color palette correction is now available. You can choose to fix non-potion colors, just potion colors or everything. Fixing potion colors is nice is you want to be able to see what potion it is before picking it up.

June 14, 2020, 09:59:56 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Teleporter randomization is now working. If chosen, all teleports will pair up randomly.

I have some other cool things coming soon as well. Random starting room is almost done. I just need to work out some of the obvious softlock issues.

Are there any feature suggestions?
Title: Re: Solstice Randomizer (NES)
Post by: J^P on June 15, 2020, 09:52:16 am
Randomize rooms palette, wall and floor graphics, normal blocks too maybe, though considering how the game handles them its probably better not to even attempt(blocks graphics part) lol.

Randomize enemies, their behavior and type, should be doable fairly easily, though randomizer should ignore rooms like 1C and D7 for example as those require their specif enemies to get across.

I dont think theres anything else to randomize, other than room exits which isn't feasible as if the both rooms exits dont line up perfectly, you end in death loop or stuck in out of bounds. Maybe randomize the 3x3 rooms in caves of doomed souls to make pseudo-maze?
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on June 15, 2020, 04:20:05 pm
I don’t think I’ll be randomizing monster types as I feel that would ruin the “flow” of too many rooms. However, I’d be more than happy to implement it if people actually want it

I do have some palette randomization stuff coming very soon. I’ll also have a few other wacky randomizations coming soon, one of which I hope surprises you J^P.
Title: Re: Solstice Randomizer (NES)
Post by: Googie on June 16, 2020, 07:36:11 pm
I don’t think I’ll be randomizing monster types as I feel that would ruin the “flow” of too many rooms. However, I’d be more than happy to implement it if people actually want it.

I'm down with this, it'd be pretty cool. :D
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on June 16, 2020, 09:10:17 pm
Okay. I'll put it on my to do list. Also some of my palette correction stuff isn't working. It's not a priority though as the potion color correction does seem to work fine.

Right now I'm trying to finish up starting room randomization. It's sort of a headache because a single byte controls both your starting X and Y position (offset 0x000D60). This means your starting spawn location can only be anywhere in a straight line from the top corner as shown in the following screenshot:

(https://pbandpickle.com/SolRand/Images/sol4.png)

As you can imagine this causes some soft lock or instant death issues. I am still going through each room and documenting where edits need to be made to avoid these because I really don't want to exclude any rooms entirely. It's going steadily though so I should have it done by this weekend I'm thinking...
Title: Re: Solstice Randomizer (NES)
Post by: Googie on June 20, 2020, 08:19:01 pm
I can't wait to play with the randomizer when it's updated.  :beer:
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on June 20, 2020, 08:33:22 pm
I have completed documenting the changes required to do random starting room. Some rooms need minor edits, some need major edits, and then depending on starting room, other rooms need edits to prevent softlock.

For the time being and for my own sanity, the magic boots will still only be randomized within the main castle area only. This means regardless of your starting room, you will need to make your way back to the main castle to find the magic boots. Eventually I’ll have a more comprehensive magic boot location randomizer but logistically it is much more difficult.

I am still working on implementing start randomizer and hope to have it live some time tomorrow.

If I can’t finish it by tomorrow I’ll at least update it with a couple other minor features and then add random start some time in the coming days.

Some fun facts:
-Room A2 does not exist. As in it literally does not exist in the ROM. Any attempt to start in or exit a room to A2 spawns you in Room 00 instead.
-Exiting to a room that is not yet accessible (exiting a room that is usually opened via detonator without yet triggering the detonator) will skip over the inaccessible room and instead spawn you in the next logic room
-Detonators do not seem to work correctly if placed in any room other than a detonator room. I will try to find a way around this but outlook not so good
-Any object can be flagged as an enemy. You can make a trap potion that kills you when you jump on it!
Title: Re: Solstice Randomizer (NES)
Post by: J^P on June 21, 2020, 05:03:25 am
Im pretty sure I placed detonator outside of their room in my manual randomizer hack and it worked just fine, though it doesn't stay triggered if you leave and re-enter room, but it still activates the exit.

Do you have any idea of rooms FD(crashes the game) or FF(loads garbage)? Though Im somewhat sure they dont exit either.
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on June 21, 2020, 09:59:56 am
Thanks for letting me know. I tested the detonators a long time ago and wrote it off as not working so maybe I had made a mistake. I’ll have to check it out again.

Both FF and FD cause the game to lock up if set as the starting room. There is no room data for FF whatsoever. There does appear to be a a handful of bytes for FD but not a complete set of room data.

Fun Fact: There is a nearly identical byte for byte duplicate of room 00 immediately after 00s room data. It doesn’t appear to be referenced or used in any way.

June 21, 2020, 10:12:27 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I just published an update to the randomizer. Sadly, Random Start did not make it in today. It's going to take me longer than I thought to get it right. It's going to be my priority this week but I likely won't have much time to work on it.

New Features:

-Shadax palette randomization
Now you can be funky colored Shadax! I'll likely include a way to specify the colors but for now its totally random.

-Magic Boot strength!
The Magic Boots now have a strength ranging from normal to nearly 4 blocks jump (max strength 127, up from standard 95)! Totally breaks the game but it's fun as heck. Jump height can NOT EVER reach 4 blocks unfortunately. The boot strength byte is signed and cannot exceed 127

-Web page looks better!
My friend threw together some CSS quickly for me so the randomizer isn't so plain. I hope you like it!

***Please note I haven't tested this too thoroughly but I do not anticipate any new issues.***
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on July 04, 2020, 10:45:40 pm
I have made a huge update!

You can now select a random starting room. ANY room can be the beginning of the game! Please note that if you use the random start, MANY rooms have been edited to prevent soft-lock. I will follow up on the details of the room edits a bit later. I also fixed a few bugs that were generating ugly graphics.
Title: Re: Solstice Randomizer (NES)
Post by: J^P on July 05, 2020, 07:09:38 am
Awesome!  :)

Some bugs I found:
(this is the seed and settings I used)
(https://i.ibb.co/2YRVKgS/Solstice-021733-Cd-KIPTLBR-1.png)
In these two rooms the item palette correction isn't applied (room ID's 3E and 3F)
(https://i.ibb.co/CvD2wzp/Solstice-021733-Cd-KIPTLBR-2.png)
(https://i.ibb.co/Qkf4SC2/Solstice-021733-Cd-KIPTLBR-3.png)
but is on the lowest room:
(https://i.ibb.co/kqd5QjZ/Solstice-021733-Cd-KIPTLBR-4.png)
mis-placed block:
(https://i.ibb.co/GnY2p3t/Solstice-021733-Cd-KIPTLBR-0.png)

I'll report more once I beat this seed :thumbsup:
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on July 05, 2020, 01:41:33 pm
Thank you so much for the bug reports! I found that in quite a few cases I accidentally flipped some bytes when transcribing them from my notes (06 -> 60). That’s likely what happened here. I’ll fix that later today.

***EDIT***
The bugs listed above have been squashed. I also corrected a couple other bugs I found.

Also, currently starting in room E4 or FC results in an immediate softlock. I may be able to fix that today. If you get this room, I’m sorry!
Title: Re: Solstice Randomizer (NES)
Post by: J^P on July 05, 2020, 06:34:22 pm
I think you need to double check detonators, on the seed I used room E4 has sprites 2A (triggered detonator #1 room e4) and 2B (detonator #2, room 46), and room 46 has sprites 2C (Triggered detonator #2, Room 46) and sprite 29 (Detonator #1, Room E4), now because of this Im softlocked because detonator in room 46 wont trigger properly, and the patch between rooms 45 and 47 wont open and since I picked up the item in room 42 I cant progress without cheating  ::) on that note the last detonator is same as stock so it behaves normally.

Now if I change the wrong detonator sprite in 46 to 2B it fixed itself, so if randomized detonator is in the room where there was originally detonator, both detonator and triggered detonator should be paired, so one room has sprites 29&2A, next room 2b&2c and then finally 2d&2e :-X Now that I think about it, I didn't do this to my manual randomizer and it was fine? Or maybe the game doesn't like when you put two different detonators in one room, regardless if its triggered or not? :-\

Also the seed I used, staff piece w/ sprite id DA is listed as sprite id D1(key1), so the staff piece in room 80 wont spawn, so it wont spawn, so Im still softlocked unless I hex edit  :angel: Full log here (https://pastebin.com/hyeinpRY), seed also doesn't seem to include the randomized room? I didn't save my original cheat log, so I made one after the fact using same seed number and settings and the log reports different room

Purple potion?
(https://i.ibb.co/pdqG87s/Solstice-021733-Cd-KIPTLBR-23.png)
Oh shit its blue one
(https://i.ibb.co/JtYJrvH/Solstice-021733-Cd-KIPTLBR-24.png)
Mis-placed block
(https://i.ibb.co/QC67XWc/Solstice-021733-Cd-KIPTLBR-19.png)
messed up floor
(https://i.ibb.co/zffS8pd/Solstice-021733-Cd-KIPTLBR-18.png)
This room looks little too messy, this was the only one out of all other edited rooms that stuck out like sore thumb
(https://i.ibb.co/wszL1cz/Solstice-021733-Cd-KIPTLBR-16.png)
Blue potion?
(https://i.ibb.co/cxFHVDw/Solstice-021733-Cd-KIPTLBR-14.png)
Surprise its actually yellow!
(https://i.ibb.co/8003zjJ/Solstice-021733-Cd-KIPTLBR-15.png)
Hmm, let me guess, green potion?
(https://i.ibb.co/yWd6P3S/Solstice-021733-Cd-KIPTLBR-9.png)
Nope purple potion
(https://i.ibb.co/Qkf4SC2/Solstice-021733-Cd-KIPTLBR-3.png)
Yellow potion? I hope?
(https://i.ibb.co/XJm18S1/Solstice-021733-Cd-KIPTLBR-6.png)
sorry no
(https://i.ibb.co/JtYJrvH/Solstice-021733-Cd-KIPTLBR-24.png)
This is just little nitpick, make the green potion use darker shade of green like the original(the potion itself in the pic is correct one)
(https://i.ibb.co/MCpcdqP/Solstice-021733-Cd-KIPTLBR-5.png)
What is spike ball doing here?
(https://i.ibb.co/Gp2hc2c/Solstice-021733-Cd-KIPTLBR-12.png)

Other than it was centrally interesting playing through this, and I got magic boots in same location twice in two different seeds(room A3, I think its just coincidence lol), oh and the changed jump boost really messed me up few times. Other than the issues I listed, good job! :thumbsup:
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on July 05, 2020, 06:54:59 pm
The staff piece having the wrong ID should have been fixed already! Dang it, I probably copied over one of my rando tables with an old one.

I’ll get that fixed up ASAP.

EDIT:
-I have fixed both the Staff Piece and the detonator issue. I did, in fact, overwrite my random tables with an older one, re-breaking the staff piece.

-The detonator issue was a bad copy/paste. Until I have the time to work out full detonator randomization, I hard-coded the detonator randomization instead of including it in my randomization tables. I was accidentally overwriting sprite 2A and with 2E. This should be all good.

-As for the random spike ball with orc colors, this was actually intentional. There is no random start location to spawn in that room without instantly dying. I attempted to modify the corner spikes but I ended up with graphics corruption. I just opted to change the orc into a spike ball. This give you a spot to random start but also leave in a bit of danger.

-The misplaced block and corrupted floor are due to the same error, I modified byte 1A5ED when I meant to modify 1AB5E. Correcting this has fixed both problems.

-The staff room with the sort of jacked up graphics are because there are a considerable number of custom graphics blocks that I couldn't be bother to fix. :P I might go back and fix those some day.

-I noticed a huge oversight in my color correction code. It's causing most items to not color correct... correctly. colorrectly? I will have to put some more work into it. That may be a next weekend sort of thing.

-I have also expanded the random seed capacity from 1000000 (arbitrary) to 16777215 (24-bit). As such, seed value is now displayed in hexadecimal.
Title: Re: Solstice Randomizer (NES)
Post by: J^P on July 06, 2020, 05:13:45 pm
I played through another seed.

Now I think that the magic boots location randomizer is broken, three seeds in row and they always in this spot?
(https://i.ibb.co/VxkfHKb/Solstice-f6deed-Cd-KIPTLBR-0.png)
I got magic boots that lets me jump three blocks, so if I jump here I can get to the room above this one without being on the item.. which makes this item almost impossible to get, well I dont know if this trick works for all items, but for credits at least it works, if you move towards the credit(hold direction) and tap the jump button, you dont do full jump, the jump stops exactly at the items height and allows me to get top of it without going to the room above so I can collect the item, this needs some testing so player can get all items and not be one item short.
Lazy fix to this is to move the block below item one block higher and more the item somewhere else ;D
(https://i.ibb.co/GxCYjht/Solstice-f6deed-Cd-KIPTLBR-15.png)
This detonator is broken currently, in this seed it triggers the item heaven in the lowermost floor/maze area, but it was already "triggered" when I got there(I triggered the other two and they worked fine) so I missed out on some items
(https://i.ibb.co/KDscWjs/Solstice-f6deed-Cd-KIPTLBR-14.png)
This time around I was able to finish the run 8)
(https://i.ibb.co/YDMJ44q/Solstice-f6deed-Cd-KIPTLBR-16.png)
Seed: f6deed    Options: CdKIPTLBR
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on July 06, 2020, 05:27:54 pm
Well, the magic boot randomizer being broken makes complete sense as I am incapable of fixing anything without breaking something :P I’ll review this later today.

I will review my detonator code again and will implement the room change that you have suggested.

EDIT:
-The magic boot randomizer appears to be working as intended. Please note that there are currently only 10 spots where the magic boots will spawn and 3 of them are in A3. So currently, there is a 30% chance the boots will be there. This will not be as prevalent once magic boot randomization is expanded.

-Detonator randomization is now disabled for the time being.
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on July 19, 2020, 09:06:04 pm
Slight update. I fixed up the graphics a bit in rm 0x30. It's still a bit jacked but much better than before. I probably won't be touching it any further as solstice graphics are kind of complicated.

If playing on Random Start, room 0xFC has received a complete redesign to prevent a softlock while also making the room not boring. If you do not use random start, this room stays vanilla.

Here is the current roadmap:
   1. Fix detonator randomization
   2. Fix color correction
   3. Expand magic boots randomization
   4. Any other goofy things I can think of.

I haven't had as much time to work on it as I would like but I'll still be updating periodically.

Also, one randomization quirk i need to fix:
   Both rooms 60 and 5E are valid locations for Cave of the Doomed Souls key. This means if you happen to drop down the wrong shaft, it's a softlock. I may adjust this so that it can not spawn there but I dunno.

Another note, I am very curious what bytes 0x01A371 -> 0x01A3FE are used for. These bytes are strangely sandwiched between data for room 0x45 and 0x46 but is definitely NOT room data. I'll like to look into that some day....
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on July 26, 2020, 10:34:21 pm
Not much to add except detonator randomization has been fixed. All this time I assumed there was something wrong with my randomization code when it was actually a side-effect of the game's programming.

Detonators are still only randomized with detonators but they should work correctly now. The only sideeffect is that you can hit the same detonator multiple times (doesn't do anything extra). It will never show a trigger detonator. Also, detonator randomization is forced on at the moment. I'll fix it during my vacation next week.
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on August 23, 2020, 07:44:35 pm
***NEW UPDATE***

Expert Mode! - Start with 0 lives, cannot gain more lives, start with 1 use of each potion. Cannot hold more than 1 usage of each potion
New "Bottomless Hole" in the Caves of the Doom Souls when playing rando (to prevent softlocks)
Teleporter randomization now works instead of just pretending to work! wow!
Other miscellaneous bug fixes and text changes

detonator rando is still forced on. That will be a included in my next update.
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on August 30, 2020, 08:33:29 pm
I was hoping to get detonator randomization done today but I ran into some issues. My next update will be out probably next weekend and will feature full detonator randomization and a greatly expanded magic boots randomization.

September 05, 2020, 10:50:22 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
*** New Update is now live and contains the following features: ***

-Full detonator randomization (optional)
-Greatly expanded Magic Boots randomization (10+ more rooms it can appear in)
-"Fix object color palettes" actually works now

There are a few important notes about this latest update:

-Detonators will NEVER be replaced with a "triggered" detonator but they still work
-Enabling Magic Boots randomization will also apply the Random Start room edits. Sorry.

I pretty much break something every time I update it so plz let me know if something is not working or seems strange. Also, some room edits will seem strange (that's on purpose).
Title: Re: Solstice Randomizer (NES)
Post by: JonnyManjiro on October 04, 2020, 08:28:49 am
Got through a seed of this with the latest build. Really enjoyed it and hope you keep up the good work ;)
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on February 15, 2021, 06:10:40 pm
I'm finally coming back to this after a personal hiatus. I'll have some additional randomization options soon and finally fix the item color correction. The item color correction logic is technically correct but does not use the right colors due to a documentation error on my part. I plan to implement an update by this weekend.
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on April 02, 2021, 10:30:52 pm
Heeeeeey, so this isn't dead. I did fix the color correction several seeks ago but forgot to update this topic. In other news, I finally found the room pointers. I'm not super knowledgeable with assembly or anything so figuring this out took quite a long time. With this info it should be fairly easy to make all sorts of adjustments to rooms.

Room Pointer Data:

Room pointer data starts at 0x18010 in the rom. The pointers are stored in two groups, the first byte for all rooms, in order, followed by the second byte for all rooms, also in order.

First bytes are 0x18010 - 0x1810C
Second bytes are 0x1810D - 0x18209

During a room transition, the room data is very briefly switched into memory. The room pointers are then stored at 0x0016 and 0x0017 in memory and used as an offset to lookup the room data.

So for example:
Room 02:
    1st byte: 0x18012 = 03
    2nd byte: 0x1810F = 84

This means the room data for Room 02 is currently loaded into memory address 0x8403. And sure enough, here is is:

(https://pbandpickle.com/img/leveldata.png)

Interestingly enough, this also explains why Room A2 does not exist. The pointer data for A2 just points to Room 00. With this information, you could easily adjust the pointer and add room A2 back in somewhere.

Room 00: 0x18010 = 88, 0x1810F = 83
Room A2: 0x180B2 = 88, 0x181AF = 83

Super neat!

Also, if you make room edits and need to update the pointers in the ROM your room data should start at 0x010010 + room offset. For example, room 2A:

2A offset byte 1 @ 0x1803A: D7
2A offset byte 2 @ 0x18137: 98

Room start should be located in ROM at byte 10010 + 98D7 = 0x0198E7 which is correct. This works for every single room in game and I have validated it accordingly. I already have an idea on how to reintroduce missing room A2 into my randomizer... so many ideas!

Regarding room data, there are three groups of bytes in the middle of room data that I don't believe are ever utilized. While I am not 100% sure yet, this appears to be left over partial room data or just garbage.

Unused Bytes #1: 0x183CB -> 0x183F9 (47 bytes)
Unused Bytes #2: 0x1A321 -> 0x1A3FE (222 bytes)
Unused Bytes #3: 0x1E57F -> 0x1E597 (25 bytes)

While this isn't tons of space, it does give us an additional 294 bytes of room data space for whatever adjustments we would like to make. 99% of rooms are < 300 bytes so this is fairly substation extra space.

One thing that still eludes me in exactly how the graphics are stored in the ROM. Currently, this is beyond my grasp but I hope to figure this out eventually because adding custom graphics would be great.
Title: Re: Solstice Randomizer (NES)
Post by: J^P on April 04, 2021, 06:51:18 am
You just need to press +1 byte button few times in yy-chr to make graphics appear properly:

(https://i.imgur.com/zqZgqtA.png)

(https://i.imgur.com/4icfu03.png)
Like here I replaced the solstice guy sprites with the troll enemy via editing graphics. I have no idea how to do the same thing outside of yy-chr though ;D.

Quote
Regarding room data, there are three groups of bytes in the middle of room data that I don't believe are ever utilized. While I am not 100% sure yet, this appears to be left over partial room data or just garbage.

Unused Bytes #1: 0x183CB -> 0x183F9 (47 bytes)
Unused Bytes #2: 0x1A321 -> 0x1A3FE (222 bytes)
Unused Bytes #3: 0x1E57F -> 0x1E597 (25 bytes)
Interesting, I'll poke around to see if theres any stray room data there or if the game ever accesses that.

Also do you mind if I add your Room Pointer Data findings to my doc?


EDIT:

Unused Bytes #1: 0x183CB -> 0x183F9 (47 bytes)
Unused room!
Nothing special, it has no sprites and it only has on exit to room ID 01

Code: [Select]
27 17 37 13 00 ;orange room, 5x3 size
00 FF 00 81 00 00 FF FF FF FF FF FF FF ;main castle 1 wall graphics window-less, basic floor.
04 18 01 ;only one exit to room ID 01
06 ;how many normal blocks
00 01 00 80 ;normal blocks start
00 01 01 80 ;basic block graphics
00 01 02 80
00 11 00 80
00 11 01 80 
00 21 00 80  ;normal blocks end
00 ;end of room data
(https://i.imgur.com/8bqczv5.png)

Sooo.. early version of the very first room, its also located right after where final room ID 00 is  ::) .
Title: Re: Solstice Randomizer (NES)
Post by: pbandpickle on April 04, 2021, 03:06:03 pm
Please go ahead and add to your notes! I couldn’t have done any of this without your documentation anyway.

I zeroed out the bytes in group 1 and 2 and played around a bit. There were no issues but I wasn’t thorough in any way.

That is awesome that you figured out the graphics, at least within yy-chr. I’ll take a look at it soon and see if I can get any more information.

I have a lot of other documentation I have gathered over the year. I created a complete, color-coded spread sheet of all room data. I have color coded each section of room data so that it is easy to tell what part it is. Specifically, I have objects, room graphics, exits, normal blocks, special blocks all color coded.

I plan on making an room exit randomizer soon but it will take some serious planning...
Title: Re: Solstice Randomizer (NES)
Post by: J^P on April 05, 2021, 05:47:10 am
Unused Bytes #2: 0x1A321 -> 0x1A3FE (222 bytes) Junk, not accessed by the game ever.
Code: [Select]
01 03 16 03 80 09 03 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 03 10 03 00 00 00 00 00 00 00 00 00 00 00 00 00 03 20 03 00 00 00 00 00
00 00 00 00 00 00 00 00 03 06 03 02 00 00 00 00 00 00 00 00 00 00 00 00 03 16 03 02 00 00 00 00 00 00 00 00 00 00 00 00 03 26 03 02 00 00
00 00 00 00 00 00 00 00 00 00 00 02 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 22 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14
03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Junk/stray/erased data, not accessed by the game ever.
Located in-between of rooms ID 45 and ID 46 (1a2f5 and 1A3FF), its possible that one point room ID 45 was larger or had more objects in it,
and then they made it smaller, or maybe there was room/rooms in this space, but since the leftover data is just junk its impossible to tell.


Unused Bytes #3: 0x1E57F -> 0x1E597 (25 bytes)

Used by the intro's rooms:

(https://i.imgur.com/O84FEQG.png)
(https://i.imgur.com/l9awWpJ.png)

Kinda weird placement since its in-between rooms FC and FE. Room attributes(palette, room size) is in 0x0006e6, which is also shared by room ID FE / ending cut-scene.

(https://i.imgur.com/umvCV6V.png)
Like here I changed rooms palette to blue, and same and only change changes ending cut-scene:

(https://i.imgur.com/Ipa6KQn.png)

So the devs used same Room attributes for both and everything else in different locations. the endings full room (room ID FE) data is located in 0x1e598 - 0x01e601, which interestingly enough has its unique room palette(14 04 24, purple/pink) that gets overridden to green.