X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。
| Revision | 210 (tree) |
|---|---|
| Time | 2018-11-05 22:29:55 |
| Author | |
発砲時の誤差計算を修正
| @@ -1934,27 +1934,24 @@ | ||
| 1934 | 1934 | ry = armrotation_y; |
| 1935 | 1935 | |
| 1936 | 1936 | //誤差を決定 |
| 1937 | - int ErrorRange_x, ErrorRange_y; | |
| 1938 | - if( (ErrorRange - ParamData.ErrorRangeMIN) == 0 ){ | |
| 1939 | - ErrorRange_x = ErrorRange; | |
| 1940 | - ErrorRange_y = ErrorRange; | |
| 1941 | - } | |
| 1942 | - else{ | |
| 1943 | - ErrorRange_x = GetRand(ErrorRange - ParamData.ErrorRangeMIN) + ParamData.ErrorRangeMIN; | |
| 1944 | - ErrorRange_y = GetRand(ErrorRange - ParamData.ErrorRangeMIN) + ParamData.ErrorRangeMIN; | |
| 1945 | - } | |
| 1946 | - if( GetRand(2) == 0 ){ ErrorRange_x *= -1; } | |
| 1947 | - if( GetRand(2) == 0 ){ ErrorRange_y *= -1; } | |
| 1937 | + if( ErrorRange != 0 ){ | |
| 1938 | + int ErrorRange_x, ErrorRange_y; | |
| 1948 | 1939 | |
| 1949 | - //発射誤差の角度を求める | |
| 1950 | - float a, r; | |
| 1951 | - a = atan2((float)ErrorRange_y, (float)ErrorRange_x); | |
| 1952 | - r = sqrt((float)(ErrorRange_x*ErrorRange_x + ErrorRange_y*ErrorRange_y)); | |
| 1940 | + ErrorRange_x = GetRand(ErrorRange+1); | |
| 1941 | + ErrorRange_y = GetRand(ErrorRange+1); | |
| 1942 | + if( GetRand(2) == 0 ){ ErrorRange_x *= -1; } | |
| 1943 | + if( GetRand(2) == 0 ){ ErrorRange_y *= -1; } | |
| 1953 | 1944 | |
| 1954 | - //誤差分 角度に加算 | |
| 1955 | - rx += cos(a)*r * DegreeToRadian(0.15f); | |
| 1956 | - ry += sin(a)*r * DegreeToRadian(0.15f); | |
| 1945 | + //発射誤差の角度を求める | |
| 1946 | + float a, r; | |
| 1947 | + a = atan2((float)ErrorRange_y, (float)ErrorRange_x); | |
| 1948 | + r = sqrt((float)(ErrorRange_x*ErrorRange_x + ErrorRange_y*ErrorRange_y)); | |
| 1957 | 1949 | |
| 1950 | + //誤差分 角度に加算 | |
| 1951 | + rx += cos(a)*r * DegreeToRadian(0.15f); | |
| 1952 | + ry += sin(a)*r * DegreeToRadian(0.15f); | |
| 1953 | + } | |
| 1954 | + | |
| 1958 | 1955 | //手榴弾でなければ |
| 1959 | 1956 | if( grenadeflag == false ){ |
| 1960 | 1957 | class bullet* newbullet; |
| @@ -1974,7 +1971,7 @@ | ||
| 1974 | 1971 | |
| 1975 | 1972 | //さらに誤差を増やして拡散させる |
| 1976 | 1973 | int len; |
| 1977 | - a = DegreeToRadian(10) * GetRand(36); | |
| 1974 | + float a = DegreeToRadian(10) * GetRand(36); | |
| 1978 | 1975 | len = GetRand(5)*2+5; |
| 1979 | 1976 | rx2 = rx + cos(a)*len * DegreeToRadian(0.15f); |
| 1980 | 1977 | ry2 = ry + sin(a)*len * DegreeToRadian(0.15f); |