Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 305 306 [307] 308 309 ... 360

Author Topic: DFHack 0.43.03-r1  (Read 1112180 times)

Max™

  • Bay Watcher
  • [CULL:SQUARE]
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4590 on: August 20, 2016, 08:31:34 pm »

This has been your first class of Wizardry 101, you'll need to pay the tuition for additional courses, blood sacrifice or high quality Ukrainian porn being the standard methods as I recall.
Logged

jecowa

  • Bay Watcher
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4591 on: August 20, 2016, 09:57:36 pm »

DFHack uses SDL? The way the tiles rescale when the window is resized, it seems like Dwarf Fortress uses OpenGL instead of SDL when DFHack is enabled.

Edit: Nevermind, I had Print Mode set to "Standard".
« Last Edit: August 20, 2016, 10:11:44 pm by jecowa »
Logged

peterix

  • Bay Watcher
    • View Profile
    • Dethware
Re: DFHack 0.43.03-r1
« Reply #4592 on: August 21, 2016, 12:55:04 am »

History of DFHack...

Is long. I really don't remember a lot of the details. It's been 7 years? I'll just try to fill in the blanks that people missed.

It started as a part of Khazad - a DF visualizer which I ported to linux:
https://github.com/ImpalerWrG/Khazad/commit/c5b21a2479926d03e5cdc20ced5f5c10a38d5d3a
https://github.com/ImpalerWrG/Khazad/commits/master?page=17

Over time, it turned into a separate project, used in Khazad:
https://github.com/ImpalerWrG/Khazad/commits/master?page=13
https://github.com/DFHack/dfhack/commit/fac88478bd72056e4043e73ff1e8832ce1474a63

At this point, it was structured as a library (common functionality) and a bunch of executables (the actual tools like `reveal`). It worked sort of like a debugger - stopping the main process, making its changes and then letting it run again.

Then ImpalerWrG made some comments on here that weren't well received and got driven away by the locals (Toady included). I got caught up in that and was forced to completely abandon Khazad. After the dust settled, DFHack continued as an entirely separate project.

It expanded, and over time, I tried improving how it worked. One of the big problems was performance. Stopping and starting the DF process alone was slow. On linux, it could also only write 4 bytes at a time to memory. It had to ask the OS to do everything and it simply wasn't good.

My first attempt at fixing the performance was sort of silly. It involved injecting code into DF (that part survived until now) and then setting up a shared memory area that was used to push data through. It was very new to me, and I made plenty of mistakes... like trying to use a busy loop in order to speed up pushing of data through this window... It only worked well on dual core CPUs, when nothing else was running:
https://github.com/DFHack/dfhack/commit/efce0ab21b34085a76fd9e7b4d58166e114dca04

That obviously couldn't work, and I don't think many people used it (if anyone).

I think the suggestion to move more things into the DF process came from Baughn (but I'm not really sure). Also, some (bad) antivirus software started to detect the DFHack tools as viruses. So, I simply had to change it to how it works now:
https://github.com/DFHack/dfhack/commit/81d648dfa73f1a3b1b62039c1277bd38c9414347

I had a video of the first running DFHack console inside DF... but I can't find it. It was basically printing the game cursor coords to the console :D

The rest of the DFHack APIs and tools got ported to the new layout.
I added plugins and a RPC interface based on sockets and Google protobuf.
Support for scripting in Lua and Ruby got added (actually, the old dfhack had python scripting support, but that died a long time before this).
The old APIs were superseded by df-structures, which got split off at some point (I think):
https://github.com/DFHack/dfhack/commit/f2a69188ea3fc100662bb334664f7223cbfe5049

... and the rest of it was a lot of work. After several years of maintenance, I left the project for others to worry about :)

jecowa

  • Bay Watcher
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4593 on: August 21, 2016, 02:35:19 am »

Looking through the Khazad commits:

Impalerwrg initialized Khazad on 2009-04-09 at 04:55:56.
Peterix made his first commit on 2009-06-18 at 23:17:39.
"DFHack" was first mentioned on 2009-08-25 at 22:46:29.
DFHack was birthed from Khazad on 2009-09-14.
Impalerwrg and Peterix worked together on the Khazad until 2010-02-16.
Impalerwrg moved the project to GitHub and began working alone on his new Ogre engine 2010-05-21. I think this is the point that Khazad became its own game.
Logged

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: DFHack 0.43.03-r1
« Reply #4594 on: August 21, 2016, 03:02:56 am »

... and the rest of it was a lot of work. After several years of maintenance, I left the project for others to worry about :)

Although not being involved in development, are you still playing DF? Were you playing it a lot back then (for example, I must admit, I am developing much more than playing, which is a problem sometimes as I just don't know some gameplay stuff well)?

It's just interesting why people suddenly lose interest in their projects (I'm not saying I don't do that sometimes myself). Back in good old OSx86 days, there was a guy, Maxxus, who first hacked first versions of OS X 10.4 to run on non-Apple hardware and documented the process of binary patching the kernel. And then he disappeared. We had to use his old kernel with new OS X versions until.. um.. I was able to build a new one from sources. And we didn't, and still don't (AFAIK) know, who he was and why he abandoned the project.

Here, GavJ disappeared after starting to work on a very interesting geological project, fricy disappeared...

Warmist

  • Bay Watcher
  • Master of unfinished jobs
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4595 on: August 21, 2016, 03:30:55 am »

... and the rest of it was a lot of work. After several years of maintenance, I left the project for others to worry about :)

Although not being involved in development, are you still playing DF? Were you playing it a lot back then (for example, I must admit, I am developing much more than playing, which is a problem sometimes as I just don't know some gameplay stuff well)?

It's just interesting why people suddenly lose interest in their projects (I'm not saying I don't do that sometimes myself). Back in good old OSx86 days, there was a guy, Maxxus, who first hacked first versions of OS X 10.4 to run on non-Apple hardware and documented the process of binary patching to the kernel. And then he disappeared. We had to use his old kernel with new OS X versions until.. um.. I was able to build a new one from sources. And we didn't, and still don't (AFAIK) know, who he was and why he abandoned the project.

Here, GavJ disappeared after starting to work on a very interesting geological project, fricy disappeared...
Yeah it's the natural order of things. E.g. currently i don't play because anything i try gets fps death. Next step for that is 1x1 fort with 20 dwarf limit (+20 children +20 visitors). Maybe that could work for some time...

Rose

  • Bay Watcher
  • Resident Elf
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4596 on: August 21, 2016, 03:32:17 am »

Yeah, TheWonderIdiot stopped development of Overseer, so I had to make Armok Vision
Logged

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4597 on: August 21, 2016, 04:35:12 am »

LucasUP vanished and I took over the LNP...

(@MaxTM - what kind of blood did you use to draw Peterix back???)
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

jecowa

  • Bay Watcher
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4598 on: August 21, 2016, 05:10:12 am »

(@MaxTM - what kind of blood did you use to draw Peterix back???)

I'm interested in this too. Maybe it will work for fricy.
Logged

peterix

  • Bay Watcher
    • View Profile
    • Dethware
Re: DFHack 0.43.03-r1
« Reply #4599 on: August 21, 2016, 05:45:31 am »

Blood?

There was blood?

... that would explain things :)

I think I stopped playing years before I stopped being involved... it's kinda natural for me. If the game is good, I mess with it in some way.

I spent thousands of hours in some games... which is why I generally don't play them anymore. I know Half-life inside-out. Same for DF... although there, Toady adds more stuff all the time. And Minecraft has an active modding community, which makes it interesting to revisit every few months/years when an interesting new concept shows up.

I messed with Half-Life before, making a mod for it. You won't find it though, because I never released it. Basically, it was meant to be a total conversion into a MMORPG game - multiple connected servers you would freely go between, each running an instance of a map of the game. It was bigger than what I could manage.

Now I'm doing the same with Minecraft, except with a very limited scope - just a launcher. You wouldn't believe how difficult did Sun/Oracle/Microsoft/AMD/Intel/nVidia make it to launch Java programs on Windows properly.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4600 on: August 21, 2016, 07:01:59 am »

Now I'm doing the same with Minecraft, except with a very limited scope - just a launcher. You wouldn't believe how difficult did Sun/Oracle/Microsoft/AMD/Intel/nVidia make it to launch Java programs on Windows properly.

Oh, right, aren't you one of the MultiMC devs or something like that?

lethosor

  • Bay Watcher
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4601 on: August 21, 2016, 08:02:14 am »

LucasUP vanished and I took over the LNP...

(@MaxTM - what kind of blood did you use to draw Peterix back???)
He has shown up in this thread a few times, and he's actually around the IRC channel quite a bit (not active, but responsive to mentions). It's not quite the same situation as other people who have disappeared.

Oh, right, aren't you one of the MultiMC devs or something like that?
Yep.
« Last Edit: August 21, 2016, 08:04:44 am by lethosor »
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

Max™

  • Bay Watcher
  • [CULL:SQUARE]
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4602 on: August 21, 2016, 11:28:29 pm »

It's hard to maintain active playing and coding and such with the same drives, I find when dfhack isn't caught up I do a lot more playing around in adventurer mode in the newest version, then once it does catch up I like to poke around at things that I have been recently wondering about, plus play with some of my favorite old toys/make sure they work to some extent.

Later I'll get the bug to go in and fix a few scripts I have that were broken by structures being renamed, some different calls being used, and in the process try to improve things by making use of new features (totally gonna see if I can use the symbol/figurine/etc image selection for a new artifake/names type script if it isn't done before I get there) and see whatever else pops into my head. I gotta get back in lua-mode first before it all starts to click again.
LucasUP vanished and I took over the LNP...

(@MaxTM - what kind of blood did you use to draw Peterix back???)
Funny story, the missus just hit... that time of the month, and I... used some to draw a dorf on the wall, though I'm not sure why as it was actually after Peterix popped back up... less a funny story, really, more of a mess.
Logged

peterix

  • Bay Watcher
    • View Profile
    • Dethware
Re: DFHack 0.43.03-r1
« Reply #4603 on: August 22, 2016, 02:09:18 pm »

I think you just killed the thread dude :P

Dirst

  • Bay Watcher
  • [EASILY_DISTRA
    • View Profile
Re: DFHack 0.43.03-r1
« Reply #4604 on: August 22, 2016, 06:33:25 pm »

I think you just killed the thread dude :P
Max's punishment is that he must debate GoblinCookie, on a topic of his choosing, for at least ten pages.
Logged
Just got back, updating:
(0.42 & 0.43) The Earth Strikes Back! v2.15 - Pay attention...  It's a mine!  It's-a not yours!
(0.42 & 0.43) Appearance Tweaks v1.03 - Tease those hippies about their pointy ears.
(0.42 & 0.43) Accessibility Utility v1.04 - Console tools to navigate the map
Pages: 1 ... 305 306 [307] 308 309 ... 360