Ancurio / mkxp

Free Software implementation of the Ruby Game Scripting System (RGSS)
GNU General Public License v2.0
532 stars 140 forks source link

openReadEnumCB just gives up if a closely matching filename is found #246

Open LiEnby opened 2 years ago

LiEnby commented 2 years ago

if you see here, https://github.com/Ancurio/mkxp/blob/380b676777b101a7d6648a8e6b9a226a8984bbc0/src/filesystem.cpp#L602-L603

if the last part of the filename is NOT a \0 or a '.' then it returns PHYSFS_ENUM_STOP, which will physfs to simply stop looking for more files.

Lets say we need to find Arrow.png, however a file called "Arrow4.png" also exists (as is the case in To The Moon) if it finds "Arrow4.png" before "Arrow.png" it will simply never find Arrow4.png and give an error saying it doesnt exist. because "last" in this case would be the 0x34 or "4" not . or \0, so it just gives up looking >_<