haunted_mansion: add collision
This commit is contained in:
parent
f111ae9005
commit
f414171cbf
BIN
model/haunted_mansion/hauntedMansionCollision.blend
Normal file
BIN
model/haunted_mansion/hauntedMansionCollision.blend
Normal file
Binary file not shown.
2
model/haunted_mansion/hauntedMansionCollision.mtl
Normal file
2
model/haunted_mansion/hauntedMansionCollision.mtl
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Blender 4.2.1 LTS MTL File: 'hauntedMansionCollision.blend'
|
||||||
|
# www.blender.org
|
360
model/haunted_mansion/hauntedMansionCollision.obj
Normal file
360
model/haunted_mansion/hauntedMansionCollision.obj
Normal file
@ -0,0 +1,360 @@
|
|||||||
|
# Blender 4.2.1 LTS
|
||||||
|
# www.blender.org
|
||||||
|
mtllib hauntedMansionCollision.mtl
|
||||||
|
o house-coll-display
|
||||||
|
v 9.468655 18.171686 -0.000001
|
||||||
|
v 9.468655 -11.468163 -0.000001
|
||||||
|
v 11.768676 6.959891 -0.000001
|
||||||
|
v 11.768676 -0.458513 -0.000001
|
||||||
|
v -1.959310 6.487949 0.000000
|
||||||
|
v -1.959310 6.959890 0.000000
|
||||||
|
v -1.959310 0.000950 0.000000
|
||||||
|
v -1.959310 -0.458513 0.000000
|
||||||
|
v -0.034380 -7.700261 0.000000
|
||||||
|
v -1.639923 6.684578 0.000000
|
||||||
|
v 0.260841 1.695189 -0.000000
|
||||||
|
v -1.639923 -0.395491 0.000000
|
||||||
|
v 4.497604 18.171686 -0.000000
|
||||||
|
v 4.497604 6.487949 -0.000000
|
||||||
|
v 4.497604 6.959890 -0.000000
|
||||||
|
v 4.497604 0.000950 -0.000000
|
||||||
|
v 4.497604 -0.458513 -0.000000
|
||||||
|
v 4.178310 6.684578 -0.000000
|
||||||
|
v 2.417353 1.695189 -0.000000
|
||||||
|
v 9.468655 -5.209778 -0.000001
|
||||||
|
v -0.034380 -6.403114 0.000000
|
||||||
|
v 11.768676 -4.928789 -0.000001
|
||||||
|
v -1.959310 -4.928789 0.000000
|
||||||
|
v -1.639923 -4.928789 0.000000
|
||||||
|
v 4.497604 -4.928789 -0.000000
|
||||||
|
v 4.178310 -4.928789 -0.000000
|
||||||
|
v -5.530122 18.171686 0.000000
|
||||||
|
v -5.530122 -11.468163 0.000000
|
||||||
|
v 0.516239 4.961135 -0.000000
|
||||||
|
v 2.003563 4.961135 -0.000000
|
||||||
|
v -5.530122 -5.209778 0.000000
|
||||||
|
v 0.286729 -11.468163 -0.000000
|
||||||
|
v 0.286729 -5.209778 -0.000000
|
||||||
|
v -0.034380 -11.468163 0.000000
|
||||||
|
v -3.538448 -5.209778 0.000000
|
||||||
|
v -0.921080 -5.209778 0.000000
|
||||||
|
v -4.641364 -5.209778 0.000000
|
||||||
|
v 11.768676 11.356500 -0.000001
|
||||||
|
v -1.959310 11.356500 0.000000
|
||||||
|
v -1.639923 11.522879 0.000000
|
||||||
|
v 4.497604 11.356500 -0.000000
|
||||||
|
v 4.178310 11.522879 -0.000000
|
||||||
|
v 0.516239 1.695189 -0.000000
|
||||||
|
v 0.516239 -4.928789 -0.000000
|
||||||
|
v 2.003563 -4.928789 -0.000000
|
||||||
|
v 2.003563 1.695189 -0.000000
|
||||||
|
v 2.614596 13.142808 -0.000000
|
||||||
|
v -0.076209 13.142808 0.000000
|
||||||
|
v -12.607601 2.479054 0.000001
|
||||||
|
v -12.607601 4.197836 0.000001
|
||||||
|
v -12.349248 0.000951 0.000001
|
||||||
|
v -12.352005 6.487949 0.000001
|
||||||
|
v -12.583817 1.727151 0.000001
|
||||||
|
v -12.582272 4.799030 0.000001
|
||||||
|
v -12.174327 7.221593 0.000001
|
||||||
|
v -12.165005 -0.753008 0.000001
|
||||||
|
v -7.615463 6.959890 0.000001
|
||||||
|
v -7.615463 11.356500 0.000001
|
||||||
|
v -7.615463 0.000951 0.000001
|
||||||
|
v -7.615463 6.487949 0.000001
|
||||||
|
v -7.615463 -4.928789 0.000001
|
||||||
|
v -7.615463 -0.458513 0.000001
|
||||||
|
v -7.615463 4.197836 0.000001
|
||||||
|
v -7.615463 2.479054 0.000001
|
||||||
|
v -1.959310 9.934581 0.000000
|
||||||
|
v -1.639923 9.934581 0.000000
|
||||||
|
v 4.497604 9.934581 -0.000000
|
||||||
|
v 4.178310 9.934581 -0.000000
|
||||||
|
v -1.639923 -3.482409 0.000000
|
||||||
|
v -1.959310 -1.987983 0.000000
|
||||||
|
v 4.497604 -1.987983 -0.000000
|
||||||
|
v 4.178310 -3.482409 -0.000000
|
||||||
|
v 4.178310 -1.987983 -0.000000
|
||||||
|
v -1.959310 -3.482409 0.000000
|
||||||
|
v 4.497604 -3.482409 -0.000000
|
||||||
|
v -1.639923 -1.987983 0.000000
|
||||||
|
v 9.468655 11.693382 -0.000001
|
||||||
|
v -1.959310 11.693382 0.000000
|
||||||
|
v 2.614596 4.961135 -0.000000
|
||||||
|
v 4.497604 11.693382 -0.000000
|
||||||
|
v -0.076209 4.961135 0.000000
|
||||||
|
v -5.530122 11.693382 0.000000
|
||||||
|
v 4.178310 -0.031970 -0.000000
|
||||||
|
v -0.236704 4.799030 0.000000
|
||||||
|
v -0.236704 4.197837 0.000000
|
||||||
|
v -0.236704 2.479054 0.000000
|
||||||
|
v -0.236704 1.727151 0.000000
|
||||||
|
v 0.516240 13.142808 -0.000000
|
||||||
|
v 2.003563 13.142808 -0.000000
|
||||||
|
v 2.676960 4.561967 -0.000000
|
||||||
|
v 2.676960 4.197836 -0.000000
|
||||||
|
v 2.676960 2.479054 -0.000000
|
||||||
|
v 2.676960 1.891271 -0.000000
|
||||||
|
v -1.639923 10.952084 0.000000
|
||||||
|
v 4.178310 10.952084 -0.000000
|
||||||
|
v 4.497604 10.950237 -0.000000
|
||||||
|
v -1.959310 10.952084 0.000000
|
||||||
|
v 12.588175 0.000950 -0.000001
|
||||||
|
v 12.588175 6.487949 -0.000001
|
||||||
|
v 14.280035 1.677614 -0.000001
|
||||||
|
v 14.280035 4.801496 -0.000001
|
||||||
|
v 0.516239 2.479054 -0.000000
|
||||||
|
v 0.516239 4.197837 -0.000000
|
||||||
|
v 2.003563 4.197837 -0.000000
|
||||||
|
v 2.003563 2.479054 -0.000000
|
||||||
|
v -6.127061 6.487949 0.000000
|
||||||
|
v -6.127061 -0.458513 0.000000
|
||||||
|
v -6.127060 6.959890 0.000000
|
||||||
|
v -6.127060 0.000951 0.000000
|
||||||
|
v -3.538448 6.487949 0.000000
|
||||||
|
v -3.538448 6.959890 0.000000
|
||||||
|
v -3.538448 -0.458513 0.000000
|
||||||
|
v -3.538448 0.000951 0.000000
|
||||||
|
v -3.538448 -4.928789 0.000000
|
||||||
|
v -3.538448 11.356500 0.000000
|
||||||
|
v -4.641364 -4.928789 0.000000
|
||||||
|
v -4.641364 11.356500 0.000000
|
||||||
|
v 2.003563 -5.209778 -0.000000
|
||||||
|
v 0.516239 -5.209778 -0.000000
|
||||||
|
v 7.522186 -5.209778 -0.000001
|
||||||
|
v 6.182686 -5.209778 -0.000000
|
||||||
|
v 0.286729 -6.406253 -0.000000
|
||||||
|
v 0.286729 -7.699028 -0.000000
|
||||||
|
v 7.522186 -0.458513 -0.000001
|
||||||
|
v 7.522186 6.487949 -0.000001
|
||||||
|
v 7.522186 0.000950 -0.000001
|
||||||
|
v 7.522186 11.693382 -0.000001
|
||||||
|
v 7.522186 11.356500 -0.000001
|
||||||
|
v 7.522186 -4.928789 -0.000001
|
||||||
|
v 7.522186 6.959890 -0.000001
|
||||||
|
v 6.182686 -0.458513 -0.000000
|
||||||
|
v 6.182686 -4.928789 -0.000000
|
||||||
|
v 6.182686 6.487949 -0.000000
|
||||||
|
v 6.182686 0.000950 -0.000000
|
||||||
|
v 6.182686 6.959890 -0.000000
|
||||||
|
v 6.182686 11.693382 -0.000000
|
||||||
|
v 6.182686 11.356500 -0.000000
|
||||||
|
v 4.497604 13.394125 -0.000000
|
||||||
|
v -4.695820 11.693382 0.000000
|
||||||
|
v -3.505549 11.693382 0.000000
|
||||||
|
v -1.959310 16.679245 0.000000
|
||||||
|
v -1.959310 12.984167 0.000000
|
||||||
|
v 2.003563 18.741804 -0.000000
|
||||||
|
v 0.516240 18.741804 -0.000000
|
||||||
|
v -1.577724 21.941124 0.000000
|
||||||
|
v 5.434333 21.941124 -0.000000
|
||||||
|
v 2.985128 12.758956 -0.000000
|
||||||
|
v -0.446740 12.758956 0.000000
|
||||||
|
v 3.867863 11.844486 -0.000000
|
||||||
|
v -1.329476 11.844486 0.000000
|
||||||
|
v -1.959310 12.032170 0.000000
|
||||||
|
v -1.670803 12.032170 0.000000
|
||||||
|
v 0.516240 13.474504 -0.000000
|
||||||
|
v 2.003563 13.474504 -0.000000
|
||||||
|
v 0.516240 16.687757 -0.000000
|
||||||
|
v 2.003563 16.687757 -0.000000
|
||||||
|
v 2.572726 13.474504 -0.000000
|
||||||
|
v 2.572726 16.687757 -0.000000
|
||||||
|
v -0.081743 13.474504 0.000000
|
||||||
|
v -0.081743 16.687757 0.000000
|
||||||
|
v 0.516240 17.029930 -0.000000
|
||||||
|
v 0.516240 18.182152 -0.000000
|
||||||
|
v -0.391281 13.212752 0.000000
|
||||||
|
v -0.668785 12.984167 0.000000
|
||||||
|
v -0.391281 17.029930 0.000000
|
||||||
|
v -1.677333 16.679245 0.000000
|
||||||
|
v -1.677333 12.984167 0.000000
|
||||||
|
v 4.154991 12.163081 -0.000000
|
||||||
|
v 4.497604 12.163081 -0.000000
|
||||||
|
v 2.985128 13.382598 -0.000000
|
||||||
|
v 5.434333 18.741804 -0.000000
|
||||||
|
v -1.577724 18.741804 0.000000
|
||||||
|
v -0.921202 -4.928789 0.000000
|
||||||
|
v -0.034380 -4.928789 0.000000
|
||||||
|
v -8.584578 2.479054 0.000001
|
||||||
|
v -8.584578 4.197836 0.000001
|
||||||
|
v -8.584578 7.221593 0.000001
|
||||||
|
v -8.584578 -0.753008 0.000001
|
||||||
|
l 9 123
|
||||||
|
l 120 129
|
||||||
|
l 20 120
|
||||||
|
l 2 20
|
||||||
|
l 32 123
|
||||||
|
l 38 128
|
||||||
|
l 38 3
|
||||||
|
l 13 138
|
||||||
|
l 1 13
|
||||||
|
l 153 159
|
||||||
|
l 159 160
|
||||||
|
l 77 127
|
||||||
|
l 9 34
|
||||||
|
l 35 36
|
||||||
|
l 28 34
|
||||||
|
l 31 37
|
||||||
|
l 28 31
|
||||||
|
l 37 116
|
||||||
|
l 35 114
|
||||||
|
l 36 173
|
||||||
|
l 21 174
|
||||||
|
l 16 134
|
||||||
|
l 49 50
|
||||||
|
l 49 53
|
||||||
|
l 52 54
|
||||||
|
l 50 54
|
||||||
|
l 51 53
|
||||||
|
l 176 177
|
||||||
|
l 55 177
|
||||||
|
l 52 55
|
||||||
|
l 106 108
|
||||||
|
l 78 140
|
||||||
|
l 78 151
|
||||||
|
l 99 101
|
||||||
|
l 92 93
|
||||||
|
l 90 91
|
||||||
|
l 14 90
|
||||||
|
l 16 93
|
||||||
|
l 99 125
|
||||||
|
l 25 75
|
||||||
|
l 25 132
|
||||||
|
l 44 174
|
||||||
|
l 60 106
|
||||||
|
l 18 79
|
||||||
|
l 30 79
|
||||||
|
l 26 45
|
||||||
|
l 26 72
|
||||||
|
l 17 71
|
||||||
|
l 17 131
|
||||||
|
l 15 67
|
||||||
|
l 15 135
|
||||||
|
l 72 75
|
||||||
|
l 71 73
|
||||||
|
l 19 46
|
||||||
|
l 19 83
|
||||||
|
l 59 64
|
||||||
|
l 59 109
|
||||||
|
l 30 104
|
||||||
|
l 40 94
|
||||||
|
l 47 147
|
||||||
|
l 47 89
|
||||||
|
l 10 66
|
||||||
|
l 8 70
|
||||||
|
l 8 112
|
||||||
|
l 124 126
|
||||||
|
l 83 73
|
||||||
|
l 69 74
|
||||||
|
l 70 76
|
||||||
|
l 84 85
|
||||||
|
l 11 43
|
||||||
|
l 7 87
|
||||||
|
l 5 84
|
||||||
|
l 86 87
|
||||||
|
l 29 103
|
||||||
|
l 48 88
|
||||||
|
l 48 148
|
||||||
|
l 29 81
|
||||||
|
l 10 81
|
||||||
|
l 18 68
|
||||||
|
l 43 102
|
||||||
|
l 46 105
|
||||||
|
l 91 104
|
||||||
|
l 92 105
|
||||||
|
l 86 102
|
||||||
|
l 85 103
|
||||||
|
l 42 95
|
||||||
|
l 41 137
|
||||||
|
l 41 96
|
||||||
|
l 95 96
|
||||||
|
l 67 68
|
||||||
|
l 39 97
|
||||||
|
l 39 115
|
||||||
|
l 94 97
|
||||||
|
l 65 66
|
||||||
|
l 107 109
|
||||||
|
l 112 113
|
||||||
|
l 62 107
|
||||||
|
l 62 61
|
||||||
|
l 60 63
|
||||||
|
l 23 114
|
||||||
|
l 23 74
|
||||||
|
l 5 110
|
||||||
|
l 6 111
|
||||||
|
l 6 65
|
||||||
|
l 58 117
|
||||||
|
l 7 113
|
||||||
|
l 61 116
|
||||||
|
l 110 111
|
||||||
|
l 98 126
|
||||||
|
l 98 100
|
||||||
|
l 100 101
|
||||||
|
l 32 2
|
||||||
|
l 44 119
|
||||||
|
l 45 118
|
||||||
|
l 118 121
|
||||||
|
l 33 119
|
||||||
|
l 33 122
|
||||||
|
l 21 122
|
||||||
|
l 22 129
|
||||||
|
l 3 130
|
||||||
|
l 4 124
|
||||||
|
l 57 58
|
||||||
|
l 57 108
|
||||||
|
l 4 22
|
||||||
|
l 163 165
|
||||||
|
l 127 128
|
||||||
|
l 136 137
|
||||||
|
l 125 130
|
||||||
|
l 133 135
|
||||||
|
l 14 133
|
||||||
|
l 131 134
|
||||||
|
l 121 132
|
||||||
|
l 82 139
|
||||||
|
l 141 142
|
||||||
|
l 115 140
|
||||||
|
l 117 139
|
||||||
|
l 144 162
|
||||||
|
l 146 171
|
||||||
|
l 143 171
|
||||||
|
l 154 157
|
||||||
|
l 157 158
|
||||||
|
l 156 158
|
||||||
|
l 42 149
|
||||||
|
l 40 150
|
||||||
|
l 150 152
|
||||||
|
l 148 164
|
||||||
|
l 27 82
|
||||||
|
l 142 167
|
||||||
|
l 151 152
|
||||||
|
l 88 153
|
||||||
|
l 89 154
|
||||||
|
l 155 161
|
||||||
|
l 143 156
|
||||||
|
l 163 164
|
||||||
|
l 166 167
|
||||||
|
l 161 165
|
||||||
|
l 141 166
|
||||||
|
l 27 162
|
||||||
|
l 80 136
|
||||||
|
l 80 169
|
||||||
|
l 1 77
|
||||||
|
l 168 169
|
||||||
|
l 149 168
|
||||||
|
l 147 170
|
||||||
|
l 138 170
|
||||||
|
l 145 146
|
||||||
|
l 145 172
|
||||||
|
l 144 172
|
||||||
|
l 155 160
|
||||||
|
l 12 11
|
||||||
|
l 12 76
|
||||||
|
l 24 69
|
||||||
|
l 24 173
|
||||||
|
l 63 176
|
||||||
|
l 64 175
|
||||||
|
l 51 56
|
||||||
|
l 56 178
|
||||||
|
l 175 178
|
931
model/haunted_mansion/model_collision.h
Normal file
931
model/haunted_mansion/model_collision.h
Normal file
@ -0,0 +1,931 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
const vertex_position haunted_mansion_collision_position[] = {
|
||||||
|
{-18.171686f, -0.000001f, -9.468655f},
|
||||||
|
{11.468163f, -0.000001f, -9.468655f},
|
||||||
|
{-6.959891f, -0.000001f, -11.768676f},
|
||||||
|
{0.458513f, -0.000001f, -11.768676f},
|
||||||
|
{-6.487949f, 0.000000f, 1.959310f},
|
||||||
|
{-6.959890f, 0.000000f, 1.959310f},
|
||||||
|
{-0.000950f, 0.000000f, 1.959310f},
|
||||||
|
{0.458513f, 0.000000f, 1.959310f},
|
||||||
|
{7.700261f, 0.000000f, 0.034380f},
|
||||||
|
{-6.684578f, 0.000000f, 1.639923f},
|
||||||
|
{-1.695189f, -0.000000f, -0.260841f},
|
||||||
|
{0.395491f, 0.000000f, 1.639923f},
|
||||||
|
{-18.171686f, -0.000000f, -4.497604f},
|
||||||
|
{-6.487949f, -0.000000f, -4.497604f},
|
||||||
|
{-6.959890f, -0.000000f, -4.497604f},
|
||||||
|
{-0.000950f, -0.000000f, -4.497604f},
|
||||||
|
{0.458513f, -0.000000f, -4.497604f},
|
||||||
|
{-6.684578f, -0.000000f, -4.178310f},
|
||||||
|
{-1.695189f, -0.000000f, -2.417353f},
|
||||||
|
{5.209778f, -0.000001f, -9.468655f},
|
||||||
|
{6.403114f, 0.000000f, 0.034380f},
|
||||||
|
{4.928789f, -0.000001f, -11.768676f},
|
||||||
|
{4.928789f, 0.000000f, 1.959310f},
|
||||||
|
{4.928789f, 0.000000f, 1.639923f},
|
||||||
|
{4.928789f, -0.000000f, -4.497604f},
|
||||||
|
{4.928789f, -0.000000f, -4.178310f},
|
||||||
|
{-18.171686f, 0.000000f, 5.530122f},
|
||||||
|
{11.468163f, 0.000000f, 5.530122f},
|
||||||
|
{-4.961135f, -0.000000f, -0.516239f},
|
||||||
|
{-4.961135f, -0.000000f, -2.003563f},
|
||||||
|
{5.209778f, 0.000000f, 5.530122f},
|
||||||
|
{11.468163f, -0.000000f, -0.286729f},
|
||||||
|
{5.209778f, -0.000000f, -0.286729f},
|
||||||
|
{11.468163f, 0.000000f, 0.034380f},
|
||||||
|
{5.209778f, 0.000000f, 3.538448f},
|
||||||
|
{5.209778f, 0.000000f, 0.921080f},
|
||||||
|
{5.209778f, 0.000000f, 4.641364f},
|
||||||
|
{-11.356500f, -0.000001f, -11.768676f},
|
||||||
|
{-11.356500f, 0.000000f, 1.959310f},
|
||||||
|
{-11.522879f, 0.000000f, 1.639923f},
|
||||||
|
{-11.356500f, -0.000000f, -4.497604f},
|
||||||
|
{-11.522879f, -0.000000f, -4.178310f},
|
||||||
|
{-1.695189f, -0.000000f, -0.516239f},
|
||||||
|
{4.928789f, -0.000000f, -0.516239f},
|
||||||
|
{4.928789f, -0.000000f, -2.003563f},
|
||||||
|
{-1.695189f, -0.000000f, -2.003563f},
|
||||||
|
{-13.142808f, -0.000000f, -2.614596f},
|
||||||
|
{-13.142808f, 0.000000f, 0.076209f},
|
||||||
|
{-2.479054f, 0.000001f, 12.607601f},
|
||||||
|
{-4.197836f, 0.000001f, 12.607601f},
|
||||||
|
{-0.000951f, 0.000001f, 12.349248f},
|
||||||
|
{-6.487949f, 0.000001f, 12.352005f},
|
||||||
|
{-1.727151f, 0.000001f, 12.583817f},
|
||||||
|
{-4.799030f, 0.000001f, 12.582272f},
|
||||||
|
{-7.221593f, 0.000001f, 12.174327f},
|
||||||
|
{0.753008f, 0.000001f, 12.165005f},
|
||||||
|
{-6.959890f, 0.000001f, 7.615463f},
|
||||||
|
{-11.356500f, 0.000001f, 7.615463f},
|
||||||
|
{-0.000951f, 0.000001f, 7.615463f},
|
||||||
|
{-6.487949f, 0.000001f, 7.615463f},
|
||||||
|
{4.928789f, 0.000001f, 7.615463f},
|
||||||
|
{0.458513f, 0.000001f, 7.615463f},
|
||||||
|
{-4.197836f, 0.000001f, 7.615463f},
|
||||||
|
{-2.479054f, 0.000001f, 7.615463f},
|
||||||
|
{-9.934581f, 0.000000f, 1.959310f},
|
||||||
|
{-9.934581f, 0.000000f, 1.639923f},
|
||||||
|
{-9.934581f, -0.000000f, -4.497604f},
|
||||||
|
{-9.934581f, -0.000000f, -4.178310f},
|
||||||
|
{3.482409f, 0.000000f, 1.639923f},
|
||||||
|
{1.987983f, 0.000000f, 1.959310f},
|
||||||
|
{1.987983f, -0.000000f, -4.497604f},
|
||||||
|
{3.482409f, -0.000000f, -4.178310f},
|
||||||
|
{1.987983f, -0.000000f, -4.178310f},
|
||||||
|
{3.482409f, 0.000000f, 1.959310f},
|
||||||
|
{3.482409f, -0.000000f, -4.497604f},
|
||||||
|
{1.987983f, 0.000000f, 1.639923f},
|
||||||
|
{-11.693382f, -0.000001f, -9.468655f},
|
||||||
|
{-11.693382f, 0.000000f, 1.959310f},
|
||||||
|
{-4.961135f, -0.000000f, -2.614596f},
|
||||||
|
{-11.693382f, -0.000000f, -4.497604f},
|
||||||
|
{-4.961135f, 0.000000f, 0.076209f},
|
||||||
|
{-11.693382f, 0.000000f, 5.530122f},
|
||||||
|
{0.031970f, -0.000000f, -4.178310f},
|
||||||
|
{-4.799030f, 0.000000f, 0.236704f},
|
||||||
|
{-4.197837f, 0.000000f, 0.236704f},
|
||||||
|
{-2.479054f, 0.000000f, 0.236704f},
|
||||||
|
{-1.727151f, 0.000000f, 0.236704f},
|
||||||
|
{-13.142808f, -0.000000f, -0.516240f},
|
||||||
|
{-13.142808f, -0.000000f, -2.003563f},
|
||||||
|
{-4.561967f, -0.000000f, -2.676960f},
|
||||||
|
{-4.197836f, -0.000000f, -2.676960f},
|
||||||
|
{-2.479054f, -0.000000f, -2.676960f},
|
||||||
|
{-1.891271f, -0.000000f, -2.676960f},
|
||||||
|
{-10.952084f, 0.000000f, 1.639923f},
|
||||||
|
{-10.952084f, -0.000000f, -4.178310f},
|
||||||
|
{-10.950237f, -0.000000f, -4.497604f},
|
||||||
|
{-10.952084f, 0.000000f, 1.959310f},
|
||||||
|
{-0.000950f, -0.000001f, -12.588175f},
|
||||||
|
{-6.487949f, -0.000001f, -12.588175f},
|
||||||
|
{-1.677614f, -0.000001f, -14.280035f},
|
||||||
|
{-4.801496f, -0.000001f, -14.280035f},
|
||||||
|
{-2.479054f, -0.000000f, -0.516239f},
|
||||||
|
{-4.197837f, -0.000000f, -0.516239f},
|
||||||
|
{-4.197837f, -0.000000f, -2.003563f},
|
||||||
|
{-2.479054f, -0.000000f, -2.003563f},
|
||||||
|
{-6.487949f, 0.000000f, 6.127061f},
|
||||||
|
{0.458513f, 0.000000f, 6.127061f},
|
||||||
|
{-6.959890f, 0.000000f, 6.127060f},
|
||||||
|
{-0.000951f, 0.000000f, 6.127060f},
|
||||||
|
{-6.487949f, 0.000000f, 3.538448f},
|
||||||
|
{-6.959890f, 0.000000f, 3.538448f},
|
||||||
|
{0.458513f, 0.000000f, 3.538448f},
|
||||||
|
{-0.000951f, 0.000000f, 3.538448f},
|
||||||
|
{4.928789f, 0.000000f, 3.538448f},
|
||||||
|
{-11.356500f, 0.000000f, 3.538448f},
|
||||||
|
{4.928789f, 0.000000f, 4.641364f},
|
||||||
|
{-11.356500f, 0.000000f, 4.641364f},
|
||||||
|
{5.209778f, -0.000000f, -2.003563f},
|
||||||
|
{5.209778f, -0.000000f, -0.516239f},
|
||||||
|
{5.209778f, -0.000001f, -7.522186f},
|
||||||
|
{5.209778f, -0.000000f, -6.182686f},
|
||||||
|
{6.406253f, -0.000000f, -0.286729f},
|
||||||
|
{7.699028f, -0.000000f, -0.286729f},
|
||||||
|
{0.458513f, -0.000001f, -7.522186f},
|
||||||
|
{-6.487949f, -0.000001f, -7.522186f},
|
||||||
|
{-0.000950f, -0.000001f, -7.522186f},
|
||||||
|
{-11.693382f, -0.000001f, -7.522186f},
|
||||||
|
{-11.356500f, -0.000001f, -7.522186f},
|
||||||
|
{4.928789f, -0.000001f, -7.522186f},
|
||||||
|
{-6.959890f, -0.000001f, -7.522186f},
|
||||||
|
{0.458513f, -0.000000f, -6.182686f},
|
||||||
|
{4.928789f, -0.000000f, -6.182686f},
|
||||||
|
{-6.487949f, -0.000000f, -6.182686f},
|
||||||
|
{-0.000950f, -0.000000f, -6.182686f},
|
||||||
|
{-6.959890f, -0.000000f, -6.182686f},
|
||||||
|
{-11.693382f, -0.000000f, -6.182686f},
|
||||||
|
{-11.356500f, -0.000000f, -6.182686f},
|
||||||
|
{-13.394125f, -0.000000f, -4.497604f},
|
||||||
|
{-11.693382f, 0.000000f, 4.695820f},
|
||||||
|
{-11.693382f, 0.000000f, 3.505549f},
|
||||||
|
{-16.679245f, 0.000000f, 1.959310f},
|
||||||
|
{-12.984167f, 0.000000f, 1.959310f},
|
||||||
|
{-18.741804f, -0.000000f, -2.003563f},
|
||||||
|
{-18.741804f, -0.000000f, -0.516240f},
|
||||||
|
{-21.941124f, 0.000000f, 1.577724f},
|
||||||
|
{-21.941124f, -0.000000f, -5.434333f},
|
||||||
|
{-12.758956f, -0.000000f, -2.985128f},
|
||||||
|
{-12.758956f, 0.000000f, 0.446740f},
|
||||||
|
{-11.844486f, -0.000000f, -3.867863f},
|
||||||
|
{-11.844486f, 0.000000f, 1.329476f},
|
||||||
|
{-12.032170f, 0.000000f, 1.959310f},
|
||||||
|
{-12.032170f, 0.000000f, 1.670803f},
|
||||||
|
{-13.474504f, -0.000000f, -0.516240f},
|
||||||
|
{-13.474504f, -0.000000f, -2.003563f},
|
||||||
|
{-16.687757f, -0.000000f, -0.516240f},
|
||||||
|
{-16.687757f, -0.000000f, -2.003563f},
|
||||||
|
{-13.474504f, -0.000000f, -2.572726f},
|
||||||
|
{-16.687757f, -0.000000f, -2.572726f},
|
||||||
|
{-13.474504f, 0.000000f, 0.081743f},
|
||||||
|
{-16.687757f, 0.000000f, 0.081743f},
|
||||||
|
{-17.029930f, -0.000000f, -0.516240f},
|
||||||
|
{-18.182152f, -0.000000f, -0.516240f},
|
||||||
|
{-13.212752f, 0.000000f, 0.391281f},
|
||||||
|
{-12.984167f, 0.000000f, 0.668785f},
|
||||||
|
{-17.029930f, 0.000000f, 0.391281f},
|
||||||
|
{-16.679245f, 0.000000f, 1.677333f},
|
||||||
|
{-12.984167f, 0.000000f, 1.677333f},
|
||||||
|
{-12.163081f, -0.000000f, -4.154991f},
|
||||||
|
{-12.163081f, -0.000000f, -4.497604f},
|
||||||
|
{-13.382598f, -0.000000f, -2.985128f},
|
||||||
|
{-18.741804f, -0.000000f, -5.434333f},
|
||||||
|
{-18.741804f, 0.000000f, 1.577724f},
|
||||||
|
{4.928789f, 0.000000f, 0.921202f},
|
||||||
|
{4.928789f, 0.000000f, 0.034380f},
|
||||||
|
{-2.479054f, 0.000001f, 8.584578f},
|
||||||
|
{-4.197836f, 0.000001f, 8.584578f},
|
||||||
|
{-7.221593f, 0.000001f, 8.584578f},
|
||||||
|
{0.753008f, 0.000001f, 8.584578f},
|
||||||
|
};
|
||||||
|
|
||||||
|
const vertex_texture haunted_mansion_collision_texture[] = {
|
||||||
|
};
|
||||||
|
|
||||||
|
const vertex_normal haunted_mansion_collision_normal[] = {
|
||||||
|
};
|
||||||
|
|
||||||
|
const union triangle haunted_mansion_collision_house_coll_display_triangle[] = {
|
||||||
|
};
|
||||||
|
|
||||||
|
const union quadrilateral haunted_mansion_collision_house_coll_display_quadrilateral[] = {
|
||||||
|
};
|
||||||
|
|
||||||
|
const union line haunted_mansion_collision_house_coll_display_line[] = {
|
||||||
|
{
|
||||||
|
.a = 8,
|
||||||
|
.b = 122,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 119,
|
||||||
|
.b = 128,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 19,
|
||||||
|
.b = 119,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 1,
|
||||||
|
.b = 19,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 31,
|
||||||
|
.b = 122,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 37,
|
||||||
|
.b = 127,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 37,
|
||||||
|
.b = 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 12,
|
||||||
|
.b = 137,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 0,
|
||||||
|
.b = 12,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 152,
|
||||||
|
.b = 158,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 158,
|
||||||
|
.b = 159,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 76,
|
||||||
|
.b = 126,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 8,
|
||||||
|
.b = 33,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 34,
|
||||||
|
.b = 35,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 27,
|
||||||
|
.b = 33,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 30,
|
||||||
|
.b = 36,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 27,
|
||||||
|
.b = 30,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 36,
|
||||||
|
.b = 115,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 34,
|
||||||
|
.b = 113,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 35,
|
||||||
|
.b = 172,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 20,
|
||||||
|
.b = 173,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 15,
|
||||||
|
.b = 133,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 48,
|
||||||
|
.b = 49,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 48,
|
||||||
|
.b = 52,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 51,
|
||||||
|
.b = 53,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 49,
|
||||||
|
.b = 53,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 50,
|
||||||
|
.b = 52,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 175,
|
||||||
|
.b = 176,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 54,
|
||||||
|
.b = 176,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 51,
|
||||||
|
.b = 54,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 105,
|
||||||
|
.b = 107,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 77,
|
||||||
|
.b = 139,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 77,
|
||||||
|
.b = 150,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 98,
|
||||||
|
.b = 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 91,
|
||||||
|
.b = 92,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 89,
|
||||||
|
.b = 90,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 13,
|
||||||
|
.b = 89,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 15,
|
||||||
|
.b = 92,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 98,
|
||||||
|
.b = 124,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 24,
|
||||||
|
.b = 74,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 24,
|
||||||
|
.b = 131,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 43,
|
||||||
|
.b = 173,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 59,
|
||||||
|
.b = 105,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 17,
|
||||||
|
.b = 78,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 29,
|
||||||
|
.b = 78,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 25,
|
||||||
|
.b = 44,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 25,
|
||||||
|
.b = 71,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 16,
|
||||||
|
.b = 70,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 16,
|
||||||
|
.b = 130,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 14,
|
||||||
|
.b = 66,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 14,
|
||||||
|
.b = 134,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 71,
|
||||||
|
.b = 74,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 70,
|
||||||
|
.b = 72,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 18,
|
||||||
|
.b = 45,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 18,
|
||||||
|
.b = 82,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 58,
|
||||||
|
.b = 63,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 58,
|
||||||
|
.b = 108,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 29,
|
||||||
|
.b = 103,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 39,
|
||||||
|
.b = 93,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 46,
|
||||||
|
.b = 146,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 46,
|
||||||
|
.b = 88,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 9,
|
||||||
|
.b = 65,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 7,
|
||||||
|
.b = 69,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 7,
|
||||||
|
.b = 111,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 123,
|
||||||
|
.b = 125,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 82,
|
||||||
|
.b = 72,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 68,
|
||||||
|
.b = 73,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 69,
|
||||||
|
.b = 75,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 83,
|
||||||
|
.b = 84,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 10,
|
||||||
|
.b = 42,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 6,
|
||||||
|
.b = 86,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 4,
|
||||||
|
.b = 83,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 85,
|
||||||
|
.b = 86,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 28,
|
||||||
|
.b = 102,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 47,
|
||||||
|
.b = 87,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 47,
|
||||||
|
.b = 147,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 28,
|
||||||
|
.b = 80,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 9,
|
||||||
|
.b = 80,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 17,
|
||||||
|
.b = 67,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 42,
|
||||||
|
.b = 101,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 45,
|
||||||
|
.b = 104,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 90,
|
||||||
|
.b = 103,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 91,
|
||||||
|
.b = 104,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 85,
|
||||||
|
.b = 101,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 84,
|
||||||
|
.b = 102,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 41,
|
||||||
|
.b = 94,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 40,
|
||||||
|
.b = 136,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 40,
|
||||||
|
.b = 95,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 94,
|
||||||
|
.b = 95,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 66,
|
||||||
|
.b = 67,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 38,
|
||||||
|
.b = 96,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 38,
|
||||||
|
.b = 114,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 93,
|
||||||
|
.b = 96,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 64,
|
||||||
|
.b = 65,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 106,
|
||||||
|
.b = 108,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 111,
|
||||||
|
.b = 112,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 61,
|
||||||
|
.b = 106,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 61,
|
||||||
|
.b = 60,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 59,
|
||||||
|
.b = 62,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 22,
|
||||||
|
.b = 113,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 22,
|
||||||
|
.b = 73,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 4,
|
||||||
|
.b = 109,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 5,
|
||||||
|
.b = 110,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 5,
|
||||||
|
.b = 64,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 57,
|
||||||
|
.b = 116,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 6,
|
||||||
|
.b = 112,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 60,
|
||||||
|
.b = 115,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 109,
|
||||||
|
.b = 110,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 97,
|
||||||
|
.b = 125,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 97,
|
||||||
|
.b = 99,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 99,
|
||||||
|
.b = 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 31,
|
||||||
|
.b = 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 43,
|
||||||
|
.b = 118,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 44,
|
||||||
|
.b = 117,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 117,
|
||||||
|
.b = 120,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 32,
|
||||||
|
.b = 118,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 32,
|
||||||
|
.b = 121,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 20,
|
||||||
|
.b = 121,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 21,
|
||||||
|
.b = 128,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 2,
|
||||||
|
.b = 129,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 3,
|
||||||
|
.b = 123,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 56,
|
||||||
|
.b = 57,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 56,
|
||||||
|
.b = 107,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 3,
|
||||||
|
.b = 21,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 162,
|
||||||
|
.b = 164,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 126,
|
||||||
|
.b = 127,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 135,
|
||||||
|
.b = 136,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 124,
|
||||||
|
.b = 129,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 132,
|
||||||
|
.b = 134,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 13,
|
||||||
|
.b = 132,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 130,
|
||||||
|
.b = 133,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 120,
|
||||||
|
.b = 131,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 81,
|
||||||
|
.b = 138,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 140,
|
||||||
|
.b = 141,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 114,
|
||||||
|
.b = 139,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 116,
|
||||||
|
.b = 138,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 143,
|
||||||
|
.b = 161,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 145,
|
||||||
|
.b = 170,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 142,
|
||||||
|
.b = 170,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 153,
|
||||||
|
.b = 156,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 156,
|
||||||
|
.b = 157,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 155,
|
||||||
|
.b = 157,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 41,
|
||||||
|
.b = 148,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 39,
|
||||||
|
.b = 149,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 149,
|
||||||
|
.b = 151,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 147,
|
||||||
|
.b = 163,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 26,
|
||||||
|
.b = 81,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 141,
|
||||||
|
.b = 166,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 150,
|
||||||
|
.b = 151,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 87,
|
||||||
|
.b = 152,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 88,
|
||||||
|
.b = 153,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 154,
|
||||||
|
.b = 160,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 142,
|
||||||
|
.b = 155,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 162,
|
||||||
|
.b = 163,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 165,
|
||||||
|
.b = 166,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 160,
|
||||||
|
.b = 164,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 140,
|
||||||
|
.b = 165,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 26,
|
||||||
|
.b = 161,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 79,
|
||||||
|
.b = 135,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 79,
|
||||||
|
.b = 168,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 0,
|
||||||
|
.b = 76,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 167,
|
||||||
|
.b = 168,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 148,
|
||||||
|
.b = 167,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 146,
|
||||||
|
.b = 169,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 137,
|
||||||
|
.b = 169,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 144,
|
||||||
|
.b = 145,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 144,
|
||||||
|
.b = 171,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 143,
|
||||||
|
.b = 171,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 154,
|
||||||
|
.b = 159,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 11,
|
||||||
|
.b = 10,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 11,
|
||||||
|
.b = 75,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 23,
|
||||||
|
.b = 68,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 23,
|
||||||
|
.b = 172,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 62,
|
||||||
|
.b = 175,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 63,
|
||||||
|
.b = 174,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 50,
|
||||||
|
.b = 55,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 55,
|
||||||
|
.b = 177,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.a = 174,
|
||||||
|
.b = 177,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct object haunted_mansion_collision_house_coll_display = {
|
||||||
|
.triangle = &haunted_mansion_collision_house_coll_display_triangle[0],
|
||||||
|
.quadrilateral = &haunted_mansion_collision_house_coll_display_quadrilateral[0],
|
||||||
|
.line = &haunted_mansion_collision_house_coll_display_line[0],
|
||||||
|
.triangle_count = 0,
|
||||||
|
.quadrilateral_count = 0,
|
||||||
|
.line_count = 178,
|
||||||
|
.material = 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct object * haunted_mansion_collision_object[] = {
|
||||||
|
&haunted_mansion_collision_house_coll_display,
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct model haunted_mansion_collision_model = {
|
||||||
|
.position = haunted_mansion_collision_position,
|
||||||
|
.texture = haunted_mansion_collision_texture,
|
||||||
|
.normal = haunted_mansion_collision_normal,
|
||||||
|
.object = haunted_mansion_collision_object,
|
||||||
|
.object_count = 1
|
||||||
|
};
|
@ -48,6 +48,9 @@ using mat4x4 = mat<4, 4, float>;
|
|||||||
#include "model/haunted_mansion/model_mansion.h"
|
#include "model/haunted_mansion/model_mansion.h"
|
||||||
#include "model/haunted_mansion/model_cone.h"
|
#include "model/haunted_mansion/model_cone.h"
|
||||||
#include "model/haunted_mansion/model_cube.h"
|
#include "model/haunted_mansion/model_cube.h"
|
||||||
|
#include "model/haunted_mansion/model_collision.h"
|
||||||
|
|
||||||
|
#define _fsrra(n) (1.0f / (__builtin_sqrtf(n)))
|
||||||
|
|
||||||
void vbr100()
|
void vbr100()
|
||||||
{
|
{
|
||||||
@ -227,6 +230,33 @@ void do_get_condition()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void global_polygon_type_0(ta_parameter_writer& writer)
|
||||||
|
{
|
||||||
|
const uint32_t parameter_control_word = para_control::para_type::polygon_or_modifier_volume
|
||||||
|
| para_control::list_type::opaque
|
||||||
|
| obj_control::col_type::packed_color
|
||||||
|
;
|
||||||
|
|
||||||
|
const uint32_t isp_tsp_instruction_word = isp_tsp_instruction_word::depth_compare_mode::always
|
||||||
|
| isp_tsp_instruction_word::culling_mode::no_culling;
|
||||||
|
|
||||||
|
const uint32_t tsp_instruction_word = tsp_instruction_word::fog_control::no_fog
|
||||||
|
| tsp_instruction_word::src_alpha_instr::one
|
||||||
|
| tsp_instruction_word::dst_alpha_instr::zero
|
||||||
|
;
|
||||||
|
|
||||||
|
const uint32_t texture_control_word = 0;
|
||||||
|
|
||||||
|
writer.append<ta_global_parameter::polygon_type_0>() =
|
||||||
|
ta_global_parameter::polygon_type_0(parameter_control_word,
|
||||||
|
isp_tsp_instruction_word,
|
||||||
|
tsp_instruction_word,
|
||||||
|
texture_control_word,
|
||||||
|
0, // data_size_for_sort_dma
|
||||||
|
0 // next_address_for_sort_dma
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
void global_polygon_type_1(ta_parameter_writer& writer,
|
void global_polygon_type_1(ta_parameter_writer& writer,
|
||||||
uint32_t texture_address,
|
uint32_t texture_address,
|
||||||
uint32_t list,
|
uint32_t list,
|
||||||
@ -331,12 +361,51 @@ static inline void render_tri(ta_parameter_writer& writer,
|
|||||||
ci);
|
ci);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void render_line(ta_parameter_writer& writer,
|
||||||
|
vec3 p1,
|
||||||
|
vec3 p2,
|
||||||
|
uint32_t base_color)
|
||||||
|
{
|
||||||
|
float dy = p2.y - p1.y;
|
||||||
|
float dx = p2.x - p1.x;
|
||||||
|
float d = _fsrra(dx * dx + dy * dy) * 0.7f;
|
||||||
|
float dy1 = dy * d;
|
||||||
|
float dx1 = dx * d;
|
||||||
|
|
||||||
|
const vec3 v[4] = {
|
||||||
|
{ p1.x + dy1, p1.y + -dx1, p1.z },
|
||||||
|
{ p1.x + -dy1, p1.y + dx1, p1.z },
|
||||||
|
{ p2.x + -dy1, p2.y + dx1, p2.z },
|
||||||
|
{ p2.x + dy1, p2.y + -dx1, p2.z },
|
||||||
|
};
|
||||||
|
|
||||||
|
writer.append<ta_vertex_parameter::polygon_type_0>() =
|
||||||
|
ta_vertex_parameter::polygon_type_0(polygon_vertex_parameter_control_word(false),
|
||||||
|
v[0].x, v[0].y, v[0].z,
|
||||||
|
base_color);
|
||||||
|
|
||||||
|
writer.append<ta_vertex_parameter::polygon_type_0>() =
|
||||||
|
ta_vertex_parameter::polygon_type_0(polygon_vertex_parameter_control_word(false),
|
||||||
|
v[1].x, v[1].y, v[1].z,
|
||||||
|
base_color);
|
||||||
|
|
||||||
|
writer.append<ta_vertex_parameter::polygon_type_0>() =
|
||||||
|
ta_vertex_parameter::polygon_type_0(polygon_vertex_parameter_control_word(false),
|
||||||
|
v[3].x, v[3].y, v[3].z,
|
||||||
|
base_color);
|
||||||
|
|
||||||
|
writer.append<ta_vertex_parameter::polygon_type_0>() =
|
||||||
|
ta_vertex_parameter::polygon_type_0(polygon_vertex_parameter_control_word(true),
|
||||||
|
v[2].x, v[2].y, v[2].z,
|
||||||
|
base_color);
|
||||||
|
}
|
||||||
|
|
||||||
constexpr inline mat4x4 screen_rotation(float theta, float x, float y)
|
constexpr inline mat4x4 screen_rotation(float theta, float x, float y)
|
||||||
{
|
{
|
||||||
//float zt = -0.7853981633974483 + (0.2);
|
//float zt = -0.7853981633974483 + (0.2);
|
||||||
float zt = -0.7853981633974483 * 0;
|
float zt = -0.7853981633974483 * 0;
|
||||||
float yt = -0.7853981633974483 * theta;
|
float yt = -0.7853981633974483 * 0;
|
||||||
float xt = 0.7853981633974483 * 4;
|
float xt = 0.7853981633974483 * 0;
|
||||||
//float xt = 0.7853981633974483 * 3.7;
|
//float xt = 0.7853981633974483 * 3.7;
|
||||||
|
|
||||||
mat4x4 rx = {
|
mat4x4 rx = {
|
||||||
@ -370,8 +439,6 @@ constexpr inline mat4x4 screen_rotation(float theta, float x, float y)
|
|||||||
return ry * t * rx * rz;
|
return ry * t * rx * rz;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define _fsrra(n) (1.0f / (__builtin_sqrtf(n)))
|
|
||||||
|
|
||||||
static inline float inverse_length(vec3 v)
|
static inline float inverse_length(vec3 v)
|
||||||
{
|
{
|
||||||
float f = dot(v, v);
|
float f = dot(v, v);
|
||||||
@ -678,22 +745,118 @@ void render_cone(ta_parameter_writer& writer, const mat4x4& cone_model)
|
|||||||
screen_transform(c));
|
screen_transform(c));
|
||||||
}
|
}
|
||||||
|
|
||||||
void transfer_scene(ta_parameter_writer& writer, const mat4x4& screen, const mat4x4& cone_model)
|
vec2 line_intersection(vec2 a1, vec2 a2,
|
||||||
|
vec2 b1, vec2 b2)
|
||||||
|
{
|
||||||
|
float x1 = a1.x;
|
||||||
|
float y1 = a1.y;
|
||||||
|
float x2 = a2.x;
|
||||||
|
float y2 = a2.y;
|
||||||
|
|
||||||
|
float x3 = b1.x;
|
||||||
|
float y3 = b1.y;
|
||||||
|
float x4 = b2.x;
|
||||||
|
float y4 = b2.y;
|
||||||
|
|
||||||
|
float x1x2 = x1 - x2;
|
||||||
|
float x1x3 = x1 - x3;
|
||||||
|
float x3x4 = x3 - x4;
|
||||||
|
float y1y2 = y1 - y2;
|
||||||
|
float y1y3 = y1 - y3;
|
||||||
|
float y3y4 = y3 - y4;
|
||||||
|
|
||||||
|
float div = 1.0f / (x1x2 * y3y4 - y1y2 * x3x4);
|
||||||
|
|
||||||
|
float t = (x1x3 * y3y4 - y1y3 * x3x4) * div;
|
||||||
|
float u = -(x1x2 * y1y3 - y1y2 * x1x3) * div;
|
||||||
|
|
||||||
|
return {t, u};
|
||||||
|
}
|
||||||
|
|
||||||
|
bool collided[256] = {};
|
||||||
|
|
||||||
|
bool line_has_collision(vec3 a1, vec3 a2, const mat4x4& model_trans, const mat4x4& screen)
|
||||||
|
{
|
||||||
|
const struct model * model = &haunted_mansion_collision_model;
|
||||||
|
const struct object * object = &haunted_mansion_collision_house_coll_display;
|
||||||
|
|
||||||
|
float tx = screen[0][3];
|
||||||
|
float ty = screen[2][3];
|
||||||
|
|
||||||
|
for (int i = 0; i < object->line_count; i++) {
|
||||||
|
|
||||||
|
const union line * line = &object->line[i];
|
||||||
|
|
||||||
|
vec3 la = model->position[line->a];
|
||||||
|
vec3 lb = model->position[line->b];
|
||||||
|
|
||||||
|
vec2 b1 = {la.x + tx, la.z + ty};
|
||||||
|
vec2 b2 = {lb.x + tx, lb.z + ty};
|
||||||
|
|
||||||
|
vec2 tu = line_intersection({a1.x, a1.y},
|
||||||
|
{a2.x, a2.y},
|
||||||
|
{b1.x, b1.y},
|
||||||
|
{b2.x, b2.y});
|
||||||
|
|
||||||
|
if (tu.x >= 0.0f && tu.x <= 1.0f && tu.y >= 0.0f && tu.y <= 1.0f) {
|
||||||
|
collided[i] = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
float last_dx = 0;
|
||||||
|
float last_dy = 0;
|
||||||
|
|
||||||
|
void render_collision(ta_parameter_writer& writer, const mat4x4& model_trans, const mat4x4& screen)
|
||||||
|
{
|
||||||
|
mat4x4 trans = screen * model_trans;
|
||||||
|
|
||||||
|
const uint32_t base_color = 0xffffffff;
|
||||||
|
|
||||||
|
const struct model * model = &haunted_mansion_collision_model;
|
||||||
|
const struct object * object = &haunted_mansion_collision_house_coll_display;
|
||||||
|
|
||||||
|
int line_count = object->line_count;
|
||||||
|
for (int i = 0; i < line_count; i++) {
|
||||||
|
|
||||||
|
const union line * line = &object->line[i];
|
||||||
|
|
||||||
|
vec3 a = trans * model->position[line->a];
|
||||||
|
vec3 b = trans * model->position[line->b];
|
||||||
|
|
||||||
|
if (a.z < 0 || b.z < 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
render_line(writer,
|
||||||
|
screen_transform(a),
|
||||||
|
screen_transform(b),
|
||||||
|
collided[i] ? 0xffff0000 : base_color);
|
||||||
|
}
|
||||||
|
|
||||||
|
vec3 a = {last_dx * -2, last_dy * -2, 1};
|
||||||
|
vec3 b = {0, 0, 1};
|
||||||
|
if (a.z > 0) {
|
||||||
|
render_line(writer,
|
||||||
|
screen_transform(a),
|
||||||
|
screen_transform(b),
|
||||||
|
0xff00ff00);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void transfer_scene(ta_parameter_writer& writer, const mat4x4& mansion_model_trans, const mat4x4& screen, const mat4x4& cone_model)
|
||||||
{
|
{
|
||||||
// opaque
|
// opaque
|
||||||
{
|
{
|
||||||
global_polygon_type_1(writer, texture_memory_alloc.texture.start,
|
global_polygon_type_1(writer,
|
||||||
|
texture_memory_alloc.texture.start,
|
||||||
para_control::list_type::opaque,
|
para_control::list_type::opaque,
|
||||||
isp_tsp_instruction_word::culling_mode::no_culling);
|
isp_tsp_instruction_word::culling_mode::no_culling);
|
||||||
float scale = 1.f;
|
render_model(writer, mansion_model_trans, screen, &mansion_model);
|
||||||
float translate = 0.f;
|
|
||||||
const mat4x4 model = {
|
global_polygon_type_0(writer);
|
||||||
scale, 0, 0, 0,
|
render_collision(writer, mansion_model_trans, screen);
|
||||||
0, scale, 0, 0,
|
|
||||||
0, 0, -scale, translate,
|
|
||||||
0, 0, 0, 1,
|
|
||||||
};
|
|
||||||
render_model(writer, model, screen, &mansion_model);
|
|
||||||
}
|
}
|
||||||
// end of opaque list
|
// end of opaque list
|
||||||
writer.append<ta_global_parameter::end_of_list>() =
|
writer.append<ta_global_parameter::end_of_list>() =
|
||||||
@ -823,7 +986,7 @@ constexpr inline mat4x4 update_cone()
|
|||||||
return mry * mrx;
|
return mry * mrx;
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr inline mat4x4 update_analog(mat4x4& screen)
|
constexpr inline mat4x4 update_analog(const mat4x4& model_trans, const mat4x4& screen)
|
||||||
{
|
{
|
||||||
const float l_ = static_cast<float>(data[0].analog_coordinate_axis[0]) * (1.f / 255.f);
|
const float l_ = static_cast<float>(data[0].analog_coordinate_axis[0]) * (1.f / 255.f);
|
||||||
const float r_ = static_cast<float>(data[0].analog_coordinate_axis[1]) * (1.f / 255.f);
|
const float r_ = static_cast<float>(data[0].analog_coordinate_axis[1]) * (1.f / 255.f);
|
||||||
@ -833,6 +996,17 @@ constexpr inline mat4x4 update_analog(mat4x4& screen)
|
|||||||
float x = 0.05f * -x_;
|
float x = 0.05f * -x_;
|
||||||
float y = 0.05f * y_;
|
float y = 0.05f * y_;
|
||||||
|
|
||||||
|
last_dx = x;
|
||||||
|
last_dy = y;
|
||||||
|
|
||||||
|
vec3 a = {last_dx * -2, last_dy * -2, 1.f};
|
||||||
|
vec3 b = {0, 0, 1.f};
|
||||||
|
|
||||||
|
if (line_has_collision(a, b, model_trans, screen)) {
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
}
|
||||||
|
|
||||||
mat4x4 t = {
|
mat4x4 t = {
|
||||||
1, 0, 0, x,
|
1, 0, 0, x,
|
||||||
0, 1, 0, 0,
|
0, 1, 0, 0,
|
||||||
@ -926,10 +1100,19 @@ void main()
|
|||||||
|
|
||||||
mat4x4 screen = screen_rotation(0, 0, 0);
|
mat4x4 screen = screen_rotation(0, 0, 0);
|
||||||
|
|
||||||
|
float scale = 1.f;
|
||||||
|
float translate = 0.f;
|
||||||
|
const mat4x4 mansion_model_trans = {
|
||||||
|
scale, 0, 0, 0,
|
||||||
|
0, -scale, 0, 0,
|
||||||
|
0, 0, scale, translate,
|
||||||
|
0, 0, 0, 1,
|
||||||
|
};
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
maple::dma_wait_complete();
|
maple::dma_wait_complete();
|
||||||
do_get_condition();
|
do_get_condition();
|
||||||
screen = update_analog(screen);
|
screen = update_analog(mansion_model_trans, screen);
|
||||||
mat4x4 cone_model = update_cone();
|
mat4x4 cone_model = update_cone();
|
||||||
|
|
||||||
ta_polygon_converter_init2(texture_memory_alloc.isp_tsp_parameters[ta].start,
|
ta_polygon_converter_init2(texture_memory_alloc.isp_tsp_parameters[ta].start,
|
||||||
@ -941,7 +1124,7 @@ void main()
|
|||||||
tile_width,
|
tile_width,
|
||||||
tile_height);
|
tile_height);
|
||||||
writer.offset = 0;
|
writer.offset = 0;
|
||||||
transfer_scene(writer, screen, cone_model);
|
transfer_scene(writer, mansion_model_trans, screen, cone_model);
|
||||||
ta_polygon_converter_writeback(writer.buf, writer.offset);
|
ta_polygon_converter_writeback(writer.buf, writer.offset);
|
||||||
ta_polygon_converter_transfer(writer.buf, writer.offset);
|
ta_polygon_converter_transfer(writer.buf, writer.offset);
|
||||||
ta_wait_opaque_modifier_volume_list();
|
ta_wait_opaque_modifier_volume_list();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user