Remove leftover old "for" loop below "foreach" in some places.

Add SWWMUtility.ToAngles(), temporarily until next Gutamatics update.
Some note stuff.
This commit is contained in:
Mari the Deer 2022-12-12 22:07:03 +01:00
commit 32d1037d66
5 changed files with 37 additions and 9 deletions

View file

@ -2,7 +2,7 @@ This is just a bit of *"future planning"* for stuff that I ***might*** add later
## 1.3 update *(The Second Batch)*:
More weapons, because we need 'em. In addition, all the "easy to implement" minigames, because the rest can wait until 1.5.
More weapons, because we need 'em. In addition, a bunch of cleanup in base weapons to avoid redundancy.
* ☐ **DLC Weaponset:**
- ✓ [1] Itamex Reinforced Hammer *(UnSX 5)*
@ -44,10 +44,12 @@ More weapons, because we need 'em. In addition, all the "easy to implement" mini
## 1.4 update *(Fine Refinements)*:
Re-animation of old FK models. Plus extra score incentives and achievements.
Re-animation of old FK models and fully dropping the Unreal vertex format. Plus extra score incentives and achievements.
* **Re-animate all base models with IK *(important for consistency)***
* **Re-export all animated models as IQM, and static models as OBJ *(saves space and memory)***
- Re-animate base weapon set *(won't be hard)*
- Re-animate player model *(this might be harder)*
* **Re-export all animated models as IQM *(saves space and memory)***
* **Additional Items:**
- Ballsy™ Bomb *(re-purposes lead ball)*
- Battle-Boi™ Deployable Sentry *(re-purposes saltshot)*
@ -124,12 +126,13 @@ Add-ons and other related stuff.
- A more *"mundane"* arsenal
- Featuring a very big girl with very big... Assets
- Slightly more *"grounded"*, but still powerful
- See, I got tired of playing modded Fallout 4 so...
- See, I wanna stop playing modded Fallout 4, so...
* **Saya side mod *(Red-Eyed Rampage)*:**
- The first mod where you play as a mere squishy person
- Even more fun weapons, including one made by a god!
- Spellcards!
- A more interesting take on *"infinite lives"*
- Ludicrous movement mechanics from the most agile gremlin ever
- Featuring the Pancor Jackhammer *(lol)*
* **Kirin side mod *(Red Star of Innocence)*:**
- Finally, you get to play as the precious femboy emperor

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r685 \cu(Sun 11 Dec 00:44:51 CET 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r685 \cu(2022-12-11 00:44:51)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r686 \cu(Mon 12 Dec 22:07:03 CET 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r686 \cu(2022-12-12 22:07:03)\c-";

View file

@ -1660,7 +1660,6 @@ Class CompanionLamp : Actor
f.A_StartSound("lamp/disappear",CHAN_VOICE);
// carry over the moths
foreach ( m:moff )
for ( int i=0; i<moff.Size(); i++ )
{
if ( !m ) continue;
Vector3 whereto = level.Vec3Offset(m.pos,rel);

View file

@ -256,6 +256,34 @@ Class SWWMUtility
return r*(1,0,0), r*(0,-1,0), r*(0,0,1);
}
// included here until Gutamatics updates to use native quaternions
static clearscope double, double, double ToAngles( Quat q )
{
double angle = 0., pitch = 0., roll = 0.;
double stest = q.z*q.x-q.w*q.y;
double angY = 2.*(q.w*q.z+q.x*q.y);
double angX = 1.-2.*(q.y*q.y+q.z*q.z);
if ( stest < -.4999995 )
{
angle = atan2(angY,angX);
pitch = 90.;
roll = swwm_GM_GlobalMaths.Normalize180(angle+(2.*atan2(q.x,q.w)));
}
else if ( stest > .4999995 )
{
angle = atan2(angY,angX);
pitch = -90.;
roll = swwm_GM_GlobalMaths.Normalize180(angle+(2.*atan2(q.x,q.w)));
}
else
{
angle = atan2(angY,angX);
pitch = -asin(2.*stest);
roll = atan2(2.*(q.w*q.x+q.y*q.z),1.-2.*(q.x*q.x+q.y*q.y));
}
return angle, pitch, roll;
}
// for aiming and shooting
static clearscope Vector3 GetPlayerViewDir( Actor player )
{
@ -1582,7 +1610,6 @@ Class SWWMUtility
{
// see if any services can resolve this first
foreach ( sv:hnd.mergemonstersv )
for ( int i=0; i<hnd.mergemonstersv.Size(); i++ )
{
if ( !sv ) continue;
String res = sv.GetString("MergeMonster",stringArg:a.GetClassName());

View file

@ -1031,7 +1031,6 @@ Class BiosparkBeam : SWWMNonInteractiveActor
l.Activate(target,0,SPAC_Impact);
}
foreach ( hit:t.hitlist )
for ( int i=0; i<t.hitlist.Size(); i++ )
{
if ( !hit.hitactor ) continue;
if ( (hit.hitactor is 'BiosparkHitbox') && hit.hitactor.target )