Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 4

Author Topic: BAMM! v0.1 - The Graphicsenating  (Read 12915 times)

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile
BAMM! v0.1 - The Graphicsenating
« on: May 22, 2015, 12:04:56 am »

BAMM!
Button's Automated Mod Merger
v0.1: The Graphicsenating

BAMM! v0.1 is a utility for applying tilesets to DF raws. It will work with (almost?) any mod. It will work with (almost*) any graphics/tileset. It is currently in pre-release alpha, and only available as Python 3 source code. I will provide an executable once I've gotten rid of those "almost"s.

* Overrides, non-text files and graphics_*.txt files not yet supported. These are easy to do manually - I've only neglected them because I don't need them personally, and will get around to them. Graphics applied as part of creature variations are also not yet supported. This is harder, but very unusual.

Get it here.

Spoiler: Testimonials (click to show/hide)

Spoiler: Usage Instructions (click to show/hide)
« Last Edit: June 02, 2015, 11:35:08 pm by Button »
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

Max™

  • Bay Watcher
  • [CULL:SQUARE]
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #1 on: May 22, 2015, 01:03:17 am »

Sadly I know little about python yet but I love the name!
Logged

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: BAMM! v0.1 - The Graphicsenating
« Reply #2 on: May 22, 2015, 02:26:27 am »

If that works on Masterwork, I'll hug you to death. This is meant as a compliment, not a threat.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

DragonDePlatino

  • Bay Watcher
  • [HABIT:COLLECT_WEALTH]
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #3 on: May 22, 2015, 02:56:50 am »

I see what you did there.

Does this override things in the raws like [PICKED_TILE] or [GROWTH_PRINT]? Was it our earlier little discussion that spawned this beautiful script? Does this mean I have to stop being lazy and create unique tiles for all of the plant growths?

If so:

Spoiler (click to show/hide)

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #4 on: May 22, 2015, 08:17:07 am »

If that works on Masterwork, I'll hug you to death. This is meant as a compliment, not a threat.

It should, with a little work. It scans the target directory and the graphics directory for objects, matches up shared objects, and then applies the graphics. So new or relocated target objects will require corresponding new or relocated graphics objects.

However since it will pull the graphics from any set of raws, you only need to manually assign them to new or relocated objects once. Then you use that place as your new graphics source directory. :)

Also, at the moment it's just doing the text part. I'm going to add copying over all the image files etc. this weekend. Should be easy, just a regex.

I see what you did there.

Does this override things in the raws like [PICKED_TILE] or [GROWTH_PRINT]? Was it our earlier little discussion that spawned this beautiful script? Does this mean I have to stop being lazy and create unique tiles for all of the plant growths?

You flatter me. I couldn't possibly have made this in the time since that post - I've been working on it for more than a month, off and on. Though I confess, you did influence the timing for the upload. ;)

Sadly I know little about python yet but I love the name!

I know, right? Since this doesn't do mod merging yet, only graphics application, I was thinking of giving it a more descriptive name, but BAMM!
« Last Edit: May 22, 2015, 01:48:05 pm by Button »
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #5 on: May 28, 2015, 09:54:23 am »

Update: Found a bug for GROWTH_PRINT tags with no priority token. Fixing it raised another problem, which I'm working on now. Once it's fully fixed I'll check it in again.
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #6 on: May 29, 2015, 08:30:15 am »

I believe the previous has now been fixed.
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

milo christiansen

  • Bay Watcher
  • Something generic here
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #7 on: May 29, 2015, 10:28:45 am »

This sounds a lot like the Rubble tileset applier, but implemented a bit differently.

Is this just for raws, or does it handle TWBT overrides as well? Because if it's just for raws you may want to take a look at how Ruble does it, source code (for the tileset applier) is in "other/src/rubble/rblutil/tset" in the main Rubble download. Rubble uses minimal objects to patch existing raws with new tile information, and it has the ability to auto generate tileset files from existing raws (so if your format is close to what I use then we can share tilesets).
Logged
Rubble 8 - The most powerful modding suite in existence!
After all, coke is for furnaces, not for snorting.
You're not true dwarven royalty unless you own the complete 'Signature Collection' baby-bone bedroom set from NOKEAS

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #8 on: May 29, 2015, 10:52:22 am »

At the moment it's raws only, but TWBT overrides is high on my list and I know how I intend to do it.

I will take another look at Rubble. My goal with this, though, is to have a util that can be run by the most tech- and modding-shy of users, and Rubble is not exactly plug-and-play. ;)
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

milo christiansen

  • Bay Watcher
  • Something generic here
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #9 on: May 29, 2015, 11:07:40 am »

Rubble is intended to be a giant all-in-one tool/installer/etc/etc, so not plug and play, at least not for modders :) But really you can't call a python script plug and play either, not for Windows users.

I was more thinking that if we use a unified tileset format it would be possible to make tileset packages that work with both tools. Ideally it may be possible to make a standard tileset format that can be used by a spectrum of tools, hopefully fixing all tileset install problems for all time :) Rubble's format is simple, but it needs some good TWBT support and maybe a few other tweaks.

Rubble has some nice, simple (non-regular expression) raw parsing and tileset patching code that may be helpful, even if it is in Go and not python you can still steal (er, use) the basic logic if you want.

I am open to changing Rubble to match another tool's format, but only if functionality is enhanced.
Logged
Rubble 8 - The most powerful modding suite in existence!
After all, coke is for furnaces, not for snorting.
You're not true dwarven royalty unless you own the complete 'Signature Collection' baby-bone bedroom set from NOKEAS

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #10 on: May 29, 2015, 01:25:40 pm »

Rubble is intended to be a giant all-in-one tool/installer/etc/etc, so not plug and play, at least not for modders :) But really you can't call a python script plug and play either, not for Windows users.

Well obviously I intend to package it as an executable once it's out of alpha :) .

Quote
I was more thinking that if we use a unified tileset format it would be possible to make tileset packages that work with both tools. Ideally it may be possible to make a standard tileset format that can be used by a spectrum of tools, hopefully fixing all tileset install problems for all time :) Rubble's format is simple, but it needs some good TWBT support and maybe a few other tweaks.

Well, my tileset format is flexible. It's built to pull the tileset from any raws which have the tileset installed. I'll take a look at yours this weekend.
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

DragonDePlatino

  • Bay Watcher
  • [HABIT:COLLECT_WEALTH]
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #11 on: May 29, 2015, 09:24:10 pm »

If I could give my two cents, I'm all for Button's format. When I started editing my raws for GemSet, I wrote a file like this with the intention of documenting all of my changes.

Spoiler (click to show/hide)

Button then popped in the topic and said I had hit BAMM!'s format by accident, minus the color codes. It's a really intuitive setup in that respect.

On the other hand, I've been having some issues with overriding my grass graphics. I wrote this set of plant_grasses raws and my output folder ended up exactly like the vanilla raws. Am I doing something wrong?

Spoiler (click to show/hide)

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #12 on: May 30, 2015, 12:02:48 pm »

When you say "overriding," do you mean that you put them into the graphics_overwrite property in the run.config? Because if so, that's the problem - that's still not implemented.

If not, then it should be working fine. I'll poke around with it.

EDIT: Aha! Since it's a plant file, it needs [OBJECT:PLANT] up at the top of the file. Although from a purely raws-structural point of view this is correct, since it's not really relevant to the data it's looking at, I'll check and see if it breaks anything to remove that requirement.

EDIT2: It didn't break anything, so I've pushed it and you don't need [OBJECT:WHATEVER] up at the top of their respective short-form graphics files anymore.
« Last Edit: May 30, 2015, 03:02:23 pm by Button »
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

DragonDePlatino

  • Bay Watcher
  • [HABIT:COLLECT_WEALTH]
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #13 on: May 31, 2015, 12:12:44 am »

Nice! I've been able to get lots of stuff to work other than plants, and it's a relief one of the most complicated things should be working now. I'll go ahead and download it and give it a shot.

Speaking of which...I think I've changed my mind about getting an executable. I'm already able to do everything I want with the current version (i.e. override soil, layer, mineral and gem raws) so I'll be interested in getting an executable for the next version of GemSet.

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile
Re: BAMM! v0.1 - The Graphicsenating
« Reply #14 on: May 31, 2015, 02:39:55 am »

Added proper logging. There's the generic logging, but then there's also a log specifically for modders - missing.log , which catalogs which objects were found in the target source but not in the graphics source. So that you know where to look for touchups.

Speaking of which...I think I've changed my mind about getting an executable. I'm already able to do everything I want with the current version (i.e. override soil, layer, mineral and gem raws) so I'll be interested in getting an executable for the next version of GemSet.

Do you have a target date for that?
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back
Pages: [1] 2 3 4