From 09fc2bb48ed0dc38fc9fea762cdd39ed5329183b Mon Sep 17 00:00:00 2001 From: justin Date: Wed, 1 Apr 2026 11:02:24 +0100 Subject: [PATCH] Tweak posture --- src/Dodge/Creature/HandPos.hs | 10 +++--- src/Dodge/Item/Draw/SPic.hs | 6 ++-- tags | 66 ++++++++++++++++++----------------- 3 files changed, 43 insertions(+), 39 deletions(-) diff --git a/src/Dodge/Creature/HandPos.hs b/src/Dodge/Creature/HandPos.hs index 1dcc12175..5aa1555bf 100644 --- a/src/Dodge/Creature/HandPos.hs +++ b/src/Dodge/Creature/HandPos.hs @@ -67,11 +67,11 @@ rightHandPQ :: Creature -> Point3Q rightHandPQ cr | oneH cr = (V3 11 (-3) 20, Q.qID) | twists cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 4 (-10) 0, Q.qz 1) - | twoFlat cr = (V3 4 (-8) 12, Q.qID) + | twoFlat cr = (V3 8 (-8) 12, Q.qID) | Just TwoHandTwist <- cr ^? crManipulation . manObject . imAimStance = (V3 6 (-6) 10, Q.qID) | Just TwoHandFlat <- cr ^? crManipulation . manObject . imAimStance - = (V3 8 (-8) 12, Q.qID) + = (V3 (8 - twoHandOffY cr) (-8) 12, Q.qID) | Just p <- crRightHandWall cr = (20 & _xy .~ p, Q.qID) | otherwise = (handWalkingPos LeftForward (-8) cr, Q.qID) @@ -120,11 +120,11 @@ rightWristPQ cr = rightHandPQ cr `Q.comp` (V3 0 (-4) (-4), Q.qID) leftHandPQ :: Creature -> Point3Q leftHandPQ cr | twists cr = (V3 0 5 20, Q.qz (-1)) `Q.comp` (V3 12 4 0, Q.qz 0.4) - | twoFlat cr = (V3 4 8 12, Q.qID) + | twoFlat cr = (V3 8 8 12, Q.qID) | Just TwoHandTwist <- cr ^? crManipulation . manObject . imAimStance - = (V3 (10 + 1*twoHandOffY cr) 6 20, Q.qID) + = (V3 (10 + twoHandOffY cr) 6 20, Q.qID) | Just TwoHandFlat <- cr ^? crManipulation . manObject . imAimStance - = (V3 8 6 12, Q.qID) + = (V3 (8 + twoHandOffY cr) 6 12, Q.qID) | Just p <- crLeftHandWall cr = (20 & _xy .~ p, Q.qID) | oneH cr = (V3 0 8 10, Q.qz 0.4) | otherwise = (handWalkingPos RightForward 8 cr, Q.qID) diff --git a/src/Dodge/Item/Draw/SPic.hs b/src/Dodge/Item/Draw/SPic.hs index 62bfc7150..28ed20e64 100644 --- a/src/Dodge/Item/Draw/SPic.hs +++ b/src/Dodge/Item/Draw/SPic.hs @@ -376,9 +376,11 @@ miniGunXPict :: Int -> Float -> SPic miniGunXPict i spin = noPic . colorSH red $ rotateSHx a barrels - <> xCylinderST 3 40 +-- <> xCylinderST 3 40 + <> xCylinderST 3 16 where - aBarrel = translateSH (V3 15 4 2.5) $ xCylinderST 2 25 + --aBarrel = translateSH (V3 15 4 2.5) $ xCylinderST 2 25 + aBarrel = translateSH (V3 15 0 2) $ xCylinderST 2 25 barrels = foldMap (\an -> aBarrel & rotateSHx (2 * pi * fromIntegral an / fromIntegral i)) [1 .. i] a = 2 * pi * spin / 25 diff --git a/tags b/tags index 6a90d588c..fc67ed843 100644 --- a/tags +++ b/tags @@ -2671,7 +2671,7 @@ axisInt src/Geometry/Intersect.hs 246;" f azure src/Color.hs 49;" f bQuadToF src/Geometry/Bezier.hs 37;" f bQuadToLine src/Geometry/Bezier.hs 30;" f -backPQ src/Dodge/Creature/HandPos.hs 172;" f +backPQ src/Dodge/Creature/HandPos.hs 193;" f backgroundSpaceS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 729;" f backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f backpackShape src/Dodge/Item/Draw/SPic.hs 188;" f @@ -2685,14 +2685,14 @@ bangStick src/Dodge/Item/Held/Stick.hs 15;" f barPP src/Dodge/Room/Foreground.hs 231;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f barrelShape src/Dodge/Render/ShapePicture.hs 120;" f -baseAMRShape src/Dodge/Item/Draw/SPic.hs 408;" f +baseAMRShape src/Dodge/Item/Draw/SPic.hs 410;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f baseCI src/Dodge/Item/Grammar.hs 165;" f baseFloorTileSize src/Tile.hs 45;" f baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f -baseRodShape src/Dodge/Item/Draw/SPic.hs 405;" f -baseSMGShape src/Dodge/Item/Draw/SPic.hs 393;" f +baseRodShape src/Dodge/Item/Draw/SPic.hs 407;" f +baseSMGShape src/Dodge/Item/Draw/SPic.hs 395;" f baseShoulder src/Dodge/Creature/Picture.hs 107;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f @@ -2839,7 +2839,7 @@ checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f -chestPQ src/Dodge/Creature/HandPos.hs 169;" f +chestPQ src/Dodge/Creature/HandPos.hs 190;" f chooseCursorBorders src/Dodge/Render/List.hs 141;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f @@ -2974,7 +2974,7 @@ crInAimStance src/Dodge/Creature/Test.hs 94;" f crIntelligence src/Dodge/Creature/Statistics.hs 37;" f crIsAiming src/Dodge/Creature/Test.hs 61;" f crIsArmouredFrom src/Dodge/Creature/Test.hs 110;" f -crLeftHandWall src/Dodge/Creature/HandPos.hs 91;" f +crLeftHandWall src/Dodge/Creature/HandPos.hs 96;" f crMass src/Dodge/Creature/Mass.hs 5;" f crMaterial src/Dodge/Creature/Material.hs 8;" f crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f @@ -2987,7 +2987,7 @@ crMvType src/Dodge/Creature/MoveType.hs 6;" f crNearPoint src/Dodge/Creature/Test.hs 132;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f crRad src/Dodge/Creature/Radius.hs 7;" f -crRightHandWall src/Dodge/Creature/HandPos.hs 73;" f +crRightHandWall src/Dodge/Creature/HandPos.hs 78;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 75;" f crSetRoots src/Dodge/Inventory/Location.hs 56;" f crShape src/Dodge/Creature/Shape.hs 8;" f @@ -3199,7 +3199,7 @@ destroyMounts src/Dodge/Wall/Damage.hs 164;" f destroyProjectile src/Dodge/Projectile/Update.hs 112;" f detV src/Geometry/Vector.hs 96;" f detector src/Dodge/Item/Held/Utility.hs 27;" f -detectorColor src/Dodge/Item/Draw/SPic.hs 433;" f +detectorColor src/Dodge/Item/Draw/SPic.hs 435;" f detectorInfo src/Dodge/Item/Info.hs 224;" f determineProjectileTracking src/Dodge/HeldUse.hs 1216;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f @@ -3497,7 +3497,7 @@ equipBackgroundEffect src/Dodge/Euse.hs 22;" f equipInfo src/Dodge/Item/Info.hs 140;" f equipItemSPic src/Dodge/Item/Draw/SPic.hs 159;" f equipPosition src/Dodge/Item/Draw.hs 38;" f -equipSiteInfo src/Dodge/Item/Info.hs 253;" f +equipSiteInfo src/Dodge/Item/Info.hs 252;" f equipSitePQ src/Dodge/Creature/HandPos.hs 32;" f equipType src/Dodge/Data/EquipType.hs 10;" f equipmentDesignation src/Dodge/Inventory/RBList.hs 52;" f @@ -3559,12 +3559,12 @@ flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f -flamerPic src/Dodge/Item/Draw/SPic.hs 396;" f +flamerPic src/Dodge/Item/Draw/SPic.hs 398;" f flareCircleAt src/Dodge/HeldUse.hs 715;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f flatLookupItems src/Dodge/Combine.hs 39;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f -flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 420;" f +flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 422;" f fleeFrom src/Dodge/CreatureEffect.hs 93;" f flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f @@ -3685,7 +3685,7 @@ glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 711;" f glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 687;" f glassSwitchBack src/Dodge/Room/Room.hs 84;" f glassSwitchBackCrits src/Dodge/Room/Room.hs 118;" f -glauncherPic src/Dodge/Item/Draw/SPic.hs 402;" f +glauncherPic src/Dodge/Item/Draw/SPic.hs 404;" f gluintSize src/Shader/Parameters.hs 25;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 151;" f @@ -3742,9 +3742,9 @@ hasLOSIndirect src/Dodge/Base/Collide.hs 313;" f hat src/Dodge/Item/Equipment.hs 65;" f head src/DoubleStack.hs 14;" f headLamp src/Dodge/Item/Equipment.hs 68;" f -headLampShape src/Dodge/Item/Draw/SPic.hs 423;" f +headLampShape src/Dodge/Item/Draw/SPic.hs 425;" f headMap src/Dodge/DoubleTree.hs 118;" f -headPQ src/Dodge/Creature/HandPos.hs 163;" f +headPQ src/Dodge/Creature/HandPos.hs 184;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 109;" f healthTest src/Dodge/Room/LasTurret.hs 129;" f @@ -3952,7 +3952,7 @@ itemWeight src/Dodge/Creature/Statistics.hs 71;" f iterateUntil src/MonadHelp.hs 23;" f iterateWhile src/MonadHelp.hs 30;" f itmBaseInfo src/Dodge/Item/Info.hs 30;" f -itmEquipSiteInfo src/Dodge/Item/Info.hs 250;" f +itmEquipSiteInfo src/Dodge/Item/Info.hs 249;" f itmSpaceInfo src/Dodge/Item/Info.hs 25;" f itmUsageInfo src/Dodge/Item/Info.hs 230;" f jShape src/Dodge/Placement/Instance/LightSource.hs 73;" f @@ -3971,7 +3971,7 @@ keyCard src/Dodge/Item/Held/Utility.hs 20;" f keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 106;" f keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 94;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f -keyPic src/Dodge/Item/Draw/SPic.hs 439;" f +keyPic src/Dodge/Item/Draw/SPic.hs 441;" f keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f lChasm src/Dodge/Room/Tutorial.hs 147;" f @@ -3986,7 +3986,7 @@ lasCenRunClose1 src/Dodge/Room/LasTurret.hs 397;" f lasCenRunClose2 src/Dodge/Room/LasTurret.hs 470;" f lasCenRunCloseLongCor src/Dodge/Room/LasTurret.hs 362;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 164;" f -lasGunPic src/Dodge/Item/Draw/SPic.hs 414;" f +lasGunPic src/Dodge/Item/Draw/SPic.hs 416;" f lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 731;" f lasRunRand src/Dodge/Room/LasTurret.hs 467;" f lasRunYinYang src/Dodge/Room/LasTurret.hs 185;" f @@ -4007,14 +4007,14 @@ leaveResetQuitTerminal src/Dodge/WorldEffect.hs 163;" f led src/Dodge/Item/Held/Utility.hs 23;" f left src/DoubleStack.hs 16;" f leftChildList src/Dodge/Item/Grammar.hs 193;" f -leftHandPQ src/Dodge/Creature/HandPos.hs 115;" f +leftHandPQ src/Dodge/Creature/HandPos.hs 120;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 170;" f leftPad src/Padding.hs 15;" f leftRightCombine src/Dodge/Item/Grammar.hs 205;" f -leftWristPQ src/Dodge/Creature/HandPos.hs 133;" f -legPQ src/Dodge/Creature/HandPos.hs 139;" f -legPQ' src/Dodge/Creature/HandPos.hs 144;" f -legsSPic src/Dodge/Item/Draw/SPic.hs 448;" f +leftWristPQ src/Dodge/Creature/HandPos.hs 154;" f +legPQ src/Dodge/Creature/HandPos.hs 160;" f +legPQ' src/Dodge/Creature/HandPos.hs 165;" f +legsSPic src/Dodge/Item/Draw/SPic.hs 450;" f lerpP2A src/Dodge/ShiftPoint.hs 14;" f liShape src/Dodge/Placement/Instance/LightSource.hs 86;" f light src/Color.hs 131;" f @@ -4741,13 +4741,13 @@ rhombus src/Polyhedra.hs 69;" f rifle src/Dodge/Item/Held/Cane.hs 19;" f right src/DoubleStack.hs 16;" f rightChildList src/Dodge/Item/Grammar.hs 199;" f -rightHandPQ src/Dodge/Creature/HandPos.hs 63;" f +rightHandPQ src/Dodge/Creature/HandPos.hs 66;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 181;" f rightPad src/Padding.hs 19;" f rightPadNoSquash src/Padding.hs 23;" f -rightWristPQ src/Dodge/Creature/HandPos.hs 112;" f +rightWristPQ src/Dodge/Creature/HandPos.hs 117;" f rlPosDir src/Dodge/RoomLink.hs 112;" f -rlauncherPic src/Dodge/Item/Draw/SPic.hs 399;" f +rlauncherPic src/Dodge/Item/Draw/SPic.hs 401;" f rmInLinks src/Dodge/RoomLink.hs 153;" f rmInvItem src/Dodge/Inventory.hs 84;" f rmLinksOfType src/Dodge/RoomLink.hs 150;" f @@ -5212,7 +5212,7 @@ terminalScreenGlow src/Dodge/Machine/Update.hs 42;" f terminalShape src/Dodge/Machine/Draw.hs 49;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 129;" f teslaCoil src/Dodge/Item/Held/BatteryGuns.hs 12;" f -teslaGunPic src/Dodge/Item/Draw/SPic.hs 411;" f +teslaGunPic src/Dodge/Item/Draw/SPic.hs 413;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 18;" f testEvent src/Dodge/Event/Test.hs 11;" f testInventory src/Dodge/Creature.hs 307;" f @@ -5305,7 +5305,7 @@ tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractorBeamAt src/Dodge/HeldUse.hs 850;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 39;" f -tractorGunPic src/Dodge/Item/Draw/SPic.hs 417;" f +tractorGunPic src/Dodge/Item/Draw/SPic.hs 419;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tranRot src/Picture/Base.hs 116;" f @@ -5316,7 +5316,7 @@ translate3 src/Picture/Base.hs 112;" f translateFloatingCamera src/Dodge/Update/Camera.hs 50;" f translateFloatingCameraKeys src/Dodge/Update/Camera.hs 68;" f translateH src/Picture/Base.hs 104;" f -translatePointToLeftHand src/Dodge/Creature/HandPos.hs 127;" f +translatePointToLeftHand src/Dodge/Creature/HandPos.hs 148;" f translatePointToRightHand src/Dodge/Creature/HandPos.hs 42;" f translateSH src/Shape.hs 242;" f translateSHxy src/Shape.hs 246;" f @@ -5326,10 +5326,10 @@ translateSPxy src/ShapePicture.hs 45;" f translateSPz src/ShapePicture.hs 49;" f translateScreenPos src/Dodge/ScreenPos.hs 12;" f translateToES src/Dodge/Creature/HandPos.hs 29;" f -translateToLeftHand src/Dodge/Creature/HandPos.hs 130;" f -translateToLeftLeg src/Dodge/Creature/HandPos.hs 136;" f -translateToRightHand src/Dodge/Creature/HandPos.hs 109;" f -translateToRightLeg src/Dodge/Creature/HandPos.hs 160;" f +translateToLeftHand src/Dodge/Creature/HandPos.hs 151;" f +translateToLeftLeg src/Dodge/Creature/HandPos.hs 157;" f +translateToRightHand src/Dodge/Creature/HandPos.hs 114;" f +translateToRightLeg src/Dodge/Creature/HandPos.hs 181;" f translateXY src/Polyhedra.hs 23;" f trapTBH src/Geometry/Polygon.hs 22;" f trapezionBWHW src/Geometry/Polygon.hs 34;" f @@ -5380,6 +5380,7 @@ twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f twists src/Dodge/Creature/Test.hs 104;" f twoFlat src/Dodge/Creature/Test.hs 101;" f twoFlatHRot src/Dodge/Item/HeldOffset.hs 91;" f +twoHandOffY src/Dodge/Creature/HandPos.hs 132;" f twoHandTwistAmount src/Dodge/Creature/YourControl.hs 146;" f twoRoomPoss src/Dodge/PlacementSpot.hs 148;" f twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 519;" f @@ -5702,6 +5703,7 @@ zChasm src/Dodge/Room/Tutorial.hs 160;" f zConnect src/Dodge/Render/Connectors.hs 18;" f zConnectCol src/Dodge/Render/Connectors.hs 29;" f zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f +zeroOneSmooth src/Dodge/Creature/HandPos.hs 63;" f zeroZ src/Geometry/Vector.hs 9;" f zipArcs src/Dodge/Tesla.hs 51;" f zipCount src/Dodge/Tree/Shift.hs 142;" f