Commit graph

645 commits

Author SHA1 Message Date
Sally Coolatta
ef5a4f01d4 Merge branch 'master' into terrain-lump 2022-01-04 12:34:47 -05:00
Sally Coolatta
cc250afd45 P_InitAngle, to fix angle interpolation on spawning objects 2021-12-24 12:45:51 -05:00
Sally Coolatta
8667aeb620 Add footstep particles 2021-12-18 21:23:41 -05:00
James R
a64263c96d Merge remote-tracking branch 'origin/master' into new-menus 2021-12-03 14:56:48 -08:00
Sally Coolatta
c43f8da5e6 P_SetOrigin & P_MoveOrigin to replace P_TeleportMove 2021-11-29 08:20:27 -05:00
toaster
b4af07ffed Merge branch 'master' into new-menus
# Conflicts:
#	src/d_main.c
#	src/dehacked.c
#	src/m_menu.c
#	src/v_video.c
#	src/y_inter.c
2021-10-18 01:18:37 +01:00
SteelT
b3cee8b8fc Merge branch 'master' into trick-panels-changes 2021-06-10 23:45:35 -04:00
Latapostrophe
47a95efa6b push R_PointToAnlePlayer to Lua, might be super useful for it. 2021-04-24 14:49:41 +02:00
Sally Coolatta
5ac5ca89d0 New solid object bouncing, and updated player bouncing
- Solid objects have new bouncing physics, it's a mix of the object bumping and wall bumping. It replaces the "solid" option on K_KartBouncing.
- Goomba stomp momentum is decided in K_KartBouncing itself instead of needing to be manually passed in as a boolean, so you'll be able to goomba stomp all objects instead of just players.
- Fixed bumping not carrying all of its intended momentum, due to a bug making friction apply very strongly.
2021-04-22 20:29:59 -04:00
toaster
b3d006b093 structs gunched 2021-04-17 00:27:13 +01:00
Sally Coolatta
de1f67b72a Use strings in the map header for next level, marathon next, thumbnails, minimaps, encoremaps, and tweakmaps 2021-04-09 21:10:46 -04:00
Sally Coolatta
359cf86efb Merge branch 'master' into big-large-map-markers 2021-04-09 19:49:33 -04:00
toaster
c11ad8c297 Make offroad dust solid, resolving #150. 2021-04-03 19:53:09 +01:00
toaster
40cbc30bff Mammoth commit, sorry.
All my work thus far on solving the drawflag/renderflag/additive/subtractive conundrum.

Outstandng problems:
* Bad additive/subtractive tables means that they appear opaque except under certain conditions.
* No support for FOFs, Polyobjects, or linedefs in OpenGL yet.
* All OpenGL support mostly done blind, may or may not function in practice.

If nothing else, the hard engineering problems are solved and it's just bug hammering...
2021-03-31 22:46:23 +01:00
Sally Coolatta
9d7ec0ab8f Merge SRB2 next
Probably doesn't compile yet, but I got rid of all of the conflicts for anyone who wants to take a stab at it.
2021-02-27 05:18:36 -05:00
toaster
08d087c6b5 Acceleration Kickstart, my little hobby project.
It's no secret that holding down a button a lot can fuck with your wrists and fingers. It's too late for me to be damageless, but I can at least create an option to reduce further harm.

This accessibility feature, when enabled (kickstartaccel and kickstartaccel2/3/4 in the console) behaves with the following properties:
* Hold accelerate for 1 second to lock it down.
* Press again to release.
* Short holds/presses do nothing (good for POSITION).
* Continue holding it during the releasing press to re-lock it.
* A small triangular UI element is added next to the speedometer sticker, which displays the current state of the acceleration kickstart for visual feedback. (NO SPLITS SUPPORT YET)

In addition:
* Add PF_ACCELDOWN and PF_BRAKEDOWN, and BT_REALACCELERATE (which ACCELDOWN tracks). Even if this feature never gets merged, BT_REALACCELERATE is required because sneakers and boosters force it on too (extending this is how I implemented it).
* Fix the dehacked playerflag list being out of shape.
* I replaced some existing flags during development of this branch, so their old uses have been whittled away.
2021-02-20 23:10:18 +00:00
SMS Alfredo
67a13f5032 This might be dumb, but whatever 2021-02-14 20:49:03 -06:00
toaster
b66965185a Caltrop calstop (resolves #114).
If a ring isn't lost from the counter, don't drop a caltrop.

This is done by changing the function signature of P_GivePlayerRings to return the number of rings it has successfully given (or taken away) (which can differ from the rings provided to it). This change has been done for Lua as well.

Super Ring absorbtion now uses this system too, so you only need to change one location to modify the maximum and minimum number of rings a player can have (as far as I am aware).
2021-02-14 21:48:55 +00:00
LJ Sonic
c6da63d5ad Deprecate P_AproxDistance for Lua scripts 2021-02-13 18:04:27 +01:00
LJ Sonic
7e2c1284ab Use R_PointToDist2 for the Lua versions of P_AproxDistance and FixedHypot 2021-02-13 18:04:12 +01:00
LJ Sonic
6d44e1b0dd Revert "Use FixedHypot over P_AproxDistance"
This reverts commit 77f83de100.
2021-02-13 17:46:29 +01:00
James R
45b98298d9 Ring burst adjustment
Explosions and Tumble - 10 rings
SPB - 20 rings
2021-02-06 02:45:23 -08:00
LJ Sonic
05a75758ab Merge branch 'redundant-hypot' into 'next'
Replace P_AproxDistance with FixedHypot, and replace FixedHypot's algorithm with R_PointToDist2's

See merge request STJr/SRB2!1320
2021-01-25 18:08:25 -05:00
Sally Coolatta
2af75a2bd1 Fix merge conflicts 2021-01-11 00:06:34 -05:00
SteelT
29b5f38347 Merge branch 'master' into big-large-map-markers
# Conflicts:
#	src/d_netcmd.c
2021-01-09 15:52:34 -05:00
Sally Coolatta
cfda66103d Merge branch 'master' into just-tumble 2021-01-06 23:02:51 -05:00
Sally Coolatta
56fba410ee Waypoints use trace for blocking lines, instead of a sight check 2021-01-06 16:21:57 -05:00
Nev3r
9d99a7880e Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into lua-tag-iterator
# Conflicts:
#	src/doomtype.h
2020-12-16 17:27:44 +01:00
Sally Coolatta
77f83de100 Use FixedHypot over P_AproxDistance
Not convinced that the small speed benefit from P_AproxDistance is worth the "aproximate"[sic] results it gives. Let's instead try a define to replace it with FixedHypot. In Lua, the function gives a deprecated warning.

Inspired by the hyperwall fix for vanilla, except for everything. From little testing, actively improves waypoint checks, bumping, speed checks, wall collisions, Jawz targetting, Lightning Shield attacks, so on.

The only way I see this as a potential downgrade is A_Look (and related functions) getting slower, which are barely used in Kart.
2020-12-12 14:49:25 -08:00
James R
1c6133a39a Lua: taglist.add and taglist.remove for sector tag lists 2020-12-05 02:02:06 -08:00
James R
01e7c48630 Lua tag lists
Index and take length of tag lists like a table, 1-indexed. There are three
methods which may be used on tag lists:

list:iterate() - returns an iterator over the tags in the list
list:has(tag) - returns a boolean whether the tag is in the list
list.shares(list2) - returns whether two lists share a tag

"find" is also an alias to "has". Each method may be accessed from the global
taglist library too, e.g. taglist.iterate(list)

Tag lists may be compared with an equality operator too. This will tell you if
the two lists are composed of identical tags.

Accessible from sector.taglist, line.taglist and mapthing.taglist.
2020-12-04 13:53:27 -08:00
Steel Titanium
acf0d768fb Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into lua-skinsprites 2020-12-03 17:29:08 -05:00
Jaime Ita Passos
be274a4fa9 Merge branch 'next' into spritestuff2 2020-11-19 00:52:43 -03:00
Sally Coolatta
14b379fd27 Cherry-pick 4eb69a664 2020-11-16 19:52:26 -05:00
Sally Coolatta
827a1b5fca Refactor stealing & destroying bumpers
- Prevents being able to farm extra bumpers off of karma players
- Paves the way for bumper destroy animation later
2020-11-15 06:25:38 -05:00
James R
e1a8a393a3 Merge branch 'udmf-multitag' into 'next'
UDMF: Multitag support

See merge request STJr/SRB2!1097
2020-11-14 19:18:14 -05:00
Sally Coolatta
56a20d05df Merge branch 'master' into battle-rethink 2020-11-11 00:11:18 -05:00
Sally Coolatta
fc934b38e1 Merge public next 2020-11-10 15:32:48 -05:00
Nev3r
f94d9825b4 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into udmf-multitag 2020-11-10 11:46:53 +01:00
Steel Titanium
1e1663da6d Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into lua-musicfuncs 2020-11-08 21:20:07 -05:00
Louis-Antoine
69781faa42 Return explicitly when failing to register a metatable 2020-11-09 00:16:40 +01:00
Louis-Antoine
449799bd5a Throw an error if too many metatables are registered 2020-11-08 17:20:25 +01:00
Sally Coolatta
b3f4483ac2 Actually, lets just fix FixedHypot instead.
Now FixedHypot uses the code from R_PointToDist2, and R_PointToDist2 just calls FixedHypot.

Ultimately, this branch was intended to get rid of a redundant way to retrieve distance and replace it with the one that was actually good at its job. So consolidating FixedHypot and R_PointToDist2 together is just an extension of that.
2020-11-08 00:45:16 -05:00
Sally Coolatta
def9b7112a Use R_PointToDist2 instead
Apparently overflows less often
2020-11-07 23:56:46 -05:00
Steel Titanium
e41d1632c5 Allow access to skin.sprites[]
Only numframes so far though, as there's already a function for what spriteframe provides.
2020-11-07 23:55:37 -05:00
Sally Coolatta
f27a2b904b Use FixedHypot over P_AproxDistance
Not convinced that the small speed benefit from P_AproxDistance is worth the "aproximate"[sic] results it gives. Let's instead try a define to replace it with FixedHypot. In Lua, the function gives a deprecated warning.

Inspired by the hyperwall fix for vanilla, except for everything. From little testing, actively improves waypoint checks, bumping, speed checks, wall collisions, Jawz targetting, Lightning Shield attacks, so on.

The only way I see this as a potential downgrade is A_Look (and related functions) getting slower, which are barely used in Kart.
2020-11-07 19:47:50 -05:00
Jaime Passos
da0f2286e3 P_DeleteFloorSpriteSlope -> P_RemoveFloorSpriteSlope 2020-11-05 00:42:14 -03:00
Steel Titanium
ef1ca357de Expose more music functions to Lua 2020-10-31 21:15:41 -04:00
James R
37c345c7eb Map lump names can be anything, map number is dynamically allocated 2020-10-30 20:10:31 -07:00
Louis-Antoine
a8c44ebb6a Use the same names as userdataType() for userdataMetatable() 2020-10-30 15:00:13 +01:00