Jump to content

Recommended Posts

  • Developer

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

@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?

  • Developer

@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.

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:

  • Developer

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 :).

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:)

@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>".

Edited by simplex
  • Developer

@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.

  • Developer

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.

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.

  • Developer

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.

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.

Edited by simplex

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...