mirror of
https://github.com/ioquake/jedi-outcast.git
synced 2024-11-14 17:01:14 +00:00
8572 lines
116 KiB
NASM
8572 lines
116 KiB
NASM
data
|
|
export vec3_origin
|
|
align 4
|
|
LABELV vec3_origin
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 0
|
|
export axisDefault
|
|
align 4
|
|
LABELV axisDefault
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
export colorBlack
|
|
align 4
|
|
LABELV colorBlack
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
export colorRed
|
|
align 4
|
|
LABELV colorRed
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
export colorGreen
|
|
align 4
|
|
LABELV colorGreen
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
export colorBlue
|
|
align 4
|
|
LABELV colorBlue
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
export colorYellow
|
|
align 4
|
|
LABELV colorYellow
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
export colorMagenta
|
|
align 4
|
|
LABELV colorMagenta
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
export colorCyan
|
|
align 4
|
|
LABELV colorCyan
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
export colorWhite
|
|
align 4
|
|
LABELV colorWhite
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
export colorLtGrey
|
|
align 4
|
|
LABELV colorLtGrey
|
|
byte 4 1061158912
|
|
byte 4 1061158912
|
|
byte 4 1061158912
|
|
byte 4 1065353216
|
|
export colorMdGrey
|
|
align 4
|
|
LABELV colorMdGrey
|
|
byte 4 1056964608
|
|
byte 4 1056964608
|
|
byte 4 1056964608
|
|
byte 4 1065353216
|
|
export colorDkGrey
|
|
align 4
|
|
LABELV colorDkGrey
|
|
byte 4 1048576000
|
|
byte 4 1048576000
|
|
byte 4 1048576000
|
|
byte 4 1065353216
|
|
export colorLtBlue
|
|
align 4
|
|
LABELV colorLtBlue
|
|
byte 4 1052501869
|
|
byte 4 1048945099
|
|
byte 4 1060689150
|
|
byte 4 1065353216
|
|
export colorDkBlue
|
|
align 4
|
|
LABELV colorDkBlue
|
|
byte 4 1045153448
|
|
byte 4 0
|
|
byte 4 1053542056
|
|
byte 4 1065353216
|
|
export g_color_table
|
|
align 4
|
|
LABELV g_color_table
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
byte 4 1065353216
|
|
export bytedirs
|
|
align 4
|
|
LABELV bytedirs
|
|
byte 4 3204879951
|
|
byte 4 0
|
|
byte 4 1062847556
|
|
byte 4 3202531056
|
|
byte 4 1047828139
|
|
byte 4 1063074669
|
|
byte 4 3197577718
|
|
byte 4 0
|
|
byte 4 1064605338
|
|
byte 4 3198039930
|
|
byte 4 1056964608
|
|
byte 4 1062149053
|
|
byte 4 3190184938
|
|
byte 4 1049007711
|
|
byte 4 1064532072
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 1062847556
|
|
byte 4 1057396303
|
|
byte 4 3189189110
|
|
byte 4 1060597999
|
|
byte 4 1060013330
|
|
byte 4 1041705462
|
|
byte 4 1060597999
|
|
byte 4 1060013330
|
|
byte 4 0
|
|
byte 4 1057396303
|
|
byte 4 1062847556
|
|
byte 4 1050556282
|
|
byte 4 1056964608
|
|
byte 4 1062149053
|
|
byte 4 1057396303
|
|
byte 4 0
|
|
byte 4 1062847556
|
|
byte 4 1050094070
|
|
byte 4 0
|
|
byte 4 1064605338
|
|
byte 4 1055047408
|
|
byte 4 1047828139
|
|
byte 4 1063074669
|
|
byte 4 1042701290
|
|
byte 4 1049007711
|
|
byte 4 1064532072
|
|
byte 4 3207496978
|
|
byte 4 1041705462
|
|
byte 4 1060597999
|
|
byte 4 3209632701
|
|
byte 4 1050556282
|
|
byte 4 1056964608
|
|
byte 4 3205921044
|
|
byte 4 1054458931
|
|
byte 4 1060121929
|
|
byte 4 3210331204
|
|
byte 4 1057396303
|
|
byte 4 0
|
|
byte 4 3210558317
|
|
byte 4 1055047408
|
|
byte 4 1047828139
|
|
byte 4 3208081647
|
|
byte 4 1060013330
|
|
byte 4 1041705462
|
|
byte 4 3207605577
|
|
byte 4 1058437396
|
|
byte 4 1054458931
|
|
byte 4 3204448256
|
|
byte 4 1062149053
|
|
byte 4 1050556282
|
|
byte 4 3195311787
|
|
byte 4 1063074669
|
|
byte 4 1055047408
|
|
byte 4 3201942579
|
|
byte 4 1060121929
|
|
byte 4 1058437396
|
|
byte 4 3208081647
|
|
byte 4 1060013330
|
|
byte 4 3189189110
|
|
byte 4 3204448256
|
|
byte 4 1062149053
|
|
byte 4 3198039930
|
|
byte 4 3204879951
|
|
byte 4 1062847556
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1062847556
|
|
byte 4 3204879951
|
|
byte 4 3195311787
|
|
byte 4 1063074669
|
|
byte 4 3202531056
|
|
byte 4 0
|
|
byte 4 1064605338
|
|
byte 4 3197577718
|
|
byte 4 3196491359
|
|
byte 4 1064532072
|
|
byte 4 3190184938
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1064605338
|
|
byte 4 1050094070
|
|
byte 4 3196491359
|
|
byte 4 1064532072
|
|
byte 4 1042701290
|
|
byte 4 1047828139
|
|
byte 4 1063074669
|
|
byte 4 1055047408
|
|
byte 4 1049007711
|
|
byte 4 1064532072
|
|
byte 4 1042701290
|
|
byte 4 1056964608
|
|
byte 4 1062149053
|
|
byte 4 1050556282
|
|
byte 4 1047828139
|
|
byte 4 1063074669
|
|
byte 4 3202531056
|
|
byte 4 1049007711
|
|
byte 4 1064532072
|
|
byte 4 3190184938
|
|
byte 4 1056964608
|
|
byte 4 1062149053
|
|
byte 4 3198039930
|
|
byte 4 1062847556
|
|
byte 4 1057396303
|
|
byte 4 0
|
|
byte 4 1060597999
|
|
byte 4 1060013330
|
|
byte 4 1041705462
|
|
byte 4 1060597999
|
|
byte 4 1060013330
|
|
byte 4 3189189110
|
|
byte 4 1057396303
|
|
byte 4 1062847556
|
|
byte 4 0
|
|
byte 4 1054458931
|
|
byte 4 1060121929
|
|
byte 4 1058437396
|
|
byte 4 1063074669
|
|
byte 4 1055047408
|
|
byte 4 1047828139
|
|
byte 4 1060121929
|
|
byte 4 1058437396
|
|
byte 4 1054458931
|
|
byte 4 1062149053
|
|
byte 4 1050556282
|
|
byte 4 1056964608
|
|
byte 4 1060013330
|
|
byte 4 1041705462
|
|
byte 4 1060597999
|
|
byte 4 1058437396
|
|
byte 4 1054458931
|
|
byte 4 1060121929
|
|
byte 4 1064605338
|
|
byte 4 1050094070
|
|
byte 4 0
|
|
byte 4 1065353216
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1064532072
|
|
byte 4 1042701290
|
|
byte 4 1049007711
|
|
byte 4 1062847556
|
|
byte 4 3204879951
|
|
byte 4 0
|
|
byte 4 1064605338
|
|
byte 4 3197577718
|
|
byte 4 0
|
|
byte 4 1063074669
|
|
byte 4 3202531056
|
|
byte 4 1047828139
|
|
byte 4 1064532072
|
|
byte 4 3190184938
|
|
byte 4 1049007711
|
|
byte 4 1062149053
|
|
byte 4 3198039930
|
|
byte 4 1056964608
|
|
byte 4 1060013330
|
|
byte 4 3189189110
|
|
byte 4 1060597999
|
|
byte 4 1062847556
|
|
byte 4 0
|
|
byte 4 1057396303
|
|
byte 4 1063074669
|
|
byte 4 1055047408
|
|
byte 4 3195311787
|
|
byte 4 1062149053
|
|
byte 4 1050556282
|
|
byte 4 3204448256
|
|
byte 4 1064532072
|
|
byte 4 1042701290
|
|
byte 4 3196491359
|
|
byte 4 1057396303
|
|
byte 4 0
|
|
byte 4 3210331204
|
|
byte 4 1060013330
|
|
byte 4 1041705462
|
|
byte 4 3208081647
|
|
byte 4 1060013330
|
|
byte 4 3189189110
|
|
byte 4 3208081647
|
|
byte 4 1062847556
|
|
byte 4 0
|
|
byte 4 3204879951
|
|
byte 4 1062149053
|
|
byte 4 3198039930
|
|
byte 4 3204448256
|
|
byte 4 1063074669
|
|
byte 4 3202531056
|
|
byte 4 3195311787
|
|
byte 4 1064532072
|
|
byte 4 3190184938
|
|
byte 4 3196491359
|
|
byte 4 1041705462
|
|
byte 4 1060597999
|
|
byte 4 3207496978
|
|
byte 4 1050556282
|
|
byte 4 1056964608
|
|
byte 4 3209632701
|
|
byte 4 1054458931
|
|
byte 4 1060121929
|
|
byte 4 3205921044
|
|
byte 4 1055047408
|
|
byte 4 1047828139
|
|
byte 4 3210558317
|
|
byte 4 1058437396
|
|
byte 4 1054458931
|
|
byte 4 3207605577
|
|
byte 4 1060121929
|
|
byte 4 1058437396
|
|
byte 4 3201942579
|
|
byte 4 3189189110
|
|
byte 4 1060597999
|
|
byte 4 3207496978
|
|
byte 4 3198039930
|
|
byte 4 1056964608
|
|
byte 4 3209632701
|
|
byte 4 0
|
|
byte 4 1057396303
|
|
byte 4 3210331204
|
|
byte 4 3204879951
|
|
byte 4 0
|
|
byte 4 3210331204
|
|
byte 4 3202531056
|
|
byte 4 1047828139
|
|
byte 4 3210558317
|
|
byte 4 3197577718
|
|
byte 4 0
|
|
byte 4 3212088986
|
|
byte 4 3190184938
|
|
byte 4 1049007711
|
|
byte 4 3212015720
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 3212836864
|
|
byte 4 1050094070
|
|
byte 4 0
|
|
byte 4 3212088986
|
|
byte 4 1042701290
|
|
byte 4 1049007711
|
|
byte 4 3212015720
|
|
byte 4 3202531056
|
|
byte 4 3195311787
|
|
byte 4 3210558317
|
|
byte 4 3198039930
|
|
byte 4 3204448256
|
|
byte 4 3209632701
|
|
byte 4 3190184938
|
|
byte 4 3196491359
|
|
byte 4 3212015720
|
|
byte 4 0
|
|
byte 4 3210331204
|
|
byte 4 3204879951
|
|
byte 4 3189189110
|
|
byte 4 3208081647
|
|
byte 4 3207496978
|
|
byte 4 1041705462
|
|
byte 4 3208081647
|
|
byte 4 3207496978
|
|
byte 4 0
|
|
byte 4 3204879951
|
|
byte 4 3210331204
|
|
byte 4 1050556282
|
|
byte 4 3204448256
|
|
byte 4 3209632701
|
|
byte 4 1055047408
|
|
byte 4 3195311787
|
|
byte 4 3210558317
|
|
byte 4 1042701290
|
|
byte 4 3196491359
|
|
byte 4 3212015720
|
|
byte 4 1047828139
|
|
byte 4 3210558317
|
|
byte 4 3202531056
|
|
byte 4 1056964608
|
|
byte 4 3209632701
|
|
byte 4 3198039930
|
|
byte 4 1054458931
|
|
byte 4 3207605577
|
|
byte 4 3205921044
|
|
byte 4 1060597999
|
|
byte 4 3207496978
|
|
byte 4 3189189110
|
|
byte 4 1060121929
|
|
byte 4 3205921044
|
|
byte 4 3201942579
|
|
byte 4 1058437396
|
|
byte 4 3201942579
|
|
byte 4 3207605577
|
|
byte 4 0
|
|
byte 4 3212088986
|
|
byte 4 3197577718
|
|
byte 4 0
|
|
byte 4 3212836864
|
|
byte 4 0
|
|
byte 4 1049007711
|
|
byte 4 3212015720
|
|
byte 4 3190184938
|
|
byte 4 0
|
|
byte 4 3210331204
|
|
byte 4 1057396303
|
|
byte 4 0
|
|
byte 4 3212088986
|
|
byte 4 1050094070
|
|
byte 4 1047828139
|
|
byte 4 3210558317
|
|
byte 4 1055047408
|
|
byte 4 1049007711
|
|
byte 4 3212015720
|
|
byte 4 1042701290
|
|
byte 4 1056964608
|
|
byte 4 3209632701
|
|
byte 4 1050556282
|
|
byte 4 1060597999
|
|
byte 4 3207496978
|
|
byte 4 1041705462
|
|
byte 4 1057396303
|
|
byte 4 3210331204
|
|
byte 4 0
|
|
byte 4 3195311787
|
|
byte 4 3210558317
|
|
byte 4 3202531056
|
|
byte 4 3204448256
|
|
byte 4 3209632701
|
|
byte 4 3198039930
|
|
byte 4 3196491359
|
|
byte 4 3212015720
|
|
byte 4 3190184938
|
|
byte 4 3210331204
|
|
byte 4 3204879951
|
|
byte 4 0
|
|
byte 4 3208081647
|
|
byte 4 3207496978
|
|
byte 4 3189189110
|
|
byte 4 3208081647
|
|
byte 4 3207496978
|
|
byte 4 1041705462
|
|
byte 4 3204879951
|
|
byte 4 3210331204
|
|
byte 4 0
|
|
byte 4 3204448256
|
|
byte 4 3209632701
|
|
byte 4 1050556282
|
|
byte 4 3195311787
|
|
byte 4 3210558317
|
|
byte 4 1055047408
|
|
byte 4 3196491359
|
|
byte 4 3212015720
|
|
byte 4 1042701290
|
|
byte 4 3210558317
|
|
byte 4 3202531056
|
|
byte 4 1047828139
|
|
byte 4 3209632701
|
|
byte 4 3198039930
|
|
byte 4 1056964608
|
|
byte 4 3207605577
|
|
byte 4 3205921044
|
|
byte 4 1054458931
|
|
byte 4 3207496978
|
|
byte 4 3189189110
|
|
byte 4 1060597999
|
|
byte 4 3202531056
|
|
byte 4 3195311787
|
|
byte 4 1063074669
|
|
byte 4 3205921044
|
|
byte 4 3201942579
|
|
byte 4 1060121929
|
|
byte 4 3198039930
|
|
byte 4 3204448256
|
|
byte 4 1062149053
|
|
byte 4 3189189110
|
|
byte 4 3208081647
|
|
byte 4 1060013330
|
|
byte 4 3201942579
|
|
byte 4 3207605577
|
|
byte 4 1058437396
|
|
byte 4 3190184938
|
|
byte 4 3196491359
|
|
byte 4 1064532072
|
|
byte 4 1055047408
|
|
byte 4 3195311787
|
|
byte 4 1063074669
|
|
byte 4 1042701290
|
|
byte 4 3196491359
|
|
byte 4 1064532072
|
|
byte 4 1050556282
|
|
byte 4 3204448256
|
|
byte 4 1062149053
|
|
byte 4 1041705462
|
|
byte 4 3208081647
|
|
byte 4 1060013330
|
|
byte 4 0
|
|
byte 4 3204879951
|
|
byte 4 1062847556
|
|
byte 4 1054458931
|
|
byte 4 3207605577
|
|
byte 4 1058437396
|
|
byte 4 1058437396
|
|
byte 4 3201942579
|
|
byte 4 1060121929
|
|
byte 4 1060121929
|
|
byte 4 3205921044
|
|
byte 4 1054458931
|
|
byte 4 3212088986
|
|
byte 4 1050094070
|
|
byte 4 0
|
|
byte 4 3212015720
|
|
byte 4 1042701290
|
|
byte 4 1049007711
|
|
byte 4 3212836864
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 3210331204
|
|
byte 4 0
|
|
byte 4 1057396303
|
|
byte 4 3212088986
|
|
byte 4 3197577718
|
|
byte 4 0
|
|
byte 4 3212015720
|
|
byte 4 3190184938
|
|
byte 4 1049007711
|
|
byte 4 3210558317
|
|
byte 4 1055047408
|
|
byte 4 3195311787
|
|
byte 4 3212015720
|
|
byte 4 1042701290
|
|
byte 4 3196491359
|
|
byte 4 3209632701
|
|
byte 4 1050556282
|
|
byte 4 3204448256
|
|
byte 4 3210558317
|
|
byte 4 3202531056
|
|
byte 4 3195311787
|
|
byte 4 3212015720
|
|
byte 4 3190184938
|
|
byte 4 3196491359
|
|
byte 4 3209632701
|
|
byte 4 3198039930
|
|
byte 4 3204448256
|
|
byte 4 3207496978
|
|
byte 4 1041705462
|
|
byte 4 3208081647
|
|
byte 4 3207496978
|
|
byte 4 3189189110
|
|
byte 4 3208081647
|
|
byte 4 3210331204
|
|
byte 4 0
|
|
byte 4 3204879951
|
|
byte 4 3207605577
|
|
byte 4 1058437396
|
|
byte 4 3201942579
|
|
byte 4 3205921044
|
|
byte 4 1054458931
|
|
byte 4 3207605577
|
|
byte 4 3201942579
|
|
byte 4 1060121929
|
|
byte 4 3205921044
|
|
byte 4 3201942579
|
|
byte 4 3207605577
|
|
byte 4 3205921044
|
|
byte 4 3205921044
|
|
byte 4 3201942579
|
|
byte 4 3207605577
|
|
byte 4 3207605577
|
|
byte 4 3205921044
|
|
byte 4 3201942579
|
|
export Q_rand
|
|
code
|
|
proc Q_rand 4 0
|
|
file "../../game/q_math.c"
|
|
line 126
|
|
;1:// Copyright (C) 1999-2000 Id Software, Inc.
|
|
;2://
|
|
;3:// q_math.c -- stateless support routines that are included in each code module
|
|
;4:#include "q_shared.h"
|
|
;5:
|
|
;6:
|
|
;7:vec3_t vec3_origin = {0,0,0};
|
|
;8:vec3_t axisDefault[3] = { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } };
|
|
;9:
|
|
;10:
|
|
;11:vec4_t colorBlack = {0, 0, 0, 1};
|
|
;12:vec4_t colorRed = {1, 0, 0, 1};
|
|
;13:vec4_t colorGreen = {0, 1, 0, 1};
|
|
;14:vec4_t colorBlue = {0, 0, 1, 1};
|
|
;15:vec4_t colorYellow = {1, 1, 0, 1};
|
|
;16:vec4_t colorMagenta= {1, 0, 1, 1};
|
|
;17:vec4_t colorCyan = {0, 1, 1, 1};
|
|
;18:vec4_t colorWhite = {1, 1, 1, 1};
|
|
;19:vec4_t colorLtGrey = {0.75, 0.75, 0.75, 1};
|
|
;20:vec4_t colorMdGrey = {0.5, 0.5, 0.5, 1};
|
|
;21:vec4_t colorDkGrey = {0.25, 0.25, 0.25, 1};
|
|
;22:
|
|
;23:vec4_t colorLtBlue = {0.367f, 0.261f, 0.722f, 1};
|
|
;24:vec4_t colorDkBlue = {0.199f, 0.0f, 0.398f, 1};
|
|
;25:
|
|
;26:vec4_t g_color_table[8] =
|
|
;27: {
|
|
;28: {0.0, 0.0, 0.0, 1.0},
|
|
;29: {1.0, 0.0, 0.0, 1.0},
|
|
;30: {0.0, 1.0, 0.0, 1.0},
|
|
;31: {1.0, 1.0, 0.0, 1.0},
|
|
;32: {0.0, 0.0, 1.0, 1.0},
|
|
;33: {0.0, 1.0, 1.0, 1.0},
|
|
;34: {1.0, 0.0, 1.0, 1.0},
|
|
;35: {1.0, 1.0, 1.0, 1.0},
|
|
;36: };
|
|
;37:
|
|
;38:
|
|
;39:vec3_t bytedirs[NUMVERTEXNORMALS] =
|
|
;40:{
|
|
;41:{-0.525731f, 0.000000f, 0.850651f}, {-0.442863f, 0.238856f, 0.864188f},
|
|
;42:{-0.295242f, 0.000000f, 0.955423f}, {-0.309017f, 0.500000f, 0.809017f},
|
|
;43:{-0.162460f, 0.262866f, 0.951056f}, {0.000000f, 0.000000f, 1.000000f},
|
|
;44:{0.000000f, 0.850651f, 0.525731f}, {-0.147621f, 0.716567f, 0.681718f},
|
|
;45:{0.147621f, 0.716567f, 0.681718f}, {0.000000f, 0.525731f, 0.850651f},
|
|
;46:{0.309017f, 0.500000f, 0.809017f}, {0.525731f, 0.000000f, 0.850651f},
|
|
;47:{0.295242f, 0.000000f, 0.955423f}, {0.442863f, 0.238856f, 0.864188f},
|
|
;48:{0.162460f, 0.262866f, 0.951056f}, {-0.681718f, 0.147621f, 0.716567f},
|
|
;49:{-0.809017f, 0.309017f, 0.500000f},{-0.587785f, 0.425325f, 0.688191f},
|
|
;50:{-0.850651f, 0.525731f, 0.000000f},{-0.864188f, 0.442863f, 0.238856f},
|
|
;51:{-0.716567f, 0.681718f, 0.147621f},{-0.688191f, 0.587785f, 0.425325f},
|
|
;52:{-0.500000f, 0.809017f, 0.309017f}, {-0.238856f, 0.864188f, 0.442863f},
|
|
;53:{-0.425325f, 0.688191f, 0.587785f}, {-0.716567f, 0.681718f, -0.147621f},
|
|
;54:{-0.500000f, 0.809017f, -0.309017f}, {-0.525731f, 0.850651f, 0.000000f},
|
|
;55:{0.000000f, 0.850651f, -0.525731f}, {-0.238856f, 0.864188f, -0.442863f},
|
|
;56:{0.000000f, 0.955423f, -0.295242f}, {-0.262866f, 0.951056f, -0.162460f},
|
|
;57:{0.000000f, 1.000000f, 0.000000f}, {0.000000f, 0.955423f, 0.295242f},
|
|
;58:{-0.262866f, 0.951056f, 0.162460f}, {0.238856f, 0.864188f, 0.442863f},
|
|
;59:{0.262866f, 0.951056f, 0.162460f}, {0.500000f, 0.809017f, 0.309017f},
|
|
;60:{0.238856f, 0.864188f, -0.442863f},{0.262866f, 0.951056f, -0.162460f},
|
|
;61:{0.500000f, 0.809017f, -0.309017f},{0.850651f, 0.525731f, 0.000000f},
|
|
;62:{0.716567f, 0.681718f, 0.147621f}, {0.716567f, 0.681718f, -0.147621f},
|
|
;63:{0.525731f, 0.850651f, 0.000000f}, {0.425325f, 0.688191f, 0.587785f},
|
|
;64:{0.864188f, 0.442863f, 0.238856f}, {0.688191f, 0.587785f, 0.425325f},
|
|
;65:{0.809017f, 0.309017f, 0.500000f}, {0.681718f, 0.147621f, 0.716567f},
|
|
;66:{0.587785f, 0.425325f, 0.688191f}, {0.955423f, 0.295242f, 0.000000f},
|
|
;67:{1.000000f, 0.000000f, 0.000000f}, {0.951056f, 0.162460f, 0.262866f},
|
|
;68:{0.850651f, -0.525731f, 0.000000f},{0.955423f, -0.295242f, 0.000000f},
|
|
;69:{0.864188f, -0.442863f, 0.238856f}, {0.951056f, -0.162460f, 0.262866f},
|
|
;70:{0.809017f, -0.309017f, 0.500000f}, {0.681718f, -0.147621f, 0.716567f},
|
|
;71:{0.850651f, 0.000000f, 0.525731f}, {0.864188f, 0.442863f, -0.238856f},
|
|
;72:{0.809017f, 0.309017f, -0.500000f}, {0.951056f, 0.162460f, -0.262866f},
|
|
;73:{0.525731f, 0.000000f, -0.850651f}, {0.681718f, 0.147621f, -0.716567f},
|
|
;74:{0.681718f, -0.147621f, -0.716567f},{0.850651f, 0.000000f, -0.525731f},
|
|
;75:{0.809017f, -0.309017f, -0.500000f}, {0.864188f, -0.442863f, -0.238856f},
|
|
;76:{0.951056f, -0.162460f, -0.262866f}, {0.147621f, 0.716567f, -0.681718f},
|
|
;77:{0.309017f, 0.500000f, -0.809017f}, {0.425325f, 0.688191f, -0.587785f},
|
|
;78:{0.442863f, 0.238856f, -0.864188f}, {0.587785f, 0.425325f, -0.688191f},
|
|
;79:{0.688191f, 0.587785f, -0.425325f}, {-0.147621f, 0.716567f, -0.681718f},
|
|
;80:{-0.309017f, 0.500000f, -0.809017f}, {0.000000f, 0.525731f, -0.850651f},
|
|
;81:{-0.525731f, 0.000000f, -0.850651f}, {-0.442863f, 0.238856f, -0.864188f},
|
|
;82:{-0.295242f, 0.000000f, -0.955423f}, {-0.162460f, 0.262866f, -0.951056f},
|
|
;83:{0.000000f, 0.000000f, -1.000000f}, {0.295242f, 0.000000f, -0.955423f},
|
|
;84:{0.162460f, 0.262866f, -0.951056f}, {-0.442863f, -0.238856f, -0.864188f},
|
|
;85:{-0.309017f, -0.500000f, -0.809017f}, {-0.162460f, -0.262866f, -0.951056f},
|
|
;86:{0.000000f, -0.850651f, -0.525731f}, {-0.147621f, -0.716567f, -0.681718f},
|
|
;87:{0.147621f, -0.716567f, -0.681718f}, {0.000000f, -0.525731f, -0.850651f},
|
|
;88:{0.309017f, -0.500000f, -0.809017f}, {0.442863f, -0.238856f, -0.864188f},
|
|
;89:{0.162460f, -0.262866f, -0.951056f}, {0.238856f, -0.864188f, -0.442863f},
|
|
;90:{0.500000f, -0.809017f, -0.309017f}, {0.425325f, -0.688191f, -0.587785f},
|
|
;91:{0.716567f, -0.681718f, -0.147621f}, {0.688191f, -0.587785f, -0.425325f},
|
|
;92:{0.587785f, -0.425325f, -0.688191f}, {0.000000f, -0.955423f, -0.295242f},
|
|
;93:{0.000000f, -1.000000f, 0.000000f}, {0.262866f, -0.951056f, -0.162460f},
|
|
;94:{0.000000f, -0.850651f, 0.525731f}, {0.000000f, -0.955423f, 0.295242f},
|
|
;95:{0.238856f, -0.864188f, 0.442863f}, {0.262866f, -0.951056f, 0.162460f},
|
|
;96:{0.500000f, -0.809017f, 0.309017f}, {0.716567f, -0.681718f, 0.147621f},
|
|
;97:{0.525731f, -0.850651f, 0.000000f}, {-0.238856f, -0.864188f, -0.442863f},
|
|
;98:{-0.500000f, -0.809017f, -0.309017f}, {-0.262866f, -0.951056f, -0.162460f},
|
|
;99:{-0.850651f, -0.525731f, 0.000000f}, {-0.716567f, -0.681718f, -0.147621f},
|
|
;100:{-0.716567f, -0.681718f, 0.147621f}, {-0.525731f, -0.850651f, 0.000000f},
|
|
;101:{-0.500000f, -0.809017f, 0.309017f}, {-0.238856f, -0.864188f, 0.442863f},
|
|
;102:{-0.262866f, -0.951056f, 0.162460f}, {-0.864188f, -0.442863f, 0.238856f},
|
|
;103:{-0.809017f, -0.309017f, 0.500000f}, {-0.688191f, -0.587785f, 0.425325f},
|
|
;104:{-0.681718f, -0.147621f, 0.716567f}, {-0.442863f, -0.238856f, 0.864188f},
|
|
;105:{-0.587785f, -0.425325f, 0.688191f}, {-0.309017f, -0.500000f, 0.809017f},
|
|
;106:{-0.147621f, -0.716567f, 0.681718f}, {-0.425325f, -0.688191f, 0.587785f},
|
|
;107:{-0.162460f, -0.262866f, 0.951056f}, {0.442863f, -0.238856f, 0.864188f},
|
|
;108:{0.162460f, -0.262866f, 0.951056f}, {0.309017f, -0.500000f, 0.809017f},
|
|
;109:{0.147621f, -0.716567f, 0.681718f}, {0.000000f, -0.525731f, 0.850651f},
|
|
;110:{0.425325f, -0.688191f, 0.587785f}, {0.587785f, -0.425325f, 0.688191f},
|
|
;111:{0.688191f, -0.587785f, 0.425325f}, {-0.955423f, 0.295242f, 0.000000f},
|
|
;112:{-0.951056f, 0.162460f, 0.262866f}, {-1.000000f, 0.000000f, 0.000000f},
|
|
;113:{-0.850651f, 0.000000f, 0.525731f}, {-0.955423f, -0.295242f, 0.000000f},
|
|
;114:{-0.951056f, -0.162460f, 0.262866f}, {-0.864188f, 0.442863f, -0.238856f},
|
|
;115:{-0.951056f, 0.162460f, -0.262866f}, {-0.809017f, 0.309017f, -0.500000f},
|
|
;116:{-0.864188f, -0.442863f, -0.238856f}, {-0.951056f, -0.162460f, -0.262866f},
|
|
;117:{-0.809017f, -0.309017f, -0.500000f}, {-0.681718f, 0.147621f, -0.716567f},
|
|
;118:{-0.681718f, -0.147621f, -0.716567f}, {-0.850651f, 0.000000f, -0.525731f},
|
|
;119:{-0.688191f, 0.587785f, -0.425325f}, {-0.587785f, 0.425325f, -0.688191f},
|
|
;120:{-0.425325f, 0.688191f, -0.587785f}, {-0.425325f, -0.688191f, -0.587785f},
|
|
;121:{-0.587785f, -0.425325f, -0.688191f}, {-0.688191f, -0.587785f, -0.425325f}
|
|
;122:};
|
|
;123:
|
|
;124://==============================================================
|
|
;125:
|
|
;126:int Q_rand( int *seed ) {
|
|
line 127
|
|
;127: *seed = (69069 * *seed + 1);
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 69069
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
MULI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 128
|
|
;128: return *seed;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
RETI4
|
|
LABELV $36
|
|
endproc Q_rand 4 0
|
|
export Q_random
|
|
proc Q_random 4 4
|
|
line 131
|
|
;129:}
|
|
;130:
|
|
;131:float Q_random( int *seed ) {
|
|
line 132
|
|
;132: return ( Q_rand( seed ) & 0xffff ) / (float)0x10000;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ADDRGP4 Q_rand
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 65535
|
|
BANDI4
|
|
CVIF4 4
|
|
CNSTF4 1199570944
|
|
DIVF4
|
|
RETF4
|
|
LABELV $37
|
|
endproc Q_random 4 4
|
|
export Q_crandom
|
|
proc Q_crandom 4 4
|
|
line 135
|
|
;133:}
|
|
;134:
|
|
;135:float Q_crandom( int *seed ) {
|
|
line 136
|
|
;136: return 2.0 * ( Q_random( seed ) - 0.5 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ADDRGP4 Q_random
|
|
CALLF4
|
|
ASGNF4
|
|
CNSTF4 1073741824
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 1056964608
|
|
SUBF4
|
|
MULF4
|
|
RETF4
|
|
LABELV $38
|
|
endproc Q_crandom 4 4
|
|
export VectorCompare
|
|
proc VectorCompare 16 0
|
|
line 141
|
|
;137:}
|
|
;138:
|
|
;139:#ifdef __LCC__
|
|
;140:
|
|
;141:int VectorCompare( const vec3_t v1, const vec3_t v2 ) {
|
|
line 142
|
|
;142: if (v1[0] != v2[0] || v1[1] != v2[1] || v1[2] != v2[2]) {
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
NEF4 $43
|
|
ADDRLP4 8
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
NEF4 $43
|
|
ADDRLP4 12
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
EQF4 $40
|
|
LABELV $43
|
|
line 143
|
|
;143: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $39
|
|
JUMPV
|
|
LABELV $40
|
|
line 145
|
|
;144: }
|
|
;145: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $39
|
|
endproc VectorCompare 16 0
|
|
export VectorLength
|
|
proc VectorLength 20 4
|
|
line 148
|
|
;146:}
|
|
;147:
|
|
;148:vec_t VectorLength( const vec3_t v ) {
|
|
line 149
|
|
;149: return (vec_t)sqrt (v[0]*v[0] + v[1]*v[1] + v[2]*v[2]);
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ARGF4
|
|
ADDRLP4 16
|
|
ADDRGP4 sqrt
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $44
|
|
endproc VectorLength 20 4
|
|
export VectorLengthSquared
|
|
proc VectorLengthSquared 16 0
|
|
line 152
|
|
;150:}
|
|
;151:
|
|
;152:vec_t VectorLengthSquared( const vec3_t v ) {
|
|
line 153
|
|
;153: return (v[0]*v[0] + v[1]*v[1] + v[2]*v[2]);
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
RETF4
|
|
LABELV $45
|
|
endproc VectorLengthSquared 16 0
|
|
export Distance
|
|
proc Distance 32 4
|
|
line 156
|
|
;154:}
|
|
;155:
|
|
;156:vec_t Distance( const vec3_t p1, const vec3_t p2 ) {
|
|
line 159
|
|
;157: vec3_t v;
|
|
;158:
|
|
;159: VectorSubtract (p2, p1, v);
|
|
ADDRLP4 12
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 20
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 0+4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 24
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 0+8
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 160
|
|
;160: return VectorLength( v );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 28
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $46
|
|
endproc Distance 32 4
|
|
export DistanceSquared
|
|
proc DistanceSquared 32 0
|
|
line 163
|
|
;161:}
|
|
;162:
|
|
;163:vec_t DistanceSquared( const vec3_t p1, const vec3_t p2 ) {
|
|
line 166
|
|
;164: vec3_t v;
|
|
;165:
|
|
;166: VectorSubtract (p2, p1, v);
|
|
ADDRLP4 12
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 20
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 0+4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 24
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 0+8
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 167
|
|
;167: return v[0]*v[0] + v[1]*v[1] + v[2]*v[2];
|
|
ADDRLP4 28
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 0+8
|
|
INDIRF4
|
|
ADDRLP4 0+8
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
RETF4
|
|
LABELV $49
|
|
endproc DistanceSquared 32 0
|
|
export VectorNormalizeFast
|
|
proc VectorNormalizeFast 36 4
|
|
line 173
|
|
;168:}
|
|
;169:
|
|
;170:// fast vector normalize routine that does not check to make sure
|
|
;171:// that length != 0, nor does it return length, uses rsqrt approximation
|
|
;172:void VectorNormalizeFast( vec3_t v )
|
|
;173:{
|
|
line 176
|
|
;174: float ilength;
|
|
;175:
|
|
;176: ilength = Q_rsqrt( DotProduct( v, v ) );
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 16
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ARGF4
|
|
ADDRLP4 20
|
|
ADDRGP4 Q_rsqrt
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ASGNF4
|
|
line 178
|
|
;177:
|
|
;178: v[0] *= ilength;
|
|
ADDRLP4 24
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 179
|
|
;179: v[1] *= ilength;
|
|
ADDRLP4 28
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 180
|
|
;180: v[2] *= ilength;
|
|
ADDRLP4 32
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 181
|
|
;181:}
|
|
LABELV $56
|
|
endproc VectorNormalizeFast 36 4
|
|
export VectorInverse
|
|
proc VectorInverse 12 0
|
|
line 183
|
|
;182:
|
|
;183:void VectorInverse( vec3_t v ){
|
|
line 184
|
|
;184: v[0] = -v[0];
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
NEGF4
|
|
ASGNF4
|
|
line 185
|
|
;185: v[1] = -v[1];
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
NEGF4
|
|
ASGNF4
|
|
line 186
|
|
;186: v[2] = -v[2];
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRF4
|
|
NEGF4
|
|
ASGNF4
|
|
line 187
|
|
;187:}
|
|
LABELV $57
|
|
endproc VectorInverse 12 0
|
|
export CrossProduct
|
|
proc CrossProduct 40 0
|
|
line 189
|
|
;188:
|
|
;189:void CrossProduct( const vec3_t v1, const vec3_t v2, vec3_t cross ) {
|
|
line 190
|
|
;190: cross[0] = v1[1]*v2[2] - v1[2]*v2[1];
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 191
|
|
;191: cross[1] = v1[2]*v2[0] - v1[0]*v2[2];
|
|
ADDRLP4 16
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 192
|
|
;192: cross[2] = v1[0]*v2[1] - v1[1]*v2[0];
|
|
ADDRLP4 28
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 32
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 36
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 193
|
|
;193:}
|
|
LABELV $58
|
|
endproc CrossProduct 40 0
|
|
export ClampChar
|
|
proc ClampChar 0 0
|
|
line 198
|
|
;194:#endif
|
|
;195:
|
|
;196://=======================================================
|
|
;197:
|
|
;198:signed char ClampChar( int i ) {
|
|
line 199
|
|
;199: if ( i < -128 ) {
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 -128
|
|
GEI4 $60
|
|
line 200
|
|
;200: return -128;
|
|
CNSTI4 -128
|
|
RETI4
|
|
ADDRGP4 $59
|
|
JUMPV
|
|
LABELV $60
|
|
line 202
|
|
;201: }
|
|
;202: if ( i > 127 ) {
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 127
|
|
LEI4 $62
|
|
line 203
|
|
;203: return 127;
|
|
CNSTI4 127
|
|
RETI4
|
|
ADDRGP4 $59
|
|
JUMPV
|
|
LABELV $62
|
|
line 205
|
|
;204: }
|
|
;205: return i;
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CVII1 4
|
|
CVII4 1
|
|
RETI4
|
|
LABELV $59
|
|
endproc ClampChar 0 0
|
|
export ClampShort
|
|
proc ClampShort 0 0
|
|
line 208
|
|
;206:}
|
|
;207:
|
|
;208:signed short ClampShort( int i ) {
|
|
line 209
|
|
;209: if ( i < -32768 ) {
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 -32768
|
|
GEI4 $65
|
|
line 210
|
|
;210: return -32768;
|
|
CNSTI4 -32768
|
|
RETI4
|
|
ADDRGP4 $64
|
|
JUMPV
|
|
LABELV $65
|
|
line 212
|
|
;211: }
|
|
;212: if ( i > 0x7fff ) {
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 32767
|
|
LEI4 $67
|
|
line 213
|
|
;213: return 0x7fff;
|
|
CNSTI4 32767
|
|
RETI4
|
|
ADDRGP4 $64
|
|
JUMPV
|
|
LABELV $67
|
|
line 215
|
|
;214: }
|
|
;215: return i;
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CVII2 4
|
|
CVII4 2
|
|
RETI4
|
|
LABELV $64
|
|
endproc ClampShort 0 0
|
|
export DirToByte
|
|
proc DirToByte 24 0
|
|
line 220
|
|
;216:}
|
|
;217:
|
|
;218:
|
|
;219:// this isn't a real cheap function to call!
|
|
;220:int DirToByte( vec3_t dir ) {
|
|
line 224
|
|
;221: int i, best;
|
|
;222: float d, bestd;
|
|
;223:
|
|
;224: if ( !dir ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $70
|
|
line 225
|
|
;225: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $69
|
|
JUMPV
|
|
LABELV $70
|
|
line 228
|
|
;226: }
|
|
;227:
|
|
;228: bestd = 0;
|
|
ADDRLP4 8
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 229
|
|
;229: best = 0;
|
|
ADDRLP4 12
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 230
|
|
;230: for (i=0 ; i<NUMVERTEXNORMALS ; i++)
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $72
|
|
line 231
|
|
;231: {
|
|
line 232
|
|
;232: d = DotProduct (dir, bytedirs[i]);
|
|
ADDRLP4 16
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
CNSTI4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDRGP4 bytedirs
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDRGP4 bytedirs+4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDRGP4 bytedirs+8
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 233
|
|
;233: if (d > bestd)
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
LEF4 $78
|
|
line 234
|
|
;234: {
|
|
line 235
|
|
;235: bestd = d;
|
|
ADDRLP4 8
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 236
|
|
;236: best = i;
|
|
ADDRLP4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 237
|
|
;237: }
|
|
LABELV $78
|
|
line 238
|
|
;238: }
|
|
LABELV $73
|
|
line 230
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 162
|
|
LTI4 $72
|
|
line 240
|
|
;239:
|
|
;240: return best;
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
RETI4
|
|
LABELV $69
|
|
endproc DirToByte 24 0
|
|
export ByteToDir
|
|
proc ByteToDir 4 0
|
|
line 243
|
|
;241:}
|
|
;242:
|
|
;243:void ByteToDir( int b, vec3_t dir ) {
|
|
line 244
|
|
;244: if ( b < 0 || b >= NUMVERTEXNORMALS ) {
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
LTI4 $83
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 162
|
|
LTI4 $81
|
|
LABELV $83
|
|
line 245
|
|
;245: VectorCopy( vec3_origin, dir );
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRGP4 vec3_origin
|
|
INDIRB
|
|
ASGNB 12
|
|
line 246
|
|
;246: return;
|
|
ADDRGP4 $80
|
|
JUMPV
|
|
LABELV $81
|
|
line 248
|
|
;247: }
|
|
;248: VectorCopy (bytedirs[b], dir);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ADDRGP4 bytedirs
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 249
|
|
;249:}
|
|
LABELV $80
|
|
endproc ByteToDir 4 0
|
|
export ColorBytes3
|
|
proc ColorBytes3 40 0
|
|
line 252
|
|
;250:
|
|
;251:
|
|
;252:unsigned ColorBytes3 (float r, float g, float b) {
|
|
line 255
|
|
;253: unsigned i;
|
|
;254:
|
|
;255: ( (byte *)&i )[0] = r * 255;
|
|
ADDRLP4 8
|
|
CNSTF4 1132396544
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
CNSTF4 1325400064
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
LTF4 $86
|
|
ADDRLP4 4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
SUBF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
CNSTU4 2147483648
|
|
ADDU4
|
|
ASGNU4
|
|
ADDRGP4 $87
|
|
JUMPV
|
|
LABELV $86
|
|
ADDRLP4 4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
ASGNU4
|
|
LABELV $87
|
|
ADDRLP4 0
|
|
ADDRLP4 4
|
|
INDIRU4
|
|
CVUU1 4
|
|
ASGNU1
|
|
line 256
|
|
;256: ( (byte *)&i )[1] = g * 255;
|
|
ADDRLP4 20
|
|
CNSTF4 1132396544
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
ADDRLP4 24
|
|
CNSTF4 1325400064
|
|
ASGNF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
LTF4 $90
|
|
ADDRLP4 16
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
SUBF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
CNSTU4 2147483648
|
|
ADDU4
|
|
ASGNU4
|
|
ADDRGP4 $91
|
|
JUMPV
|
|
LABELV $90
|
|
ADDRLP4 16
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
ASGNU4
|
|
LABELV $91
|
|
ADDRLP4 0+1
|
|
ADDRLP4 16
|
|
INDIRU4
|
|
CVUU1 4
|
|
ASGNU1
|
|
line 257
|
|
;257: ( (byte *)&i )[2] = b * 255;
|
|
ADDRLP4 32
|
|
CNSTF4 1132396544
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
ADDRLP4 36
|
|
CNSTF4 1325400064
|
|
ASGNF4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ADDRLP4 36
|
|
INDIRF4
|
|
LTF4 $94
|
|
ADDRLP4 28
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ADDRLP4 36
|
|
INDIRF4
|
|
SUBF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
CNSTU4 2147483648
|
|
ADDU4
|
|
ASGNU4
|
|
ADDRGP4 $95
|
|
JUMPV
|
|
LABELV $94
|
|
ADDRLP4 28
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
ASGNU4
|
|
LABELV $95
|
|
ADDRLP4 0+2
|
|
ADDRLP4 28
|
|
INDIRU4
|
|
CVUU1 4
|
|
ASGNU1
|
|
line 259
|
|
;258:
|
|
;259: return i;
|
|
ADDRLP4 0
|
|
INDIRU4
|
|
RETU4
|
|
LABELV $84
|
|
endproc ColorBytes3 40 0
|
|
export ColorBytes4
|
|
proc ColorBytes4 52 0
|
|
line 262
|
|
;260:}
|
|
;261:
|
|
;262:unsigned ColorBytes4 (float r, float g, float b, float a) {
|
|
line 265
|
|
;263: unsigned i;
|
|
;264:
|
|
;265: ( (byte *)&i )[0] = r * 255;
|
|
ADDRLP4 8
|
|
CNSTF4 1132396544
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
CNSTF4 1325400064
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
LTF4 $98
|
|
ADDRLP4 4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
SUBF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
CNSTU4 2147483648
|
|
ADDU4
|
|
ASGNU4
|
|
ADDRGP4 $99
|
|
JUMPV
|
|
LABELV $98
|
|
ADDRLP4 4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
ASGNU4
|
|
LABELV $99
|
|
ADDRLP4 0
|
|
ADDRLP4 4
|
|
INDIRU4
|
|
CVUU1 4
|
|
ASGNU1
|
|
line 266
|
|
;266: ( (byte *)&i )[1] = g * 255;
|
|
ADDRLP4 20
|
|
CNSTF4 1132396544
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
ADDRLP4 24
|
|
CNSTF4 1325400064
|
|
ASGNF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
LTF4 $102
|
|
ADDRLP4 16
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
SUBF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
CNSTU4 2147483648
|
|
ADDU4
|
|
ASGNU4
|
|
ADDRGP4 $103
|
|
JUMPV
|
|
LABELV $102
|
|
ADDRLP4 16
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
ASGNU4
|
|
LABELV $103
|
|
ADDRLP4 0+1
|
|
ADDRLP4 16
|
|
INDIRU4
|
|
CVUU1 4
|
|
ASGNU1
|
|
line 267
|
|
;267: ( (byte *)&i )[2] = b * 255;
|
|
ADDRLP4 32
|
|
CNSTF4 1132396544
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
ADDRLP4 36
|
|
CNSTF4 1325400064
|
|
ASGNF4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ADDRLP4 36
|
|
INDIRF4
|
|
LTF4 $106
|
|
ADDRLP4 28
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ADDRLP4 36
|
|
INDIRF4
|
|
SUBF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
CNSTU4 2147483648
|
|
ADDU4
|
|
ASGNU4
|
|
ADDRGP4 $107
|
|
JUMPV
|
|
LABELV $106
|
|
ADDRLP4 28
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
ASGNU4
|
|
LABELV $107
|
|
ADDRLP4 0+2
|
|
ADDRLP4 28
|
|
INDIRU4
|
|
CVUU1 4
|
|
ASGNU1
|
|
line 268
|
|
;268: ( (byte *)&i )[3] = a * 255;
|
|
ADDRLP4 44
|
|
CNSTF4 1132396544
|
|
ADDRFP4 12
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
ADDRLP4 48
|
|
CNSTF4 1325400064
|
|
ASGNF4
|
|
ADDRLP4 44
|
|
INDIRF4
|
|
ADDRLP4 48
|
|
INDIRF4
|
|
LTF4 $110
|
|
ADDRLP4 40
|
|
ADDRLP4 44
|
|
INDIRF4
|
|
ADDRLP4 48
|
|
INDIRF4
|
|
SUBF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
CNSTU4 2147483648
|
|
ADDU4
|
|
ASGNU4
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $110
|
|
ADDRLP4 40
|
|
ADDRLP4 44
|
|
INDIRF4
|
|
CVFI4 4
|
|
CVIU4 4
|
|
ASGNU4
|
|
LABELV $111
|
|
ADDRLP4 0+3
|
|
ADDRLP4 40
|
|
INDIRU4
|
|
CVUU1 4
|
|
ASGNU1
|
|
line 270
|
|
;269:
|
|
;270: return i;
|
|
ADDRLP4 0
|
|
INDIRU4
|
|
RETU4
|
|
LABELV $96
|
|
endproc ColorBytes4 52 0
|
|
export NormalizeColor
|
|
proc NormalizeColor 12 0
|
|
line 273
|
|
;271:}
|
|
;272:
|
|
;273:float NormalizeColor( const vec3_t in, vec3_t out ) {
|
|
line 276
|
|
;274: float max;
|
|
;275:
|
|
;276: max = in[0];
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 277
|
|
;277: if ( in[1] > max ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
LEF4 $113
|
|
line 278
|
|
;278: max = in[1];
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 279
|
|
;279: }
|
|
LABELV $113
|
|
line 280
|
|
;280: if ( in[2] > max ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
LEF4 $115
|
|
line 281
|
|
;281: max = in[2];
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 282
|
|
;282: }
|
|
LABELV $115
|
|
line 284
|
|
;283:
|
|
;284: if ( !max ) {
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 0
|
|
NEF4 $117
|
|
line 285
|
|
;285: VectorClear( out );
|
|
ADDRLP4 4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 286
|
|
;286: } else {
|
|
ADDRGP4 $118
|
|
JUMPV
|
|
LABELV $117
|
|
line 287
|
|
;287: out[0] = in[0] / max;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
DIVF4
|
|
ASGNF4
|
|
line 288
|
|
;288: out[1] = in[1] / max;
|
|
ADDRLP4 4
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
DIVF4
|
|
ASGNF4
|
|
line 289
|
|
;289: out[2] = in[2] / max;
|
|
ADDRLP4 8
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
DIVF4
|
|
ASGNF4
|
|
line 290
|
|
;290: }
|
|
LABELV $118
|
|
line 291
|
|
;291: return max;
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $112
|
|
endproc NormalizeColor 12 0
|
|
export PlaneFromPoints
|
|
proc PlaneFromPoints 76 12
|
|
line 303
|
|
;292:}
|
|
;293:
|
|
;294:
|
|
;295:/*
|
|
;296:=====================
|
|
;297:PlaneFromPoints
|
|
;298:
|
|
;299:Returns false if the triangle is degenrate.
|
|
;300:The normal will point out of the clock for clockwise ordered points
|
|
;301:=====================
|
|
;302:*/
|
|
;303:qboolean PlaneFromPoints( vec4_t plane, const vec3_t a, const vec3_t b, const vec3_t c ) {
|
|
line 306
|
|
;304: vec3_t d1, d2;
|
|
;305:
|
|
;306: VectorSubtract( b, a, d1 );
|
|
ADDRLP4 24
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 32
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 0+4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 36
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 0+8
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 307
|
|
;307: VectorSubtract( c, a, d2 );
|
|
ADDRLP4 40
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 44
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 44
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 48
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 12+4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 44
|
|
INDIRP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 52
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 12+8
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ADDRLP4 52
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 52
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 308
|
|
;308: CrossProduct( d2, d1, plane );
|
|
ADDRLP4 12
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 CrossProduct
|
|
CALLV
|
|
pop
|
|
line 309
|
|
;309: if ( VectorNormalize( plane ) == 0 ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 56
|
|
ADDRGP4 VectorNormalize
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 56
|
|
INDIRF4
|
|
CNSTF4 0
|
|
NEF4 $124
|
|
line 310
|
|
;310: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $119
|
|
JUMPV
|
|
LABELV $124
|
|
line 313
|
|
;311: }
|
|
;312:
|
|
;313: plane[3] = DotProduct( a, plane );
|
|
ADDRLP4 60
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 64
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 68
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 72
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 314
|
|
;314: return qtrue;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $119
|
|
endproc PlaneFromPoints 76 12
|
|
export RotatePointAroundVector
|
|
proc RotatePointAroundVector 256 12
|
|
line 325
|
|
;315:}
|
|
;316:
|
|
;317:/*
|
|
;318:===============
|
|
;319:RotatePointAroundVector
|
|
;320:
|
|
;321:This is not implemented very well...
|
|
;322:===============
|
|
;323:*/
|
|
;324:void RotatePointAroundVector( vec3_t dst, const vec3_t dir, const vec3_t point,
|
|
;325: float degrees ) {
|
|
line 335
|
|
;326: float m[3][3];
|
|
;327: float im[3][3];
|
|
;328: float zrot[3][3];
|
|
;329: float tmpmat[3][3];
|
|
;330: float rot[3][3];
|
|
;331: int i;
|
|
;332: vec3_t vr, vup, vf;
|
|
;333: float rad;
|
|
;334:
|
|
;335: vf[0] = dir[0];
|
|
ADDRLP4 148
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 336
|
|
;336: vf[1] = dir[1];
|
|
ADDRLP4 148+4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 337
|
|
;337: vf[2] = dir[2];
|
|
ADDRLP4 148+8
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 339
|
|
;338:
|
|
;339: PerpendicularVector( vr, dir );
|
|
ADDRLP4 160
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 PerpendicularVector
|
|
CALLV
|
|
pop
|
|
line 340
|
|
;340: CrossProduct( vr, vf, vup );
|
|
ADDRLP4 160
|
|
ARGP4
|
|
ADDRLP4 148
|
|
ARGP4
|
|
ADDRLP4 176
|
|
ARGP4
|
|
ADDRGP4 CrossProduct
|
|
CALLV
|
|
pop
|
|
line 342
|
|
;341:
|
|
;342: m[0][0] = vr[0];
|
|
ADDRLP4 40
|
|
ADDRLP4 160
|
|
INDIRF4
|
|
ASGNF4
|
|
line 343
|
|
;343: m[1][0] = vr[1];
|
|
ADDRLP4 40+12
|
|
ADDRLP4 160+4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 344
|
|
;344: m[2][0] = vr[2];
|
|
ADDRLP4 40+24
|
|
ADDRLP4 160+8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 346
|
|
;345:
|
|
;346: m[0][1] = vup[0];
|
|
ADDRLP4 40+4
|
|
ADDRLP4 176
|
|
INDIRF4
|
|
ASGNF4
|
|
line 347
|
|
;347: m[1][1] = vup[1];
|
|
ADDRLP4 40+12+4
|
|
ADDRLP4 176+4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 348
|
|
;348: m[2][1] = vup[2];
|
|
ADDRLP4 40+24+4
|
|
ADDRLP4 176+8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 350
|
|
;349:
|
|
;350: m[0][2] = vf[0];
|
|
ADDRLP4 40+8
|
|
ADDRLP4 148
|
|
INDIRF4
|
|
ASGNF4
|
|
line 351
|
|
;351: m[1][2] = vf[1];
|
|
ADDRLP4 40+12+8
|
|
ADDRLP4 148+4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 352
|
|
;352: m[2][2] = vf[2];
|
|
ADDRLP4 40+24+8
|
|
ADDRLP4 148+8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 354
|
|
;353:
|
|
;354: memcpy( im, m, sizeof( im ) );
|
|
ADDRLP4 112
|
|
ARGP4
|
|
ADDRLP4 40
|
|
ARGP4
|
|
CNSTI4 36
|
|
ARGI4
|
|
ADDRGP4 memcpy
|
|
CALLP4
|
|
pop
|
|
line 356
|
|
;355:
|
|
;356: im[0][1] = m[1][0];
|
|
ADDRLP4 112+4
|
|
ADDRLP4 40+12
|
|
INDIRF4
|
|
ASGNF4
|
|
line 357
|
|
;357: im[0][2] = m[2][0];
|
|
ADDRLP4 112+8
|
|
ADDRLP4 40+24
|
|
INDIRF4
|
|
ASGNF4
|
|
line 358
|
|
;358: im[1][0] = m[0][1];
|
|
ADDRLP4 112+12
|
|
ADDRLP4 40+4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 359
|
|
;359: im[1][2] = m[2][1];
|
|
ADDRLP4 112+12+8
|
|
ADDRLP4 40+24+4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 360
|
|
;360: im[2][0] = m[0][2];
|
|
ADDRLP4 112+24
|
|
ADDRLP4 40+8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 361
|
|
;361: im[2][1] = m[1][2];
|
|
ADDRLP4 112+24+4
|
|
ADDRLP4 40+12+8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 363
|
|
;362:
|
|
;363: memset( zrot, 0, sizeof( zrot ) );
|
|
ADDRLP4 76
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 36
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 364
|
|
;364: zrot[0][0] = zrot[1][1] = zrot[2][2] = 1.0F;
|
|
ADDRLP4 224
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRLP4 76+24+8
|
|
ADDRLP4 224
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 76+12+4
|
|
ADDRLP4 224
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 76
|
|
ADDRLP4 224
|
|
INDIRF4
|
|
ASGNF4
|
|
line 366
|
|
;365:
|
|
;366: rad = DEG2RAD( degrees );
|
|
ADDRLP4 172
|
|
CNSTF4 1078530011
|
|
ADDRFP4 12
|
|
INDIRF4
|
|
MULF4
|
|
CNSTF4 1127481344
|
|
DIVF4
|
|
ASGNF4
|
|
line 367
|
|
;367: zrot[0][0] = cos( rad );
|
|
ADDRLP4 172
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 228
|
|
ADDRGP4 cos
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 76
|
|
ADDRLP4 228
|
|
INDIRF4
|
|
ASGNF4
|
|
line 368
|
|
;368: zrot[0][1] = sin( rad );
|
|
ADDRLP4 172
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 232
|
|
ADDRGP4 sin
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 76+4
|
|
ADDRLP4 232
|
|
INDIRF4
|
|
ASGNF4
|
|
line 369
|
|
;369: zrot[1][0] = -sin( rad );
|
|
ADDRLP4 172
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 236
|
|
ADDRGP4 sin
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 76+12
|
|
ADDRLP4 236
|
|
INDIRF4
|
|
NEGF4
|
|
ASGNF4
|
|
line 370
|
|
;370: zrot[1][1] = cos( rad );
|
|
ADDRLP4 172
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 240
|
|
ADDRGP4 cos
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 76+12+4
|
|
ADDRLP4 240
|
|
INDIRF4
|
|
ASGNF4
|
|
line 372
|
|
;371:
|
|
;372: MatrixMultiply( m, zrot, tmpmat );
|
|
ADDRLP4 40
|
|
ARGP4
|
|
ADDRLP4 76
|
|
ARGP4
|
|
ADDRLP4 188
|
|
ARGP4
|
|
ADDRGP4 MatrixMultiply
|
|
CALLV
|
|
pop
|
|
line 373
|
|
;373: MatrixMultiply( tmpmat, im, rot );
|
|
ADDRLP4 188
|
|
ARGP4
|
|
ADDRLP4 112
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRGP4 MatrixMultiply
|
|
CALLV
|
|
pop
|
|
line 375
|
|
;374:
|
|
;375: for ( i = 0; i < 3; i++ ) {
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $171
|
|
line 376
|
|
;376: dst[i] = rot[i][0] * point[0] + rot[i][1] * point[1] + rot[i][2] * point[2];
|
|
ADDRLP4 248
|
|
CNSTI4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ASGNI4
|
|
ADDRLP4 252
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 248
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 252
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 248
|
|
INDIRI4
|
|
ADDRLP4 4+4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 252
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 248
|
|
INDIRI4
|
|
ADDRLP4 4+8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 252
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 377
|
|
;377: }
|
|
LABELV $172
|
|
line 375
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LTI4 $171
|
|
line 378
|
|
;378:}
|
|
LABELV $126
|
|
endproc RotatePointAroundVector 256 12
|
|
export RotateAroundDirection
|
|
proc RotateAroundDirection 20 16
|
|
line 385
|
|
;379:
|
|
;380:/*
|
|
;381:===============
|
|
;382:RotateAroundDirection
|
|
;383:===============
|
|
;384:*/
|
|
;385:void RotateAroundDirection( vec3_t axis[3], float yaw ) {
|
|
line 388
|
|
;386:
|
|
;387: // create an arbitrary axis[1]
|
|
;388: PerpendicularVector( axis[1], axis[0] );
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 PerpendicularVector
|
|
CALLV
|
|
pop
|
|
line 391
|
|
;389:
|
|
;390: // rotate it around axis[0] by yaw
|
|
;391: if ( yaw ) {
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
CNSTF4 0
|
|
EQF4 $178
|
|
line 394
|
|
;392: vec3_t temp;
|
|
;393:
|
|
;394: VectorCopy( axis[1], temp );
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 395
|
|
;395: RotatePointAroundVector( axis[1], axis[0], temp, yaw );
|
|
ADDRLP4 16
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRGP4 RotatePointAroundVector
|
|
CALLV
|
|
pop
|
|
line 396
|
|
;396: }
|
|
LABELV $178
|
|
line 399
|
|
;397:
|
|
;398: // cross to get axis[2]
|
|
;399: CrossProduct( axis[0], axis[1], axis[2] );
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
ARGP4
|
|
ADDRGP4 CrossProduct
|
|
CALLV
|
|
pop
|
|
line 400
|
|
;400:}
|
|
LABELV $177
|
|
endproc RotateAroundDirection 20 16
|
|
export vectoangles
|
|
proc vectoangles 40 8
|
|
line 404
|
|
;401:
|
|
;402:
|
|
;403:
|
|
;404:void vectoangles( const vec3_t value1, vec3_t angles ) {
|
|
line 408
|
|
;405: float forward;
|
|
;406: float yaw, pitch;
|
|
;407:
|
|
;408: if ( value1[1] == 0 && value1[0] == 0 ) {
|
|
ADDRLP4 12
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
NEF4 $181
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
NEF4 $181
|
|
line 409
|
|
;409: yaw = 0;
|
|
ADDRLP4 0
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 410
|
|
;410: if ( value1[2] > 0 ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 0
|
|
LEF4 $183
|
|
line 411
|
|
;411: pitch = 90;
|
|
ADDRLP4 4
|
|
CNSTF4 1119092736
|
|
ASGNF4
|
|
line 412
|
|
;412: }
|
|
ADDRGP4 $182
|
|
JUMPV
|
|
LABELV $183
|
|
line 413
|
|
;413: else {
|
|
line 414
|
|
;414: pitch = 270;
|
|
ADDRLP4 4
|
|
CNSTF4 1132920832
|
|
ASGNF4
|
|
line 415
|
|
;415: }
|
|
line 416
|
|
;416: }
|
|
ADDRGP4 $182
|
|
JUMPV
|
|
LABELV $181
|
|
line 417
|
|
;417: else {
|
|
line 418
|
|
;418: if ( value1[0] ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
CNSTF4 0
|
|
EQF4 $185
|
|
line 419
|
|
;419: yaw = ( atan2 ( value1[1], value1[0] ) * 180 / M_PI );
|
|
ADDRLP4 20
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 24
|
|
ADDRGP4 atan2
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
CNSTF4 1127481344
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
MULF4
|
|
CNSTF4 1078530011
|
|
DIVF4
|
|
ASGNF4
|
|
line 420
|
|
;420: }
|
|
ADDRGP4 $186
|
|
JUMPV
|
|
LABELV $185
|
|
line 421
|
|
;421: else if ( value1[1] > 0 ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 0
|
|
LEF4 $187
|
|
line 422
|
|
;422: yaw = 90;
|
|
ADDRLP4 0
|
|
CNSTF4 1119092736
|
|
ASGNF4
|
|
line 423
|
|
;423: }
|
|
ADDRGP4 $188
|
|
JUMPV
|
|
LABELV $187
|
|
line 424
|
|
;424: else {
|
|
line 425
|
|
;425: yaw = 270;
|
|
ADDRLP4 0
|
|
CNSTF4 1132920832
|
|
ASGNF4
|
|
line 426
|
|
;426: }
|
|
LABELV $188
|
|
LABELV $186
|
|
line 427
|
|
;427: if ( yaw < 0 ) {
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 0
|
|
GEF4 $189
|
|
line 428
|
|
;428: yaw += 360;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 1135869952
|
|
ADDF4
|
|
ASGNF4
|
|
line 429
|
|
;429: }
|
|
LABELV $189
|
|
line 431
|
|
;430:
|
|
;431: forward = sqrt ( value1[0]*value1[0] + value1[1]*value1[1] );
|
|
ADDRLP4 20
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ARGF4
|
|
ADDRLP4 32
|
|
ADDRGP4 sqrt
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ASGNF4
|
|
line 432
|
|
;432: pitch = ( atan2(value1[2], forward) * 180 / M_PI );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 36
|
|
ADDRGP4 atan2
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
CNSTF4 1127481344
|
|
ADDRLP4 36
|
|
INDIRF4
|
|
MULF4
|
|
CNSTF4 1078530011
|
|
DIVF4
|
|
ASGNF4
|
|
line 433
|
|
;433: if ( pitch < 0 ) {
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
CNSTF4 0
|
|
GEF4 $191
|
|
line 434
|
|
;434: pitch += 360;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
CNSTF4 1135869952
|
|
ADDF4
|
|
ASGNF4
|
|
line 435
|
|
;435: }
|
|
LABELV $191
|
|
line 436
|
|
;436: }
|
|
LABELV $182
|
|
line 438
|
|
;437:
|
|
;438: angles[PITCH] = -pitch;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
NEGF4
|
|
ASGNF4
|
|
line 439
|
|
;439: angles[YAW] = yaw;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
line 440
|
|
;440: angles[ROLL] = 0;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 441
|
|
;441:}
|
|
LABELV $180
|
|
endproc vectoangles 40 8
|
|
export AnglesToAxis
|
|
proc AnglesToAxis 16 16
|
|
line 449
|
|
;442:
|
|
;443:
|
|
;444:/*
|
|
;445:=================
|
|
;446:AnglesToAxis
|
|
;447:=================
|
|
;448:*/
|
|
;449:void AnglesToAxis( const vec3_t angles, vec3_t axis[3] ) {
|
|
line 453
|
|
;450: vec3_t right;
|
|
;451:
|
|
;452: // angle vectors returns "right" instead of "y axis"
|
|
;453: AngleVectors( angles, axis[0], right, axis[2] );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 12
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
ARGP4
|
|
ADDRGP4 AngleVectors
|
|
CALLV
|
|
pop
|
|
line 454
|
|
;454: VectorSubtract( vec3_origin, right, axis[1] );
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
ADDRGP4 vec3_origin
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
ADDRGP4 vec3_origin+4
|
|
INDIRF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
ADDRGP4 vec3_origin+8
|
|
INDIRF4
|
|
ADDRLP4 0+8
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 455
|
|
;455:}
|
|
LABELV $193
|
|
endproc AnglesToAxis 16 16
|
|
export AxisClear
|
|
proc AxisClear 0 0
|
|
line 457
|
|
;456:
|
|
;457:void AxisClear( vec3_t axis[3] ) {
|
|
line 458
|
|
;458: axis[0][0] = 1;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 459
|
|
;459: axis[0][1] = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 460
|
|
;460: axis[0][2] = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 461
|
|
;461: axis[1][0] = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 462
|
|
;462: axis[1][1] = 1;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 463
|
|
;463: axis[1][2] = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 464
|
|
;464: axis[2][0] = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 465
|
|
;465: axis[2][1] = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 466
|
|
;466: axis[2][2] = 1;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 467
|
|
;467:}
|
|
LABELV $198
|
|
endproc AxisClear 0 0
|
|
export AxisCopy
|
|
proc AxisCopy 8 0
|
|
line 469
|
|
;468:
|
|
;469:void AxisCopy( vec3_t in[3], vec3_t out[3] ) {
|
|
line 470
|
|
;470: VectorCopy( in[0], out[0] );
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 471
|
|
;471: VectorCopy( in[1], out[1] );
|
|
ADDRLP4 0
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 472
|
|
;472: VectorCopy( in[2], out[2] );
|
|
ADDRLP4 4
|
|
CNSTI4 24
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 473
|
|
;473:}
|
|
LABELV $199
|
|
endproc AxisCopy 8 0
|
|
export ProjectPointOnPlane
|
|
proc ProjectPointOnPlane 60 0
|
|
line 476
|
|
;474:
|
|
;475:void ProjectPointOnPlane( vec3_t dst, const vec3_t p, const vec3_t normal )
|
|
;476:{
|
|
line 481
|
|
;477: float d;
|
|
;478: vec3_t n;
|
|
;479: float inv_denom;
|
|
;480:
|
|
;481: inv_denom = DotProduct( normal, normal );
|
|
ADDRLP4 20
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 32
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 485
|
|
;482:#ifndef Q3_VM
|
|
;483: assert( Q_fabs(inv_denom) != 0.0f ); // bk010122 - zero vectors get here
|
|
;484:#endif
|
|
;485: inv_denom = 1.0f / inv_denom;
|
|
ADDRLP4 0
|
|
CNSTF4 1065353216
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
DIVF4
|
|
ASGNF4
|
|
line 487
|
|
;486:
|
|
;487: d = DotProduct( normal, p ) * inv_denom;
|
|
ADDRLP4 36
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 40
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 44
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 48
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 489
|
|
;488:
|
|
;489: n[0] = normal[0] * inv_denom;
|
|
ADDRLP4 4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 490
|
|
;490: n[1] = normal[1] * inv_denom;
|
|
ADDRLP4 4+4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 491
|
|
;491: n[2] = normal[2] * inv_denom;
|
|
ADDRLP4 4+8
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 493
|
|
;492:
|
|
;493: dst[0] = p[0] - d * n[0];
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 494
|
|
;494: dst[1] = p[1] - d * n[1];
|
|
ADDRLP4 52
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 52
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 52
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ADDRLP4 4+4
|
|
INDIRF4
|
|
MULF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 495
|
|
;495: dst[2] = p[2] - d * n[2];
|
|
ADDRLP4 56
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ADDRLP4 4+8
|
|
INDIRF4
|
|
MULF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 496
|
|
;496:}
|
|
LABELV $200
|
|
endproc ProjectPointOnPlane 60 0
|
|
export MakeNormalVectors
|
|
proc MakeNormalVectors 40 12
|
|
line 506
|
|
;497:
|
|
;498:/*
|
|
;499:================
|
|
;500:MakeNormalVectors
|
|
;501:
|
|
;502:Given a normalized forward vector, create two
|
|
;503:other perpendicular vectors
|
|
;504:================
|
|
;505:*/
|
|
;506:void MakeNormalVectors( const vec3_t forward, vec3_t right, vec3_t up) {
|
|
line 511
|
|
;507: float d;
|
|
;508:
|
|
;509: // this rotate and negate guarantees a vector
|
|
;510: // not colinear with the original
|
|
;511: right[1] = -forward[0];
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
NEGF4
|
|
ASGNF4
|
|
line 512
|
|
;512: right[2] = forward[1];
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 513
|
|
;513: right[0] = forward[2];
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 515
|
|
;514:
|
|
;515: d = DotProduct (right, forward);
|
|
ADDRLP4 4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 516
|
|
;516: VectorMA (right, -d, forward, right);
|
|
ADDRLP4 20
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
NEGF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
ADDRLP4 24
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 28
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
NEGF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
ADDRLP4 32
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 36
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
NEGF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 517
|
|
;517: VectorNormalize (right);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 VectorNormalize
|
|
CALLF4
|
|
pop
|
|
line 518
|
|
;518: CrossProduct (right, forward, up);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 CrossProduct
|
|
CALLV
|
|
pop
|
|
line 519
|
|
;519:}
|
|
LABELV $205
|
|
endproc MakeNormalVectors 40 12
|
|
export VectorRotate
|
|
proc VectorRotate 40 0
|
|
line 523
|
|
;520:
|
|
;521:
|
|
;522:void VectorRotate( vec3_t in, vec3_t matrix[3], vec3_t out )
|
|
;523:{
|
|
line 524
|
|
;524: out[0] = DotProduct( in, matrix[0] );
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 12
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 525
|
|
;525: out[1] = DotProduct( in, matrix[1] );
|
|
ADDRLP4 16
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 526
|
|
;526: out[2] = DotProduct( in, matrix[2] );
|
|
ADDRLP4 28
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 32
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 36
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 527
|
|
;527:}
|
|
LABELV $206
|
|
endproc VectorRotate 40 0
|
|
export Q_rsqrt
|
|
proc Q_rsqrt 20 0
|
|
line 536
|
|
;528:
|
|
;529://============================================================================
|
|
;530:
|
|
;531:#if !idppc
|
|
;532:/*
|
|
;533:** float q_rsqrt( float number )
|
|
;534:*/
|
|
;535:float Q_rsqrt( float number )
|
|
;536:{
|
|
line 539
|
|
;537: long i;
|
|
;538: float x2, y;
|
|
;539: const float threehalfs = 1.5F;
|
|
ADDRLP4 12
|
|
CNSTF4 1069547520
|
|
ASGNF4
|
|
line 541
|
|
;540:
|
|
;541: x2 = number * 0.5F;
|
|
ADDRLP4 8
|
|
CNSTF4 1056964608
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 542
|
|
;542: y = number;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
line 543
|
|
;543: i = * ( long * ) &y; // evil floating point bit level hacking
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 544
|
|
;544: i = 0x5f3759df - ( i >> 1 ); // what the fuck?
|
|
ADDRLP4 4
|
|
CNSTI4 1597463007
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
RSHI4
|
|
SUBI4
|
|
ASGNI4
|
|
line 545
|
|
;545: y = * ( float * ) &i;
|
|
ADDRLP4 0
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 546
|
|
;546: y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
|
|
ADDRLP4 16
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
MULF4
|
|
SUBF4
|
|
MULF4
|
|
ASGNF4
|
|
line 554
|
|
;547:// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
|
|
;548:
|
|
;549:#ifndef Q3_VM
|
|
;550:#ifdef __linux__
|
|
;551: assert( !isnan(y) ); // bk010122 - FPE?
|
|
;552:#endif
|
|
;553:#endif
|
|
;554: return y;
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $207
|
|
endproc Q_rsqrt 20 0
|
|
export Q_fabs
|
|
proc Q_fabs 4 0
|
|
line 557
|
|
;555:}
|
|
;556:
|
|
;557:float Q_fabs( float f ) {
|
|
line 558
|
|
;558: int tmp = * ( int * ) &f;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 559
|
|
;559: tmp &= 0x7FFFFFFF;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2147483647
|
|
BANDI4
|
|
ASGNI4
|
|
line 560
|
|
;560: return * ( float * ) &tmp;
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $208
|
|
endproc Q_fabs 4 0
|
|
export LerpAngle
|
|
proc LerpAngle 8 0
|
|
line 572
|
|
;561:}
|
|
;562:#endif
|
|
;563:
|
|
;564://============================================================
|
|
;565:
|
|
;566:/*
|
|
;567:===============
|
|
;568:LerpAngle
|
|
;569:
|
|
;570:===============
|
|
;571:*/
|
|
;572:float LerpAngle (float from, float to, float frac) {
|
|
line 575
|
|
;573: float a;
|
|
;574:
|
|
;575: if ( to - from > 180 ) {
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
SUBF4
|
|
CNSTF4 1127481344
|
|
LEF4 $210
|
|
line 576
|
|
;576: to -= 360;
|
|
ADDRFP4 4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
CNSTF4 1135869952
|
|
SUBF4
|
|
ASGNF4
|
|
line 577
|
|
;577: }
|
|
LABELV $210
|
|
line 578
|
|
;578: if ( to - from < -180 ) {
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
SUBF4
|
|
CNSTF4 3274964992
|
|
GEF4 $212
|
|
line 579
|
|
;579: to += 360;
|
|
ADDRFP4 4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
CNSTF4 1135869952
|
|
ADDF4
|
|
ASGNF4
|
|
line 580
|
|
;580: }
|
|
LABELV $212
|
|
line 581
|
|
;581: a = from + frac * (to - from);
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
SUBF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 583
|
|
;582:
|
|
;583: return a;
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $209
|
|
endproc LerpAngle 8 0
|
|
export AngleSubtract
|
|
proc AngleSubtract 4 0
|
|
line 594
|
|
;584:}
|
|
;585:
|
|
;586:
|
|
;587:/*
|
|
;588:=================
|
|
;589:AngleSubtract
|
|
;590:
|
|
;591:Always returns a value from -180 to 180
|
|
;592:=================
|
|
;593:*/
|
|
;594:float AngleSubtract( float a1, float a2 ) {
|
|
line 597
|
|
;595: float a;
|
|
;596:
|
|
;597: a = a1 - a2;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 598
|
|
;598: assert(fabs(a) < 3600);
|
|
ADDRGP4 $216
|
|
JUMPV
|
|
LABELV $215
|
|
line 599
|
|
;599: while ( a > 180 ) {
|
|
line 600
|
|
;600: a -= 360;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 1135869952
|
|
SUBF4
|
|
ASGNF4
|
|
line 601
|
|
;601: }
|
|
LABELV $216
|
|
line 599
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 1127481344
|
|
GTF4 $215
|
|
ADDRGP4 $219
|
|
JUMPV
|
|
LABELV $218
|
|
line 602
|
|
;602: while ( a < -180 ) {
|
|
line 603
|
|
;603: a += 360;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 1135869952
|
|
ADDF4
|
|
ASGNF4
|
|
line 604
|
|
;604: }
|
|
LABELV $219
|
|
line 602
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 3274964992
|
|
LTF4 $218
|
|
line 605
|
|
;605: return a;
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $214
|
|
endproc AngleSubtract 4 0
|
|
export AnglesSubtract
|
|
proc AnglesSubtract 20 8
|
|
line 609
|
|
;606:}
|
|
;607:
|
|
;608:
|
|
;609:void AnglesSubtract( vec3_t v1, vec3_t v2, vec3_t v3 ) {
|
|
line 610
|
|
;610: v3[0] = AngleSubtract( v1[0], v2[0] );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 0
|
|
ADDRGP4 AngleSubtract
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
line 611
|
|
;611: v3[1] = AngleSubtract( v1[1], v2[1] );
|
|
ADDRLP4 4
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 8
|
|
ADDRGP4 AngleSubtract
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 612
|
|
;612: v3[2] = AngleSubtract( v1[2], v2[2] );
|
|
ADDRLP4 12
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 16
|
|
ADDRGP4 AngleSubtract
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ASGNF4
|
|
line 613
|
|
;613:}
|
|
LABELV $221
|
|
endproc AnglesSubtract 20 8
|
|
export AngleMod
|
|
proc AngleMod 0 0
|
|
line 616
|
|
;614:
|
|
;615:
|
|
;616:float AngleMod(float a) {
|
|
line 617
|
|
;617: a = (360.0/65536) * ((int)(a*(65536/360.0)) & 65535);
|
|
ADDRFP4 0
|
|
CNSTF4 1001652224
|
|
CNSTF4 1127615329
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
MULF4
|
|
CVFI4 4
|
|
CNSTI4 65535
|
|
BANDI4
|
|
CVIF4 4
|
|
MULF4
|
|
ASGNF4
|
|
line 618
|
|
;618: return a;
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $222
|
|
endproc AngleMod 0 0
|
|
export AngleNormalize360
|
|
proc AngleNormalize360 0 0
|
|
line 629
|
|
;619:}
|
|
;620:
|
|
;621:
|
|
;622:/*
|
|
;623:=================
|
|
;624:AngleNormalize360
|
|
;625:
|
|
;626:returns angle normalized to the range [0 <= angle < 360]
|
|
;627:=================
|
|
;628:*/
|
|
;629:float AngleNormalize360 ( float angle ) {
|
|
line 630
|
|
;630: return (360.0 / 65536) * ((int)(angle * (65536 / 360.0)) & 65535);
|
|
CNSTF4 1001652224
|
|
CNSTF4 1127615329
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
MULF4
|
|
CVFI4 4
|
|
CNSTI4 65535
|
|
BANDI4
|
|
CVIF4 4
|
|
MULF4
|
|
RETF4
|
|
LABELV $223
|
|
endproc AngleNormalize360 0 0
|
|
export AngleNormalize180
|
|
proc AngleNormalize180 4 4
|
|
line 641
|
|
;631:}
|
|
;632:
|
|
;633:
|
|
;634:/*
|
|
;635:=================
|
|
;636:AngleNormalize180
|
|
;637:
|
|
;638:returns angle normalized to the range [-180 < angle <= 180]
|
|
;639:=================
|
|
;640:*/
|
|
;641:float AngleNormalize180 ( float angle ) {
|
|
line 642
|
|
;642: angle = AngleNormalize360( angle );
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 0
|
|
ADDRGP4 AngleNormalize360
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
line 643
|
|
;643: if ( angle > 180.0 ) {
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
CNSTF4 1127481344
|
|
LEF4 $225
|
|
line 644
|
|
;644: angle -= 360.0;
|
|
ADDRFP4 0
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
CNSTF4 1135869952
|
|
SUBF4
|
|
ASGNF4
|
|
line 645
|
|
;645: }
|
|
LABELV $225
|
|
line 646
|
|
;646: return angle;
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $224
|
|
endproc AngleNormalize180 4 4
|
|
export AngleDelta
|
|
proc AngleDelta 4 4
|
|
line 657
|
|
;647:}
|
|
;648:
|
|
;649:
|
|
;650:/*
|
|
;651:=================
|
|
;652:AngleDelta
|
|
;653:
|
|
;654:returns the normalized delta from angle1 to angle2
|
|
;655:=================
|
|
;656:*/
|
|
;657:float AngleDelta ( float angle1, float angle2 ) {
|
|
line 658
|
|
;658: return AngleNormalize180( angle1 - angle2 );
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
SUBF4
|
|
ARGF4
|
|
ADDRLP4 0
|
|
ADDRGP4 AngleNormalize180
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $227
|
|
endproc AngleDelta 4 4
|
|
export SetPlaneSignbits
|
|
proc SetPlaneSignbits 8 0
|
|
line 670
|
|
;659:}
|
|
;660:
|
|
;661:
|
|
;662://============================================================
|
|
;663:
|
|
;664:
|
|
;665:/*
|
|
;666:=================
|
|
;667:SetPlaneSignbits
|
|
;668:=================
|
|
;669:*/
|
|
;670:void SetPlaneSignbits (cplane_t *out) {
|
|
line 674
|
|
;671: int bits, j;
|
|
;672:
|
|
;673: // for fast box on planeside test
|
|
;674: bits = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 675
|
|
;675: for (j=0 ; j<3 ; j++) {
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $229
|
|
line 676
|
|
;676: if (out->normal[j] < 0) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 0
|
|
GEF4 $233
|
|
line 677
|
|
;677: bits |= 1<<j;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
LSHI4
|
|
BORI4
|
|
ASGNI4
|
|
line 678
|
|
;678: }
|
|
LABELV $233
|
|
line 679
|
|
;679: }
|
|
LABELV $230
|
|
line 675
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LTI4 $229
|
|
line 680
|
|
;680: out->signbits = bits;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 17
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CVIU4 4
|
|
CVUU1 4
|
|
ASGNU1
|
|
line 681
|
|
;681:}
|
|
LABELV $228
|
|
endproc SetPlaneSignbits 8 0
|
|
export BoxOnPlaneSide
|
|
proc BoxOnPlaneSide 280 0
|
|
line 729
|
|
;682:
|
|
;683:
|
|
;684:/*
|
|
;685:==================
|
|
;686:BoxOnPlaneSide
|
|
;687:
|
|
;688:Returns 1, 2, or 1 + 2
|
|
;689:
|
|
;690:// this is the slow, general version
|
|
;691:int BoxOnPlaneSide2 (vec3_t emins, vec3_t emaxs, struct cplane_s *p)
|
|
;692:{
|
|
;693: int i;
|
|
;694: float dist1, dist2;
|
|
;695: int sides;
|
|
;696: vec3_t corners[2];
|
|
;697:
|
|
;698: for (i=0 ; i<3 ; i++)
|
|
;699: {
|
|
;700: if (p->normal[i] < 0)
|
|
;701: {
|
|
;702: corners[0][i] = emins[i];
|
|
;703: corners[1][i] = emaxs[i];
|
|
;704: }
|
|
;705: else
|
|
;706: {
|
|
;707: corners[1][i] = emins[i];
|
|
;708: corners[0][i] = emaxs[i];
|
|
;709: }
|
|
;710: }
|
|
;711: dist1 = DotProduct (p->normal, corners[0]) - p->dist;
|
|
;712: dist2 = DotProduct (p->normal, corners[1]) - p->dist;
|
|
;713: sides = 0;
|
|
;714: if (dist1 >= 0)
|
|
;715: sides = 1;
|
|
;716: if (dist2 < 0)
|
|
;717: sides |= 2;
|
|
;718:
|
|
;719: return sides;
|
|
;720:}
|
|
;721:
|
|
;722:==================
|
|
;723:*/
|
|
;724:#if !( (defined __linux__ || __FreeBSD__) && (defined __i386__) && (!defined C_ONLY)) // rb010123
|
|
;725:
|
|
;726:#if defined __LCC__ || defined C_ONLY || !id386
|
|
;727:
|
|
;728:int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *p)
|
|
;729:{
|
|
line 734
|
|
;730: float dist1, dist2;
|
|
;731: int sides;
|
|
;732:
|
|
;733:// fast axial cases
|
|
;734: if (p->type < 3)
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRU1
|
|
CVUI4 1
|
|
CNSTI4 3
|
|
GEI4 $236
|
|
line 735
|
|
;735: {
|
|
line 736
|
|
;736: if (p->dist <= emins[p->type])
|
|
ADDRLP4 12
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRU1
|
|
CVUI4 1
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRF4
|
|
GTF4 $238
|
|
line 737
|
|
;737: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $235
|
|
JUMPV
|
|
LABELV $238
|
|
line 738
|
|
;738: if (p->dist >= emaxs[p->type])
|
|
ADDRLP4 16
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRU1
|
|
CVUI4 1
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRF4
|
|
LTF4 $240
|
|
line 739
|
|
;739: return 2;
|
|
CNSTI4 2
|
|
RETI4
|
|
ADDRGP4 $235
|
|
JUMPV
|
|
LABELV $240
|
|
line 740
|
|
;740: return 3;
|
|
CNSTI4 3
|
|
RETI4
|
|
ADDRGP4 $235
|
|
JUMPV
|
|
LABELV $236
|
|
line 744
|
|
;741: }
|
|
;742:
|
|
;743:// general case
|
|
;744: switch (p->signbits)
|
|
ADDRLP4 12
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 17
|
|
ADDP4
|
|
INDIRU1
|
|
CVUI4 1
|
|
ASGNI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 0
|
|
LTI4 $242
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 7
|
|
GTI4 $242
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 $253
|
|
ADDP4
|
|
INDIRP4
|
|
JUMPV
|
|
lit
|
|
align 4
|
|
LABELV $253
|
|
address $245
|
|
address $246
|
|
address $247
|
|
address $248
|
|
address $249
|
|
address $250
|
|
address $251
|
|
address $252
|
|
code
|
|
line 745
|
|
;745: {
|
|
LABELV $245
|
|
line 747
|
|
;746: case 0:
|
|
;747: dist1 = p->normal[0]*emaxs[0] + p->normal[1]*emaxs[1] + p->normal[2]*emaxs[2];
|
|
ADDRLP4 20
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 32
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 748
|
|
;748: dist2 = p->normal[0]*emins[0] + p->normal[1]*emins[1] + p->normal[2]*emins[2];
|
|
ADDRLP4 36
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 40
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 44
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 48
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 749
|
|
;749: break;
|
|
ADDRGP4 $243
|
|
JUMPV
|
|
LABELV $246
|
|
line 751
|
|
;750: case 1:
|
|
;751: dist1 = p->normal[0]*emins[0] + p->normal[1]*emaxs[1] + p->normal[2]*emaxs[2];
|
|
ADDRLP4 52
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 56
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 60
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 64
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 752
|
|
;752: dist2 = p->normal[0]*emaxs[0] + p->normal[1]*emins[1] + p->normal[2]*emins[2];
|
|
ADDRLP4 68
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 72
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 76
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 80
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 753
|
|
;753: break;
|
|
ADDRGP4 $243
|
|
JUMPV
|
|
LABELV $247
|
|
line 755
|
|
;754: case 2:
|
|
;755: dist1 = p->normal[0]*emaxs[0] + p->normal[1]*emins[1] + p->normal[2]*emaxs[2];
|
|
ADDRLP4 84
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 88
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 92
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 96
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 756
|
|
;756: dist2 = p->normal[0]*emins[0] + p->normal[1]*emaxs[1] + p->normal[2]*emins[2];
|
|
ADDRLP4 100
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 104
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 108
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 112
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 100
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 104
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 100
|
|
INDIRP4
|
|
ADDRLP4 108
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 108
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 100
|
|
INDIRP4
|
|
ADDRLP4 112
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 104
|
|
INDIRP4
|
|
ADDRLP4 112
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 757
|
|
;757: break;
|
|
ADDRGP4 $243
|
|
JUMPV
|
|
LABELV $248
|
|
line 759
|
|
;758: case 3:
|
|
;759: dist1 = p->normal[0]*emins[0] + p->normal[1]*emins[1] + p->normal[2]*emaxs[2];
|
|
ADDRLP4 116
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 120
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 124
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 128
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 116
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 120
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 116
|
|
INDIRP4
|
|
ADDRLP4 124
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 120
|
|
INDIRP4
|
|
ADDRLP4 124
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 116
|
|
INDIRP4
|
|
ADDRLP4 128
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 128
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 760
|
|
;760: dist2 = p->normal[0]*emaxs[0] + p->normal[1]*emaxs[1] + p->normal[2]*emins[2];
|
|
ADDRLP4 132
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 136
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 140
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 144
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 132
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 136
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 132
|
|
INDIRP4
|
|
ADDRLP4 140
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 136
|
|
INDIRP4
|
|
ADDRLP4 140
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 132
|
|
INDIRP4
|
|
ADDRLP4 144
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 144
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 761
|
|
;761: break;
|
|
ADDRGP4 $243
|
|
JUMPV
|
|
LABELV $249
|
|
line 763
|
|
;762: case 4:
|
|
;763: dist1 = p->normal[0]*emaxs[0] + p->normal[1]*emaxs[1] + p->normal[2]*emins[2];
|
|
ADDRLP4 148
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 152
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 156
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 160
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 148
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 152
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 148
|
|
INDIRP4
|
|
ADDRLP4 156
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 152
|
|
INDIRP4
|
|
ADDRLP4 156
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 148
|
|
INDIRP4
|
|
ADDRLP4 160
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 160
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 764
|
|
;764: dist2 = p->normal[0]*emins[0] + p->normal[1]*emins[1] + p->normal[2]*emaxs[2];
|
|
ADDRLP4 164
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 168
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 172
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 176
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 164
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 168
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 164
|
|
INDIRP4
|
|
ADDRLP4 172
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 168
|
|
INDIRP4
|
|
ADDRLP4 172
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 164
|
|
INDIRP4
|
|
ADDRLP4 176
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 176
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 765
|
|
;765: break;
|
|
ADDRGP4 $243
|
|
JUMPV
|
|
LABELV $250
|
|
line 767
|
|
;766: case 5:
|
|
;767: dist1 = p->normal[0]*emins[0] + p->normal[1]*emaxs[1] + p->normal[2]*emins[2];
|
|
ADDRLP4 180
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 184
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 188
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 192
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 180
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 184
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 180
|
|
INDIRP4
|
|
ADDRLP4 188
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 188
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 180
|
|
INDIRP4
|
|
ADDRLP4 192
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 184
|
|
INDIRP4
|
|
ADDRLP4 192
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 768
|
|
;768: dist2 = p->normal[0]*emaxs[0] + p->normal[1]*emins[1] + p->normal[2]*emaxs[2];
|
|
ADDRLP4 196
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 200
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 204
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 208
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 196
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 200
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 196
|
|
INDIRP4
|
|
ADDRLP4 204
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 204
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 196
|
|
INDIRP4
|
|
ADDRLP4 208
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 200
|
|
INDIRP4
|
|
ADDRLP4 208
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 769
|
|
;769: break;
|
|
ADDRGP4 $243
|
|
JUMPV
|
|
LABELV $251
|
|
line 771
|
|
;770: case 6:
|
|
;771: dist1 = p->normal[0]*emaxs[0] + p->normal[1]*emins[1] + p->normal[2]*emins[2];
|
|
ADDRLP4 212
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 216
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 220
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 224
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 212
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 212
|
|
INDIRP4
|
|
ADDRLP4 216
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 220
|
|
INDIRP4
|
|
ADDRLP4 216
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 212
|
|
INDIRP4
|
|
ADDRLP4 224
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 220
|
|
INDIRP4
|
|
ADDRLP4 224
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 772
|
|
;772: dist2 = p->normal[0]*emins[0] + p->normal[1]*emaxs[1] + p->normal[2]*emaxs[2];
|
|
ADDRLP4 228
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 232
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 236
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 240
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 228
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 228
|
|
INDIRP4
|
|
ADDRLP4 232
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 236
|
|
INDIRP4
|
|
ADDRLP4 232
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 228
|
|
INDIRP4
|
|
ADDRLP4 240
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 236
|
|
INDIRP4
|
|
ADDRLP4 240
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 773
|
|
;773: break;
|
|
ADDRGP4 $243
|
|
JUMPV
|
|
LABELV $252
|
|
line 775
|
|
;774: case 7:
|
|
;775: dist1 = p->normal[0]*emins[0] + p->normal[1]*emins[1] + p->normal[2]*emins[2];
|
|
ADDRLP4 244
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 248
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 252
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 256
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 244
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 248
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 244
|
|
INDIRP4
|
|
ADDRLP4 252
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 248
|
|
INDIRP4
|
|
ADDRLP4 252
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 244
|
|
INDIRP4
|
|
ADDRLP4 256
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 248
|
|
INDIRP4
|
|
ADDRLP4 256
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 776
|
|
;776: dist2 = p->normal[0]*emaxs[0] + p->normal[1]*emaxs[1] + p->normal[2]*emaxs[2];
|
|
ADDRLP4 260
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 264
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 268
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 272
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 260
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 264
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 260
|
|
INDIRP4
|
|
ADDRLP4 268
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 264
|
|
INDIRP4
|
|
ADDRLP4 268
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 260
|
|
INDIRP4
|
|
ADDRLP4 272
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 264
|
|
INDIRP4
|
|
ADDRLP4 272
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 777
|
|
;777: break;
|
|
ADDRGP4 $243
|
|
JUMPV
|
|
LABELV $242
|
|
line 779
|
|
;778: default:
|
|
;779: dist1 = dist2 = 0; // shut up compiler
|
|
ADDRLP4 276
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
ADDRLP4 276
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
ADDRLP4 276
|
|
INDIRF4
|
|
ASGNF4
|
|
line 780
|
|
;780: break;
|
|
LABELV $243
|
|
line 783
|
|
;781: }
|
|
;782:
|
|
;783: sides = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 784
|
|
;784: if (dist1 >= p->dist)
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRF4
|
|
LTF4 $254
|
|
line 785
|
|
;785: sides = 1;
|
|
ADDRLP4 0
|
|
CNSTI4 1
|
|
ASGNI4
|
|
LABELV $254
|
|
line 786
|
|
;786: if (dist2 < p->dist)
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRF4
|
|
GEF4 $256
|
|
line 787
|
|
;787: sides |= 2;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
BORI4
|
|
ASGNI4
|
|
LABELV $256
|
|
line 789
|
|
;788:
|
|
;789: return sides;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
RETI4
|
|
LABELV $235
|
|
endproc BoxOnPlaneSide 280 0
|
|
export RadiusFromBounds
|
|
proc RadiusFromBounds 36 4
|
|
line 1033
|
|
;790:}
|
|
;791:#else
|
|
;792:#pragma warning( disable: 4035 )
|
|
;793:
|
|
;794:__declspec( naked ) int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *p)
|
|
;795:{
|
|
;796: static int bops_initialized;
|
|
;797: static int Ljmptab[8];
|
|
;798:
|
|
;799: __asm {
|
|
;800:
|
|
;801: push ebx
|
|
;802:
|
|
;803: cmp bops_initialized, 1
|
|
;804: je initialized
|
|
;805: mov bops_initialized, 1
|
|
;806:
|
|
;807: mov Ljmptab[0*4], offset Lcase0
|
|
;808: mov Ljmptab[1*4], offset Lcase1
|
|
;809: mov Ljmptab[2*4], offset Lcase2
|
|
;810: mov Ljmptab[3*4], offset Lcase3
|
|
;811: mov Ljmptab[4*4], offset Lcase4
|
|
;812: mov Ljmptab[5*4], offset Lcase5
|
|
;813: mov Ljmptab[6*4], offset Lcase6
|
|
;814: mov Ljmptab[7*4], offset Lcase7
|
|
;815:
|
|
;816:initialized:
|
|
;817:
|
|
;818: mov edx,dword ptr[4+12+esp]
|
|
;819: mov ecx,dword ptr[4+4+esp]
|
|
;820: xor eax,eax
|
|
;821: mov ebx,dword ptr[4+8+esp]
|
|
;822: mov al,byte ptr[17+edx]
|
|
;823: cmp al,8
|
|
;824: jge Lerror
|
|
;825: fld dword ptr[0+edx]
|
|
;826: fld st(0)
|
|
;827: jmp dword ptr[Ljmptab+eax*4]
|
|
;828:Lcase0:
|
|
;829: fmul dword ptr[ebx]
|
|
;830: fld dword ptr[0+4+edx]
|
|
;831: fxch st(2)
|
|
;832: fmul dword ptr[ecx]
|
|
;833: fxch st(2)
|
|
;834: fld st(0)
|
|
;835: fmul dword ptr[4+ebx]
|
|
;836: fld dword ptr[0+8+edx]
|
|
;837: fxch st(2)
|
|
;838: fmul dword ptr[4+ecx]
|
|
;839: fxch st(2)
|
|
;840: fld st(0)
|
|
;841: fmul dword ptr[8+ebx]
|
|
;842: fxch st(5)
|
|
;843: faddp st(3),st(0)
|
|
;844: fmul dword ptr[8+ecx]
|
|
;845: fxch st(1)
|
|
;846: faddp st(3),st(0)
|
|
;847: fxch st(3)
|
|
;848: faddp st(2),st(0)
|
|
;849: jmp LSetSides
|
|
;850:Lcase1:
|
|
;851: fmul dword ptr[ecx]
|
|
;852: fld dword ptr[0+4+edx]
|
|
;853: fxch st(2)
|
|
;854: fmul dword ptr[ebx]
|
|
;855: fxch st(2)
|
|
;856: fld st(0)
|
|
;857: fmul dword ptr[4+ebx]
|
|
;858: fld dword ptr[0+8+edx]
|
|
;859: fxch st(2)
|
|
;860: fmul dword ptr[4+ecx]
|
|
;861: fxch st(2)
|
|
;862: fld st(0)
|
|
;863: fmul dword ptr[8+ebx]
|
|
;864: fxch st(5)
|
|
;865: faddp st(3),st(0)
|
|
;866: fmul dword ptr[8+ecx]
|
|
;867: fxch st(1)
|
|
;868: faddp st(3),st(0)
|
|
;869: fxch st(3)
|
|
;870: faddp st(2),st(0)
|
|
;871: jmp LSetSides
|
|
;872:Lcase2:
|
|
;873: fmul dword ptr[ebx]
|
|
;874: fld dword ptr[0+4+edx]
|
|
;875: fxch st(2)
|
|
;876: fmul dword ptr[ecx]
|
|
;877: fxch st(2)
|
|
;878: fld st(0)
|
|
;879: fmul dword ptr[4+ecx]
|
|
;880: fld dword ptr[0+8+edx]
|
|
;881: fxch st(2)
|
|
;882: fmul dword ptr[4+ebx]
|
|
;883: fxch st(2)
|
|
;884: fld st(0)
|
|
;885: fmul dword ptr[8+ebx]
|
|
;886: fxch st(5)
|
|
;887: faddp st(3),st(0)
|
|
;888: fmul dword ptr[8+ecx]
|
|
;889: fxch st(1)
|
|
;890: faddp st(3),st(0)
|
|
;891: fxch st(3)
|
|
;892: faddp st(2),st(0)
|
|
;893: jmp LSetSides
|
|
;894:Lcase3:
|
|
;895: fmul dword ptr[ecx]
|
|
;896: fld dword ptr[0+4+edx]
|
|
;897: fxch st(2)
|
|
;898: fmul dword ptr[ebx]
|
|
;899: fxch st(2)
|
|
;900: fld st(0)
|
|
;901: fmul dword ptr[4+ecx]
|
|
;902: fld dword ptr[0+8+edx]
|
|
;903: fxch st(2)
|
|
;904: fmul dword ptr[4+ebx]
|
|
;905: fxch st(2)
|
|
;906: fld st(0)
|
|
;907: fmul dword ptr[8+ebx]
|
|
;908: fxch st(5)
|
|
;909: faddp st(3),st(0)
|
|
;910: fmul dword ptr[8+ecx]
|
|
;911: fxch st(1)
|
|
;912: faddp st(3),st(0)
|
|
;913: fxch st(3)
|
|
;914: faddp st(2),st(0)
|
|
;915: jmp LSetSides
|
|
;916:Lcase4:
|
|
;917: fmul dword ptr[ebx]
|
|
;918: fld dword ptr[0+4+edx]
|
|
;919: fxch st(2)
|
|
;920: fmul dword ptr[ecx]
|
|
;921: fxch st(2)
|
|
;922: fld st(0)
|
|
;923: fmul dword ptr[4+ebx]
|
|
;924: fld dword ptr[0+8+edx]
|
|
;925: fxch st(2)
|
|
;926: fmul dword ptr[4+ecx]
|
|
;927: fxch st(2)
|
|
;928: fld st(0)
|
|
;929: fmul dword ptr[8+ecx]
|
|
;930: fxch st(5)
|
|
;931: faddp st(3),st(0)
|
|
;932: fmul dword ptr[8+ebx]
|
|
;933: fxch st(1)
|
|
;934: faddp st(3),st(0)
|
|
;935: fxch st(3)
|
|
;936: faddp st(2),st(0)
|
|
;937: jmp LSetSides
|
|
;938:Lcase5:
|
|
;939: fmul dword ptr[ecx]
|
|
;940: fld dword ptr[0+4+edx]
|
|
;941: fxch st(2)
|
|
;942: fmul dword ptr[ebx]
|
|
;943: fxch st(2)
|
|
;944: fld st(0)
|
|
;945: fmul dword ptr[4+ebx]
|
|
;946: fld dword ptr[0+8+edx]
|
|
;947: fxch st(2)
|
|
;948: fmul dword ptr[4+ecx]
|
|
;949: fxch st(2)
|
|
;950: fld st(0)
|
|
;951: fmul dword ptr[8+ecx]
|
|
;952: fxch st(5)
|
|
;953: faddp st(3),st(0)
|
|
;954: fmul dword ptr[8+ebx]
|
|
;955: fxch st(1)
|
|
;956: faddp st(3),st(0)
|
|
;957: fxch st(3)
|
|
;958: faddp st(2),st(0)
|
|
;959: jmp LSetSides
|
|
;960:Lcase6:
|
|
;961: fmul dword ptr[ebx]
|
|
;962: fld dword ptr[0+4+edx]
|
|
;963: fxch st(2)
|
|
;964: fmul dword ptr[ecx]
|
|
;965: fxch st(2)
|
|
;966: fld st(0)
|
|
;967: fmul dword ptr[4+ecx]
|
|
;968: fld dword ptr[0+8+edx]
|
|
;969: fxch st(2)
|
|
;970: fmul dword ptr[4+ebx]
|
|
;971: fxch st(2)
|
|
;972: fld st(0)
|
|
;973: fmul dword ptr[8+ecx]
|
|
;974: fxch st(5)
|
|
;975: faddp st(3),st(0)
|
|
;976: fmul dword ptr[8+ebx]
|
|
;977: fxch st(1)
|
|
;978: faddp st(3),st(0)
|
|
;979: fxch st(3)
|
|
;980: faddp st(2),st(0)
|
|
;981: jmp LSetSides
|
|
;982:Lcase7:
|
|
;983: fmul dword ptr[ecx]
|
|
;984: fld dword ptr[0+4+edx]
|
|
;985: fxch st(2)
|
|
;986: fmul dword ptr[ebx]
|
|
;987: fxch st(2)
|
|
;988: fld st(0)
|
|
;989: fmul dword ptr[4+ecx]
|
|
;990: fld dword ptr[0+8+edx]
|
|
;991: fxch st(2)
|
|
;992: fmul dword ptr[4+ebx]
|
|
;993: fxch st(2)
|
|
;994: fld st(0)
|
|
;995: fmul dword ptr[8+ecx]
|
|
;996: fxch st(5)
|
|
;997: faddp st(3),st(0)
|
|
;998: fmul dword ptr[8+ebx]
|
|
;999: fxch st(1)
|
|
;1000: faddp st(3),st(0)
|
|
;1001: fxch st(3)
|
|
;1002: faddp st(2),st(0)
|
|
;1003:LSetSides:
|
|
;1004: faddp st(2),st(0)
|
|
;1005: fcomp dword ptr[12+edx]
|
|
;1006: xor ecx,ecx
|
|
;1007: fnstsw ax
|
|
;1008: fcomp dword ptr[12+edx]
|
|
;1009: and ah,1
|
|
;1010: xor ah,1
|
|
;1011: add cl,ah
|
|
;1012: fnstsw ax
|
|
;1013: and ah,1
|
|
;1014: add ah,ah
|
|
;1015: add cl,ah
|
|
;1016: pop ebx
|
|
;1017: mov eax,ecx
|
|
;1018: ret
|
|
;1019:Lerror:
|
|
;1020: int 3
|
|
;1021: }
|
|
;1022:}
|
|
;1023:#pragma warning( default: 4035 )
|
|
;1024:
|
|
;1025:#endif
|
|
;1026:#endif
|
|
;1027:
|
|
;1028:/*
|
|
;1029:=================
|
|
;1030:RadiusFromBounds
|
|
;1031:=================
|
|
;1032:*/
|
|
;1033:float RadiusFromBounds( const vec3_t mins, const vec3_t maxs ) {
|
|
line 1038
|
|
;1034: int i;
|
|
;1035: vec3_t corner;
|
|
;1036: float a, b;
|
|
;1037:
|
|
;1038: for (i=0 ; i<3 ; i++) {
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $259
|
|
line 1039
|
|
;1039: a = fabs( mins[i] );
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 24
|
|
ADDRGP4 fabs
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1040
|
|
;1040: b = fabs( maxs[i] );
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 28
|
|
ADDRGP4 fabs
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1041
|
|
;1041: corner[i] = a > b ? a : b;
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
LEF4 $264
|
|
ADDRLP4 32
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRGP4 $265
|
|
JUMPV
|
|
LABELV $264
|
|
ADDRLP4 32
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ASGNF4
|
|
LABELV $265
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 12
|
|
ADDP4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1042
|
|
;1042: }
|
|
LABELV $260
|
|
line 1038
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LTI4 $259
|
|
line 1044
|
|
;1043:
|
|
;1044: return VectorLength (corner);
|
|
ADDRLP4 12
|
|
ARGP4
|
|
ADDRLP4 24
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $258
|
|
endproc RadiusFromBounds 36 4
|
|
export ClearBounds
|
|
proc ClearBounds 16 0
|
|
line 1048
|
|
;1045:}
|
|
;1046:
|
|
;1047:
|
|
;1048:void ClearBounds( vec3_t mins, vec3_t maxs ) {
|
|
line 1049
|
|
;1049: mins[0] = mins[1] = mins[2] = 99999;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
CNSTF4 1203982208
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1050
|
|
;1050: maxs[0] = maxs[1] = maxs[2] = -99999;
|
|
ADDRLP4 8
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
CNSTF4 3351465856
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1051
|
|
;1051:}
|
|
LABELV $266
|
|
endproc ClearBounds 16 0
|
|
export AddPointToBounds
|
|
proc AddPointToBounds 20 0
|
|
line 1053
|
|
;1052:
|
|
;1053:void AddPointToBounds( const vec3_t v, vec3_t mins, vec3_t maxs ) {
|
|
line 1054
|
|
;1054: if ( v[0] < mins[0] ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
GEF4 $268
|
|
line 1055
|
|
;1055: mins[0] = v[0];
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1056
|
|
;1056: }
|
|
LABELV $268
|
|
line 1057
|
|
;1057: if ( v[0] > maxs[0]) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
INDIRF4
|
|
LEF4 $270
|
|
line 1058
|
|
;1058: maxs[0] = v[0];
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1059
|
|
;1059: }
|
|
LABELV $270
|
|
line 1061
|
|
;1060:
|
|
;1061: if ( v[1] < mins[1] ) {
|
|
ADDRLP4 0
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
GEF4 $272
|
|
line 1062
|
|
;1062: mins[1] = v[1];
|
|
ADDRLP4 4
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1063
|
|
;1063: }
|
|
LABELV $272
|
|
line 1064
|
|
;1064: if ( v[1] > maxs[1]) {
|
|
ADDRLP4 4
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
LEF4 $274
|
|
line 1065
|
|
;1065: maxs[1] = v[1];
|
|
ADDRLP4 8
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1066
|
|
;1066: }
|
|
LABELV $274
|
|
line 1068
|
|
;1067:
|
|
;1068: if ( v[2] < mins[2] ) {
|
|
ADDRLP4 8
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
GEF4 $276
|
|
line 1069
|
|
;1069: mins[2] = v[2];
|
|
ADDRLP4 12
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1070
|
|
;1070: }
|
|
LABELV $276
|
|
line 1071
|
|
;1071: if ( v[2] > maxs[2]) {
|
|
ADDRLP4 12
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
LEF4 $278
|
|
line 1072
|
|
;1072: maxs[2] = v[2];
|
|
ADDRLP4 16
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1073
|
|
;1073: }
|
|
LABELV $278
|
|
line 1074
|
|
;1074:}
|
|
LABELV $267
|
|
endproc AddPointToBounds 20 0
|
|
export VectorNormalize
|
|
proc VectorNormalize 40 4
|
|
line 1077
|
|
;1075:
|
|
;1076:
|
|
;1077:vec_t VectorNormalize( vec3_t v ) {
|
|
line 1080
|
|
;1078: float length, ilength;
|
|
;1079:
|
|
;1080: length = v[0]*v[0] + v[1]*v[1] + v[2]*v[2];
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 16
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 20
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1081
|
|
;1081: length = sqrt (length);
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 24
|
|
ADDRGP4 sqrt
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1083
|
|
;1082:
|
|
;1083: if ( length ) {
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 0
|
|
EQF4 $281
|
|
line 1084
|
|
;1084: ilength = 1/length;
|
|
ADDRLP4 4
|
|
CNSTF4 1065353216
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
DIVF4
|
|
ASGNF4
|
|
line 1085
|
|
;1085: v[0] *= ilength;
|
|
ADDRLP4 28
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1086
|
|
;1086: v[1] *= ilength;
|
|
ADDRLP4 32
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1087
|
|
;1087: v[2] *= ilength;
|
|
ADDRLP4 36
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1088
|
|
;1088: }
|
|
LABELV $281
|
|
line 1090
|
|
;1089:
|
|
;1090: return length;
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $280
|
|
endproc VectorNormalize 40 4
|
|
export VectorNormalize2
|
|
proc VectorNormalize2 36 4
|
|
line 1093
|
|
;1091:}
|
|
;1092:
|
|
;1093:vec_t VectorNormalize2( const vec3_t v, vec3_t out) {
|
|
line 1096
|
|
;1094: float length, ilength;
|
|
;1095:
|
|
;1096: length = v[0]*v[0] + v[1]*v[1] + v[2]*v[2];
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 16
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 20
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1097
|
|
;1097: length = sqrt (length);
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 24
|
|
ADDRGP4 sqrt
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1099
|
|
;1098:
|
|
;1099: if (length)
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 0
|
|
EQF4 $284
|
|
line 1100
|
|
;1100: {
|
|
line 1104
|
|
;1101:#ifndef Q3_VM // bk0101022 - FPE related
|
|
;1102:// assert( ((Q_fabs(v[0])!=0.0f) || (Q_fabs(v[1])!=0.0f) || (Q_fabs(v[2])!=0.0f)) );
|
|
;1103:#endif
|
|
;1104: ilength = 1/length;
|
|
ADDRLP4 4
|
|
CNSTF4 1065353216
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
DIVF4
|
|
ASGNF4
|
|
line 1105
|
|
;1105: out[0] = v[0]*ilength;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1106
|
|
;1106: out[1] = v[1]*ilength;
|
|
ADDRLP4 28
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1107
|
|
;1107: out[2] = v[2]*ilength;
|
|
ADDRLP4 32
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1108
|
|
;1108: } else {
|
|
ADDRGP4 $285
|
|
JUMPV
|
|
LABELV $284
|
|
line 1112
|
|
;1109:#ifndef Q3_VM // bk0101022 - FPE related
|
|
;1110:// assert( ((Q_fabs(v[0])==0.0f) && (Q_fabs(v[1])==0.0f) && (Q_fabs(v[2])==0.0f)) );
|
|
;1111:#endif
|
|
;1112: VectorClear( out );
|
|
ADDRLP4 28
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 32
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1113
|
|
;1113: }
|
|
LABELV $285
|
|
line 1115
|
|
;1114:
|
|
;1115: return length;
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $283
|
|
endproc VectorNormalize2 36 4
|
|
export _VectorMA
|
|
proc _VectorMA 8 0
|
|
line 1119
|
|
;1116:
|
|
;1117:}
|
|
;1118:
|
|
;1119:void _VectorMA( const vec3_t veca, float scale, const vec3_t vecb, vec3_t vecc) {
|
|
line 1120
|
|
;1120: vecc[0] = veca[0] + scale*vecb[0];
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1121
|
|
;1121: vecc[1] = veca[1] + scale*vecb[1];
|
|
ADDRLP4 0
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1122
|
|
;1122: vecc[2] = veca[2] + scale*vecb[2];
|
|
ADDRLP4 4
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1123
|
|
;1123:}
|
|
LABELV $286
|
|
endproc _VectorMA 8 0
|
|
export _DotProduct
|
|
proc _DotProduct 16 0
|
|
line 1126
|
|
;1124:
|
|
;1125:
|
|
;1126:vec_t _DotProduct( const vec3_t v1, const vec3_t v2 ) {
|
|
line 1127
|
|
;1127: return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2];
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 12
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
RETF4
|
|
LABELV $287
|
|
endproc _DotProduct 16 0
|
|
export _VectorSubtract
|
|
proc _VectorSubtract 8 0
|
|
line 1130
|
|
;1128:}
|
|
;1129:
|
|
;1130:void _VectorSubtract( const vec3_t veca, const vec3_t vecb, vec3_t out ) {
|
|
line 1131
|
|
;1131: out[0] = veca[0]-vecb[0];
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1132
|
|
;1132: out[1] = veca[1]-vecb[1];
|
|
ADDRLP4 0
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1133
|
|
;1133: out[2] = veca[2]-vecb[2];
|
|
ADDRLP4 4
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1134
|
|
;1134:}
|
|
LABELV $288
|
|
endproc _VectorSubtract 8 0
|
|
export _VectorAdd
|
|
proc _VectorAdd 8 0
|
|
line 1136
|
|
;1135:
|
|
;1136:void _VectorAdd( const vec3_t veca, const vec3_t vecb, vec3_t out ) {
|
|
line 1137
|
|
;1137: out[0] = veca[0]+vecb[0];
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1138
|
|
;1138: out[1] = veca[1]+vecb[1];
|
|
ADDRLP4 0
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1139
|
|
;1139: out[2] = veca[2]+vecb[2];
|
|
ADDRLP4 4
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1140
|
|
;1140:}
|
|
LABELV $289
|
|
endproc _VectorAdd 8 0
|
|
export _VectorCopy
|
|
proc _VectorCopy 8 0
|
|
line 1142
|
|
;1141:
|
|
;1142:void _VectorCopy( const vec3_t in, vec3_t out ) {
|
|
line 1143
|
|
;1143: out[0] = in[0];
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1144
|
|
;1144: out[1] = in[1];
|
|
ADDRLP4 0
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1145
|
|
;1145: out[2] = in[2];
|
|
ADDRLP4 4
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1146
|
|
;1146:}
|
|
LABELV $290
|
|
endproc _VectorCopy 8 0
|
|
export _VectorScale
|
|
proc _VectorScale 8 0
|
|
line 1148
|
|
;1147:
|
|
;1148:void _VectorScale( const vec3_t in, vec_t scale, vec3_t out ) {
|
|
line 1149
|
|
;1149: out[0] = in[0]*scale;
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1150
|
|
;1150: out[1] = in[1]*scale;
|
|
ADDRLP4 0
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1151
|
|
;1151: out[2] = in[2]*scale;
|
|
ADDRLP4 4
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1152
|
|
;1152:}
|
|
LABELV $291
|
|
endproc _VectorScale 8 0
|
|
export Vector4Scale
|
|
proc Vector4Scale 12 0
|
|
line 1154
|
|
;1153:
|
|
;1154:void Vector4Scale( const vec4_t in, vec_t scale, vec4_t out ) {
|
|
line 1155
|
|
;1155: out[0] = in[0]*scale;
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1156
|
|
;1156: out[1] = in[1]*scale;
|
|
ADDRLP4 0
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1157
|
|
;1157: out[2] = in[2]*scale;
|
|
ADDRLP4 4
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1158
|
|
;1158: out[3] = in[3]*scale;
|
|
ADDRLP4 8
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1159
|
|
;1159:}
|
|
LABELV $292
|
|
endproc Vector4Scale 12 0
|
|
export Q_log2
|
|
proc Q_log2 8 0
|
|
line 1162
|
|
;1160:
|
|
;1161:
|
|
;1162:int Q_log2( int val ) {
|
|
line 1165
|
|
;1163: int answer;
|
|
;1164:
|
|
;1165: answer = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $295
|
|
JUMPV
|
|
LABELV $294
|
|
line 1166
|
|
;1166: while ( ( val>>=1 ) != 0 ) {
|
|
line 1167
|
|
;1167: answer++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1168
|
|
;1168: }
|
|
LABELV $295
|
|
line 1166
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
RSHI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $294
|
|
line 1169
|
|
;1169: return answer;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
RETI4
|
|
LABELV $293
|
|
endproc Q_log2 8 0
|
|
export MatrixMultiply
|
|
proc MatrixMultiply 104 0
|
|
line 1198
|
|
;1170:}
|
|
;1171:
|
|
;1172:
|
|
;1173:
|
|
;1174:/*
|
|
;1175:=================
|
|
;1176:PlaneTypeForNormal
|
|
;1177:=================
|
|
;1178:*/
|
|
;1179:/*
|
|
;1180:int PlaneTypeForNormal (vec3_t normal) {
|
|
;1181: if ( normal[0] == 1.0 )
|
|
;1182: return PLANE_X;
|
|
;1183: if ( normal[1] == 1.0 )
|
|
;1184: return PLANE_Y;
|
|
;1185: if ( normal[2] == 1.0 )
|
|
;1186: return PLANE_Z;
|
|
;1187:
|
|
;1188: return PLANE_NON_AXIAL;
|
|
;1189:}
|
|
;1190:*/
|
|
;1191:
|
|
;1192:
|
|
;1193:/*
|
|
;1194:================
|
|
;1195:MatrixMultiply
|
|
;1196:================
|
|
;1197:*/
|
|
;1198:void MatrixMultiply(float in1[3][3], float in2[3][3], float out[3][3]) {
|
|
line 1199
|
|
;1199: out[0][0] = in1[0][0] * in2[0][0] + in1[0][1] * in2[1][0] +
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1201
|
|
;1200: in1[0][2] * in2[2][0];
|
|
;1201: out[0][1] = in1[0][0] * in2[0][1] + in1[0][1] * in2[1][1] +
|
|
ADDRLP4 8
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 12
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1203
|
|
;1202: in1[0][2] * in2[2][1];
|
|
;1203: out[0][2] = in1[0][0] * in2[0][2] + in1[0][1] * in2[1][2] +
|
|
ADDRLP4 20
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1205
|
|
;1204: in1[0][2] * in2[2][2];
|
|
;1205: out[1][0] = in1[1][0] * in2[0][0] + in1[1][1] * in2[1][0] +
|
|
ADDRLP4 32
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRLP4 36
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 40
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1207
|
|
;1206: in1[1][2] * in2[2][0];
|
|
;1207: out[1][1] = in1[1][0] * in2[0][1] + in1[1][1] * in2[1][1] +
|
|
ADDRLP4 44
|
|
CNSTI4 16
|
|
ASGNI4
|
|
ADDRLP4 48
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 52
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 48
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 48
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 48
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1209
|
|
;1208: in1[1][2] * in2[2][1];
|
|
;1209: out[1][2] = in1[1][0] * in2[0][2] + in1[1][1] * in2[1][2] +
|
|
ADDRLP4 56
|
|
CNSTI4 20
|
|
ASGNI4
|
|
ADDRLP4 60
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 64
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1211
|
|
;1210: in1[1][2] * in2[2][2];
|
|
;1211: out[2][0] = in1[2][0] * in2[0][0] + in1[2][1] * in2[1][0] +
|
|
ADDRLP4 68
|
|
CNSTI4 24
|
|
ASGNI4
|
|
ADDRLP4 72
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 76
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1213
|
|
;1212: in1[2][2] * in2[2][0];
|
|
;1213: out[2][1] = in1[2][0] * in2[0][1] + in1[2][1] * in2[1][1] +
|
|
ADDRLP4 80
|
|
CNSTI4 28
|
|
ASGNI4
|
|
ADDRLP4 84
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 88
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1215
|
|
;1214: in1[2][2] * in2[2][1];
|
|
;1215: out[2][2] = in1[2][0] * in2[0][2] + in1[2][1] * in2[1][2] +
|
|
ADDRLP4 92
|
|
CNSTI4 32
|
|
ASGNI4
|
|
ADDRLP4 96
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 100
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 96
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 100
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 96
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 100
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ADDRLP4 96
|
|
INDIRP4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 100
|
|
INDIRP4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1217
|
|
;1216: in1[2][2] * in2[2][2];
|
|
;1217:}
|
|
LABELV $297
|
|
endproc MatrixMultiply 104 0
|
|
bss
|
|
align 4
|
|
LABELV $299
|
|
skip 4
|
|
align 4
|
|
LABELV $300
|
|
skip 4
|
|
align 4
|
|
LABELV $301
|
|
skip 4
|
|
align 4
|
|
LABELV $302
|
|
skip 4
|
|
align 4
|
|
LABELV $303
|
|
skip 4
|
|
align 4
|
|
LABELV $304
|
|
skip 4
|
|
export AngleVectors
|
|
code
|
|
proc AngleVectors 36 4
|
|
line 1220
|
|
;1218:
|
|
;1219:
|
|
;1220:void AngleVectors( const vec3_t angles, vec3_t forward, vec3_t right, vec3_t up) {
|
|
line 1225
|
|
;1221: float angle;
|
|
;1222: static float sr, sp, sy, cr, cp, cy;
|
|
;1223: // static to help MS compiler fp bugs
|
|
;1224:
|
|
;1225: angle = angles[YAW] * (M_PI*2 / 360);
|
|
ADDRLP4 0
|
|
CNSTF4 1016003125
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1226
|
|
;1226: sy = sin(angle);
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 4
|
|
ADDRGP4 sin
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRGP4 $301
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1227
|
|
;1227: cy = cos(angle);
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 8
|
|
ADDRGP4 cos
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRGP4 $304
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1228
|
|
;1228: angle = angles[PITCH] * (M_PI*2 / 360);
|
|
ADDRLP4 0
|
|
CNSTF4 1016003125
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1229
|
|
;1229: sp = sin(angle);
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 12
|
|
ADDRGP4 sin
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRGP4 $300
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1230
|
|
;1230: cp = cos(angle);
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 16
|
|
ADDRGP4 cos
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRGP4 $303
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1231
|
|
;1231: angle = angles[ROLL] * (M_PI*2 / 360);
|
|
ADDRLP4 0
|
|
CNSTF4 1016003125
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1232
|
|
;1232: sr = sin(angle);
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 20
|
|
ADDRGP4 sin
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRGP4 $299
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1233
|
|
;1233: cr = cos(angle);
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 24
|
|
ADDRGP4 cos
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRGP4 $302
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1235
|
|
;1234:
|
|
;1235: if (forward)
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $305
|
|
line 1236
|
|
;1236: {
|
|
line 1237
|
|
;1237: forward[0] = cp*cy;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRGP4 $303
|
|
INDIRF4
|
|
ADDRGP4 $304
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1238
|
|
;1238: forward[1] = cp*sy;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRGP4 $303
|
|
INDIRF4
|
|
ADDRGP4 $301
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1239
|
|
;1239: forward[2] = -sp;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRGP4 $300
|
|
INDIRF4
|
|
NEGF4
|
|
ASGNF4
|
|
line 1240
|
|
;1240: }
|
|
LABELV $305
|
|
line 1241
|
|
;1241: if (right)
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $307
|
|
line 1242
|
|
;1242: {
|
|
line 1243
|
|
;1243: right[0] = (-1*sr*sp*cy+-1*cr*-sy);
|
|
ADDRLP4 28
|
|
CNSTF4 3212836864
|
|
ASGNF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ADDRGP4 $299
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $300
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $304
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ADDRGP4 $302
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $301
|
|
INDIRF4
|
|
NEGF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1244
|
|
;1244: right[1] = (-1*sr*sp*sy+-1*cr*cy);
|
|
ADDRLP4 32
|
|
CNSTF4 3212836864
|
|
ASGNF4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ADDRGP4 $299
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $300
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $301
|
|
INDIRF4
|
|
MULF4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ADDRGP4 $302
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $304
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1245
|
|
;1245: right[2] = -1*sr*cp;
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
CNSTF4 3212836864
|
|
ADDRGP4 $299
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $303
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1246
|
|
;1246: }
|
|
LABELV $307
|
|
line 1247
|
|
;1247: if (up)
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $309
|
|
line 1248
|
|
;1248: {
|
|
line 1249
|
|
;1249: up[0] = (cr*sp*cy+-sr*-sy);
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ADDRGP4 $302
|
|
INDIRF4
|
|
ADDRGP4 $300
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $304
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $299
|
|
INDIRF4
|
|
NEGF4
|
|
ADDRGP4 $301
|
|
INDIRF4
|
|
NEGF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1250
|
|
;1250: up[1] = (cr*sp*sy+-sr*cy);
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRGP4 $302
|
|
INDIRF4
|
|
ADDRGP4 $300
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $301
|
|
INDIRF4
|
|
MULF4
|
|
ADDRGP4 $299
|
|
INDIRF4
|
|
NEGF4
|
|
ADDRGP4 $304
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1251
|
|
;1251: up[2] = cr*cp;
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRGP4 $302
|
|
INDIRF4
|
|
ADDRGP4 $303
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 1252
|
|
;1252: }
|
|
LABELV $309
|
|
line 1253
|
|
;1253:}
|
|
LABELV $298
|
|
endproc AngleVectors 36 4
|
|
export PerpendicularVector
|
|
proc PerpendicularVector 36 12
|
|
line 1259
|
|
;1254:
|
|
;1255:/*
|
|
;1256:** assumes "src" is normalized
|
|
;1257:*/
|
|
;1258:void PerpendicularVector( vec3_t dst, const vec3_t src )
|
|
;1259:{
|
|
line 1262
|
|
;1260: int pos;
|
|
;1261: int i;
|
|
;1262: float minelem = 1.0F;
|
|
ADDRLP4 4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 1268
|
|
;1263: vec3_t tempvec;
|
|
;1264:
|
|
;1265: /*
|
|
;1266: ** find the smallest magnitude axially aligned vector
|
|
;1267: */
|
|
;1268: for ( pos = 0, i = 0; i < 3; i++ )
|
|
ADDRLP4 24
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRGP4 $315
|
|
JUMPV
|
|
LABELV $312
|
|
line 1269
|
|
;1269: {
|
|
line 1270
|
|
;1270: if ( fabs( src[i] ) < minelem )
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 28
|
|
ADDRGP4 fabs
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
GEF4 $316
|
|
line 1271
|
|
;1271: {
|
|
line 1272
|
|
;1272: pos = i;
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1273
|
|
;1273: minelem = fabs( src[i] );
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 32
|
|
ADDRGP4 fabs
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1274
|
|
;1274: }
|
|
LABELV $316
|
|
line 1275
|
|
;1275: }
|
|
LABELV $313
|
|
line 1268
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
LABELV $315
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LTI4 $312
|
|
line 1276
|
|
;1276: tempvec[0] = tempvec[1] = tempvec[2] = 0.0F;
|
|
ADDRLP4 28
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 12+8
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 12+4
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1277
|
|
;1277: tempvec[pos] = 1.0F;
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 12
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 1282
|
|
;1278:
|
|
;1279: /*
|
|
;1280: ** project the point onto the plane defined by src
|
|
;1281: */
|
|
;1282: ProjectPointOnPlane( dst, tempvec, src );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 12
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 ProjectPointOnPlane
|
|
CALLV
|
|
pop
|
|
line 1287
|
|
;1283:
|
|
;1284: /*
|
|
;1285: ** normalize the result
|
|
;1286: */
|
|
;1287: VectorNormalize( dst );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 VectorNormalize
|
|
CALLF4
|
|
pop
|
|
line 1288
|
|
;1288:}
|
|
LABELV $311
|
|
endproc PerpendicularVector 36 12
|
|
data
|
|
align 4
|
|
LABELV holdrand
|
|
byte 4 2309737967
|
|
export Rand_Init
|
|
code
|
|
proc Rand_Init 0 0
|
|
line 1300
|
|
;1289:
|
|
;1290:// This is the VC libc version of rand() without multiple seeds per thread or 12 levels
|
|
;1291:// of subroutine calls.
|
|
;1292:// Both calls have been designed to minimise the inherent number of float <--> int
|
|
;1293:// conversions and the additional math required to get the desired value.
|
|
;1294:// eg the typical tint = (rand() * 255) / 32768
|
|
;1295:// becomes tint = irand(0, 255)
|
|
;1296:
|
|
;1297:static unsigned long holdrand = 0x89abcdef;
|
|
;1298:
|
|
;1299:void Rand_Init(int seed)
|
|
;1300:{
|
|
line 1301
|
|
;1301: holdrand = seed;
|
|
ADDRGP4 holdrand
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CVIU4 4
|
|
ASGNU4
|
|
line 1302
|
|
;1302:}
|
|
LABELV $320
|
|
endproc Rand_Init 0 0
|
|
export flrand
|
|
proc flrand 16 0
|
|
line 1307
|
|
;1303:
|
|
;1304:// Returns a float min <= x < max (exclusive; will get max - 0.00001; but never max)
|
|
;1305:
|
|
;1306:float flrand(float min, float max)
|
|
;1307:{
|
|
line 1310
|
|
;1308: float result;
|
|
;1309:
|
|
;1310: assert((max - min) < 32768);
|
|
line 1312
|
|
;1311:
|
|
;1312: holdrand = (holdrand * 214013L) + 2531011L;
|
|
ADDRLP4 4
|
|
ADDRGP4 holdrand
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTU4 214013
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRU4
|
|
MULU4
|
|
CNSTU4 2531011
|
|
ADDU4
|
|
ASGNU4
|
|
line 1313
|
|
;1313: result = (float)(holdrand >> 17); // 0 - 32767 range
|
|
ADDRLP4 8
|
|
ADDRGP4 holdrand
|
|
INDIRU4
|
|
CNSTI4 17
|
|
RSHU4
|
|
ASGNU4
|
|
ADDRLP4 0
|
|
CNSTF4 1073741824
|
|
ADDRLP4 8
|
|
INDIRU4
|
|
CNSTI4 1
|
|
RSHU4
|
|
CVUI4 4
|
|
CVIF4 4
|
|
MULF4
|
|
ADDRLP4 8
|
|
INDIRU4
|
|
CNSTU4 1
|
|
BANDU4
|
|
CVUI4 4
|
|
CVIF4 4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1314
|
|
;1314: result = ((result * (max - min)) / 32768.0F) + min;
|
|
ADDRLP4 12
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
SUBF4
|
|
MULF4
|
|
CNSTF4 1191182336
|
|
DIVF4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 1316
|
|
;1315:
|
|
;1316: return(result);
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $321
|
|
endproc flrand 16 0
|
|
export irand
|
|
proc irand 12 0
|
|
line 1322
|
|
;1317:}
|
|
;1318:
|
|
;1319:// Returns an integer min <= x <= max (ie inclusive)
|
|
;1320:
|
|
;1321:int irand(int min, int max)
|
|
;1322:{
|
|
line 1325
|
|
;1323: int result;
|
|
;1324:
|
|
;1325: assert((max - min) < 32768);
|
|
line 1327
|
|
;1326:
|
|
;1327: max++;
|
|
ADDRFP4 4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1328
|
|
;1328: holdrand = (holdrand * 214013L) + 2531011L;
|
|
ADDRLP4 4
|
|
ADDRGP4 holdrand
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTU4 214013
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRU4
|
|
MULU4
|
|
CNSTU4 2531011
|
|
ADDU4
|
|
ASGNU4
|
|
line 1329
|
|
;1329: result = holdrand >> 17;
|
|
ADDRLP4 0
|
|
ADDRGP4 holdrand
|
|
INDIRU4
|
|
CNSTI4 17
|
|
RSHU4
|
|
CVUI4 4
|
|
ASGNI4
|
|
line 1330
|
|
;1330: result = ((result * (max - min)) >> 15) + min;
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
SUBI4
|
|
MULI4
|
|
CNSTI4 15
|
|
RSHI4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDI4
|
|
ASGNI4
|
|
line 1331
|
|
;1331: return(result);
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
RETI4
|
|
LABELV $322
|
|
endproc irand 12 0
|
|
export powf
|
|
proc powf 8 0
|
|
line 1335
|
|
;1332:}
|
|
;1333:
|
|
;1334:float powf ( float x, int y )
|
|
;1335:{
|
|
line 1336
|
|
;1336: float r = x;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1337
|
|
;1337: for ( y--; y>0; y-- )
|
|
ADDRFP4 4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ASGNI4
|
|
ADDRGP4 $327
|
|
JUMPV
|
|
LABELV $324
|
|
line 1338
|
|
;1338: r = r * r;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
LABELV $325
|
|
line 1337
|
|
ADDRFP4 4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ASGNI4
|
|
LABELV $327
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
GTI4 $324
|
|
line 1339
|
|
;1339: return r;
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $323
|
|
endproc powf 8 0
|
|
import GetStringForID
|
|
import GetIDForString
|
|
import Q_irand
|
|
import Com_Printf
|
|
import Com_Error
|
|
import Info_NextPair
|
|
import Info_Validate
|
|
import Info_SetValueForKey_Big
|
|
import Info_SetValueForKey
|
|
import Info_RemoveKey_big
|
|
import Info_RemoveKey
|
|
import Info_ValueForKey
|
|
import va
|
|
import Q_CleanStr
|
|
import Q_PrintStrlen
|
|
import Q_strcat
|
|
import Q_strncpyz
|
|
import Q_strrchr
|
|
import Q_strupr
|
|
import Q_strlwr
|
|
import Q_stricmpn
|
|
import Q_strncmp
|
|
import Q_stricmp
|
|
import Q_isalpha
|
|
import Q_isupper
|
|
import Q_islower
|
|
import Q_isprint
|
|
import Com_sprintf
|
|
import Parse3DMatrix
|
|
import Parse2DMatrix
|
|
import Parse1DMatrix
|
|
import SkipRestOfLine
|
|
import SkipBracedSection
|
|
import COM_MatchToken
|
|
import COM_ParseWarning
|
|
import COM_ParseError
|
|
import COM_Compress
|
|
import COM_ParseExt
|
|
import COM_Parse
|
|
import SkipWhitespace
|
|
import COM_GetCurrentParseLine
|
|
import COM_BeginParseSession
|
|
import COM_DefaultExtension
|
|
import COM_StripExtension
|
|
import COM_SkipPath
|
|
import Com_Clamp
|
|
import Q_acos
|
|
import colorTable
|
|
import Com_Memcpy
|
|
import Com_Memset
|
|
import Hunk_Alloc
|
|
import forceSpeedLevels
|
|
import FloatSwap
|
|
import LongSwap
|
|
import ShortSwap
|
|
import acos
|
|
import fabs
|
|
import abs
|
|
import tan
|
|
import atan2
|
|
import cos
|
|
import sin
|
|
import sqrt
|
|
import floor
|
|
import ceil
|
|
import memcpy
|
|
import memset
|
|
import memmove
|
|
import sscanf
|
|
import vsprintf
|
|
import _atoi
|
|
import atoi
|
|
import _atof
|
|
import atof
|
|
import toupper
|
|
import tolower
|
|
import strncpy
|
|
import strstr
|
|
import strchr
|
|
import strcmp
|
|
import strcpy
|
|
import strcat
|
|
import strlen
|
|
import rand
|
|
import srand
|
|
import qsort
|