-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove LegacyBridgeHut and LegacyBridgeLayer #20899
base: bleed
Are you sure you want to change the base?
Conversation
We might also want to instead of spawning bridge actors on bridge tiles, have bridge actors baked in into the map. Similar to how it is in TS. |
76220ec
to
843d8e5
Compare
OpenRA.Mods.Common/UpdateRules/Rules/20221203/RemoveLegacyBridge.cs
Outdated
Show resolved
Hide resolved
03a0dac
to
8eb62d1
Compare
0595abf
to
894e562
Compare
#21071 this should fix that error |
rebased |
when starting map |
The crash was cause by a bug in the original implementation |
27a6f36
to
1e15c00
Compare
For |
I see, it was using RepairPropagation as DemolishPropagation |
By slowing it down I noticed bugs in the detonation and repair order. In this PR bridge on polar disorder explodes (1, 1, 2, 2, 2) where the number refers to amount of segments exploding at an instance. While on bleed its (2, 1, 1, 1, 1, 1). This is taking me a while to fix OldBridge.mp4NewBridge.mp4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plays fine. Can destroy and repair bridges without issues.
} | ||
|
||
void IRadarSignature.PopulateRadarSignatureCells(Actor self, List<(CPos Cell, Color Color)> destinationBuffer) | ||
{ | ||
destinationBuffer.AddRange(radarSignature); | ||
} | ||
|
||
string IBridgeSegment.Type => "GroundLevelBridge"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider extracting a constant for "GroundLevelBridge"
to avoid string typing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed bugs in the detonation and repair order
I suspect this may be caused by the "Add automatic bridge segment joining and remove NeighbourOffsets" commit.
if (self.IsDead) | ||
return; | ||
|
||
// Use .FromPos since this actor is dead. Cannot use Target.FromActor. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The check immediately above suggests that this actor is not dead...?
public override object Create(ActorInitializer init) { return new LegacyBridgeLayer(init.Self, this); } | ||
} | ||
|
||
public class LegacyBridgeLayer : IWorldLoaded |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This commit also removes LegacyBridgeLayer
.
These traits were marked for removal for quite some time.
While this PR doesn't fix bridges completely, it does unify a lot of the logic between first gen bridges and second gen.