text: /*
  Copyright (C) 1997-2001 Id Software, Inc.
  
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
  
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  
  You should have received a copy of the GNU General Public License along
  with this program; if not, write to the Free Software Foundation, Inc.,
  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
  // m_flash.c
  
  #include "shared/shared.h"
  
  // this file is included in both the game dll and quake2 },
  // the game needs it to source shot locations, the client
  // needs it to position muzzle flashes
  const vec3_t monster_flash_offset[256] = {
  // flash 0 is not used
      { 0.0, 0.0, 0.0 },
  
  // MZ2_TANK_BLASTER_1               1
      { 20.7, -18.5, 28.7 },
  // MZ2_TANK_BLASTER_2               2
      { 16.6, -21.5, 30.1 },
  // MZ2_TANK_BLASTER_3               3
      { 11.8, -23.9, 32.1 },
  // MZ2_TANK_MACHINEGUN_1            4
      { 22.9, -0.7, 25.3 },
  // MZ2_TANK_MACHINEGUN_2            5
      { 22.2, 6.2, 22.3 },
  // MZ2_TANK_MACHINEGUN_3            6
      { 19.4, 13.1, 18.6 },
  // MZ2_TANK_MACHINEGUN_4            7
      { 19.4, 18.8, 18.6 },
  // MZ2_TANK_MACHINEGUN_5            8
      { 17.9, 25.0, 18.6 },
  // MZ2_TANK_MACHINEGUN_6            9
      { 14.1, 30.5, 20.6 },
  // MZ2_TANK_MACHINEGUN_7            10
      { 9.3, 35.3, 22.1 },
  // MZ2_TANK_MACHINEGUN_8            11
      { 4.7, 38.4, 22.1 },
  // MZ2_TANK_MACHINEGUN_9            12
      { -1.1, 40.4, 24.1 },
  // MZ2_TANK_MACHINEGUN_10           13
      { -6.5, 41.2, 24.1 },
  // MZ2_TANK_MACHINEGUN_11           14
      { 3.2, 40.1, 24.7 },
  // MZ2_TANK_MACHINEGUN_12           15
      { 11.7, 36.7, 26.0 },
  // MZ2_TANK_MACHINEGUN_13           16
      { 18.9, 31.3, 26.0 },
  // MZ2_TANK_MACHINEGUN_14           17
      { 24.4, 24.4, 26.4 },
  // MZ2_TANK_MACHINEGUN_15           18
      { 27.1, 17.1, 27.2 },
  // MZ2_TANK_MACHINEGUN_16           19
      { 28.5, 9.1, 28.0 },
  // MZ2_TANK_MACHINEGUN_17           20
      { 27.1, 2.2, 28.0 },
  // MZ2_TANK_MACHINEGUN_18           21
      { 24.9, -2.8, 28.0 },
  // MZ2_TANK_MACHINEGUN_19           22
      { 21.6, -7.0, 26.4 },
  // MZ2_TANK_ROCKET_1                23
      { 6.2, 29.1, 49.1 },
  // MZ2_TANK_ROCKET_2                24
      { 6.9, 23.8, 49.1 },
  // MZ2_TANK_ROCKET_3                25
      { 8.3, 17.8, 49.5 },
  
  // MZ2_INFANTRY_MACHINEGUN_1        26
      { 26.6, 7.1, 13.1 },
  // MZ2_INFANTRY_MACHINEGUN_2        27
      { 18.2, 7.5, 15.4 },
  // MZ2_INFANTRY_MACHINEGUN_3        28
      { 17.2, 10.3, 17.9 },
  // MZ2_INFANTRY_MACHINEGUN_4        29
      { 17.0, 12.8, 20.1 },
  // MZ2_INFANTRY_MACHINEGUN_5        30
      { 15.1, 14.1, 21.8 },
  // MZ2_INFANTRY_MACHINEGUN_6        31
      { 11.8, 17.2, 23.1 },
  // MZ2_INFANTRY_MACHINEGUN_7        32
      { 11.4, 20.2, 21.0 },
  // MZ2_INFANTRY_MACHINEGUN_8        33
      { 9.0, 23.0, 18.9 },
  // MZ2_INFANTRY_MACHINEGUN_9        34
      { 13.9, 18.6, 17.7 },
  // MZ2_INFANTRY_MACHINEGUN_10       35
      { 15.4, 15.6, 15.8 },
  // MZ2_INFANTRY_MACHINEGUN_11       36
      { 10.2, 15.2, 25.1 },
  // MZ2_INFANTRY_MACHINEGUN_12       37
      { -1.9, 15.1, 28.2 },
  // MZ2_INFANTRY_MACHINEGUN_13       38
      { -12.4, 13.0, 20.2 },
  
  // MZ2_SOLDIER_BLASTER_1            39
      { 10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2 },
  // MZ2_SOLDIER_BLASTER_2            40
      { 21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2 },
  // MZ2_SOLDIER_SHOTGUN_1            41
      { 10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2 },
  // MZ2_SOLDIER_SHOTGUN_2            42
      { 21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2 },
  // MZ2_SOLDIER_MACHINEGUN_1         43
      { 10.6 * 1.2, 7.7 * 1.2, 7.8 * 1.2 },
  // MZ2_SOLDIER_MACHINEGUN_2         44
      { 21.1 * 1.2, 3.6 * 1.2, 19.0 * 1.2 },
  
  // MZ2_GUNNER_MACHINEGUN_1          45
      { 30.1 * 1.15, 3.9 * 1.15, 19.6 * 1.15 },
  // MZ2_GUNNER_MACHINEGUN_2          46
      { 29.1 * 1.15, 2.5 * 1.15, 20.7 * 1.15 },
  // MZ2_GUNNER_MACHINEGUN_3          47
      { 28.2 * 1.15, 2.5 * 1.15, 22.2 * 1.15 },
  // MZ2_GUNNER_MACHINEGUN_4          48
      { 28.2 * 1.15, 3.6 * 1.15, 22.0 * 1.15 },
  // MZ2_GUNNER_MACHINEGUN_5          49
      { 26.9 * 1.15, 2.0 * 1.15, 23.4 * 1.15 },
  // MZ2_GUNNER_MACHINEGUN_6          50
      { 26.5 * 1.15, 0.6 * 1.15, 20.8 * 1.15 },
  // MZ2_GUNNER_MACHINEGUN_7          51
      { 26.9 * 1.15, 0.5 * 1.15, 21.5 * 1.15 },
  // MZ2_GUNNER_MACHINEGUN_8          52
      { 29.0 * 1.15, 2.4 * 1.15, 19.5 * 1.15 },
  // MZ2_GUNNER_GRENADE_1             53
      { 4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15 },
  // MZ2_GUNNER_GRENADE_2             54
      { 4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15 },
  // MZ2_GUNNER_GRENADE_3             55
      { 4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15 },
  // MZ2_GUNNER_GRENADE_4             56
      { 4.6 * 1.15, -16.8 * 1.15, 7.3 * 1.15 },
  
  // MZ2_CHICK_ROCKET_1               57
  //  { -24.8, -9.0, 39.0 },
      { 24.8, -9.0, 39.0 },           // PGM - this was incorrect in Q2
  
  // MZ2_FLYER_BLASTER_1              58
      { 12.1, 13.4, -14.5 },
  // MZ2_FLYER_BLASTER_2              59
      { 12.1, -7.4, -14.5 },
  
  // MZ2_MEDIC_BLASTER_1              60
      { 12.1, 5.4, 16.5 },
  
  // MZ2_GLADIATOR_RAILGUN_1          61
      { 30.0, 18.0, 28.0 },
  
  // MZ2_HOVER_BLASTER_1              62
      { 32.5, -0.8, 10.0 },
  
  // MZ2_ACTOR_MACHINEGUN_1           63
      { 18.4, 7.4, 9.6 },
  
  // MZ2_SUPERTANK_MACHINEGUN_1       64
      { 30.0, 30.0, 88.5 },
  // MZ2_SUPERTANK_MACHINEGUN_2       65
      { 30.0, 30.0, 88.5 },
  // MZ2_SUPERTANK_MACHINEGUN_3       66
      { 30.0, 30.0, 88.5 },
  // MZ2_SUPERTANK_MACHINEGUN_4       67
      { 30.0, 30.0, 88.5 },
  // MZ2_SUPERTANK_MACHINEGUN_5       68
      { 30.0, 30.0, 88.5 },
  // MZ2_SUPERTANK_MACHINEGUN_6       69
      { 30.0, 30.0, 88.5 },
  // MZ2_SUPERTANK_ROCKET_1           70
      { 16.0, -22.5, 91.2 },
  // MZ2_SUPERTANK_ROCKET_2           71
      { 16.0, -33.4, 86.7 },
  // MZ2_SUPERTANK_ROCKET_3           72
      { 16.0, -42.8, 83.3 },
  
  // --- Start Xian Stuff ---
  // MZ2_BOSS2_MACHINEGUN_L1          73
      { 32,   -40,    70 },
  // MZ2_BOSS2_MACHINEGUN_L2          74
      { 32,   -40,    70 },
  // MZ2_BOSS2_MACHINEGUN_L3          75
      { 32,   -40,    70 },
  // MZ2_BOSS2_MACHINEGUN_L4          76
      { 32,   -40,    70 },
  // MZ2_BOSS2_MACHINEGUN_L5          77
      { 32,   -40,    70 },
  // --- End Xian Stuff
  
  // MZ2_BOSS2_ROCKET_1               78
      { 22.0, 16.0, 10.0 },
  // MZ2_BOSS2_ROCKET_2               79
      { 22.0, 8.0, 10.0 },
  // MZ2_BOSS2_ROCKET_3               80
      { 22.0, -8.0, 10.0 },
  // MZ2_BOSS2_ROCKET_4               81
      { 22.0, -16.0, 10.0 },
  
  // MZ2_FLOAT_BLASTER_1              82
      { 32.5, -0.8, 10 },
  
  // MZ2_SOLDIER_BLASTER_3            83
      { 20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2 },
  // MZ2_SOLDIER_SHOTGUN_3            84
      { 20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2 },
  // MZ2_SOLDIER_MACHINEGUN_3         85
      { 20.8 * 1.2, 10.1 * 1.2, -2.7 * 1.2 },
  // MZ2_SOLDIER_BLASTER_4            86
      { 7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2 },
  // MZ2_SOLDIER_SHOTGUN_4            87
      { 7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2 },
  // MZ2_SOLDIER_MACHINEGUN_4         88
      { 7.6 * 1.2, 9.3 * 1.2, 0.8 * 1.2 },
  // MZ2_SOLDIER_BLASTER_5            89
      { 30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2 },
  // MZ2_SOLDIER_SHOTGUN_5            90
      { 30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2 },
  // MZ2_SOLDIER_MACHINEGUN_5         91
      { 30.5 * 1.2, 9.9 * 1.2, -18.7 * 1.2 },
  // MZ2_SOLDIER_BLASTER_6            92
      { 27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2 },
  // MZ2_SOLDIER_SHOTGUN_6            93
      { 27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2 },
  // MZ2_SOLDIER_MACHINEGUN_6         94
      { 27.6 * 1.2, 3.4 * 1.2, -10.4 * 1.2 },
  // MZ2_SOLDIER_BLASTER_7            95
      { 28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2 },
  // MZ2_SOLDIER_SHOTGUN_7            96
      { 28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2 },
  // MZ2_SOLDIER_MACHINEGUN_7         97
      { 28.9 * 1.2, 4.6 * 1.2, -8.1 * 1.2 },
  // MZ2_SOLDIER_BLASTER_8            98
  //  34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2 },
      { 31.5 * 1.2, 9.6 * 1.2, 10.1 * 1.2 },
  // MZ2_SOLDIER_SHOTGUN_8            99
      { 34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2 },
  // MZ2_SOLDIER_MACHINEGUN_8         100
      { 34.5 * 1.2, 9.6 * 1.2, 6.1 * 1.2 },
  
  // --- Xian shit below ---
  // MZ2_MAKRON_BFG                   101
      { 17,       -19.5,  62.9 },
  // MZ2_MAKRON_BLASTER_1             102
      { -3.6, -24.1,  59.5 },
  // MZ2_MAKRON_BLASTER_2             103
      { -1.6, -19.3,  59.5 },
  // MZ2_MAKRON_BLASTER_3             104
      { -0.1, -14.4,  59.5 },
  // MZ2_MAKRON_BLASTER_4             105
      { 2.0,  -7.6,   59.5 },
  // MZ2_MAKRON_BLASTER_5             106
      { 3.4,  1.3,    59.5 },
  // MZ2_MAKRON_BLASTER_6             107
      { 3.7,  11.1,   59.5 },
  // MZ2_MAKRON_BLASTER_7             108
      { -0.3, 22.3,   59.5 },
  // MZ2_MAKRON_BLASTER_8             109
      { -6,       33,     59.5 },
  // MZ2_MAKRON_BLASTER_9             110
      { -9.3, 36.4,   59.5 },
  // MZ2_MAKRON_BLASTER_10            111
      { -7,       35,     59.5 },
  // MZ2_MAKRON_BLASTER_11            112
      { -2.1, 29,     59.5 },
  // MZ2_MAKRON_BLASTER_12            113
      { 3.9,  17.3,   59.5 },
  // MZ2_MAKRON_BLASTER_13            114
      { 6.1,  5.8,    59.5 },
  // MZ2_MAKRON_BLASTER_14            115
      { 5.9,  -4.4,   59.5 },
  // MZ2_MAKRON_BLASTER_15            116
      { 4.2,  -14.1,  59.5 },
  // MZ2_MAKRON_BLASTER_16            117
      { 2.4,  -18.8,  59.5 },
  // MZ2_MAKRON_BLASTER_17            118
      { -1.8, -25.5,  59.5 },
  // MZ2_MAKRON_RAILGUN_1             119
      { -17.3,    7.8,    72.4 },
  
  // MZ2_JORG_MACHINEGUN_L1           120
      { 78.5, -47.1,  96 },
  // MZ2_JORG_MACHINEGUN_L2           121
      { 78.5, -47.1,  96 },
  // MZ2_JORG_MACHINEGUN_L3           122
      { 78.5, -47.1,  96 },
  // MZ2_JORG_MACHINEGUN_L4           123
      { 78.5, -47.1,  96 },
  // MZ2_JORG_MACHINEGUN_L5           124
      { 78.5, -47.1,  96 },
  // MZ2_JORG_MACHINEGUN_L6           125
      { 78.5, -47.1,  96 },
  // MZ2_JORG_MACHINEGUN_R1           126
      { 78.5, 46.7,  96 },
  // MZ2_JORG_MACHINEGUN_R2           127
      { 78.5, 46.7,   96 },
  // MZ2_JORG_MACHINEGUN_R3           128
      { 78.5, 46.7,   96 },
  // MZ2_JORG_MACHINEGUN_R4           129
      { 78.5, 46.7,   96 },
  // MZ2_JORG_MACHINEGUN_R5           130
      { 78.5, 46.7,   96 },
  // MZ2_JORG_MACHINEGUN_R6           131
      { 78.5, 46.7,   96 },
  // MZ2_JORG_BFG_1                   132
      { 6.3,  -9,     111.2 },
  
  // MZ2_BOSS2_MACHINEGUN_R1          73
      { 32,   40, 70 },
  // MZ2_BOSS2_MACHINEGUN_R2          74
      { 32,   40, 70 },
  // MZ2_BOSS2_MACHINEGUN_R3          75
      { 32,   40, 70 },
  // MZ2_BOSS2_MACHINEGUN_R4          76
      { 32,   40, 70 },
  // MZ2_BOSS2_MACHINEGUN_R5          77
      { 32,   40, 70 },
  
  // --- End Xian Shit ---
  
  // ROGUE
  // note that the above really ends at 137
  // carrier machineguns
  // MZ2_CARRIER_MACHINEGUN_L1
      { 56,   -32, 32 },
  // MZ2_CARRIER_MACHINEGUN_R1
      { 56,   32, 32 },
  // MZ2_CARRIER_GRENADE
      { 42,   24, 50 },
  // MZ2_TURRET_MACHINEGUN            141
      { 16, 0, 0 },
  // MZ2_TURRET_ROCKET                142
      { 16, 0, 0 },
  // MZ2_TURRET_BLASTER               143
      { 16, 0, 0 },
  // MZ2_STALKER_BLASTER              144
      { 24, 0, 6 },
  // MZ2_DAEDALUS_BLASTER             145
      { 32.5, -0.8, 10.0 },
  // MZ2_MEDIC_BLASTER_2              146
      { 12.1, 5.4, 16.5 },
  // MZ2_CARRIER_RAILGUN              147
      { 32, 0, 6 },
  // MZ2_WIDOW_DISRUPTOR              148
      { 57.72, 14.50, 88.81 },
  // MZ2_WIDOW_BLASTER                149
      { 56,   32, 32 },
  // MZ2_WIDOW_RAIL                   150
      { 62, -20, 84 },
  // MZ2_WIDOW_PLASMABEAM             151     // PMM - not used!
      { 32, 0, 6 },
  // MZ2_CARRIER_MACHINEGUN_L2        152
      { 61,   -32, 12 },
  // MZ2_CARRIER_MACHINEGUN_R2        153
      { 61,   32, 12 },
  // MZ2_WIDOW_RAIL_LEFT              154
      { 17, -62, 91 },
  // MZ2_WIDOW_RAIL_RIGHT             155
      { 68, 12, 86 },
  // MZ2_WIDOW_BLASTER_SWEEP1         156         pmm - the sweeps need to be in sequential order
      { 47.5, 56, 89 },
  // MZ2_WIDOW_BLASTER_SWEEP2         157
      { 54, 52, 91 },
  // MZ2_WIDOW_BLASTER_SWEEP3         158
      { 58, 40, 91 },
  // MZ2_WIDOW_BLASTER_SWEEP4         159
      { 68, 30, 88 },
  // MZ2_WIDOW_BLASTER_SWEEP5         160
      { 74, 20, 88 },
  // MZ2_WIDOW_BLASTER_SWEEP6         161
      { 73, 11, 87 },
  // MZ2_WIDOW_BLASTER_SWEEP7         162
      { 73, 3, 87 },
  // MZ2_WIDOW_BLASTER_SWEEP8         163
      { 70, -12, 87 },
  // MZ2_WIDOW_BLASTER_SWEEP9         164
      { 67, -20, 90 },
  // MZ2_WIDOW_BLASTER_100            165
      { -20, 76, 90 },
  // MZ2_WIDOW_BLASTER_90             166
      { -8, 74, 90 },
  // MZ2_WIDOW_BLASTER_80             167
      { 0, 72, 90 },
  // MZ2_WIDOW_BLASTER_70             168     d06
      { 10, 71, 89 },
  // MZ2_WIDOW_BLASTER_60             169     d07
      { 23, 70, 87 },
  // MZ2_WIDOW_BLASTER_50             170     d08
      { 32, 64, 85 },
  // MZ2_WIDOW_BLASTER_40             171
      { 40, 58, 84 },
  // MZ2_WIDOW_BLASTER_30             172     d10
      { 48, 50, 83 },
  // MZ2_WIDOW_BLASTER_20             173
      { 54, 42, 82 },
  // MZ2_WIDOW_BLASTER_10             174     d12
      { 56, 34, 82 },
  // MZ2_WIDOW_BLASTER_0              175
      { 58, 26, 82 },
  // MZ2_WIDOW_BLASTER_10L            176     d14
      { 60, 16, 82 },
  // MZ2_WIDOW_BLASTER_20L            177
      { 59, 6, 81 },
  // MZ2_WIDOW_BLASTER_30L            178     d16
      { 58, -2, 80 },
  // MZ2_WIDOW_BLASTER_40L            179
      { 57, -10, 79 },
  // MZ2_WIDOW_BLASTER_50L            180     d18
      { 54, -18, 78 },
  // MZ2_WIDOW_BLASTER_60L            181
      { 42, -32, 80 },
  // MZ2_WIDOW_BLASTER_70L            182     d20
      { 36, -40, 78 },
  // MZ2_WIDOW_RUN_1                  183
      { 68.4, 10.88, 82.08 },
  // MZ2_WIDOW_RUN_2                  184
      { 68.51, 8.64, 85.14 },
  // MZ2_WIDOW_RUN_3                  185
      { 68.66, 6.38, 88.78 },
  // MZ2_WIDOW_RUN_4                  186
      { 68.73, 5.1, 84.47 },
  // MZ2_WIDOW_RUN_5                  187
      { 68.82, 4.79, 80.52 },
  // MZ2_WIDOW_RUN_6                  188
      { 68.77, 6.11, 85.37 },
  // MZ2_WIDOW_RUN_7                  189
      { 68.67, 7.99, 90.24 },
  // MZ2_WIDOW_RUN_8                  190
      { 68.55, 9.54, 87.36 },
  // MZ2_CARRIER_ROCKET_1             191
      { 0, 0, -5 },
  // MZ2_CARRIER_ROCKET_2             192
      { 0, 0, -5 },
  // MZ2_CARRIER_ROCKET_3             193
      { 0, 0, -5 },
  // MZ2_CARRIER_ROCKET_4             194
      { 0, 0, -5 },
  // MZ2_WIDOW2_BEAMER_1              195
  //  72.13, -17.63, 93.77 },
      { 69.00, -17.63, 93.77 },
  // MZ2_WIDOW2_BEAMER_2              196
  //  71.46, -17.08, 89.82 },
      { 69.00, -17.08, 89.82 },
  // MZ2_WIDOW2_BEAMER_3              197
  //  71.47, -18.40, 90.70 },
      { 69.00, -18.40, 90.70 },
  // MZ2_WIDOW2_BEAMER_4              198
  //  71.96, -18.34, 94.32 },
      { 69.00, -18.34, 94.32 },
  // MZ2_WIDOW2_BEAMER_5              199
  //  72.25, -18.30, 97.98 },
      { 69.00, -18.30, 97.98 },
  // MZ2_WIDOW2_BEAM_SWEEP_1          200
      { 45.04, -59.02, 92.24 },
  // MZ2_WIDOW2_BEAM_SWEEP_2          201
      { 50.68, -54.70, 91.96 },
  // MZ2_WIDOW2_BEAM_SWEEP_3          202
      { 56.57, -47.72, 91.65 },
  // MZ2_WIDOW2_BEAM_SWEEP_4          203
      { 61.75, -38.75, 91.38 },
  // MZ2_WIDOW2_BEAM_SWEEP_5          204
      { 65.55, -28.76, 91.24 },
  // MZ2_WIDOW2_BEAM_SWEEP_6          205
      { 67.79, -18.90, 91.22 },
  // MZ2_WIDOW2_BEAM_SWEEP_7          206
      { 68.60, -9.52, 91.23 },
  // MZ2_WIDOW2_BEAM_SWEEP_8          207
      { 68.08, 0.18, 91.32 },
  // MZ2_WIDOW2_BEAM_SWEEP_9          208
      { 66.14, 9.79, 91.44 },
  // MZ2_WIDOW2_BEAM_SWEEP_10         209
      { 62.77, 18.91, 91.65 },
  // MZ2_WIDOW2_BEAM_SWEEP_11         210
      { 58.29, 27.11, 92.00 },
  
  // end of table
      { 0.0, 0.0, 0.0 }
  };
  