jbostoen / ZTStudio

A tool to read and write Zoo Tycoon 1 Graphics
GNU General Public License v3.0
9 stars 4 forks source link

Access to path is denied #37

Open GoosiferIO opened 1 year ago

GoosiferIO commented 1 year ago

Hi jbl. Just started using your program after reading through your thread at Tek and starting my own project. Great job on its development.

I'm having trouble with a few errors but not quite sure how to work around them.

I thought maybe it was beginner pains so I tried converting the PNG files in the tutorial files but then I get this error:

Directory name 'sitscratch' is invalid.

The limit of a folder name is a maximum of 8 alphanumeric characters.

You will need to rename the folder manually and then retry.

Since this error may lead to other issues, ZT Studio will now close completely.

'sitscratch' is a directory provided in the tutorial files. If I rename it to something shorter I get the same 'access to path is denied' mentioned above (after I refresh and app restart to propagate any file name changes). The directory my root folder lives in is an arbitrary space in my Documents folder.

I noticed in your issue tracker that ZT Studio currently has missing error handling. If I have time to spare this coming semester I would love to try contributing any improvements in that area; if you would have me anyway.

Goosifer (from Tek)

jbostoen commented 1 year ago

Good observation!

"sitscratch" would indeed be invalid, as it contains more than 8 characters and - as far as I'm aware - the default used by Zoo Tycoon is only 8 characters.

I checked in the released files ( https://zootekphoenix.com/forums/files/file/3401-red-panda-by-vondell-and-jbl89/ ), there it's indeed also "sitscratch" folder with graphics. However, in the configuration file it's unused. I think at some point I just added this check, as Blue Fang had the habit to use maximum 8 characters per folder name. But I guess it's not a strict limit either.

As you can see, I haven't touched the code for nearly 4 years. That's probably also about the time I haven't had Visual Studio or Zoo Tycoon installed. I've spent hours on Zoo Tycoon when I was a kid; then I created this tool because I needed it for a project I had in mind at that time. It was highly experimental and I wasn't too familiar yet with best practices coding wise, so the error handling in this project is indeed a bit of a mess. :|

I probably won't pick it up myself anytime soon, but feel free to fork, or even better, create a pull request.

The check is found here. Seems like I even added a specific comment about "sitscratch" in the past: https://github.com/jbostoen/ZTStudio/blob/0de4b120e0a53bc82098839829016755b1bd537e/source/modules/MdlTasks.vb#L571

The pull request would be easy, but I'd need to reinstall Visual Studio first solely for this; and then of course it should be properly tested in Zoo Tycoon.

For now, I would simply suggest deleting the "sitscratch" folders.

GoosiferIO commented 1 year ago

That makes sense, thanks jbl. I leave a lot of legacy files for testing in my coding projects as well--I consider it part of the job :P

Sounds good about the contributions. Likely I'll start reading through the ZT Studio code some time around September or October. I have quite a few ZT-related projects I'd like released before end of summer so I should be responsible with my commitments haha.

On the meantime I've figured out a workaround jumping between Zoot and ZT Studio.

I will keep you posted in the Fall about any contributions I may be able to PR your way.