1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-02 13:51:36 +00:00
6502bench/SourceGen/SGTestData/Visualization/wireframe-test.dis65
Andy McFadden b3dacc2613 Switch to left-handed coordinate system
There's no "standard" coordinate system, so the choice is arbitrary.
However, an examination of the Transporter mesh in Elite revealed
that the mesh was designed for a left-handed coordinate system.  We
can compensate for that trivially in the Elite visualizer, but we
might as well match what they're doing.  (The only change required
in the code is a couple of sign changes on the Z coordinate, and an
update to the rotation matrix.)

This also downsizes Matrix44 to Matrix33, exposes the rotation mode
enum, and adds a left-handed ZYX rotation mode.

This does mean that meshes that put the front at +Z will show their
backsides initially, since we're now oriented as if we're flying
the ships rather than facing them.  I considered adding a 180-degree
Y rotation (with a tweak to the rotation matrix handedness to correct
the first rotation axis) to have them facing by default, but figured
that might be confusing since +Z is supposed to be away.

Anybody who really wants it to be the other way can trivially flip
the coordinates in their visualizer (negate xc/zc).

The Z coordinates in the visualization test project were flipped so
that the design is still facing the viewer at rotation (0,0,0).
2020-03-14 13:59:08 -07:00

305 lines
4.2 KiB
Plaintext

### 6502bench SourceGen dis65 v1.0 ###
{
"_ContentVersion":3,
"FileDataLength":120,
"FileDataCrc32":-604155558,
"ProjectProps":{
"CpuName":"6502",
"IncludeUndocumentedInstr":false,
"TwoByteBrk":false,
"EntryFlags":32702671,
"AutoLabelStyle":"Simple",
"AnalysisParams":{
"AnalyzeUncategorizedData":true,
"DefaultTextScanMode":"LowHighAscii",
"MinCharsForString":4,
"SeekNearbyTargets":true,
"SmartPlpHandling":true},
"PlatformSymbolFileIdentifiers":[],
"ExtensionScriptFileIdentifiers":["PROJ:VisWireframeTest.cs",
"RT:Apple/VisHiRes.cs"],
"ProjectSyms":{
}},
"AddressMap":[{
"Offset":0,
"Addr":4096}],
"TypeHints":[{
"Low":0,
"High":0,
"Hint":"Code"}],
"StatusFlagOverrides":{
},
"Comments":{
},
"LongComments":{
},
"Notes":{
},
"UserLabels":{
"10":{
"Label":"vertices",
"Value":4106,
"Source":"User",
"Type":"GlobalAddr",
"LabelAnno":"None"},
"44":{
"Label":"edges",
"Value":4140,
"Source":"User",
"Type":"GlobalAddr",
"LabelAnno":"None"},
"101":{
"Label":"faces",
"Value":4197,
"Source":"User",
"Type":"GlobalAddr",
"LabelAnno":"None"}},
"OperandFormats":{
"10":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"13":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"16":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"19":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"22":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"25":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"28":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"31":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"34":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"37":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"40":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"43":{
"Length":1,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"44":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"48":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"52":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"56":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"60":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"64":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"68":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"72":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"76":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"80":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"84":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"88":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"92":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"96":{
"Length":4,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"101":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"104":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"107":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"110":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"113":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null},
"116":{
"Length":3,
"Format":"Dense",
"SubFormat":"None",
"SymbolRef":null}},
"LvTables":{
},
"Visualizations":[{
"Tag":"wf_data",
"VisGenIdent":"wireframe-test",
"VisGenParams":{
"offset":10,
"_isPerspective":true,
"_isBfcEnabled":true,
"_eulerRotX":0,
"_eulerRotY":0,
"_eulerRotZ":0,
"_isAnimatedWireframe":true,
"_deltaRotX":3,
"_deltaRotY":6,
"_deltaRotZ":0,
"_frameCount":120,
"_frameDelayMsec":33}},
{
"Tag":"bmp_data",
"VisGenIdent":"apple2-hi-res-bitmap",
"VisGenParams":{
"offset":10,
"byteWidth":3,
"height":11,
"colStride":0,
"rowStride":0,
"isColor":true,
"isFirstOdd":false,
"isHighBitFlipped":false}}],
"VisualizationAnimations":[{
"Tags":["wf_data",
"bmp_data"],
"Tag":"ugly flash",
"VisGenIdent":"(animation)",
"VisGenParams":{
"_frameDelayMsec":1000}}],
"VisualizationSets":{
"10":{
"Tags":["wf_data",
"bmp_data"]},
"44":{
"Tags":["ugly flash"]}}}