home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Enigma Amiga Life 113
/
EnigmaAmiga113CD.iso
/
software
/
sviluppo
/
glquake_src
/
gl_warp.s
< prev
next >
Wrap
Text File
|
2000-02-15
|
29KB
|
1,608 lines
; Storm C Compiler
; Progs:Programming/Project/GLQuake_beta/gl_warp.c
mc68030
mc68881
XREF _GL_DisableMultitexture
XREF _GL_Bind
XREF _MGLSetZOffset
XREF _MGLPrintMatrixStack
XREF _MGLPrintMatrix
XREF _MGLLockMode
XREF _MGLWriteShotPPM
XREF _MGLUnlockDisplay
XREF _MGLTexMemStat
XREF _MGLSwitchDisplay
XREF _MGLSpecialFunc
XREF _MGLSetState
XREF _MGLResizeContext
XREF _MGLMouseFunc
XREF _MGLMainLoop
XREF _MGLLockDisplay
XREF _MGLKeyFunc
XREF _MGLIdleFunc
XREF _MGLGetWindowHandle
XREF _MGLExit
XREF _MGLEnableSync
XREF _MGLDeleteContext
XREF _MGLCreateContext
XREF _GLViewport
XREF _GLVertex4fv
XREF _GLVertex4f
XREF _GLVertex3fv
XREF _GLTranslatef
XREF _GLTranslated
XREF _GLTexSubImage2D
XREF _GLTexParameteri
XREF _GLTexImage2D
XREF _GLTexGeni
XREF _GLTexEnvi
XREF _GLTexCoord2fv
XREF _GLTexCoord2f
XREF _GLShadeModel
XREF _GLScissor
XREF _GLScalef
XREF _GLScaled
XREF _GLRotatef
XREF _GLRotated
XREF _GLReadPixels
XREF _GLPushMatrix
XREF _GLPopMatrix
XREF _GLPolygonMode
XREF _GLPixelStorei
XREF _GLOrtho
XREF _GLNormal3f
XREF _GLMultMatrixf
XREF _GLMultMatrixd
XREF _GLMatrixMode
XREF _GLLoadMatrixf
XREF _GLLoadMatrixd
XREF _GLLoadIdentity
XREF _GLHint
XREF _GLGetString
XREF _GLGetFloatv
XREF _GLGetError
XREF _GLGenTextures
XREF _GLFrustum
XREF _GLFrontFace
XREF _GLFogfv
XREF _GLFogf
XREF _GLFlush
XREF _GLFinish
XREF _GLEnd
XREF _GLDrawBuffer
XREF _GLDepthRange
XREF _GLDepthMask
XREF _GLDepthFunc
XREF _GLDeleteTextures
XREF _GLCullFace
XREF _GLColor4ubv
XREF _GLColor4ub
XREF _GLColor4fv
XREF _GLColor4f
XREF _GLColor3ubv
XREF _GLColor3fv
XREF _GLClearDepth
XREF _GLClearColor
XREF _GLClear
XREF _GLBlendFunc
XREF _GLBindTexture
XREF _GLBegin
XREF _GLAlphaFunc
XREF _Hunk_Alloc
XREF _Sys_Error
XREF _floor__r
XREF _sqrt__r
XREF _std__in
XREF _std__out
XREF _std__err
XREF _bigendien
XREF _BigShort
XREF _LittleShort
XREF _BigLong
XREF _LittleLong
XREF _BigFloat
XREF _LittleFloat
XREF _msg_readcount
XREF _msg_badread
XREF _com_token
XREF _com_eof
XREF _com_argc
XREF _com_argv
XREF _com_filesize
XREF _com_gamedir
XREF _registered
XREF _standard_quake
XREF _rogue
XREF _hipnotic
XREF _vid
XREF _d_8to16table
XREF _d_8to24table
XREF _vid_menudrawfn
XREF _vid_menukeyfn
XREF _vec3_origin
XREF _nanmask
XREF _wad_numlumps
XREF _wad_lumps
XREF _wad_base
XREF _draw_disc
XREF _cvar_vars
XREF _scr_con_current
XREF _scr_conlines
XREF _scr_fullupdate
XREF _sb_lines
XREF _clearnotify
XREF _scr_disabled_for_loading
XREF _scr_skipupdate
XREF _scr_viewsize
XREF _scr_copytop
XREF _scr_copyeverything
XREF _block_drawing
XREF _net_activeSockets
XREF _net_freeSockets
XREF _net_numsockets
XREF _net_numlandrivers
XREF _net_landrivers
XREF _net_numdrivers
XREF _net_drivers
XREF _DEFAULTnet_hostport
XREF _net_hostport
XREF _net_driverlevel
XREF _hostname
XREF _playername
XREF _playercolor
XREF _messagesSent
XREF _messagesReceived
XREF _unreliableMessagesSent
XREF _unreliableMessagesReceived
XREF _hostCacheCount
XREF _hostcache
XREF _net_time
XREF _net_message
XREF _net_activeconnections
XREF _serialAvailable
XREF _ipxAvailable
XREF _tcpipAvailable
XREF _my_ipx_address
XREF _my_tcpip_address
XREF _GetComPortConfig
XREF _SetComPortConfig
XREF _GetModemConfig
XREF _SetModemConfig
XREF _slistInProgress
XREF _slistSilent
XREF _slistLocal
XREF _cmd_source
XREF _channels
XREF _total_channels
XREF _fakedma
XREF _fakedma_updates
XREF _paintedtime
XREF _listener_origin
XREF _listener_forward
XREF _listener_right
XREF _listener_up
XREF _shm
XREF _sn
XREF _sound_nominal_clip_dist
XREF _loadas8bit
XREF _bgmvolume
XREF _volume
XREF _snd_initialized
XREF _snd_blocked
XREF _reinit_surfcache
XREF _r_refdef
XREF _r_origin
XREF _vpn
XREF _vright
XREF _vup
XREF _r_notexture_mip
XREF _r_cache_thrash
XREF _cls
XREF _cl_name
XREF _cl_color
XREF _cl_upspeed
XREF _cl_forwardspeed
XREF _cl_backspeed
XREF _cl_sidespeed
XREF _cl_movespeedkey
XREF _cl_yawspeed
XREF _cl_pitchspeed
XREF _cl_anglespeedkey
XREF _cl_autofire
XREF _cl_shownet
XREF _cl_nolerp
XREF _cl_pitchdriftspeed
XREF _lookspring
XREF _lookstrafe
XREF _sensitivity
XREF _m_pitch
XREF _m_yaw
XREF _m_forward
XREF _m_side
XREF _cl
XREF _cl_efrags
XREF _cl_entities
XREF _cl_static_entities
XREF _cl_lightstyle
XREF _cl_dlights
XREF _cl_temp_entities
XREF _cl_beams
XREF _cl_numvisedicts
XREF _cl_visedicts
XREF _in_mlook
XREF _in_klook
XREF _in_strafe
XREF _in_speed
XREF _progs
XREF _pr_functions
XREF _pr_strings
XREF _pr_globaldefs
XREF _pr_fielddefs
XREF _pr_statements
XREF _pr_global_struct
XREF _pr_globals
XREF _pr_edict_size
XREF _type_size
XREF _pr_builtins
XREF _pr_numbuiltins
XREF _pr_argc
XREF _pr_trace
XREF _pr_xfunction
XREF _pr_xstatement
XREF _pr_crc
XREF _teamplay
XREF _skill
XREF _deathmatch
XREF _coop
XREF _fraglimit
XREF _timelimit
XREF _svs
XREF _sv
XREF _host_client
XREF _host_abortserver
XREF _host_time
XREF _sv_player
XREF _pheader
XREF _stverts
XREF _triangles
XREF _poseverts
XREF _key_dest
XREF _keybindings
XREF _key_repeats
XREF _key_count
XREF _key_lastpress
XREF _con_totallines
XREF _con_backscroll
XREF _con_forcedup
XREF _con_initialized
XREF _con_chars
XREF _con_notifylines
XREF _v_gamma
XREF _gammatable
XREF _ramps
XREF _v_blend
XREF _lcd_x
XREF _m_activenet
XREF _mini_CurrentContext
XREF _texture_extension_number
XREF _texture_mode
XREF _gldepthmin
XREF _gldepthmax
XREF _glv
XREF _glx
XREF _gly
XREF _glwidth
XREF _glheight
XREF _r_worldentity
XREF _modelorg
XREF _r_entorigin
XREF _currententity
XREF _r_visframecount
XREF _r_framecount
XREF _frustum
XREF _c_brush_polys
XREF _c_alias_polys
XREF _r_viewleaf
XREF _r_oldviewleaf
XREF _d_lightstylevalue
XREF _envmap
XREF _currenttexture
XREF _cnttextures
XREF _particletexture
XREF _playertextures
XREF _r_norefresh
XREF _r_drawentities
XREF _r_drawworld
XREF _r_drawviewmodel
XREF _r_speeds
XREF _r_waterwarp
XREF _r_fullbright
XREF _r_lightmap
XREF _r_shadows
XREF _r_mirroralpha
XREF _r_wateralpha
XREF _r_dynamic
XREF _r_novis
XREF _gl_clear
XREF _gl_cull
XREF _gl_poly
XREF _gl_texsort
XREF _gl_smoothmodels
XREF _gl_affinemodels
XREF _gl_polyblend
XREF _gl_keeptjunctions
XREF _gl_reporttjunctions
XREF _gl_flashblend
XREF _gl_nocolors
XREF _gl_doubleeyes
XREF _gl_lightmap_format
XREF _gl_solid_format
XREF _gl_alpha_format
XREF _gl_max_size
XREF _gl_playermip
XREF _mirrortexturenum
XREF _mirror
XREF _mirror_plane
XREF _r_world_matrix
XREF _gl_vendor
XREF _gl_renderer
XREF _gl_version
XREF _gl_extensions
XREF _qglMTexCoord2fSGIS
XREF _qglSelectTextureSGIS
XREF _gl_mtexable
XREF _noclip_anglehack
XREF _host_parms
XREF _sys_ticrate
XREF _sys_nostdout
XREF _developer
XREF _host_initialized
XREF _host_frametime
XREF _host_basepal
XREF _host_colormap
XREF _host_framecount
XREF _realtime
XREF _msg_suppress_1
XREF _current_skill
XREF _isDedicated
XREF _minimum_memory
XREF _chase_active
XREF _loadmodel
XREF _gl_subdivide_size
XREF _skytexturenum
SECTION ":0",CODE
XDEF _INIT_8_gl_warp_c
_INIT_8_gl_warp_c
L71 EQU -4
link a5,#L71
L70
lea _turbsin,a0
move.l a0,-4(a5)
move.l #$3FC,d0
add.l d0,-4(a5)
unlk a5
rts
XDEF _BoundPoly
_BoundPoly
L83 EQU -$50
link a5,#L83
L72
moveq #$8,d0
add.l $10(a5),d0
move.l d0,-$50(a5)
move.l -$50(a5),a0
move.l #$461C3C00,(a0)
moveq #4,d0
add.l $10(a5),d0
move.l d0,-$4C(a5)
move.l -$4C(a5),a0
move.l #$461C3C00,(a0)
move.l $10(a5),a0
move.l #$461C3C00,(a0)
moveq #$8,d0
add.l $14(a5),d0
move.l d0,-$48(a5)
move.l -$48(a5),a0
move.l #$C61C3C00,(a0)
moveq #4,d0
add.l $14(a5),d0
move.l d0,-$44(a5)
move.l -$44(a5),a0
move.l #$C61C3C00,(a0)
move.l $14(a5),a0
move.l #$C61C3C00,(a0)
move.l $C(a5),-$C(a5)
clr.l -4(a5)
bra.b L81
L73
clr.l -$8(a5)
bra.b L79
L74
move.l -$C(a5),a0
move.l (a0),-$40(a5)
move.l -$8(a5),d0
asl.l #2,d0
add.l $10(a5),d0
move.l d0,-$3C(a5)
move.l -$3C(a5),a0
move.l (a0),-$38(a5)
fmove.s -$40(a5),fp0
fcmp.s -$38(a5),fp0
fboge.b L76
L75
move.l -$C(a5),a0
move.l (a0),-$34(a5)
move.l -$8(a5),d0
asl.l #2,d0
add.l $10(a5),d0
move.l d0,-$30(a5)
move.l -$30(a5),a0
move.l -$34(a5),(a0)
L76
move.l -$C(a5),a0
move.l (a0),-$2C(a5)
move.l -$8(a5),d0
asl.l #2,d0
add.l $14(a5),d0
move.l d0,-$28(a5)
move.l -$28(a5),a0
move.l (a0),-$24(a5)
fmove.s -$2C(a5),fp0
fcmp.s -$24(a5),fp0
fbole.b L78
L77
move.l -$C(a5),a0
move.l (a0),-$20(a5)
move.l -$8(a5),d0
asl.l #2,d0
add.l $14(a5),d0
move.l d0,-$1C(a5)
move.l -$1C(a5),a0
move.l -$20(a5),(a0)
L78
move.l -$8(a5),-$18(a5)
addq.l #1,-$8(a5)
move.l -$C(a5),-$14(a5)
moveq #4,d0
add.l d0,-$C(a5)
L79
move.l -$8(a5),d0
cmp.l #3,d0
blt L74
L80
move.l -4(a5),-$10(a5)
addq.l #1,-4(a5)
L81
move.l -4(a5),d0
cmp.l $8(a5),d0
blt L73
L82
unlk a5
rts
XDEF _SubdividePolygon
_SubdividePolygon
L117 EQU -$744
link a5,#L117
fmovem.x fp2/fp3,-(a7)
L85
move.l $8(a5),d0
cmp.l #$3C,d0
ble.b L87
L86
move.l $8(a5),-(a7)
move.l #L84,-(a7)
jsr _Sys_Error
addq.w #$8,a7
L87
lea -$24(a5),a0
move.l a0,-(a7)
lea -$18(a5),a0
move.l a0,-(a7)
move.l $C(a5),-(a7)
move.l $8(a5),-(a7)
jsr _BoundPoly
add.w #$10,a7
clr.l -4(a5)
bra.b L112
L88
lea -$18(a5),a0
move.l -4(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp0
lea -$24(a5),a0
move.l -4(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp1
fadd.x fp1,fp0
fmul.d #$.3FE00000.00000000,fp0
fmove.s fp0,-$28(a5)
lea _gl_subdivide_size,a0
fmove.s $10(a0),fp0
fmove.x fp0,fp2
lea _gl_subdivide_size,a0
fmove.s $10(a0),fp0
fmove.s -$28(a5),fp1
fdiv.x fp0,fp1
fmove.x fp1,fp0
fadd.d #$.3FE00000.00000000,fp0
fmove.d fp0,-(a7)
jsr _floor__r
addq.w #$8,a7
fmul.x fp0,fp2
fmove.x fp2,fp0
fmove.s fp0,-$28(a5)
lea -$24(a5),a0
move.l -4(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp0
fsub.s -$28(a5),fp0
fcmp.s #$.41000000,fp0
fboge.b L90
L89
bra.b L111
L90
lea -$18(a5),a0
move.l -4(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp0
fmove.s -$28(a5),fp1
fsub.x fp0,fp1
fmove.x fp1,fp0
fcmp.s #$.41000000,fp0
fboge.b L92
L91
bra.b L111
L92
move.l -4(a5),d0
move.l $C(a5),a1
lea 0(a1,d0.l*4),a0
move.l a0,-$2C(a5)
clr.l -$8(a5)
bra.b L94
L93
move.l -$2C(a5),a0
fmove.s (a0),fp0
fsub.s -$28(a5),fp0
lea -$734(a5),a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s fp0,(a0)
move.l -$8(a5),d0
addq.l #1,-$8(a5)
moveq #$C,d0
add.l d0,-$2C(a5)
L94
move.l -$8(a5),d0
cmp.l $8(a5),d0
blt.b L93
L95
lea -$734(a5),a0
fmove.s (a0),fp0
lea -$734(a5),a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s fp0,(a0)
move.l -4(a5),d0
moveq #2,d1
asl.l d1,d0
move.l d0,a0
move.l a0,d0
neg.l d0
move.l d0,a0
move.l a0,d0
add.l d0,-$2C(a5)
move.l $C(a5),a0
fmove.s (a0),fp0
move.l -$2C(a5),a0
fmove.s fp0,(a0)
move.l $C(a5),a1
lea 4(a1),a0
fmove.s (a0),fp0
move.l -$2C(a5),a1
lea 4(a1),a0
fmove.s fp0,(a0)
move.l $C(a5),a1
lea $8(a1),a0
fmove.s (a0),fp0
move.l -$2C(a5),a1
lea $8(a1),a0
fmove.s fp0,(a0)
clr.l -$634(a5)
move.l -$634(a5),-$630(a5)
move.l $C(a5),-$2C(a5)
clr.l -$8(a5)
bra.b L109
L96
lea -$734(a5),a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp0
fcmp.s #$.00000000,fp0
fbolt.b L98
L97
move.l -$2C(a5),a0
fmove.s (a0),fp0
lea -$32C(a5),a0
move.l -$630(a5),d0
muls.l #$C,d0
add.l d0,a0
fmove.s fp0,(a0)
move.l -$2C(a5),a1
lea 4(a1),a0
fmove.s (a0),fp0
lea -$32C(a5),a0
move.l -$630(a5),d0
muls.l #$C,d0
add.l d0,a0
addq.w #4,a0
fmove.s fp0,(a0)
move.l -$2C(a5),a1
lea $8(a1),a0
fmove.s (a0),fp0
lea -$32C(a5),a0
move.l -$630(a5),d0
muls.l #$C,d0
add.l d0,a0
addq.w #$8,a0
fmove.s fp0,(a0)
move.l -$630(a5),d0
addq.l #1,-$630(a5)
L98
lea -$734(a5),a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp0
fcmp.s #$.00000000,fp0
fbogt.b L100
L99
move.l -$2C(a5),a0
fmove.s (a0),fp0
lea -$62C(a5),a0
move.l -$634(a5),d0
muls.l #$C,d0
add.l d0,a0
fmove.s fp0,(a0)
move.l -$2C(a5),a1
lea 4(a1),a0
fmove.s (a0),fp0
lea -$62C(a5),a0
move.l -$634(a5),d0
muls.l #$C,d0
add.l d0,a0
addq.w #4,a0
fmove.s fp0,(a0)
move.l -$2C(a5),a1
lea $8(a1),a0
fmove.s (a0),fp0
lea -$62C(a5),a0
move.l -$634(a5),d0
muls.l #$C,d0
add.l d0,a0
addq.w #$8,a0
fmove.s fp0,(a0)
move.l -$634(a5),d0
addq.l #1,-$634(a5)
L100
lea -$734(a5),a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp0
ftst.s fp0
fbeq.b L102
L101
lea -$734(a5),a0
addq.w #4,a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp0
fcmp.s #$.00000000,fp0
fbne.b L103
L102
bra.b L108
L103
lea -$734(a5),a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp0
fcmp.s #$.00000000,fp0
moveq #1,d0
fbugt.b L118
moveq #0,d0
L118
lea -$734(a5),a0
addq.w #4,a0
move.l -$8(a5),d1
lea 0(a0,d1.l*4),a0
fmove.s (a0),fp0
fcmp.s #$.00000000,fp0
moveq #1,d1
fbugt.b L119
moveq #0,d1
L119
cmp.l d1,d0
beq.b L108
L104
lea -$734(a5),a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp0
lea -$734(a5),a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp1
lea -$734(a5),a0
addq.w #4,a0
move.l -$8(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp2
fsub.x fp2,fp1
fdiv.x fp1,fp0
fmove.s fp0,-$738(a5)
clr.l -$C(a5)
bra.b L106
L105
move.l -$C(a5),d0
move.l -$2C(a5),a1
lea 0(a1,d0.l*4),a0
fmove.s (a0),fp0
move.l -$2C(a5),a1
lea $C(a1),a0
move.l -$C(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s (a0),fp1
move.l -$C(a5),d0
move.l -$2C(a5),a1
lea 0(a1,d0.l*4),a0
fmove.s (a0),fp2
fsub.x fp2,fp1
fmul.s -$738(a5),fp1
fadd.x fp1,fp0
lea -$62C(a5),a0
move.l -$634(a5),d0
muls.l #$C,d0
add.l d0,a0
move.l -$C(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s fp0,(a0)
lea -$32C(a5),a0
move.l -$630(a5),d0
muls.l #$C,d0
add.l d0,a0
move.l -$C(a5),d0
lea 0(a0,d0.l*4),a0
fmove.s fp0,(a0)
move.l -$C(a5),d0
addq.l #1,-$C(a5)
L106
move.l -$C(a5),d0
cmp.l #3,d0
blt L105
L107
move.l -$630(a5),d0
addq.l #1,-$630(a5)
move.l -$634(a5),d0
addq.l #1,-$634(a5)
L108
move.l -$8(a5),d0
addq.l #1,-$8(a5)
moveq #$C,d0
add.l d0,-$2C(a5)
L109
move.l -$8(a5),d0
cmp.l $8(a5),d0
blt L96
L110
lea -$32C(a5),a0
move.l a0,-(a7)
move.l -$630(a5),-(a7)
jsr _SubdividePolygon
addq.w #$8,a7
lea -$62C(a5),a0
move.l a0,-(a7)
move.l -$634(a5),-(a7)
jsr _SubdividePolygon
addq.w #$8,a7
fmovem.x (a7)+,fp2/fp3
unlk a5
rts
L111
move.l -4(a5),d0
addq.l #1,-4(a5)
L112
move.l -4(a5),d0
cmp.l #3,d0
blt L88
L113
move.l $8(a5),d0
subq.l #4,d0
muls.l #7,d0
moveq #2,d1
asl.l d1,d0
add.l #$80,d0
move.l d0,-(a7)
jsr _Hunk_Alloc
addq.w #4,a7
move.l d0,-$73C(a5)
move.l _warpface,a0
move.l $24(a0),a0
move.l -$73C(a5),a1
move.l a0,(a1)
move.l _warpface,a1
move.l -$73C(a5),$24(a1)
move.l -$73C(a5),a0
move.l $8(a5),$8(a0)
clr.l -4(a5)
bra.b L115
L114
move.l $C(a5),a0
fmove.s (a0),fp0
move.l -$73C(a5),a1
lea $10(a1),a0
move.l -4(a5),d0
muls.l #$1C,d0
add.l d0,a0
fmove.s fp0,(a0)
move.l $C(a5),a1
lea 4(a1),a0
fmove.s (a0),fp0
move.l -$73C(a5),a1
lea $10(a1),a0
move.l -4(a5),d0
muls.l #$1C,d0
add.l d0,a0
addq.w #4,a0
fmove.s fp0,(a0)
move.l $C(a5),a1
lea $8(a1),a0
fmove.s (a0),fp0
move.l -$73C(a5),a1
lea $10(a1),a0
move.l -4(a5),d0
muls.l #$1C,d0
add.l d0,a0
addq.w #$8,a0
fmove.s fp0,(a0)
move.l $C(a5),a0
fmove.s (a0),fp0
move.l _warpface,a0
move.l $2C(a0),a0
fmove.s (a0),fp1
fmul.x fp1,fp0
move.l $C(a5),a1
lea 4(a1),a0
fmove.s (a0),fp1
move.l _warpface,a0
move.l $2C(a0),a0
addq.w #4,a0
fmove.s (a0),fp2
fmul.x fp2,fp1
fadd.x fp1,fp0
move.l $C(a5),a1
lea $8(a1),a0
fmove.s (a0),fp1
move.l _warpface,a0
move.l $2C(a0),a0
addq.w #$8,a0
fmove.s (a0),fp2
fmul.x fp2,fp1
fadd.x fp1,fp0
move.l $C(a5),a0
fmove.s (a0),fp1
move.l _warpface,a0
move.l $2C(a0),a0
add.w #$10,a0
fmove.s (a0),fp2
fmul.x fp2,fp1
move.l $C(a5),a1
lea 4(a1),a0
fmove.s (a0),fp2
move.l _warpface,a0
move.l $2C(a0),a0
add.w #$10,a0
addq.w #4,a0
fmove.s (a0),fp3
fmul.x fp3,fp2
fadd.x fp2,fp1
move.l $C(a5),a1
lea $8(a1),a0
fmove.s (a0),fp2
move.l _warpface,a0
move.l $2C(a0),a0
add.w #$10,a0
addq.w #$8,a0
fmove.s (a0),fp3
fmul.x fp3,fp2
fadd.x fp2,fp1
move.l -$73C(a5),a1
lea $10(a1),a0
move.l -4(a5),d0
muls.l #$1C,d0
add.l d0,a0
add.w #$C,a0
fmove.s fp0,(a0)
move.l -$73C(a5),a1
lea $10(a1),a0
move.l -4(a5),d0
muls.l #$1C,d0
add.l d0,a0
add.w #$10,a0
fmove.s fp1,(a0)
move.l -4(a5),d0
addq.l #1,-4(a5)
moveq #$C,d0
add.l d0,$C(a5)
L115
move.l -4(a5),d0
cmp.l $8(a5),d0
blt L114
L116
fmovem.x (a7)+,fp2/fp3
unlk a5
rts
XDEF _GL_SubdivideSurface
_GL_SubdivideSurface
L127 EQU -$390
link a5,#L127
L120
move.l $8(a5),_warpface
clr.l -$304(a5)
clr.l -$308(a5)
bra.b L125
L121
move.l _loadmodel,-$390(a5)
move.l -$390(a5),a0
move.l $D8(a0),-$38C(a5)
move.l $8(a5),-$388(a5)
move.l -$388(a5),a0
move.l $C(a0),-$384(a5)
move.l -$384(a5),d0
add.l -$308(a5),d0
move.l d0,-$384(a5)
move.l -$384(a5),d0
asl.l #2,d0
add.l d0,-$38C(a5)
move.l -$38C(a5),a0
move.l (a0),-$380(a5)
move.l -$380(a5),-$30C(a5)
move.l -$30C(a5),d0
cmp.l #0,d0
ble.b L123
L122
move.l _loadmodel,-$37C(a5)
move.l -$37C(a5),a0
move.l $B0(a0),-$378(a5)
move.l _loadmodel,-$370(a5)
move.l -$370(a5),a0
move.l $B8(a0),-$36C(a5)
move.l -$30C(a5),d0
asl.l #3,d0
add.l d0,-$36C(a5)
move.l -$36C(a5),a0
move.w (a0),-$366(a5)
moveq #0,d0
move.w -$366(a5),d0
move.l d0,-$374(a5)
move.l -$374(a5),d0
muls.l #$C,d0
add.l d0,-$378(a5)
move.l -$378(a5),-$310(a5)
bra.b L124
L123
move.l _loadmodel,-$364(a5)
move.l -$364(a5),a0
move.l $B0(a0),-$360(a5)
move.l _loadmodel,-$358(a5)
move.l -$358(a5),a0
move.l $B8(a0),-$354(a5)
move.l -$30C(a5),d0
neg.l d0
move.l d0,-$350(a5)
move.l -$350(a5),d0
asl.l #3,d0
add.l d0,-$354(a5)
moveq #2,d0
add.l d0,-$354(a5)
move.l -$354(a5),a0
move.w (a0),-$34A(a5)
moveq #0,d0
move.w -$34A(a5),d0
move.l d0,-$35C(a5)
move.l -$35C(a5),d0
muls.l #$C,d0
add.l d0,-$360(a5)
move.l -$360(a5),-$310(a5)
L124
move.l -$310(a5),a0
move.l (a0),-$348(a5)
lea -$300(a5),a0
move.l a0,-$344(a5)
move.l -$304(a5),d0
muls.l #$C,d0
add.l d0,-$344(a5)
move.l -$344(a5),a0
move.l -$348(a5),(a0)
moveq #4,d0
add.l -$310(a5),d0
move.l d0,-$340(a5)
move.l -$340(a5),a0
move.l (a0),-$33C(a5)
lea -$300(a5),a0
move.l a0,-$338(a5)
move.l -$304(a5),d0
muls.l #$C,d0
add.l d0,-$338(a5)
moveq #4,d0
add.l d0,-$338(a5)
move.l -$338(a5),a0
move.l -$33C(a5),(a0)
moveq #$8,d0
add.l -$310(a5),d0
move.l d0,-$334(a5)
move.l -$334(a5),a0
move.l (a0),-$330(a5)
lea -$300(a5),a0
move.l a0,-$32C(a5)
move.l -$304(a5),d0
muls.l #$C,d0
add.l d0,-$32C(a5)
moveq #$8,d0
add.l d0,-$32C(a5)
move.l -$32C(a5),a0
move.l -$330(a5),(a0)
move.l -$304(a5),-$328(a5)
addq.l #1,-$304(a5)
move.l -$308(a5),-$324(a5)
addq.l #1,-$308(a5)
L125
move.l $8(a5),-$320(a5)
move.l -$320(a5),a0
move.l $10(a0),-$31C(a5)
move.l -$308(a5),d0
cmp.l -$31C(a5),d0
blt L121
L126
lea -$300(a5),a0
move.l a0,-$318(a5)
move.l -$318(a5),-(a7)
move.l -$304(a5),-(a7)
jsr _SubdividePolygon
addq.w #$8,a7
unlk a5
rts
XDEF _EmitWaterPolys
_EmitWaterPolys
L137 EQU -$84
link a5,#L137
L128
move.l $8(a5),-$74(a5)
move.l -$74(a5),a0
move.l $24(a0),-$70(a5)
move.l -$70(a5),-4(a5)
bra.b L135
L129
move.l #$8C,-$78(a5)
move.l -$78(a5),-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _GLBegin
addq.w #$8,a7
clr.l -$C(a5)
moveq #$10,d0
add.l -4(a5),d0
move.l d0,-$6C(a5)
move.l -$6C(a5),-$8(a5)
bra.b L132
L130
moveq #$C,d0
add.l -$8(a5),d0
move.l d0,-$68(a5)
move.l -$68(a5),a0
move.l (a0),-$64(a5)
move.l -$64(a5),-$18(a5)
moveq #$10,d0
add.l -$8(a5),d0
move.l d0,-$60(a5)
move.l -$60(a5),a0
move.l (a0),-$5C(a5)
move.l -$5C(a5),-$1C(a5)
fmove.s -$1C(a5),fp0
fmove.d fp0,-$58(a5)
fmove.d -$58(a5),fp0
fmul.d #$.3FBFFFFF.FFFFFFFF,fp0
fmove.d fp0,-$58(a5)
fmove.d -$58(a5),fp0
fadd.d _realtime,fp0
fmove.d fp0,-$58(a5)
fmove.d -$58(a5),fp0
fmul.d #$.40445F30.6DC9C88A,fp0
fmove.d fp0,-$58(a5)
fmove.d -$58(a5),fp0
fmove.l fp0,d0
move.l d0,-$50(a5)
and.l #$FF,-$50(a5)
move.l -$50(a5),d0
asl.l #2,d0
add.l #_turbsin,d0
move.l d0,-$4C(a5)
move.l -$4C(a5),a0
move.l (a0),-$48(a5)
fmove.s -$48(a5),fp0
fadd.s -$18(a5),fp0
fmove.s fp0,-$48(a5)
move.l -$48(a5),-$10(a5)
fmove.s -$10(a5),fp0
fmul.s #$.3C800000,fp0
fmove.s fp0,-$10(a5)
fmove.s -$18(a5),fp0
fmove.d fp0,-$44(a5)
fmove.d -$44(a5),fp0
fmul.d #$.3FBFFFFF.FFFFFFFF,fp0
fmove.d fp0,-$44(a5)
fmove.d -$44(a5),fp0
fadd.d _realtime,fp0
fmove.d fp0,-$44(a5)
fmove.d -$44(a5),fp0
fmul.d #$.40445F30.6DC9C88A,fp0
fmove.d fp0,-$44(a5)
fmove.d -$44(a5),fp0
fmove.l fp0,d0
move.l d0,-$3C(a5)
and.l #$FF,-$3C(a5)
move.l -$3C(a5),d0
asl.l #2,d0
add.l #_turbsin,d0
move.l d0,-$38(a5)
move.l -$38(a5),a0
move.l (a0),-$34(a5)
fmove.s -$34(a5),fp0
fadd.s -$1C(a5),fp0
fmove.s fp0,-$34(a5)
move.l -$34(a5),-$14(a5)
fmove.s -$14(a5),fp0
fmul.s #$.3C800000,fp0
fmove.s fp0,-$14(a5)
move.l -$14(a5),-$80(a5)
move.l -$10(a5),-$7C(a5)
move.l -$80(a5),-(a7)
move.l -$7C(a5),-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _GLTexCoord2f
add.w #$C,a7
move.l -$8(a5),-$84(a5)
move.l -$84(a5),-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _GLVertex3fv
addq.w #$8,a7
L131
move.l -$C(a5),-$30(a5)
addq.l #1,-$C(a5)
moveq #$1C,d0
add.l d0,-$8(a5)
L132
move.l -4(a5),-$2C(a5)
move.l -$2C(a5),a0
move.l $8(a0),-$28(a5)
move.l -$C(a5),d0
cmp.l -$28(a5),d0
blt L130
L133
move.l _mini_CurrentContext,-(a7)
jsr _GLEnd
addq.w #4,a7
L134
move.l -4(a5),-$24(a5)
move.l -$24(a5),a0
move.l (a0),-$20(a5)
move.l -$20(a5),-4(a5)
L135
tst.l -4(a5)
bne L129
L136
unlk a5
rts
XDEF _EmitSkyPolys
_EmitSkyPolys
L147 EQU -$24
link a5,#L147
fmovem.x fp2,-(a7)
L138
move.l $8(a5),a0
move.l $24(a0),a0
move.l a0,-4(a5)
bra.b L145
L139
move.l #$8C,d0
move.l d0,-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _GLBegin
addq.w #$8,a7
clr.l -$C(a5)
move.l -4(a5),a1
lea $10(a1),a0
move.l a0,-$8(a5)
bra.b L142
L140
move.l -$8(a5),a0
fmove.s (a0),fp0
move.l #_r_origin,a0
fmove.s (a0),fp1
fsub.x fp1,fp0
lea -$20(a5),a0
fmove.s fp0,(a0)
move.l -$8(a5),a1
lea 4(a1),a0
fmove.s (a0),fp0
move.l #_r_origin,a1
lea 4(a1),a0
fmove.s (a0),fp1
fsub.x fp1,fp0
lea -$20(a5),a0
addq.w #4,a0
fmove.s fp0,(a0)
move.l -$8(a5),a1
lea $8(a1),a0
fmove.s (a0),fp0
move.l #_r_origin,a1
lea $8(a1),a0
fmove.s (a0),fp1
fsub.x fp1,fp0
lea -$20(a5),a0
addq.w #$8,a0
fmove.s fp0,(a0)
lea -$20(a5),a0
addq.w #$8,a0
fmove.s (a0),fp0
fmul.s #$.40400000,fp0
fmove.s fp0,(a0)
lea -$20(a5),a0
fmove.s (a0),fp0
lea -$20(a5),a0
fmove.s (a0),fp1
fmul.x fp1,fp0
lea -$20(a5),a0
addq.w #4,a0
fmove.s (a0),fp1
lea -$20(a5),a0
addq.w #4,a0
fmove.s (a0),fp2
fmul.x fp2,fp1
fadd.x fp1,fp0
lea -$20(a5),a0
addq.w #$8,a0
fmove.s (a0),fp1
lea -$20(a5),a0
addq.w #$8,a0
fmove.s (a0),fp2
fmul.x fp2,fp1
fadd.x fp1,fp0
fmove.d fp0,-(a7)
jsr _sqrt__r
addq.w #$8,a7
fmove.s #$.43BD0000,fp1
fdiv.x fp0,fp1
fmove.x fp1,fp0
lea -$20(a5),a0
fmove.s (a0),fp1
fmul.x fp0,fp1
fmove.s fp1,(a0)
lea -$20(a5),a0
addq.w #4,a0
fmove.s (a0),fp1
fmul.x fp0,fp1
fmove.s fp1,(a0)
lea -$20(a5),a0
fmove.s (a0),fp0
fadd.s _speedscale,fp0
fmul.d #$.3F800000.00000000,fp0
lea -$20(a5),a0
addq.w #4,a0
fmove.s (a0),fp1
fadd.s _speedscale,fp1
fmul.d #$.3F800000.00000000,fp1
fmove.s fp1,-(a7)
fmove.s fp0,-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _GLTexCoord2f
add.w #$C,a7
move.l -$8(a5),a0
move.l a0,-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _GLVertex3fv
addq.w #$8,a7
L141
move.l -$C(a5),d0
addq.l #1,-$C(a5)
moveq #$1C,d0
add.l d0,-$8(a5)
L142
move.l -4(a5),a0
move.l $8(a0),d0
move.l -$C(a5),d1
cmp.l d0,d1
blt L140
L143
move.l _mini_CurrentContext,-(a7)
jsr _GLEnd
addq.w #4,a7
L144
move.l -4(a5),a0
move.l (a0),a0
move.l a0,-4(a5)
L145
tst.l -4(a5)
bne L139
L146
fmovem.x (a7)+,fp2
unlk a5
rts
XDEF _EmitBothSkyLayers
_EmitBothSkyLayers
L149 EQU -$3C
link a5,#L149
L148
jsr _GL_DisableMultitexture
move.l _solidskytexture,-(a7)
jsr _GL_Bind
addq.w #4,a7
fmove.d _realtime,fp0
fmul.d #$.40200000.00000000,fp0
fmove.d fp0,-$34(a5)
fmove.d -$34(a5),fp0
fmove.s fp0,-$2C(a5)
move.l -$2C(a5),_speedscale
fmove.s _speedscale,fp0
fmove.l fp0,d0
move.l d0,-$28(a5)
and.l #-$80,-$28(a5)
fmove.l -$28(a5),fp0
fmove.s fp0,-$24(a5)
fmove.s _speedscale,fp0
fsub.s -$24(a5),fp0
fmove.s fp0,_speedscale
move.l $8(a5),-(a7)
jsr _EmitSkyPolys
addq.w #4,a7
move.l #$D,-$3C(a5)
move.b #1,-(a7)
move.l -$3C(a5),-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _MGLSetState
add.w #$A,a7
move.l _alphaskytexture,-(a7)
jsr _GL_Bind
addq.w #4,a7
fmove.d _realtime,fp0
fmul.d #$.40300000.00000000,fp0
fmove.d fp0,-$20(a5)
fmove.d -$20(a5),fp0
fmove.s fp0,-$18(a5)
move.l -$18(a5),_speedscale
fmove.s _speedscale,fp0
fmove.l fp0,d0
move.l d0,-$14(a5)
and.l #-$80,-$14(a5)
fmove.l -$14(a5),fp0
fmove.s fp0,-$10(a5)
fmove.s _speedscale,fp0
fsub.s -$10(a5),fp0
fmove.s fp0,_speedscale
move.l $8(a5),-(a7)
jsr _EmitSkyPolys
addq.w #4,a7
move.l #$D,-$38(a5)
clr.b -(a7)
move.l -$38(a5),-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _MGLSetState
add.w #$A,a7
unlk a5
rts
XDEF _R_DrawSkyChain
_R_DrawSkyChain
L157 EQU -$44
link a5,#L157
L150
jsr _GL_DisableMultitexture
move.l _solidskytexture,-(a7)
jsr _GL_Bind
addq.w #4,a7
fmove.d _realtime,fp0
fmul.d #$.40200000.00000000,fp0
fmove.d fp0,-$3C(a5)
fmove.d -$3C(a5),fp0
fmove.s fp0,-$34(a5)
move.l -$34(a5),_speedscale
fmove.s _speedscale,fp0
fmove.l fp0,d0
move.l d0,-$30(a5)
and.l #-$80,-$30(a5)
fmove.l -$30(a5),fp0
fmove.s fp0,-$2C(a5)
fmove.s _speedscale,fp0
fsub.s -$2C(a5),fp0
fmove.s fp0,_speedscale
move.l $8(a5),-4(a5)
bra.b L152
L151
move.l -4(a5),-(a7)
jsr _EmitSkyPolys
addq.w #4,a7
move.l -4(a5),-$28(a5)
move.l -$28(a5),a0
move.l $28(a0),-$24(a5)
move.l -$24(a5),-4(a5)
L152
tst.l -4(a5)
bne.b L151
L153
move.l #$D,-$44(a5)
move.b #1,-(a7)
move.l -$44(a5),-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _MGLSetState
add.w #$A,a7
move.l _alphaskytexture,-(a7)
jsr _GL_Bind
addq.w #4,a7
fmove.d _realtime,fp0
fmul.d #$.40300000.00000000,fp0
fmove.d fp0,-$20(a5)
fmove.d -$20(a5),fp0
fmove.s fp0,-$18(a5)
move.l -$18(a5),_speedscale
fmove.s _speedscale,fp0
fmove.l fp0,d0
move.l d0,-$14(a5)
and.l #-$80,-$14(a5)
fmove.l -$14(a5),fp0
fmove.s fp0,-$10(a5)
fmove.s _speedscale,fp0
fsub.s -$10(a5),fp0
fmove.s fp0,_speedscale
move.l $8(a5),-4(a5)
bra.b L155
L154
move.l -4(a5),-(a7)
jsr _EmitSkyPolys
addq.w #4,a7
move.l -4(a5),-$C(a5)
move.l -$C(a5),a0
move.l $28(a0),-$8(a5)
move.l -$8(a5),-4(a5)
L155
tst.l -4(a5)
bne.b L154
L156
move.l #$D,-$40(a5)
clr.b -(a7)
move.l -$40(a5),-(a7)
move.l _mini_CurrentContext,-(a7)
jsr _MGLSetState
add.w #$A,a7
unlk a5
rts
XDEF _R_InitSky
_R_InitSky
L178 EQU -$10128
link a5,#L178
L158
moveq #$34,d0
add.l $8(a5),d0
move.l d0,-$100E0(a5)
move.l -$100E0(a5),a0
move.l (a0),-$100DC(a5)
move.l -$100DC(a5),d0
add.l $8(a5),d0
move.l d0,-$100D8(a5)
move.l -$100D8(a5),-$1C(a5)
clr.l -$2C(a5)
move.l -$2C(a5),-$28(a5)
move.l -$28(a5),-$24(a5)
clr.l -$10(a5)
bra.b L163
L159
clr.l -$14(a5)
bra.b L161
L160
move.l #$80,d0
add.l -$1C(a5),d0
move.l d0,-$100D0(a5)
move.l -$10(a5),d0
moveq #$8,d1
asl.l d1,d0
move.l d0,-$100CC(a5)
move.l -$100CC(a5),d0
add.l -$14(a5),d0
move.l d0,-$100CC(a5)
move.l -$100CC(a5),d0
add.l d0,-$100D0(a5)
move.l -$100D0(a5),a0
move.b (a0),-$100C5(a5)
moveq #0,d0
move.b -$100C5(a5),d0
move.l d0,-$100D4(a5)
move.l -$100D4(a5),-$18(a5)
move.l -$18(a5),d0
asl.l #2,d0
add.l #_d_8to24table,d0
move.l d0,-$100C4(a5)
move.l -$100C4(a5),-$30(a5)
move.l -$30(a5),a0
move.l (a0),-$100C0(a5)
move.l a5,a0
sub.l #$10030,a0
lea (a0),a0
move.l a0,-$100BC(a5)
move.l -$10(a5),d0
moveq #7,d1
asl.l d1,d0
move.l d0,-$100B8(a5)
move.l -$100B8(a5),d0
add.l -$14(a5),d0
move.l d0,-$100B8(a5)
move.l -$100B8(a5),d0
asl.l #2,d0
add.l d0,-$100BC(a5)
move.l -$100BC(a5),a0
move.l -$100C0(a5),(a0)
move.l -$30(a5),a0
move.b (a0),-$100AD(a5)
moveq #0,d0
move.b -$100AD(a5),d0
move.l d0,-$100B4(a5)
move.l -$24(a5),d0
add.l -$100B4(a5),d0
move.l d0,-$24(a5)
moveq #1,d0
add.l -$30(a5),d0
move.l d0,-$100A8(a5)
move.l -$100A8(a5),a0
move.b (a0),-$100A1(a5)
moveq #0,d0
move.b -$100A1(a5),d0
move.l d0,-$100AC(a5)
move.l -$28(a5),d0
add.l -$100AC(a5),d0
move.l d0,-$28(a5)
moveq #2,d0
add.l -$30(a5),d0
move.l d0,-$1009C(a5)
move.l -$1009C(a5),a0
move.b (a0),-$10095(a5)
moveq #0,d0
move.b -$10095(a5),d0
move.l d0,-$100A0(a5)
move.l -$2C(a5),d0
add.l -$100A0(a5),d0
move.l d0,-$2C(a5)
move.l -$14(a5),-$10094(a5)
addq.l #1,-$14(a5)
L161
move.l -$14(a5),d0
cmp.l #$80,d0
blt L160
L162
move.l -$10(a5),-$10090(a5)
addq.l #1,-$10(a5)
L163
move.l -$10(a5),d0
cmp.l #$80,d0
blt L159
L164
move.l -$24(a5),d0
divsl.l #$4000,d0
move.l d0,-$10088(a5)
lea -$10088(a5),
END