- UCRP_PREFIX_ISMAP: a prefix version of UCRP_ISMAP
- The condition string for UC_EMBLEM has been updated to match other relevant prefixes.
- UC_COMMA: a second string-relevance-only condition, for inserting a comma where only a human could find it natural
Partial duplicate of MR 1010, but 1) wanted to guarantee no merge conflicts before I forgot and 2) I added things in previous commits which needed stronger guarding
- Combine multiple adjacent saves
- Generally could happen during game ticking, combined via gamedata->deferredstate
- DEFINITELY happened in splitscreen PWR handling, adjust those loops directly
- Write "dirty" state via gamedata->crashflags on everything except safe, intentful unloads
- Add UC_CRASH, which unlocks dependent on the above "dirty" state being present at gamedata load
- We can use this for something more useful and less funny later.
- Play "O_LOSERC" on the menu, starting with the Challenges screen, if a UC_CRASH condition has been met.
Fixes players killed twice if P_DamageMobj is called with
DMG_TIMEOVER and gametyperules GTR_BUMPERS.
Moves death condition out of K_HandleBumperChanges and
lets losing last bumper organically kill the player by
decreasing their health.
- M_UpdateUnlockablesAndExtraEmblems: If Playing() and GS_LEVEL, call a bunch of funny conditions for every non-spectator splitscreen player.
- Called every tick in P_Ticker. May be foolish. May duplicate effort. Worth extra attention later.
- Add a bunch of stacking-together UCRP_REQUIRESPLAYING condition types.
- A collection of PREFIXes
- Grand Prix
- Bonus Round
- Time Attack
- Break The Capsules
- Sealed Star
- A collection of specific prerequisites
- Current map is [map value]
- Character is [character string that gets parsed after skin load]
- M_UpdateConditionSetsPending(), because SOC is bad and loaded before skins
- A collection of win conditions (TODO: these still work in FREE PLAY)
- Finish in good standing
- Break all the capsules
- No Contest
- Finish at least [place]
- Finish at [place] exactly
- Finish at [time, tics]
- Finish at [time, tics] exactly
- Finish with at least [time, tics] left (GTR_TIMELIMIT only)
- An AND to concatenate them together (literally just for text adjustment)
MF_NOCLIPTHING is no longer enough to prevent the object from being removed.
All calls which can delete the object should now be handled more thoroughly.