No it isn't, ./ in file names is recognized by the engine when executing the file and makes the file path start in the same folder the script is located.
Yes, but there are some cases where putting
./ on its own doesn't work, for example in
AddDamageType when setting a bitmap. You have to define the entire directory (or use
expandFileName of course), and if the .zip's name is changed then the add-on will create errors and potentially not work. With a nameCheck.txt, it wouldn't load at all.
From Weapon_gun/server.cs for reference.
AddDamageType("Gun", '<bitmap:add-ons/Weapon_Gun/CI_gun> %1', '%2 <bitmap:add-ons/Weapon_Gun/CI_gun> %1',0.2,1);