Skip to content

IESDP unknowns

1235»

Comments

  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    I'm curious what are the implications of max. 24 npcs.
    Does it affect only interact.2da or something else too
  • cmorgancmorgan Member Posts: 707
    @Avenger_teambg... could you toss me the source for that., please? I think a BWP mega-mod may add more than that to the game. Is there a limit to the actual number of NPCs in the game?
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    read the gam structure definition in this thread


    MAX_NUM_POENTIAL_PLAYER_CHARACTERS 24
    ...
    LONG m_nNumberOfTimesInteractedWith[MAX_NUM_POENTIAL_PLAYER_CHARACTERS];

  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    I'm not saying, >24 is not possible. BGEE has more than 24 with the 3 new npcs. I'm just curious what won't work. Will something crash or just won't work, etc. I was always curious since i noticed that array in the saved game.
  • OremusOremus Member Posts: 15
    The answer to this may seem obvious, but is the last post on page 2 detailing the save game (GAM) format? I Just wanted to make sure, because it looks that way.

    These posts are just to fill in unknowns, right? Does this mean that the formats of other file types (CHR and CRE files, for example) must be checked manually to see if they contain changes? Perhaps this would be a quick process, as changes would probably be minimal or non-existant. I didn't find differences after comparing the GAM file format posted to what is in Gatekeeper and ShadowKeeper (though I may not have checked the second extensively), though I might need to check again more closely (they have more unknowns than what is listed on the IEDSP site, especially Gatekeeper).

    This is fun. Perhaps I'll look into updating the save editors, at least for myself. It looks like the source posted for Shadowkeeper is for version 1.7.0, but there is a basic change list through version 2.1.4 posted as well that shows what was fixed after the source was posted. Of course, this might be unnecessary if the original author(s) updated sources, or at least posted more recent versions.

    It sounds like the more major tools such as DLTCEP and NI are covered.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    The structures published are actually bg2 structures. But, if you have the source, it will be trivial to update to any possible change.
  • Ascension64Ascension64 Member Posts: 560

    read the gam structure definition in this thread


    MAX_NUM_POENTIAL_PLAYER_CHARACTERS 24
    ...
    LONG m_nNumberOfTimesInteractedWith[MAX_NUM_POENTIAL_PLAYER_CHARACTERS];

    This ain't used.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    @Ascension64 Wait, you say the array: m_nNumberOfTimesInteractedWith is never changed?
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    That's good news. That's 24x4=96 bytes free to use in the gam structure. Probably enough to store 6 custom action bars.
  • Ascension64Ascension64 Member Posts: 560
    @Avenger_teambg: that is correct.

  • klatuklatu Member Posts: 108
    edited November 2012
    In Area files, what do the arrays
    structureAlignment1[]
    structureAlignment2[]
    mean?
  • AndreaColomboAndreaColombo Member Posts: 5,530
    Let's tag @ScottBrooks to answer that question--when time allows him, that is ;)
  • ScottBrooksScottBrooks Member Posts: 687
    @klatu: the structureAlignment can be ignored. It's just there since there is a WORD(2 bytes), and a char(1 byte), then the structureAlignment1 to push it forward a byte so it ends up 32bit aligned.
  • klatuklatu Member Posts: 108
    @ScottBrooks - Thanks!

    A few more questions about the ARE format:

    1.)
    WORD        m_tiledObjectFlagsCount;
    DWORD m_tiledObjectFlagsOffset;
    I cannot find any information on tiledObjectFlags. Can you provide any insight on those fields?

    2.)
    DWORD       m_pointsOffset;
    WORD m_pointsCount;
    What exactly is meant here? Is this simply a list of Point objects? It seems a Point is synonymous to a Vertex as described on the IEDSP. However, a simple list of points does not seem like a useful structure to me.
    What I would expect is a list of Polygons, which each hold some Vertices/points. If that is what is meant by those fields, it would be great if you could provide some documentation on that.

    3)
    DWORD       m_visibilityMapCount
    DWORD m_visibilityMapOffset;
    I'm guessing there is only one visibility map per ARE file, so m_visibilityMapCount would describe the number of bits used for the map, right?
    Can you confirm that?

    Thanks!
  • DisplacerDisplacer Member Posts: 13
    Is it me or does there seem to be a lot of info missing on the item posting? A lot of what seems to be missing looks to be various flags, effect flags, ability flags, etc. or are these posted somewhere else and I'm just missing them?
  • klatuklatu Member Posts: 108

    (On the off chance anyone's still reading this...)

    What I really need right now is a complete list of opcodes used to identify file types in KEY and BIF files.
    It'd be freakin' awesome if someone could expand on what I already have:

    2DA = {1012, 2017};
    ACM = {}; //unknwown
    ARE = {1010};
    BAH = {1100};
    BAM = {1000};
    BCS = {1007};
    BIC = {2015};
    BIF = {}; //unknwown
    BIO = {1022};
    BMP = { 1};
    BS = {1017};
    CHR = {1018};
    CHU = {1002};
    CRE = {1009};
    DLG = {1011, 2029};
    DWK = {2052};
    EFF = {1016};
    GAM = {1013};
    GFF = {2037};
    GUI = {2047};
    IDS = {1008};
    INI = { 7, 2050, 9996};
    ITM = {1005};
    ITP = {2030};
    KEY = {}; //unknwown
    LTR = {2036};
    MDL = {2002};
    MOS = {1004};
    MUS = {}; //unknwown
    MVE = { 2};
    NCS = {2010};
    NSS = {2009};
    OGG = {}; //unknwown
    PLT = { 6};
    PRO = {1021};
    PWK = {2053};
    SAV = {}; //unknwown
    SET = {2013};
    SPL = {1006};
    SRC = {2051};
    SSF = {2060};
    STO = {1014};
    TGA = { 3};
    TIS = {1003};
    TLK = {}; //unknwown
    TOH = {}; //unknwown
    TOT = {}; //unknwown
    TXI = {2022};
    TXT = { 10};
    UTC = {2027};
    UTD = {2042};
    UTE = {2040};
    UTI = {2025};
    UTP = {2044};
    UTS = {2035};
    UTT = {2032};
    UTW = {2058};
    VAR = {}; //unknwown
    VEF = {1020};
    VVC = {1019};
    WAV = { 4};
    WED = {1001};
    WFX = { 5};
    WMP = {1015};
    WOK = {2016};

    /*bgee*/
    GUI = {1026}; //different from above?
    WBM = {1023};
    FNT = {1024};
    SQL = {1027};
    PVRZ = {1028};
  • AndreaColomboAndreaColombo Member Posts: 5,530
    If there ever was one in the know, that would be @ScottBrooks.
  • IsayaIsaya Member, Translator (NDA) Posts: 752
    In my understanding, BIF, KEY, MUS, SAV, TLK, TOH, TOT anv VAR are never used within a BIF file. So there is no point in referencing them in the KEY file and they probably have no opcode.
    When they are not used as music (in the music directory), ACM files are embedded in WAVC files, as far as I know. If I understood properly, ogg files are also embedded in WAV files in BGEE.
  • ScottBrooksScottBrooks Member Posts: 687
    klatu said:

    @ScottBrooks - Thanks!

    A few more questions about the ARE format:

    1.)

    WORD        m_tiledObjectFlagsCount;
    DWORD m_tiledObjectFlagsOffset;
    I cannot find any information on tiledObjectFlags. Can you provide any insight on those fields?

    2.)
    DWORD       m_pointsOffset;
    WORD m_pointsCount;
    What exactly is meant here? Is this simply a list of Point objects? It seems a Point is synonymous to a Vertex as described on the IEDSP. However, a simple list of points does not seem like a useful structure to me.
    What I would expect is a list of Polygons, which each hold some Vertices/points. If that is what is meant by those fields, it would be great if you could provide some documentation on that.

    3)
    DWORD       m_visibilityMapCount
    DWORD m_visibilityMapOffset;
    I'm guessing there is only one visibility map per ARE file, so m_visibilityMapCount would describe the number of bits used for the map, right?
    Can you confirm that?

    Thanks!
    1: These fields are unreferenced in the code

    2: Doors, triggers, etc reference into this array. It's saying the list of points is at a certain offset, and there are Count number of points. Then for doors, the 4th field m_openSelectionPointStart is this element of that array, and then the following field is the number of points. This makes up the polygon

    3: The IEDSP description for these fields is here http://iesdp.gibberlings3.net/file_formats/ie_formats/are_v1.htm#formAREAV1_0_Explored
Sign In or Register to comment.