openmoh / openmohaa

Open re-implementation of Medal of Honor: Allied Assault including Spearhead and Breakthrough expansions with modern features and bugfixes from ioquake3 with cross-platform support
https://www.openmohaa.org
GNU General Public License v2.0
378 stars 25 forks source link

(AA - Sky Limit Total Conversion) infinite loop of errors while trying to load map #505

Closed bulldozerecske closed 3 weeks ago

bulldozerecske commented 3 weeks ago

El Alamein 1942 map could not be loaded in OpenMohaa, because console is flooding errors. Total conversion can be downloaded from here: https://www.mohaaaa.co.uk/AAAAMOHAA/content/sky-limit-el-alamein-1942

==== CleanupGame ====
CM_LoadMap( maps/dm/sl_alamein.bsp, 0 )
WARNING: Couldn't find voting options file: callvote.cfg
-------------------- Spawning Entities -----------------------
soundtrack switched to .
-------------------- Actual Spawning Entities -----------------------
-------------------- Actual Spawning Entities Done ------------------ 1 ms
0 teams with 0 entities
Adding script: 'maps/dm/sl_alamein.scr'
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/dummy.tik
soundtrack switched to global/skylimit/soundtrack.mus.
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/fx/tracer/tracer.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/fx/muzzle/skel/muzzle.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/hud/headicon/headicon.skc
^~^~^ Box data is corrupted for 'models/human/allied_pilot/allied_pilot.skd'
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/items/chute/chute_deploy.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/items/chute/chute.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/items/parahealth/parahealth.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/utils/8tags/8tags.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/utils/unitconnector/idle.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/utils/unitconnector/reverse.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/weapons/37mm/37mm.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/weapons/cal50/cal50.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/weapons/german_bomb/german_bomb.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/weapons/lewis/lewis.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/weapons/mg17/mg17.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/weapons/torpedo/torpedo.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/weapons/twin_mg/twin_mg.skc
WARNING- DOWNGRADING TO OLD ANIMATION FORMAT FOR FILE: models/skylimit/weapons/racks/3rack/3rack.skc
(global/skylimit/performance.scr, 43):
local.ss = local.atmo[4]
local.ss = local.atmo^
^~^~^ Script Error : array index 4 out of range

(global/skylimit/performance.scr, 148):
local.mach = local.max_speed / local.ss
local.mach = local.max_speed ^
^~^~^ Script Error : binary '/' applied to incompatible types 'none' and 'const array'

(global/skylimit/performance.scr, 150):
local.mach_mult = waitthread global/skylimit/math.scr::sqrt (1.0 - local.mach * local.mach)
local.mach_mult = waitthread global/skylimit/math.scr::sqrt (1.0 - local.mach ^
^~^~^ Script Error : binary '*' applied to incompatible types 'none' and 'none'

(global/skylimit/performance.scr, 150):
local.mach_mult = waitthread global/skylimit/math.scr::sqrt (1.0 - local.mach * local.mach)
local.mach_mult = waitthread global/skylimit/math.scr::sqrt (1.0^
^~^~^ Script Error : binary '-' applied to incompatible types 'none' and 'none'

(global/skylimit/math.scr, 231):
else if (local.x < 0.0)
else if (local.x ^
^~^~^ Script Error : binary '<' applied to incompatible types 'none' and 'float'

(global/skylimit/math.scr, 245):
while (local.wx > 2.0)
while (local.wx ^
^~^~^ Script Error : binary '>' applied to incompatible types 'none' and 'float'

(global/skylimit/math.scr, 252):
while(local.wx < 1.0)
while(local.wx ^
^~^~^ Script Error : binary '<' applied to incompatible types 'none' and 'float'

(global/skylimit/math.scr, 272):
local.eval = local.EVALSLOPE * local.wx + local.EVALMOD
local.eval = local.EVALSLOPE ^
^~^~^ Script Error : binary '*' applied to incompatible types 'none' and 'none'

(global/skylimit/math.scr, 272):
// automatically generated by MOH Piler 4

// (c) 2006 Jeroen Vrijkorte a.k.a. jv_map

// some maths

// by jv_map

init:

// geometry arrays for path tracer

// faces: ft,bk,lf,rt,up,dn (ft = +x, lf = +y, up = +z)

level.MATH_box_face_normals = (1 0 0)::( -1 0 0)::(0 1 0)::(0 -1 0)::(0 0 1)::(0 0 -1)

level.MATH_box_face_signs = 1::( -1)::1::( -1)::1::( -1)

// u,v,n local coords

level.MATH_box_face_u[1] = (0 1 0)

level.MATH_box_face_v[1] = (0 0 1)

level.MATH_box_face_u[2] = (0 1 0)

level.MATH_box_face_v[2] = (0 0 1)

level.MATH_box_face_u[3] = (1 0 0)

level.MATH_box_face_v[3] = (0 0 1)

level.MATH_box_face_u[4] = (1 0 0)

level.MATH_box_face_v[4] = (0 0 1)

level.MATH_box_face_u[5] = (0 1 0)

level.MATH_box_face_v[5] = (1 0 0)

level.MATH_box_face_u[6] = (0 1 0)

level.MATH_box_face_v[6] = (1 0 0)

end

// sin(x), x in rad

sin local.x:

end (waitthread global/skylimit/math.scr::cos(local.x - 0.5 * level.PI))

// cos(x), x in rad

cos local.x:

// reduce to [0,2pi]

if(local.x > 2.0 * level.PI)

{

local.x -= (int (local.x / (2.0 * level.PI))) * 2.0 * level.PI

}

else if(local.x < 0.0)

{

local.x += ((int ( -local.x / (2.0 * level.PI))) + 1) * 2.0 * level.PI

}

// reduce to [-pi,pi]

if(local.x > level.PI)

{

local.x -= 2.0 * level.PI

}

// taylor series expansion

//local.cosx = 1.0 - local.x * local.x / 2.0 + (waitthread powint local.x 4) / (waitthread factorial 4) - (waitthread powint local.x 6) / (waitthread factorial 6) + (waitthread powint local.x 8) / (waitthread factorial 8) - (waitthread powint local.x 10) / (waitthread factorial 10)

// performance improvement

local.x2 = local.x * local.x

local.x4 = local.x2 * local.x2

local.x6 = local.x4 * local.x2

local.x8 = local.x6 * local.x2

local.x10 = local.x8 * local.x2

local.cosx = 1.0 - local.x2 / 2.0 + local.x4 / 24.0 - local.x6 / 720.0 + local.x8 / 40320.0 - local.x10 / 3628800.0

if(local.cosx > 1.0)

{

local.cosx = 1.0

}

else if(local.cosx < -1.0)

{

local.cosx = -1.0

}

end local.cosx

// inverse sin

// somewhat inaccurate near +-0.5PI

arcsin local.x:

if(local.x < -0.857 || local.x > 0.857)

{

// some 9th order approximation

local.x3 = local.x * local.x * local.x

local.x9 = local.x3 * local.x3 * local.x3

local.out = local.x + (0.5 * level.PI - 1.0) * local.x9

}

else

{

local.x2 = local.x * local.x

local.x3 = local.x2 * local.x

local.x5 = local.x3 * local.x2

// Taylor series expansion

local.out = local.x + 0.1667 * local.x3 + 0.075 * local.x5

}

end local.out

// inverse cos

arccos local.rad:

end (0.5 * level.PI - (waitthread global/skylimit/math.scr::arcsin local.rad))

// inverse tan

arctan local.x:

if(local.x == 0.0)

{

local.angle_rad = 0.0

}

else

{

if(local.x < 0.0)

{

local.negative = game.true

local.x = -local.x

}

if(local.x < 0.76395)

{

// Taylor expansion

local.x2 = local.x * local.x

local.x3 = local.x * local.x2

local.x5 = local.x3 * local.x2

local.angle_rad = local.x - local.x3 / 3.0 + local.x5 / 5.0

}

else if(local.x < 1.24245)

{

// McLaurin expansion centered about x=1

local.angle_rad = 0.25 * level.PI + 0.5 * (local.x - 1) - 0.5 * (local.x - 1) * (local.x - 1)

// this smooths it somewhat

local.angle_rad += 0.026

}

else

{

// expansion towards infinity

local.x2 = local.x * local.x

local.x3 = local.x * local.x2

local.x5 = local.x3 * local.x2

local.x7 = local.x5 * local.x2

local.angle_rad = 0.5 * level.PI - 1.0 / local.x + 1.0 / 3.0 / local.x3 - 1.0 / 5.0 / local.x5 + 1.0 / 7.0 / local.x7

}

if(local.negative)

{

local.angle_rad = -local.angle_rad

}

}

end local.angle_rad

// quadrant-wise arctan, expands arctan domain to [-pi,pi]

arctan2 local.y local.x:

local.value = waitthread arctan (local.y / local.x)

if(local.x >= 0)

{

local.angle_rad = local.value

}

else

{

local.angle_rad = local.value + level.PI

if(local.angle_rad > level.PI)

{

local.angle_rad -= 2.0 * level.PI

}

}

end local.angle_rad

// faster, less accurate

quicksin local.x:

// reduce to [0,2pi]

if(local.x > 2.0 * leveЕ%^~^~^ Script Error : binary '+' applied to incompatible types 'none' and 'float'

(global/skylimit/math.scr, 292):
local.fact = local.eval * local.eval / local.x
local.fact = local.eval ^
^~^~^ Script Error : binary '*' applied to incompatible types 'none' and 'none'

(global/skylimit/math.scr, 292):
// automatically generated by MOH Piler 4

// (c) 2006 Jeroen Vrijkorte a.k.a. jv_map

Version: OpenMoHAA 0.80.0-unstable+239.5ba6c00 win_msvc64-x86_64 Oct 29 2024 UTC