devolution

Author Topic: General Discussion  (Read 3821722 times)

0 Members and 22 Guests are viewing this topic.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #4155 on: December 26, 2014, 01:11:58 PM »
There is one bmp in the game folder, it's game\content\gfx\interface\images\story\caravan\sword1.bmp. That's why I wondered about bmps.

When I'm worried about filename limit, I think about files like fj30fj380fhwrfwr03h5f101h3fh035hf50hy4437656480wynhyrjhrhre hygh5.jpg that you easily can find on various hentai sites.
They already have long names, so when we add tags we make them even longer. It's not a problem in our packs only because me and Cherry rename pictures before using them.

Perhaps we could force people to use no more than four characters for file names, excluding tags. I'll add autorenamer that will rename all files in the target folder to their alphabetical hexadecimal numbers. That would be from 0000.jpg to FFFF.jpg, meaning 65535 pictures per girl (I think it's enough  :) ). So after tagging process they will look like 00A1-pr-r3-h2.jpg.

Engine will load bmp files but not in girls packs, code doesn't look for them. There will be no filenames that are too long. I have renamed over 10 000 images and it's all good, nothing comes even close to causing errors.
Like what we're doing?

Offline Thewlis

  • Jr. Member
  • **
  • Posts: 74
  • Its hentai, quiaff?
Re: General Discussion
« Reply #4156 on: December 26, 2014, 02:51:58 PM »
There will be no filenames that are too long.

Unless someone sticks them in a very deep folder tree and windows refuses to deal with them.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #4157 on: December 26, 2014, 07:12:15 PM »
Unless someone sticks them in a very deep folder tree and windows refuses to deal with them.

I wonder what the longest filename we have atm...
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #4158 on: December 27, 2014, 05:46:17 AM »
- Like I said, both me and Cherry always renamed all pictures. And your renamer does it too, so things are already under control, we never allowed long names to exist in our packs in the first place. And we should continue to do so, unless you enjoy to handle system exceptions in the game code.
- Since my tagger works with files names, and files are ordered by names in the tagger file list (because how else are we supposed to order them and keep things intuitive), it's better to not change the order during renaming when you add or remove tags, it could be very confusing.
- So in order to not change the order during renaming AND keep names unique files names start with four hexadecimal digits, from 0000 to ffff. That means 65535 pictures per girl. I doubt it's possible to exceed it, but it's not hard to add fifth digit in that case.
- After hexadecimal numbers go tags divided by "-". I limited the total number of tags per file to 50. Each tag takes 3 characters, so max possible file name length = 4+50*3= 154. We could use more, but I don't think there is a picture that requires so many tags.

Now I'm writing various procedures to automate tagging as much as possible and handle all exceptions. Also I'm going to show only those checkboxes that are needed, ie no sex tags for profile picture. It will look like the last tagger, with list of files in the selected folder and picture preview.

Of course we'll need to finish new tags concept too so that I could add tags checkboxes to gui. It's too difficult to freely change gui via xmls in case of Delphi, like it was possible in Rudi's tagger.
« Last Edit: December 27, 2014, 05:48:39 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #4159 on: December 27, 2014, 05:41:26 PM »
I don't understand why everyone is making taggers :D

Rudi's tagger is working just fine, so does macmanuses. I can wrap up Ren'Py tagger if you need it and allow you to customize it like I proposed before.

Filenames are not important, collision is very unlikely because tags for most pictures are different and are stored without order. I also don't see the point to change the damn names yet again, we did it one on livings request/suggestion by moving the four characters id from start to end if the filename.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #4160 on: December 28, 2014, 06:23:37 AM »
Don't you have better things to do, like code your own proper tagger rather than doubt my mad Delphi skillz?  :)
We cannot support old taggers because we either don't have source code (Rudi) or don't know how to code it and those who coded it are not available (mcmanus). So we need a tagger that was coded by one of permanent devs. And you mentioned that renpy is not really suited for working with files and folders, while Delphi is perfect for it. Guess what, you can even freely select a folder in my tagger via default Windows opening dialogue!  :D

You are wrong about collision. For example, there are profile and nude pictures with same emotions and simple background, so the only thing they have different is your four random characters at the end. The chance of collision is low if those characters are truly random. But it's =/= 0, and never be.

I'm not sure why living requested to move characters id to end of the filename. Each time you change tags you also change alphabetical order of files in unpredictable ways. It's not a problem for my tagger, but it's a problem for me, and a huge one. Because, well, I'm a pack maker, you know. I actually work with pictures and tags, not just load them somewhere after they are ready.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
I figured that the only way to get an always novel, decent, bugs-free tagger is to code it by myself. Names will be unique, renaming of new files will be automated, there will be options that make tagging quick and simple. It even will be able to check if files are tagged correctly or not, before the game throws you an error.

If you actually can and willing to do all it via renpy, be my guest. I don't think so, though.
Did you try to change tags in packs using your renpy tagger? I did. You can't even save it sometimes:
Quote
While running game code:
  File "game/library/screens/standalongs/tagger.rpy", line 23, in script
    python:
  File "game/library/screens/standalongs/tagger.rpy", line 100, in <module>
    os.rename(f, newdir)
WindowsError: [Error 2]
« Last Edit: December 28, 2014, 07:00:34 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #4161 on: December 28, 2014, 07:15:44 AM »
Don't you have better things to do, like code your own proper tagger rather than doubt my mad Delphi skillz?  :)

I don't have any reason to doubt, just saying that it would prolly been faster to get the Ren'Py tagger to work like we want it to.


I'm not sure why living requested to move characters id to end of the filename. Each time you change tags you also change alphabetical order of files in unpredictable ways. It's not a problem for my tagger, but it's a problem for me, and a huge one. Because, well, I'm a pack maker, you know. I actually work with pictures and tags, not just load them somewhere after they are ready.

Because we wanted to optimize loading speed to best we can get. It was a matter of getting rid of first five characters of the filename and the last four (or split on ".") (two operations) and getting rid of the last 9 characters (extension + four characters) which is one operation. I doubt that it makes that big of a difference but I never timed it because his approach was bound to be quicker and I did not think about the sorting.

If you actually can and willing to do all it via renpy, be my guest. I don't think so, though.
Did you try to change tags in packs using your renpy tagger? I did. You can't even save it sometimes:

If you're busy with this already, there is little point. I could take a shot at it so we have a tagger until living is done with java version and you could work on skills, items and traits... CW is being unusually silent these days :( + until we get that sorted, I am having trouble assigning tasks to Thewlis who is around...

==================
Going to take a look at the new leveling up logic... maybe I can make some headway there. If I can get that done, maybe Thewlis can wrap up ST, we could add some quests/tasks and finally release something closer to a beta.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #4162 on: December 28, 2014, 07:47:48 AM »
You see, let's say you tag pictures and suddenly notice that some picture should be edited a bit for some reason.
If index is in the beginning, then you can quickly find it in the folder by index and sorting files by names. Even without sorting you can type its index. and windows will show you the picture.
Now if index is in the end, then both sorting and typing can't help you much. And we have packs with thousands of pictures, so this is important. Of course you can search for it via ctrl+f, but we want things simple, not complex. At least I hope that we do  :)

CW mentioned that he waits for ready tagging concept and working tagger. Another reason to do something about it. I can finish concept any time now (I'm on vacation until mid-January starting from yesterday), but it's useless without a working tagger.
« Last Edit: December 28, 2014, 07:58:03 AM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #4163 on: December 28, 2014, 08:21:56 AM »
Windows will look for a combination even in the middle/end of the filename. There should be no difference.

But that's fine, I can redo it in the game without and fuss. As long as we all keep to the same set of rules.
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #4164 on: December 28, 2014, 08:31:02 AM »
Just tried it. Typing doesn't work this way. Searching requires full mask, ie *part_of_name.*.
It's Win7.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #4165 on: December 28, 2014, 08:43:45 AM »
You're right... kinda odd, I am sure I did searches for parts of filenames inside of a namestring before...
Like what we're doing?

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #4166 on: December 28, 2014, 02:51:32 PM »
My final update of tags concept. I handled all cases that I wanted to handle, let me know if I missed something important.

Now I could try to figure out how to deal with traits. Because items system should be rewritten for a start, like I said before.
« Last Edit: December 28, 2014, 03:30:34 PM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6893
  • "It's like hunting cows"
Re: General Discussion
« Reply #4167 on: December 28, 2014, 06:27:31 PM »
My final update of tags concept. I handled all cases that I wanted to handle, let me know if I missed something important.

I don't care much as long as it results in something we can use in the code and a convenient tagging process. Current system is fine with me as well as long as we add the tags we'll need for the ST. Group/BDSM doesn't hurt but there are no plans to add them before the next release.

Now I could try to figure out how to deal with traits. Because items system should be rewritten for a start, like I said before.

Lets leave the system as it is for now (it does function well enough) until game takes more coherent shape. It's prolly wiser to adapt/rewtire it later, after ST/Crafting are working and we can determine what can break/hurt those concepts.

We need to wrap up new skills/ranks systems, make them work, integrate with ST and other modules, add some decent written content and release a beta to get some feedback. I feel like we're running in circles at the moment and I really, REALLY want us to break out of rewriting the code/complicating and advancing logic.
Like what we're doing?

Offline Dusk

  • Newbie
  • *
  • Posts: 9
Re: General Discussion
« Reply #4168 on: December 28, 2014, 08:41:39 PM »
Oh, by the way, if you'd like, I can supply some pictures and/or music for this project as well.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4737
Re: General Discussion
« Reply #4169 on: December 29, 2014, 01:36:00 AM »
It depends. All pictures that are simple to find we already found (like those from deviantart, for example). Finding more good pictures requires browsing specific places, like artists blogs or foreign sites that don't have an english version.
Find a good music, preferably without intelligible lyrics to avoid breaking the forth wall, will be much easier for you.


===================================================================================
What I currently have in my software:
- you can select a folder via standart windows opening dialogue;
- there is a list of files that shows only jpgs, jpegs and pngs, and preview panel that shows picture (and resize when needed to show it completely);
- delete option that deletes currently selected file on spot;
- purge option that removes all tags and set all filenames by default for retagging from the scratch;
- checking procedure that analyzes filename and determines if it's correct or not, ie start with a valid hex number, then go tags divided by "-". It also checks if tags themselves are known.
- normalizing procedure that checks all files in the folder, and if there are filenames that are not correct for any reason, it renames them by giving the smallest available hex number+extension.
- filenames will always be unique. All system exceptions are handled, no critical errors and CTDs.

It's not an actual tagger so far, more like a tool for simplier tagging. I can add tagging options, but we'll see if Xela or living will manage to make a working tagger for a start  :)
« Last Edit: December 29, 2014, 01:52:56 AM by DarkTl »