Menu

Status area height limitation?

2010-03-12
2021-06-25
  • Tim Fredenburg

    Tim Fredenburg - 2010-03-12

    Why is status_height limited to no more than 6?  I wanted to put the in-game map down there, but with only 6 lines it's pointless.  I was looking at using 15 to 20 lines.

     
  • Tim Fredenburg

    Tim Fredenburg - 2010-03-12

    I looked at the source code and found out that it's trivial to increase the maximum status height.  I did this and now have a status area that is 19 rows high.  And I have a nice map there now!

    I would guess that the limitation is for performance reasons.

     
  • Anonymous

    Anonymous - 2011-05-17

    Being new to tinyfugue, I'm usually astounded at what people manage to do with it. How did you get a map on the status area? Would you be so kind as to share your configuration with us?

     
  • Tim Fredenburg

    Tim Fredenburg - 2011-05-21

    The game has a mode where you can have a map displayed every time you move.  Which is pretty horrible if you just let it go to the screen normally.  So I set up some triggers to grab each line of the map and put them in the status area, while gagging the lines from the normal output.  Based on the messages above, I first recompiled TinyFugue to have a greater maximum height in the status area, though I don't remember anymore.  Let me know if you want me to look up how to do that.

    Here is the script stuff for displaying the map:

    ###########################################################
    # Map - normal

    ; Map sizes:
    ; radius 0: 5w x 5h
    ; radius 1: 13w x 9h
    ; radius 2: 21w x 13h
    ; radius 3: 29w x 17h
    ; radius 4: 37w x 21h
    ; radius 5: 45w x 25h
    ; Non-"square" arrangements are possible too.

    ; Map starts;
    ; ------- v19181 -------
    ; -- Area 99: The Tosha Monastery - v6575 --

    ; Map ends:
    ; ------- 0:3:0 -------
    ; ------- 4:4:-2 -------
    ; -- an open sore - 1:-2:0 --

    /def mapstaton = /set mapInStatus 1
    /def mapstatoff = /set mapInStatus 0
    /mapstaton

    /set mapInProgress 0

    /def -EmapInStatus -ag -mregexp -t"^\-{3,} (+) \-{3,}$" mapTop1 = \
    /mapStart %P1
    /def -EmapInStatus -ag -mregexp -t"^\-{3,} (Area.*) \-* (+) \-{3,}$" mapTop2 = \
    /mapStart %P2 %P1
    /def mapStart = \
    ; /echo mapStart %{*} %; \
    /set mapInProgress 1 %; \
    /set mapLine 1 %; \
    /set mapRoomNumberStatus %1 %; \
    /set mapAreaStatus %{-1}

    /def -EmapInProgress -ag -mregexp -t"^.*$" mapMiddle = \
    /if ( mapLine <= mapHeight ) \
    /set map%{mapLine}Status=%{P0} %; \
    /set mapLine $ %; \
    /endif

    /def -p2 -EmapInProgress -ag -mregexp -t"^\-{3,} (\-?+\:\-?+\:\-?+) \-{3,}$" mapBottom1 = \
    /mapEnd %P1
    /def -p2 -EmapInProgress -ag -mregexp -t"^\-{3,} (.*) \-* (\-?+\:\-?+\:\-?+) \-{3,}$" mapBottom2 = \
    /mapEnd %P2 %P1
    /def mapEnd = \
    ; /echo mapEnd %{*} %; \
    /set mapInProgress 0 %; \
    /set mapRoomCoordsStatus %1 %; \
    /set mapRoomNameStatus %{-1}

    /def -mregexp -t"^This room has not been mapped.$" = /mapClear

    /def mapClear = \
    /set mapRoomNumberStatus= %; \
    /set mapRoomCoordsStatus= %; \
    /set mapRoomNameStatus= %; \
    /set mapAreaStatus= %; \
    /for line 1 %mapHeight /set map%%{line}Status=

     
  • wstarter

    wstarter - 2021-06-25
     

    Last edit: wstarter 2021-06-25

Log in to post a comment.