Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Ralpha

Pages: [1]
1
DF General Discussion / Re: DFFD Downtime Explanation
« on: November 19, 2022, 03:47:24 pm »
It looks like the Wayback Machine indexed the site quite a few times. Although this does not include the download themselves.
https://web.archive.org/web/20220905221931/https://dffd.bay12games.com/index.php
(last update September 5, 2022)

Where the archive files also stored in the DB? (most likely not)

I'm curious how big the archive of the whole server is? How many GB have been uploaded?

2
A first step to doing this would be so DF would allow the parsing of `.df` or `.dfraw` files (as if they where `.txt`).
This does not harm anyone and allows people to use the new extension if they would like to.

Although, with the steam release, and the bundling of a mod in a zip, this would be the ideal time for a change like this.
Because the mod files are not really 'txt' files anyway. They are a special format that follows certain rules. (what plain text files do not have)
Every type of file that even has some (limited) formatting to it would use a different extension. Like: `.md` for Markdown, `.log` for structured log files, `.rtf` for Rich text format, `.py` for python code (similar for every other programming language), `.xml`, `.json` (these are just structures in files and are so similar to df raw files in there structure), ...

There are also a lot of other benefits for having a different extension then `txt`. You might want to open normal text files (on your pc) with notepad.
But you want to edit dwarf fortress mod files using an other editor (Vim, VSCode, Atom, Notepad++, ....).
People can also create stand alone application that open `.df` files. (think for things like "Raw Explorer", "DF Diagnosipack", ...)

I think there are almost no downsides to this change.
  • Old mods don't work after steam release for most part anyway (because of restructuring and graphics changes). So need to be updated anyway.
  • If people want to edit mod files they can still just open them and you could even include a `README` file with some basic info and links to wiki, because they will need that anyways.
  • Changing they extension would be a small change, updating the content of the file would be a bigger change.

In short I think adding support (or replacing `.txt`) for `.df`or `dfraw` would be a very good thing. Especially for the modding community in DF.
It is a change, but would allow so much more.

3
Utilities and 3rd Party Applications / Re: DF Storyteller
« on: August 15, 2020, 04:14:03 pm »
Good point, I'll add some graphics that I posted on other places like Reddit.

4
Utilities and 3rd Party Applications / Re: DF Storyteller
« on: August 14, 2020, 10:37:45 am »
I'm happy to announce that after working on this project for quite a while I'm finally here to release it.

5
Utilities and 3rd Party Applications / DF Storyteller
« on: August 14, 2020, 10:37:18 am »


DF Storyteller
DF Storyteller is a client side application for parsing and storing Dwarf Fortress Legends files. It provides an API for other apps to visualize the data.
In short it is an Legends viewer to create your own visuals.

Download latest release:
Website: https://dfstoryteller.com/

Documentation:

GitLab repo
Issue tracker



How it works
DF Storyteller takes the legend files from Dwarf Fortress and DFHack and imports them into a database.
It then provides and API to view the data.

You can find more information in our readme.

Create your own visualizer
Do you want to visualize legends data yourself! You are in the right place.
We will get you started in no time. Just take a look over here.

Some examples:
Spoiler (click to show/hide)

Want to contribute?
Contribution guidelines for this project.
Create your own application using DF Storyteller.
I want to help, but not a programmer, can I still help? Yes! Look here for more info.


6
I uploaded my code for generating DF worlds on Linux (and maybe Mac OSX).
I posted it on GitLab as I have some other projects in the works that this can live under.

https://gitlab.com/df_storyteller/df-worldgen

I put a lot of documentation/comments in the code so you should be able to see how it works.
Feel free to ask questions and suggest changes to get it working on your end.
The lua script should work without any problem. (maybe the detecting if it is ready is a bit harder.)

The basics come down to:
Code: [Select]
# Generate world
./dfhack "df -gen $WORLDID RANDOM \"$SIZE $WORLD_TYPE\""

# Open DFHack + load legends
./dfhack +load-legends-mode region$WORLDID

# Export legends
./dfhack-run exportlegends all

# Close DFHack
./dfhack-run die

That'll be quite nice. Seriously, thanks for your interest, and helping to improve it like this! ;)
:) Thanks, and you are welcome! Getting some feedback and interaction when you are creating something is ways nice!
And my other project I'm working on uses the legends to do some nice things ;)
It would be nice to have this script to create some worlds and test my app out on windows.

Keep up the good work! Would like to see how you incorporate the display of world info!

7
I see there is a fresh release: `Nikorasu released this 10 minutes ago`  8)
(you will probably be typing a message here at the same time :P )

I also just got my script to work. (Will do: generate -> close -> open dfhack -> open-legends -> export legends -> close -> next world)
Although because of some DFHack and other limitations it might not be that easily ported to Windows.
But opening of legends and exporting legends should still work just have to guess a bit more when some parts are done.
So might have to be a bit more liberal with timing.
I'll publish all the code over the coming days. Once scripts are a bit stable and work for both systems I'll make a pull request to add them to dfhack.


8
I had been working on this yesterday. (although for linux, but same rules apply).
I created a new lua script that allows you to load the legend for a particular region and you can use that from the command line like this:
Code: [Select]
  echo "Generating World: $WORLDID"
  ./dfhack "df -gen $WORLDID RANDOM \"POCKET ISLAND\""
  echo "Exporting legends"
  ./dfhack +load-legends-mode region$WORLDID
`load-legends-mode` is the name of the script. (it is not yet in DFHack)
It will use the select menu support from DFHack to move around the interface.
Because of loadscreen timing there was not an easy way to set a trigger for when it is done loading. But figured something out, a bit of a dirty hack but it works :P
So I had to add the
Code: [Select]
dfhack.run_command("exportlegends all") to the file once that is done loading.
I might be able to set this in a second script.

The only problem I found now is that part of the `exportlegends` script uses `script.start(..)` This spawns a new process to export the detailed maps.
And the main application does not know when this is finished. Because I have to kill/exit df after it is done.

I have not found any 'join()' command that lets the main process wait for the script to finish. Maybe someone else knows this?
If I can get the main process to wait this then I got all these steps working.

I'll put the code out there once I got that part working. Then you can use the same lua scripts in the windows commands.

9
I have also been working on modification to the exportlegends script in dfhack.
This modification will export all the files into a folder instead of in the main directory. So when exporting a lot of worlds this will be very welcome.
Hopefully it will be merged soon: https://github.com/DFHack/scripts/pull/152

10
I just found that if you are using dfhack you can also use it to do some extra things.
This way you can create a world, use the exportlegends
to create all the legend files and do even more.
This might be interesting to take a look at.

More info here: https://docs.dfhack.org/en/stable/docs/Core.html

11
General Discussion / Forum https, secure pages
« on: June 07, 2020, 09:20:00 am »
This question might have been answered before.
But why does bay12forum.com not have tls certificate to make the website secure to it allows https connections?
So this link does not work at the moment: https://www.bay12forums.com/smf/ (2020-06-07)

These days with https://letsencrypt.org/ and others it does not cost anything and any easy to setup.

This ways forum posts and login passwords are encrypted over the internet connection.

Maybe the "Sectigo Limited" cert from https://www.bay12games.com/ could be extended and also used here?

12
That git repo looks good!
And the MIT License is a very good choose.
It'll be my first post there, so forgive me if I did it wrong.
We are all here to learn ;) And you did it very well!

Already some updates :D

If you want to go to next level 8), maybe add a 'README.md' to the repo with a small description and an example of how you might run the script/example output of the script.

13
Nice did not know about the "command line.txt" file. That is very useful. Although I do play on Linux so don't have much use for a .bat file. But learned something new.
I think this is the bash script you mentioned? https://www.reddit.com/r/dwarffortress/comments/dw8il/dwarf_fortress_world_generation_script_gnulinux/
Your script might be useful to link to in the future! And thanks for making it!
Do you mind if I upload your script with the bash script above to Github or GitLab so more people will find it in the future?
If you want to upload it there that would be nice too.
(I'll make sure to give you the credit and link back to this thread.)

Not to drag you into the deep end here :P But maybe for the future, you should pick a software License to make sharing end editing it easier.
Something like GPL 3.0 or MIT (both very common licenses) is a good choice (there is also The Unlicense, although not common). Those basically allow people to edit and re-share the code without many restrictions.

14
A week ago I made a small proof of concept to see if Rust can be used to create a DFHack plugin.
And the short answer is yes, maybe...
You can check it out here: https://github.com/ralpha/DFHack_Rust_plugin
I don't have plans right now to use it, but it is here for the taking if someone want to use it.

Rust has support for C++ binding. It took me some doing to get cmake to handle the build process.
It is not the best implementation and DF values might not be the easiest to export to Rust.
But I'm not so familiar with DFHack and its plugin build system.
If someone could help with the build system that would be cool!
So Rust might not be the right tool to use, but you can if you want.

I'm currently working on another new standalone application (it is a nice tool for legends ;) ) that is written is Rust ❤️.
That should be out in a month I hope. (most of it is working already)

Pages: [1]