QodotPlugin / Qodot

Quake .map support for Godot 4.2
MIT License
646 stars 53 forks source link

Qodot Texture Loader uses "set_shader_param" instead of "set_shader_parameter" #134

Closed blizzardlizard closed 10 months ago

blizzardlizard commented 10 months ago

This is not a huge deal but I figure I would mention it nonetheless. When using a ShaderMaterial for Qodot's default material, I was getting an error and the textures would not load properly. After looking into it, this appears to be because in qodot_texture_loader, the following line: material.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED if unshaded else BaseMaterial3D.SHADING_MODE_PER_PIXEL Does not check if the material HAS a shading mode to begin with, so it was creating errors with the shader I was using that did not have that variable. I was able to fix it by simply adding a line to check if the material has the shading mode variable before setting it 👍

blizzardlizard commented 10 months ago

Oops my bad, that is not the issue I was having and setting it to unshaded would have fixed it - I should have read the whole line, however there WAS another problem which is that the function used to set the albedo texture:


elif material is ShaderMaterial && default_material_albedo_uniform != "":
    material.set_shader_param(default_material_albedo_uniform, texture)

was resulting in an invalid call error that said set_shader_param couldnt be found. I WAS able to fix THAT by changing it to set_shader_parameter instead

RhapsodyInGeek commented 10 months ago

Both of these had been fixed early November and are in the current public code base and should be in the latest AssetLib version as well now. https://github.com/QodotPlugin/Qodot/commit/0ed7e269e80c6cb1e30f432c3bd66da3124526c0

Make sure you keep your Qodot up to date. Remember that the GitHub version will always have the most up to date fixes in case you're having issues with the AssetLib version.

blizzardlizard commented 10 months ago

Ohhh okay, Thank you!