Cheerio 2,675 Posted October 27, 2013 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 Posted October 27, 2013 Great! Forked, watched and followed. Share this post Link to post Share on other sites
simplex 2,608 Posted October 27, 2013 @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 Posted October 27, 2013 @CheerioOne 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 Posted October 27, 2013 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. Share this post Link to post Share on other sites
Cheerio 2,675 Posted October 27, 2013 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. 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 Posted November 8, 2013 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
simplex 2,608 Posted November 8, 2013 I hadn't noticed the latest source code inclusions, I'll work on it as soon as I can! Share this post Link to post Share on other sites
Cheerio 2,675 Posted November 8, 2013 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 Posted November 9, 2013 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 Posted November 9, 2013 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 Posted November 9, 2013 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 Posted November 9, 2013 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 Posted November 10, 2013 That smile you put at the end of each post has a way of making the most innocent statement sound creepy. ;PDo you feel the same way whenever I click the 'like' button? ......... Share this post Link to post Share on other sites
simplex 2,608 Posted November 10, 2013 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 ) Share this post Link to post Share on other sites
simplex 2,608 Posted November 10, 2013 @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 Posted November 10, 2013 Where's the reputation leaderboard? Share this post Link to post Share on other sites
Cheerio 2,675 Posted November 10, 2013 @CheerioAbout "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 Posted November 10, 2013 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
TheDanaAddams 574 Posted November 10, 2013 I like going front to back .[Giggles childishly, for reasons that cannot be explained on this forum] Share this post Link to post Share on other sites
Cheerio 2,675 Posted November 11, 2013 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 Posted November 11, 2013 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 Posted November 11, 2013 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 Posted November 11, 2013 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 Posted November 11, 2013 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