Author Topic: [SUG] New Lemming type - Rivals!  (Read 910 times)

0 Members and 1 Guest are viewing this topic.

Offline WillLem

  • Moderator
  • Posts: 3479
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New Lemming type - Rivals!
« Reply #15 on: May 22, 2024, 11:56:09 PM »
Made some more decisions/progress with Rivals today :lemcat:



Scenario A: The level provides only 1 Lem type (Normals/Rivals), and 2 Exit types (Normals & Rivals).

Resolution: All Exit types are treated as if they're the same as the Lem type, regardless of assignment.



Scenario B: The level provides 2 Lem types (Normals & Rivals), but only 1 Exit type (Normals/Rivals).

Resolution: The save requirement for the level is defaulted to {the total number of Lems that match the Exit type + any Neutrals + any Cloners} or {the existing save requirement}, whichever is lowest.

The save requirement is also adjusted for Exits with Lemming caps. This took a fair bit of doing, and could probably still be optimised further for readability/simplicity, but it's bug-free in every scenario I tested (multiple Exits, multiple Lem types, multiple Lem caps - all behave well).



Meanwhile, I've decided to leave the Exit marker data as it is. So...
  • SLX first looks for an Exit marker in the style's "effects" folder (if the folder exists). If it doesn't find one, if uses the one from the default style's "effects" folder (which, at present, is the blue/red flag)
  • Marker position is tied to the individual Exit's .nxmo - this makes the most sense, since a style may feature multiple Exits, and each one will need its own marker position
  • Marker frames are specified in the style's theme.nxmi file - still fairly unsure about this one, but for now it's better than adding more paperwork in the file system
Not much longer now and this one will be ready for fully showcasing, testing, and implementing as part of a level pack project. Next step is to make sure that the styles with custom sprites have Rival recolouring data. That's a job for tomorrow :sleep: