Ok so, I understand the principles of that savestates naming system. But since we can have many savestates from same game in same directory, why not keep the old naming system but instead, it creates a directory for savestates for one movie and the ones that aren't from any movies are still kept in state directory.
Example, I'm starting recording a movie, the name of the movie file is "That's so funny.FM2", so states from that movie should be stored in ./statesdir/That's so funny/
So, if I want to use a state from one movie, I could easily just copy it.
Of course there is the "Load state from..." feature which obsoletes copying a file. But if you have a couple savestates that you want to copy, it's faster by copying than by using that feature.
Another bug, a really small bug while I was testing how FCEUX handles long filename with the current savestates sytem because it is theoritcally possible that such scenario occurs.
If you try to write a file with 256 or more characters, FCEUX is crashing.
By opening a ROM with long filename also makes FCEUX to crash or just don't react. I think at 250 characters FCEUX crash and 251 to 256, FCEUX just do nothing at all like if nothing has been requested.
256 is the limit for the filename including the extension and the directory name of where it is. It works like that for ntfs and it's similar for most modern filesystems.
Example:
Savesates are stored in ./states and also, you record a movie from "Famicom Doubutsu Seitai Zukan! - Katte ni Shirokuma - Mori wo Sukue no Maki! (J) [!].nes"
Then one creates a movie and put for movie filename "Famicom Doubutsu Seitai Zukan! - Katte ni Shirokuma - Mori wo Sukue no Maki! (J) [!] Played by Brian Peter George St. Jean le Baptiste de la Salle Eno for blah blah.FM2"
So when you try saving a state, FCEUX tries to write a long filename which is theoritically named "Famicom Doubutsu Seitai Zukan! - Katte ni Shirokuma - Mori wo Sukue no Maki! (J) [!].Famicom Doubutsu Seitai Zukan! - Katte ni Shirokuma - Mori wo Sukue no Maki! (J) [!] Played by Brian Peter George St. Jean le Baptiste de la Salle Eno for blah blah.fc1"
But FCEU crashes instead. It's impossible to write such long filename in my filsesystem, NTFS, but FCEUX shouldn't crash either.
Edit: Forgot to mention that the old system is more reliable in that aspect but not perfect too. So, if you load a ROM with 256 characters, FCEU should save that 256 characters.fcX. The only problem I could see is that if the number of characters for states dir is higher than the one from where the ROM is, I think FCEUX should also crash. :P
But the chances to have long filename with the old sytem is slimmer than this new system.
Edit 2: After doing some things, I rethought about what I wrote, and damn, my idea of a directory system is good but not better for number of characters as the same problem will happen too because there will be the same number of characters as the curent system.
So damn it, the old system in FCEU was way better. :P
Edit 3: Just thinking of that, why the name of the ROM is put in filename of a state? All my objections about that system is mainly about that. Why not just "movie_filename.fcX"?
What's the point of having 2 times the same thing.
Old system, which imo is good was, romfilename.fcX.
Now, it's romfilename.moviefilename.fcX.
So, maybe just moviefilename.fcX? Since usually, people use the name of the game for movie filename. So people like me which like the old system will be pleased since we will keep the name of the game for the FCS as well as other people that wants something like the current system, that really still indicates that savestate Z is really for movie Z like the current system.
Example of the use moviefilename.fcX:
By default, when starting recording a movie, FCEUX puts «"Romfilename"-0.FM2"».
So, if I record a movie from Akumajou Dracula (v1.0).nes, FCEUX puts
Akumajou Dracula (v1.0)-0.fm2. So states are named "Akumajou Dracula (v1.0)-0.fcX".
(I don't understand why it should have that "-0". There shouldn't have anything like that and if it really should, it should be 1. Version 0 = something that doesn't exist :P.)
But when someone wants to put something different for movie filename, it really associates states with the proper movie because I think that's what the new system was created.
So one creates a movie "Roflmao.FM2" so, states are labeled "Roflmao.fcX"