Giter Site home page Giter Site logo

dfhack / stonesense Goto Github PK

View Code? Open in Web Editor NEW
369.0 369.0 55.0 51.27 MB

A retro isometric visualizer for Dwarf Fortress

Home Page: https://github.com/DFHack/dfhack

License: Other

C++ 95.20% C 1.48% Shell 0.13% Python 0.92% CMake 2.17% Inno Setup 0.10%
dfhack dwarf-fortress

stonesense's Introduction

DFHack Readme

Build Status Documentation Status License Discord

DFHack is a Dwarf Fortress memory access library, distributed with scripts and plugins implementing a wide variety of useful functions and tools.

The full documentation is available online here. If you have DFHack installed, it is also accessible as raw text in the hack/docs folder. If you're an end-user, modder, or interested in contributing to DFHack -- go read those docs.

If the docs are unclear or you need more help, please check out our support page for ways to contact the DFHack developers.

stonesense's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stonesense's Issues

Stonesense causes DF to crash within seconds (specific save)

This savegame causes all DF windows to crash within seconds if you pan the view around and never unpause the game when (and only when) Stonesense is on.

https://drive.google.com/file/d/1c1ffCW3BteOvWGS0WQuXj3Bmcmtcbkaq/view?usp=sharing

How I can reliably reproduce the crash on my system (Windows 10): Using the save game folder from link above, and with unmodified LNP installation with the currently newest version of PyLNP (0.13a), launch DF with only DFHack and stonesense (or launch ssense manually from console, doesn't matter). Use default tileset, and no other plugins enabled. No multilevel, no TWBT, only Stonesense.

Make Stonesense window as large as your display allows. In DF window, with Stonesense following the view, pan up so that you see surface level, pan south so that the brook is at center, and start panning up and down between surface level and above treetops. Do not unpause the game at any point. This shouldn't take more than a few seconds for the game to crash. If you have successfully viewed every Z-level between surface and highest treetop, then the crash is not happening.

When you get to a certain Z-level, all three windows simply close: DF, DFHack console and Stonesense. This does not happen if I don't launch Stonesense but do the same with only DFHack on. Also, if I use a later save from that same fortress, it does not happen, so the profile warning is almost certainly unrelated. The cause must be something that is happening near the river in this save.

There is nothing out of the ordinary in any of the .log files. Stderr.log output from invoking ssense to crash is below.

Invoking: ssense
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: out-of-date sRGB profile with no signature
Client connection established.
Client connection established.
Shutting down client connection.

Error Running on Arch Linux x86_64

loading plugin stocks
loaded plugin stocks; DFHack build 0.42.06-alpha2-0-g6fd904f
loading plugin stonesense
libjpeg.so.62: 错误 ELF 类: ELFCLASS64
Can't load plugin stonesense

Trees not shown in zones

Creating a pen zone over a larger area it flattens the wild grass into a more flat one, but this also hides all trees in that zone

Different name for vampires

Stonesense provided with DFHack for DF 0.34.11 (release 3) shows different(true) name of dwarf who is a vampire, while both DF and Dwarf Therapist shows it's fake name.

Culprit dwarf has a deity who cursed someone named Kulet XYZ as a vampire, while his fake name is Nil ABC. Stonesense simply shows him as Kulet, while it should show Nil.

Doesn't seem to work on Arch Linux

Dfhack version 0.47.04-r1
OS: Arch Linux
That's what i get in terminal:

Sound devices available:
OpenAL Soft
Picking OpenAL Soft. If your desired device was missing, make sure you have the appropriate 32-bit libraries installed. If you wanted a different device, configure ~/.openalrc appropriately.
Initializing OpenAL failed, no sound will be played
Loading bindings from data/init/interface.txt
New window size: 640x300
Font size: 8x12
Resizing grid to 80x25
Resizing font to 8x12

Resetting textures
DFHack is ready. Have a nice day!
DFHack version 0.47.04-r1 (release) on x86_64
Type in '?' or 'help' for general help, 'ls' to see all commands.
Could not load script: onLoad.init-example
Could not load script: onLoad.init-example
Could not load script: onLoad.init-example
Could not load script: onLoad.init-example
Could not load script: onLoad.init-example
Could not load script: onLoad.init-example
[DFHack]# stonesense
Stonesense launched
Using allegro version 5.0.10 r1
[DFHack]# 

Also i can't enter any other commands, stonesense window stuck at this forever:

Screenshot_20200623_123444

Ideas from TODO.txt

  • Add the ability to handle color patterns on creatures.
  • Add the ability to distinguish which hand/foot equipment is equipped on.
  • Add the allegro shader module and figure out ways to take advantage of it (fog? weather? dynamic lighting?).
  • Figure out a way to use sockets to make our own cache of the map?
  • Make some DFHack tools available through the Stonesense interface (probe? prospector?)

Posted here as part of documentation cleanup.

Windows 10 : Stonesense crashes when resizing window

Note: I have dual screens but I don't know if it's related.

Scenario :

  • Start DF with DFHack
  • Start stonesense.
    - You can resize stonesense window as long as it's in the splash screen
  • Load a saved game
  • stonesense redraws the scene and everything works : scroll, change Z, etc.
  • With the mouse, maximize the stonesense window or simply resize it by dragging the corners (enlarge size or reduce size)
    Expected : The window gets resized properly
    Observed (Faulty) : Stonesense raises an exception (and crashes)

Details :

  • The exception happens deep inside d3d9.dll

Unhandled exception at 0x00007FF8ACC54C15 (d3d9.dll) in Dwarf Fortress.exe: 0xC0000005: Access violation reading location 0x0000000000000088.

The call stack is :

    d3d9.dll!00007ff8acc54c15()	Unknown
    d3d9.dll!00007ff8acd3d59f()	Unknown
    d3d9.dll!00007ff8acd26993()	Unknown
    d3d9.dll!00007ff8acd188bd()	Unknown
    stonesense.plug.dll!_al_d3d_prepare_for_reset(struct ALLEGRO_DISPLAY_D3D *)	Unknown
    stonesense.plug.dll!_al_d3d_update_render_state�()	Unknown
    stonesense.plug.dll!_al_d3d_update_render_state�()	Unknown
    stonesense.plug.dll!al_set_clipping_rectangle�()	Unknown
    stonesense.plug.dll!al_set_clipping_rectangle�()	Unknown
    stonesense.plug.dll!al_draw_tinted_scaled_bitmap�()	Unknown
    stonesense.plug.dll!WorldSegment::DrawAllTiles() Line 292	C++
    stonesense.plug.dll!paintboard() Line 1146	C++
    stonesense.plug.dll!main_loop(ALLEGRO_DISPLAY * display, Overlay * ovrlay, ALLEGRO_EVENT_QUEUE * queue, ALLEGRO_THREAD * main_thread, DFHack::color_ostream & con) Line 302	C++
    stonesense.plug.dll!stonesense_thread(ALLEGRO_THREAD * main_thread, void * parms) Line 558	C++

The exception happens while calling this stonesense code :

al_draw_tinted_scaled_bitmap(
    (ALLEGRO_BITMAP*) todraw[i].drawobject,
    todraw[i].tint,
    todraw[i].sx,
    todraw[i].sy,
    todraw[i].sw,
    todraw[i].sh,
    todraw[i].dx,
    todraw[i].dy,
    todraw[i].dw,
    todraw[i].dh,
    todraw[i].flags );

Please note : there doesn't seem to be any issue with any of the fields of todraw. Allegro compains internally, inside the Direct3D primitive. Maybe because it's drawing outside of the screen? The issue still happens when enlarging the window.

sprites are badly colored

Sprite that use the body color are colored pitch black when the body color in the game is black.

fix would be to have minimum RGB values.

Crash on trade caravan

When trying to view tiles with a trade wagon, both stonesense and dwarffortress become unresponsive. The dwarf fortress window stops updating the screen.
The dfhack console still works.

No error message is generated.

Example save file with a trade caravan in the fortress: https://github.com/tildetown/tilde-df/tree/b2056a945ee5f6adbeb5a186e0cadc5cb0784d2b

I'm running this on 64bit Archlinux. I have tried both the AUR version (dfhack 0.43.05-r1), and a manual install of dfhack 0.43.05-r2.

I strongly suspect that it's the wagon causing the crash, but it's possible that some other part of the caravan is the cause.

An option for segment_size_XY:auto (also maximum to render)

If it is possible to resize the XY segmentsize while stonesense is running - and retrieve the dimensions of the window or overlay - an interesting possibility pops up.

To completely fill a window of X by Y pixels, we can render a segment of 2^0.5 * ( X + Y ) / 32 (rounding up) stonesense tiles on each side. Doing this while stonesense is running would cope with window resizing, while always filling the window regardless of user settings. For a fullscreen HD window, this comes out at 133 - meaning that the default of 70 may be increased for some users.

The init setting for segmentsize would then be a maximum, allowing users to cut off part for a crossection or performance reasons if desired, or reducing configuration otherwise. It would also help users who play different computers with the same package, since it balances screen size and performance automatically.

Further performance improvements could be achieved by not rendering tiles which would be outside the viewable rectangle. Using the minimum segmentsize to fill a given window, fully half of the segment will not be visible - so the improvement is potentially quite large.

Crashes on resize

@lethosor adds: see duplicates for some more details:

I move the window to my second monitor and resize it (approx 1800x1300, on 1440p monitor) by dragging the border. It promptly crashes DF. Same for maximise.

Faulting application name: Dwarf Fortress.exe, version: 0.0.0.0, time stamp: 0x54ad7e66
Faulting module name: MSVCR100.dll, version: 10.0.30319.1, time stamp: 0x4ba1dbbe
Exception code: 0xc0000005
Fault offset: 0x00010aac
Faulting process id: 0x1894
Faulting application start time: 0x01d09c6cd39617e4
Faulting application path: R:\DWARFF~1\DWARFF~2\Dwarf Fortress 0.40.24\Dwarf Fortress.exe
Faulting module path: R:\DWARFF~1\DWARFF~2\Dwarf Fortress 0.40.24\MSVCR100.dll
Report Id: a57230fe-0861-11e5-91e7-94de806f3893

DF 40.24
DF Hack 40.24 r3

[feature request] rotate camera

It'd be cool to have controls that rotate the camera +-90*. Stonesense has something similar, but it only works one way. Bidirectional would be better.

Can not issue stone sense commands on mac

the "c" key is supposed to toggle lowering the walls, but it does nothing. Commands do not work in overlay mode or regular mode.
I'm running DFHack version 0.44.05-r2 (release) on x86_64 on a mac

Stonesense + DFHack not shutting down cleanly

Mac OS 10.9.5, dfhack 43.05.beta2

This is a cut and paste of DFHack/dfhack#1084
(This is with the fresh dylib version as supplied today to fix dfhack issue 1083)

What I do:

run dfhack
load fortress (created in 43.05), which starts out paused.
Run 'ssense' or 'stonesense' from dfhack command line

stonesense window comes up correctly centred on wherever in the fortress the cursor was set.

admire fortress

close Stonesense window.

Save game.

Select Quit from dwarf Fortress main menu

Dwarf Fortress still has the Stonesense icon, and it won't shut down until Force Quit.
At that point DF is forcibly removed and the dfhack terminal window reports this:

Stonesense launched
Using allegro version 5.2.2 r1
Stonesense shutdown.
Clearing all animal hospitals
[DFHack]# /Applications/Games/Dwarf Fortress/dfhack: line 15: 2031 Killed: 9 DYLD_INSERT_LIBRARIES=./hack/libdfhack.dylib ./dwarfort.exe "$@"

logout

[Process completed]

StoneSense crashes on DFHack 0.47.03-beta1

Hello,

A crash occurs upon loading StoneSense in DFHack 0.47.03-beta1 on Windows 10.
Here is my stderr.log:

DFHack build: 0.47.03-beta1-0-gfb6dd691
Identifying DF version.
Loading hack\symbols.xml ... OK
v0.47.03 SDL win32 (windows): PE: 0x5E4916E0
v0.47.03 SDL win64 (windows): PE: 0x5E491E82
v0.47.03 linux32 (linux): MD5: d64e00ffa0be385c2f94a40392d065e6
v0.47.03 linux64 (linux): MD5: 0f184a432dc8b09af70169537e8000b8
v0.47.03 osx32 (darwin): MD5: 99b655b646e355a115504d89fc5e15a9
v0.47.03 osx64 (darwin): MD5: cd5ef8c61e892f0fec8065353534aee7
Loaded 6 DF symbol tables.
Version: v0.47.03 SDL win64
Initializing Console.
Console is running.
Initializing Plugins.
loading plugin 3dveins
loaded plugin 3dveins; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin add-spatter
loaded plugin add-spatter; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin autochop
loaded plugin autochop; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin autoclothing
loaded plugin autoclothing; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin autodump
loaded plugin autodump; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin autofarm
loaded plugin autofarm; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin autogems
loaded plugin autogems; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin autohauler
loaded plugin autohauler; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin autolabor
loaded plugin autolabor; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin automaterial
loaded plugin automaterial; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin automelt
loaded plugin automelt; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin autotrade
loaded plugin autotrade; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin blueprint
loaded plugin blueprint; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin building-hacks
loaded plugin building-hacks; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin buildingplan
loaded plugin buildingplan; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin burrows
loaded plugin burrows; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin changeitem
loaded plugin changeitem; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin changelayer
loaded plugin changelayer; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin changevein
loaded plugin changevein; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin cleanconst
loaded plugin cleanconst; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin cleaners
loaded plugin cleaners; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin cleanowned
loaded plugin cleanowned; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin command-prompt
loaded plugin command-prompt; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin confirm
loaded plugin confirm; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin createitem
loaded plugin createitem; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin cursecheck
loaded plugin cursecheck; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin cxxrandom
loaded plugin cxxrandom; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin debug
loaded plugin debug; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin deramp
loaded plugin deramp; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin dig
loaded plugin dig; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin digFlood
loaded plugin digFlood; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin diggingInvaders
loaded plugin diggingInvaders; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin dwarfmonitor
loaded plugin dwarfmonitor; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin dwarfvet
loaded plugin dwarfvet; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin embark-assistant
loaded plugin embark-assistant; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin embark-tools
loaded plugin embark-tools; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin eventful
loaded plugin eventful; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin fastdwarf
loaded plugin fastdwarf; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin filltraffic
loaded plugin filltraffic; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin fix-armory
loaded plugin fix-armory; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin fix-unit-occupancy
loaded plugin fix-unit-occupancy; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin fixveins
loaded plugin fixveins; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin flows
loaded plugin flows; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin follow
loaded plugin follow; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin forceequip
loaded plugin forceequip; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin fortplan
loaded plugin fortplan; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin generated-creature-renamer
loaded plugin generated-creature-renamer; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin getplants
loaded plugin getplants; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin hotkeys
loaded plugin hotkeys; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin infiniteSky
loaded plugin infiniteSky; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin isoworldremote
loaded plugin isoworldremote; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin jobutils
loaded plugin jobutils; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin labormanager
loaded plugin labormanager; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin lair
loaded plugin lair; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin liquids
loaded plugin liquids; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin luasocket
loaded plugin luasocket; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin manipulator
loaded plugin manipulator; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin map-render
loaded plugin map-render; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin misery
loaded plugin misery; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin mode
loaded plugin mode; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin mousequery
loaded plugin mousequery; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin nestboxes
loaded plugin nestboxes; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin orders
loaded plugin orders; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin pathable
loaded plugin pathable; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin petcapRemover
loaded plugin petcapRemover; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin plants
loaded plugin plants; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin power-meter
loaded plugin power-meter; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin probe
loaded plugin probe; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin prospector
loaded plugin prospector; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin regrass
loaded plugin regrass; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin RemoteFortressReader
loaded plugin RemoteFortressReader; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin rename
loaded plugin rename; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin rendermax
loaded plugin rendermax; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin resume
loaded plugin resume; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin reveal
loaded plugin reveal; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin ruby
loaded plugin ruby; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin search
loaded plugin search; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin seedwatch
loaded plugin seedwatch; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin showmood
loaded plugin showmood; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin siege-engine
loaded plugin siege-engine; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin sort
loaded plugin sort; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin steam-engine
loaded plugin steam-engine; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin stockflow
loaded plugin stockflow; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin stockpiles
loaded plugin stockpiles; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin stocks
loaded plugin stocks; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin stonesense
loaded plugin stonesense; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin strangemood
loaded plugin strangemood; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin tailor
loaded plugin tailor; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin tiletypes
loaded plugin tiletypes; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin title-folder
loaded plugin title-folder; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin title-version
loaded plugin title-version; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin trackstop
loaded plugin trackstop; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin tubefill
loaded plugin tubefill; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin tweak
loaded plugin tweak; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin workflow
loaded plugin workflow; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin workNow
loaded plugin workNow; DFHack build 0.47.03-beta1-0-gfb6dd691
loading plugin zone
loaded plugin zone; DFHack build 0.47.03-beta1-0-gfb6dd691
Starting the TCP listener.
Starting IO thread.
Starting DF input capture thread.
Listening on port 5000
DFHack is running.
Invoking: keybinding add Ctrl-F1 hotkeys
Invoking: keybinding add Alt-F1 hotkeys
Invoking: keybinding add Ctrl-W twaterlvl
Invoking: keybinding add Ctrl-V digv
Invoking: keybinding add Ctrl-Shift-V "digv x"
Invoking: keybinding add Ctrl-C spotclean
Invoking: keybinding add Ctrl-Shift-K autodump-destroy-here
Invoking: keybinding add Alt-Shift-I@dwarfmode/Zones "zone set"
Invoking: keybinding add Ctrl-K autodump-destroy-item
Invoking: keybinding add Ctrl-Alt-S@dwarfmode/Default quicksave
Invoking: keybinding add Ctrl-Shift-N gui/rename
Invoking: keybinding add Ctrl-Shift-T "gui/rename unit-profession"
Invoking: keybinding add Ctrl-Shift-P command-prompt
Invoking: keybinding add Alt-M@dwarfmode/Default "dwarfmonitor prefs"
Invoking: keybinding add Ctrl-F@dwarfmode/Default "dwarfmonitor stats"
Invoking: keybinding add Ctrl-Shift-F@dwarfmode forum-dwarves
Invoking: keybinding add Alt-S@title gui/settings-manager
Invoking: keybinding add Alt-S@dwarfmode/Default gui/settings-manager
Invoking: keybinding add Alt-Q@jobmanagement/Main gui/manager-quantity
Invoking: keybinding add Ctrl-Shift-R view-unit-reports
Invoking: keybinding add Alt-I@dwarfmode/ViewUnits|unitlist gui/unit-info-viewer
Invoking: keybinding add Ctrl-B@dungeonmode adv-bodyswap
Invoking: keybinding add Ctrl-Shift-B@dungeonmode "adv-bodyswap force"
Invoking: keybinding add Shift-O@dungeonmode gui/companion-order
Invoking: keybinding add Ctrl-T@dungeonmode gui/advfort
Invoking: keybinding add Ctrl-A@dungeonmode/ConversationSpeak adv-rumors
Invoking: keybinding add Ctrl-A@legends "exportlegends all"
Invoking: keybinding add Ctrl-Shift-Z@dwarfmode/Default "stocks show"
Invoking: keybinding add Ctrl-Shift-I@dwarfmode/Default "gui/dfstatus"
Invoking: keybinding add Ctrl-Shift-I@dfhack/lua/dfstatus "gui/dfstatus"
Invoking: keybinding add Alt-P copystock
Invoking: keybinding add Alt-L@dwarfmode/QueryBuilding/Some/Stockpile "gui/stockpiles -load"
Invoking: keybinding add Alt-S@dwarfmode/QueryBuilding/Some/Stockpile "gui/stockpiles -save"
Invoking: keybinding add Ctrl-D job-duplicate
Invoking: keybinding add Shift-A "job-material ALUNITE"
Invoking: keybinding add Shift-M "job-material MICROCLINE"
Invoking: keybinding add Shift-D "job-material DACITE"
Invoking: keybinding add Shift-R "job-material RHYOLITE"
Invoking: keybinding add Shift-I "job-material CINNABAR"
Invoking: keybinding add Shift-B "job-material COBALTITE"
Invoking: keybinding add Shift-O "job-material OBSIDIAN"
Invoking: keybinding add Shift-T "job-material ORTHOCLASE"
Invoking: keybinding add Shift-G "job-material GLASS_GREEN"
Invoking: keybinding add Alt-Shift-N "sort-units name" "sort-items description"
Invoking: keybinding add Alt-Shift-R "sort-units arrival"
Invoking: keybinding add Alt-Shift-T "sort-units profession" "sort-items type material"
Invoking: keybinding add Alt-Shift-Q "sort-units squad_position" "sort-items quality"
Invoking: keybinding add Ctrl-M@dwarfmode/QueryBuilding/Some gui/mechanisms
Invoking: keybinding add Alt-R@dwarfmode/QueryBuilding/Some gui/room-list
Invoking: keybinding add Alt-L@dwarfmode/LookAround gui/liquids
Invoking: keybinding add Ctrl-Shift-M@dwarfmode/Build/Position/Trap gui/power-meter
Invoking: keybinding add Alt-A@dwarfmode/QueryBuilding/Some/SiegeEngine gui/siege-engine
Invoking: keybinding add Ctrl-W@layer_military/Equip/Customize/View gui/choose-weapons
Invoking: keybinding add Ctrl-C@layer_military/Uniforms gui/clone-uniform
Invoking: keybinding add Alt-P@dwarfmode/Hauling/DefineStop/Cond/Guide gui/guide-path
Invoking: keybinding add Alt-A@dwarfmode/QueryBuilding/Some/Workshop/Job gui/workshop-job
Invoking: keybinding add Alt-W@dwarfmode/QueryBuilding/Some/Workshop/Job gui/workflow
Invoking: keybinding add Alt-W@overallstatus "gui/workflow status"
Invoking: keybinding add Alt-W@dfhack/lua/status_overlay "gui/workflow status"
Invoking: keybinding add Shift-B@pet/List/Unit "gui/autobutcher"
Invoking: keybinding add P@dwarfmode/QueryBuilding/Some/Weaponrack gui/assign-rack
Invoking: keybinding add Alt-Shift-P@dwarfmode/LookAround gui/pathable
Invoking: tweak stable-cursor
Enabled tweak stable-cursor (stable_cursor_hook::feed)
Invoking: tweak advmode-contained
Enabled tweak advmode-contained (advmode_contained_hook::feed)
Invoking: tweak fast-trade
Enabled tweak fast-trade (fast_trade_assign_hook::feed)
Enabled tweak fast-trade (fast_trade_select_hook::feed)
Invoking: tweak military-stable-assign
Enabled tweak military-stable-assign (military_assign_hook::feed)
Invoking: tweak military-color-assigned
Enabled tweak military-color-assigned (military_assign_hook::render)
Invoking: tweak craft-age-wear
Enabled tweak craft-age-wear (craft_age_wear_hook::ageItem)
Invoking: tweak farm-plot-select
Enabled tweak farm-plot-select (farm_select_hook::feed)
Enabled tweak farm-plot-select (farm_select_hook::render)
Invoking: tweak import-priority-category
Enabled tweak import-priority-category (takerequest_hook::feed)
Enabled tweak import-priority-category (takerequest_hook::render)
Invoking: tweak condition-material
Enabled tweak condition-material (condition_material_hook::feed)
Invoking: tweak hotkey-clear
Enabled tweak hotkey-clear (hotkey_clear_hook::feed)
Enabled tweak hotkey-clear (hotkey_clear_hook::render)
Invoking: tweak embark-profile-name
Enabled tweak embark-profile-name (embark_profile_name_hook::feed)
Invoking: tweak block-labors              # Prevents labors that can't be used from being toggled
Enabled tweak block-labors (block_labors_hook::feed)
Enabled tweak block-labors (block_labors_hook::render)
Invoking: tweak burrow-name-cancel
Enabled tweak burrow-name-cancel (burrow_name_cancel_hook::feed)
Invoking: tweak cage-butcher
Enabled tweak cage-butcher (cage_butcher_hook::feed)
Enabled tweak cage-butcher (cage_butcher_hook::render)
Invoking: tweak civ-view-agreement
Enabled tweak civ-view-agreement (civ_agreement_view_hook::render)
Invoking: tweak eggs-fertile
Enabled tweak eggs-fertile (egg_fertile_hook::render)
Invoking: tweak fps-min
Enabled tweak fps-min (fps_min_hook)
Invoking: tweak hide-priority
Enabled tweak hide-priority (hide_priority_hook::feed)
Enabled tweak hide-priority (hide_priority_hook::render)
Invoking: tweak kitchen-prefs-all
Enabled tweak kitchen-prefs-all (kitchen_prefs_all_hook::feed)
Enabled tweak kitchen-prefs-all (kitchen_prefs_all_hook::render)
Invoking: tweak kitchen-prefs-empty
Enabled tweak kitchen-prefs-empty (kitchen_prefs_empty_hook::render)
Invoking: tweak max-wheelbarrow
Enabled tweak max-wheelbarrow (max_wheelbarrow_hook::render)
Enabled tweak max-wheelbarrow (max_wheelbarrow_hook::feed)
Invoking: tweak shift-8-scroll
Enabled tweak shift-8-scroll (shift_8_scroll_hook::feed)
Invoking: tweak stone-status-all
Enabled tweak stone-status-all (stone_status_all_hook::feed)
Enabled tweak stone-status-all (stone_status_all_hook::render)
Invoking: tweak title-start-rename
Enabled tweak title-start-rename (title_start_rename_hook::feed)
Enabled tweak title-start-rename (title_start_rename_hook::render)
Invoking: tweak tradereq-pet-gender
Enabled tweak tradereq-pet-gender (pet_gender_hook::render)
Invoking: enable title-version
Invoking: enable search
Invoking: enable automaterial
Invoking: enable  confirm  dwarfmonitor  mousequery  autogems  automelt  autotrade  buildingplan  resume  trackstop  zone  stocks  autochop  stockpiles
Invoking: embark-tools enable sticky sand mouse
Invoking: enable embark-assistant
Invoking: modtools/extra-gamelog enable
Invoking: enable gui/extended-status
Invoking: view-item-info enable
Invoking: gui/load-screen enable
Invoking: sc-script add SC_WORLD_LOADED onLoad.init-example
UNKNOWN CLASS 'dfhack_lua_viewscreen@DFHack': vtable = 0x7ff9afbd08d0
Invoking: gui/prerelease-warning
loaded map in prerelease build
Invoking: repeat -name warn-starving -time 10 -timeUnits days -command [ warn-starving ]
Invoking: warn-starving
Invoking: ssense
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: out-of-date sRGB profile with no signature
Client connection established.
Shutting down client connection.

EDIT: This also seems to happen on 0.44.12-r3

Stonesense paints only upper triangle of each tile

I'm running the currently latest dfhack (compiled from git, commit DFHack/dfhack@34c9c2d) with stonesense (commit d6cb83e) and Dwarf Fortress 0.34.02. As mentioned in the title, Stonesense only draws the upper triangle of each tile correctly and paints the lower one black. It looks like this: http://i.imgur.com/uX611.png. I'm currently on Arch Linux and using the i915 graphics driver for the Intel GMA chip.

Is this a known bug? Any idea what's causing it?

EDIT: I should also have mentioned that this happened on 0.31.25 too, since I'm not sure if the 0.34.xx series are supported yet.

[Linux] Deprecated libpng12

Hello stonesense developers,
In Debian Sid the libpng12 package has been removed and replaced with the newer library libpng16. This causes stonesense to not work on Debian Sid.

Debian Sid has already entered the full freeze and sometime this year it will become the stable repository. When such event happens poor Debian users [who upgrade] wont be capable of using stonesense.

What can be done:
1- Package libpng12.so.0 with stonesense and use LD_LIBRARY_PATH (what i'm currently doing)
2- Compile stonesense with libpng16 (preferable)

Stonesense fails to update view on Linux

System: Arch Linux 64 bit
version: dfhack 0.44.12-r1

attempting to load stonesense via ssense or stonesense after loading a map causes stonesense to not load in any visualizations, leaving a blue screen. The coordinate numbers on stonesense are the only thing that continue to update in response to keyboard controls.

Loading stonesense prior to loading a map allows stonesense to work for about 10 seconds before it totally freezes up.

After that, no commands are able to be input into the dfhack console, regardless of whether stonesense is closed or not. dwarffortress continues to run, but must be shut down and restarted in order to re-enable console commands.

stderr.log: http://ix.io/1pkT

Video of the issue: https://youtu.be/CSJoFzJLjAg

edit: this still occurs in 2019

stonesense: sigsegv on exit

When stonesense is running and DF is closed, I get a segmentation fault with the following backtrace:

#0  0xf70ae546 in pthread_mutex_lock () from /usr/lib32/libpthread.so.0
#1  0xf71b96d2 in pthread_mutex_lock () from /usr/lib32/libc.so.6
#2  0xf6d487ed in ?? () from /usr/lib32/libX11.so.6
#3  0xf6d6321d in XrmDestroyDatabase () from /usr/lib32/libX11.so.6
#4  0xf6d4a4d3 in _XFreeDisplayStructure () from /usr/lib32/libX11.so.6
#5  0xf6d38249 in XCloseDisplay () from /usr/lib32/libX11.so.6
#6  0xf78e46e9 in ?? () from /usr/lib32/libSDL-1.2.so.0
#7  0xf78ed2c3 in ?? () from /usr/lib32/libSDL-1.2.so.0
#8  0xf78dbea9 in SDL_VideoQuit () from /usr/lib32/libSDL-1.2.so.0
#9  0xf78b36dd in SDL_QuitSubSystem () from /usr/lib32/libSDL-1.2.so.0
#10 0xf78b3789 in SDL_Quit () from /usr/lib32/libSDL-1.2.so.0
#11 0xf7deeb5f in SDL_Quit () from ./hack/libdfhack.so
#12 0xf749473d in main (argc=1, argv=0xffffd914)
    at /build/dwarffortress/src/dwarf_fortress_unfuck/g_src/enabler.cpp:797
#13 0xf70db64e in __libc_start_main () from /usr/lib32/libc.so.6
#14 0x0804c9a1 in ?? ()

I've been trying to recover a core file, but ulimit -c 1 doesn't seem to have any effect. I am running libx11 1.6.2 and sdl 1.2.15.

This only happens when I run stonesense, so I am tentatively calling this a bug in stonesense. Anyway, see if you can reproduce it. All I had to do was

  1. Run dfhack.
  2. Run stonesense from the dfhack console while DF was still in the menu.
  3. Close DF by hitting 'Quit' in the menu.

Stonesense hangs when building on the lowest level of hell

As the title says, Stonesense consistently hangs when designating a construction on the bottommost layer of hell. Other layers are unaffected. I suspect the issue is caused by some function only accounting for layers at or above z level 1, with the bottom of hell being z level 0. Stonesense renders the lowest level of hell just fine when you're not trying to build on it, and there is no hang if stonesense is loaded after the construction is finished, suggesting that the issue lies in the code to create the designation outlines.

Crash on startup, cannot load images

When I run stonesense in dfhack console, it pops-up a new window and begins loading .xml files, but for some reason after some time during the loading I get "cannot load image" errors all over my screen.
It's repeated around 30 times in the console, then switches to another file that can't load either. Here is the stonesense log.
Then I get a Stonesense shutdown. I checked, the files are where they should be, and I have no detailled record of the error. I'm using DF, Therapist and DFHack through Wine on Ubuntu 14.04.
DFHack 0.40.24-r3
DF 0.40.24

Cursor does not layer appropriately

While the four top corners of the cursor should always be shown if the cursor is present, the same is not true of the three visible bottom corners. When the layering works differently for the cursor than any other tile, it can easily break the isometric effect.

Independently hiding the bottom corners of the cursor-cube as appropriate would enhance immersion significantly.

Improve documentation for Stonesense

The Stonesense readme isn't particularly comprehensive, and parts are certainly out of date. It would be good to write more comprehensive docs, like the new DFHack documentation. I'll try to get to this sometime, but probably not before a couple of DF releases. If done appropriately, it could be integrated in the same way as the df-structures docs on https://dfhack.readthedocs.org

Related to DFHack/dfhack#648

Way to quit/kill stonesense

When stonesense locks up (for whatever reason) killing it and closing the window isn't possible.

It would be nice if there was a command line option to kill it e.g., stonesense die

Edit: just looked at the source and saw that stonesense is ran as a thread within the DF process, which isn't ideal for killing and cleaning up after. I suppose refactoring stonesense to run in a separate process would be possible with the RPC api, but quite a large undertaking.

Is killing an allegro thread possible?

Seg fault on window resize

arch linux, DF and DFhack built from latest source on github.

everything runs fine, i launch stonesense and i can use the mouse to scroll and select and stuff.

then i try to grab the window and resize it and boom

[DFHack]# ./dfhack: line 43: 9667 Segmentation fault (core dumped) setarch i386 -R env LD_PRELOAD="$PRELOAD_LIB" ./libs/Dwarf_Fortress "$@"

Support PRINT_MODE: FRAME_BUFFER instead of just 2D

PRINT_MODE:2D uses over 100% CPU on macOS, which is not optimal compared to PRINT_MODE:FRAME_BUFFER, which uses <7% CPU on average. It would be nice if stonesense supported modes that didn't melt my CPU.

Edit: STANDARD or VBO would also work. I've just found FRAME_BUFFER uses the least CPU.

Mouse-clicking behaves oddly with the overlay

There are two issues using a mouse to interact with the stonesense overlay.

The first is that left-clicking often brings up the cursor, while still in the main menu context. I'm pretty sure that this is the stonesense debug cursor, and it should probably be disabled in overlay mode to avoid disrupting normal play with tools such as the mousequery plugin.

The second is that there appears to be an offset between the tile which is clicked, and the tile to which the action is applied. Using mousequery and the vanilla right-click painting, the designation (cursor) appeared to be offset by [-2,3] from the mouse. This may vary with screen size or the size of the 2D tiles beneath the overlay; I intend to do further tests soon. The [-2,3] result is with a 16x16 tileset, and 1366x768 screen.

[Feature Request] console analogue to keybinds

Since keybinds are broken for mac, it would be nice to expose all action_$foo in stonesense/Keybinds.cpp as dfhack console commands, e.g. "stonesense rotate"->action_incrrotation. This has the side effect of also making these commands available for dfhack key bindings.

I've been struggling to build dfhack locally or I'd test and submit a patch.

Cannot load image: stonesense\terrain\Track_Ramps_128.png - Win Xp sp3

I'm running the PeridexisErrant LNP r45 package on Win Xp sp3.

DF starts up ok, I've created a world etc ...

I enter stonesense in the dfhack console, it starts , but then says :

Cannot load image: stonesense\terrain\Track_Ramps_128.png

and then stonesense shuts down.

The "stonesense\terrain\Track_Ramps_128.png" file IS there.

Running sysinternals's procmon shows that apparently DF does open the file ok.

[feature request] cut away obsuring walls

In Diablo II, III, and some other games, obscuring walls are cut away, leaving a sort of symbolic "curb" where the wall is. Stonesense has something similar, but the back walls are cut away too, when they could be left intact. I just think it looks better with the back walls intact.

Save and exit removes logo

When first opening StoneSense (via DFHack), it shows the isometric S made of environment tiles (hereforeto referred to as "the logo") before/while loading a game, but when I save and exit the game (DF still open), the previous screen is there, just without the logo.

On Linux. Compiled today.

Please clarify license

Could you adjust the LICENSE file to clarify which versions of the Artistic and GPL licenses you're releasing under?

...because, if you're using the original (non-clarified) version of the Artistic license or don't specify the "or (at your option) any later version" part, then your licenses aren't compatible with the GPL 2.0 and 3.0 licenses that 99.9%+ of GPLed code are released under.

(I'd actually been meaning to do a diff between the GPL 1.0 and 2.0 to see what changed but the GPL 2.0 was released in 1991 and I'd more or less given up and assumed that all copies outside of ancient GNU tarballs had fallen off the 'net with the decline of Gopher and the FTP sites and mailing list archives of the period.)

Also, would you be willing to release FindAllegro.cmake under an MIT/BSD-like license? Currently, the only non-Qt Desktop project templates Qt creator offers are for qmake and CMake and yours is the only CMake module I've been able to find for Allegro.

It'd really make things a lot simpler for people like me who've never used CMake before but want to develop Allegro apps using Qt Creator as their IDE.

(If it's not too much trouble, I'd appreciate a prompt response on the latter question since it'd allow the deliverables for my game programming course to be much cleaner and more robust. As is, I've resigned myself to hard-coding the Allegro include and library paths in my CMakeLists.txt and including an instruction to hand-edit it because I simply don't have time to learn to write a CMake module from scratch.)

Stonesense doesn't work on Ubuntu 14.10 x64

I have installed DF 0.40.19,
installed DFHack 0.40.19-r1,
run dfhack
entered 'stonesense'

The stonesense window opened, but it didn't show anything, just garbage from the underlying windows.

There is nothing interesting in stderr.log, I saw errors previously, before I installed required libraries (like libjpeg and libpng) but after that it doesn't contain any errors.

Also I tried to install allegro libraries and remove included ones, that didn't help.

The game itself works fine, but stonesense does not, so I believe that this is not related to drivers or something like that.

Elves with nonstandard weapons bug

i copied the elf xml for my drow it worked fine (as it loaded skin color from the game :) ) but i noticed that all maceman and other military jobs etc not standard used by elves use random jobs to picture, for example maceman are shown as traders. same occurs if you give elves the weapons (and get sieged).

game_subtype mismatch

The file Craftdwarfs.xml has a game_subtype value of "Craftdwarfs" but the workshop_type.h only lists "Craftsdwarfs" as a valid subtype. This leads to an error message on startup.

[Bug] Segfault on OS X

Using OS X High Sierra and DFHack 44.12-r1 and 2D Graphics, crashes with:

[DFHack]# stonesense
Stonesense launched
Using allegro version 5.2.2 r1
[DFHack]# ./dfhack: line 15: 53377 Segmentation fault: 11  DYLD_INSERT_LIBRARIES=./hack/libdfhack.dylib ./dwarfort.exe "$@"

stderr.log had nothing of interest.

Can't change the colored dwarf tile set

I would like to replace the /creatures/color_Dwarves.png with the dwarves in creatres/dwarves.png. In /creatures/index.txt
I try to comment out color_Dwarves and remove the comment from Dwarves.xml like this:

#color_Dwarves.xml
Dwarves.xml

However, the colored dwarves still appear when running the game

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.