User Tag List

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

Thread: NPCData, ComboData, SpriteData

  1. #1
    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,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.72%

    NPCData, ComboData, SpriteData

    I've started the long work on adding the following pointers, and their associated functions.

    NPCData-> Read/Write or otherwise edit/use the enemy editor data by script.

    ComboData-> Read/Write or otherwise edit/use the combo tables by script.

    SpriteData-> Read/Write or otherwise edit/use the weapon/misc sprites data by script.

    The general format for the functions is GetMember(int id) , returning the member of the class at index 'id', SetMember(int id, int v), setting the member 'id' of a given class to the value 'v'. Similarly, for arrays and flags, GetMember(int id, int index), GetMember(int id, int flag), Setmember(int id, int index, int v), SetMember(int id, int flag, int id).

    All of these are set up to run through macros.

  2. #2
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    You do realize some shit is suppose to be read only for a reason right @ZoriaRPG ?
    I don't even know if you know what your doing anymore... O_O

  3. #3
    Banned
    Join Date
    May 2015
    Posts
    141
    Mentioned
    34 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    667
    Level
    9
    vBActivity - Bars
    Lv. Percent
    14.48%
    Quote Originally Posted by Tamamo View Post
    You do realize some shit is suppose to be read only for a reason right @ZoriaRPG ?
    I don't even know if you know what your doing anymore... O_O
    How is making useful variables write-able bad, if you make them work as you'd expect? Are you just against the adding of any new feature?

  4. #4
    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,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.72%
    Quote Originally Posted by Tamamo View Post
    You do realize some shit is suppose to be read only for a reason right @ZoriaRPG ?
    I don't even know if you know what your doing anymore... O_O
    Of course I know what I'm doing. Writing occurs to the buffers, not the physical tables; just as with itemdata, and it is not retained/written out. There is absolutely no difference in writing to guysbuf[id].member. than writing to itemsbuf[id].member; and similarly, writing to ComboData[id].member is lready partially implemented, albeit poorly, with SetCombo* functions. This also has appropriate approval, and blessings and is tied into other improvements.

    This stuff was not read-only in the past. it was flat-out, never implemented; and FWIW, some stuff is read-only because no-one ever finished it in the past, or they were unable to work out issues that arose at the time. If any of the setters prove to be unstable, or buggy, I can disable them until we find a suitable work-around, but I do not anticipate much havoc, save from users who fail to read the documentation.

    In conclusion, you are again seemingly complaining, purely to complain. Nothing new there, but thank you for stopping by.

  5. #5
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    Seems likeyou've finally realized we're every one's on AGN is an asshole and life in general.
    This isn't going to be a change. Thank you for responding promptly. You deserver a clap.


  6. #6
    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,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.72%
    Quote Originally Posted by Tamamo View Post
    Seems likeyou've finally realized we're every one's on AGN is an asshole and life in general.
    This isn't going to be a change. Thank you for responding promptly. You deserver a clap.

    Aye, as after eleven years, I clearly never caught on. You know, if we keep having these little rows, as amusing as the mental banter is, eventually one of us will need to buy the other a drink.


  7. #7
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,025
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.17%
    Quote Originally Posted by ZoriaRPG View Post
    I've started the long work on adding the following pointers, and their associated functions.

    NPCData-> Read/Write or otherwise edit/use the enemy editor data by script.

    ComboData-> Read/Write or otherwise edit/use the combo tables by script.

    SpriteData-> Read/Write or otherwise edit/use the weapon/misc sprites data by script.

    The general format for the functions is GetMember(int id) , returning the member of the class at index 'id', SetMember(int id, int v), setting the member 'id' of a given class to the value 'v'. Similarly, for arrays and flags, GetMember(int id, int index), GetMember(int id, int flag), Setmember(int id, int index, int v), SetMember(int id, int flag, int id).

    All of these are set up to run through macros.
    Tried to post this last night but was blocked by some server issues; I think I already mentioned all of this to you in chat but I'm pasting it here for the record.

    These function the same as Game->LoadItemData, right? Why not mimic its syntax?

    Regarding the ability to write to the buffers during the game: some values in the buffer are read when enemies are created, and will not change if you write to the buffer after the enemy is already on screen. Others are read when enemies move, are hit, etc. It's a random hodgepodge of behaviors based on the particular way each enemy is coded up in guys.cpp. Exposing the internal .qst file buffers with write access permanently locks in the current behavior of every enemy, since there will be no other way to ensure that scripts continue to function in the future. This may (or may not) hamper future attempts at making enemies more customizable or scriptable, so think carefully before opening that bottle, because it won't close again. At a minimum, all developers need to be made aware that the guys.cpp behavior can no longer be changed, and quest authors need to understand the dangers of writing to the buffers while enemies are using those values dynamically (best would be full documentation of how every enemy uses the buffer values during play, but that may not be feasible). All of the above also applies to combos etc.

    Also it should be made clear in the documentation that changes to any .qst file buffers do not persist across quest save/load or reset. You might think that's obvious, but I've gotten related questions about why scripted changes to the ZC GUI do not persist...

  8. #8
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    @DarkDragon
    guys.cpp are such a mind fuck of spaghetti code the entire thing should of been rewritten years ago. But I agree that we should leave enemy behavior data read only. Messing with that shit can cause serious problems if you expose the buffer.

  9. #9
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,025
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.17%
    It was rewritten, mostly, by Gleeok and Saffith a few years ago, in AngelScript, but it's probably no longer possible to attempt something like this without breaking currently quests with scripts. I think the only plausible path forward (in the long-term, not short-term, mind you) is to make scripted equivalents of all enemies keep the current enemy logic around (in a dark deprecated corner) for old quests and scripts to use if necessary.

  10. #10
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    Heh, they removed that so long ago @DarkDragon it's irrelevant.
    IIRC they we're never trully finished, although all implemented. Why? Because they were broken. Every single one of them.
    And we still to this day dont know why.

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 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