Dfhack Documentation Release 0.47.05-R3

Total Page:16

File Type:pdf, Size:1020Kb

Dfhack Documentation Release 0.47.05-R3 DFHack Documentation Release 0.47.05-r3 The DFHack Team 2021-09-29 Contents I Quick Links3 II User Manual7 1 Introduction and Overview 9 2 Installing DFHack 11 3 Getting Support 15 4 DFHack Core 17 5 DFHack Plugins 27 6 DFHack Scripts 87 7 User Guides 193 8 About DFHack 247 9 DFHack Development Guide 301 i ii DFHack Documentation, Release 0.47.05-r3 DFHack is a memory editing library for Dwarf Fortress that provides a unified, cross-platform environment where tools can be developed to extend the game. The default distribution contains a variety of tools, including bugfixes, interface improvements, automation tools, modding tools, and more. There are also a variety of third-party tools available. Contents 1 DFHack Documentation, Release 0.47.05-r3 2 Contents Part I Quick Links 3 DFHack Documentation, Release 0.47.05-r3 • Downloads • Installation guide • Source code( important: read Compiling DFHack before attempting to build from source) • Bay 12 forums thread • Bug tracker 5 DFHack Documentation, Release 0.47.05-r3 6 Part II User Manual 7 CHAPTER 1 Introduction and Overview DFHack is a Dwarf Fortress memory access library, distributed with a wide variety of useful scripts and plugins. The project is currently hosted on GitHub, and can be downloaded from the releases page - see Installing DFHack for installation instructions. This is also where the DFHack bug tracker is hosted. All new releases are announced in the Bay12 forums thread, which is also a good place for discussion and questions. For users, DFHack provides a significant suite of bugfixes and interface enhancements by default, and more can be enabled. There are also many tools (such as workflow or autodump) which can make life easier. You can even add third-party scripts and plugins to do almost anything! For modders, DFHack makes many things possible. Custom reactions, new interactions, magic creature abilities, and more can be set through Scripts for Modders and custom raws. Non-standard DFHack scripts and inits can be stored in the raw directory, making raws or saves fully self-contained for distribution - or for coexistence in a single DF install, even with incompatible components. For developers, DFHack unites the various ways tools access DF memory and allows easier development of new tools. As an open-source project under various open-source licences, contributions are welcome. Contents • Getting started • Getting help 1.1 Getting started See Installing DFHack for details on installing DFHack. Once DFHack is installed, it extends DF with a console that can be used to run commands. On Windows, this console will open automatically when DF is started. On Linux and macOS, you will need to run the dfhack script from a terminal (instead of the df script included with DF), and that terminal will be used by the DFHack console. 9 DFHack Documentation, Release 0.47.05-r3 • Basic interaction with DFHack involves entering commands into the console. To learn what commands are available, you can keep reading this documentation or skip ahead and use the ls and help commands. • Another way to interact with DFHack is to set in-game keybindings for certain commands. Many of the newer and user-friendly tools are designed to be used this way. • Commands can also run at startup via init files, on in batches at other times with the script command. • Finally, some commands are persistent once enabled, and will sit in the background managing or changing some aspect of the game if you enable them. 1.2 Getting help There are several support channels available - see Getting Support for details. 10 Chapter 1. Introduction and Overview CHAPTER 2 Installing DFHack • Requirements – Windows – Linux – macOS • Downloading DFHack • Installing DFHack • Uninstalling DFHack • Upgrading DFHack • Pre-packaged DFHack installations • Linux packages 2.1 Requirements DFHack supports Windows, Linux, and macOS, and both 64-bit and 32-bit builds of Dwarf Fortress. DFHack releases generally only support the version of Dwarf Fortress that they are named after. For example, DFHack 0.40.24-r5 only supported DF 0.40.24. DFHack releases never support newer versions of DF, because DFHack requires data about DF that is only possible to obtain after DF has been released. Occasionally, DFHack releases will be able to maintain support for older versions of DF - for example, DFHack 0.34.11-r5 supported both DF 0.34.11 and 0.34.10. For maximum stability, you should usually use the latest versions of both DF and DFHack. 11 DFHack Documentation, Release 0.47.05-r3 2.1.1 Windows • DFHack only supports the SDL version of Dwarf Fortress. The “legacy” version will not work with DFHack (the “small” SDL version is acceptable, however). • Windows XP and older are not supported, due in part to a Visual C++ 2015 bug The Windows build of DFHack should work under Wine on other operating systems, although this is not tested very often. It is recommended to use the native build for your operating system instead. 2.1.2 Linux Generally, DFHack should work on any modern Linux distribution. There are multiple release binaries provided - as of DFHack 0.47.04-r1, there are built with GCC 7 and GCC 4.8 (as indicated by the gcc component of their filenames). Using the newest build that works on your system is recommended. The GCC 4.8 build is built on Ubuntu 14.04 and targets an older glibc, so it should work on older distributions. In the event that none of the provided binaries work on your distribution, you may need to compile DFHack from source. 2.1.3 macOS OS X 10.6.8 or later is required. 2.2 Downloading DFHack Stable builds of DFHack are available on GitHub. GitHub has been known to change their layout periodically, but as of July 2020, downloads are available at the bottom of the release notes for each release, under a section named “Assets” (which you may have to expand). The name of the file indicates which DF version, platform, and architecture the build supports - the platform and architecture (64-bit or 32-bit) must match your build of DF. The DF version should also match your DF version - see above for details. For example: • dfhack-0.47.04-r1-Windows-64bit.zip supports 64-bit DF on Windows • dfhack-0.47.04-r1-Linux-32bit-gcc-7.tar.bz2 supports 32-bit DF on Linux (see Linux for details on the GCC version indicator) The DFHack website also provides links to unstable builds. These files have a different naming scheme, but the same restrictions apply (e.g. a file named Windows64 is for 64-bit Windows DF). Warning: Do not download the source code from GitHub, either from the releases page or by clicking “Download ZIP” on the repo homepage. This will give you an incomplete copy of the DFHack source code, which will not work as-is. (If you want to compile DFHack instead of using a pre-built release, see Compiling DFHack for instructions.) 2.3 Installing DFHack When you download DFHack, you will end up with a release archive (a .zip file on Windows, or a .tar.bz2 file on other platforms). Your operating system should have built-in utilities capable of extracting files from these archives. 12 Chapter 2. Installing DFHack DFHack Documentation, Release 0.47.05-r3 The release archives contain several files and folders, including a hack folder, a dfhack-config folder, and a dfhack.init-example file. To install DFHack, copy all of the files from the DFHack archive into the root DF folder, which should already include a data folder and a raw folder, among other things. Some packs and other redistributions of Dwarf Fortress may place DF in another folder, so ensure that the hack folder ends up next to the data folder. Note: On Windows, installing DFHack will overwrite SDL.dll. This is intentional and necessary for DFHack to work, so be sure to choose to overwrite SDL.dll if prompted. (If you are not prompted, you may be installing DFHack in the wrong place.) 2.4 Uninstalling DFHack Uninstalling DFHack essentially involves reversing what you did to install DFHack. On Windows, replace SDL.dll with SDLreal.dll first. Then, you can remove any files that were part of the DFHack archive. DFHack does not currently maintain a list of these files, so if you want to completely remove them, you should consult the DFHack archive that you installed for a full list. Generally, any files left behind should not negatively affect DF. 2.5 Upgrading DFHack The recommended approach to upgrade DFHack is to uninstall DFHack first, then install the new version. This will ensure that any files that are only part of the older DFHack installation do not affect the new DFHack installation (although this is unlikely to occur). It is also possible to overwrite an existing DFHack installation in-place. To do this, follow the installation instructions above, but overwrite all files that exist in the new DFHack archive (on Windows, this includes SDL.dll again). Note: You may wish to make a backup of your dfhack-config folder first if you have made changes to it. Some archive managers (e.g. Archive Utility on macOS) will overwrite the entire folder, removing any files that you have added. 2.6 Pre-packaged DFHack installations There are several packs available that include DF, DFHack, and other utilities. If you are new to Dwarf Fortress and DFHack, these may be easier to set up. Note that these packs are not maintained by the DFHack team and vary in their release schedules and contents.
Recommended publications
  • Game-Designer Interviews
    Appendix A Game-designer interviews To complement the technical content of the chapters, all written by academics (though some of the chapter authors also design and develop games), we performed five interviews with the creators of well-known PCG-heavy games. We selected the interviewees mostly because the games they had been part of had either introduced new interesting PCG techniques, or because they had integrated them in game de- sign in some novel way. The interviews were performed in 2013 and 2014 over email, and are reproduced in their entirety here (except for corrected typos). We asked most of the interviewees the same set of questions, focusing on the role of PCG in game design and the limits of generative methods. The interviewees are: • Andrew Doull, creator of UnAngband and UnBrogue, founder of RogueLikeRa- dio. • Ed Key, creator of Proteus. • Michael Toy, co-creator of Rogue. • Richard Evans, AI lead programmer on The Sims 3, co-creator of Versu. • Tarn Adams, creator of Dwarf Fortress. A.1 Andrew Doull Was there anything you wanted to do in a game you worked on that you could not do because of algorithmic or computational limitations? My thinking about game design has changed significantly over the years, since writing the original Death of the Level Designer series of articles. One of the key changes—guided a lot by games like Michael Brough’s 868-HACK—is that a game should embrace limitations, rather than attempt to design around them. So rather than creating procedural systems which can model everything a` la Dwarf Fortress, Ó Springer International Publishing Switzerland 2016 225 N.
    [Show full text]
  • On the Evolution of Narrative Mechanics in Open-World Games
    On the Evolution of Narrative Mechanics in Open-World Games Ulrich Götz SAME MESSAGE, DIFFERENT BOTTLE Experiencing and propagating narratives is an essential component of cultural history. Although this process has changed over the course of centuries, its basic principles persist. Regardless of eras or means of transmission, it is a primordial human instinct to want to communicate real or imagined experiences, and expe- rience them oneself. How deeply rooted this can be is reflected in a wide variety of social endeavors, demands and circumstances, which underscore the central importance of storytelling to our social fabric. The value of narrative and per- formative acts manifests itself in the layout of human settlements, which are ori- ented towards meaningful landmarks. New narrative styles intertwine them- selves closely with the most advanced technologies, which they either advance as a driving force, or rapidly incorporate. The communication of narrative content may have altered its external ap- pearance, but its essence has been preserved. Printing made it possible to repli- cate texts, replacing the oral transmission of poems, songs or performances. Contemporary technological innovations further expanded narrative possibili- ties: today, these range from audiovisual compositions and three-dimensional projections to hybrid performances that fuse real and virtual space. This change of narrative modes distills existing methods down to their core and creates new genres, until they, too, are subject to this process of reduction. At the heart of these continuing cyclical mechanisms lies the moment of narrative transfer. What was once conveyed through interpersonal contact is now amplified by highly diverse forms of media and performative practices.
    [Show full text]
  • Applied Design to Feature Fourteen Recently Acquired Video Games on View for the First Time
    MoMA’S CONTEMPORARY DESIGN GALLERY INSTALLATION FOCUSES ON THE VITALITY AND DIVERSITY OF DESIGN Applied Design to Feature Fourteen Recently Acquired Video Games on View for the First Time Applied Design The Philip Johnson Architecture and Design Galleries March 2, 2013–January 31, 2014 NEW YORK, February 14, 2013–The Museum of Modern Art presents Applied Design, an installation in The Philip Johnson Architecture and Design Galleries showcasing approximately 100 objects from the Museum’s collection. Representing the new directions of contemporary design, the exhibition features outstanding examples of interface and interaction design, dynamic visualizations, products, furniture, 3D printed chairs and bowls, emergency equipment, and biodesign. A testament to this vitality and diversity, the objects on display range from a mine detonator by the young Dutch/Afghani designer Massoud Hassani to a bowl made by transforming desert sand into glass using only the energy of the sun. Also on display are the first 14 video games to enter MoMA’s collection as part of ongoing research on interaction design. The exhibition is organized by Paola Antonelli, Senior Curator, and Kate Carmody, Curatorial Assistant, Department of Architecture and Design, The Museum of Modern Art, and is on view from March 2, 2013 until January 31, 2014. In the past twenty years, design has branched out in new directions that have galvanized young practitioners, sparked business models, and attracted worldwide public attention. Mine Kafon for example, Massoud Hassani’s dandelion-shaped mine detonator, is equipped with a GPS to record a safe path and designed to roll through mine fields. If the object, made from bamboo and biodegradable plastics, encounters a mine and detonates it, it will only partially destruct and can be salvaged and reassembled into a new specimen ready for deployment.
    [Show full text]
  • 292843-Sample.Pdf
    Sample file Foreword I've been wanting to write my own Dungeons And Dragons setting for a while now, and I inally got the resources and motivation to do so. I also got inspiration, from one Kruggsmash, and his Dwarf Fortress videos (artwork of which is on the cover). Big thanks to him, you have inspired my journey to this point. There is art from mister Kruggsmash himself, some art from the Dwarf Fortress Wiki, and to balance it out some, there's also oficial WotC art from miscellaneous editions decorating the pages. This book goes over the world of Tar'En, translated from Dwarvish to the Land Of Legends (inspired heavily by Kruggsmash's latest videos). It is a world of high adventures, epic beasts, mighty citadels, and wars against the pesky goblins who serve the dark ruinous powers that are the demons from the dark chasms of the Abyss. In this world it's never certain who will live, and who will die, what fortress falls, and what will lourish. It's truly a mystery how this world is so happy, yet so dangerous and deadly. But, you can ind that out yourselves you bearded bastards! Whistle - Viktor, the almighty author Sample file 3 The Land Of Legends ar'En is Dwarvish for the Land of Legends, and it Present Day, the last 200 years of Tar'En is a world that houses many stories, prophesies This is the part of history where important igures are told of, and legends, hence its name. Every day it seems artifacts are created and lost, Primordials are rediscovered, someone gets thrown in the spotlight by the wars are fought, and Tar'En's real story begins, told by you, and gods, and then they're showered with legends your dice.
    [Show full text]
  • Crawl Survey Results
    Crawl survey results Survey questions 1. What is your age? 2. What is your country? 3. Do you play locally, on a server, or both? 4. Do you play Tiles, ASCII, or both? 5. OS(es) at home? 6. Roguelikes played before? 7. Where did you learn about Crawl? 8. And when? 9. How many Crawl wins? (If none, you may specify your best game.) 10.If you take part in the tournament, where did you hear about it? 11.Ever recommend Crawl? 12.Which computer game have you played most in the last month? (July) Presentation structure ● Who are our players? ● How do they play? ● How did they arrive at Crawl? ● What is their overall win rate? ● What else are they playing? Who are our players? age distribution 90 83 80 70 64 60 50 49 40 32 30 25 20 10 8 3 4 4 0 14 15-19 20-24 25-29 30-34 35-39 40-44 45-49 50+ Minimum: 14 Maximum: 57 Median: 26 Average: 27.3 most common: 25 (23 times!) Who are our players? Gender 26% 94% N/A 4% 6% 70% Male Female Who are our players? USA 147 Canada UK Germany Finland Russia Poland France Italy Sweden Norway 19 Australia 2 New Zealand 21 22 4 Japan 12 17 2 Thailand 5 3 3 12 9 8 6 Brazil others* * other countries: Argentina, Belgium, China, Croatia, Czech republic, Denmark, Hungary, Iceland, India, Ireland, Israel, Lithuania, Moldova, Mongolia, Netherlands, Singapore, Switzerland, Ukraine, United arab emirates Who are our players? Continents players/populaton 61% 1,6 1,51 1,4 1,2 1 1% North America Europe 0,8 Australia 0,57 0,6 0,5 Asia 0,45 South America 0,4 4% 0,23 0,2 0,12 0,06 6% 0 Canada USA Germany 28% Finland Australia UK
    [Show full text]
  • Secret Identities in Dwarf Fortress
    The AIIDE-17 Workshop on Experimental AI in Games WS-17-19 Secret Identities in Dwarf Fortress Tarn Adams Bay 12 Games Silverdale, Washington [email protected] Abstract Chairs’ Note: In this invited industry case study, Tarn Adams discusses recent extensions to Dwarf Fortress’s sys- tems for character deception. A noted opus in the history of videogames, Dwarf Fortress is a roguelike set in procedu- rally generated fantasy universes. It has been shown at the Museum of Modern Art and has been featured in The New York Times, The New Yorker, Wired, and many other press publications. Currently, Tarn and his brother, Zach Adams, are roughly midway through its famous 30-year development cycle. As Tarn explains in this paper, an upcoming update centered around artifacts—and what characters know about them—has had the fun consequence of necessitating that a certain class of non-player characters cultivate secret iden- tities. This major extension has brought both technical and design challenges, as this paper illustrates. —James Ryan Figure 1: Tinker Tailor Soldier Spy (1979) sparked an early Introduction interest in espionage methods and how they might be trans- The 2017 update to Dwarf Fortress (Adams and Adams ferred to video games. 2006) centers around named items, and in particular, claims upon the items as well as conflict, theft, diplomacy and rec- onciliation involving the transfer of these objects.1 As crea- it involved plenty of spies, it wasn’t a superhuman action ad- tures in the game are not omniscient, rumors passed among venture, but rather an intricate yet reasonable tale of trade- civilizations and individuals regarding current item locations craft, derived we later learned from actual events and prac- are key to preventing this whole process from grinding to tices.
    [Show full text]
  • Hacklikes: Weird Interactions Between Things
    Hacklikes: Weird Interactions Between Things Jose Sanchez Assistant Professor, University of Southern California School of Architecture Director, Plethora Project INTRODUCTION universal, player- or non-player-centric, allowing for the cre- While Roguelikes in general could be easily dismissed due ation of vast algorithmic worlds that might never interact to their usually rudimentary graphics composed by ASCII with a human player. characters, most of such games contain an accumulated It is easier to understand Roguelikes by looking at the Screenshot of repository of algorithmic strategies to deal with procedural cellular automata (CA) algorithm by Stephen Wolfram. Rogue – 1980 world generation and interactions between discreet units. The denomination ‘Roguelike’ is attributed to games that follow a series of principles first proposed by the game ‘Rogue’ 1980. In a Roguelike world, every ‘tile’ is an ‘object’ with properties or data. Each of these objects would be represented by the computer by a symbol allowing the player to differentiate a wall tile from a door, for example. The player possesses a limited visibility of the world and of the properties of objects, making exploration the primary objective of the world. Often, the only way of learning about the properties of an object is by trying to interact with it. The properties of the object will define if such interaction is resolved as a positive or negative effect to either of the units involved in it. Every interaction determines a ‘turn,’ allowing the simulation only to move forward once an action is per- formed. While the first games of the genre would focus on the interactions that would involve the player, later games have explored the idea that the relation between units is 6 INFORMATION CONSTRUCTIONS 2013 TxA INTERACTIVE 7 The video game Dwarf Fortress, by Tarn and Zach Adams, operates in a similar framework.
    [Show full text]
  • Procedural Content Generation
    Procedural Content Generation 2018-03-27 Annoucements • Trajectory update • Extra credit – We've posted an optional assignment that – Meta: Game AI vs Academic, is worth up to 3 points of extra credit. It is Graphs + Search due by April 22, 11:55PM. – Assignment: competition with your fellow – Physical Acts: Movement, Steering classmates using the MOBA format from homework 5, with the addition of hero – Decide: FSMs, Plans, D&B Trees, agents. RBS, BBs, Fuzzy – Like homework 5 (and unlike homework 6), – PCG: Model, Learn and Generate the goal is to destroy the enemy base. – Note that this is a different due date than • HW6: Behavior trees. Thoughts? homework 7. – Remember to check which assignment • HW7 due Sunday, April 8 you are submitting to so that you do not accidentally submit to the wrong assignment Questions 1. Fuzzy Logic : D._._. to model V__ :: Probability theory: Model ______ 2. Three steps in fuzzy rule-based inference… 3. Example membership functions (Triangular…) 4. What is the vertical line rule? • Stolen terms (bits, space, scenarios): Procedural Content Generation for Games: A Survey • https://course.ccs.neu.edu/cs5150f13/readings/hendrikx_pcgg.pdf • Search-Based Procedural Content Generation: A Taxonomy and Survey • https://course.ccs.neu.edu/cs5150f13/readings/togelius_sbpcg.pdf • PCG in Games: A textbook and an overview of current research (2016) • http://pcgbook.com • http://pcg.wikidot.com/ Content is king! PROCEDURAL CONTENT GENERATION Procedural Content Generation • Use of computation instead of manual effort to
    [Show full text]
  • University of California Santa Cruz Designing to Support
    UNIVERSITY OF CALIFORNIA SANTA CRUZ DESIGNING TO SUPPORT AUTHORSHIP PLAY IN EMERGENT NARRATIVE GAMES A thesis submitted in partial satisfaction of the requirements for the degree of MASTER OF SCIENCE in COMPUTATIONAL MEDIA by Max Kreminski September 2020 The Thesis of Max Kreminski is approved: Professor Noah Wardrip-Fruin, Chair Professor Michael Mateas Quentin Williams Interim Vice Provost and Dean of Graduate Studies Copyright c by Max Kreminski 2020 Table of Contents List of Figures v Abstract vi Dedication vii Acknowledgments viii 1 Introduction 1 2 Generative Games as Storytelling Partners 5 2.1 Background . .5 2.2 Barriers to Creativity . .7 2.2.1 Fear of the Blank Canvas . .8 2.2.2 Fear of Judgment . .9 2.2.3 Writer’s Block . 11 2.2.4 Perfectionism . 12 2.3 Which “Player Creativity”? . 13 2.4 Retellings as Co-Created Artifacts . 14 2.5 Sample Retellings . 16 2.5.1 Matul Remrit ............................. 16 2.5.2 Alice and Kev ............................. 18 2.5.3 Pro Vercelli .............................. 19 2.6 Design Elements that Facilitate Dialogic Retelling . 21 2.6.1 Generativity . 22 2.6.2 Incrementality . 23 2.6.3 Boundedness . 24 2.6.4 Limited Player Control . 25 2.7 Gardening as a Mode of Play . 26 2.8 Discussion . 28 2.9 Conclusions . 29 2.9.1 Future Work . 30 iii 3 Why Are We Like This? 32 3.1 Background . 32 3.2 Related Work . 35 3.3 Architecture . 37 3.3.1 Storyworld State Database . 41 3.3.2 Action Definitions . 44 3.3.3 Author Goals .
    [Show full text]
  • A Generative Framework of Generativity
    The AIIDE-17 Workshop on Experimental AI in Games WS-17-19 A Generative Framework of Generativity Kate Compton, Michael Mateas University of California Santa Cruz, Expressive Intelligence Studio kcompton, [email protected] Abstract of forces (Spore terrain generation, SimCity transporta- tion). Some games use Perlin noise to create terrain (Dwarf Several frameworks exist to describe how procedural content Fortress and No Man’s Sky). In games and other interactive can be understood, or how it can be used in games. In this pa- works, humans interactors may be part of this pipeline! per, we present a framework that considers generativity as a pipeline of successive data transformations, with each trans- This paper describes a way of thinking about generativ- formation either generating, transforming, or pruning away ity as a pipeline of data transformations, constructed from information. This framework has been iterated through re- methods that take one form of data, and return data that is peated engagement and education interactions with the game annotated, transformed, compressed, or expanded. Although development and generative art communities. In its most re- there are many frameworks of generativity (in games and cent refinement, it has been physically instantiated into a deck elsewhere), this framework attempts to provide a system to of cards, which can be used to analyze existing examples of design and describe generative pipelines in a way that cap- generativity or design new generative systems. This Genera- tures how generativity is able to take input (random num- tive Framework of Generativity aims to constructively define bers, mouse input, and more) and transform it into some- the design space of generative pipelines.
    [Show full text]
  • Dwarf Fortress Reversing for !!Fun!! and Ruby
    Dwarf Fortress Reversing for !!fun!! and ruby Yoann \jj" Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com RECON 2012 Dwarf Fortress DFHack Ruby Future Plan 1 Dwarf Fortress 2 DFHack 3 Ruby 4 Future Y. Guillot Dwarf FortressReversing for !!fun!! and ruby 2/24 Dwarf Fortress DFHack Ruby Future The game http://www.bay12games.com/dwarves/ Indie game Free Massively Singleplayer Offline Role-Playing Game Fantasy universe simulation Very detailed world Steep learning curve Y. Guillot Dwarf FortressReversing for !!fun!! and ruby 3/24 Dwarf Fortress DFHack Ruby Future The game Adventurer Human, dwarf, elf Quests based Dwarf Fortress 7 dwarves survival horror Y. Guillot Dwarf FortressReversing for !!fun!! and ruby 4/24 Dwarf Fortress DFHack Ruby Future The dev Single developper for 10y Tarn \Toady One" Adams Lives off donations Closed source C++ code Toady is not a programmer Frequent new releases Windows/Linux/MacOS x86 binaries Y. Guillot Dwarf FortressReversing for !!fun!! and ruby 6/24 Dwarf Fortress DFHack Ruby Future The hacks Active hacking community Part for cheats Part for game improvements Esp. UI Backed by the developper Y. Guillot Dwarf FortressReversing for !!fun!! and ruby 7/24 Dwarf Fortress DFHack Ruby Future Plan 1 Dwarf Fortress 2 DFHack 3 Ruby 4 Future Y. Guillot Dwarf FortressReversing for !!fun!! and ruby 8/24 new game release ! drama regexps on the code orphaned tools unmaintenable Dwarf Fortress DFHack Ruby Future Before everybody has his own tool poking at the game memory unique or shared offsets Y. Guillot Dwarf FortressReversing for !!fun!! and ruby 9/24 Dwarf Fortress DFHack Ruby Future Before everybody has his own tool poking at the game memory unique or shared offsets new game release ! drama regexps on the code orphaned tools unmaintenable Y.
    [Show full text]
  • Dfhack Documentation Release 0.44.05-R1
    DFHack Documentation Release 0.44.05-r1 The DFHack Team 2018-02-05 Contents 1 Introduction 1 2 User Manual 3 2.1 Introduction and Overview........................................3 2.2 DFHack Core...............................................5 2.3 DFHack Plugins............................................. 12 2.4 DFHack Scripts............................................. 63 3 Other Contents 123 3.1 List of Authors.............................................. 123 3.2 Licenses................................................. 126 3.3 Changelog................................................ 128 3.4 Removed scripts............................................. 149 4 For Developers 151 4.1 How to contribute to DFHack...................................... 151 4.2 Compiling DFHack........................................... 155 4.3 Development Changelog......................................... 166 4.4 DFHack Lua API............................................. 174 4.5 Data Structure Definition Syntax..................................... 231 4.6 Updating DF-structures for a new DF version.............................. 249 4.7 Patching the DF binary.......................................... 256 i ii CHAPTER 1 Introduction DFHack is a Dwarf Fortress memory access library, distributed with a wide variety of useful scripts and plugins. The project is currently hosted at https://www.github.com/DFHack/dfhack, and can be downloaded from the releases page. All new releases are announced in the bay12 forums thread, which is also a good place for discussion
    [Show full text]