Allow for more complex item composition

This commit is contained in:
2024-09-26 00:00:46 +01:00
parent 61f07be08b
commit 772886c8c6
8 changed files with 285 additions and 191 deletions
+49 -30
View File
@@ -72,12 +72,14 @@ Ambush src/Dodge/Data/ActionPlan.hs 178;" C
Ammo src/Dodge/Data/Ammo.hs 4;" m
Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 6;" m
Ammo src/Dodge/Item/Ammo.hs 1;" m
AmmoCI src/Dodge/Data/ComposedItem.hs 25;" C
AmmoInLink src/Dodge/Data/ComposedItem.hs 14;" C
AmmoCI src/Dodge/Data/ComposedItem.hs 37;" C
AmmoInLink src/Dodge/Data/ComposedItem.hs 16;" C
AmmoMagSF src/Dodge/Data/ComposedItem.hs 27;" C
AmmoMagType src/Dodge/Data/Item/Combine.hs 107;" t
AmmoMagUse src/Dodge/Data/Item/Use.hs 65;" C
AmmoModLink src/Dodge/Data/ComposedItem.hs 15;" C
AmmoModifierCI src/Dodge/Data/ComposedItem.hs 24;" C
AmmoModLink src/Dodge/Data/ComposedItem.hs 17;" C
AmmoModifierCI src/Dodge/Data/ComposedItem.hs 36;" C
AmmoModifierSF src/Dodge/Data/ComposedItem.hs 30;" C
AmmoParams src/Dodge/Data/Item/Use.hs 110;" t
AmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 1;" m
AmmoPosition src/Dodge/Item/AmmoPosition.hs 8;" t
@@ -444,10 +446,10 @@ CombineInventoryChange src/Dodge/Data/World.hs 33;" C
Common src/Dodge/Zoning/Common.hs 1;" m
Compile src/Shader/Compile.hs 1;" m
Compose src/Dodge/Tree/Compose.hs 4;" m
ComposeLinkType src/Dodge/Data/ComposedItem.hs 13;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 21;" t
ComposeLinkType src/Dodge/Data/ComposedItem.hs 15;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 33;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 6;" m
ComposedItemStructure src/Dodge/Item/Grammar.hs 19;" t
ComposedItemStructure src/Dodge/Item/Grammar.hs 20;" t
Composite src/Picture/Composite.hs 1;" m
ComsSS src/Dodge/Data/Scenario.hs 98;" C
ConcBall src/Dodge/Data/Bullet.hs 32;" C
@@ -1301,6 +1303,7 @@ ItemParams src/Dodge/Data/Item/Params.hs 16;" t
ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m
ItemScrollTimeFlow src/Dodge/Data/World.hs 61;" C
ItemSpace src/Dodge/Inventory/ItemSpace.hs 1;" m
ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 23;" t
ItemTweaks src/Dodge/Data/Item/Tweak.hs 13;" t
ItemType src/Dodge/Combine/Data.hs 12;" t
ItemType src/Dodge/Data/Item/Combine.hs 16;" t
@@ -1339,7 +1342,7 @@ LBoost src/Dodge/Data/Item/HeldUse.hs 56;" C
LBranches src/TreeExtra.hs 24;" C
LDT src/Dodge/Data/DoubleTree.hs 39;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C
LDTComb src/Dodge/Item/Grammar.hs 55;" t
LDTComb src/Dodge/Item/Grammar.hs 83;" t
LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 25;" C
LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 26;" C
LDTRootNode src/Dodge/Data/DoubleTree.hs 23;" C
@@ -1439,6 +1442,8 @@ LinearShockwave src/Dodge/Data/LinearShockwave.hs 13;" t
LinearShockwave src/Dodge/Data/LinearShockwave.hs 6;" m
Link src/Dodge/Room/Link.hs 6;" m
LinkDecoration src/Dodge/Debug/LinkDecoration.hs 1;" m
LinkTest src/Dodge/Data/ComposedItem.hs 44;" t
LinkUpdate src/Dodge/Data/ComposedItem.hs 49;" t
List src/Dodge/Combine/List.hs 1;" m
List src/Dodge/Render/List.hs 1;" m
ListDisplayParams src/Dodge/Data/SelectionList.hs 18;" t
@@ -1908,6 +1913,7 @@ ParamMID src/Dodge/Data/Item/Params.hs 54;" C
Parameters src/Shader/Parameters.hs 1;" m
Parameters src/Shape/Parameters.hs 1;" m
Params src/Dodge/Data/Item/Params.hs 6;" m
PartiallyComposedItem src/Dodge/Data/ComposedItem.hs 42;" t
PassKey src/Dodge/Item/PassKey.hs 1;" m
PassthroughLockKeyLists src/Dodge/Annotation/Data.hs 19;" C
Path src/Dodge/Path.hs 2;" m
@@ -2149,6 +2155,8 @@ Remote src/Dodge/Item/Weapon/Remote.hs 1;" m
RemoteScope src/Dodge/Data/Item/Attachment.hs 23;" C
RemoteScope src/Dodge/Data/Item/Scope.hs 23;" C
RemoteScope src/Dodge/Item/Attachment/Data.hs 26;" C
RemoteScreenLink src/Dodge/Data/ComposedItem.hs 20;" C
RemoteScreenSF src/Dodge/Data/ComposedItem.hs 28;" C
RemoveCreatureEndo src/Dodge/RemoveCreatureEndo.hs 3;" m
RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 36;" C
RemoveShieldWall src/Dodge/Data/ItEffect.hs 43;" C
@@ -2185,8 +2193,7 @@ RightButtonOptions src/Dodge/Data/RightButtonOptions.hs 6;" m
RightForward src/Dodge/Creature/Stance/Data.hs 35;" C
RightForward src/Dodge/Data/Creature/Stance.hs 33;" C
RoadBlock src/Dodge/Room/RoadBlock.hs 2;" m
RocketRemoteScreenCI src/Dodge/Data/ComposedItem.hs 27;" C
RocketRemoteScreenLink src/Dodge/Data/ComposedItem.hs 18;" C
RocketRemoteScreenCI src/Dodge/Data/ComposedItem.hs 39;" C
Rod src/Dodge/Item/Held/Rod.hs 1;" m
Rod src/Dodge/Item/Weapon/BulletGun/Rod.hs 1;" m
Room src/Dodge/Data/GenWorld.hs 96;" t
@@ -2717,7 +2724,8 @@ TwoHandUnder src/Dodge/Data/Item/Use.hs 182;" C
Type src/Dodge/Data/Damage/Type.hs 6;" m
Typical src/Shape/Data.hs 36;" C
UPtLayer src/Dodge/Picture/Layer/Data.hs 16;" C
UncomposableCI src/Dodge/Data/ComposedItem.hs 26;" C
UncomposableCI src/Dodge/Data/ComposedItem.hs 38;" C
UncomposableIsolateSF src/Dodge/Data/ComposedItem.hs 29;" C
Uncursed src/Dodge/Data/Item/CurseStatus.hs 12;" C
Uncursed src/Dodge/Item/Data.hs 8;" C
UnderGround src/Dodge/Data/Scenario.hs 78;" C
@@ -2877,11 +2885,14 @@ WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 33;" C
WdYouPos src/Dodge/Data/WorldEffect.hs 41;" C
Weapon src/Dodge/Default/Weapon.hs 1;" m
Weapon src/Dodge/Item/Weapon.hs 2;" m
WeaponCI src/Dodge/Data/ComposedItem.hs 21;" C
WeaponScopeCI src/Dodge/Data/ComposedItem.hs 22;" C
WeaponScopeLink src/Dodge/Data/ComposedItem.hs 16;" C
WeaponTargetingCI src/Dodge/Data/ComposedItem.hs 23;" C
WeaponTargetingLink src/Dodge/Data/ComposedItem.hs 17;" C
WeaponCI src/Dodge/Data/ComposedItem.hs 33;" C
WeaponPlatformSF src/Dodge/Data/ComposedItem.hs 24;" C
WeaponScopeCI src/Dodge/Data/ComposedItem.hs 34;" C
WeaponScopeLink src/Dodge/Data/ComposedItem.hs 18;" C
WeaponScopeSF src/Dodge/Data/ComposedItem.hs 25;" C
WeaponTargetingCI src/Dodge/Data/ComposedItem.hs 35;" C
WeaponTargetingLink src/Dodge/Data/ComposedItem.hs 19;" C
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 26;" C
Weapons src/Dodge/Item/Held/Weapons.hs 1;" m
West src/Dodge/Data/CardinalPoint.hs 7;" C
WinScale src/Dodge/Base/WinScale.hs 1;" m
@@ -3604,6 +3615,9 @@ _lsParam src/Dodge/Data/LightSource.hs 36;" f
_lsPict src/Dodge/Data/LightSource.hs 38;" f
_lsPos src/Dodge/Data/LightSource.hs 28;" f
_lsRad src/Dodge/Data/LightSource.hs 29;" f
_luChildUpdate src/Dodge/Data/ComposedItem.hs 52;" f
_luLinkType src/Dodge/Data/ComposedItem.hs 50;" f
_luParentUpdate src/Dodge/Data/ComposedItem.hs 51;" f
_lwID src/Dodge/Data/LinearShockwave.hs 15;" f
_lwPoints src/Dodge/Data/LinearShockwave.hs 16;" f
_lwPos src/Dodge/Data/LinearShockwave.hs 14;" f
@@ -4167,6 +4181,8 @@ _tractorBeams src/Dodge/Data/LWorld.hs 122;" f
_trieChildren src/SimpleTrie.hs 7;" f
_trieMVal src/SimpleTrie.hs 6;" f
_triggers src/Dodge/Data/LWorld.hs 131;" f
_tryLeftLink src/Dodge/Data/ComposedItem.hs 45;" f
_tryRightLink src/Dodge/Data/ComposedItem.hs 46;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 82;" f
_ttTriggerID src/Dodge/Data/Terminal.hs 81;" f
_tuDir src/Dodge/Data/Machine.hs 61;" f
@@ -4402,7 +4418,7 @@ allHotkeys src/Dodge/Creature/YourControl.hs 52;" f
allVisibleWalls src/Dodge/Base/Collide.hs 131;" f
alongSegBy src/Geometry.hs 43;" f
ammoCheckI src/Dodge/Item/Weapon/TriggerType.hs 118;" f
ammoComposedItem src/Dodge/Item/Grammar.hs 46;" f
ammoComposedItem src/Dodge/Item/Grammar.hs 73;" f
ammoTweakStrings src/Dodge/Render/HUD.hs 288;" f
amr src/Dodge/Item/Held/Rod.hs 46;" f
amr src/Dodge/Item/Weapon/BulletGun/Rod.hs 56;" f
@@ -4530,11 +4546,12 @@ baseAMRShape src/Dodge/Item/Draw/SPic.hs 444;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseBlockPane src/Dodge/Placements/Wall.hs 63;" f
baseBlockPane src/Dodge/Room/Placement.hs 93;" f
baseCIS src/Dodge/Item/Grammar.hs 51;" f
baseCIS src/Dodge/Item/Grammar.hs 78;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 250;" f
baseComposedItem src/Dodge/Item/Grammar.hs 27;" f
baseComposedItem src/Dodge/Item/Grammar.hs 51;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 38;" f
basePartiallyComposedItem src/Dodge/Item/Grammar.hs 41;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 253;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 441;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 412;" f
@@ -4717,7 +4734,7 @@ circle src/Picture/Base.hs 180;" f
circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f
circleSolid src/Picture/Base.hs 164;" f
circleSolidCol src/Picture/Base.hs 168;" f
cisToItem src/Dodge/Item/Grammar.hs 24;" f
cisToItem src/Dodge/Item/Grammar.hs 38;" f
clClSpringVel src/Dodge/Update.hs 630;" f
clZoneSize src/Dodge/Zone/Size.hs 3;" f
clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f
@@ -5709,7 +5726,7 @@ healthTest src/Dodge/Room/LasTurret.hs 93;" f
heavyBulDams src/Dodge/Item/Weapon/Bullet.hs 38;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldBounds src/Dodge/Item/Module.hs 27;" f
heldComposedItem src/Dodge/Item/Grammar.hs 38;" f
heldComposedItem src/Dodge/Item/Grammar.hs 62;" f
heldEffect src/Dodge/HeldUse.hs 44;" f
heldInfo src/Dodge/Item/Info.hs 61;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 24;" f
@@ -5823,20 +5840,20 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f
intervalList src/Geometry.hs 315;" f
interweave src/Justify.hs 17;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj' src/Dodge/Item/Grammar.hs 119;" f
invAdj' src/Dodge/Item/Grammar.hs 160;" f
invDimColor src/Dodge/DisplayInventory.hs 140;" f
invDimColor src/Dodge/Inventory/Color.hs 4;" f
invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f
invHead src/Dodge/Render/HUD.hs 296;" f
invIndentIM src/Dodge/Item/Grammar.hs 129;" f
invLDT src/Dodge/Item/Grammar.hs 92;" f
invRootMap src/Dodge/Item/Grammar.hs 109;" f
invIndentIM src/Dodge/Item/Grammar.hs 172;" f
invLDT src/Dodge/Item/Grammar.hs 131;" f
invRootMap src/Dodge/Item/Grammar.hs 149;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 35;" f
invSelectionItem' src/Dodge/Inventory/SelectionList.hs 17;" f
invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f
invSideEff src/Dodge/Creature/State.hs 236;" f
invSize src/Dodge/Inventory/CheckSlots.hs 40;" f
invTrees src/Dodge/Item/Grammar.hs 132;" f
invTrees src/Dodge/Item/Grammar.hs 175;" f
inventoryExtra src/Dodge/Render/HUD.hs 189;" f
inventoryExtraH src/Dodge/Render/HUD.hs 193;" f
inventoryX src/Dodge/Creature.hs 115;" f
@@ -5918,7 +5935,7 @@ jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f
jShape src/Dodge/Placements/LightSource.hs 43;" f
jaggedShape src/Dodge/Block/Debris.hs 191;" f
jetPack src/Dodge/Item/Equipment.hs 92;" f
joinItemsInList src/Dodge/Item/Grammar.hs 83;" f
joinItemsInList src/Dodge/Item/Grammar.hs 122;" f
jps0' src/Dodge/LevelGen/Data.hs 60;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
jps0PushPS src/Dodge/LevelGen/Data.hs 63;" f
@@ -5983,10 +6000,11 @@ ldtToIM src/Dodge/DoubleTree.hs 90;" f
ldtToIndentList src/Dodge/DoubleTree.hs 93;" f
left src/DoubleStack.hs 16;" f
leftInfo src/Dodge/Item/Info.hs 109;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 58;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 92;" f
leftIsParentCombine' src/Dodge/Item/Grammar.hs 85;" f
leftItemSPic src/Dodge/Item/Draw/SPic.hs 72;" f
leftPad src/Padding.hs 14;" f
leftRightCombine src/Dodge/Item/Grammar.hs 72;" f
leftRightCombine src/Dodge/Item/Grammar.hs 106;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 528;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f
liShape src/Dodge/Placements/LightSource.hs 55;" f
@@ -6879,7 +6897,7 @@ rhombus src/Polyhedra.hs 71;" f
rifle src/Dodge/Item/Held/Cane.hs 51;" f
rifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 77;" f
right src/DoubleStack.hs 16;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 65;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 99;" f
rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -7788,6 +7806,7 @@ upperPrismPolyTS src/Shape.hs 118;" f
upperRounded src/Shape.hs 181;" f
upsProjectile src/Dodge/Projectile/Update.hs 51;" f
useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f
useBreakListsLinkTest src/Dodge/Item/Grammar.hs 24;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
useE src/Dodge/Euse.hs 24;" f