UFO: Alien Invasion Issue Tracker
UFO: Alien Invasion
Go to the previous open issue
Go to the previous issue (open or closed)
star_faded.png
Please log in to bookmark issues
icon_project.png UFO: Alien Invasion / Closed Bug report #2088 routing: odd ceiling values ?
Go to the next issue (open or closed)
Go to the next open issue
This issue has been closed with status "Closed" and resolution "Not determined".
Issue basics
  • Type of issue
    Bug report
  • Category
    Map Compiler (ufo2map)
  • Targetted for
    Not determined
  • Status
    Closed
  • Priority
    5. Important
User pain
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
Affected by this issue (0)
There are no items
People involved
Times and dates
  • Posted at
  • Last updated
  • Estimated time
    Not estimated
Issue details
  • Resolution
    Not determined
  • Reproducability
    Not determined
  • Severity
    Not determined
  • Complexity
    Not determined
  • Platform
    Not determined
  • Architecture
    Not determined
Attachments (0)
There is nothing attached to this issue
Duplicate issues (0)
This issue does not have any duplicates
Description
[http://sourceforge.net/p/ufoai/bugs/2088 Item 2088] imported from sourceforge.net tracker on 2013-01-28 19:18:54

I have patch in the pipeline that should save us another 20-25% on the CONNCHECK pass :)
The idea is to do a simplified tracing for connection in 'outdoor' cells.

But this patch relies on the RT_CEILING values being set 'correctly'. I understand that a cell with only the sky above it should have a ceiling of 'absolute floor + ceiling == PATHFINDING_HEIGHT * CELL_HEIGHT == 128). This is NOT the case. In eg. fighter_crash.map I see values like 96.

So do we have a bug here or did I misunderstand the design ?

===== Comments Ported from Sourceforge =====

====== wilminator (2009-04-06 01:55:54) ======

That is the design intent. Use the -tracefile option and look at the walls.csv files to get an idea if the anomaly is spotty or consistent. I will look into this more after I commit the back trace code.
====== aduke1 (2009-04-19 22:29:53) ======

The prob is consistent on a 'per map' basis.
While the wilderness map has ceilings of 128 as it should, the fighter_crash has 96.

What I found out so far is:
- fighter_crash has only three filled levels
- in CheckUnit() we skip empty levels by doing if (... z > wpMaxs[2] ...), causing RT_FLOOR of those levels to stick with their init value, which is '0'
- in RT_CheckCell(), we use RT_FLOOR(..., z+1)

I have to admit that I have not yet fully understood *how* this causes the ceiling values of 96 (ie. 6 levels). However, I managed to get ceiling values of 128 for fighter_crash by commenting out the 'z > wpMaxs[2]'.

Any clues ?

====== aduke1 (2009-04-20 21:08:35) ======

Excavation.map has 4 levels and we get ceiling values of - guess what - 112.

====== aduke1 (2009-04-28 20:49:37) ======

Fixed in rev 24266. Closed.
====== aduke1 (2009-04-29 21:13:20) ======

Sorry, had to reopen this.
I only looked at the ceiling values, which are set to 128 as intended now.
What I overlooked is that the maps we were targeting (ie. fighter_crash, excavation,...) do not start anymore.
See also
http://ufoai.ninex.info/forum/index.php?topic=3534.0

Running the game from the desktop, I get NO segfault(-box).
Running it from the debugger, there is a SIG_SEGV, but the callstack seems to loop around Qcommon_shutdown, _Mem_Free and Sys_Error ie. is not usable.

Some debugging showed that it executes CM_LoadMap fine, so I assume it's the pathfinding code trying to access some incorrect or non-existing part of the routing table.
I'm currently having a hard time to figure out nice places for breakpoints.

Any immediate idea ?
====== aduke1 (2009-05-04 19:41:08) ======

Mattn fixed the problem outside routing.
Closed.
Steps to reproduce this issue
Nothing entered.
Todos (0 / 0)
Issue created
footer_logo.png The Bug Genie 4.3.1 | Support | Feedback spinning_16.gif