Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

Cheerio

Don't Starve Mod Tools Github Repo

Recommended Posts

Cheerio    2,675

This Github project contains the Don't Starve Mod Tools package for PC, Mac and Linux as well as the source for the proprietary asset pipeline tools.  Please feel free to fork it and submit your changes through pull requests.  Approved changes will get pushed to the Steam Workshop.  Let me know if you have any questions :).

 

https://github.com/kleientertainment/ds_mod_tools

Share this post


Link to post
Share on other sites
simplex    2,608

@Cheerio

One question I have is about the organization of code. I get that the primary directory subdivision is meant to reflect the current separation of code bases for the three different OSes. But isn't the intended goal with this move to achieve a single, cross-platform code base? Should I work under the Linux subtree for now and only later worry about the restructuring of code layout/building?

Share this post


Link to post
Share on other sites
Cheerio    2,675

@Cheerio

One question I have is about the organization of code. I get that the primary directory subdivision is meant to reflect the current separation of code bases for the three different OSes. But isn't the intended goal with this move to achieve a single, cross-platform code base? Should I work under the Linux subtree for now and only later worry about the restructuring of code layout/building?

Yeah the idea is that there would be the three os subtrees and one new subtree called 'source'.  If you want you can take the code and move it and set yourself up a make system to build the tools and submit a pull request for me to incorporate the change in the main branch.

Share this post


Link to post
Share on other sites
simplex    2,608

Yeah the idea is that there would be the three os subtrees and one new subtree called 'source'.  If you want you can take the code and move it and set yourself up a make system to build the tools and submit a pull request for me to incorporate the change in the main branch.

I think matters of code reorganization are best left for you. You're the ones who will do the cross compilation, after all.

p.s.: How sneaky of you, using GNU Wget in the Windows tools. :razz:

Share this post


Link to post
Share on other sites
Cheerio    2,675

I think matters of code reorganization are best left for you. You're the ones who will do the cross compilation, after all.

p.s.: How sneaky of you, using GNU Wget in the Windows tools. :razz:

Sounds good.  I'll try and move it around sooner rather than later :).

Share this post


Link to post
Share on other sites
Cheerio    2,675

In case people were just shy, if you're interested in helping with the tool port, let me know :).  There's a ton of work to do and it can easily be split up :).

Share this post


Link to post
Share on other sites
Cheerio    2,675

I'll add a todo to the readme then we can split the items so we don't step on each other's toes :)

Share this post


Link to post
Share on other sites
Cheerio    2,675

I hadn't noticed the latest source code inclusions, I'll work on it as soon as I can!

There's now a todo list.  I'm working my way through porting autcompiler then png then textureconverter then scml.  

Share this post


Link to post
Share on other sites
simplex    2,608

There's now a todo list.  I'm working my way through porting autcompiler then png then textureconverter then scml.

Wouldn't autocompiler be the last thing to port, since it depends on the rest?

Share this post


Link to post
Share on other sites
Cheerio    2,675

Wouldn't autocompiler be the last thing to port, since it depends on the rest?

I like going front to back :).

Share this post


Link to post
Share on other sites
simplex    2,608

I like going front to back :-).

That smile you put at the end of each post has a way of making the most innocent statement sound creepy. ;P

Share this post


Link to post
Share on other sites
Cheerio    2,675

That smile you put at the end of each post has a way of making the most innocent statement sound creepy. ;P

Do you feel the same way whenever I click the 'like' button?

 

...

...

...

 

:)

Share this post


Link to post
Share on other sites
simplex    2,608

Do you feel the same way whenever I click the 'like' button?

 

...

...

...

 

:-)

No, not usually, but it depends on what you're liking. ;P

(by the way, had you noticed you seem to have the highest reputation score among Developers/Administrators? It's even higher than JoeW's :razz:)

Share this post


Link to post
Share on other sites
simplex    2,608

@Cheerio

About "add[ing] python to osx/linux", I'm not sure that's necessary. Python 2 comes preinstalled in Mac OS X, and it is standard in Linux (not every distro bundles it, but if not it's probably been installed already as a dependency, and otherwise fetching it is quite straightforward; bundling dependencies is not common in Linux, they are system-wide). Maybe for Mac it'd be useful to have it there, since some older versions of Mac OS X have older Python versions (such as 2.3), but for Linux it's quite ok to assume it's there and call it as "python2.7 <script>".

Share this post


Link to post
Share on other sites
Cheerio    2,675

@Cheerio

About "add[ing] python to osx/linux", I'm not sure that's necessary. Python 2 comes preinstalled in Mac OS X, and it is standard in Linux (not every distro bundles it, but if not it's probably been installed already as a dependency, and if not fetching it is quite straightforward). Maybe for Mac it'd be useful to have it there, since some older versions of Mac OS X have older Python versions (such as 2.3), but for Linux it's quite ok to assume it's there and call it as "python2.7 <script>".

We'll just need to fix the fact that some of the Klei scripts are installed in the site-packages folder.

Share this post


Link to post
Share on other sites
simplex    2,608

Where's the reputation leaderboard? :-)

I don't believe there is one, that's why I said it seems. You seem to be first, JoeW second and Kevin third.

Share this post


Link to post
Share on other sites
Cheerio    2,675

Autcompiler, scml and png are no longer dependant on any windows libraries as far as I can tell and all have premake projects setup for them.  I was working on textureconverter today which is the last bit and unfortunately I've come too the conclusion that it has way too many dependencies including some 3rd party code which I can't share so I won't be able to host it on github.  I'll just get it working on multiple platforms and post the binaries when they're done.

Share this post


Link to post
Share on other sites
simplex    2,608

Autcompiler, scml and png are no longer dependant on any windows libraries as far as I can tell and all have premake projects setup for them.  I was working on textureconverter today which is the last bit and unfortunately I've come too the conclusion that it has way too many dependencies including some 3rd party code which I can't share so I won't be able to host it on github.  I'll just get it working on multiple platforms and post the binaries when they're done.

If you'd like, you can bundle ktech with the Linux/Mac versions, relieving the need to port TextureConverter. But it's your call, of course.

Share this post


Link to post
Share on other sites
Cheerio    2,675

If you'd like, you can bundle ktech with the Linux/Mac versions, relieving the need to port TextureConverter. But it's your call, of course.

Hmm interesting,

 

For it to work, it'd have to support mipmapping, resizing and dxt1/dxt5/argb.

Share this post


Link to post
Share on other sites
simplex    2,608

Hmm interesting,

 

For it to work, it'd have to support mipmapping, resizing and dxt1/dxt5/argb.

It does. It also supports plain rgb (used by colour cubes). Resizing is done using either the Lanczos, Blackman, Hann, Hamming, Catrom, Bicubic or Box filters, the default being Lanczos (which is Lanczos3, i.e. 3-lobbed Lanczos).

Usage: ktech [OPTION]... <input-file> [output-path]Options for TEX input:    -Q,  --quality  <0-100>         Quality used when converting TEX to PNG/JPEG/etc. Higher values result         in less compression (and thus a bigger file size). Defaults to 100.    -i,  --info         Prints information for a given TEX file instead of converting it.Options for TEX output:    -c,  --compression  <dxt1|dxt3|dxt5|rgb|rgba>         Compression type for TEX creation. Defaults to dxt5.    -f,  --filter  <lanczos|blackman|hann|hamming|catrom|bicubic|box>         Resizing filter used for mipmap generation. Defaults to lanczos.    -t,  --type  <1d|2d|3d|cube>         Target texture type. Defaults to 2d.    --no-mipmaps         Don't generate mipmaps.Other options:    -v,  --verbose  (accepted multiple times)         Increases output verbosity.    -q,  --quiet         Disables text output. Overrides the verbosity value.    --version         Displays version information and exits.    -h,  --help         Displays usage information and exits.    --,  --ignore_rest         Ignores the rest of the labeled arguments following this flag.If input-file is a TEX image, it is converted to a non-TEX format (defaultingto PNG). Otherwise, it is converted to TEX. The format of input-file isinferred from its binary contents (its magic number).If output-path is not given, then it is taken as input-file stripped from itsdirectory part and with its extension replaced by `.png' (thus placing it inthe current directory). If output-path is a directory, this same rule applies,but the resulting file is placed in it instead. If output-path is given and isnot a directory, the format of the output file is inferred from its extension.

obs.: As it is now, resizing is just done within mipmap generation (with the primary mipmap having the original dimensions). I haven't added an option to fix the output size (such as TextureConverter's height option), but this would be quite straightforward. I just didn't see the use case for it, so far.

Share this post


Link to post
Share on other sites
Cheerio    2,675

I'll check it out. You ok with me porting it to windows as well? I'd rather support only one tool :)

Share this post


Link to post
Share on other sites