Opened 8 years ago

Closed 7 years ago

#4267 closed defect (fixed)

Explored territory outside of the map square

Reported by: elexis Owned by:
Priority: Should Have Milestone: Alpha 22
Component: UI & Simulation Keywords:
Cc: Patch:

Description (last modified by elexis)

In the attached replay (alpha 21, r18802), the blue player starts with explored territory that is outside of the map area.

http://trac.wildfiregames.com/raw-attachment/ticket/4267/minimap.jpg

Attachments (4)

commands.txt (2.1 KB ) - added by elexis 8 years ago.
minimap.jpg (119.5 KB ) - added by elexis 8 years ago.
messed_up_minimap.jpg (317.0 KB ) - added by elexis 7 years ago.
commands.2.txt (4.4 KB ) - added by elexis 7 years ago.
Reproduce for belgian uplands. The repetition of the color must be some openGL thing from Minimap.cpp. Maybe Phab:D630 can be considered a fix even.

Download all attachments as: .zip

Change History (10)

by elexis, 8 years ago

Attachment: commands.txt added

by elexis, 8 years ago

Attachment: minimap.jpg added

comment:1 by elexis, 8 years ago

Description: modified (diff)

comment:2 by elexis, 7 years ago

Description: modified (diff)

With Phab:D630, the area outside of the map is not explored anymore, but the area is still marked as player territory.

comment:3 by elexis, 7 years ago

Milestone: BacklogAlpha 22
Priority: Nice to HaveShould Have

Solving this before committing Phab:D630 would avoid hiding this bug, making the attached replay irreproducible without reverting that commit. Maybe D630 even fixes this bug completely instead of hiding it.

D630 shows that if a CC is near the map border, the initial exploration of player territory also marks territory outside of the world as explored. That exploration is just not visible in almost all cases but this one.

If we set edgeSize in LosIsOffWorld of the CCmpRangeManager.cpp to 0 or 1 and start a square map, we will see that two sides of the minimap are being rendered that shouldn't:

https://trac.wildfiregames.com/raw-attachment/ticket/4267/messed_up_minimap.jpg

So it seems we only need one stripe of explored territory to have it rendered all the way down.

Also created #4636 to make that 3 a constant and not have the territory line hidden in those 3 tiles.

Last edited 7 years ago by elexis (previous) (diff)

by elexis, 7 years ago

Attachment: messed_up_minimap.jpg added

by elexis, 7 years ago

Attachment: commands.2.txt added

Reproduce for belgian uplands. The repetition of the color must be some openGL thing from Minimap.cpp. Maybe Phab:D630 can be considered a fix even.

comment:4 by elexis, 7 years ago

In 19790:

Fix a map exploration OOS on rejoin when starting with territory at the map boundaries.

rP9951 forgot to add a LosIsOffWorld check in ExploreTerritories (aka UpdateTerritoriesLos) and thus marked tiles outside of the world as explored.
rP13576 transformed the bug into a non-simulation desynchronization, causing rejoined players to see a different score,

as they excluded off-world tiles when filling the cache in ResetDerivedData upon rejoin.

rP19517 transformed the bug into an actual simulation OOS by serializing that map exploration percentage based on that cache.

Also tiles at the map border in square maps are not rendered as expected, so this commit hides refs #4267.

Differential Revision: https://code.wildfiregames.com/D630
Fixes #4598
Proofread by: Itms
Tested By: Imarok

comment:5 by elexis, 7 years ago

Milestone: Alpha 22Backlog

Reproduce remove the LosIsOffWorld check from ExploreTerritories in CCmpRangeManager.cpp and start on Belgian Uplands with 8 players on a tiny mapsize and change the perspective to players near the map border.

It might be an OpenGL setting repeating the texture until the very end. The minimap code might need a border, potentially those 3 edge tiles described in #4636. The territory outside of the world being owned should be fixed in that ticket.

comment:6 by elexis, 7 years ago

Milestone: BacklogAlpha 22
Resolution: fixed
Status: newclosed

Calling it fixed by r19790, assuming noone cares about some OpenGL flag that should never be relevant.

Note: See TracTickets for help on using tickets.