Test: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (woohoo, it works)
m (oops)
Tag: Manual revert
 
(30 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Sick markup==
"And now for a lesson in [ttttttttttttemplate] mmmmmmmmmanagement... [wikiwikiwiki] llllllllllllet's begin..."
:Linkin Park, Cure for the Itch
:[[User:Geyser|geyser]], deprived of laptop and ICQ for a while ^^ ... which explains the "born to nag" attitude.
;Foreach
{| border="1" cellspacing="0" cellpadding="0" style="empty-cells:show;"
| colspan="29" | 29 Bit CAN-ID
|-
{{foreach |29|||||||22|  pc1=1=yellow  |call=ProtokollTabelleBit|pv=2}}
{{foreach |21|            pc1=1=fuchsia |call=ProtokollTabelleBit|pv=2}}
{{foreach |20|||||||||11| pc1=1=lime    |call=ProtokollTabelleBit|pv=2}}
{{foreach |10|||||||||1|  pc1=1=aqua    |call=ProtokollTabelleBit|pv=2}}
|-
| {{ProtokollTabelleDef|yellow|8|Port}}
| {{ProtokollTabelleDef|fuchsia|1|3==0}}
| {{ProtokollTabelleDef|lime|10|Ziel-Adresse}}
| {{ProtokollTabelleDef|aqua|10|Absender-Adresse}}
|}
:That solution is universal, and sorta authoritative, but it takes ''ages'' for the engine to evaluate : in any given situation, one should probably prefer a lighter, more specific solution.




;How about this?
[[Category:Test pages]]
{|{{TightTable}}
|colspan=4| 29-Bit CAN-ID
|-
|
{{ProtoBits|29|120|22|Port|yellow}}
|
{{ProtoBits|21|0|0|<nowiki>=</nowiki>0|fuchsia}}
|
{{ProtoBits|20|160|11|Ziel-Adresse|lime}}
|
{{ProtoBits|10|160|1|Absender-Adresse|aqua}}
|}
:Note how 1-bit, 2-bit and 3-plus-bit chunks are all handled by the same (small) template ^^
:TightTable takes "optional" arguments called '''align''' and '''color'''. They're not really specified as optional, but when not provided, the relevant syntax gets screwed up "the smart way".
:The "skipped bits" span of every chunk is specified in pixels, which can be handy in case one wants a more compact layout. The non-breaking space can then be replaced with a "..." to avoid confusion.
:I think the skipped widths are best let custom, as well as the "header". Apart from arbitrarily shrinking the skip fields, one may want to rephrase the header, or omit it, or make it a caption :
{|{{TightTable}}
|+'''29-Bit CAN-ID
|
{{ProtoBits|29|40|22|Port|yellow}}
|
{{ProtoBits|21|0|0|<nowiki>=</nowiki>0|fuchsia}}
|
{{ProtoBits|20|40|11|Ziel-Adresse|lime}}
|
{{ProtoBits|10|40|1|Absender-Adresse|aqua}}
|}
:(again, maybe a "..." in the skip fields would look nicer)
:(and a non-breaking space in front of the description, in the template)
 
 
;Arithmetics (will only show fine when and if ''#expr'' parsing works OK...)
:One can calculate the width of the "skipped bits" internally, only feeding two bit IDs to the template.
:The template would then evaluate the difference, and decide upon a 1-bit, or on a 2-plus-bit layout with an adequate skip.
:However, the markup is a bit heavier, and makes a few assumptions about e.g. the order in which the bits are listed (unless one wants to emulate '''abs''', which is a little bit heavier still).
:Right now, it produces a fatal error parsing '''Expr.php''' (then again, so does <nowiki>{{#expr:2+2}}</nowiki>, so there ''is'' a problem), but it would look something like this :
<nowiki>{|{{</nowiki>TightTable|color={{{4}}}}}
|-align=center
|width=18|{{{1}}}
|-
<nowiki>|width={{#ifexpr:{{{1}}}>{{{2}}}|{{#expr:18*({{{1}}}-{{{2}}}-1)}}|0}}|{{#ifexpr:{{{1}}}>{{{2}}}+1|...|}}</nowiki>
<nowiki>|width={{#ifexpr:{{{1}}}>{{{2}}}|18|0}}|{{#ifexpr:{{{1}}}>{{{2}}}|{{{2}}}|}}</nowiki>
|colspan=3|{{{3}}}
|}
 
 
;CAN-ID table
:It ''could'' be possible to embed the chunk tables into a big template table specific to the "29-Bit CAN-ID" usage, but most components would have to be in HTML. Bad idea.
 
 
----
----
 
==OBD file types==
{|cellspacing="0"
|0x000 :
|style="background:fuchsia"|26||style="background:fuchsia"|00||style="background:lime"|33||style="background:lime"|00
|style="background:aqua"|40||style="background:aqua"|00||style="background:yellow"|4D||style="background:yellow"|00
|style="background:#888888"|5A||style="background:#888888"|00||style="background:fuchsia"|67||style="background:fuchsia"|00
|style="background:lime"|74||style="background:lime"|00||style="background:aqua"|81||style="background:aqua"|00
|style="background:yellow"|8E||style="background:yellow"|00||style="background:#888888"|9B||style="background:#888888"|00
|style="background:fuchsia"|A8||style="background:fuchsia"|00||style="background:lime"|B5||style="background:lime"|00
|style="background:aqua"|C2||style="background:aqua"|00||style="background:yellow"|CF||style="background:yellow"|00
|style="background:#888888"|DC||style="background:#888888"|00||style="background:fuchsia"|E9||style="background:fuchsia"|00
|-
|0x020 :
|style="background:lime"|F6||style="background:lime"|00||style="background:aqua"|03||style="background:aqua"|01
|style="background:yellow"|10||style="background:yellow"|01||style="background:fuchsia"|5F||style="background:fuchsia"|45
|style="background:fuchsia"|F9||style="background:fuchsia"|3D||style="background:fuchsia"|B6||style="background:fuchsia"|FA
|style="background:fuchsia"|09||style="background:fuchsia"|5F||style="background:fuchsia"|45||style="background:fuchsia"|F9
|style="background:fuchsia"|3D||style="background:fuchsia"|B6||style="background:fuchsia"|FA||style="background:lime"|18
|style="background:lime"|39||style="background:lime"|1B||style="background:lime"|34||style="background:lime"|88
|style="background:lime"|77||style="background:lime"|09||style="background:lime"|18||style="background:lime"|39
|style="background:lime"|1B||style="background:lime"|34||style="background:lime"|88||style="background:lime"|77
|}
Heh.
 
 
{| border="1" cellpadding="1" cellspacing="0" style="background:#ffeedd; white-space:nowrap"
|-style="background:#ffddbb"
!Type
!Description
!Notes
|style="background:#FFFFFF"|
!Type
!Description
!Notes
|style="background:#FFFFFF"|
!Type
!Description
!Notes
|-
|<strike>3CLA</strike>
|RGB Color Array
|style="background:black"|
|style="background:#FFFFFF"|
|[[OBD:KeyI|KeyI]]
|Key Icons
|style="background:lime"|L0
|style="background:#FFFFFF"|
|[[OBD:StNA|StNA]]
|String Array
|style="background:lime"|L0
|}
 
{|
|
{| border="1" cellpadding="1" cellspacing="0" style="background:#ffeedd"
|-style="background:#ffddbb"
!Type
!Description
!Notes
|-
|<strike>3CLA</strike>
|RGB Color Array
|style="background:black"|
|-
|[[OBD:ABNA|ABNA]]
|BSP Tree Node Array
|style="background:fuchsia"|L
|-
|[[OBD:AGDB|AGDB]]
|Gunk Quad Debug Array
|style="background:fuchsia"|L
|-
|[[OBD:AGQC|AGQC]]
|Gunk Quad Collision Array
|style="background:fuchsia"|L
|-
|[[OBD:AGQG|AGQG]]
|Gunk Quad General Array
|style="background:fuchsia"|L
|-
|<strike>AGQM</strike>
|Gunk Quad Material
|style="background:black"|
|-
|[[OBD:AGQR|AGQR]]
|Gunk Quad Render Array
|style="background:fuchsia"|L
|-
|[[OBD:AISA|AISA]]
|AI Character Setup Array
|style="background:fuchsia"|L
|-
|[[OBD:AITR|AITR]]
|AI Script Trigger Array
|style="background:fuchsia"|L
|-
|<strike>AIWA</strike>
|AI Imported Waypoint Array
|style="background:black"|
|-
|[[OBD:AKAA|AKAA]]
|Adjacency Array
|style="background:fuchsia"|L
|-
|[[OBD:AKBA|AKBA]]
|Side Array
|style="background:fuchsia"|L
|-
|[[OBD:AKBP|AKBP]]
|BSP Node Array
|style="background:fuchsia"|L
|-
|[[OBD:AKDA|AKDA]]
|Door Frame Array
|style="background:fuchsia"|L
|-
|[[OBD:AKEV|AKEV]]
|Akira Environment
|style="background:fuchsia"|L
|-
|[[OBD:AKOT|AKOT]]
|Oct Tree
|style="background:fuchsia"|L
|-
|[[OBD:AKVA|AKVA]]
|BNV Node Array
|style="background:fuchsia"|L
|-
|[[OBD:BINA|BINA]]
|Binary Data
|style="background:silver"|S
|-
|[[OBD:CBPI|CBPI]]
|Character Body Part Impacts
|style="background:yellow"|C
|-
|[[OBD:CBPM|CBPM]]
|Character Body Part Material
|style="background:yellow"|C
|-
|[[OBD:CONS|CONS]]
|Console
|style="background:lime"|L0
|-
|[[OBD:CRSA|CRSA]]
|Corpse Array
|style="background:fuchsia"|L
|-
|[[OBD:DOOR|DOOR]]
|Door
|style="background:lime"|L0
|-
|[[OBD:DPge|DPge]]
|Diary Page
|style="background:lime"|L0
|-
|<strike>EDIA</strike>
|Edge Index Array
|style="background:black"|
|-
|[[OBD:ENVP|ENVP]]
|Env Particle Array
|style="background:fuchsia"|L
|-
|[[OBD:FILM|FILM]]
|Film
| -
|-
|<strike>FXLR</strike>
|FX Laser Effect
|style="background:black"|
|-
|<strike>GMAN</strike>
|Geometry Animation
|style="background:black"|
|-
|[[OBD:HPge|HPge]]
|Help Page
|style="background:lime"|L0
|-
|[[OBD:IDXA|IDXA]]
|Index Array
| -
|-
|[[OBD:IGHH|IGHH]]
|IGUI HUD Help
|style="background:lime"|L0
|-
|[[OBD:IGPA|IGPA]]
|IGUI Page Array
|style="background:aqua"|M
|-
|[[OBD:IGPG|IGPG]]
|IGUI Page
|style="background:aqua"|M
|-
|[[OBD:IGSA|IGSA]]
|IGUI String Array
|style="background:aqua"|M
|-
|[[OBD:IGSt|IGSt]]
|IGUI String
|style="background:aqua"|M
|-
|[[OBD:Impt|Impt]]
|Impact Tree
|style="background:yellow"|C (0B)
|-
|[[OBD:IPge|IPge]]
|Item Page
|style="background:aqua"|M
|}
|
{| border="1" cellpadding="1" cellspacing="0" style="background:#ffeedd"
|-style="background:#ffddbb"
!Type
!Description
!Notes
|-
|[[OBD:KeyI|KeyI]]
|Key Icons
|style="background:lime"|L0
|-
|[[OBD:M3GA|M3GA]]
|Geometry Array
| -
|-
|[[OBD:M3GM|M3GM]]
|Geometry
| -
|-
|<strike>M3TA</strike>
|Triangle Array
|style="background:black"|
|-
|[[OBD:Mtrl|Mtrl]]
|Material
|(0B)
|-
|<strike>NMSA</strike>
|Network Spawn Point Array
|style="background:black"|
|-
|[[OBD:OBAN|OBAN]]
|Object Animation
| -
|-
|[[OBD:OBDC|OBDC]]
|Door Class Array
|style="background:fuchsia"|L
|-
|<strike>OBLS</strike>
|Object LS Data
|style="background:black"|
|-
|[[OBD:OBOA|OBOA]]
|Starting Object Array
|style="background:fuchsia"|L
|-
|[[OBD:OFGA|OFGA]]
|Object Furn Geom Array
|style="background:lime"|L0
|-
|[[OBD:ONCC|ONCC]]
|Oni Character Class
|style="background:yellow"|C
|-
|[[OBD:ONCP|ONCP]]
|Oni Character Particle Array
|style="background:yellow"|C ?!
|-
|[[OBD:ONCV|ONCV]]
|Oni Character Variant
|style="background:yellow"|C (0B) ?!
|-
|[[OBD:ONFA|ONFA]]
|Imported Flag Node Array
|style="background:fuchsia"|L
|-
|[[OBD:ONGS|ONGS]]
|Oni Game Settings
|style="background:lime"|L0
|-
|[[OBD:ONIA|ONIA]]
|Oni Character Impact Array
|style="background:yellow"|C ?!
|-
|[[OBD:ONLD|ONLD]]
|Oni Game Level Descriptor
|style="background:lime"|L0
|-
|[[OBD:ONLV|ONLV]]
|Oni Game Level
|style="background:fuchsia"|L
|-
|[[OBD:ONMA|ONMA]]
|Imported Marker Node Array
|style="background:fuchsia"|L
|-
|[[OBD:ONOA|ONOA]]
|Object Gunk Array
|style="background:fuchsia"|L
|-
|[[OBD:ONSA|ONSA]]
|Imported Spawn Array
|style="background:fuchsia"|L
|-
|[[OBD:ONSK|ONSK]]
|Oni Sky Class
|style="background:fuchsia"|L
|-
|[[OBD:ONTA|ONTA]]
|Trigger Array
|style="background:fuchsia"|L ?!
|-
|[[OBD:ONVL|ONVL]]
|Oni Variant List
|style="background:lime"|L0 ?!
|-
|[[OBD:ONWC|ONWC]]
|Oni Weapon Class
|style="background:fuchsia"|L (0B)
|-
|[[OBD:OPge|OPge]]
|Objective Page
|style="background:aqua"|M
|-
|[[OBD:OSBD|OSBD]]
|Oni Sound Binary Data
|style="background:lime"|L0
|-
|[[OBD:OTIT|OTIT]]
|Oct Tree Interior Node Array
|style="background:fuchsia"|L
|-
|[[OBD:OTLF|OTLF]]
|Oct Tree Leaf Node Array
|style="background:fuchsia"|L
|-
|[[OBD:PLEA|PLEA]]
|Plane Equation Array
|style="background:fuchsia"|L
|-
|[[OBD:PNTA|PNTA]]
|3D Point Array
| -
|-
|[[OBD:PSpc|PSpc]]
|Part Specification
|style="background:aqua"|M
|-
|[[OBD:PSpL|PSpL]]
|Part Specification List
|style="background:lime"|L0
|-
|[[OBD:PSUI|PSUI]]
|Part Specifications UI
|style="background:lime"|L0
|-
|[[OBD:QTNA|QTNA]]
|Quad Tree Node Array
|style="background:fuchsia"|L
|-
|<strike>QUDA</strike>
|Quad Array
|style="background:black"|
|-
|[[OBD:SNDD|SNDD]]
|Sound Data
| -
|}
|
{| border="1" cellpadding="1" cellspacing="0" style="background:#ffeedd"
|-style="background:#ffddbb"
!Type
!Description
!Notes
|-
|[[OBD:StNA|StNA]]
|String Array
|style="background:lime"|L0
|-
|[[OBD:SUBT|SUBT]]
|Subtitle Array
|style="background:lime"|L0
|-
|<strike>TMFA</strike>
|Float Array
|style="background:black"|
|-
|<strike>TMRA</strike>
|Template Reference Array
|style="background:black"|
|-
|[[OBD:TRAC|TRAC]]
|Animation Collection
|style="background:yellow"|C
|-
|[[OBD:TRAM|TRAM]]
|Totoro Animation Sequence
|style="background:yellow"|C
|-
|[[OBD:TRAS|TRAS]]
|Totoro Aiming Screen
|style="background:yellow"|C
|-
|[[OBD:TRBS|TRBS]]
|Totoro Body Set
|style="background:yellow"|C
|-
|[[OBD:TRCM|TRCM]]
|Totoro Quaternion Body
|style="background:yellow"|C
|-
|<strike>TRFT</strike>
|Totoro Facing Table
|style="background:black"|
|-
|[[OBD:TRGA|TRGA]]
|Totoro Quaternion Body Geometry Array
|style="background:yellow"|C
|-
|[[OBD:TRGE|TRGE]]
|Trigger Emitter
|style="background:lime"|L0
|-
|[[OBD:TRIA|TRIA]]
|Totoro Quaternion Body Index Array
|style="background:yellow"|C
|-
|[[OBD:TRIG|TRIG]]
|Trigger
|style="background:lime"|L0
|-
|[[OBD:TRMA|TRMA]]
|Texture Map Array
|style="background:yellow"|C
|-
|[[OBD:TRSC|TRSC]]
|Screen (Aiming) Collection
|style="background:yellow"|C
|-
|[[OBD:TRTA|TRTA]]
|Totoro Quaternion Body Translation Array
|style="background:yellow"|C
|-
|[[OBD:TSFF|TSFF]]
|Font Family
|style="background:aqua"|M (0B)
|-
|[[OBD:TSFL|TSFL]]
|Font Language
|style="background:lime"|L0
|-
|[[OBD:TSFT|TSFT]]
|Font
|style="background:lime"|L0
|-
|[[OBD:TSGA|TSGA]]
|Glyph Array
|style="background:lime"|L0
|-
|[[OBD:TStr|TStr]]
|String
|style="background:lime"|L0
|-
|[[OBD:TURR|TURR]]
|Turret
|style="background:lime"|L0
|-
|[[OBD:TXAN|TXAN]]
|Texture Map Animation
| -
|-
|[[OBD:TXCA|TXCA]]
|Texture Coordinate Array
| -
|-
|[[OBD:TXMA|TXMA]]
|Texture Map Array
|style="background:fuchsia"|L
|-
|[[OBD:TXMB|TXMB]]
|Texture Map Big
| -
|-
|[[OBD:TXMP|TXMP]]
|Texture Map
| -
|-
|<strike>TXPC</strike>
|Texture Procedure Data
|style="background:black"|
|-
|[[OBD:TxtC|TxtC]]
|Text Console
|style="background:aqua"|M
|-
|<strike>UUEA</strike>
|Error Binding Array
|style="background:black"|
|-
|<strike>UVDL</strike>
|UV Data List
|style="background:black"|
|-
|[[OBD:VCRA|VCRA]]
|3D Vector Array
| -
|-
|[[OBD:WMCL|WMCL]]
|WM Cursor List
|style="background:lime"|L0
|-
|[[OBD:WMDD|WMDD]]
|WM Dialog Data
|style="background:lime"|L0
|-
|[[OBD:WMM_|WMM_]]
|WM Menu
|style="background:lime"|L0
|-
|[[OBD:WMMB|WMMB]]
|WM Menu Bar
|style="background:lime"|L0
|-
|[[OBD:WPge|WPge]]
|Weapon Page
|style="background:lime"|L0
|}
|}
 
==Templates==
*[[Template:Data screen]]
 
{{OBD_File_Header|type=BINA|prev=AKVA|next=CBPI|name=Binary data|family=Start|extra=[http://www6.fh-eberswalde.de/user/dkriesch/onistuff/oni_bina.htm Overview @ Oni Stuff]}}
 
{{OBD_File_Footer|type=BINA|prev=AKVA|next=CBPI|name=Binary data}}
 
 
==HexRow==
{|border=1 cellspacing=0
{{HexRow
|0x00
|01|51|02|00|01|00|00|06|AD|DE|AD|DE|AD|DE|AD|DE|
|FF|FF|FF|FF|FF|FF|FF|FF|00|00|00|00|00|00|00|00|
|00|00|00|00|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|
|00|00|00|00|00|00|00|00|00|00|00|00|00|00|00|00|
|Who needs this?°}}
{{HexRow
|0x10
|AD|DE|AD|DE|AD|DE|AD|DE|AD|DE|AD|DE|AD|DE|AD|DE|
|00|00|00|00|00|00|00|00|00|00|00|00|00|00|00|00|
|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|FF|
|00|00|00|00|00|00|00|00|00|00|00|00|00|00|00|00|
}}
|}

Latest revision as of 19:12, 3 February 2024