Brie Doom Sources Docs

Ported Functions Breakdown

What functions were already ported from C to Eiffel in Brie Doom.

The code is analyzed using CCCC.

CCCC has found 709 functions in the original code. Out of them, 376 functions (53.03%) were ported.

CCCC has estimated that the original C code is 21505 LOC. The current Eiffel code is 26579 LOC. Considering that 53.03% of functions are ported, we can estimate that the full Eiffel port can be around 50119 LOC.

Table below lists the ported functions. The first column contains the original name of the function which is a link to the original C function definition. Other links show the ported Eiffel features which implement the C function.

The next two columns C and Eiffel display the lines of code in the original function and the port.

The last column Ratio is the increase factor of porting the C function to Eiffel.

In the end of the table there is a list of functions which are not ported yet.

The Moved section of the table lists the functions which will not be ported with the explanation of this decision. Mostly this is because some functions are already implemented either in Eiffel or in SDL.

Function C Eiffel Ratio
I_SetPalette
{I_VIDEO}.I_SetPalette
4 20 5.0
I_RegisterSong
{I_SOUND}.I_RegisterSong
5 15 3.0
ST_drawWidgets
{ST_STUFF}.ST_drawWidgets
21 55 2.6
I_SetChannels
{I_SOUND}.I_SetChannels
11 27 2.5
ST_refreshBackground
{ST_STUFF}.ST_refreshBackground
10 21 2.1
R_InitBuffer
{R_DRAW}.R_InitBuffer
15 31 2.1
R_GetColumn
{R_DATA}.R_GetColumn
15 30 2.0
WI_drawShowNextLoc
{WI_STUFF}.WI_drawShowNextLoc
25 47 1.9
R_InitColormaps
{R_DATA}.R_InitColormaps
9 16 1.8
ST_updateWidgets
{ST_STUFF}.ST_UpdateWidgets
30 53 1.8
P_CheckPosition
{P_MAP}.P_CheckPosition
46 81 1.8
ST_initData
{ST_STUFF}.ST_initData
20 33 1.7
R_SortVisSprites
{R_THINGS}.R_SortVisSprites
41 67 1.6
P_ChangeSector
{P_MAP}.P_ChangeSector
13 21 1.6
D_CheckNetGame
{D_NET}.D_CheckNetGame
31 50 1.6
R_FillBackScreen
{R_DRAW}.R_FillBackScreen
60 94 1.6
PIT_CheckThing
{P_MAP}.PIT_CheckThing
61 94 1.5
S_Init
{S_SOUND}.S_Init
17 26 1.5
WI_drawStats
{WI_STUFF}.WI_drawStats
21 32 1.5
R_CheckTextureNumForName
{R_DATA}.R_CheckTextureNumForName
10 15 1.5
P_SetupPsprites
{P_PSPR}.P_SetupPsprites
8 12 1.5
R_DrawMasked
{R_THINGS}.R_DrawMasked
20 29 1.5
R_DrawSprite
{R_THINGS}.R_DrawSprite
81 116 1.4
R_DrawMaskedColumn
{R_THINGS}.R_DrawMaskedColumn
26 37 1.4
ST_loadGraphics
{ST_STUFF}.ST_loadGraphics
51 72 1.4
R_AddSprites
{R_THINGS}.R_AddSprites
17 24 1.4
wipe_shittyColMajorXform
{F_WIPE}.wipe_shittyColMajorXForm
15 21 1.4
R_InitFlats
{R_DATA}.R_InitFlats
10 14 1.4
P_MobjThinker
{P_MOBJ}.P_MobjThinker
40 56 1.4
PIT_CheckLine
{P_MAP}.PIT_CheckLine
35 49 1.4
R_GenerateLookup
{R_DATA}.R_GenerateLookup
61 84 1.4
wipe_doMelt
{F_WIPE}.wipe_doMelt
48 66 1.4
FixedDiv
{M_FIXED}.FixedDiv
8 11 1.4
P_ExplodeMissile
{P_MOBJ}.P_ExplodeMissile
11 15 1.4
R_ClipPassWallSegment
{R_BSP}.R_ClipPassWallSegment
28 38 1.4
WI_initAnimatedBack
{WI_STUFF}.WI_initAnimatedBack
20 27 1.4
R_InitLightTables
{R_MAIN}.R_InitLightTables
23 31 1.3
P_Move
{P_ENEMY}.P_Move
45 60 1.3
P_TryMove
{P_MAP}.P_TryMove
52 69 1.3
R_InitTextureMapping
{R_MAIN}.R_InitTextureMapping
43 57 1.3
R_MakeSpans
{R_PLANE}.R_MakeSpans
28 37 1.3
R_ClipSolidWallSegment
{R_BSP}.R_ClipSolidWallSegment
54 71 1.3
PTR_AimTraverse
{P_MAP}.PTR_AimTraverse
53 69 1.3
M_CheckParm
{M_ARGV}.M_CheckParm
10 13 1.3
P_CheckMeleeRange
{P_ENEMY}.P_CheckMeleeRange
14 18 1.3
R_RenderBSPNode
{R_BSP}.R_RenderBSPNode
18 23 1.3
R_CheckBBox
{R_BSP}.R_CheckBBox
73 92 1.3
P_RemoveThinker
{P_TICK}.P_RemoveThinker
4 5 1.3
PTR_SlideTraverse
{P_MAP}.PTR_SlideTraverse
32 40 1.3
I_Init
{I_SYSTEM}.I_Init
4 5 1.3
R_FindPlane
{R_PLANE}.R_FindPlane
33 41 1.2
R_GenerateComposite
{R_DATA}.R_GenerateComposite
47 58 1.2
P_SetPsprite
{P_PSPR}.P_SetPsprite
32 39 1.2
P_StartButton
{P_SWITCH}.P_StartButton
29 35 1.2
P_CrossSubsector
{P_SIGHT}.P_CrossSubsector
79 95 1.2
M_ClearBox
{M_BBOX}.M_ClearBox
5 6 1.2
A_Pain
{P_ENEMY}.A_Pain
5 6 1.2
WI_drawTime
{WI_STUFF}.WI_drawTime
26 31 1.2
R_SetupFrame
{R_MAIN}.R_SetupFrame
26 31 1.2
R_ExecuteSetViewSize
{R_MAIN}.R_ExecuteSetViewSize
73 87 1.2
P_TraverseIntercepts
{P_MAPUTL}.P_TraverseIntercepts
37 44 1.2
P_TouchSpecialThing
{P_INTER}.P_TouchSpecialThing
266 316 1.2
G_DoPlayDemo
{G_GAME}.G_DoPlayDemo
34 40 1.2
W_LumpLength
{W_WAD}.W_LumpLength
6 7 1.2
S_StopSound
{S_SOUND}.S_StopSound
12 14 1.2
P_SetMobjState
{P_MOBJ}.P_SetMobjState
24 28 1.2
R_RenderSegLoop
{R_SEGS}.R_RenderSegLoop
123 143 1.2
WI_loadData
{WI_STUFF}.WI_loadData
98 113 1.2
R_InitSpriteLumps
{R_DATA}.R_InitSpriteLumps
20 23 1.2
P_LookForPlayers
{P_ENEMY}.P_LookForPlayers
47 54 1.1
R_AddLine
{R_BSP}.R_AddLine
61 70 1.1
P_MovePsprites
{P_PSPR}.P_MovePsprites
21 24 1.1
R_DrawViewBorder
{R_DRAW}.R_DrawViewBorder
22 25 1.1
G_PlayerReborn
{G_GAME}.G_PlayerReborn
30 34 1.1
ST_Drawer
{ST_STUFF}.ST_Drawer
8 9 1.1
R_DrawPlayerSprites
{R_THINGS}.R_DrawPlayerSprites
24 27 1.1
R_ClearPlanes
{R_PLANE}.R_ClearPlanes
16 18 1.1
WI_drawNum
{WI_STUFF}.WI_drawNum
41 46 1.1
W_ReadLump
{W_WAD}.W_ReadLump
25 28 1.1
P_NewChaseDir
{P_ENEMY}.P_NewChaseDir
100 112 1.1
P_FindLowestCeilingSurrounding
{P_SPEC}.P_FindLowestCeilingSurrounding
17 19 1.1
WI_drawLF
{WI_STUFF}.WI_drawLF
9 10 1.1
WI_drawEL
{WI_STUFF}.WI_drawEL
9 10 1.1
S_getChannel
{S_SOUND}.S_GetChannel
37 41 1.1
P_BlockLinesIterator
{P_MAPUTL}.P_BlockLinesIterator
28 31 1.1
PTR_UseTraverse
{P_MAP}.PTR_UseTraverse
19 21 1.1
G_DoLoadLevel
{G_GAME}.G_DoLoadLevel
38 42 1.1
wipe_initMelt
{F_WIPE}.wipe_initMelt
20 22 1.1
WI_initStats
{WI_STUFF}.WI_initStats
10 11 1.1
P_Ticker
{P_TICK}.P_Ticker
20 22 1.1
P_FireWeapon
{P_PSPR}.P_FireWeapon
10 11 1.1
P_SpawnPlayer
{P_MOBJ}.P_SpawnPlayer
42 46 1.1
P_CheckMissileRange
{P_ENEMY}.P_CheckMissileRange
42 46 1.1
P_GroupLines
{P_SETUP}.P_GroupLines
64 70 1.1
R_InitSpriteDefs
{R_THINGS}.R_InitSpriteDefs
76 83 1.1
P_CrossBSPNode
{P_SIGHT}.P_CrossBSPNode
23 25 1.1
P_RecursiveSound
{P_ENEMY}.P_RecursiveSound
36 39 1.1
P_GiveBody
{P_INTER}.P_GiveBody
12 13 1.1
R_RenderMaskedSegRange
{R_SEGS}.R_RenderMaskedSegRange
65 70 1.1
P_UseLines
{P_MAP}.P_UseLines
15 16 1.1
G_DoNewGame
{G_GAME}.G_DoNewGame
15 16 1.1
P_MovePlayer
{P_USER}.P_MovePlayer
16 17 1.1
R_DrawPSprite
{R_THINGS}.R_DrawPSprite
68 72 1.1
P_SpawnMapThing
{P_MOBJ}.P_SpawnMapThing
69 73 1.1
P_PlayerThink
{P_USER}.P_PlayerThink
105 111 1.1
G_CheckDemoStatus
{G_GAME}.G_CheckDemoStatus
37 39 1.1
R_InstallSpriteLump
{R_THINGS}.R_InstallSpriteLump
40 42 1.1
R_InitTranslationTables
{R_DRAW}.R_InitTranslationTables
20 21 1.1
PIT_AddThingIntercepts
{P_MAPUTL}.PIT_AddThingIntercepts
43 45 1.0
R_DrawTranslatedColumn
{R_DRAW}.R_DrawTranslatedColumn
26 27 1.0
G_InitNew
{G_GAME}.G_InitNew
95 98 1.0
P_PointOnDivlineSide
{P_MAPUTL}.P_PointOnDivlineSide
35 36 1.0
PTR_ShootTraverse
{P_MAP}.PTR_ShootTraverse
73 75 1.0
P_XYMovement
{P_MOBJ}.P_XYMovement
103 105 1.0
R_DrawPlanes
{R_PLANE}.R_DrawPlanes
62 63 1.0
G_BuildTiccmd
{G_GAME}.G_BuildTiccmd
165 167 1.0
R_ProjectSprite
{R_THINGS}.R_ProjectSprite
105 106 1.0
wipe_doColorXForm
{F_WIPE}.wipe_doColorXForm
40 40 1.0
getNextSector
{P_SPEC}.getNextSector
10 10 1.0
WI_updateShowNextLoc
{WI_STUFF}.WI_updateShowNextLoc
8 8 1.0
WI_checkForAccelerate
{WI_STUFF}.WI_checkForAccelerate
27 27 1.0
S_SetSfxVolume
{S_SOUND}.S_SetSfxVolume
6 6 1.0
STlib_init
{ST_LIB}.STlib_init
4 4 1.0
ST_Ticker
{ST_STUFF}.ST_Ticker
7 7 1.0
R_PointInSubsector
{R_MAIN}.R_PointInSubsector
18 18 1.0
R_NewVisSprite
{R_THINGS}.R_NewVisSprite
7 7 1.0
P_PointOnLineSide
{P_MAPUTL}.P_PointOnLineSide
29 29 1.0
P_CheckMissileSpawn
{P_MOBJ}.P_CheckMissileSpawn
11 11 1.0
P_BringUpWeapon
{P_PSPR}.P_BringUpWeapon
12 12 1.0
I_UnRegisterSong
{I_SOUND}.I_UnregisterSong
4 4 1.0
I_StopSound
{I_SOUND}.I_StopSound
4 4 1.0
I_SoundIsPlaying
{I_SOUND}.I_SoundIsPlaying
4 4 1.0
I_SetMusicVolume
{I_SOUND}.I_SetMusicVolume
4 4 1.0
I_ResumeSong
{I_SOUND}.I_ResumeSong
4 4 1.0
I_PauseSong
{I_SOUND}.I_PauseSong
4 4 1.0
I_GetSfxLumpNum
{I_SOUND}.I_GetSfxLumpNum
6 6 1.0
G_PlayerFinishLevel
{G_GAME}.G_PlayerFinishLevel
12 12 1.0
ExtractFileBase
{W_WAD}.ExtractFileBase
22 22 1.0
D_ProcessEvents
{D_MAIN}.D_ProcessEvents
16 16 1.0
D_PostEvent
{D_MAIN}.D_PostEvent
5 5 1.0
D_PageTicker
{D_MAIN}.D_PageTicker
5 5 1.0
D_PageDrawer
{D_DISPLAY}.D_PageDrawer
4 4 1.0
P_SlideMove
{P_MAP}.P_SlideMove_try {P_MAP}.P_SlideMove
71 70 1.0
P_ChangeSwitchTexture
{P_SWITCH}.P_ChangeSwitchTexture
51 50 1.0
P_UseSpecialLine
{P_SWITCH}.P_UseSpecialLine
249 243 1.0
P_PathTraverse
{P_MAPUTL}.P_PathTraverse
111 108 1.0
P_SetupLevel
{P_SETUP}.P_SetupLevel
71 69 1.0
P_DivlineSide
{P_SIGHT}.P_DivlineSide
35 34 1.0
P_DeathThink
{P_USER}.P_DeathThink
35 34 1.0
P_HitSlideLine
{P_MAP}.P_HitSlideLine
33 32 1.0
P_CheckSight
{P_SIGHT}.P_CheckSight
32 31 1.0
R_DrawColumnInCache
{R_DATA}.R_DrawColumnInCache
28 27 1.0
S_ChangeMusic
{S_SOUND}.S_ChangeMusic
26 25 1.0
P_CalcHeight
{P_USER}.P_CalcHeight
45 43 1.0
G_DoCompleted
{G_GAME}.G_DoCompleted
103 98 1.0
ST_doPaletteStuff
{ST_STUFF}.ST_doPaletteStuff
39 37 0.9
R_DrawVisSprite
{R_THINGS}.R_DrawVisSprite
37 35 0.9
G_BeginRecording
{G_GAME}.G_BeginRecording
16 15 0.9
R_PointOnSegSide
{R_MAIN}.R_PointOnSegSide
47 44 0.9
P_UnsetThingPosition
{P_MAPUTL}.P_UnsetThingPosition
31 29 0.9
P_SpawnMissile
{P_MOBJ}.P_SpawnMissile
29 27 0.9
R_PointOnSide
{R_MAIN}.R_PointOnSide
39 36 0.9
P_KillMobj
{P_INTER}.P_KillMobj
63 58 0.9
P_InitSwitchList
{P_SWITCH}.P_InitSwitchList
34 31 0.9
A_Chase
{P_ENEMY}.A_Chase
79 72 0.9
WI_Start
{WI_STUFF}.WI_Start
11 10 0.9
G_Ticker
{G_GAME}.G_Ticker
123 111 0.9
P_ThingHeightClip
{P_MAP}.P_ThingHeightClip
20 18 0.9
P_AproxDistance
{P_MAPUTL}.P_AproxDistance
10 9 0.9
A_Look
{P_ENEMY}.A_Look
48 43 0.9
R_Init
{R_MAIN}.R_Init
19 17 0.9
R_MapPlane
{R_PLANE}.R_MapPlane
47 42 0.9
PIT_AddLineIntercepts
{P_MAPUTL}.PIT_AddLineIntercepts
37 33 0.9
P_Thrust
{P_USER}.P_Thrust
9 8 0.9
P_DamageMobj
{P_INTER}.P_DamageMobj
107 95 0.9
WI_Ticker
{WI_STUFF}.WI_Ticker
26 23 0.9
WI_updateNoState
{WI_STUFF}.WI_updateNoState
8 7 0.9
ST_Start
{ST_STUFF}.ST_Start
8 7 0.9
W_InitMultipleFiles
{W_WAD}.W_InitMultipleFiles
15 13 0.9
R_RenderPlayerView
{R_MAIN}.R_RenderPlayerView
15 13 0.9
P_SpawnPuff
{P_MOBJ}.P_SpawnPuff
15 13 0.9
A_PosAttack
{P_ENEMY}.A_PosAttack
15 13 0.9
WI_updateStats
{WI_STUFF}.WI_updateStats
88 76 0.9
P_GiveAmmo
{P_INTER}.P_GiveAmmo
65 56 0.9
PIT_ChangeSector
{P_MAP}.PIT_ChangeSector
36 31 0.9
M_AddToBox
{M_BBOX}.M_AddToBox
14 12 0.9
R_CheckPlane
{R_PLANE}.R_CheckPlane
48 41 0.9
P_SetThingPosition
{P_MAPUTL}.P_SetThingPosition
40 34 0.9
A_WeaponReady
{P_PSPR}.A_WeaponReady
40 34 0.9
ST_createWidgets
{ST_STUFF}.ST_createWidgets
126 107 0.8
W_AddFile
{W_WAD}.W_AddFile
66 56 0.8
S_StopMusic
{S_SOUND}.S_StopMusic
13 11 0.8
D_DoAdvanceDemo
{D_MAIN}.D_DoAdvanceDemo
63 53 0.8
S_StopChannel
{S_SOUND}.S_StopChannel
25 21 0.8
W_CacheLumpNum
{W_WAD}.W_CacheLumpNum
18 15 0.8
P_SpawnBlood
{P_MOBJ}.P_SpawnBlood
18 15 0.8
P_GiveArmor
{P_INTER}.P_GiveArmor
12 10 0.8
NetUpdate
{D_NET}.NetUpdate
60 50 0.8
EV_VerticalDoor
{P_DOORS}.EV_VerticalDoor
121 100 0.8
P_RemoveMobj
{P_MOBJ}.P_RemoveMobj
17 14 0.8
R_StoreWallRange
{R_SEGS}.R_StoreWallRange
270 221 0.8
R_InitData
{R_DATA}.R_InitData
11 9 0.8
M_ChooseSkill
{M_MENU}.M_ChooseSkill
11 9 0.8
R_Subsector
{R_BSP}.R_Subsector
38 31 0.8
S_UpdateSounds
{S_SOUND}.S_UpdateSounds
57 46 0.8
WI_slamBackground
{WI_STUFF}.WI_slamBackground
5 4 0.8
P_RunThinkers
{P_TICK}.P_RunThinkers
20 16 0.8
M_Random
{M_RANDOM}.M_Random {I_MAIN}.m_random
5 4 0.8
I_PlaySong
{I_SOUND}.I_PlaySong
5 4 0.8
G_RecordDemo
{G_GAME}.G_RecordDemo
15 12 0.8
A_TroopAttack
{P_ENEMY}.A_TroopAttack
15 12 0.8
P_LoadSubsectors
{P_SETUP}.P_LoadSubSectors
19 15 0.8
M_Init
{M_MENU}.M_Init
33 26 0.8
ST_updateFaceWidget
{ST_STUFF}.ST_UpdateFaceWidget
136 107 0.8
A_Punch
{P_PSPR}.A_Punch
23 18 0.8
P_TryWalk
{P_ENEMY}.P_TryWalk
9 7 0.8
P_LoadVertexes
{P_SETUP}.P_LoadVertexes
18 14 0.8
P_GivePower
{P_INTER}.P_GivePower
36 28 0.8
M_StartControlPanel
{M_MENU}.M_StartControlPanel
9 7 0.8
G_TimeDemo
{G_GAME}.G_TimeDemo
9 7 0.8
G_SecretExitLevel
{G_GAME}.G_SecretExitLevel
9 7 0.8
ST_calcPainOffset
{ST_STUFF}.ST_calcPainOffset
13 10 0.8
M_NewGame
{M_MENU}.M_NewGame
13 10 0.8
G_ReadDemoTiccmd
{G_GAME}.G_ReadDemoTiccmd
13 10 0.8
G_WriteDemoTiccmd
{G_GAME}.G_WriteDemoTiccmd
17 13 0.8
R_PointToDist
{R_MAIN}.R_PointToDist
21 16 0.8
ST_Stop
{ST_STUFF}.ST_Stop
8 6 0.8
R_ClearClipSegs
{R_BSP}.R_ClearClipSegs
8 6 0.8
P_NoiseAlert
{P_ENEMY}.P_NoiseAlert
8 6 0.8
P_GunShot
{P_PSPR}.P_GunShot
12 9 0.8
P_BulletSlope
{P_PSPR}.P_BulletSlope
16 12 0.8
P_AimLineAttack
{P_MAP}.P_AimLineAttack
24 18 0.8
M_Ticker
{M_MENU}.M_Ticker
8 6 0.8
M_ClearRandom
{M_RANDOM}.M_ClearRandom
4 3 0.8
A_Scream
{P_ENEMY}.A_Scream
28 21 0.8
A_Raise
{P_PSPR}.A_Raise
12 9 0.8
A_Lower
{P_PSPR}.A_Lower
20 15 0.8
A_Light0
{P_PSPR}.A_Light0
4 3 0.8
WI_drawOnLnode
{WI_STUFF}.WI_drawOnLnode
39 29 0.7
P_BoxOnLineSide
{P_MAPUTL}.P_BoxOnLineSide
39 29 0.7
P_LineOpening
{P_MAPUTL}.P_LineOpening
27 20 0.7
T_MovePlane
{P_FLOOR}.T_MovePlane
133 98 0.7
R_InitTextures
{R_DATA}.R_InitTextures
125 92 0.7
S_SetMusicVolume
{S_SOUND}.S_SetMusicVolume
11 8 0.7
P_ZMovement
{P_MOBJ}.P_ZMovement
76 55 0.7
WI_initShowNextLoc
{WI_STUFF}.WI_initShowNextLoc
7 5 0.7
M_VerifyNightmare
{M_MENU}.M_VerifyNightmare
7 5 0.7
WI_drawPercent
{WI_STUFF}.WI_drawPercent
10 7 0.7
WI_Drawer
{WI_STUFF}.WI_Drawer
20 14 0.7
M_Episode
{M_MENU}.M_Episode
20 14 0.7
A_PlayerScream
{P_ENEMY}.A_PlayerScream
10 7 0.7
V_DrawBlock
{V_VIDEO}.V_DrawBlock
26 18 0.7
A_FirePistol
{P_PSPR}.A_FirePistol
13 9 0.7
D_Display
{I_MAIN}.d_display {D_DISPLAY}.D_Display
116 80 0.7
P_SpawnMobj
{P_MOBJ}.P_SpawnMobj
41 28 0.7
P_BlockThingsIterator
{P_MAPUTL}.P_BlockThingsIterator
22 15 0.7
WI_initNoState
{WI_STUFF}.WI_initNoState
6 4 0.7
ST_doRefresh
{ST_STUFF}.ST_doRefresh
6 4 0.7
R_VideoErase
{R_DRAW}.R_VideoErase
6 4 0.7
P_InterceptVector2
{P_SIGHT}.P_InterceptVector2
15 10 0.7
P_Init
{P_SETUP}.P_Init
6 4 0.7
P_GiveCard
{P_INTER}.P_GiveCard
9 6 0.7
I_StopSong
{I_SOUND}.I_StopSong
6 4 0.7
G_DoWorldDone
{G_GAME}.G_DoWorldDone
9 6 0.7
D_StartTitle
{D_MAIN}.D_StartTitle
6 4 0.7
A_FaceTarget
{P_ENEMY}.A_FaceTarget
12 8 0.7
R_ScaleFromGlobalAngle
{R_MAIN}.R_ScaleFromGlobalAngle
39 25 0.6
P_CheckAmmo
{P_PSPR}.P_CheckAmmo
66 42 0.6
R_PointToAngle
{R_MAIN}.R_PointToAngle
63 40 0.6
W_GetNumForName
{W_WAD}.W_GetNumForName
8 5 0.6
S_Start
{S_SOUND}.S_Start
32 20 0.6
S_ResumeSound
{S_SOUND}.S_ResumeSound
8 5 0.6
S_PauseSound
{S_SOUND}.S_PauseSound
8 5 0.6
V_CopyRect
{V_VIDEO}.V_CopyRect
34 21 0.6
FixedDiv2
{M_FIXED}.FixedDiv2
13 8 0.6
P_LoadSideDefs
{P_SETUP}.P_LoadSideDefs
23 14 0.6
WI_drawNoState
{WI_STUFF}.WI_drawNoState
5 3 0.6
SlopeDiv
{TABLES}.SlopeDiv
10 6 0.6
ST_loadData
{ST_STUFF}.ST_loadData
5 3 0.6
P_Random
{M_RANDOM}.P_Random
5 3 0.6
G_ExitLevel
{G_GAME}.G_ExitLevel
5 3 0.6
G_DeferedPlayDemo
{G_GAME}.G_DeferedPlayDemo
5 3 0.6
R_DrawColumn
{R_DRAW}.R_DrawColumn
66 39 0.6
wipe_ScreenWipe
{F_WIPE}.wipe_ScreenWipe
30 17 0.6
S_AdjustSoundParams
{S_SOUND}.S_AdjustSoundParams
55 31 0.6
P_LoadSectors
{P_SETUP}.P_LoadSectors
25 14 0.6
P_LineAttack
{P_MAP}.P_LineAttack
22 12 0.5
W_CacheLumpName
{W_WAD}.W_CacheLumpName
6 3 0.5
S_StartMusic
{S_SOUND}.S_StartMusic
4 2 0.5
ST_diffDraw
{ST_STUFF}.ST_diffDraw
4 2 0.5
ST_Init
{ST_STUFF}.ST_Init
6 3 0.5
R_SetViewSize
{R_MAIN}.R_SetViewSize
8 4 0.5
R_InitSkyMap
{R_SKY}.R_InitSkyMap
4 2 0.5
R_ClearSprites
{R_THINGS}.R_ClearSprites
4 2 0.5
R_ClearDrawSegs
{R_BSP}.R_ClearDrawSegs
4 2 0.5
P_LoadNodes
{P_SETUP}.P_LoadNodes
28 14 0.5
P_InitThinkers
{P_TICK}.P_InitThinkers
4 2 0.5
M_StartMessage
{M_MENU}.M_StartMessage
14 7 0.5
M_SetupNextMenu
{M_MENU}.M_SetupNextMenu
6 3 0.5
M_DrawNewGame
{M_MENU}.M_DrawNewGame
6 3 0.5
I_UpdateSoundParams
{I_SOUND}.I_UpdateSoundParams
8 4 0.5
I_ReadScreen
{I_VIDEO}.I_ReadScreen
4 2 0.5
G_WorldDone
{G_GAME}.G_WorldDone
22 11 0.5
G_DeferedInitNew
{G_GAME}.G_DeferedInitNew
10 5 0.5
FixedMul
{M_FIXED}.FixedMul
6 3 0.5
D_AdvanceDemo
{D_MAIN}.D_AdvanceDemo
4 2 0.5
A_XScream
{P_ENEMY}.A_XScream
4 2 0.5
T_VerticalDoor
{P_DOORS}.T_VerticalDoor
117 58 0.5
W_CheckNumForName
{W_WAD}.W_CheckNumForName
25 12 0.5
M_DrawReadThis2
{M_MENU}.M_DrawReadThis2
19 9 0.5
M_DrawReadThis1
{M_MENU}.M_DrawReadThis1
19 9 0.5
P_LoadBlockMap
{P_SETUP}.P_LoadBlockMap
17 8 0.5
R_FlatNumForName
{R_DATA}.R_FlatNumForName
13 6 0.5
R_TextureNumForName
{R_DATA}.R_TextureNumForName
11 5 0.5
I_GetEvent
{I_VIDEO}.I_GetEvent
73 33 0.5
P_LoadSegs
{P_SETUP}.P_LoadSegs
34 14 0.4
WI_End
{WI_STUFF}.WI_End
5 2 0.4
R_PointToAngle2
{R_MAIN}.R_PointToAngle2
10 4 0.4
M_DrawMainMenu
{M_MENU}.M_DrawMainMenu
5 2 0.4
M_DrawEpisode
{M_MENU}.M_DrawEpisode
5 2 0.4
M_ClearMenus
{M_MENU}.M_ClearMenus
5 2 0.4
A_ReFire
{P_PSPR}.A_Refire
20 8 0.4
A_Fall
{P_ENEMY}.A_Fall
5 2 0.4
R_DrawSpan
{R_DRAW}.R_DrawSpan
85 31 0.4
wipe_EndScreen
{F_WIPE}.wipe_EndScreen
11 4 0.4
xlatekey
{I_INPUT}.TranslateKey
54 19 0.4
main
{I_MAIN}.main
9 3 0.3
R_InitPlanes
{R_PLANE}.R_InitPlanes
3 1 0.3
P_DropWeapon
{P_PSPR}.P_DropWeapon
6 2 0.3
I_UpdateNoBlit
{I_VIDEO}.I_UpdateNoBlit
3 1 0.3
I_StartFrame
{I_VIDEO}.I_StartFrame
3 1 0.3
wipe_StartScreen
{F_WIPE}.wipe_StartScreen
10 3 0.3
P_InterceptVector
{P_MAPUTL}.P_InterceptVector
41 12 0.3
wipe_exitColorXForm
{F_WIPE}.wipe_exitColorXForm
7 2 0.3
P_AddThinker
{P_TICK}.P_AddThinker
7 2 0.3
wipe_initColorXForm
{F_WIPE}.wipe_initColorXForm
8 2 0.3
V_DrawPatchDirect
{V_VIDEO}.V_DrawPatchDirect
8 2 0.3
I_StartSound
{I_SOUND}.I_StartSound
17 4 0.2
R_InitSprites
{R_THINGS}.R_InitSprites
9 2 0.2
P_LoadLineDefs
{P_SETUP}.P_LoadLineDefs
67 14 0.2
D_AddFile
{D_MAIN}.D_AddFile
10 2 0.2
I_GetTime
{I_SYSTEM}.I_GetTime
12 2 0.2
V_MarkRect
{V_VIDEO}.V_MarkRect
19 3 0.2
I_Tactile
{I_SYSTEM}.I_Tactile
7 1 0.1
V_Init
{V_VIDEO}.V_Init
8 1 0.1
I_UpdateSound
{I_SOUND}.I_UpdateSound
60 7 0.1
R_InitPointToAngle
{R_MAIN}.R_InitPointToAngle
12 1 0.1
R_InitTables
{R_MAIN}.R_InitTables
20 1 0.1
Stubbed
TryRunTics
{D_NET}.TryRunTics
105 128 1.2
S_StartSound
{S_SOUND}.S_StartSound
53 60 1.1
V_DrawPatch
{V_VIDEO}.V_DrawPatch
48 45 0.9
WI_initVariables
{WI_STUFF}.WI_initVariables
32 25 0.8
G_Responder
{G_GAME}.G_Responder
80 52 0.7
M_Drawer
{M_MENU}.M_Drawer
51 29 0.6
P_GiveWeapon
{P_INTER}.P_GiveWeapon
43 22 0.5
A_VileStart
{P_ENEMY}.A_VileStart
4 2 0.5
A_Light2
{P_PSPR}.A_Light2
4 2 0.5
A_Light1
{P_PSPR}.A_Light1
4 2 0.5
A_Explode
{P_ENEMY}.A_Explode
4 2 0.5
A_BrainPain
{P_ENEMY}.A_BrainPain
4 2 0.5
A_BrainDie
{P_ENEMY}.A_BrainDie
4 2 0.5
I_Quit
{I_SYSTEM}.I_Quit
9 4 0.4
I_InitSound
{I_SOUND}.I_InitSound
54 22 0.4
M_Options
{M_MENU}.M_Options
5 2 0.4
I_Error
{I_MAIN}.i_error
15 6 0.4
A_StartFire
{P_ENEMY}.A_StartFire
5 2 0.4
A_SpawnSound
{P_ENEMY}.A_SpawnSound
5 2 0.4
A_Metal
{P_ENEMY}.A_Metal
5 2 0.4
A_Hoof
{P_ENEMY}.A_Hoof
5 2 0.4
A_FireCrackle
{P_ENEMY}.A_FireCrackle
5 2 0.4
A_FatRaise
{P_ENEMY}.A_FatRaise
5 2 0.4
A_BabyMetal
{P_ENEMY}.A_BabyMetal
5 2 0.4
D_DoomLoop
{D_MAIN}.D_DoomLoop
38 15 0.4
I_StartTic
{I_VIDEO}.I_StartTic
21 8 0.4
M_ReadThis2
{M_MENU}.M_ReadThis2
6 2 0.3
M_ReadThis
{M_MENU}.M_ReadThis
6 2 0.3
M_QuitDOOM
{M_MENU}.M_QuitDOOM
9 3 0.3
M_FinishReadThis
{M_MENU}.M_FinishReadThis
6 2 0.3
F_Responder
{F_FINALE}.F_Responder
6 2 0.3
A_OpenShotgun2
{P_ENEMY}.A_OpenShotgun2
6 2 0.3
A_LoadShotgun2
{P_ENEMY}.A_LoadShotgun2
6 2 0.3
A_BFGsound
{P_PSPR}.A_BFGSound
6 2 0.3
M_LoadDefaults
{M_MISC}.M_LoadDefaults
56 16 0.3
HUlib_eraseIText
{HU_LIB}.HUlib_eraseIText
7 2 0.3
A_SkelWhoosh
{P_ENEMY}.A_SkelWhoosh
7 2 0.3
A_PainDie
{P_ENEMY}.A_PainDie
7 2 0.3
A_PainAttack
{P_ENEMY}.A_PainAttack
7 2 0.3
A_GunFlash
{P_PSPR}.A_GunFlash
7 2 0.3
A_FireMissile
{P_PSPR}.A_FireMissile
7 2 0.3
A_FireBFG
{P_PSPR}.A_FireBFG
7 2 0.3
A_CyberAttack
{P_ENEMY}.A_CyberAttack
7 2 0.3
A_CloseShotgun2
{P_ENEMY}.A_CloseShotgun2
7 2 0.3
A_BspiAttack
{P_ENEMY}.A_BspiAttack
7 2 0.3
I_FinishUpdate
{I_VIDEO}.I_FinishUpdate
137 37 0.3
wipe_exitMelt
{F_WIPE}.wipe_exitMelt
8 2 0.3
A_CheckReload
{P_PSPR}.A_CheckReload
8 2 0.3
AM_Stop
{AM_MAP}.AM_Stop
8 2 0.3
M_Responder
{M_MENU}.M_Responder
316 78 0.2
I_InitGraphics
{I_VIDEO}.I_InitGraphics
153 36 0.2
D_DoomMain
{D_MAIN}.D_DoomMain
283 66 0.2
A_FirePlasma
{P_PSPR}.A_FirePlasma
10 2 0.2
M_LoadGame
{M_MENU}.M_LoadGame
11 2 0.2
HUlib_eraseSText
{HU_LIB}.HUlib_eraseSText
11 2 0.2
G_DoReborn
{G_GAME}.G_DoReborn
34 6 0.2
A_SpidRefire
{P_ENEMY}.A_SpidRefire
12 2 0.2
A_SargAttack
{P_ENEMY}.A_SargAttack
12 2 0.2
A_CPosRefire
{P_ENEMY}.A_CPosRefire
12 2 0.2
AM_Ticker
{AM_MAP}.AM_Ticker
12 2 0.2
I_InitNetwork
{I_NET}.I_InitNetwork
71 11 0.2
M_SaveGame
{M_MENU}.M_SaveGame
13 2 0.2
A_SkelMissile
{P_ENEMY}.A_SkelMissile
13 2 0.2
A_SkelFist
{P_ENEMY}.A_SkelFist
13 2 0.2
A_FatAttack2
{P_ENEMY}.A_FatAttack2
13 2 0.2
A_FatAttack1
{P_ENEMY}.A_FatAttack1
13 2 0.2
A_VileTarget
{P_ENEMY}.A_VileTarget
14 2 0.1
A_HeadAttack
{P_ENEMY}.A_HeadAttack
14 2 0.1
A_BruisAttack
{P_ENEMY}.A_BruisAttack
14 2 0.1
AM_Drawer
{AM_MAP}.AM_Drawer
14 2 0.1
WI_drawAnimatedBack
{WI_STUFF}.WI_drawAnimatedBack
15 2 0.1
A_FireShotgun
{P_PSPR}.A_FireShotgun
15 2 0.1
W_Reload
{W_WAD}.W_Reload
32 4 0.1
A_FatAttack3
{P_ENEMY}.A_FatAttack3
16 2 0.1
A_CPosAttack
{P_ENEMY}.A_CPosAttack
16 2 0.1
A_BrainSpit
{P_ENEMY}.A_BrainSpit
16 2 0.1
A_BrainExplode
{P_ENEMY}.A_BrainExplode
16 2 0.1
WI_initNetgameStats
{WI_STUFF}.WI_initNetGameStats
17 2 0.1
A_FireCGun
{P_PSPR}.A_FireCGun
17 2 0.1
A_Fire
{P_ENEMY}.A_Fire
17 2 0.1
G_DeathMatchSpawnPlayer
{G_GAME}.G_DeathMatchSpawnPlayer
19 2 0.1
A_BrainScream
{P_ENEMY}.A_BrainScream
19 2 0.1
R_DrawColumnLow
{R_DRAW}.R_DrawColumnLow
29 3 0.1
WI_initDeathmatchStats
{WI_STUFF}.WI_initDeathmatchStats
20 2 0.1
R_DrawSpanLow
{R_DRAW}.r_DrawSpanLow
30 3 0.1
EV_LightTurnOn
{P_LIGHTS}.EV_LightTurnOn
30 3 0.1
A_VileAttack
{P_ENEMY}.A_VileAttack
20 2 0.1
A_SkullAttack
{P_ENEMY}.A_SkullAttack
20 2 0.1
A_SPosAttack
{P_ENEMY}.A_SPosAttack
20 2 0.1
R_DrawFuzzColumn
{R_DRAW}.R_DrawFuzzColumn
31 3 0.1
A_KeenDie
{P_ENEMY}.A_KeenDie
21 2 0.1
M_ScreenShot
{M_MISC}.M_ScreenShot
22 2 0.1
A_BrainAwake
{P_ENEMY}.A_BrainAwake
22 2 0.1
A_BFGSpray
{P_PSPR}.A_BFGSpray
22 2 0.1
HUlib_eraseTextLine
{HU_LIB}.HUlib_eraseTextLine
24 2 0.1
A_FireShotgun2
{P_PSPR}.A_FireShotgun2
25 2 0.1
P_InitPicAnims
{P_SPEC}.P_InitPicAnims
30 2 0.1
P_NightmareRespawn
{P_MOBJ}.P_NightmareRespawn
32 2 0.1
EV_DoLockedDoor
{P_DOORS}.EV_DoLockedDoor
48 3 0.1
P_ShootSpecialLine
{P_SPEC}.P_ShootSpecialLine
33 2 0.1
F_Ticker
{F_FINALE}.F_Ticker
34 2 0.1
EV_DoDonut
{P_SPEC}.EV_DoDonut
51 3 0.1
P_RespawnSpecials
{P_MOBJ}.P_RespawnSpecials
35 2 0.1
F_Drawer
{F_FINALE}.F_Drawer
35 2 0.1
WI_drawNetgameStats
{WI_STUFF}.WI_drawNetgameStats
36 2 0.1
G_DoLoadGame
{G_GAME}.G_DoLoadGame
36 2 0.1
A_Saw
{P_PSPR}.A_Saw
36 2 0.1
WI_updateAnimatedBack
{WI_STUFF}.WI_updateAnimatedBack
41 2 0.0
G_DoSaveGame
{G_GAME}.G_DoSaveGame
42 2 0.0
A_SpawnFly
{P_ENEMY}.A_SpawnFly
42 2 0.0
EV_DoCeiling
{P_CEILNG}.EV_DoCeiling
64 3 0.0
P_PlayerInSpecialSector
{P_SPEC}.P_PlayerInSpecialSector
45 2 0.0
A_VileChase
{P_ENEMY}.A_VileChase
46 2 0.0
EV_DoDoor
{P_DOORS}.EV_DoDoor
71 3 0.0
WI_unloadData
{WI_STUFF}.WI_unloadData
50 2 0.0
A_Tracer
{P_ENEMY}.A_Tracer
53 2 0.0
EV_BuildStairs
{P_FLOOR}.EV_BuildStairs
80 3 0.0
IdentifyVersion
{D_MAIN}.IdentifyVersion
110 4 0.0
FindResponseFile
{D_MAIN}.FindResponseFile
57 2 0.0
P_UpdateSpecials
{P_SPEC}.P_UpdateSpecials
59 2 0.0
EV_DoPlat
{P_PLATS}.EV_DoPlat
89 3 0.0
D_ArbitrateNetStart
{D_NET}.D_ArbitrateNetStart
63 2 0.0
WI_drawDeathmatchStats
{WI_STUFF}.WI_drawDeathmatchStats
68 2 0.0
GetPackets
{D_NET}.GetPackets
75 2 0.0
R_PrecacheLevel
{R_DATA}.R_PrecacheLevel
77 2 0.0
F_StartFinale
{F_FINALE}.F_StartFinale
79 2 0.0
WI_updateDeathmatchStats
{WI_STUFF}.WI_updateDeathmatchStats
80 2 0.0
P_SpawnSpecials
{P_SPEC}.P_SpawnSpecials
84 2 0.0
EV_DoFloor
{P_FLOOR}.EV_DoFloor
166 3 0.0
AM_Responder
{AM_MAP}.AM_Responder
114 2 0.0
A_BossDeath
{P_ENEMY}.A_BossDeath
120 2 0.0
WI_updateNetgameStats
{WI_STUFF}.WI_updateNetgameStats
126 2 0.0
ST_Responder
{ST_STUFF}.ST_Responder
159 2 0.0
P_CrossSpecialLine
{P_SPEC}.P_CrossSpecialLine
301 2 0.0
Moved
strupr Upcase a string, replaced with Eiffel features
myioctl Legacy sound interface, replaced with SDL
grabsharedmemory X11 video handling, replaced with SDL
getsfx Legacy sound interface, replaced with SDL
filelength Get file length, replaced with Eiffel features
createnullcursor X11 video output code, replaced with SDL
addsfx Sound handling, covered by SDL
Z_Malloc Zone memory management, replaced with Eiffel memory model
Z_Init Zone memory management, replaced with Eiffel memory model
Z_FreeTags Zone memory management, replaced with Eiffel memory model
Z_FreeMemory Zone memory management, replaced with Eiffel memory model
Z_Free Zone memory management, replaced with Eiffel memory model
Z_FileDumpHeap Zone memory management, replaced with Eiffel memory model
Z_DumpHeap Zone memory management, replaced with Eiffel memory model
Z_ClearZone Zone memory management, replaced with Eiffel memory model
Z_CheckHeap Zone memory management, replaced with Eiffel memory model
Z_ChangeTag2 Zone memory management, replaced with Eiffel GC
SwapSHORT File endianness handling, replaced with Eiffel features
SwapLONG File endianness handling, replaced with Eiffel features
InitExpand2 Video upscaling, covered by SDL
InitExpand Video upscaling, covered by SDL
I_SubmitSound Not needed with SDL
I_SoundDelTimer Not needed with SDL
I_QrySongPlaying Originally unused
I_HandleSoundTimer Originally unused
I_EndRead Originally empty, simplified out
I_BaseTiccmd Simplified out
Expand4 Video upscaling, covered by SDL
Not yet ported
AM_LevelInit
AM_Start
AM_activateNewScale
AM_addMark
AM_changeWindowLoc
AM_changeWindowScale
AM_clearFB
AM_clearMarks
AM_clipMline
AM_doFollowPlayer
AM_drawCrosshair
AM_drawFline
AM_drawGrid
AM_drawLineCharacter
AM_drawMarks
AM_drawMline
AM_drawPlayers
AM_drawThings
AM_drawWalls
AM_findMinMaxBoundaries
AM_getIslope
AM_initVariables
AM_loadPics
AM_maxOutWindowScale
AM_minOutWindowScale
AM_restoreScaleAndLoc
AM_rotate
AM_saveScaleAndLoc
AM_unloadPics
AM_updateLightLev
A_PainShootSkull
BindToLocalPort
CheckAbort
D_QuitNetGame
EV_CeilingCrushStop
EV_SlidingDoor
EV_StartLightStrobing
EV_StopPlat
EV_Teleport
EV_TurnTagLightsOff
ExpandTics
F_BunnyScroll
F_CastDrawer
F_CastPrint
F_CastResponder
F_CastTicker
F_DrawPatchCol
F_StartCast
F_TextWrite
G_CheckSpot
G_CmdChecksum
G_InitPlayer
G_LoadGame
G_SaveGame
G_ScreenShot
GetLocalAddress
HGetPacket
HSendPacket
HUlib_addCharToTextLine
HUlib_addLineToSText
HUlib_addMessageToSText
HUlib_addPrefixToIText
HUlib_clearTextLine
HUlib_delCharFromIText
HUlib_delCharFromTextLine
HUlib_drawIText
HUlib_drawSText
HUlib_drawTextLine
HUlib_eraseLineFromIText
HUlib_init
HUlib_initIText
HUlib_initSText
HUlib_initTextLine
HUlib_keyInIText
HUlib_resetIText
I_AllocLow
I_BeginRead
I_GetHeapSize
I_InitMusic
I_NetCmd
I_SetSfxVolume
I_ShutdownGraphics
I_ShutdownMusic
I_ShutdownSound
I_SoundSetTimer
I_WaitVBL
I_ZoneBase
M_ChangeDetail
M_ChangeMessages
M_ChangeSensitivity
M_DoSave
M_DrawEmptyCell
M_DrawLoad
M_DrawOptions
M_DrawSave
M_DrawSaveLoadBorder
M_DrawSelCell
M_DrawSound
M_DrawText
M_DrawThermo
M_EndGame
M_EndGameResponse
M_LoadSelect
M_MusicVol
M_QuickLoad
M_QuickLoadResponse
M_QuickSave
M_QuickSaveResponse
M_QuitResponse
M_ReadFile
M_ReadSaveStrings
M_SaveDefaults
M_SaveSelect
M_SfxVol
M_SizeDisplay
M_Sound
M_StopMessage
M_StringHeight
M_StringWidth
M_WriteFile
M_WriteText
NetbufferChecksum
NetbufferSize
PIT_RadiusAttack
PIT_StompThing
PIT_VileCheck
P_ActivateInStasis
P_ActivateInStasisCeiling
P_AddActiveCeiling
P_AddActivePlat
P_AllocateThinker
P_ArchivePlayers
P_ArchiveSpecials
P_ArchiveThinkers
P_ArchiveWorld
P_CalcSwing
P_FindHighestCeilingSurrounding
P_FindHighestFloorSurrounding
P_FindLowestFloorSurrounding
P_FindMinSurroundingLight
P_FindNextHighestFloor
P_FindSectorFromLineTag
P_FindSlidingDoorType
P_InitSlidingDoorFrames
P_LoadThings
P_MakeDivline
P_RadiusAttack
P_RemoveActiveCeiling
P_RemoveActivePlat
P_SpawnDoorCloseIn30
P_SpawnDoorRaiseIn5Mins
P_SpawnFireFlicker
P_SpawnGlowingLight
P_SpawnLightFlash
P_SpawnPlayerMissile
P_SpawnStrobeFlash
P_TeleportMove
P_UnArchivePlayers
P_UnArchiveSpecials
P_UnArchiveThinkers
P_UnArchiveWorld
PacketGet
PacketSend
R_AddPointToBox
ST_unloadData
ST_unloadGraphics
STlib_drawNum
STlib_initBinIcon
STlib_initMultIcon
STlib_initNum
STlib_initPercent
STlib_updateBinIcon
STlib_updateMultIcon
STlib_updateNum
STlib_updatePercent
S_StartSoundAtVolume
T_FireFlicker
T_Glow
T_LightFlash
T_MoveCeiling
T_MoveFloor
T_PlatRaise
T_SlidingDoor
T_StrobeFlash
UDPsocket
UploadNewPalette
V_DrawPatchFlipped
V_GetBlock
WI_Responder
WI_fragSum
W_InitFile
W_NumLumps
W_Profile
WritePCXfile
cht_CheckCheat
cht_GetParam
getSector
getSide
twoSided