Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 26 27 [28] 29 30 ... 185

Author Topic: Text Will Be Text - dfhack plugin  (Read 801348 times)

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: Text Will Be Text - dfhack plugin
« Reply #405 on: July 05, 2014, 09:39:21 am »

Not sure if this has been reported yet, but creature sprites are not displayed across z-levels. It uses creature tiles, when shown on a different z level:

Try build 3.17.

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: Text Will Be Text - dfhack plugin
« Reply #406 on: July 05, 2014, 11:16:47 am »

Btw, limiting GFPS in init.txt can greatly improve FPS with multilevel rendering. In a quick test with 10 additional levels with standard 50 GFPS limit I'm getting 50 FPS, but with 20 GFPS limit it's back to 120 FPS.

Meren

  • Escaped Lunatic
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #407 on: July 05, 2014, 11:59:49 am »

On the r5 multilevel Linux version, it will not render past one additional z-level. That is, multilevel 0 and multilevel 1 work, but nothing above that.
Logged

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: Text Will Be Text - dfhack plugin
« Reply #408 on: July 05, 2014, 12:02:08 pm »

On the r5 multilevel Linux version, it will not render past one additional z-level. That is, multilevel 0 and multilevel 1 work, but nothing above that.
Did you check your d_init for the tile entries of SKY and CHASM? Which numbers do you have? It should be 32 for sky and 0 for chasm.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

Meren

  • Escaped Lunatic
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #409 on: July 05, 2014, 12:15:36 pm »

Did you check your d_init for the tile entries of SKY and CHASM? Which numbers do you have? It should be 32 for sky and 0 for chasm.

That fixes it. Thanks! By default, they were set to 178 and 250. I didn't know I had to change them.
Logged

scamtank

  • Bay Watcher
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #410 on: July 05, 2014, 12:19:50 pm »

Yeah, that's a bit of an oversight. It got me the first time, too.
Logged

lethosor

  • Bay Watcher
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #411 on: July 05, 2014, 12:41:14 pm »

It looks like it shouldn't be hard to change - just add a check for 178 to https://github.com/mifki/df-twbt/blob/multilevel/twbt.cpp#L634 (it looks like the default for CHASM (250) is already supported).
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.

mifki

  • Bay Watcher
  • works secretly...
    • View Profile
    • mifki
Re: Text Will Be Text - dfhack plugin
« Reply #412 on: July 06, 2014, 08:44:50 am »

SKY/CHASM tiles fixed in 3.19, together with overrides for lower z-levels.

And nextgen branch got multilevel rendering in 4.17.

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #413 on: July 06, 2014, 09:44:31 am »

As I said, my idea was to use twbt to make the screen renderer in the game process render NOTHING and instead having the screen rendering done by a seperate process which can run on a different cpu core. Seeing as the screen rendering takes ~10% of the total 25% available, this could potentially almost double fps in any scenario.

The problem, as I said, is in synchronisation. You don't want a dwarf to appear twice on screen because while your rendering thread was rendering tile by tile, another thread moved that dwarf to another tile. That's why rendering thread pauses main loop while it's rendering, and this will have to be done regardless of whether it's a separate thread, process, whatsoever.

What if you have one piece of code that's synchronous with the main loop, which puts tile update events in a queue?  Then the renderer can consume the queue asynchronously.  It may lag a little, but there should be no problems with double-rendering.
Logged

pingas

  • Bay Watcher
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #414 on: July 07, 2014, 01:05:38 pm »

Mfw this plugin


Logged

shaver

  • Bay Watcher
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #415 on: July 07, 2014, 02:41:07 pm »

As I said, my idea was to use twbt to make the screen renderer in the game process render NOTHING and instead having the screen rendering done by a seperate process which can run on a different cpu core. Seeing as the screen rendering takes ~10% of the total 25% available, this could potentially almost double fps in any scenario.

The problem, as I said, is in synchronisation. You don't want a dwarf to appear twice on screen because while your rendering thread was rendering tile by tile, another thread moved that dwarf to another tile. That's why rendering thread pauses main loop while it's rendering, and this will have to be done regardless of whether it's a separate thread, process, whatsoever.

What if you have one piece of code that's synchronous with the main loop, which puts tile update events in a queue?  Then the renderer can consume the queue asynchronously.  It may lag a little, but there should be no problems with double-rendering.

This is the classic race-condition scenario. The render thread has references to objects that the main loop is mutating (such as removing goblins that die, or changing a dwarf's state so they no longer have a job pointer; these examples are unburdened by the specifics of the data structures, but I'm pretty confident that such pointer updates occur), leading to crashes and other fun.

Unless you mean that the main loop flattens all of that out, effectively copying the tree of display-relevant structures over so it's immutable from the render thread's perspective? Is it the paint or the what-and-how-to-paint calculations that consume the time? I assumed the latter, and that just pushing the draw-command stuff to another thread wouldn't win very much at all.
Logged

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #416 on: July 07, 2014, 03:11:11 pm »

Unless you mean that the main loop flattens all of that out, effectively copying the tree of display-relevant structures over so it's immutable from the render thread's perspective? Is it the paint or the what-and-how-to-paint calculations that consume the time? I assumed the latter, and that just pushing the draw-command stuff to another thread wouldn't win very much at all.

It's more that, yeah.  By "tile update events", I meant creating new objects that only contain information needed by the renderer.  E.g. a goblin's death might cause two events to be queued: "remove creature from tile" and "add new corpse object to tile".  I guess that requires the render to keep a lot of internal state, though... maybe not a great idea.  I wonder how expensive it would be to just copy all the data-relevant structures, like you said.
Logged

milo christiansen

  • Bay Watcher
  • Something generic here
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #417 on: July 07, 2014, 04:07:08 pm »

How do I get the multi-level version? The provided downloads seem to only include the single level plugin.
Logged
Rubble 8 - The most powerful modding suite in existence!
After all, coke is for furnaces, not for snorting.
You're not true dwarven royalty unless you own the complete 'Signature Collection' baby-bone bedroom set from NOKEAS

lethosor

  • Bay Watcher
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #418 on: July 07, 2014, 04:27:21 pm »

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.

milo christiansen

  • Bay Watcher
  • Something generic here
    • View Profile
Re: Text Will Be Text - dfhack plugin
« Reply #419 on: July 07, 2014, 04:43:17 pm »

Ah, Thank you (maybe that should be linked in the readme?)

(I assume these binaries are for r5?)
Logged
Rubble 8 - The most powerful modding suite in existence!
After all, coke is for furnaces, not for snorting.
You're not true dwarven royalty unless you own the complete 'Signature Collection' baby-bone bedroom set from NOKEAS
Pages: 1 ... 26 27 [28] 29 30 ... 185