User Tag List

Page 1 of 3 1 2 3 LastLast
Results 1 to 10 of 25

Thread: [ZC 2.54 ] setting Link->Action to LA_DROWNING makes link turn invisable

  1. #1
    Keese
    Join Date
    Dec 2015
    Posts
    33
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    419
    Level
    7
    vBActivity - Bars
    Lv. Percent
    41.43%

    Not A Bug [ZC 2.54 ] setting Link->Action to LA_DROWNING makes link turn invisable

    setting Link->Action to LA_DROWNING makes link turn invisible until he is pit warped
    then he becomes visible again and is fine

    I'm not sure if this is a bug but shouldn't he switch to his drowning animation?

  2. #2
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,759
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.52%
    Quote Originally Posted by Shadowblitz16 View Post
    setting Link->Action to LA_DROWNING makes link turn invisible until he is pit warped
    then he becomes visible again and is fine

    I'm not sure if this is a bug but shouldn't he switch to his drowning animation?
    Does it do this in 2.50.3? What does it do in 2.50.2?

    Setting that action is undefined, AFAIK.

  3. #3
    Keese
    Join Date
    Dec 2015
    Posts
    33
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    419
    Level
    7
    vBActivity - Bars
    Lv. Percent
    41.43%
    I'm not sure I will check tomarrow

  4. #4
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,024
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.05%
    ZoriaRPG is right that this is undefined in 2.50.3 (and I don't think writing to Action will ever be supported, due to numerous possible issues with putting Link into an inconsistent state, but some functions to force Link to perform a limited set of actions is plausible.)

    From the ZScript documentation:

    /**
    * Link's current action. Use the LA_ constants in std.zh to set or
    * compare this value. The effect of writing to this field is currently
    * undefined.
    */
    I don't know the status of this in 2.54.

  5. #5
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,759
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.52%
    Quote Originally Posted by DarkDragon View Post
    ZoriaRPG is right that this is undefined in 2.50.3 (and I don't think writing to Action will ever be supported, due to numerous possible issues with putting Link into an inconsistent state, but some functions to force Link to perform a limited set of actions is plausible.)

    From the ZScript documentation:

    I don't know the status of this in 2.54.
    Writing to ->Action is in fact, supported in 2.50.x, but only to a limited set of actions that are known to work.

    Item scripts, in particular, set Link->Action = LA_ATTACKING, many scripts force LA_NONE, or LA_GOTHURT, and so forth. The list of actions known to work (read-write), is as follows:

    Code:
    const int LA_NONE               = 0;
    const int LA_WALKING            = 1;
    const int LA_ATTACKING          = 2;
    const int LA_HOLD1LAND          = 4; // One hand. Should only be used when not swimming. 
    const int LA_HOLD2LAND          = 5; // Both hands. Should only be used when not swimming. 
    const int LA_GOTHURTLAND        = 7; //Should only be used when not swimming. 
    const int LA_GOTHURTWATER       = 13; //Should only be used when swimming
    const int LA_HOLD1WATER         = 14; //Should only be used when swimming
    const int LA_HOLD2WATER         = 15; //Should only be used when swimming
    All of those work, and are safe.

    I was planning to fix this variable, and make as many as possible work, or disable writing to them if that isn't viable, or logical. Most of the above are common enough in item, global, and ffc scripts that supporting them is crucial. I rarely see the *WATER actions called, but I have seen them. People often try to set some of the others, to no avail. Drowning, Diving, Dying, and a few others probably could be supported in the future, but are not defined, and writing to them is not advised at present.

    P.S. Setting LA_SWIMMING may have been possible at one time, in the 2.5 beta phase too, before all the land swimming bugs were fixed, and you couldn't make Link swim on any time. Those fixes are likely why it does not work now (if it ever worked, at all, at all). Setting LA_DROWNING, is likely similar. I have never had a reason to try setting that one, and its action would be similar to LA_HOPPING; where writing to LA_HOPPING was disabled.

  6. #6
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,024
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.05%
    There is a difference between "doesn't crash ZC" and "supported feature."

    The zscript documentation seems fairly clear to me; is there documentation elsewhere stating that writing those actions is allowed? If not, said item scripts are relying on unsupported, undocumented, untested, and explicitly-stared undefined behavior (and said scripts may well fail to compile in the future).

  7. #7
    Ara? Mitsukara's Avatar
    Join Date
    Jul 2000
    Location
    -15 penalty to all intuit direction checks
    Age
    35
    Posts
    3,920
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    3,619
    Level
    19
    vBActivity - Bars
    Lv. Percent
    25.17%
    Um.... so in Link and Zelda: Panoply of Calatia, I set Link->Action = LA_DROWNING whenever Link steps on a CT_SCRIPT2 combo (a pit), which would make him invisible, but only until the drowning action ended, and then would spawn him properly just as if he fell into walkable water. I also had him do this if he went above certain ComboDs in sideview screens (for lava combos). It worked fine in 2.50.2.... I haven't tried it in 2.50.3 or Zoria's betas yet, though.

    The Legend of Zelda: The Inverse Mirror supporter

    Behold, ye Banner of Gannons! Behold the power of regional changes and despair!

  8. #8
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,024
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.05%
    Let me know if this is broken in 2.50.3.

  9. #9
    Username Kaiser SUCCESSOR's Avatar
    Join Date
    Jul 2000
    Location
    Winning.
    Age
    37
    Posts
    4,436
    Mentioned
    152 Post(s)
    Tagged
    7 Thread(s)
    vBActivity - Stats
    Points
    10,559
    Level
    30
    vBActivity - Bars
    Lv. Percent
    51.59%
    AFAIK setting Link->Action has been common use for quite a while. I ran across it a lot when I was grabbing up every script I could find to see how they did things a couple years or so back.

    I haven't actually done it, i think. So I can't say how effective or disasterous it is.

  10. #10
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,759
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.52%
    @DarkDragon : Keep in mind that while ZC had been updated, and many things were fixed, defined or otherwise resolved, there were almost no changes to the docs since the beta days, until I started rewriting them. THe documentation still stated that you had to set Link->Extend and clearly stated that Link->HitWidth, and such [I]worked[I], despite that Link->Extend didn't exist at all (until I personally added it). The docs are blatantly wrong in several spots. Have a look at Item->Frame, then try using it (read-only).

    At various points, project devs went in and completed things such as some of the Link actions, and didn't flipping update the docs. Others [I]disabled[I] partially-implemented, poorly-implemented, broken, or otherwise faulty features, and didn't update the docs. Thus you have a user manual that instructs that some working features aren't implemented, and other non-working, or non-existent features, work flawlessly.

    The fact is that the system docs that are distributed with 2.50.x are so outdated, that you cannot rely on them for factual information. Consider DrawInteger, which was clearly never bugtested. In the revised docs, I specified which actions are not usable, which are usable, and which remain undefined. It would be best better to properly implement these things, which is on my agenda, than to offer excuses in the future. Finishing it may have a similar effect, but it should be negligible compared to dropping it.
    @Mitsukara : That particular behaviour could very well change if LA_DROWNING is ever properly coded. I had no idea that people used LA_DROWNING, so please do report if its behaviour had changed. Make a one-screen demo of how yo use it, too, please, and send that to me so that I can see what's happening.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social