Commit graph

349 commits

Author SHA1 Message Date
mazmazz
6f0b28c48f 447: Allow alternate alpha without relative calc 2018-09-12 07:38:51 -04:00
mazmazz
9a388af8ec 447: AddColormap no longer returns chained colormap, so chain it ourselves 2018-09-12 07:31:10 -04:00
mazmazz
6059b8edc9 447: Extra params for R_AddColormaps 2018-09-12 07:06:58 -04:00
mazmazz
54669a6cc8 Use R_AddColormaps method in 447 relative calc 2018-09-11 21:03:13 -04:00
mazmazz
a1a05c9972 Add relative color change to 447 2018-09-11 19:11:50 -04:00
mazmazz
b9e4cd40ca Use RGB/RGBA macros in 447 code 2018-09-11 17:32:43 -04:00
mazmazz
5523fc3a8d Account for NULL colormaps in alpha-only code 447 2018-09-11 17:07:50 -04:00
mazmazz
bb6cf6a807 Added alpha-only, relative calc, and offset params to 447 Change Colormap 2018-09-11 16:50:35 -04:00
mazmazz
9a52816cb4 Use percentage calc instead of interval decrement for tic-based fading 2018-09-11 10:28:24 -04:00
mazmazz
c468451a63 Merge branch 'lightfade-ticbased' into le-fadefof 2018-09-11 10:08:13 -04:00
mazmazz
75267dfa2c Merge remote-tracking branch 'origin/change-colormap-ldef' into colormap-overhaul-change-ldef 2018-09-10 21:06:28 -04:00
mazmazz
7e9297d06e Savegame netsync for sector colormaps; add spawn_midmap and co for comparison 2018-09-10 16:50:27 -04:00
mazmazz
e0d8a6eec0 Get rid of bottommap, midmap, topmap 2018-09-10 16:16:04 -04:00
mazmazz
88d9da79e6 Move tic-based to EFFECT4 2018-09-10 12:00:44 -04:00
mazmazz
acea0bfd68 Move tic-based to EFFECT4, relative calc to EFFECT3 2018-09-10 12:00:15 -04:00
mazmazz
148e3ff538 Use ML_NOCLIMB for FF_TRANSLUCENT handling in type 452 2018-09-10 10:17:39 -04:00
mazmazz
8e75fe50db Default to using back offset params if back linedef exists; else fallback to distance-based params 2018-09-10 10:11:27 -04:00
mazmazz
da5a7a013d Add type 452 Set FOF Alpha
* Fade FOF moved to type 453
* Stop Fade FOF moved to type 454
2018-09-10 10:09:02 -04:00
mazmazz
02a94dc941 Add distance-based params and make default (ML_DONTPEGBOTTOM to use back offsets) 2018-09-10 09:49:52 -04:00
mazmazz
b8da218b61 Add relative destvalue calc (ML_EFFECT4)
* rover->alpha init fixes with invisible FOFs
2018-09-10 09:49:00 -04:00
mazmazz
002f1bad8f Savegame netsync for sector colormaps; add spawn_midmap and co for comparison 2018-09-10 09:01:09 -04:00
mazmazz
5136293f62 Store sectornum/ffloornum as UINT32, not INT32 2018-09-09 23:52:36 -04:00
mazmazz
9cc186441b Fix fog visual glitch with fading 2018-09-09 22:14:24 -04:00
mazmazz
573e1d0017 Replace firsttic with timer increment 2018-09-09 21:01:00 -04:00
mazmazz
0202bbcfd3 Replace firsttic with timer increment 2018-09-09 20:45:12 -04:00
mazmazz
ea2276eb07 Fix tic-based bug returning early 2018-09-09 19:57:41 -04:00
mazmazz
43ae628adc Cap lightlevel fading at spawn_lightlevel (don't make darker) 2018-09-09 19:44:35 -04:00
mazmazz
c3c4a251f1 Added tic-based logic to FOF fade (ML_EFFECT5) 2018-09-09 19:31:32 -04:00
mazmazz
80a4a03f8e Finalize light level on fade finish (not forced stop)
* Added destlightlevel property to fade_t
* Fixed dotranslucent, dolighting, docollision order weirdness in function calls
2018-09-09 17:20:35 -04:00
mazmazz
368f96e605 Fade FOF lighting fixes; properly calculate destlightvalue 2018-09-09 15:41:30 -04:00
mazmazz
ca58fba24a Merge branch 'lightfade-ticbased' into le-fadefof 2018-09-09 13:44:30 -04:00
mazmazz
aeb45132c5 Revert "Snap light level to software values (32 levels)"
This reverts commit cc26d03c93.
2018-09-09 13:43:00 -04:00
mazmazz
675f69afea Flag re-organization
* Change alternate param flag from BLOCKMONSTERS to DONTPEGBOTTOM
* Change tic-based flag from NOCLIMB to EFFECT5
2018-09-09 09:34:36 -04:00
mazmazz
032f95803d Merge branch 'master' into change-colormap-ldef 2018-09-09 08:40:38 -04:00
mazmazz
5032f783d7 Don't add a thinker if alpha is already equal 2018-09-09 08:10:45 -04:00
mazmazz
3f4656e57e Polyobject Fade logic 2018-09-09 08:08:48 -04:00
mazmazz
0049f904c0 Add light fading to FadeFakeFloor
* Declare P_RemoveLighting in header for p_spec.c use
2018-09-08 23:44:29 -04:00
mazmazz
4ca38dc8a1 Merge branch 'lightfade-ticbased' into le-fadefof 2018-09-08 23:03:18 -04:00
mazmazz
cc26d03c93 Snap light level to software values (32 levels)
* New properties `exactlightlevel` and `lightlevel` in `lightlevel_t`
2018-09-08 23:01:35 -04:00
mazmazz
1e1b01c157 Implemented tic-based light fading
* ML_BLOCKMONSTERS specifies destvalue and speed by texture offsets
* ML_NOCLIMB toggles tic-based logic
* Added props `duration`, `interval`, and `firsttic` to `lightlevel_t`
2018-09-08 22:10:51 -04:00
mazmazz
81acf82e99 Re-render lighting when setting FF_EXISTS 2018-09-08 20:49:32 -04:00
mazmazz
069cc480c1 Add dolighting flag to FadeFakeFloor thinker 2018-09-08 20:41:45 -04:00
mazmazz
3eb7c3931e When detecting invisible FOFs, don't include light blocks 2018-09-08 20:08:48 -04:00
mazmazz
3858a93cfa Initialize invisible FOF alpha to 1 on first fade 2018-09-08 09:31:23 -04:00
mazmazz
fa0918c2f1 Handle rendering flags for invisible FOFs 2018-09-08 09:08:32 -04:00
mazmazz
fcc7180d5c Enable FF_CUTSOLIDS handling and updating by sector->moved 2018-09-08 08:59:17 -04:00
mazmazz
47c9bf2ebc Disable FadeFakeFloor for laser block 2018-09-08 01:33:12 -04:00
mazmazz
dc964738eb Never handle FF_EXISTS if FF_BUSTUP 2018-09-08 01:23:15 -04:00
mazmazz
66dc84509a Fix Mario block triggering during ghost fade 2018-09-08 01:12:34 -04:00
mazmazz
0b365d0d08 Initial polyobj fade skeleton 2018-09-07 15:27:18 -04:00
mazmazz
4147773d0c Merge branch 'master' into le-fadefof 2018-09-06 18:12:24 -04:00
Monster Iestyn
2b0ce807c7 Fix mixed d+c in NiGHTS trigger code, fix stray "INT8" in A_ConnectToGround 2018-09-04 17:04:24 +01:00
mazmazz
6d97a10273 Merge remote-tracking branch 'origin/master' into nightsplus-le 2018-08-29 11:06:00 -04:00
mazmazz
4b07246565 Add "finalize" flag to Type 453 Stop Fade 2018-08-18 06:04:11 -04:00
mazmazz
773d8bdb8d P_ResetFakeFloorFader: Unclamp rover->alpha from software levels 2018-08-18 05:31:41 -04:00
mazmazz
d94608fa10 Add alpha clamping so OpenGL conforms to Software's translucent levels 2018-08-17 17:07:07 -04:00
mazmazz
bf5efe6457 Cleanup fade fake floor code 2018-08-17 15:59:34 -04:00
mazmazz
45ae6efbad Refactor function and variable names; change defaults for fake floor fader line flags 2018-08-17 15:25:25 -04:00
mazmazz
020b18b84b Revised and re-organized P_DoFakeFloorAlpha fading procedure
* dosolid routine now refers to spawnflags
2018-08-17 14:49:33 -04:00
mazmazz
677f19ede6 Move fading thinker to ffloor_t.fadingdata 2018-08-17 02:28:52 -04:00
mazmazz
2e252cb905 Move fadingdata (fade_t thinker) to line_t 2018-08-17 01:11:04 -04:00
mazmazz
931297e2d7 Rename dofadeinonly to doghostfade
* Ghost fading: when transitioning to/from alpha=0, don't set solid/tangibility until fade is finished
2018-08-16 22:27:26 -04:00
mazmazz
61c84be704 Fix bonus time quirk where lines are run if player->marebonuslap is 0
* Bonus laps start at 1, so if a line is looking for bonus laps, they should only be run at >= 1.
2018-08-14 16:08:21 -04:00
mazmazz
c3703cfc24 Comments 2018-08-14 14:57:58 -04:00
mazmazz
3f312ce114 Make Bonus Time Start executor into a general Egg Capsule Touch executor
* Entrance/exit flags
* Enough/not-enough-rings flags (with "doesn't matter" line option)
2018-08-14 12:00:37 -04:00
mazmazz
1cb68a615e Make LE Ring triggers accept spheres for NiGHTS levels 2018-08-14 11:10:10 -04:00
mazmazz
62a6fe845d Add ML_BOUNCY flag to Bonus Time executor to execute BEFORE the capsule is destroyed and player has enough spheres 2018-08-14 10:48:50 -04:00
mazmazz
004cbe6a3d Whitespace 2018-08-13 22:10:16 -04:00
Monster Iestyn
8d0a44899a Merge branch 'master' into change-colormap-ldef 2018-08-10 20:05:04 +01:00
mazmazz
b8eb282367 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into le-fadefof-remove-storedthinker 2018-08-10 15:03:07 -04:00
mazmazz
d97c25f6dd Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into nightsplus-le
# Conflicts:
#	src/p_setup.c
#	src/p_user.c
2018-08-10 13:44:47 -04:00
Monster Iestyn
89478a7ba4 Added linedef 447 as the change colormap linedef exec special.
IMPORTANT NOTE: UNTESTED
2018-06-14 21:51:21 +01:00
toaster
1242180667 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into hardcoding-time-again 2018-06-09 19:36:48 +01:00
Monster Iestyn
14d49b8bf1 Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/d_netfil.c
#	src/p_setup.c
2018-06-09 19:35:36 +01:00
toaster
3725203bcd Bit of a random one today, but the branch approaches completion...
* Bomb sphere! Paraloopable hazard. Replaces MT_SPECIALSPIKEBALL.
* Blueberry bushes, both normal and Xmas, from patch.dta.
* BSZ tulips, also from patch.dta!
* Frozen Hillside badniks - Penguinator and Pophat.
* Frozen Hillside ice decoration!
* Fixed some big bugs with the DSZ light beams.
* Made multi-mare special stages work, in a troll way - the Chaos Emerald disappears in a puff of smoke, and the Spinbobert laughter sound plays... >:3c
* Reverted the mobjtype number changes from the source SOC/Lua, which we can do later when doing a final pass of the levels.
* State optimisation.
* Serious cruft-removal of the NiGHTS drone thinker.
* Fix the issues where the player wouldn't curl into jump in waterslides or dropping off rope-hangs.
* Tweak NiGHTS player flashing.
* Add text colour support to the titlecard font.
* Use that to make the PRESS SPIN\nMID-JUMP thing when you get all Chaos Emeralds use the titlecard font for readability.
* Fix the GOT ALL EMERALDS page not lasting the correct, extended amount of time.
* Fix that thing where flying mid-spin didn't enact autobrake.
* Modify graymap a little on Sryder's suggestion.
* [COMPLETELY UNRELATED] fix that thing where the addons menu will fail on files/paths with spaces in [/COMPLETELY UNRELATED]
2018-06-05 17:22:28 +01:00
toaster
6e07631cc9 MONSTER COMMIT.
OLD SPECIAL STAGES:
* Spheres in old special stages instead of rings!
* Individual timers in old special stages instead of a global one!
* Old special stages use a variant of the NiGHTS HUD now!
* Special stage damage in old special stages loses 5 seconds of time instead of 10 rings/spheres!
* All damage gained through old special stages is converted to special stage damage! As a consequence, the special spikeball has no need to be special anymore.
* Made emerald gaining function be based on special stage number rather than gained emeralds!
* Consistency with...

NiGHTS SPECIAL STAGES:
* Spheres now flash in bonus time. https://cdn.discordapp.com/attachments/400761370800422922/452590553100713984/srb20032.gif
* Sphere and ring mapthingnums are now less fucked up in 'em. (Rings are 300, same as usual, while Spheres are now 1706 replacing NiGHTS Wings.)

SPECIAL STAGES IN GENERAL:
* useNightsSS is now dead. Each individual special stage is now assessed for NiGHTS-mode behaviour based on maptol & TOL_NIGHTS.
* CRAWLA HONCHO\n CAN NOW BE\n SUPER CRAWLA HONCHO end tally modification now also includes a mini-tutorial on turning super. https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif
* SONIC GOT A CHAOS EMERALD? https://cdn.discordapp.com/attachments/400761370800422922/452623869497573386/srb20034.gif

NiGHTS NON-SPECIAL STAGES:
* Colour Chips and Star Chips! Replaces Spheres and Rings of NiGHTS Special Stages.
* Colour Chips turn yellow in bonus time.
* Ideya!
* Its own "drowning" music!
* All of the object types for Dream Hill.
* GIF: https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif

RANDOM BS:
* Turn super with the spin button instead of the jump button!
* Followmobj now correctly set with P_SetTarget instead of pointer assignment.
* Emerald hunt uses new sprites!
* Made unlock noise different from emblem gain noise! (It's the CRAWLA HONCHO CAN NOW TURN yadda yadda sound from S3K now.)
2018-06-03 22:41:54 +01:00
Monster Iestyn
f061ffa00e Stop Each Time trigger linedefs and object-carrying scrollers from doing anything with FOFs without FF_EXISTS 2018-05-21 20:02:30 +01:00
MascaraSnake
2e8cb9582a Consistency: Pointer declarations next to the variable name instead of the type 2018-05-15 09:39:52 +02:00
MascaraSnake
975a318460 Change to linedef type 7 (flat alignment): If no tag is given, affect front sector. 2018-05-14 19:34:22 +02:00
mazmazz
f903d01bc1 Add ML_DONPTEGTOP flag to Nights LE
* Nightserize: Run only if player is already NiGHTS
* DeNightserize: Run only if >0 players are NiGHTS
2018-04-07 07:33:07 -04:00
mazmazz
ff6fe27748 Merge branch 'master' into nightsplus-le 2018-04-07 07:09:41 -04:00
mazmazz
bd6276a39e Allow immediate alpha setting when speed = 0; refactoring
* Separate fade logic into P_FindFakeFloorsDoAlpha, P_DoFakeFloorAlpha
* Change INT32 destvalue and speed to INT16
2018-04-07 07:09:04 -04:00
mazmazz
27ca70d069 checkpoint 2018-04-07 05:52:01 -04:00
mazmazz
afa0aae131 Refactor flag handling toggles 2018-04-06 23:14:48 -04:00
mazmazz
73e4cab1e4 Little adjustments
* Swap MF_NOCLIMB and MF_EFFECT1
* Implement if Front Y Offset < 1 (== 0), then set alpha immediately
2018-04-06 22:34:45 -04:00
mazmazz
8d3c9d91f1 Merge branch 'le-fadefof' into le-fadefof-remove-storedthinker 2018-04-06 22:22:42 -04:00
mazmazz
3427c304f4 Merge branch 'master' into le-fadefof 2018-04-06 22:22:23 -04:00
mazmazz
53503cd01f Slight fixes for NiGHTS LE Trigger logic 2018-04-02 08:13:53 -04:00
mazmazz
2c72c6e660 Split NiGHTS LE trigger logic into P_CheckNightsTriggerLine
This makes P_RunTriggerLinedef more readable because the logic is too different from the other triggers.

Also replace BOOL with boolean
2018-04-02 08:11:28 -04:00
mazmazz
9dc90f2df8 Implement logic branching for NiGHTS LE triggers and add Bonus Time trigger 2018-04-01 08:23:59 -04:00
mazmazz
3d72c105df Initial checkpoint for NiGHTS LE triggers 2018-03-31 10:11:27 -04:00
mazmazz
cd7573550b Remove fader thinkers by stored pointers in fadingdata 2018-03-31 01:15:24 -04:00
mazmazz
c1c6b4746f Better fading comments 2018-03-31 00:10:46 -04:00
mazmazz
bf0f24b16e Bring back FF_TRANSLUCENT processing for fade FOF
The rules for accompanying flags are:
* If FF_TRANSLUCENT, deflag FF_CUTLEVEL and flag FF_EXTRA | FF_CUTEXTRA.
* If not FF_TRANSLUCENT, flag FF_CUTLEVEL and deflag FF_EXTRA | FF_CUTEXTRA
* If FF_SOLID, deflag FF_CUTSPRITES
* If not FF_SOLID, flag FF_CUTSPRITES

This reverts commit 73c7df6f5b.
2018-03-30 23:42:14 -04:00
mazmazz
0ac96b5a93 Merge branch 'le-fadefof' into le-fadefof-fflags
# Conflicts:
#	src/p_spec.c
2018-03-30 23:03:06 -04:00
mazmazz
047fffb6da Remove log comments for Fade FOF 2018-03-30 22:59:33 -04:00
mazmazz
73c7df6f5b Maybe let's not handle FF_TRANSLUCENT for fade FOF.
Why: FF_TRANSLUCENT is often packaged with flags FF_EXTRA, FF_CUTEXTRA; for intangibles, FF_CUTSPIRTES; in some cases (?), FF_CUTLEVEL. I *think* the rules are consistent amongst predefined FOFs, but maybe there are exceptions?

There's too much that can go wrong with assuming too many flags for an FOF. Just make it the modder's responsibility to tag this special to the proper translucent FOF.
2018-03-30 22:56:43 -04:00
mazmazz
d449aae76d Add predefined behaviors for fading FOF flags
* ML_BLOCKMONSTERS: Handle FF_EXISTS
* ML_NOCLIMB: Handle FF_SOLID
* ML_EFFECT1: Don't handle FF_TRANSLUCENT
2018-03-30 22:43:13 -04:00
Marco Z
e617753d00 Initial logic attempt
* Front X offset: ffloor alpha target (1-256)
* Front Y offset: Speed, alpha per tic (1+)
* MF_BLOCKMONSTERS: Do not handle FF_EXISTS
2018-03-30 17:45:48 -04:00
Marco Z
44b25be69a fade_t fields 2018-03-30 16:19:19 -04:00