JNechaevsky / international-doom

Small, functional and simple source ports, created with help, efforts and bits of code from people around the world.
https://jnechaevsky.github.io/inter-doom/
GNU General Public License v2.0
29 stars 2 forks source link

Make "mark secret sectors" show revealed secrets #124

Closed kitchen-ace closed 6 months ago

kitchen-ace commented 8 months ago

https://www.doomworld.com/forum/post/2778383

I will take this on in a few days unless you want to do it. Do you want to divide the options into "off/always/only when found" like many other ports, or keep it as just on/off ?

JNechaevsky commented 8 months ago

Sure, please proceed if you would like to, I'm pretty much bunred out after last 3 months on working on Inter. But please add it as additional option, no need to replace existing one "on". Not sure if "only when found" string will fit in length, so maybe "revealed only" will be a good alternative.

kitchen-ace commented 8 months ago

I'm pretty much bunred out after last 3 months on working on Inter.

No surprise! Take a break, you deserve it!

JNechaevsky commented 8 months ago

Not yet. 😉This one needs reassembling as well, but definitely not in any rush. Here I can at least experiment deeply with true color render, it's already using two palettes simultaneously, one for game world rendering (not really a CRY post-processing effect, just fine-tuned colors to look like it), second one for patch/gfx drawing. I.e. it's not exactly a palettes, but color arrays.

![image](https://github.com/JNechaevsky/international-doom/assets/21193394/98ede493-092e-4659-b8c6-fd868638e7ba)
kitchen-ace commented 8 months ago

So adding this feature is quite easy. However adding it so it keeps save compatibility is something else. Is it important that saves from older versions keep working? I think it's doable but it will take me a bit longer to work it out.

edit: Are inter-doom saves vanilla/crispy compatible? seems they aren't.

JNechaevsky commented 7 months ago

Hi @kitchen-ace, sorry for late reply. Probably it is okay to make another kaboom with saves compatibility, but if there is a way to avoid it, this could be great. Historically, I was breaking saves a lot, and every time it was a "oops, sorry, but this is for good". 🙂

As about Crispy compatibility - nope, they aren't. Save structure is written slightly more straight-forward (and dumber, TBH) in ID, so every new change will break compatibility with previous version.

kitchen-ace commented 7 months ago

No problem at all for the late reply, I've had lots of other things to do. I was getting a bit worried about you though, hope everything's OK.

The way Crispy (and most other ports, I think) handle revealed secrets is to have a new oldspecial member in the sector struct. This needs to be written to the savegame to keep it between saves.

Two approaches I can think of to keep save compatibility:

(I can think of a few more bad approaches but lets not talk about those :) )

Going to be a little bit before I can work on this much anyhow, so no hurry.

kitchen-ace commented 6 months ago

fixed in #131