Moving the cheats folder
#11
Please Ryudo, you are around here time enough to know about the problems caused by those "blessed" folders.

Still, for the records, from the very log on the OP second code block:
Quote:The Cheats folder ('C:\Program Files (x86)\Games\PCSX2\cheats') is inaccessible. Skipping...
Overall 0 Cheats loaded
The Widescreen hacks folder ('C:\Users\****\Documents\PCSX2\cheats_ws') is inaccessible. Skipping...
Overall 0 Widescreen hacks loaded

And, the folders creation and defaults are dictated by the Install Shield. I'm not sure about the support files location but the installation can be changed from there, or the devs start using another installer.

Anyway, repeating, the OP actual issue is not directories location, this is cosmetic and good if can be solved... but the actual problem is of access rights, as in the log, and THIS is a known issue from long time, it has plagued all moddable games since the first installment of Vista and was a huge (still is, sadly, some people are slow learners, are you listening me MS?) problem for games like Morrowind, Oblivion, Fallout 3 and NV, Skyrim... just to justify mentioning Bethesda before, but you may include almost every moddable game over there.

The problem is not the user's access rights, the main application inherits it from the user and all is well... the problem arises when mods or plugins try to access the game's resources and is seen as invader by the Windows security system over those specially protected folders. This is totally outside the devs control.
Imagination is where we are truly real
Reply

Sponsored links

#12
(12-23-2014, 05:56 AM)nosisab Ken Keleh Wrote: Please Ryudo, you are around here time enough to know about the problems caused by those "blessed" folders.

I've been around enough to know I have no issue with these 'blessed' folders or permission settings, or security problems.
Again I'm not sure where you're going with something as offtopic as that, because it's completely unrelated to the issue at hand.

Quote:The problem is not the user's access rights, the main application inherits it from the user and all is well... the problem arises when mods or plugins try to access the game's resources and is seen as invader by the Windows security system over those specially protected folders. This is totally outside the devs control.
Are you just purposely not reading or what? Windows security has nothing to do with how PCSX2 does something, except when it has to 'create' files in a heavily permission-restricted folder. But in this case we're not talking about an issue about where it can't create something, we're talking about an issue where PCSX2 itself is ignoring a setting for 2 particular folders, while it works fine for the other folders (Memcards, BIOS folder, etc).

Look. PCSX2 is just searching for the default folder location, and it ignores the custom setting you gave for the cheats / cheats_ws folders.

It works fine for EVERY OTHER FOLDER. Only those 2 folders.
This has NOTHING to do with Windows. It's a flaw in PCSX2 with just those 2 folders.

[Edit] And to entertain you. Let's just say I want to move the cheats folder to E:\pcsx2cheats\cheats instead of a Users\XXXX\My Documents folder.
It'll still attempt to look for the default folder location for cheats instead of what's configured inside the .ini.

All these work fine:

Code:
Bios=F:\\pcsx2 settings\\bios
Snapshots=F:\\pcsx2 settings\\snaps
Savestates=F:\\pcsx2 settings\\sstates
MemoryCards=F:\\pcsx2 settings\\memcards
Logs=F:\\pcsx2 settings\\logs
Langs=F:\\pcsx2 settings\\Langs
PluginsFolder=C:\\pcsx2\\PCSX2 GIT 1.3.0-734\\plugins
RunIso=E:\\PS2 ISOs

Only cheats & cheatsws don't. I hope you get what we're trying to tell you now. Remember, all the folders work, except for cheats and cheatsws.
This is a bug inside PCSX2, and has nothing to do with Windows or its security settings.
AMD Ryzen 5 3600 @ 3.60~4.20 GHz | Corsair Vengeance LPX 32 GB (2x16GB) DDR4-3200
MSI GeForce GTX 1660 Super @ 6 GB | Samsung 980 1TB | Windows 10 Pro x64 (22H2)
Reply
#13
(12-23-2014, 05:53 AM)Solid Knight Wrote: I don't think you understand what is being talked about here. PCSX2 ignores specified user directories for Cheats and CheatsWS when you set them up in the PCSX2_ui.ini file. What does that have to do with Microsoft?

Yes, I think the cheats folder is hardcoded also. But I keep the recommendation of moving PCSX2 to outside the Program Files folder, better sure than sorry. The biggest problem I see being you are trying to move those folders to inside a root folder still more "protected" than the program files, the /users.

Alright you ask the devs to avoid hardcoding the folders, although that supposes to kill the purpose of making the emulator portable. I understand that some folders should not be forced to the installation root, mainly the memcards, bios. cheats and few others (albeit the sstates, plugins, logs, inis and so on should be forced on version basis), this only because some people may want to keep more than one version concurrently.

As final recommendation, you are free to follow or otherwise, is to keep the emulator totally portable, with the folders inside the main structure and FAR AWAY from any Windows protected folder. You have only to gain becoming used not installing games there.
Imagination is where we are truly real
Reply
#14
(12-23-2014, 06:22 AM)nosisab Ken Keleh Wrote: Yes, I think the cheats folder is hardcoded also. But I keep the recommendation of moving PCSX2 to outside the Program Files folder, better sure than sorry. The biggest problem I see being you are trying to move those folders to inside a root folder still more "protected" than the program files, the /users.

Alright you ask the devs to avoid hardcoding the folders, although that supposes to kill the purpose of making the emulator portable. I understand that some folders should not be forced to the installation root, mainly the memcards, bios. cheats and few others (albeit the sstates, plugins, logs, inis and so on should be forced on version basis), this only because some people may want to keep more than one version concurrently.

As final recommendation, you are free to follow or otherwise, is to keep the emulator totally portable, with the folders inside the main structure and FAR AWAY from any Windows protected folder. You have only to gain becoming used not installing games there.

Making the emulator portable doesn't change anything. PCSX2 will still continue to ignore your specified directory. Say I just wanted to rename all the folders and not actually change where they reside. You could accomplish that by setting up custom paths. Except you couldn't do it with Cheats and CheatsWS because PCSX2 won't actually use that setting. It will create those folders if they don't exist already but that's as far as it will go.

Also C:\Users\UserName\YourFolder can be freely written to by any executable. It's only protected from non-administrator user accounts.
Reply
#15
@Ryudo: education, trying and giving good advices which can't harm and can spare a lot of headaches now or near future, to create good and sane environment without the need of fancy workarounds.

@Solid knight: experience of long time dealing with moddable games at Nexus forums and here.

But I don't want to restart an old crusade, I do admit the first things to catch my eyes were that message and the install directory. Too good an opportunity to revive the old lesson learned the hard way. PCSX2 is easy to reinstall anywhere, may not be so if the time bomb explodes in a game like Skyrim loaded with mods. That's the reason to try and create the consciousness that the problem does exist just waiting to trigger.
Imagination is where we are truly real
Reply
#16
It _should_ work as follows (when wide screen cheats are enabled):
1. Search and load cheat[s] from the cheats_ws folder.
2. If and only if no cheats were loaded at [1] then also search at cheats_ws.zip (which is _only_ searched at the root folder of PCSX2 - because it's considered internal to PCSX2 and not user configurable or editable).

It sounds like for [1] it doesn't look at the correct folder. This may be a bug or maybe residue of an old install (because it keeps the folder paths at the registry and tries to reuse them when installing PCSX2 again - to find your bios, saved states, etc automatically).

If it's due to previous install, then using the portable version should help, because the portable version completely ignores the registry.

Changing the cheats_ws folder location is not supported at the GUI, but changing at inis/PCSX2_ui.ini _should_ work (if that's the ini file which PCSX2 uses). If it still doesn't, then it might be a bug.
Reply
#17
It was really a bug. Should be fixed now - https://github.com/PCSX2/pcsx2/commit/95e00e

Thanks for the report.
Reply
#18
(12-29-2014, 02:29 PM)avih Wrote: It was really a bug. Should be fixed now - https://github.com/PCSX2/pcsx2/commit/95e00e

Thanks for the report.

Awesome, thanks a lot avih! +1'd
AMD Ryzen 5 3600 @ 3.60~4.20 GHz | Corsair Vengeance LPX 32 GB (2x16GB) DDR4-3200
MSI GeForce GTX 1660 Super @ 6 GB | Samsung 980 1TB | Windows 10 Pro x64 (22H2)
Reply
#19
Actually, looking at historical commits, I think it used to at least partially work in the past, and later got changed over time, I'm guessing due to some Linux related changed which unknowingly changed also the windows handling.

I think there's some redundancy now at the code WRT getting the cheats and cheats_ws folders (e.g. I think the existing GetCheats() and GetCheatsWS() are no longer used and instead I added new functions GetCheatsFolder() and GetCheatsWsFolder()).

The whole folders handling is quite messy (with default paths, custom paths, custom/portable installs, paths at the registry from earlier installs, etc), but cleaning everything up will take a lot of time and will surely break something for someone, or somethings for many.

So I just hope it now works better than before.
Reply




Users browsing this thread: 1 Guest(s)