Propagate mk_math MIT relicense.

This commit is contained in:
Mari the Deer 2021-04-02 14:09:11 +02:00
commit 19ccdb3ab2
4 changed files with 80 additions and 43 deletions

View file

@ -1,28 +1,28 @@
allitems
allkills
allsecrets
anone
balls
bonk
bossdash
brake
clonk
conga
dosh
ezkill
flight
friend
gib
jump
lead
ligma
mega
oneguy
onestanding
oopsie
reflect
shame
sneeze
tele
thruwall
wantdie
allitems (get 100% items in X maps)
allkills (get 100% kills in X maps)
allsecrets (get 100% secrets in X maps)
anone (use mykradvo against just one non-boss enemy)
balls (land lead ball crits X times)
bonk (bump against walls X times)
bossdash (kill a boss with a dash attack)
brake (use up entire fuel in a single dash X times)
clonk (kill boss with a lead ball crit)
conga (hit X enemies at the same time with one silver bullet)
dosh (have a shitload of money)
ezkill (kill X enemies with Ynykron)
flight (send enemy flying X thousand units away)
friend (befriend cacos)
gib (gib a lot of enemies)
jump (walljump a lot)
lead (eviscerator shell hit from X units away)
ligma (kill endgame boss with ynykron)
mega (million kills)
oneguy (kill one non-boss enemy with a single ynykron shot)
onestanding (leave just one enemy alive)
oopsie (kill yourself with ynykron)
reflect (kill with parried projectiles)
shame (cough in the general direction of a boss until it dies)
sneeze (cough at X enemies until death)
tele (teleport bread)
thruwall (hit X times through wall with silver bullet)
wantdie (beat single map in nightmare without dying)

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r423 \cu(Thu 1 Apr 15:20:39 CEST 2021)\c-";
SWWM_SHORTVER="\cw0.9.11b-pre r423 \cu(2021-04-01 15:20:39)\c-";
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r424 \cu(Fri 2 Apr 14:09:11 CEST 2021)\c-";
SWWM_SHORTVER="\cw0.9.11b-pre r424 \cu(2021-04-02 14:09:11)\c-";

View file

@ -1,16 +1,35 @@
/*
Coordinate Utility helper class.
(C)2018 Marisa Kirisame, UnSX Team.
Released under the GNU Lesser General Public License version 3 (or later).
See https://www.gnu.org/licenses/lgpl-3.0.txt for its terms.
Reproduces the old UnrealScript Get(Un)Axes functions, providing XYZ axis
vectors relative to an euler rotation (defaults to left-handed coords).
Copyright (c)2018-2021 Marisa Kirisame, UnSX Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
*/
Class swwm_CoordUtil
{
// In Tim Sweeney's own words: "transform by a pitch-yaw-roll rotation"
static Vector3, Vector3, Vector3 GetUnAxes( double pitch, double yaw, double roll )
static Vector3, Vector3, Vector3 GetUnAxes( double pitch, double yaw, double roll, bool rhand = false )
{
Vector3 x = (1,0,0), y = (0,-1,0), z = (0,0,1); // y inverted for left-handed result
Vector3 x = (1,0,0), y = (0,rhand?1:-1,0), z = (0,0,1);
Vector3 a, b, c;
// pitch and roll in gzdoom work in reverse compared to UE
pitch = -pitch;
@ -40,9 +59,9 @@ Class swwm_CoordUtil
}
// In Tim Sweeney's own words: "detransform by a pitch-yaw-roll rotation"
static Vector3, Vector3, Vector3 GetAxes( double pitch, double yaw, double roll )
static Vector3, Vector3, Vector3 GetAxes( double pitch, double yaw, double roll, bool rhand = false )
{
Vector3 x = (1,0,0), y = (0,-1,0), z = (0,0,1); // y inverted for left-handed result
Vector3 x = (1,0,0), y = (0,rhand?1:-1,0), z = (0,0,1);
Vector3 a, b, c;
// pitch and roll in gzdoom work in reverse compared to UE
pitch = -pitch;

View file

@ -1,8 +1,27 @@
/*
Quaternion math helper class.
(C)2018 Marisa Kirisame, UnSX Team.
Released under the GNU Lesser General Public License version 3 (or later).
See https://www.gnu.org/licenses/lgpl-3.0.txt for its terms.
Provides only the bare minimum needed to implement 6DOF functionality. For a
more extensive implementation, please refer to Gutamatics.
Copyright (c)2018-2021 Marisa Kirisame, UnSX Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
*/
Class swwm_Quat
@ -89,9 +108,8 @@ Class swwm_Quat
return pitch, yaw, roll;
}
swwm_Quat qmul( swwm_Quat q )
swwm_Quat qmul( swwm_Quat q ) const
{
return swwm_Quat.create(w*q.w-x*q.x-y*q.y-z*q.z,w*q.x+x*q.w+y*q.z-z
*q.y,w*q.y+y*q.w+z*q.x-x*q.z,w*q.z+z*q.w+x*q.y-y*q.x);
return swwm_Quat.create(w*q.w-x*q.x-y*q.y-z*q.z,w*q.x+x*q.w+y*q.z-z*q.y,w*q.y+y*q.w+z*q.x-x*q.z,w*q.z+z*q.w+x*q.y-y*q.x);
}
}