| 4054 | } |
| 4055 | |
| 4056 | void ProcessMissiles() |
| 4057 | { |
| 4058 | int i, mi; |
| 4059 | |
| 4060 | for (i = 0; i < nummissiles; i++) { |
| 4061 | dFlags[missile[missileactive[i]]._mix][missile[missileactive[i]]._miy] &= ~BFLAG_MISSILE; |
| 4062 | dMissile[missile[missileactive[i]]._mix][missile[missileactive[i]]._miy] = 0; |
| 4063 | } |
| 4064 | |
| 4065 | i = 0; |
| 4066 | while (i < nummissiles) { |
| 4067 | if (missile[missileactive[i]]._miDelFlag) { |
| 4068 | DeleteMissile(missileactive[i], i); |
| 4069 | i = 0; |
| 4070 | } else { |
| 4071 | i++; |
| 4072 | } |
| 4073 | } |
| 4074 | |
| 4075 | MissilePreFlag = FALSE; |
| 4076 | ManashieldFlag = FALSE; |
| 4077 | |
| 4078 | for (i = 0; i < nummissiles; i++) { |
| 4079 | mi = missileactive[i]; |
| 4080 | missiledata[missile[mi]._mitype].mProc(missileactive[i]); |
| 4081 | if (!(missile[mi]._miAnimFlags & MFLAG_LOCK_ANIMATION)) { |
| 4082 | missile[mi]._miAnimCnt++; |
| 4083 | if (missile[mi]._miAnimCnt >= missile[mi]._miAnimDelay) { |
| 4084 | missile[mi]._miAnimCnt = 0; |
| 4085 | missile[mi]._miAnimFrame += missile[mi]._miAnimAdd; |
| 4086 | if (missile[mi]._miAnimFrame > missile[mi]._miAnimLen) |
| 4087 | missile[mi]._miAnimFrame = 1; |
| 4088 | if (missile[mi]._miAnimFrame < 1) |
| 4089 | missile[mi]._miAnimFrame = missile[mi]._miAnimLen; |
| 4090 | } |
| 4091 | } |
| 4092 | } |
| 4093 | |
| 4094 | if (ManashieldFlag) { |
| 4095 | for (i = 0; i < nummissiles; i++) { |
| 4096 | if (missile[missileactive[i]]._mitype == MIS_MANASHIELD) { |
| 4097 | MI_Manashield(missileactive[i]); |
| 4098 | } |
| 4099 | } |
| 4100 | } |
| 4101 | |
| 4102 | i = 0; |
| 4103 | while (i < nummissiles) { |
| 4104 | if (missile[missileactive[i]]._miDelFlag) { |
| 4105 | DeleteMissile(missileactive[i], i); |
| 4106 | i = 0; |
| 4107 | } else { |
| 4108 | i++; |
| 4109 | } |
| 4110 | } |
| 4111 | } |
| 4112 | |
| 4113 | void missiles_process_charge() |
no test coverage detected