@@ -152,38 +152,57 @@ Type LimbManager
152
152
153
153
'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
154
154
155
- Method DrawBentLimbs (drawPos:SVec2I , frameCount:Int )
155
+ Method DrawBentLimbs (drawPos:SVec2I , frameCount:Int , drawOrder: Int [ , ] )
156
156
BendLimbs(frameCount)
157
157
For Local frame:Int = 0 Until frameCount
158
- 'These might be in a specific draw-order for joint overlapping purposes
159
158
'Arm FG
160
- Local limbPart:Int = 0
161
- SetRotation(m_LimbPartAngle[ limbPart, frame] )
162
- DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
163
- limbPart = 1
164
- SetRotation(m_LimbPartAngle[ limbPart, frame] )
165
- DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
159
+ If drawOrder[ 0 , 0 ] = False Then
160
+ For Local limbPart:Int = 0 To 1
161
+ SetRotation(m_LimbPartAngle[ limbPart, frame] )
162
+ DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
163
+ Next
164
+ Else
165
+ For Local limbPart = 1 To 0 Step - 1
166
+ SetRotation(m_LimbPartAngle[ limbPart, frame] )
167
+ DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
168
+ Next
169
+ EndIf
166
170
'Arm BG
167
- limbPart = 2
168
- SetRotation(m_LimbPartAngle[ limbPart, frame] )
169
- DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
170
- limbPart = 3
171
- SetRotation(m_LimbPartAngle[ limbPart, frame] )
172
- DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
171
+ If drawOrder[ 1 , 0 ] = False Then
172
+ For Local limbPart:Int = 2 To 3
173
+ SetRotation(m_LimbPartAngle[ limbPart, frame] )
174
+ DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
175
+ Next
176
+ Else
177
+ For Local limbPart = 3 To 2 Step - 1
178
+ SetRotation(m_LimbPartAngle[ limbPart, frame] )
179
+ DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
180
+ Next
181
+ EndIf
173
182
'Leg FG
174
- limbPart = 4
175
- SetRotation(m_LimbPartAngle[ limbPart, frame] )
176
- DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
177
- limbPart = 5
178
- SetRotation(m_LimbPartAngle[ limbPart, frame] )
179
- DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
183
+ If drawOrder[ 2 , 0 ] = False Then
184
+ For Local limbPart:Int = 4 To 5
185
+ SetRotation(m_LimbPartAngle[ limbPart, frame] )
186
+ DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
187
+ Next
188
+ Else
189
+ For Local limbPart = 5 To 4 Step - 1
190
+ SetRotation(m_LimbPartAngle[ limbPart, frame] )
191
+ DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
192
+ Next
193
+ EndIf
180
194
'Leg BG
181
- limbPart = 6
182
- SetRotation(m_LimbPartAngle[ limbPart, frame] )
183
- DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
184
- limbPart = 7
185
- SetRotation(m_LimbPartAngle[ limbPart, frame] )
186
- DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
195
+ If drawOrder[ 3 , 0 ] = False Then
196
+ For Local limbPart:Int = 6 To 7
197
+ SetRotation(m_LimbPartAngle[ limbPart, frame] )
198
+ DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
199
+ Next
200
+ Else
201
+ For Local limbPart = 7 To 6 Step - 1
202
+ SetRotation(m_LimbPartAngle[ limbPart, frame] )
203
+ DrawImageRect(m_LimbPartImage[ limbPart] , m_LimbPartPosX[ limbPart, frame] + drawPos[ 0 ] , m_LimbPartPosY[ limbPart, frame] + drawPos[ 1 ] , m_LimbPartImage[ limbPart] .Width / m_InputZoom, m_LimbPartImage[ limbPart] .Height / m_InputZoom)
204
+ Next
205
+ EndIf
187
206
Next
188
207
SetRotation(0 )
189
208
EndMethod
0 commit comments