r10 lights.wad disabled under certain conditions

Bugs that have been resolved.

Moderator: Graf Zahl

Locked
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

r10 lights.wad disabled under certain conditions

Post by Enjay »

This is a strange one. If I have this file sitting as a text file called decorate.txt on my desktop and if I use ZDL to load it with r10, then the dynamic lights on objects, as defined in lights.wad, do not appear. The same thing happens if I put the file into a zip or a WAD.

[spoiler]

Code: Select all

actor test : Zombieman replaces Zombieman
{
	renderstyle Stencil 
	Stencilcolor 00 255 128 00
	Alpha 0.6
	
	States
	{
	Missile:
	BOSS E 5 A_FaceTarget
	BOSS E 3 A_SetInvulnerable
	BOSS E 12 A_FaceTarget
	BOSS F 0 BRIGHT A_CustomBulletAttack(0,0,1,18,"NJBluePuff2",0,0)
	BOSS F 4 BRIGHT A_CustomRailgun (0, 0, "9B 00 00", "40 8B B4", 0, 0, 0)  //damage was 18
	BOSS F 0 bright A_CustomMissile ("ManstopperCasing", 32, 10, random(-85,-95), 2 , 45) 
	BOSS E 5 A_FaceTarget
	BOSS E 3 A_UnSetInvulnerable
        Goto See
        }
}
[/spoiler]

However, if I drag and drop the file from the desktop directly onto the GZDoom icon, the lights are there.

ZDL is in my directory called F:\doom\gzdoom where my official GZDoom is. r10 is in F:\doom\gzdoomSVN. The same thing happened when placing the file in any directory (including the same one as GZdoomSVN) and loading it with ZDL. This happened both with lights.wad in my skins directory and in the gzdoomsvn directory loaded via the ini autoload section.

So, you'd think it's a ZDL problem because dragging and dropping doesn't show the problem, but I've done a bit more digging. If I add "+logfile f:\log.txt" to the command line in ZDL, lights.wad suddenly works again.

Checking up through the console, it told me:

adding f:/doom/gzdoomsvn/lights.wad (4 lumps)

despite the fact that there were no lights.

Because adding logfile to the command line seemed to stop the problem, I started a game, checked there were no lights glowing from the armor helmet in the first room of map01 and then typed "crashout" at the console. local.txt confirmed the command line and which files were loaded.

[spoiler]

Code: Select all

ZDoom version 1.0.32 - 2.1.7xx (r723) (Jan 28 2008)

Command line: "f:\doom\gzdoomsvn\gzdoom.exe" -iwad "F:\Doom\gzdoom\doom2.wad" -file "F:\Documents and Settings\Nigel_Rowand\Desktop\decorate.txt"

Wad 0: gzdoom.pk3
Wad 1: doom2.wad
Wad 2: bba.wad
Wad 3: Blud.wad
Wad 4: flashlight.wad
Wad 5: flashlightres.wad
Wad 6: KEEN.WAD
Wad 7: NJBLK01.wad
Wad 8: scope.wad
Wad 9: Variants.wad
Wad 10: Xhairs.wad
Wad 11: njsplash.wad
Wad 12: lights.wad
Wad 13: decorate.txt

Current map: MAP01

viewx = -6291456
viewy = 51380224
viewz = 6369456
viewangle = 40000000
[/spoiler]

Obviously the missile state of the actor above is a silly test and, I thought, irrelevant to this test so cutting it out so that the file is just:

[spoiler]

Code: Select all

actor test : Zombieman replaces Zombieman
{
	renderstyle Stencil 
	Stencilcolor 00 255 128 00
	Alpha 0.6
}
[/spoiler]

Should still give the problem right? Wrong. With the above loaded in exactly the same manner, lights.wad works.

So, I chopped off the renderstyle stuff instead and left the states block intact. No lights when loaded with ZDL.

Progressively chopping out lines from the states block until I was left with this:
[spoiler]

Code: Select all

actor test : Zombieman replaces Zombieman
{
	States
	{
	Missile:
	BOSS E 5 A_FaceTarget
	BOSS F 0 BRIGHT A_CustomBulletAttack(0,0,1,18,"NJBluePuff2",0,0)
	BOSS F 4 BRIGHT A_CustomRailgun (0, 0, "9B 00 00", "40 8B B4", 0, 0, 0)  //damage was 18
	BOSS F 0 bright A_CustomMissile ("ManstopperCasing", 32, 10, random(-85,-95), 2 , 45) 
	BOSS E 5 A_FaceTarget
	BOSS E 3 A_UnSetInvulnerable
        Goto See
        }
}
[/spoiler]
Allowed lights to work again.

Strange huh?


[edit] Putting the command line:

Code: Select all

"f:\doom\gzdoomsvn\gzdoom.exe" -iwad "F:\Doom\gzdoom\doom2.wad" -file "F:\Documents and Settings\Nigel_Rowand\Desktop\decorate.txt"
into the start/run command line box also disables the lights so it isn't anything to do with ZDL at all. However, something about that file and command line combination disables the lights in lights.wad even thought lights.wad has been loaded. [/edit]
User avatar
BetaSword
Posts: 132
Joined: Thu Sep 01, 2005 0:01

Post by BetaSword »

Huh. For me, just running GZDoom by itself, it doesn't seem to load the lights.wad at all. You need to manually load it to get lights.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

Unless you have it autoloaded - which Enjay most likely does.

@Enjay: Since +logfile doesn't work, could you please check the console for error messages? Since the WAD is loaded it may simply be that there's a parsing error due to corrupt memory.
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post by Enjay »

I don't see anything obvious. These were taken at the start of map01 after confirming that dynamic lights weren't showing. All that was below the console in the last screenshot was the usual "ACS Scripts unloaded" message.

I couldn't remember how to make the console bigger after starting a game, so lots of little shots instead. :oops:

Image

Image

Image

Image
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post by Enjay »

Just for information, this is still the case with r11.

[edit] However, with the headcrab file from the Zdoom forums, I was able to create a logfile. I don't see anything in this that indicates an error, however, dynamic lights weren't working. When I removed the headcrab file from the command line, dynamic lights came back

[spoiler]

Code: Select all

Log started: Wed Jan 30 02:33:34 2008

W_Init: Init WADfiles.
 adding f:/doom/gzdoomsvn/gzdoom.pk3
 adding F:/Doom/gzdoom/doom2.wad (2951 lumps)
 adding f:/doom/gzdoomsvn/skins/bba.wad (68 lumps)
 adding f:/doom/gzdoomsvn/skins/Blud.wad (52 lumps)
 adding f:/doom/gzdoomsvn/skins/flashlight.wad (9 lumps)
 adding f:/doom/gzdoomsvn/skins/flashlightres.wad (4 lumps)
 adding f:/doom/gzdoomsvn/skins/KEEN.WAD (58 lumps)
 adding f:/doom/gzdoomsvn/skins/NJBLK01.wad (344 lumps)
 adding f:/doom/gzdoomsvn/skins/scope.wad (2 lumps)
 adding f:/doom/gzdoomsvn/skins/Variants.wad (364 lumps)
 adding f:/doom/gzdoomsvn/skins/Xhairs.wad (32 lumps)
 adding f:/doom/gzdoomsvn/njsplash.wad (153 lumps)
 adding f:/doom/gzdoomsvn/lights.wad (4 lumps)
 adding F:/Documents and Settings/Nigel_Rowand/Desktop/headcrab.zip
 adding F:/Documents and Settings/Nigel_Rowand/Desktop/headcrab.zip:HeadCrab.wad (66 lumps)
I_Init: Setting up machine state.
CPU Speed: 2813.539497 MHz
CPU Vendor ID: GenuineIntel
  Name: Intel(R) Pentium(R) 4 CPU 2.80GHz 4 CPU 2.80GHz
  Family 15, Model 2, Stepping 7
  Features: MMX SSE SSE2
I_InitSound: Initializing FMOD
  Setting DirectSound output succeeded
  Setting driver 0 succeeded
  Initialization succeeded
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
P_Init: Checking cmd-line parameters...
G_ParseMapInfo: Load map definitions.
S_InitData: Load sound definitions.
TEAMINFO_Init: Load team definitions.
LoadDecorations: Load external actors.
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init miscellaneous info.
P_Init: Init Playloop state.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
I_InitInput
I_StartupMouse
I_StartupJoystick
I_StartupKeyboard
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce 6200/PCI/SSE2
GL_VERSION: 2.1.2
GL_EXTENSIONS: GL_ARB_color_buffer_float GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_half_float_pixel GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_gpu_program_parameters GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_sRGB GL_EXT_timer_query GL_EXT_vertex_array GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum GL_WIN_swap_hint WGL_EXT_swap_control 
Support for non power 2 textures enabled.
Occlusion query enabled.
Resolution: 640 x 480
16 bots read from bots.cfg



MAP01 - entryway

ACS scripts unloaded.
[/spoiler]
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

Just loading these 2 WADs/ZIPs doesn't produce the error.
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post by Enjay »

I'm not sure I understand.

Those two are the only ones that I have noticed causing the problem, and some others certainly don't.

The problem seems quite sensitive. Change something about a situation and the lights may start working again. eg adding "+logfile f:\log.txt" to the command line still re-enables the lights for the decorate.txt file but not the headcrab one.

Taking the file BBA.WAD out of my skins folder (which is a sndinfo lump and the sounds to support the blood bath announcer) re-enables the lights but taking any of the other files out makes no difference.

Checking that the lights weren't working with the decorate.txt file and then quitting and restarting with an additional WAD (a level) added to the command line, from the same directory (my desktop) as the decorate.txt file re-enabled lights. That also worked with the headcrab.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

And how am I supposec to find such a strange bug?
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post by Enjay »

Well, that's the tricky part. ;)

I've tried as many combinations as I can think of to come up with some kind of logic behind it but I simply can't find a common theme. All I can do is report the symptoms as I get them hoping that you, or anyone else, might have an idea what is going on or think of something else to try. I understand that I haven't actually been able to pinpoint anything specific for you to investigate and the bug seems so sensitive that I suspect it will be very hard to reproduce on other systems even by going through the same steps. So I'm not expecting a miracle cure for it. I thought it was better to report it than not though.

So all I know is that some combinations of command lines and file contents stop the dynamic lights associated with actors via doomdefs from working even though the light definitions are being loaded. Which, unfortunately, is no further on that I was when I first reported the bug. :?
Locked

Return to “Closed Bugs”