Commit graph

172 commits

Author SHA1 Message Date
toasterbabe
b2612b08c9 Dispoffset adjustment. 2017-10-06 12:26:55 +01:00
toasterbabe
87fc24ccbb Fancy super transformation changes! About to go out for dinner, so no major writeup,but let's just say all this changed code means that the transformation animation is smoother in colour change. 2017-10-04 17:45:03 +01:00
toasterbabe
40ef1335a1 * Smiles hardcode!
* Add a default behaviour to followmobj (just basic A_CapeChase).
* Allow for modifying which character starting a new SP game should start you on, relative to the first valid character. (SOC's "startchar" variable)
* Make MF2_SHADOW transferrable via linkdraw.
* Modify P_GetSkinSprite2's recursion limiter to have zero chance of ever infinitely looping.
2017-10-03 18:18:18 +01:00
toasterbabe
3c785cbe94 * Add Skid SPR2/state in preperation for directionchar.
* Clean up spr2 md2 code.
* Experimented but then commented out some stuff for homing attack.
2017-09-09 22:12:23 +01:00
toasterbabe
973f700dcf * Make the model->spr2frames dynamically allocated. (There's only two settings - on and off - but that's better than it perpetually being on...)
* Fix up defaulting for DEAD to go to PAIN.
2017-08-27 14:56:07 +01:00
toasterbabe
76300026f8 * Added support for sprite2s to MD2s!
- Name each frame either SPR2_**** or SUPER**** (where **** is the 4-character name)
    - If the name is 3 characters, '.' is accepted as a substitute for the '_', but a space/absent isn't (for tool-related reasons).
    - Adds a big sprite2 index array to all models, even non-player ones. Sorry!
* Made MD2 frame interpoleration only work across the same spriteset (and sprite2set).
* Made MD2 frame interpoleration happen when there's less than a quarter of a second between frames, as opposed to the hardcoded specific animation disabling.
* Fixed sprite2-related typo in dehacked.c.
2017-08-26 18:56:23 +01:00
toasterbabe
4da6169892 Add spr2defaults[] array to make sprite2 defaulting system much, much simpler to manage.
This is in preparation for a seperate project which still involves sprite2s.
2017-08-25 18:00:20 +01:00
toasterbabe
a00deee209 * Combine all shield-giving functions into a single one, since they were practically identical anyways.
* Expose P_SwitchShield(player, shieldnum) to Lua.
2017-08-10 13:57:09 +01:00
toasterbabe
a61be91523 Add a new feature to MT_PARTICLEGEN, per Sphere's request - if you give the parameters line a backside, then the backside x offset controls the number of tics between particle spawn. (By default, it's 3.) 2017-08-08 18:22:44 +01:00
Monster Iestyn
42ed41aeb1 Merge branch 'maces_but_better' into 'master'
Maces but better

See merge request !103
2017-08-07 15:27:05 -04:00
Monster Iestyn
102d30fe8d Merge branch 'nights_emblems' into 'master'
NiGHTS Paraloop-special emblems

Implemented the two NiGHTS Emblem types in the TUDD via var modifications to ET_GLOBAL!
* GE_NIGHTSPULL (for it to chase you once paralooped) - Sun emblem
* GE_NIGHTSITEM (for hidden until paralooped) - Moon emblem
* Combined means that you essentially have to loop it twice.

Also, revamped NIGHTSITEM to suck a little less (and have more compatibility with MT_EMBLEM).

Check out root/!LatestSRB2Files/srb2win_branch_nightsemblems.exe with the latest patch.dta, along with root/toaster/nightstest.soc for a sample in GFZS.

See merge request !94
2017-08-05 16:03:33 -04:00
toasterbabe
ef4dc42c7c * Bustable wallspikes.
* Improve the code for busting vertical spikes.
* Improve the frame arrangement for vertical spikes' spriteset. (Requires new patch.dta)
* Make all spikes consistently do damage with DMG_SPIKE.
* (unrelated) renamed "flame stomp" to "elemental stomp" in P_HitDeathMessages
2017-07-19 16:26:49 +01:00
toasterbabe
6d43fad098 Correct the baseradius stuff. (Still doing some other work, though - will let you know when the branch is safe to review.) 2017-07-18 12:56:39 +01:00
toasterbabe
66d59efddc Sorry, MI. More info in forthcoming merge request. 2017-07-17 23:58:54 +01:00
Monster Iestyn
dbc7a4099f Hardcoded SOC_TOKE from patch.dta
Or rather, I killed anything to do with the old background orb, renamed all "EMMY" stuff to "TOKEN", and of course adjusted the new S_TOKEN accordingly
2017-07-15 20:15:34 +01:00
Monster Iestyn
381138d7b1 Increased hitbox height of GFZ trees to 128 FU and gave them all MF_SCENERY 2017-07-15 16:57:03 +01:00
Monster Iestyn
eacf753f2c Add the remaining code from the Lua script to get wall spikes actually working so far 2017-07-13 23:00:45 +01:00
Monster Iestyn
aa947ea022 Starting work for hardcoding wall spikes 2017-07-13 22:42:08 +01:00
Monster Iestyn
96ec319897 Hardcoded SOC_TREE from patch.dta
Also made sure the GFZ trees have MF2_STANDONME
2017-07-13 17:29:15 +01:00
toasterbabe
370d9c3176 Hooh boy.
****
* MF2_MACEROTATE. Apply to any object. Replaces the indiscriminate spamming of A_MaceRotate each tic.
****
* Mace point mapthings have been slightly modified.
   - MTF_AMBUSH: bigger luke theory (has no effect on custom mace, different effect on spring mace)
   - MTF_OBJECTFLIP: flips the objects, but nothing else - just so it doesn't look out of place in gravflip sections
   - MTF_OBJECTSPECIAL: keeps it from attempting to play swinging sounds
   - angle: tag of controlling linedef
   - parameter: number of "spokes" minus one - for example, a parameter of 2 results in 3 equidistant maces rotating around the same point.
****
* Mace linedefs have been significantly revamped.
   - line dx: number of chain links
   - line dy: speed (in FU)
   - frontside floor height: Pitch (in degrees; how much it "tilts" over - Yaw influences the axis it's tilting on)
   - frontside ceiling height: Yaw (in degrees; rotation of entire thing on xy plane)
   - frontside x offset: Phase (in degrees; how far it is through the rotation cycle)
   - frontside y offset: Max speed (in FU; if less than speed, set to speed*2)
   - backside floor height: Pinch (in degrees; 0 if no backside; essentially makes rotation conical instead of wheel-like)
   - backside ceiling height: Roll (in degrees; 0 if no backside; rotates on the axis of the spinning - identical to Phase for spinning maces, but useful for rotating swinging maces as opposed to just offsetting them)
   - backside x offset: Number of "antispokes" (0 if no backside; makes that many spokes not exist so you can put another mace/chain type in there instead; for combo mace/chain instead turns them into chains directly)
   - backside y offset: Width (in number of extra chains per side; 0 if no backside; creates a "skiprope" arrangement)
   ----
   - ML_NOCLIMB: for chains and chain-mace combos, allow for player control of yaw through strafe keys
   - ML_EFFECT1: replacing the seperate mapthings, this makes a mace type swing instead of spin.
   - ML_EFFECT2: for all spokes of the mace wheel ending in maces, make the chains out of the mace type (inverted for firebars)
   - ML_EFFECT3: spawn a bonus mace type at the center(s) of rotation
   - ML_EFFECT4: don't clip inside ground
****
* Mapthing 1104 represents both spinning and swinging maces from prior versions of SRB2.
* Mapthing 1105 has gone from being a swinging mace variant to a combination of chains and maces in a single unit, provided the number of "spokes" is greater than one.
* Mapthing 1105 has gone from being a swinging chain variant to a vertical spring-on-a-ball-on-a-chain. Yellow by default, apply MTF_AMBUSH to turn into a red spring.
* Mapthing 1107 represents both spinning and swinging chains from prior versions of SRB2.
* Mapthing 1108 is completely untouched except to port over 2.1's functionality to the new backend.
* Mapthing 1109 is a Mario castle-level style firebar. This inverts the functionality of ML_EFFECT2 on the tagged linedef.
* Mapthing 1110 is a free slot should we want to implement another type of base-game mace.
* Mapthing 1111 is a custom mace. Use the linedef's frontside texture slots to identify a macetype mobjtype, then use the backside texture slots to identify a linktype mobjtype (defaults to MT_NULL if no backside).
****

Whooh. Requires new patch.dta for sprites.
2017-07-02 15:11:09 +01:00
toasterbabe
61fcbe9b36 Implemented the two NiGHTS Emblem types in the TUDD via var modifications to ET_GLOBAL!
* GE_NIGHTSPULL (for it to chase you once paralooped) - Sun emblem
* GE_NIGHTSITEM (for hidden until paralooped) - Moon emblem

Combined means that you essentially have to loop it twice.

Also, revamped NIGHTSITEM to suck a little less (and have more compatibility with MT_EMBLEM).
2017-05-09 16:20:26 +01:00
toasterbabe
59397d7cb3 More sound naming consistency! (Sorry.) 2017-05-01 13:48:20 +01:00
toasterbabe
bdaa0aea9b More coherent sound selection to prevent confusion of token and score boxes. 2017-04-28 22:55:54 +01:00
toasterbabe
2d9c37d800 MONITORS IS UNFUCKED
A less memetic message: On permission of Mystic, rejiggered a few things such that Race uses cv_competitionboxes, allowing the menu to be nicer.

Also:
* disabled the doomednum for ? boxes
* made A_MixUp play sfx_lose if you're in a gametype that can't use it
* Removed the all-teleporters option from cv_competitionboxes. It could just be done by tweaking the random monitor toggles, anyways.
2017-04-28 22:45:17 +01:00
toasterbabe
18ad6a3a0d Minor tweak to the balance of GFZ3. 2017-04-24 15:38:22 +01:00
toasterbabe
bef9520556 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into Deez_NewUserXperiences 2017-04-19 23:03:47 +01:00
Monster Iestyn
0f2c9c40a2 Hardcoded the big gargoyle 2017-04-18 20:38:13 +01:00
Monster Iestyn
941ab72204 Hardcode new/updated xmas scenery object type/state info 2017-04-18 18:32:52 +01:00
Monster Iestyn
0e358b3d9f Add new Pity shield orb state info, remove unused Pity states 2017-04-18 17:36:04 +01:00
toasterbabe
3e29ee3f01 Closed captioning!
* Provides a helpful description for the hearing impaired, whether permanent, temporary or situational.
* Consvar "closedcaptioning", with on/off values available.
* Only works if sounds are on. This is frustrating. I will see what I can do to allow it to work with sounds off in future, but for now it's dependent in order to properly accept or decline sounds.
* Thanks to MI for making that wiki page a lot more comprehensive a few days ago.

* Weapon ring is now a seperate sfx_wepfir instead of doubling up on sfx_thok.

* Also, made V_StringWidth work with V_NOSCALESTART.
2017-04-17 01:09:47 +01:00
toasterbabe
698e53a518 Per Mystic's request, sped up hammer animation. 2017-03-25 14:06:27 +00:00
toasterbabe
fa29f7deca A bunch of stuff again.
* Lock on targets bob now, and are used for CA_HOMINGTHOK and SH_ATTRACT as well.
* Flag stuff is now animated like it was designed to be but which was kinda messed up.
* Cork sounds.
* P_SpawnLockOn(player_t player, mobj_t lockon, statenum_t state) for Lua.
* Added homing/firing CA2_GUNSLINGER stuff at egg guard shields.
* Fixed homing stuff wrt egg guard shields and sea egg balloons.
* Fixed attract orb goin' gold when doing a CA_HOMINGTHOK homing ability.
* Fixed positioning of player during homing attack.
* Cleaned up lockon spawn code.
2017-03-23 19:11:22 +00:00
toasterbabe
ddf8db12af Big commit, sorry. I broke several things trying to get other things to work and it's only now that all the code that worked yesterday works today!
*P_LookForEnemies is now side-effect-less and only provides a pointer to the found mobj
*player-jumping is dead, long live PF_STARTJUMP
*per Mystic's request, CA2_GUNSLINGER has a targeting icon. It also has a more restricted vertical aiming range.
*mobj for this is in the game as requested
*fast teetering animation flag
*general code cleanup
2017-03-22 18:51:30 +00:00
toasterbabe
7ac0373dbf After usability complaints:
* CA2_MELEE/CA_TWINSPIN combination abilities (ground hit, somersalt) disabled.
* Enabled movement controls whilst using CA2_MELEE in the air.
* CA2_GUNSLINGER no longer requires charging. In exchange, it involves a cooldown in which you can't move.
* CA2_GUNSLINGER lock-on distance improved, and aiming allowance reduced to compensate.
* Lots of cleanup/gravflip allowances for homing/targeting code.

* Unrelated: Flickies now properly face the direction they're supposed to when getting knocked out of the egg capsule.
* Unrelated: Thok trail fades like spindash trail now.
* Unrelated: Using CA_HOMINGATTACK when nowhere near an enemy uncurls you.
2017-03-21 16:04:49 +00:00
toasterbabe
59bc0da022 Introducing CA2_GUNSLINGER.
* Mildly hacky proof of concept! Will de-hack later.
* Charge up your ability!
* You can only damage others if it's at full power.
* Fires directly at enemies/bosses when at full power. Does NOT aim at players.
2017-03-21 00:54:47 +00:00
toasterbabe
f0c364c71c For melee:
* Fixed underwater hop going too high.
* Added helpful comment.
* Changed animation speed.
2017-03-19 22:22:39 +00:00
toasterbabe
3a6f659b93 She's a lot more complete.
* Melee now has a proper weightiness to it with a landing frame.
* If you have twinspin too, do a somersalt when running and hitting the melee button.
* If you have melee, go into the melee landing frame when twinspinning into the ground.
2017-03-19 16:48:35 +00:00
toasterbabe
a65ffc6b24 * Cleaned up a bit of irrelevant oldbrak goop.
* Made it so the goop always appears on-top of the player.
2017-03-16 11:23:23 +00:00
toasterbabe
b2c0930807 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3 2017-03-14 18:12:47 +00:00
toasterbabe
5b77ca5fed Reverted change where NiGHTS drilling sprites were technically the super version of flying sprites. It was not helpful to modders at all, and was only justifiable as a rutheless attempt at efficiency in storage. 2017-03-11 18:14:58 +00:00
toasterbabe
e20292844d * SPR2_DRL0-C are gone. They're now (FF_SPR2SUPER|SPR2_NGT0-C). This frees up a bunch of badly-used freeslots, considering that you can't be super AND NiGHTS at the same time.
* Speaking of, actively enforced not being able to be Super and NiGHTS at the same time.
* Also on that note - SPR2_TRNS is now the NiGHTS transformation. The Super transformation is (FF_SPR2SUPER|SPR2_TRNS).
* SPR2_NPAN is now SPR2_NSTN, since it matches Super Sonic's stun animation rather than the pain animation.
* Fixed a bunch of things where Super float was handled badly with 2AM brain.
* Fixed the R_ProjectSprite error going out of spr2names' bounds.
* Fixed order of FF's in dehackéd.
* Fixed that thing where Super Sonic was blue for 1 tic after transformation, and the life icon was a blue Super Sonic.
2017-03-11 17:14:39 +00:00
toasterbabe
75ac351940 It's 2am, I'll upload the exe and player.dta to the ftp later.
* Super sprites are now deliniated via an additional S_SUPER lump between S_START and S_END. Above are normal sprites, below are super sprites. Handled internally via FF_SPR2SUPER.
* Sprite2 numbers are now appropriately limited for the data type that stores them.
* SPR2_SPIN is now SPR2_ROLL, SPR2_DASH is now SPR2_SPIN and SPR2_PEEL is now SPR2_DASH. Makes more sense, right?
2017-03-11 02:09:01 +00:00
toasterbabe
3feac5bc90 bad bounce https://gfycat.com/DeliciousReliableGentoopenguin 2017-02-13 18:04:08 +00:00
toasterbabe
6dfef794a4 Metal Sonic's bounce attack is much nicer. Also, a bunch of other minor tweaks. 2017-02-12 01:28:12 +00:00
toasterbabe
c04ee6bfb7 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into charabilities_mk3 2017-02-04 15:19:02 +00:00
toasterbabe
97a6f786a3 De-meming. 2017-01-25 17:23:57 +00:00
toasterbabe
939a7b8b2e Fixed the missing Mario Puma/poodoo sounds. 2017-01-25 17:00:40 +00:00
toasterbabe
cdf388810b Added modified Mario shells. They now hurt everyone if you touch them from the side, and can be stopped by anyone if they stomp on their tops. 2017-01-25 14:53:09 +00:00
toasterbabe
91cbeb5e1a Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into patch_hardcode 2017-01-25 12:24:09 +00:00
toasterbabe
4e8ce1b77f CEZ1 flames now implemented.
Please note Brak flames use a FF_ANIMATE state instead of the normal flame ones because they are spammed a lot, and the normal ones make particles.
2017-01-21 20:32:33 +00:00