Skip to content

IESDP unknowns

135

Comments

  • Ascension64Ascension64 Member Posts: 560
    edited July 2012
    Thanks again, @ScottBrooks.
    Looks like I was mostly spot on with my VVC work.

    Also, have we asked for the EFF V2.0 format? We have ITEM_EFFECT struct, but not CGameEffect.
    Anton
  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Hello,

    About .BAM :

    I would like to obtain a more comprehensive description and an update on IEDSP description about the . BAM format (Medium BioWare Animation: Moving Sequential gold Graphics / Icons),

    http://iesdp.gibberlings3.net/file_formats/ie_formats/bam_v1.htm

    For example I have just learned that the bam manages the alphablending :

    http://forum.baldursgate.com/discussion/comment/12068/#Comment_12068

    And you, precisely, : what you seem to be most useful to learn about this relatively unknown file ?

    TY .
    Post edited by salomonkane on
    AndreaColombo
  • CorianderCoriander Member Posts: 1,667
    @Avenger_teambg Excellent :)
  • FredSRichardsonFredSRichardson Member Posts: 465
    I'm just taking a look at a the ARE defs. The IESDP area flags

    bit 0: Save allowed
    bit 1: Tutorial area (not BG1)
    bit 2: Dead magic zone
    bit 3: Dream

    The authoritative definition are slightly different:

    bit 0: AREAFLAGS_NOSAVE
    bit 1: AREAFLAGS_TUTORIALAREA
    bit 2: AREAFLAGS_NONCOMBAT
    bit 3: AREAFLAGS_BROWNSCALE

    Do you think the IESDP ones are just a bit more descriptive (i.e. "dead magic zone" is really the effect even thought it's called non-combat or "Dream" uses a "brown-scale" color theme or some such thing?)
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    Well, i guess theirs is the technical description ours is the empirical :)
  • FredSRichardsonFredSRichardson Member Posts: 465
    I was initially thinking I'd go through the NearInfinity labels and update them to these, but I can see how that may not generally be a good idea...
  • AndreaColomboAndreaColombo Member Posts: 5,524
    @FredSRichardson - how so?
  • FredSRichardsonFredSRichardson Member Posts: 465
    @AndreaColombo - Well, I think people may know what "Dream" means for an area flag based on passed experience. Changing this to "Brown Scale" might not be helpful.

    OTOH, I am seeing a bunch of unknowns that can now be assigned something (even though we might not know what it means). I started going through the documents and assigning offsets to the fields (via a simple script) to make updating NearInfinity a little easier.
    AndreaColombosalomonkane
  • CuvCuv Member, Developer Posts: 2,535
    Can you just put (Dream) in parentheses after Brown Scale? Actually... I dont think you need to change the names of displayed fields unless the new name is much more descriptive of the function. The main deal is getting in the unkowns where a value can be set but we didnt know what it was.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862

    OTOH, I am seeing a bunch of unknowns that can now be assigned something (even though we might not know what it means). I started going through the documents and assigning offsets to the fields (via a simple script) to make updating NearInfinity a little easier.
    Some name from the authentic source is better than a plain hex offset. Besides, if you ask in a public place, someone eventually will tell what is it :)
  • devSindevSin Member Posts: 32
    I was initially thinking I'd go through the NearInfinity labels and update them to these, but I can see how that may not generally be a good idea...
    If you did that, I'd just change them all back if I ever touched it again. :P

    The constant names let us know what's going on, and then we get to decide how to express that to the users of the toolset.

    Brown scale is not any more descriptive than "dream", although I don't remember why we consider the sepia effect to be a dream area. If I were ever updating Near Infinity (I admit that the temptation is there, but I'm fighting as best I can), it's something I'd have to think about—I'm not happy with either label.
  • devSindevSin Member Posts: 32
    edited July 2012
    My resolve crumbled, and I updated my sources. I'll reach out to @FredSRichardson and see if he can't be persuaded to get the changes out into the wild. I still need to check some things and see if it actually compiles, but we're honestly not missing a whole lot (and for the most part, the stuff we are missing is stuff nobody can really use).

    If I can impose a bit more, @ScottBrooks, I somehow left out the WMP format, which still has some unknowns. Also, transitions in the DLG format have a bunch of journal flags, and we're not sure what the funky 0x20 bit does. In the main header, we figured out the threat flags for non-pausing dialogue (attack, escape, and ignore); just wondering if that's all there is?

    In the ITM list, the ability flags didn't get included. I'm not sure if we have all of those.

    And a bunch of CGameEffect requests:

    - CGameEffectCharm flags have caused confusion (mostly when and when not to show feedback).
    - Is there a list in CGameEffectColorChange (and friends) of all the color locations?
    - The flags we have for CGameEffectImmuneToWeapon may not be accurate.
    - What's up with the second parameter in CGameEffectPolymorph (I'm looking at three labels that say the same thing!)?
    - Is there a readable list of application rates (the second parameter) for CGameEffectPoison (I think we have all the upper ones, but 0 and 1 don't seem to work right in any of the persistent effects—they just behave the same)?
    - Is there a list of values for the second parameter in CGameEffectSummon (something to do with modifying the enemy-ally)?
    Post edited by devSin on
    AndreaColombo
  • CuvCuv Member, Developer Posts: 2,535
    My resolve crumbled, and I updated my sources.
    LOL... cool. If you guys get something compiled, make sure to drop a link to a new NI build for us here.

  • FredSRichardsonFredSRichardson Member Posts: 465
    @devSin - sounds like you beat me to it, or is there anything left I should look at? I can't say I was looking forward to it, but I was going to go through all the offsets just to see what is missing in NI.

    An yes, I'd be happy to pull down your sources and put up a build on SourceForge for general consumption. Just point me in the right direction.
  • devSindevSin Member Posts: 32
    edited July 2012
    Yeah, I'll poke around at it and wait to see if we get the information for the WMP format and some of those effects. I don't think there's much else. There's probably a ton of things that need to be done, but going back through the source, I remember just how much I don't want to do any of it. So I'll just make sure the formats are up-to-date and then send you an archive. (Some of the stuff I'm purposely leaving Unknown, like all that ITM crosstalk in the SPL header.)

    @Wisp can then port over his changes where he wants, and then you guys can figure out where the one true repository should be.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    edited July 2012
    Don't just pick a select few effects, @devSin. I'm curious of the official effect list, if there is any.
    Also, the funky 0x20 bit in the dialog journal flags. As far as I know it does nothing useful, just duplicates the previous response.
  • FredSRichardsonFredSRichardson Member Posts: 465
    @devSin - I don't mind going through the tedious task of adding missing things. Like I noticed there was an unknown in ARE for "wind speed". I can't imagine what that does except maybe increase a wind sound effect? Or maybe it impacts the accuracy of missile weapons :P

    Do you have a fork off of Taimon on GitHub?
  • devSindevSin Member Posts: 32
    edited July 2012
    Don't worry. I added all that stuff. :-)

    WED got sticky. Some of the values are strange, and I didn't want to go through and look at all the games to see how and when they're used and whether their actual function changed from one variant to the next, so I'll likely leave most of them unknown. And the common garbage between ITM and SPL (I'm not adding a "weight" field to the SPL header, for instance). And some of the flags I couldn't tell what was going on (and they appear unused or irrelevant for the editor).

    And then there are other useless things that we knew about and that I still won't add (the unused NumTimesInteracted array, or the custom familiar table list).

    But I added labels for all the clear and distinct fields, even though something like "Wind speed" wouldn't have any effect (the only thing I could see it secretly doing is modifying how rain and snow are drawn).

    Unfortunately, my sources aren't maintained online anywhere. I can always email you a copy, if you want to message me with an address, but I'm still tinkering with a few things and there may be some additional changes.

    As for the effects, @Avenger_teambg, I posted the entire list of CGameEffect classes years ago (for the ToB version of the engine). They should still be around somewhere.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    @devSin, I doubt that covered all parameters. Effect names and their main function is not an issue. Only a few special cases, especially when the effect is doing something tricky on first run/removal and such.
    I'm thinking of usage of the mysterious 0x2c field (in the new struct from BGEE devs name it 'special') etc.
  • devSindevSin Member Posts: 32
    I think it would probably be better to ask about specific effects, then. I'm not sure it's a reasonable request to get a list of all the parameters and special-case behaviors for all the effects (not that we would mind getting it or anything). ;-)
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    I think it would probably be better to ask about specific effects, then. I'm not sure it's a reasonable request to get a list of all the parameters and special-case behaviors for all the effects (not that we would mind getting it or anything). ;-)
    Well, my idea was that they might have some docs around. If there is no doc, then it would be unproductive to ask someone to peek into the source when they could kill a bug instead :)
    Posting a doc with all the info is zero effort. If there is no such doc, then eventually the modders will make it.
  • CorianderCoriander Member Posts: 1,667
    There's no doc.
  • FredSRichardsonFredSRichardson Member Posts: 465
    @devSin - Ah, you rock, would have taken me ages. I'll PM you, thanks!
  • ScottBrooksScottBrooks Member Posts: 687
    I'm on vacation until next week, so probably no updates until then.
  • AndreaColomboAndreaColombo Member Posts: 5,524
    @ScottBrooks - you even felt the need to justify yourself? It's already a lot you're actually reading the forum despite being on vacation! Enjoy your holiday safe in the knowledge that you'll get a warm welcome back next week! =D
  • FredSRichardsonFredSRichardson Member Posts: 465
    @ScottBrooks - Yes, enjoy your holiday and stop reading this forum =P (until you get back that is)
  • CorianderCoriander Member Posts: 1,667
    edited July 2012

    //::///////////////////////////////////////////////////////////////////////////
    //:: World Map File Format
    //::///////////////////////////////////////////////////////////////////////////

    class CWorldMapHeader
    DWORD m_nMapCount
    DWORD m_nMapOffset

    class CWorldMapData
    RESREF m_resMosaic
    DWORD m_nWidth
    DWORD m_nHeight
    DWORD m_nMapID
    STRREF m_strTitle
    DWORD m_nStartCenteredOnX
    DWORD m_nStartCenteredOnY
    DWORD m_nAreas
    DWORD m_nAreasOffset
    DWORD m_nOffsetToLinks
    DWORD m_nLinks
    RESREF m_resAreaIcons
    DWORD nUnused[32]

    CWORLDMAPAREA_FLAGS_VISIBLE 0X00000001
    CWORLDMAPAREA_FLAGS_ENABLED 0X00000002
    CWORLDMAPAREA_FLAGS_EXPLORABLE 0X00000004
    CWORLDMAPAREA_FLAGS_EXPLORED 0X00000008

    class CWorldMapArea
    RESREF m_resCurrentArea
    RESREF m_resOriginalArea
    SCRIPTNAME m_strName
    DWORD m_dwFlags
    DWORD m_sequence
    DWORD m_mapLocationX
    DWORD m_mapLocationY
    STRREF m_strLabel
    STRREF m_strAreaName
    RESREF m_resAreaLoadMosaic
    DWORD m_nNorthEdgeStartingLink
    DWORD m_nNorthEdgeCount
    DWORD m_nWestEdgeStartingLink
    DWORD m_nWestEdgeCount
    DWORD m_nSouthEdgeStartingLink
    DWORD m_nSouthEdgeCount
    DWORD m_nEastEdgeStartingLink
    DWORD m_nEastEdgeCount
    DWORD nUnused[32]

    CWORLDMAPLINKS_FLAGS_DESTAREA_NORTHEDGE 0X00000001
    CWORLDMAPLINKS_FLAGS_DESTAREA_EASTEDGE 0X00000002
    CWORLDMAPLINKS_FLAGS_DESTAREA_SOUTHEDGE 0X00000004
    CWORLDMAPLINKS_FLAGS_DESTAREA_WESTEDGE 0X00000008

    class CWorldMapLinks
    DWORD m_nArea
    SCRIPTNAME m_entryPoint
    DWORD m_nDistanceScale
    DWORD m_dwLinkFlags
    RESREF m_resRandomEncounterArea0
    RESREF m_resRandomEncounterArea1
    RESREF m_resRandomEncounterArea2
    RESREF m_resRandomEncounterArea3
    RESREF m_resRandomEncounterArea4
    DWORD m_nEncounterProbability
    DWORD nUnused[32]

    AndreaColomboElysinigomartinezCrevsDaak
  • jcomptonjcompton Member Posts: 157
    Thank you very much for helping fill out IESDP, Beamhauloverdogs.
    AndreaColombocmorgansalomonkaneCrevsDaak
  • CorianderCoriander Member Posts: 1,667
    @jcompton I'm not seeing IdeaSpark Labs in there. ;)
    CrevsDaak
Sign In or Register to comment.