I was testing out various PICO-8 cartridges in the new version, including my own Rain Gif cart, and I discovered that when I chose the built-in "Save Gif" option, it would report that a GIF was saved to the desktop:
...but no file would appear.
On further testing, I discovered that on manually saving an image, it throws an error:
I'm not sure why this would happen - I've already checked whitelisting PICO-8 in my virus checker and that changes nothing. (And besides, I can save files and use the audio exporter just fine.) I'm running Windows 7 (yes, I know...) and installed PICO-8 yesterday using the installer download.
Screenshots are working for me, also on a certain embarrassing defunct OS with a 25-year-old UI style.
What's the desktop_path value in your config.txt set to?
I had this issue when I updated Pico-8 at the weekend, turns out for some reason it was my antivirus (AVG) that was flagging and stopping the saving.
@Felice: Initially it was set to nothing, which presumably means the default; I changed it over to $HOME/Pictures/pico8/ with no effect.
@ojf: Yeah - I know my virus checker doesn't like the installer, so that's one of the places my head went. I'll mess with the antivirus some more and try rebooting and see if that changes anything.
Update: Screenshots only work when run in my computer's admin account. If I open PICO-8 as admin, screenshots work fine; if I open PICO-8 in my normal non-admin user account, they throw errors.
Is it possible that you accidentally installed and/or ran PICO-8 in the past as admin?
If so, the Pictures/Pico8/ folder might be owned by the SYSTEM account instead of your own account. Check ownership and permissions on that folder.
That, and/or you could just rename the folder, run PICO-8 in your regular account, which should re-create it (maybe only when you first save a screenshot) with the right ownership and permissions, and then you can copy any existing stuff back into it.
(I often wish it weren't quite so easy to Run as Administrator on Windows. It's far too common a "solution" that people toss around, but it can cause a lot of intractable problems later on.)
The Windows installer runs as admin because it installs in C:/Program Files (x86)/. The older versions were installed the same way and saw no problems.
That said, now the older versions (although not the installer version, just the .zip version) aren't working either, so it's not PICO-8 - something's changed on my machine, and I don't know what it is. A full uninstall and reinstall is probably the thing to try next.
Like I said, "and/or ran PICO-8 as admin".
Uninstalling won't fix folder permissions on your screenshots folder.
Try what I said about renaming the existing screenshot folder and then running PICO-8 as non-admin. It'll probably create a new folder with the right permissions, and then you can copy the contents of the old one to the new and delete the old one.
I understand what you're saying but that didn't happen here. The screenshot folder was assigned account by account. When it's run as administrator, it runs using configuration data in the AppData folder of that account and, because that account has the default config, it saves screenshots to that account's desktop. PICO-8 running in admin mode has never touched any of the folders on my non-admin account and all of those folders list the user account as the owner.
I don't know if this means anything, but extcmd("audio_rec") + extcmd("audio_end") also failed for me. Still guessing it's the virus checker thing, but if screenshots, GIF recording, and audio recording all share something in common, that's the part that broke.
Actually, given that using the export command to save a .wav file or the save command to save a .png file both work, that might be very relevant.
Update on this bug:
I went into the config.text file and replaced:
// Desktop for saving screenshots etc. Defaults to $HOME/Desktop desktop_path $HOME/Pictures/pico8/ |
with
// Desktop for saving screenshots etc. Defaults to $HOME/Desktop desktop_path C:/Users/[my Windows user account name]/Pictures/pico8/ |
...and suddenly it was able to save screenshots and GIFs again.
That suggests to me that this wasn't a permissions bug, this was the $HOME environmental variable being corrupted somehow. I don't know if this illuminates anything about what happened, but it feels worth posting an update about.
Honestly it just seems like a documentation error.
I think @zep was just trying to indicate what the default path was by describing it with a *nix-style shell's $HOME variable, but as far as I can tell, PICO-8 doesn't actually apply environment variables at all. Not to mention that on Windows, the equivalent environment variable would be %USERPROFILE%, although that doesn't even seem to work in PICO-8; you have to specify the path explicitly.
That comment should say something generic like this:
// Folder for saving screenshots etc. Defaults to "Desktop" in the current user's home folder |
And leave the syntax for that up to the user, who probably knows or can find out the right syntax.
Interesting! That does sound like a documentation error - and doing a quick test of renaming my config.txt so PICO-8 generates a new one, the default value is nothing:
// Desktop for saving screenshots etc. Defaults to $HOME/Desktop desktop_path |
If that's the error, then I'll go ahead and close the issue as resolved.
It's just my opinion, but I think you should leave it open. That auto-generated comment is a little misleading and I think it would be a good idea for zep to tweak it.
No, you're right - we'll close it when the comment in the config.txt is updated. Edit: or the issue is resolved some other way.
[Please log in to post a comment]