ZDoom / gzdoom

GZDoom is a feature centric port for all Doom engine games, based on ZDoom, adding an OpenGL renderer and powerful scripting capabilities
http://zdoom.org
GNU General Public License v3.0
2.49k stars 540 forks source link

[BUG] "Attempt to instantiate abstract class BlockThingsIterator" when loading savegame #1876

Closed ipaqmaster closed 1 year ago

ipaqmaster commented 1 year ago

GZDoom version

GZDoom g4.9.0-m - 2022-11-05 14:00:59 +0100 - SDL version

Which game are you running with GZDoom?

Doom 2

What Operating System are you using?

Linux x86_64

Please describe your specific OS version

Archlinux. Kernel version 6.0.11-arch1-1

Relevant hardware info

NA - Not a hardware problem

Have you checked that no other similar issue already exists?

A clear and concise description of what the bug is.

I'm currently playing through tnt.wad using Hideous Destructor (hd-4.10.0a.pk7).

Over the past few months I've played through Doom 2 and Doom 1's four chapters with this mod.

Now I'm doing TNT before Plutonia.

I'm currently up to MAP05 of tnt.wad and I noticed when I tried to load my savegame (save00.zds) I was unable to load it with gzdoom spitting out: Attempt to instantiate abstract class BlockThingsIterator so it seems something has gone haywire with the save.

The trouble I'm also having is that... I run ZFS on this gaming PC and happen to be able to restore hourly snapshots, while not ideal to rollback like this, I can cherry pick the previous hour's save file.

Extracting my broken save00.zds and the one from a few hours before this corruption and then comparing them with meld (After using jq to pretty print the two working/broken map05.map.json files ) seems to be in tact along with other savegame json.

I can only imagine it's something horrific somewhere in the middle of the map05.map.json which has introduced this problem (Inability to load that savegame anymore).

Steps to reproduce the behaviour.

Explain how to reproduce

  1. Play Hideous Destructor on tnt.wad map05 for a while, quicksave (F6) every so often
  2. Die, realizing it's time to visit your saved progress
  3. Encounter Attempt to instantiate abstract class BlockThingsIterator from the console after loading it

Earlier copies of the save are fine on the same level, it seemed to happen later.

Your configuration

Click here to expand ```ini # This file was generated by GZDoom g4.9.0-m on 2022-12-13 20:10:17 # These are the directories to automatically search for IWADs. # Each directory should be on a separate line, preceded by Path= [IWADSearch.Directories] Path=. Path=$DOOMWADDIR Path=$HOME/.config/gzdoom Path=/usr/share/doom Path=/usr/share/games/doom # These are the directories to search for wads added with the -file # command line parameter, if they cannot be found with the path # as-is. Layout is the same as for IWADSearch.Directories [FileSearch.Directories] Path=$HOME/.config/gzdoom Path=/usr/share/gzdoom Path=/usr/share/doom Path=/usr/share/games/doom Path=$DOOMWADDIR # These are the directories to search for soundfonts that let listed in the menu. # Layout is the same as for IWADSearch.Directories [SoundfontSearch.Directories] Path=$HOME/.config/gzdoom/soundfonts Path=$HOME/.config/gzdoom/fm_banks Path=/usr/share/gzdoom/soundfonts Path=/usr/share/gzdoom/fm_banks # Files to automatically execute when running the corresponding game. # Each file should be on its own line, preceded by Path= [Doom.AutoExec] Path=/home/jared/.config/gzdoom/autoexec.cfg [Heretic.AutoExec] Path=/home/jared/.config/gzdoom/autoexec.cfg [Hexen.AutoExec] Path=/home/jared/.config/gzdoom/autoexec.cfg [Strife.AutoExec] Path=/home/jared/.config/gzdoom/autoexec.cfg [Chex.AutoExec] Path=/home/jared/.config/gzdoom/autoexec.cfg # WAD files to always load. These are loaded after the IWAD but before # any files added with -file. Place each file on its own line, preceded # by Path= [Global.Autoload] # Wad files to automatically load depending on the game and IWAD you are # playing. You may have have files that are loaded for all similar IWADs # (the game) and files that are only loaded for particular IWADs. For example, # any files listed under 'doom.Autoload' will be loaded for any version of Doom, # but files listed under 'doom.doom2.Autoload' will only load when you are # playing a Doom 2 based game (doom2.wad, tnt.wad or plutonia.wad), and files listed under # 'doom.doom2.commercial.Autoload' only when playing doom2.wad. [doom.Autoload] [doom.id.Autoload] [doom.id.doom2.Autoload] [doom.id.doom2.commercial.Autoload] [doom.id.doom2.commercial.french.Autoload] [doom.id.doom2.commercial.xbox.Autoload] [doom.id.doom2.unity.Autoload] [doom.id.doom2.bfg.Autoload] [doom.id.doom2.plutonia.Autoload] [doom.id.doom2.plutonia.unity.Autoload] [doom.id.doom2.tnt.Autoload] [doom.id.doom2.tnt.unity.Autoload] [doom.id.doom1.Autoload] [doom.id.doom1.registered.Autoload] [doom.id.doom1.ultimate.Autoload] [doom.id.doom1.ultimate.xbox.Autoload] [doom.id.wadsmoosh.Autoload] [doom.id.doom1.unity.Autoload] [doom.id.doom1.bfg.Autoload] [doom.freedoom.Autoload] [doom.freedoom.demo.Autoload] [doom.freedoom.phase1.Autoload] [doom.freedoom.phase2.Autoload] [doom.freedoom.freedm.Autoload] [heretic.Autoload] [heretic.heretic.Autoload] [heretic.shadow.Autoload] [blasphemer.Autoload] [hexen.Autoload] [hexen.deathkings.Autoload] [hexen.hexen.Autoload] [strife.Autoload] [strife.strife.Autoload] [strife.veteran.Autoload] [chex.Autoload] [chex.chex1.Autoload] [chex.chex3.Autoload] [urbanbrawl.Autoload] [hacx.Autoload] [hacx.hacx1.Autoload] [hacx.hacx2.Autoload] [harmony.Autoload] [square.Autoload] [square.squareware.Autoload] [square.square.Autoload] [delaweare.Autoload] [woolball.Autoload] [woolball.rotwb.Autoload] [doom.id.doom2.wadsmoosh.Autoload] [LastRun] Version=223 [GlobalSettings] I_FriendlyWindowTitle=1 adl_chips_count=6 adl_emulator_id=0 adl_fullpan=true adl_run_at_pcm_rate=false adl_volume_model=0 autoloadbrightmaps=false autoloadlights=false autoloadwidescreen=true autosavecount=4 autosavenum=2 chase_dist=90 chase_height=-8 cl_capfps=false cl_defaultconfiguration=0 cl_noprediction=false cl_oldfreelooklimit=false cl_predict_lerpscale=0.05000000074505806 cl_predict_lerpthreshold=2 cl_predict_specials=true cl_run=true cl_scaleweaponfov=1 cl_waitforsave=true con_4bitansi=false con_buffersize=-1 con_ctrl_d= con_notifylines=4 con_printansi=true defaultiwad=Final Doom: TNT - Evilution demo_compress=true developer=4 disableautoload=false disableautosave=0 enablescriptscreenshot=false fluid_chorus=false fluid_chorus_depth=8 fluid_chorus_level=1 fluid_chorus_speed=0.30000001192092896 fluid_chorus_type=0 fluid_chorus_voices=3 fluid_gain=0.5 fluid_interp=1 fluid_lib= fluid_patchset=gzdoom fluid_reverb=false fluid_reverb_damping=0.23000000417232513 fluid_reverb_level=0.5699999928474426 fluid_reverb_roomsize=0.6100000143051147 fluid_reverb_width=0.7599999904632568 fluid_samplerate=0 fluid_threads=1 fluid_voices=128 freelook=true gl_billboard_faces_camera=false gl_billboard_mode=0 gl_billboard_particles=true gl_cachenodes=true gl_cachetime=0.6000000238418579 gl_debug=false gl_debug_breakpoint=false gl_debug_level=0 gl_distfog=70 gl_dither_bpc=-1 gl_enhanced_nv_stealth=3 gl_es=false gl_finishbeforeswap=false gl_fxaa=1 gl_lens=false gl_lens_chromatic=1.1200000047683716 gl_lens_k=-0.11999999731779099 gl_lens_kcube=0.10000000149011612 gl_light_particles=true gl_light_shadowmap=true gl_light_sprites=true gl_lights=true gl_mask_sprite_threshold=0.5 gl_mask_threshold=0.5 gl_mirror_envmap=true gl_multisample=2 gl_multithread=true gl_no_skyclear=false gl_particles_style=2 gl_pipeline_depth=0 gl_plane_reflection=true gl_satformula=1 gl_seamless=true gl_shadowmap_filter=1 gl_shadowmap_quality=1024 gl_sort_textures=false gl_sprite_blend=false gl_ssao=3 gl_ssao_portals=4 gl_ssao_strength=0.699999988079071 gl_texture_filter=0 gl_texture_filter_anisotropic=1 gl_texture_hqresize_maxinputsize=512 gl_texture_hqresize_mt_height=4 gl_texture_hqresize_mt_width=16 gl_texture_hqresize_multithread=true gl_texture_hqresize_targets=15 gl_texture_hqresizemode=0 gl_texture_hqresizemult=2 gl_usecolorblending=true gme_stereodepth=0 gus_memsize=0 gus_patchdir= i_discordrpc=false i_pauseinbackground=false i_soundinbackground=true inter_subtitles=false invertmouse=false invertmousex=false language=auto longsavemessages=true lookstrafe=false m_blockcontrollers=false m_cleanscale=false m_forward=1 m_pitch=1 m_sensitivity_x=0.9000000357627869 m_sensitivity_y=0.6000000238418579 m_show_backbutton=0 m_showinputgrid=0 m_side=2 m_simpleoptions=true m_use_mouse=2 m_yaw=1 map_point_coordinates=true midi_config=gzdoom midi_dmxgus=false midi_voices=32 mod_autochip=false mod_autochip_scan_threshold=12 mod_autochip_size_force=100 mod_autochip_size_scan=500 mod_dumb_mastervolume=1 mod_interp=4 mod_samplerate=0 mod_volramp=2 mouse_capturemode=1 mus_calcgain=true mus_enabled=true mus_gainoffset=0 mus_usereplaygain=false nointerscrollabort=false nomonsterinterpolation=false opl_core=0 opl_fullpan=true opl_numchips=2 opn_chips_count=8 opn_emulator_id=0 opn_fullpan=true opn_run_at_pcm_rate=false os_isanyof=true png_gamma=0 png_level=5 queryiwad=true quicksavenum=-1 quicksaverotation=false quicksaverotationcount=4 r_actorspriteshadow=1 r_actorspriteshadowdist=1500 r_blendmethod=false r_dynlights=true r_fakecontrast=1 r_fullbrightignoresectorcolor=true r_fuzzscale=true r_line_distance_cull=0 r_linearsky=false r_magfilter=false r_minfilter=true r_mipmap=true r_mirror_recursions=4 r_models=true r_multithreaded=1 r_noaccel=false r_quakeintensity=1 r_skipmats=false r_sprite_distance_cull=0 r_spriteadjust=2 r_ticstability=true save_dir= save_formatted=false saveloadconfirmation=true savestatistics=0 screenshot_dir= screenshot_quiet=false screenshot_type=png sentstats_hwr_done=0 show_messages=true showendoom=0 snd_aldevice=Default snd_alresampler=Default snd_backend=openal snd_buffersize=0 snd_channels=256 snd_efx=true snd_enabled=true snd_hrtf=-1 snd_mastervolume=0.5 snd_mididevice=-5 snd_midiprecache=false snd_musicvolume=0 snd_samplerate=0 snd_sfxvolume=0.3031249940395355 snd_streambuffersize=64 snd_waterreverb=true statfile=zdoomstat.txt storesavepic=true strictdecorate=false sys_statsenabled49=0 sys_statshost=gzstats.drdteam.org sys_statsport=80 telezoom=true timidity_channel_pressure=false timidity_chorus=0 timidity_config=gzdoom timidity_drum_effect=false timidity_drum_power=1 timidity_key_adjust=0 timidity_lpf_def=1 timidity_min_sustain_time=5000 timidity_modulation_envelope=true timidity_modulation_wheel=true timidity_overlap_voice_allow=true timidity_pan_delay=false timidity_portamento=true timidity_reverb=0 timidity_reverb_level=0 timidity_surround_chorus=false timidity_temper_control=true timidity_tempo_adjust=1 turnspeedsprintfast=1280 turnspeedsprintslow=320 turnspeedwalkfast=640 turnspeedwalkslow=320 use_joystick=false use_mouse=true vid_activeinbackground=false vid_adapter=0 vid_aspect=0 vid_brightness=0 vid_contrast=1.0153125524520874 vid_cropaspect=false vid_defheight=480 vid_defwidth=640 vid_fullscreen=false vid_gamma=2 vid_hdr=false vid_maxfps=300 vid_preferbackend=1 vid_rendermode=4 vid_saturation=1 vid_scale_customheight=1200 vid_scale_custompixelaspect=1 vid_scale_customwidth=1920 vid_scale_linear=false vid_scalefactor=1 vid_scalemode=0 vid_sdl_render_driver= vid_vsync=false vk_debug=false vk_debug_callstack=true vk_device=0 vk_hdr=false vr_hunits_per_meter=41 vr_ipd=0.06199999898672104 vr_mode=0 vr_screendist=0.800000011920929 vr_swap_eyes=false wildmidi_config= wildmidi_enhanced_resampling=true wildmidi_reverb=false win_h=686 win_maximized=false win_w=1270 win_x=980 win_y=334 xbrz_centerdirectionbias=4 xbrz_colorformat=0 xbrz_dominantdirectionthreshold=3.5999999046325684 xbrz_equalcolortolerance=30 xbrz_luminanceweight=1 xbrz_steepdirectionthreshold=2.200000047683716 [GlobalSettings.Unknown] [Doom.Player] autoaim=0 classicflight=false color=40 90 e0 colorset=-1 fov=120 gender=male movebob=0.25 name=iPaq neverswitchonpickup=false playerclass=Loadout 8 skin=base stillbob=0 team=255 vertspread=false wbobfire=0 wbobspeed=1 wi_noautostartmap=false [Doom.ConsoleVariables] addrocketexplosion=false adl_bank=28 adl_custom_bank= adl_use_custom_bank=false allcheats=false am_backcolor=6c 54 40 am_cdwallcolor=4c 38 20 am_colorset=0 am_customcolors=true am_drawmapback=1 am_efwallcolor=66 55 55 am_emptyspacemargin=0 am_fdwallcolor=88 70 58 am_followplayer=true am_gridcolor=8b 5a 2b am_interlevelcolor=ff 00 00 am_intralevelcolor=00 00 ff am_linealpha=1 am_linethickness=1 am_lockedcolor=00 78 00 am_map_secrets=1 am_markcolor=2 am_markfont=AMMNUMx am_notseencolor=6c 6c 6c am_ovcdwallcolor=00 88 44 am_ovefwallcolor=00 88 44 am_overlay=0 am_ovfdwallcolor=00 88 44 am_ovinterlevelcolor=ff ff 00 am_ovlockedcolor=00 88 44 am_ovotherwallscolor=00 88 44 am_ovportalcolor=00 40 22 am_ovsecretsectorcolor=00 ff ff am_ovsecretwallcolor=00 88 44 am_ovspecialwallcolor=ff ff ff am_ovtelecolor=ff ff 00 am_ovthingcolor=e8 88 00 am_ovthingcolor_citem=e8 88 00 am_ovthingcolor_friend=e8 88 00 am_ovthingcolor_item=e8 88 00 am_ovthingcolor_monster=e8 88 00 am_ovthingcolor_ncmonster=e8 88 00 am_ovunexploredsecretcolor=00 ff ff am_ovunseencolor=00 22 6e am_ovwallcolor=00 ff 00 am_ovyourcolor=fc e8 d8 am_portalcolor=40 40 40 am_portaloverlay=true am_rotate=0 am_secretsectorcolor=ff 00 ff am_secretwallcolor=00 00 00 am_showcluster=false am_showepisode=false am_showgrid=false am_showitems=true am_showkeys=true am_showkeys_always=true am_showmaplabel=2 am_showmonsters=true am_showsecrets=true am_showthingsprites=2 am_showtime=true am_showtotaltime=false am_showtriggerlines=0 am_specialwallcolor=ff ff ff am_textured=true am_thingcolor=fc fc fc am_thingcolor_citem=fc fc fc am_thingcolor_friend=fc fc fc am_thingcolor_item=fc fc fc am_thingcolor_monster=fc fc fc am_thingcolor_ncmonster=fc fc fc am_thingrenderstyles=true am_tswallcolor=88 88 88 am_unexploredsecretcolor=ff 00 ff am_wallcolor=2c 18 08 am_xhaircolor=80 80 80 am_yourcolor=fc e8 d8 am_zoomdir=0 blood_fade_scalar=1 chat_substitution=false chatmacro0=No chatmacro1=I'm ready to kick butt! chatmacro2=I'm OK. chatmacro3=I'm not looking too good! chatmacro4=Help! chatmacro5=You suck! chatmacro6=Next time, scumbag... chatmacro7=Come here! chatmacro8=I'll take care of it. chatmacro9=Yes cl_bbannounce=false cl_bloodsplats=true cl_bloodtype=0 cl_custominvulmapcolor1=00 00 1a cl_custominvulmapcolor2=a6 a6 7a cl_customizeinvulmap=false cl_doautoaim=false cl_gfxlocalization=3 cl_maxdecals=4024 cl_missiledecals=true cl_nointros=false cl_pufftype=0 cl_rockettrails=1 cl_showmultikills=true cl_showsecretmessage=true cl_showsprees=true cl_spreaddecals=true classic_scaling_factor=1 classic_scaling_pixelaspect=1.2000000476837158 compatmode=0 con_alpha=0.75 con_centernotify=false con_midtime=3 con_notablist=false con_notifytime=3 con_pulsetext=false con_scale=0 con_scaletext=0 crosshair=5 crosshaircolor=00 00 ff crosshairforce=false crosshairgrow=false crosshairhealth=1 crosshairon=true crosshairscale=0 dehload=0 dimamount=-1 dimcolor=ff d7 00 displaynametags=0 dlg_musicvolume=1 dlg_vgafont=false gl_aalines=false gl_bandedswlight=false gl_bloom=true gl_bloom_amount=1.399999976158142 gl_brightfog=false gl_coronas=true gl_enhanced_nightvision=true gl_exposure_base=0.3499999940395355 gl_exposure_min=0.3499999940395355 gl_exposure_scale=1.2999999523162842 gl_exposure_speed=0.05000000074505806 gl_fogmode=2 gl_fuzztype=0 gl_interpolate_model_frames=true gl_light_models=true gl_lightadditivesurfaces=false gl_lightmode=0 gl_menu_blur=0.5 gl_paltonemap_powtable=3 gl_paltonemap_reverselookup=true gl_precache=true gl_scale_viewport=true gl_sclipfactor=1.7999999523162842 gl_sclipthreshold=10 gl_spriteclip=1 gl_tonemap=0 gl_weaponlight=4 hud_althud=false hud_althud_forceinternal=false hud_althudscale=0 hud_ammo_order=0 hud_ammo_red=25 hud_ammo_yellow=50 hud_armor_green=100 hud_armor_red=25 hud_armor_yellow=50 hud_aspectscale=false hud_berserk_health=true hud_health_green=100 hud_health_red=25 hud_health_yellow=50 hud_oldscale=true hud_scale=0 hud_scalefactor=0.9199999570846558 hud_showammo=2 hud_showangles=false hud_showitems=false hud_showlag=0 hud_showmonsters=true hud_showscore=false hud_showsecrets=true hud_showstats=false hud_showtime=0 hud_showtimestat=0 hud_showweapons=true hud_timecolor=5 hudcolor_ltim=8 hudcolor_statnames=6 hudcolor_stats=3 hudcolor_time=6 hudcolor_titl=10 hudcolor_ttim=5 hudcolor_xyco=3 inter_classic_scaling=true log_vgafont=false lookspring=true m_quickexit=false msg=0 msg0color=6 msg1color=5 msg2color=2 msg3color=3 msg4color=3 msgmidcolor=5 msgmidcolor2=4 nametagcolor=5 nocheats=false opn_custom_bank= opn_use_custom_bank=false paletteflash=0 pickup_fade_scalar=1 r_deathcamera=false r_drawfuzz=1 r_maxparticles=4000 r_portal_recursions=4 r_rail_smartspiral=false r_rail_spiralsparsity=1 r_rail_trailsparsity=1 r_skymode=2 r_vanillatrans=0 sb_cooperative_enable=true sb_cooperative_headingcolor=6 sb_cooperative_otherplayercolor=2 sb_cooperative_yourplayercolor=3 sb_deathmatch_enable=true sb_deathmatch_headingcolor=6 sb_deathmatch_otherplayercolor=2 sb_deathmatch_yourplayercolor=3 sb_teamdeathmatch_enable=true sb_teamdeathmatch_headingcolor=6 screenblocks=11 setslotstrict=true show_obituaries=true snd_menuvolume=0.6000000238418579 snd_pitched=false st_oldouch=false st_scale=0 transsouls=0.75 ui_screenborder_classic_scaling=true uiscale=4 underwater_fade_scalar=1 vid_allowtrueultrawide=1 vid_cursor=cursor vid_nopalsubstitutions=false wi_cleantextscale=false wi_percents=true wi_showtotaltime=true wipetype=1 [Doom.LocalServerInfo] compatflags=64 compatflags2=0 forcewater=false maxviewpitch=90 sv_corpsequeuesize=64 sv_disableautohealth=false sv_dropstyle=0 sv_portal_recursions=4 sv_smartaim=0 [Doom.ConfigOnlyVariables] [Doom.UnknownConsoleVariables] [Doom.ConsoleAliases] [Doom.Bindings] 2=slot 2 3=slot 3 4=slot 4 5=slot 5 6=slot 6 7=slot 7 8=slot 8 9=slot 9 0=slot 0 -=sizedown Equals=sizeup Tab=togglemap W=+forward E=+use R=+reload T=messagemode Y=messagemode2 LeftBracket=invprev RightBracket=invnext Enter=invuse Ctrl=+crouch A=+moveleft S=+back D=+moveright `=toggleconsole \=+showscores Alt=linetarget Space=+jump F1=menu_help F2=menu_save F3=menu_load F4=menu_options F5=menu_display F6=quicksave F9=quickload F10=screenshot F11=screenshot F12=screenshot SysRq=screenshot Pause=pause Home=land PgUp=+moveup LeftArrow=+left RightArrow=+right End=centerview PgDn=+lookup Ins=+movedown Del=+lookdown Mouse1=+attack Mouse2=+altattack Mouse3=+zoom MWheelUp=weapprev MWheelDown=weapnext MWheelRight=invnext MWheelLeft=invprev DPadUp=togglemap DPadDown=invuse DPadLeft=invprev DPadRight=invnext Pad_Start=pause Pad_Back=menu_main LShoulder=weapprev RShoulder=weapnext KP-=weapprev KP+=weapnext Mouse4=weapdrop RAlt=summon rocket KP7=screenshot Shift=+speed 1=slot 1 B=+speed [Doom.DoubleBindings] [Doom.AutomapBindings] 0=am_gobig -=+am_zoomout Equals=+am_zoomin P=am_toggletexture F=am_togglefollow G=am_togglegrid C=am_clearmarks M=am_setmark KP-=+am_zoomout KP+=+am_zoomin UpArrow=+am_panup LeftArrow=+am_panleft RightArrow=+am_panright DownArrow=+am_pandown MWheelUp=am_zoom 1.2 MWheelDown=am_zoom -1.2 [Doom.Player.Mod] IHNI_Ending=0 IHNI_MenuBackground=0 IHNI_WeaponScreenShake=1 RO_FilthyMemes=false RO_IGotIt=false RO_QuakeRecoil=1 RO_Voices=50 RO_WeaponRecoil=1 RO_ZoomRecoil=1 __doomware_firstjoin=true ccards_alwaysregulardeck=false ccards_autogamemode=false ccards_deathcounter=0 ccards_nodebughelp=false ccards_selectionkey=1 ccards_selector_description=0 ccards_selector_names=true ccards_selector_nobuffer=false checkpoints=1 cl_infested_pistolstart=false cl_infested_swap_aprl_firemodes=false cl_infested_swap_spreadgun_firemodes=false cl_infested_weaponinfomsgs=true dam_fontclass=DamNumFontGameDefault dam_physics=0 dam_translation=DamDefault dam_usetypes=true doomware_huddynamic=true doomware_hudscale=false doomware_hudshowbinds=true doomware_hudsounds=true doomware_hudwide=false doomware_invertfly=false doomware_loginwarn=true doomware_music=true hd_aimsensitivity=0.10000000149011612 hd_autoactivateied=true hd_bracesensitivity=1 hd_consolidate=true hd_crosshair=0 hd_crosshairscale=1 hd_derpmode=3 hd_height=180 hd_helptext=true hd_hudsprite=false hd_hudstyle=0 hd_hudusedelay=12 hd_loadout1=Assault: z66, 450 5, rkt 6, sol hd_loadout10=V.I.P.: sla, shl 20, pis, 915 2, awb, sol, bak blo. rkt 3. med 2. stm 2. lit. bat 2. shl 40 hd_loadout11=Sniper: bos frontreticle, pis selectfire, 710 10, 7rl, stm 3, med, drp, 915 2, frg 3, awg hd_loadout12=MEDIA0#Medic: pis selectfire, 915 2, zrk 2, med 2, stm 2, sol, bak saw. bat. lit. zrk 3. med 4. stm 7. bld 3. dbs 3 hd_loadout13=HERPA8A2#Roboticist: pis, drp 3, hrp, ied 3, 915 4, 450 3, bat, med, stm, awg, bak. 450 5. 915 5. bat 3. rkt 6 hd_loadout14=ARMSA0#Security Guard: pis, 915 2, med, awg hd_loadout15=IFOGB0#Insurgent: insurgent hd_loadout16=PISTA0#Doomed Guy: doomguy hd_loadout17=STFEVL0#Naturist: hd_loadout18=pis selectfire, 915 5, sol hd_loadout19=sla, shl 30, rev 2, 355 60, sol hd_loadout2=BRLLB0#Heavy Assault: lib nobp, 730 5, rkt 6,sol hd_loadout20=bos customchamber, 710 15, rev 2, 355 120, sol hd_loadout3=Night Raid: smg, 930 5, blo, rkt 4, frg 1, lit, bat, dbs 2, sol hd_loadout4=Day Raid: hun, shl 36, blo, rkt 4, frg 4, sol hd_loadout5=Cover Fire: vul, 450 7, bat 1, sol hd_loadout6=LAUNA0#Explosives: lau, rkt 12, rkh 2, frg 3, sol hd_loadout7=Anti-Materiel: bro, brb 20, z66 nogl, 450, sol hd_loadout8=Shieldbreaker: thu, bat 6, frg 4,sol hd_loadout9=Hideous Destructor: bfg, bat 6, frg 2, sol hd_maglimit=0 hd_noscope=0 hd_noslide=0 hd_nozoomlean=false hd_nv=7 hd_nv_style=7 hd_pronouns= hd_sightbob=true hd_skin= hd_strength=11 hd_swapbarrels=false hd_usefocus=true hd_voicepitch=1 hd_weapondefaults= musicformat=0 pk_CodexNotifs=true pk_ShowCardsInHUD=true pk_maxdebris=800 pk_particles=2 pk_switch_BoltgunHeater=false pk_switch_ElectroDriver=false pk_switch_MinigunRocket=false pk_switch_Painkiller=false pk_switch_RifleFlamethrower=false pk_switch_ShotgunFreezer=false pk_switch_StakeGrenade=false pktltp_background_horizontal_padding=9 pktltp_background_mode=false pktltp_background_name=2 pktltp_background_vertical_padding=3 pktltp_border_alpha=1 pktltp_border_color=00 00 00 pktltp_border_horizontal_thickness=3 pktltp_border_toggle=false pktltp_border_type=true pktltp_border_vertical_thickness=3 pktltp_delay_skip=true pktltp_delay_tics=25 pktltp_draw_order=false pktltp_font_color=23 pktltp_font_color_override=true pktltp_i_disabledOptions=true pktltp_location_horizontal_margin=10 pktltp_location_vertical_margin=10 pktltp_show_background=true pktltp_show_delay=false pktltp_show_tips=true pktltp_time_out=false pktltp_time_out_val=5 pktltp_tooltip_alignment=2 pktltp_tooltip_font=2 pktltp_tooltip_font_name= pktltp_tooltip_location=5 ro_vmaborts=1 splot2_highscore_bossrush_1=0 splot2_highscore_bossrush_10=0 splot2_highscore_bossrush_10_bosses=0 splot2_highscore_bossrush_10_win=0 splot2_highscore_bossrush_1_bosses=0 splot2_highscore_bossrush_1_win=0 splot2_highscore_bossrush_2=0 splot2_highscore_bossrush_2_bosses=0 splot2_highscore_bossrush_2_win=0 splot2_highscore_bossrush_3=0 splot2_highscore_bossrush_3_bosses=0 splot2_highscore_bossrush_3_win=0 splot2_highscore_bossrush_4=0 splot2_highscore_bossrush_4_bosses=0 splot2_highscore_bossrush_4_win=0 splot2_highscore_bossrush_5=0 splot2_highscore_bossrush_5_bosses=0 splot2_highscore_bossrush_5_win=0 splot2_highscore_bossrush_6=0 splot2_highscore_bossrush_6_bosses=0 splot2_highscore_bossrush_6_win=0 splot2_highscore_bossrush_7=0 splot2_highscore_bossrush_7_bosses=0 splot2_highscore_bossrush_7_win=0 splot2_highscore_bossrush_8=0 splot2_highscore_bossrush_8_bosses=0 splot2_highscore_bossrush_8_win=0 splot2_highscore_bossrush_9=0 splot2_highscore_bossrush_9_bosses=0 splot2_highscore_bossrush_9_win=0 splot2_highscore_doghell_1=21680 splot2_highscore_doghell_10=0 splot2_highscore_doghell_10_wave=0 splot2_highscore_doghell_1_wave=4 splot2_highscore_doghell_2=21680 splot2_highscore_doghell_2_wave=4 splot2_highscore_doghell_3=21680 splot2_highscore_doghell_3_wave=4 splot2_highscore_doghell_4=0 splot2_highscore_doghell_4_wave=0 splot2_highscore_doghell_5=0 splot2_highscore_doghell_5_wave=0 splot2_highscore_doghell_6=0 splot2_highscore_doghell_6_wave=0 splot2_highscore_doghell_7=0 splot2_highscore_doghell_7_wave=0 splot2_highscore_doghell_8=0 splot2_highscore_doghell_8_wave=0 splot2_highscore_doghell_9=0 splot2_highscore_doghell_9_wave=0 splot2_highscore_mode10_1=143471 splot2_highscore_mode10_10=93216 splot2_highscore_mode10_10_map=Gutrot Island splot2_highscore_mode10_10_win=0 splot2_highscore_mode10_1_map=Gutrot Island splot2_highscore_mode10_1_win=1 splot2_highscore_mode10_2=126881 splot2_highscore_mode10_2_map=Gutrot Island splot2_highscore_mode10_2_win=0 splot2_highscore_mode10_3=120222 splot2_highscore_mode10_3_map=Gutrot Island splot2_highscore_mode10_3_win=0 splot2_highscore_mode10_4=116948 splot2_highscore_mode10_4_map=Gutrot Island splot2_highscore_mode10_4_win=0 splot2_highscore_mode10_5=116649 splot2_highscore_mode10_5_map=Gutrot Island splot2_highscore_mode10_5_win=0 splot2_highscore_mode10_6=116548 splot2_highscore_mode10_6_map=Gutrot Island splot2_highscore_mode10_6_win=0 splot2_highscore_mode10_7=114209 splot2_highscore_mode10_7_map=Gutrot Island splot2_highscore_mode10_7_win=0 splot2_highscore_mode10_8=113919 splot2_highscore_mode10_8_map=Gutrot Island splot2_highscore_mode10_8_win=0 splot2_highscore_mode10_9=98430 splot2_highscore_mode10_9_map=Gutrot Island splot2_highscore_mode10_9_win=0 splot2_highscore_mode10_secret_1=4500 splot2_highscore_mode10_secret_10=0 splot2_highscore_mode10_secret_10_map=-- splot2_highscore_mode10_secret_10_win=0 splot2_highscore_mode10_secret_1_map=Block Fort splot2_highscore_mode10_secret_1_win=0 splot2_highscore_mode10_secret_2=2125 splot2_highscore_mode10_secret_2_map=Big. Red. Mess. splot2_highscore_mode10_secret_2_win=0 splot2_highscore_mode10_secret_3=0 splot2_highscore_mode10_secret_3_map=-- splot2_highscore_mode10_secret_3_win=0 splot2_highscore_mode10_secret_4=0 splot2_highscore_mode10_secret_4_map=-- splot2_highscore_mode10_secret_4_win=0 splot2_highscore_mode10_secret_5=0 splot2_highscore_mode10_secret_5_map=-- splot2_highscore_mode10_secret_5_win=0 splot2_highscore_mode10_secret_6=0 splot2_highscore_mode10_secret_6_map=-- splot2_highscore_mode10_secret_6_win=0 splot2_highscore_mode10_secret_7=0 splot2_highscore_mode10_secret_7_map=-- splot2_highscore_mode10_secret_7_win=0 splot2_highscore_mode10_secret_8=0 splot2_highscore_mode10_secret_8_map=-- splot2_highscore_mode10_secret_8_win=0 splot2_highscore_mode10_secret_9=0 splot2_highscore_mode10_secret_9_map=-- splot2_highscore_mode10_secret_9_win=0 splot2_highscore_mode11_1=0 splot2_highscore_mode11_10=0 splot2_highscore_mode11_10_map=-- splot2_highscore_mode11_10_win=0 splot2_highscore_mode11_1_map=-- splot2_highscore_mode11_1_win=0 splot2_highscore_mode11_2=0 splot2_highscore_mode11_2_map=-- splot2_highscore_mode11_2_win=0 splot2_highscore_mode11_3=0 splot2_highscore_mode11_3_map=-- splot2_highscore_mode11_3_win=0 splot2_highscore_mode11_4=0 splot2_highscore_mode11_4_map=-- splot2_highscore_mode11_4_win=0 splot2_highscore_mode11_5=0 splot2_highscore_mode11_5_map=-- splot2_highscore_mode11_5_win=0 splot2_highscore_mode11_6=0 splot2_highscore_mode11_6_map=-- splot2_highscore_mode11_6_win=0 splot2_highscore_mode11_7=0 splot2_highscore_mode11_7_map=-- splot2_highscore_mode11_7_win=0 splot2_highscore_mode11_8=0 splot2_highscore_mode11_8_map=-- splot2_highscore_mode11_8_win=0 splot2_highscore_mode11_9=0 splot2_highscore_mode11_9_map=-- splot2_highscore_mode11_9_win=0 splot2_highscore_mode11_secret_1=0 splot2_highscore_mode11_secret_10=0 splot2_highscore_mode11_secret_10_map=-- splot2_highscore_mode11_secret_10_win=0 splot2_highscore_mode11_secret_1_map=-- splot2_highscore_mode11_secret_1_win=0 splot2_highscore_mode11_secret_2=0 splot2_highscore_mode11_secret_2_map=-- splot2_highscore_mode11_secret_2_win=0 splot2_highscore_mode11_secret_3=0 splot2_highscore_mode11_secret_3_map=-- splot2_highscore_mode11_secret_3_win=0 splot2_highscore_mode11_secret_4=0 splot2_highscore_mode11_secret_4_map=-- splot2_highscore_mode11_secret_4_win=0 splot2_highscore_mode11_secret_5=0 splot2_highscore_mode11_secret_5_map=-- splot2_highscore_mode11_secret_5_win=0 splot2_highscore_mode11_secret_6=0 splot2_highscore_mode11_secret_6_map=-- splot2_highscore_mode11_secret_6_win=0 splot2_highscore_mode11_secret_7=0 splot2_highscore_mode11_secret_7_map=-- splot2_highscore_mode11_secret_7_win=0 splot2_highscore_mode11_secret_8=0 splot2_highscore_mode11_secret_8_map=-- splot2_highscore_mode11_secret_8_win=0 splot2_highscore_mode11_secret_9=0 splot2_highscore_mode11_secret_9_map=-- splot2_highscore_mode11_secret_9_win=0 splot2_highscore_mode12_1=0 splot2_highscore_mode12_10=0 splot2_highscore_mode12_10_map=-- splot2_highscore_mode12_1_map=-- splot2_highscore_mode12_2=0 splot2_highscore_mode12_2_map=-- splot2_highscore_mode12_3=0 splot2_highscore_mode12_3_map=-- splot2_highscore_mode12_4=0 splot2_highscore_mode12_4_map=-- splot2_highscore_mode12_5=0 splot2_highscore_mode12_5_map=-- splot2_highscore_mode12_6=0 splot2_highscore_mode12_6_map=-- splot2_highscore_mode12_7=0 splot2_highscore_mode12_7_map=-- splot2_highscore_mode12_8=0 splot2_highscore_mode12_8_map=-- splot2_highscore_mode12_9=0 splot2_highscore_mode12_9_map=-- splot2_highscore_mode12_secret_1=0 splot2_highscore_mode12_secret_10=0 splot2_highscore_mode12_secret_10_map=-- splot2_highscore_mode12_secret_1_map=-- splot2_highscore_mode12_secret_2=0 splot2_highscore_mode12_secret_2_map=-- splot2_highscore_mode12_secret_3=0 splot2_highscore_mode12_secret_3_map=-- splot2_highscore_mode12_secret_4=0 splot2_highscore_mode12_secret_4_map=-- splot2_highscore_mode12_secret_5=0 splot2_highscore_mode12_secret_5_map=-- splot2_highscore_mode12_secret_6=0 splot2_highscore_mode12_secret_6_map=-- splot2_highscore_mode12_secret_7=0 splot2_highscore_mode12_secret_7_map=-- splot2_highscore_mode12_secret_8=0 splot2_highscore_mode12_secret_8_map=-- splot2_highscore_mode12_secret_9=0 splot2_highscore_mode12_secret_9_map=-- splot2_totalscore=3435052 weatherset=1 [Doom.LocalServerInfo.Mod] AutoReloadingMagicks=0 BazookaEffects=0 CasingEffects=1 ColorfulProjectiles=1 DancingMad=1 EpisodeMode=0 ExpModifier=1 FancyHUDPlz=1 FistEffects=0 FriendlyIre=0 HAREffects=1 HDShootySpooker=1 HORNET_IDLE_LINES=true Hocus_DisplayIcons=1 Hocus_E1_Scoreboard01_Name=Hocus Pocus Hocus_E1_Scoreboard01_Score=1500000 Hocus_E1_Scoreboard02_Name=Trolodon Hocus_E1_Scoreboard02_Score=1250000 Hocus_E1_Scoreboard03_Name=Dragon Hocus_E1_Scoreboard03_Score=1000000 Hocus_E1_Scoreboard04_Name=Tree Demon Hocus_E1_Scoreboard04_Score=750000 Hocus_E1_Scoreboard05_Name=Mad Monk Hocus_E1_Scoreboard05_Score=100000 Hocus_E2_Scoreboard01_Name=Hocus Pocus Hocus_E2_Scoreboard01_Score=1500000 Hocus_E2_Scoreboard02_Name=Trolodon Hocus_E2_Scoreboard02_Score=1250000 Hocus_E2_Scoreboard03_Name=Dragon Hocus_E2_Scoreboard03_Score=1000000 Hocus_E2_Scoreboard04_Name=Tree Demon Hocus_E2_Scoreboard04_Score=750000 Hocus_E2_Scoreboard05_Name=Mad Monk Hocus_E2_Scoreboard05_Score=100000 Hocus_E3_Scoreboard01_Name=Hocus Pocus Hocus_E3_Scoreboard01_Score=1500000 Hocus_E3_Scoreboard02_Name=Trolodon Hocus_E3_Scoreboard02_Score=1250000 Hocus_E3_Scoreboard03_Name=Dragon Hocus_E3_Scoreboard03_Score=1000000 Hocus_E3_Scoreboard04_Name=Tree Demon Hocus_E3_Scoreboard04_Score=750000 Hocus_E3_Scoreboard05_Name=Mad Monk Hocus_E3_Scoreboard05_Score=100000 Hocus_E4_Scoreboard01_Name=Hocus Pocus Hocus_E4_Scoreboard01_Score=1500000 Hocus_E4_Scoreboard02_Name=Trolodon Hocus_E4_Scoreboard02_Score=1250000 Hocus_E4_Scoreboard03_Name=Dragon Hocus_E4_Scoreboard03_Score=1000000 Hocus_E4_Scoreboard04_Name=Tree Demon Hocus_E4_Scoreboard04_Score=750000 Hocus_E4_Scoreboard05_Name=Mad Monk Hocus_E4_Scoreboard05_Score=100000 Hocus_EnemyHealthBar=2 Hocus_Particles=256 Hocus_StartInfo=1 Hocus_WeatherParticles=256 IHNI_BossHealth=0 InfiniteEffects=0 METAL_MUSIC=true MOF_CompletelyRandom=false MOF_Persistent=false MOF_PistolInfinite=false MOF_PistolRestart=false MOF_UberCube=true MOF_WeaponDescription=false MagicMaster=0 ManaImpaired=0 MorePowah=1 MotionSickly=1 NO_BIND_TIPS=false PistolEffects=1 PlayItLoud=1 ProtecType=1 RO_BarrelAmount=20 RO_CaberLimit=25 RO_ClassRestriction=false RO_ComboMode=false RO_DeathNukes=false RO_FullBackpack=false RO_InfiniteAmp=false RO_KeyShare=true RO_PickupParticleChoker=false RO_PickyRamjet=false RO_ShotgunSpawn=false RO_SmokeChoker=false RO_SuperBackpack=false RecoilEffects=1 RicochetEffects=1 RookMode=0 ScopeEffects=1 SeeBoolet=1 ShellSys=1 ShowManaCost=0 ShutTheCluckUp=0 SmokeEffects=1 SteadyHand=1 Swoleify=1 TTGameMode=0 TertiaryEffects=0 WildBottles=0 ccards_alwaysperma=false ccards_cardamount=1 ccards_chaosbest=0 ccards_choiceoption=0 ccards_countdown=0 ccards_custombest=0 ccards_customgame=false ccards_debug=false ccards_debug_c1=0 ccards_debug_card1= ccards_debug_card2= ccards_debug_card3= ccards_debugcompendium=false ccards_debuglog=false ccards_debugselect=0 ccards_debugselection=false ccards_disable=false ccards_disablecard= ccards_dontresetdeck=false ccards_dontresettiers=false ccards_forcemaxtier=0 ccards_handsize=3 ccards_hardcorebest=0 ccards_log=monsterstonedeath|aggressivemonster|monsteracidblood|monstershockwaves| ccards_longestwinstreak=0 ccards_maxtier=5 ccards_mintier=1 ccards_mysterycap=2 ccards_mysteryprogression=10 ccards_noanimation=false ccards_noautosave=false ccards_nodifficultyincrease=false ccards_nomessages=0 ccards_nomystery=false ccards_noplayerchoice=false ccards_nowildcards=false ccards_permaprogression=2 ccards_preferedmode=0 ccards_seed=0 ccards_skipmenus=false ccards_standardbest=5 ccards_startingdeckcards=0 ccards_tierprogression=1 dam_enabled=true dam_shootable=false dam_spray=0 dmr_fancydoom=1 dmr_generousbosses=0 doomware_automode=true doomware_banlist= doomware_bossfight=true doomware_bossfightrespawn=true doomware_bouncywalls=true doomware_duplicates=false doomware_gamestarttime=5 doomware_mode= doomware_unsafedb=false doomware_wackymods=true doomware_wackymodschance=3 gutaweather_clear_weight=1 gutaweather_enabled=true gutaweather_fog_weight=1 gutaweather_rain_weight=1 gutaweather_snow_weight=1 hd_damagefactor=1 hd_dirtywindows=true hd_encumbrance=1 hd_killerbarrels=5 hd_maxstrength=11 hd_minstrength=1 hd_nobleed=false hd_nobots=false hd_nodoorbuster=0 hd_nokillcount=false hd_novilespam=true hd_safelifts=true hd_shardrate=0 hud_vertical=0 log_menu_language=false pk_QoLCatcherDistance=0 pk_allowDemonMorph=true pk_allowFreeCards=true pk_autoOpenBoard=true pk_debugmessages=0 pk_movement=false pkzm_autojump=false spaghetti_blastermode=1 spaghetti_nerfroyalflush=false spaghetti_summonhpbar=true splot2_bankbalance=0 splot2_beatbossrush=true splot2_beatendurance=true splot2_blackknightprize=1 splot2_corpsepile=false splot2_debug=0 splot2_devbarf=0 splot2_doghellprize=2 splot2_doubledamage=false splot2_doubledamage_toggle=false splot2_doublemonsterhealth=true splot2_doublemonsterhealth_toggle=true splot2_doublemonsters=true splot2_doublemonsters_toggle=true splot2_enddooropenseen=true splot2_endingcomplete=true splot2_finaleunlocked=true splot2_halfammo=false splot2_halfammo_toggle=false splot2_halfdamage=false splot2_halfdamage_toggle=false splot2_halfmonsters=false splot2_halfmonsters_toggle=false splot2_impemployment=0 splot2_mapAlpha=0 splot2_mapDescription= splot2_mapDifficulty=0 splot2_mapName= splot2_mapPreviewPic= splot2_mapRestart=false splot2_reverseendgame=0 splot2_rngseed=333 splot2_screammode=0 splot2_spawners=1 splot2_sprespawn=true splot2_sprespawn_toggle=true splot2_titlescreen=2021 splot2_titlescreenunlocks=33 splot2_townvisited=true splot2_useseed=false tcv_motionblur=true [Doom.ConfigOnlyVariables.Mod] hd_monstervoicepitch=true [Heretic.Player] autoaim=35 classicflight=false color=3f 60 40 colorset=0 fov=104.99977111816406 gender=male movebob=0.25 name=iPaq neverswitchonpickup=false playerclass=Modern Magister skin=base stillbob=0 team=255 vertspread=false wbobfire=0 wbobspeed=1 wi_noautostartmap=false [Heretic.ConsoleVariables] addrocketexplosion=false adl_bank=14 adl_custom_bank= adl_use_custom_bank=false allcheats=false am_backcolor=6c 54 40 am_cdwallcolor=73 43 23 am_colorset=0 am_customcolors=true am_drawmapback=1 am_efwallcolor=66 55 55 am_emptyspacemargin=0 am_fdwallcolor=d0 b0 85 am_followplayer=true am_gridcolor=8b 5a 2b am_interlevelcolor=ff 00 00 am_intralevelcolor=00 00 ff am_linealpha=1 am_linethickness=1 am_lockedcolor=00 78 00 am_map_secrets=1 am_markcolor=2 am_markfont=AMMNUMx am_notseencolor=6c 6c 6c am_ovcdwallcolor=00 88 44 am_ovefwallcolor=00 88 44 am_overlay=0 am_ovfdwallcolor=00 88 44 am_ovinterlevelcolor=ff ff 00 am_ovlockedcolor=00 88 44 am_ovotherwallscolor=00 88 44 am_ovportalcolor=00 40 22 am_ovsecretsectorcolor=00 ff ff am_ovsecretwallcolor=00 88 44 am_ovspecialwallcolor=ff ff ff am_ovtelecolor=ff ff 00 am_ovthingcolor=e8 88 00 am_ovthingcolor_citem=e8 88 00 am_ovthingcolor_friend=e8 88 00 am_ovthingcolor_item=e8 88 00 am_ovthingcolor_monster=e8 88 00 am_ovthingcolor_ncmonster=e8 88 00 am_ovunexploredsecretcolor=00 ff ff am_ovunseencolor=00 22 6e am_ovwallcolor=00 ff 00 am_ovyourcolor=fc e8 d8 am_portalcolor=40 40 40 am_portaloverlay=true am_rotate=0 am_secretsectorcolor=ff 00 ff am_secretwallcolor=00 00 00 am_showgrid=false am_showitems=false am_showkeys=true am_showkeys_always=false am_showmaplabel=2 am_showmonsters=true am_showsecrets=true am_showthingsprites=0 am_showtime=true am_showtotaltime=false am_showtriggerlines=0 am_specialwallcolor=ff ff ff am_textured=false am_thingcolor=fc fc fc am_thingcolor_citem=fc fc fc am_thingcolor_friend=fc fc fc am_thingcolor_item=fc fc fc am_thingcolor_monster=fc fc fc am_thingcolor_ncmonster=fc fc fc am_thingrenderstyles=true am_tswallcolor=88 88 88 am_unexploredsecretcolor=ff 00 ff am_wallcolor=54 3b 17 am_xhaircolor=80 80 80 am_yourcolor=fc e8 d8 am_zoomdir=0 blood_fade_scalar=1 chat_substitution=false chatmacro0=No chatmacro1=I'm ready to kick butt! chatmacro2=I'm OK. chatmacro3=I'm not looking too good! chatmacro4=Help! chatmacro5=You suck! chatmacro6=Next time, scumbag... chatmacro7=Come here! chatmacro8=I'll take care of it. chatmacro9=Yes cl_bbannounce=false cl_bloodsplats=true cl_bloodtype=0 cl_custominvulmapcolor1=00 00 1a cl_custominvulmapcolor2=a6 a6 7a cl_customizeinvulmap=false cl_doautoaim=false cl_gfxlocalization=3 cl_maxdecals=1024 cl_missiledecals=true cl_nointros=false cl_pufftype=0 cl_rockettrails=1 cl_showmultikills=true cl_showsecretmessage=true cl_showsprees=true cl_spreaddecals=true classic_scaling_factor=1 classic_scaling_pixelaspect=1.2000000476837158 compatmode=0 con_alpha=0.75 con_centernotify=true con_midtime=3 con_notablist=false con_notifytime=3 con_pulsetext=false con_scale=0 con_scaletext=0 crosshair=0 crosshaircolor=ff 00 00 crosshairforce=false crosshairgrow=false crosshairhealth=1 crosshairon=true crosshairscale=0.05000000074505806 dehload=0 dimamount=-1 dimcolor=ff d7 00 displaynametags=0 dlg_musicvolume=1 dlg_vgafont=false gl_aalines=false gl_bandedswlight=false gl_bloom=false gl_bloom_amount=1.399999976158142 gl_brightfog=false gl_enhanced_nightvision=true gl_exposure_base=0.3499999940395355 gl_exposure_min=0.3499999940395355 gl_exposure_scale=1.2999999523162842 gl_exposure_speed=0.05000000074505806 gl_fogmode=1 gl_fuzztype=0 gl_interpolate_model_frames=true gl_light_models=true gl_lightadditivesurfaces=false gl_lightmode=3 gl_menu_blur=-1 gl_paltonemap_powtable=2 gl_paltonemap_reverselookup=true gl_precache=false gl_scale_viewport=true gl_sclipfactor=1.7999999523162842 gl_sclipthreshold=10 gl_spriteclip=1 gl_tonemap=0 gl_weaponlight=8 hud_althud=false hud_althud_forceinternal=false hud_althudscale=0 hud_ammo_order=0 hud_ammo_red=25 hud_ammo_yellow=50 hud_armor_green=100 hud_armor_red=25 hud_armor_yellow=50 hud_aspectscale=false hud_berserk_health=true hud_health_green=100 hud_health_red=25 hud_health_yellow=50 hud_oldscale=true hud_scale=0 hud_scalefactor=1 hud_showammo=2 hud_showangles=false hud_showitems=false hud_showlag=0 hud_showmonsters=true hud_showscore=false hud_showsecrets=true hud_showstats=false hud_showtime=0 hud_showtimestat=0 hud_showweapons=true hud_timecolor=5 hudcolor_ltim=8 hudcolor_statnames=6 hudcolor_stats=3 hudcolor_time=6 hudcolor_titl=10 hudcolor_ttim=5 hudcolor_xyco=3 inter_classic_scaling=true log_vgafont=false lookspring=true m_quickexit=false msg=0 msg0color=9 msg1color=5 msg2color=2 msg3color=3 msg4color=3 msgmidcolor=9 msgmidcolor2=10 nametagcolor=5 nocheats=false opn_custom_bank= opn_use_custom_bank=false paletteflash=0 pickup_fade_scalar=1 r_deathcamera=false r_drawfuzz=1 r_maxparticles=4000 r_portal_recursions=4 r_rail_smartspiral=false r_rail_spiralsparsity=1 r_rail_trailsparsity=1 r_skymode=2 r_vanillatrans=0 sb_cooperative_enable=true sb_cooperative_headingcolor=6 sb_cooperative_otherplayercolor=2 sb_cooperative_yourplayercolor=3 sb_deathmatch_enable=true sb_deathmatch_headingcolor=6 sb_deathmatch_otherplayercolor=2 sb_deathmatch_yourplayercolor=3 sb_teamdeathmatch_enable=true sb_teamdeathmatch_headingcolor=6 screenblocks=11 setslotstrict=true show_obituaries=true snd_menuvolume=0.6000000238418579 snd_pitched=true st_oldouch=false st_scale=0 transsouls=0.75 ui_screenborder_classic_scaling=true uiscale=0 underwater_fade_scalar=1 vid_allowtrueultrawide=1 vid_cursor=None vid_nopalsubstitutions=false wi_cleantextscale=false wi_percents=false wi_showtotaltime=true wipetype=1 [Heretic.LocalServerInfo] compatflags=0 compatflags2=0 forcewater=false maxviewpitch=90 sv_corpsequeuesize=64 sv_disableautohealth=false sv_dropstyle=0 sv_portal_recursions=4 sv_smartaim=0 [Heretic.ConfigOnlyVariables] [Heretic.UnknownConsoleVariables] [Heretic.ConsoleAliases] [Heretic.Bindings] 1=slot 1 2=slot 2 3=slot 3 4=slot 4 5=slot 5 6=slot 6 7=slot 7 8=slot 8 9=slot 9 0=slot 0 -=sizedown Equals=sizeup Tab=togglemap W=+forward E=+use R=+reload T=messagemode Y=messagemode2 LeftBracket=invprev RightBracket=invnext Enter=invuse Ctrl=+crouch A=+moveleft S=+back D=+moveright `=toggleconsole \=+showscores Space=+jump CapsLock=toggle cl_run F1=menu_help F2=menu_save F3=menu_load F4=menu_options F5=menu_display F6=quicksave F7=menu_endgame F8=togglemessages F9=quickload F10=menu_quit F11=bumpgamma F12=spynext SysRq=screenshot Pause=pause Home=land PgUp=+moveup LeftArrow=+left RightArrow=+right End=centerview PgDn=+lookup Ins=+movedown Del=+lookdown Mouse1=+attack Mouse2=+altattack Mouse3=+zoom MWheelUp=weapprev MWheelDown=weapnext MWheelRight=invnext MWheelLeft=invprev DPadUp=togglemap DPadDown=invuse DPadLeft=invprev DPadRight=invnext Pad_Start=pause Pad_Back=menu_main LShoulder=weapprev RShoulder=weapnext [Heretic.DoubleBindings] [Heretic.AutomapBindings] 0=am_gobig -=+am_zoomout Equals=+am_zoomin P=am_toggletexture F=am_togglefollow G=am_togglegrid C=am_clearmarks M=am_setmark KP-=+am_zoomout KP+=+am_zoomin UpArrow=+am_panup LeftArrow=+am_panleft RightArrow=+am_panright DownArrow=+am_pandown MWheelUp=am_zoom 1.2 MWheelDown=am_zoom -1.2 [Strife.Player] autoaim=35 classicflight=false color=40 cf 00 colorset=0 fov=90 gender=male movebob=0.25 name=Player neverswitchonpickup=false playerclass=Fighter skin=base stillbob=0 team=255 wbobfire=0 wbobspeed=1 wi_noautostartmap=false [Strife.ConsoleVariables] addrocketexplosion=false allcheats=false am_backcolor=6c 54 40 am_cdwallcolor=4c 38 20 am_colorset=0 am_customcolors=true am_drawmapback=1 am_efwallcolor=66 55 55 am_emptyspacemargin=0 am_fdwallcolor=88 70 58 am_followplayer=true am_gridcolor=8b 5a 2b am_interlevelcolor=ff 00 00 am_intralevelcolor=00 00 ff am_lockedcolor=00 78 00 am_map_secrets=1 am_markcolor=2 am_markfont=AMMNUMx am_notseencolor=6c 6c 6c am_ovcdwallcolor=00 88 44 am_ovefwallcolor=00 88 44 am_overlay=0 am_ovfdwallcolor=00 88 44 am_ovinterlevelcolor=ff ff 00 am_ovlockedcolor=00 88 44 am_ovotherwallscolor=00 88 44 am_ovportalcolor=00 40 22 am_ovsecretsectorcolor=00 ff ff am_ovsecretwallcolor=00 88 44 am_ovspecialwallcolor=ff ff ff am_ovtelecolor=ff ff 00 am_ovthingcolor=e8 88 00 am_ovthingcolor_citem=e8 88 00 am_ovthingcolor_friend=e8 88 00 am_ovthingcolor_item=e8 88 00 am_ovthingcolor_monster=e8 88 00 am_ovthingcolor_ncmonster=e8 88 00 am_ovunexploredsecretcolor=00 ff ff am_ovunseencolor=00 22 6e am_ovwallcolor=00 ff 00 am_ovyourcolor=fc e8 d8 am_portalcolor=40 40 40 am_portaloverlay=true am_rotate=0 am_secretsectorcolor=ff 00 ff am_secretwallcolor=00 00 00 am_showgrid=false am_showitems=false am_showkeys=true am_showkeys_always=false am_showmaplabel=2 am_showmonsters=true am_showsecrets=true am_showthingsprites=0 am_showtime=true am_showtotaltime=false am_showtriggerlines=0 am_specialwallcolor=ff ff ff am_textured=false am_thingcolor=fc fc fc am_thingcolor_citem=fc fc fc am_thingcolor_friend=fc fc fc am_thingcolor_item=fc fc fc am_thingcolor_monster=fc fc fc am_thingcolor_ncmonster=fc fc fc am_thingrenderstyles=true am_tswallcolor=88 88 88 am_unexploredsecretcolor=ff 00 ff am_wallcolor=2c 18 08 am_xhaircolor=80 80 80 am_yourcolor=fc e8 d8 am_zoomdir=0 blood_fade_scalar=1 chat_substitution=false chatmacro0=No chatmacro1=I'm ready to kick butt! chatmacro2=I'm OK. chatmacro3=I'm not looking too good! chatmacro4=Help! chatmacro5=You suck! chatmacro6=Next time, scumbag... chatmacro7=Come here! chatmacro8=I'll take care of it. chatmacro9=Yes cl_bbannounce=false cl_bloodsplats=true cl_bloodtype=0 cl_custominvulmapcolor1=00 00 1a cl_custominvulmapcolor2=a6 a6 7a cl_customizeinvulmap=false cl_doautoaim=false cl_gfxlocalization=3 cl_maxdecals=1024 cl_missiledecals=true cl_pufftype=0 cl_rockettrails=1 cl_showmultikills=true cl_showsecretmessage=true cl_showsprees=true cl_spreaddecals=true classic_scaling_factor=1 classic_scaling_pixelaspect=1.2000000476837158 compatmode=0 con_alpha=0.75 con_centernotify=false con_midtime=3 con_notablist=false con_notifytime=3 con_scale=0 con_scaletext=0 crosshair=0 crosshaircolor=ff 00 00 crosshairforce=false crosshairgrow=false crosshairhealth=1 crosshairon=true crosshairscale=1 dehload=0 dimamount=-1 dimcolor=ff d7 00 displaynametags=0 dlg_musicvolume=1 dlg_vgafont=false gl_aalines=false gl_bandedswlight=false gl_bloom=false gl_bloom_amount=1.399999976158142 gl_brightfog=false gl_enhanced_nightvision=true gl_exposure_base=0.3499999940395355 gl_exposure_min=0.3499999940395355 gl_exposure_scale=1.2999999523162842 gl_exposure_speed=0.05000000074505806 gl_fogmode=1 gl_fuzztype=0 gl_interpolate_model_frames=true gl_light_models=true gl_lightadditivesurfaces=false gl_lightmode=3 gl_menu_blur=-1 gl_paltonemap_powtable=2 gl_paltonemap_reverselookup=true gl_precache=false gl_scale_viewport=true gl_sclipfactor=1.7999999523162842 gl_sclipthreshold=10 gl_spriteclip=1 gl_tonemap=0 gl_weaponlight=8 hud_althud=false hud_althud_forceinternal=false hud_althudscale=0 hud_ammo_order=0 hud_ammo_red=25 hud_ammo_yellow=50 hud_armor_green=100 hud_armor_red=25 hud_armor_yellow=50 hud_aspectscale=false hud_berserk_health=true hud_health_green=100 hud_health_red=25 hud_health_yellow=50 hud_scale=0 hud_showammo=2 hud_showangles=false hud_showitems=false hud_showlag=0 hud_showmonsters=true hud_showscore=false hud_showsecrets=true hud_showstats=false hud_showtime=0 hud_showweapons=true hud_timecolor=5 hudcolor_ltim=8 hudcolor_statnames=6 hudcolor_stats=3 hudcolor_time=6 hudcolor_titl=10 hudcolor_ttim=5 hudcolor_xyco=3 inter_classic_scaling=true log_vgafont=false lookspring=true m_quickexit=false msg=0 msg0color=6 msg1color=5 msg2color=2 msg3color=3 msg4color=3 msgmidcolor=5 msgmidcolor2=4 nametagcolor=5 nocheats=false os_isanyof=true paletteflash=0 pickup_fade_scalar=1 r_deathcamera=false r_drawfuzz=1 r_maxparticles=4000 r_portal_recursions=4 r_rail_smartspiral=false r_rail_spiralsparsity=1 r_rail_trailsparsity=1 r_skymode=2 r_vanillatrans=0 sb_cooperative_enable=true sb_cooperative_headingcolor=6 sb_cooperative_otherplayercolor=2 sb_cooperative_yourplayercolor=3 sb_deathmatch_enable=true sb_deathmatch_headingcolor=6 sb_deathmatch_otherplayercolor=2 sb_deathmatch_yourplayercolor=3 sb_teamdeathmatch_enable=true sb_teamdeathmatch_headingcolor=6 screenblocks=10 show_obituaries=true snd_menuvolume=0.6000000238418579 snd_pitched=false st_oldouch=false st_scale=0 transsouls=0.75 ui_screenborder_classic_scaling=true uiscale=0 underwater_fade_scalar=1 vid_cursor=None vid_nopalsubstitutions=false wi_percents=true wi_showtotaltime=true wipetype=1 [Strife.LocalServerInfo] compatflags=0 compatflags2=0 forcewater=false maxviewpitch=90 sv_corpsequeuesize=64 sv_disableautohealth=false sv_dropstyle=0 sv_portal_recursions=4 sv_smartaim=0 [Strife.ConfigOnlyVariables] [Strife.UnknownConsoleVariables] [Strife.ConsoleAliases] [Strife.Bindings] 1=slot 1 2=slot 2 3=slot 3 4=slot 4 5=slot 5 6=slot 6 7=slot 7 8=slot 8 9=slot 9 0=slot 0 -=sizedown Equals=sizeup Backspace=invdrop Tab=togglemap Q=invquery W=+forward E=+use R=+reload T=messagemode LeftBracket=invprev RightBracket=invnext Enter=invuse Ctrl=+crouch A=+moveleft S=+back D=+moveright K=showpop 2 `=toggleconsole Shift=+speed \=+showscores Z=showpop 3 Alt=+strafe Space=+jump CapsLock=toggle cl_run F1=menu_help F2=menu_save F3=menu_load F4=menu_options F5=menu_display F6=quicksave F7=menu_endgame F8=togglemessages F9=quickload F10=menu_quit F11=bumpgamma F12=spynext SysRq=screenshot Pause=pause Home=land PgUp=+moveup End=centerview PgDn=+lookup Ins=+movedown Del=+lookdown Mouse1=+attack Mouse2=+altattack Mouse3=+zoom Mouse4=+speed Joy2=+strafe Joy3=+speed MWheelUp=weapprev MWheelDown=weapnext MWheelRight=invnext MWheelLeft=invprev DPadUp=togglemap DPadDown=invuse DPadLeft=invprev DPadRight=invnext Pad_Start=pause Pad_Back=menu_main LShoulder=weapprev RShoulder=weapnext [Strife.DoubleBindings] [Strife.AutomapBindings] 0=am_gobig -=+am_zoomout Equals=+am_zoomin P=am_toggletexture F=am_togglefollow G=am_togglegrid C=am_clearmarks M=am_setmark KP-=+am_zoomout KP+=+am_zoomin UpArrow=+am_panup LeftArrow=+am_panleft RightArrow=+am_panright DownArrow=+am_pandown MWheelUp=am_zoom 1.2 MWheelDown=am_zoom -1.2 [Doom.TotalChaosKeySection.Bindings] I=InventoryToggle X=PlayerThrow [Doom.TotalChaosKeySection.DoubleBindings] [Doom.HereticalDoom_controls.Bindings] Q=+Action KP1=+Flechette KP2=+Kaboom KP3=+Gassy [Doom.HereticalDoom_controls.DoubleBindings] [Doom.Quick_Item_Access.Bindings] [Doom.Quick_Item_Access.DoubleBindings] [Doom.Quick_Spell_Access.Bindings] [Doom.Quick_Spell_Access.DoubleBindings] [Hexen.Player] autoaim=0 classicflight=false color=40 cf 00 colorset=0 fov=110 gender=male movebob=0.25 name=iPaq neverswitchonpickup=false playerclass=Fighter skin=base stillbob=0 team=255 vertspread=false wbobfire=0 wbobspeed=1 wi_noautostartmap=false [Hexen.ConsoleVariables] addrocketexplosion=false adl_bank=14 adl_custom_bank= adl_use_custom_bank=false allcheats=false am_backcolor=6c 54 40 am_cdwallcolor=73 43 23 am_colorset=0 am_customcolors=true am_drawmapback=1 am_efwallcolor=66 55 55 am_emptyspacemargin=0 am_fdwallcolor=d0 b0 85 am_followplayer=true am_gridcolor=8b 5a 2b am_interlevelcolor=ff 00 00 am_intralevelcolor=00 00 ff am_linealpha=1 am_linethickness=1 am_lockedcolor=00 78 00 am_map_secrets=1 am_markcolor=2 am_markfont=AMMNUMx am_notseencolor=6c 6c 6c am_ovcdwallcolor=00 88 44 am_ovefwallcolor=00 88 44 am_overlay=0 am_ovfdwallcolor=00 88 44 am_ovinterlevelcolor=ff ff 00 am_ovlockedcolor=00 88 44 am_ovotherwallscolor=00 88 44 am_ovportalcolor=00 40 22 am_ovsecretsectorcolor=00 ff ff am_ovsecretwallcolor=00 88 44 am_ovspecialwallcolor=ff ff ff am_ovtelecolor=ff ff 00 am_ovthingcolor=e8 88 00 am_ovthingcolor_citem=e8 88 00 am_ovthingcolor_friend=e8 88 00 am_ovthingcolor_item=e8 88 00 am_ovthingcolor_monster=e8 88 00 am_ovthingcolor_ncmonster=e8 88 00 am_ovunexploredsecretcolor=00 ff ff am_ovunseencolor=00 22 6e am_ovwallcolor=00 ff 00 am_ovyourcolor=fc e8 d8 am_portalcolor=40 40 40 am_portaloverlay=true am_rotate=0 am_secretsectorcolor=ff 00 ff am_secretwallcolor=00 00 00 am_showgrid=false am_showitems=false am_showkeys=true am_showkeys_always=false am_showmaplabel=2 am_showmonsters=true am_showsecrets=true am_showthingsprites=0 am_showtime=true am_showtotaltime=false am_showtriggerlines=0 am_specialwallcolor=ff ff ff am_textured=false am_thingcolor=fc fc fc am_thingcolor_citem=fc fc fc am_thingcolor_friend=fc fc fc am_thingcolor_item=fc fc fc am_thingcolor_monster=fc fc fc am_thingcolor_ncmonster=fc fc fc am_thingrenderstyles=true am_tswallcolor=88 88 88 am_unexploredsecretcolor=ff 00 ff am_wallcolor=54 3b 17 am_xhaircolor=80 80 80 am_yourcolor=fc e8 d8 am_zoomdir=0 blood_fade_scalar=1 chat_substitution=false chatmacro0=No chatmacro1=I'm ready to kick butt! chatmacro2=I'm OK. chatmacro3=I'm not looking too good! chatmacro4=Help! chatmacro5=You suck! chatmacro6=Next time, scumbag... chatmacro7=Come here! chatmacro8=I'll take care of it. chatmacro9=Yes cl_bbannounce=false cl_bloodsplats=true cl_bloodtype=0 cl_custominvulmapcolor1=00 00 1a cl_custominvulmapcolor2=a6 a6 7a cl_customizeinvulmap=false cl_doautoaim=false cl_gfxlocalization=3 cl_maxdecals=1024 cl_missiledecals=true cl_nointros=false cl_pufftype=0 cl_rockettrails=1 cl_showmultikills=true cl_showsecretmessage=true cl_showsprees=true cl_spreaddecals=true classic_scaling_factor=1 classic_scaling_pixelaspect=1.2000000476837158 compatmode=0 con_alpha=0.75 con_centernotify=true con_midtime=3 con_notablist=false con_notifytime=3 con_pulsetext=false con_scale=0 con_scaletext=0 crosshair=0 crosshaircolor=ff 00 00 crosshairforce=false crosshairgrow=false crosshairhealth=1 crosshairon=true crosshairscale=0.05000000074505806 dehload=0 dimamount=-1 dimcolor=ff d7 00 displaynametags=0 dlg_musicvolume=1 dlg_vgafont=false gl_aalines=false gl_bandedswlight=false gl_bloom=false gl_bloom_amount=1.399999976158142 gl_brightfog=false gl_enhanced_nightvision=true gl_exposure_base=0.3499999940395355 gl_exposure_min=0.3499999940395355 gl_exposure_scale=1.2999999523162842 gl_exposure_speed=0.05000000074505806 gl_fogmode=1 gl_fuzztype=0 gl_interpolate_model_frames=true gl_light_models=true gl_lightadditivesurfaces=false gl_lightmode=3 gl_menu_blur=-1 gl_paltonemap_powtable=2 gl_paltonemap_reverselookup=true gl_precache=false gl_scale_viewport=true gl_sclipfactor=1.7999999523162842 gl_sclipthreshold=10 gl_spriteclip=1 gl_tonemap=0 gl_weaponlight=8 hud_althud=false hud_althud_forceinternal=false hud_althudscale=0 hud_ammo_order=0 hud_ammo_red=25 hud_ammo_yellow=50 hud_armor_green=100 hud_armor_red=25 hud_armor_yellow=50 hud_aspectscale=false hud_berserk_health=true hud_health_green=100 hud_health_red=25 hud_health_yellow=50 hud_oldscale=true hud_scale=0 hud_scalefactor=1 hud_showammo=2 hud_showangles=false hud_showitems=false hud_showlag=0 hud_showmonsters=true hud_showscore=false hud_showsecrets=true hud_showstats=false hud_showtime=0 hud_showtimestat=0 hud_showweapons=true hud_timecolor=5 hudcolor_ltim=8 hudcolor_statnames=6 hudcolor_stats=3 hudcolor_time=6 hudcolor_titl=10 hudcolor_ttim=5 hudcolor_xyco=3 inter_classic_scaling=true log_vgafont=false lookspring=true m_quickexit=false msg=0 msg0color=9 msg1color=5 msg2color=2 msg3color=3 msg4color=3 msgmidcolor=9 msgmidcolor2=10 nametagcolor=5 nocheats=false opn_custom_bank= opn_use_custom_bank=false paletteflash=0 pickup_fade_scalar=1 r_deathcamera=false r_drawfuzz=1 r_maxparticles=4000 r_portal_recursions=4 r_rail_smartspiral=false r_rail_spiralsparsity=1 r_rail_trailsparsity=1 r_skymode=2 r_vanillatrans=0 sb_cooperative_enable=true sb_cooperative_headingcolor=6 sb_cooperative_otherplayercolor=2 sb_cooperative_yourplayercolor=3 sb_deathmatch_enable=true sb_deathmatch_headingcolor=6 sb_deathmatch_otherplayercolor=2 sb_deathmatch_yourplayercolor=3 sb_teamdeathmatch_enable=true sb_teamdeathmatch_headingcolor=6 screenblocks=10 setslotstrict=true show_obituaries=true snd_menuvolume=0.6000000238418579 snd_pitched=true st_oldouch=false st_scale=0 transsouls=0.75 ui_screenborder_classic_scaling=true uiscale=0 underwater_fade_scalar=1 vid_allowtrueultrawide=1 vid_cursor=None vid_nopalsubstitutions=false wi_cleantextscale=false wi_percents=false wi_showtotaltime=true wipetype=1 [Hexen.LocalServerInfo] compatflags=0 compatflags2=0 forcewater=false maxviewpitch=90 sv_corpsequeuesize=64 sv_disableautohealth=false sv_dropstyle=0 sv_portal_recursions=4 sv_smartaim=0 [Hexen.ConfigOnlyVariables] [Hexen.UnknownConsoleVariables] [Hexen.ConsoleAliases] [Hexen.Bindings] 1=slot 1 2=slot 2 3=slot 3 4=slot 4 5=use ArtiInvulnerability2 6=use ArtiPork 7=use ArtiTeleportOther 8=use ArtiTeleport 9=use ArtiBlastRadius 0=useflechette -=sizedown Equals=sizeup Backspace=invuseall Tab=togglemap T=messagemode LeftBracket=invprev RightBracket=invnext Enter=invuse `=toggleconsole Shift=+speed \=use ArtiHealth Space=+jump F1=menu_help F2=menu_save F3=menu_load F4=menu_options F5=menu_display F6=quicksave F7=menu_endgame F8=togglemessages F9=quickload F10=menu_quit Scroll=+showscores F11=bumpgamma F12=screenshot SysRq=screenshot Pause=pause Home=land PgUp=+moveup End=centerview PgDn=+lookup Ins=+movedown Del=+lookdown Mouse1=+attack Mouse2=+altattack Mouse3=+zoom MWheelUp=weapprev MWheelDown=weapnext MWheelRight=invnext MWheelLeft=invprev DPadUp=togglemap DPadDown=invuse DPadLeft=invprev DPadRight=invnext Pad_Start=pause Pad_Back=menu_main LThumb=crouch LShoulder=weapprev RShoulder=weapnext LTrigger=+altattack RTrigger=+attack Pad_A=+use Pad_Y=+jump W=+forward E=+use R=+reload A=+moveleft S=+back D=+moveright Alt=linetarget Ctrl=+crouch [Hexen.DoubleBindings] [Hexen.AutomapBindings] 0=am_gobig -=+am_zoomout Equals=+am_zoomin P=am_toggletexture F=am_togglefollow G=am_togglegrid C=am_clearmarks M=am_setmark KP-=+am_zoomout KP+=+am_zoomin UpArrow=+am_panup LeftArrow=+am_panleft RightArrow=+am_panright DownArrow=+am_pandown MWheelUp=am_zoom 1.2 MWheelDown=am_zoom -1.2 [Heretic.Player.Mod] RO_IGotIt=false RO_Voices=50 [Heretic.LocalServerInfo.Mod] AutoReloadingMagicks=0 ColorfulProjectiles=1 DancingMad=1 ExpModifier=1 FancyHUDPlz=1 FriendlyIre=0 HDShootySpooker=1 MagicMaster=0 ManaImpaired=0 MorePowah=1 MotionSickly=1 PlayItLoud=1 ProtecType=0 RO_BarrelAmount=20 RO_CaberLimit=25 RO_ComboMode=false RO_FullBackpack=false RO_InfiniteAmp=false RO_ShotgunSpawn=false RO_SmokeChoker=false RO_SuperBackpack=false RookMode=0 SeeBoolet=1 ShowManaCost=0 ShutTheCluckUp=0 SteadyHand=1 Swoleify=1 WildBottles=0 dmr_fancydoom=1 dmr_generousbosses=0 [Heretic.ConfigOnlyVariables.Mod] [Doom.Modern_Magister_Bindings.Bindings] MWheelUp=+WhatsNext MWheelDown=+WhatsPrevious Mouse3=+CastPlz [Doom.Modern_Magister_Bindings.DoubleBindings] [Doom.Classic_Mode_Bindings.Bindings] [Doom.Classic_Mode_Bindings.DoubleBindings] [Doom.SpaghettiWeapons.Bindings] [Doom.SpaghettiWeapons.DoubleBindings] [Doom.sf_keys.Bindings] [Doom.sf_keys.DoubleBindings] [Doom.FH_KeySection1.Bindings] Q=throwshield F=BRage [Doom.FH_KeySection1.DoubleBindings] [Doom.tm_KeySection1.Bindings] [Doom.tm_KeySection1.DoubleBindings] [Doom.ts_KeySection1.Bindings] [Doom.ts_KeySection1.DoubleBindings] [Doom.GS_keysection1.Bindings] [Doom.GS_keysection1.DoubleBindings] [Doom.dr_keysection.Bindings] [Doom.dr_keysection.DoubleBindings] [Hexen.Player.Mod] [Hexen.LocalServerInfo.Mod] AutoReloadingMagicks=0 ColorfulProjectiles=1 DancingMad=1 ExpModifier=1 FancyHUDPlz=1 FriendlyIre=0 HDShootySpooker=1 MagicMaster=0 ManaImpaired=0 MorePowah=1 MotionSickly=1 PlayItLoud=1 ProtecType=0 RookMode=0 SeeBoolet=1 ShowManaCost=0 ShutTheCluckUp=0 SteadyHand=1 Swoleify=1 WildBottles=0 [Hexen.ConfigOnlyVariables.Mod] [Hexen.HereticalDoom_controls.Bindings] Q=+Action [Hexen.HereticalDoom_controls.DoubleBindings] [Hexen.Modern_Magister_Bindings.Bindings] MWheelUp=+WhatsNext MWheelDown=+WhatsPrevious Mouse3=+CastPlz [Hexen.Modern_Magister_Bindings.DoubleBindings] [Hexen.Classic_Mode_Bindings.Bindings] [Hexen.Classic_Mode_Bindings.DoubleBindings] [Heretic.HereticalDoom_controls.Bindings] Q=+Action [Heretic.HereticalDoom_controls.DoubleBindings] [Heretic.Modern_Magister_Bindings.Bindings] MWheelUp=+WhatsNext MWheelDown=+WhatsPrevious Mouse3=+CastPlz [Heretic.Modern_Magister_Bindings.DoubleBindings] [Heretic.Classic_Mode_Bindings.Bindings] [Heretic.Classic_Mode_Bindings.DoubleBindings] [Doom.DoomWare.Bindings] P=+dwscores O=+dwobserve I=+dwmenu [Doom.DoomWare.DoubleBindings] [Doom.TreasureKeys.Bindings] [Doom.TreasureKeys.DoubleBindings] [Doom.ROKeybinds.Bindings] [Doom.ROKeybinds.DoubleBindings] [Doom.Ashes Controls.Bindings] Mouse3=+zoom Q=+user1 J=puke 1984 [Doom.Ashes Controls.DoubleBindings] [Doom.PainslayerKeys.Bindings] H=netevent PKCOpenCodex F=netevent PK_UseGoldenCards [Doom.PainslayerKeys.DoubleBindings] [Doom.d3_weapons.Bindings] F=use Doom3Flashlight [Doom.d3_weapons.DoubleBindings] [Doom.d3_functions.Bindings] [Doom.d3_functions.DoubleBindings] [Doom.HideousDestructor.Bindings] Q=+user1 V=+user2 M=+user3 U=+user4 Backspace=hd_purge B=hd_playdead O=hd_strip [Doom.HideousDestructor.DoubleBindings] [Doom.msx_menukeys.Bindings] Q=+msx_altfunc F=+msx_grenade X=msx_medkit Z=msx_afru [Doom.msx_menukeys.DoubleBindings] ``` ### Provide a Log Upon loading the savegame: ``` No bots.cfg, so no bots ---------------------------------------- MAP05 - Hanger BSP generation took 0.009 sec (3949 segs) Not caching nodes (time = 0.009000) Starting all scripts of type 1 (Open) Textures precached in 14.864 ms Loading sound "player"0"*death" (226) Loading sound "player"0"*xdeath" (228) Loading sound "player"0"*gibbed" (230) Loading sound "player"0"*pain100" (231) Loading sound "player"0"*fist" (238) Loading sound "skeleton/sight" (365) Loading sound "skeleton/active" (366) Loading sound "skeleton/pain" (367) Loading sound "skeleton/melee" (368) Loading sound "skeleton/death" (370) Loading sound "caco/sight" (412) Loading sound "caco/active" (413) Loading sound "caco/pain" (414) Loading sound "caco/death" (415) Loading sound "baron/sight" (418) Linked baron/active to caco/active (413) Linked baron/pain to caco/pain (414) Loading sound "baron/melee" (421) Loading sound "baron/death" (422) Loading sound "misc/teleport" (469) Loading sound "misc/secret" (482) Setting loop points 0 -> 22491 Loading sound "barrel/missile" (582) Setting loop points 0 -> 5267 Loading sound "weapons/pocket" (650) Setting loop points 0 -> 5225 Linked player"0"*usemeds to player"0"*pain100 (231) Loading sound "player"0"*land" (839) Setting loop points 0 -> 5015 Loading sound "player"0"*taunt" (841) Setting loop points 0 -> 67599 Unloaded sound "menu/activate" (491) Unloaded sound "menu/choose" (498) Attempt to instantiate abstract class BlockThingsIterator. [=========================================================================.....] ```

That progress bar looks like it almost made it... then couldn't continue.

ipaqmaster commented 1 year ago

Given how involved this mod is, I wouldn't be too shocked if we're looking at some sort of overflow. Or perhaps something got written to map05.map.json incorrectly and is buried in there to be found.

I wish I had the answer but even with meld to diff between the latest known working save00.zfs from my snapshots and my latest broken one are vast. It even takes a few minutes to generate the change list. I spent the other night trying to sync them up removing many upon many ImpactDecal classes which filled up the file, but couldn't get it to budge.

ipaqmaster commented 1 year ago

I've now realized the mod has some calls to BlockThingsIterator in many of its zscripts. In my broken savegame there's this:

    {
      "classtype": "BlockThingsIterator"
    },

This empty object is going to be the root cause. But removing this from the file and re-zipping causes a Segmentation fault with a coredump on savefile load.

Invalid object reference for '(null)'
[=================================================================================================.......]

*** Fatal Error ***
!!! Failed to exec debug process
Segmentation fault (core dumped)

It feels like I'm close to just restoring this save file and moving on from a one-off bug with a mod.

ipaqmaster commented 1 year ago

Recovered the save. Couldn't just delete that "BlockThingsIterator" classtype in the Object's section of the save as something was referencing it. So I replaced it with the ItemStorage class just below it and that was enough to finish and leave the level and save fresh on the next one.

OrdinaryMagician commented 1 year ago

This is a mod bug, rather than a gzdoom bug. There are certain classes that can't be stored in saves and must be declared as transient in zscript.

Player701 commented 1 year ago

Shouldn't this cause an error upon trying to create a save file rather than to load it? I've had the former happen as a result of bad code on my part, but not the latter.

ipaqmaster commented 1 year ago

Thanks for the clarification you two. I got in contact with the mod developer and will finish up by letting them know the cause.

mc776 commented 1 year ago

As said mod developer I'll just say for the record save games are a complete total black box for me, as well as where exactly iterators are stored after they're used.

It would be a huge help if there were some way to sanitize this information for save game purposes, but I wouldn't even know where to begin to look for this sort of thing on the modding end.

EDIT: Wait, do we have to manually destroy them when they're done!? 😨 I've basically been treating them like local variables this whole time... EDIT: On further reflection this can't possibly be the underlying problem because if that were the case HD would have long had an issue where performance slowly got worse over time, whereas HD's actual performance problems are pretty much all about suddenly having to do several processor-intensive things at once.

ipaqmaster commented 1 year ago

All good mc776, I'm just glad I didn't leave that thread hanging with a bug shoutout without drilling down into the actual cause.

I didn't dig deep enough to find out what entity causes that empty BlockThingsIterator object to appear in my savefile but hopefully this is enough of a lead to find it!

(Loving my iwad run with HD btw ❤)