View Issue Details

IDProjectCategoryView StatusLast Update
0002931FSSCPgraphicspublic2013-10-08 04:53
ReporterThe Trivial Psychic Assigned ToGoober5000  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformAMD Phenom-II X2 560OSWindows 7OS Version64-bit
Product Version3.7.1 
Summary0002931: Jumpnodes No Longer Rendering In FRED or in FSO
DescriptionJumpnodes are no longer being displayed in either FRED or Freespace on Trunk builds 9835 or newer. The last build to display them properly is 9826. Something committed between 9826 and 9835 is preventing them from being displayed. Something like this was a problem a couple of years back, but in that instance FRED was actually deleting the jumpnode data from the mission file once the mission was saved.
TagsNo tags attached.

Activities

MjnMixael

2013-10-07 03:13

manager   ~0015311

Last edited: 2013-10-07 20:04

I confirm this. It was commit 9833 that broke jump node rendering. Assigning to Goober because that was his commit.

Additional information is that this only broke the rendering of the MediaVPs jump node and not the retail jump node.

Goober5000

2013-10-07 23:50

administrator   ~0015315

Blegh. Taking a look...

Goober5000

2013-10-08 04:50

administrator   ~0015316

Sigh...

Okay, prior to commit 9833, the texture numbers were all getting set to 0. This was wrong, since the default value should be -1 for no texture. Revision 9833 fixed this.

Theoretically, the old behavior wasn't a problem because when the texture section in the POF is parsed, it is set properly: either a positive number for a texture, or -1 for e.g. an invisible texture.

However, jump nodes have no texture section, so the number remained 0. This fooled the model code into thinking the jump node had a texture, allowing it to get into the texture rendering section.

The outline drawing code is in the texture rendering code, because usually you draw an outline around a visible texture. However, in the case of jump nodes, outlines are all you draw.

So when the textures were properly initialized to -1, the renderer stopped drawing textures on the jump node and consequently stopped drawing outlines.

I fixed this by bypassing the check that returned from the function if there were no textures BUT we were still drawing outlines. I think the outline drawing code should be located somewhere else, since it doesn't rely on any of the texture code (just the polygon vertices), but I'm not brave enough to move it.

As for why it DID work with the non-mediaVP model, it seems to have something to do with how the model was loaded... the old model uses "flat" polygons, whereas the new model uses textured polygons.

Goober5000

2013-10-08 04:53

administrator   ~0015317

Fix committed to trunk@9913.

Related Changesets

fs2open: trunk r9833

2013-09-27 01:16

Goober5000


Ported: N/A

Details Diff
polymodel code now has basic class management in place and no longer uses memset Affected Issues
0002931
mod - /trunk/fs2_open/code/asteroid/asteroid.h Diff File
mod - /trunk/fs2_open/code/graphics/2d.h Diff File
mod - /trunk/fs2_open/code/graphics/gropengltnl.h Diff File
mod - /trunk/fs2_open/code/model/model.h Diff File
mod - /trunk/fs2_open/code/model/modelinterp.cpp Diff File
mod - /trunk/fs2_open/code/model/modelread.cpp Diff File
mod - /trunk/fs2_open/code/model/modelsinc.h Diff File

fs2open: trunk r9913

2013-10-08 01:13

Goober5000


Ported: N/A

Details Diff
fix Mantis 0002931: don't prematurely exit the model_interp_tmappoly method if we're drawing outlines Affected Issues
0002931
mod - /trunk/fs2_open/code/model/modelinterp.cpp Diff File

Issue History

Date Modified Username Field Change
2013-10-06 04:07 The Trivial Psychic New Issue
2013-10-07 03:13 MjnMixael Note Added: 0015311
2013-10-07 20:02 MjnMixael Note Edited: 0015311
2013-10-07 20:02 MjnMixael Assigned To => Goober5000
2013-10-07 20:02 MjnMixael Status new => assigned
2013-10-07 20:04 MjnMixael Note Edited: 0015311
2013-10-07 23:49 Goober5000 Changeset attached => fs2open trunk r9833
2013-10-07 23:50 Goober5000 Note Added: 0015315
2013-10-08 04:50 Goober5000 Note Added: 0015316
2013-10-08 04:53 Goober5000 Changeset attached => fs2open trunk r9913
2013-10-08 04:53 Goober5000 Note Added: 0015317
2013-10-08 04:53 Goober5000 Status assigned => resolved
2013-10-08 04:53 Goober5000 Resolution open => fixed