dmitrys wrote: ↑March 8th, 2021, 2:51 am
Norbert wrote: ↑March 8th, 2021, 2:48 am
dmitrys wrote: ↑March 8th, 2021, 2:23 am
I am wondering if it could be possible to edit rooms inside SDLPoP quicksave files. It would make testing specific rooms with different tile combinations when designing levels much easier.
Can you give one or two examples; that'll likely make it easier for me to understand what you mean.
Room layouts are saved inside quicksave files. So if you were to edit LEVELS.DAT and then reload the quick save, it would still retain the old room layout. It would be nice to edit quicksaves directly.
Perhaps I was unclear, but I was looking for a
use case example. I understand that you want to edit quick save files and how this would work technically, but not what exact value this would add over existing functionality. I'm essentially trying to find out what workflow you are looking for, to assess whether or not my technical solution mirrors yours. My guess is that, once you're happy with a work-in-progress level, but you're not sure how to continue, you would like to be able to quick save (and, if necessary, later quick load) the level. This would allow you to experiment more freely; without the risk of messing up your earlier work. If that's what you mean, I think technically there may be better solutions, such as .plv export/import functionality, also for compatibility with level editor RoomShaker. Or, to simplify implementation on my part, the PoP1 XML format, that apoplexy can already export/import. Or an in-memory only - i.e. non-disk - operation, where the program merely remembers old level states until the program is closed, such as (multi-level) undo. Or file copies of LEVELS.DAT, similar to how the program already saves LEVELS
.BAK into the prince/ directory before modifying LEVELS.DAT. I've not yet looked at the quick save format, so I don't know how complex and usable it is, nor how elegant - I can imagine a theoretical situation where its contents is so ugly that I'd be reluctant to invest the time to support it. I currently don't have sufficient free time to work on the software, but I'll add a link to this post on my to-do list.