Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by Avenger

  1. Set local variable is the 'old name' for 'special' field. Its old name is valid only in the store local variable opcode where it was first discovered. Since then, EE uses the special field in other opcodes extensively, mostly because this field is present in EFF V1.0 too, so it can be used without external eff (EFF V2.0) School is stored on a DWORD, so technically the WORD after the primary type is not 'unknown'. 0x48 - is a previously unused field. EE uses it to discern primary and secondary targets in the scorcher (used only internally). After the resistance flags, there are 4 dwords. The last of them used to store the time it was first applied. After those there are 2 resrefs for the second and third resources. So, NI is structurally correct, IESDP is not. LONG Parameter3 LONG Parameter4 - also used for slow poison LONG Parameter5 - currently not used by ANYTHING LONG Parameter6 - repurposed for first casting time in EE RESREF Resource2 RESREF Resource3
  2. These are available since IWDEE was released. Effects (spl, itm, eff) saving throw field extra bits. I don't see this on IESDP so i guess this wasn't published yet. 32 - evade spell 64 - evade breath 128 - evade death 256 - evade wand 512 - evade polymorph these bits are connected to the thief evasion ability, there is one bit for every saving throw type, respectively. (Sadly, i don't know much more about these) I don't see them used, so if evasion works without them, then ( ). 1024 - ignore primary target 2048 - ignore secondary target These are used when a .pro file has a line AOE (see scorcher.pro). Effects marked by 1024 won't affect the direct target of the scorcher projectile Effects marked by 2048 won't affect the bystanders.
  3. "what do I have to do to introduce this .2DA into BG2 like EE does - if that's possible? Or generally, how do you insert a new .2DA into the game and make the game recognize it - if that's possible?" Nope, if there is a new 2da introduced by the EE, you cannot simply use it in vanilla BG2. The actual code that uses the externalized data, is in the .exe. That's what makes the EE differ from vanilla. Well, except ToBEx, that does some modifications to the .exe, so it can do things like adding a new 2da.
  4. The white glow was part of the feedback. Unaffected critters won't glow.
  5. The amount/restriction type field (param2) has the order wrong. The high word (3rd and 4th bytes) affect the restriction type (0, 1, 2) The low word (1st and 2nd bytes) affect the number of usable slots (3 is the maximum by the way, as there are 3 resource fields in eff v2.0). Example in spwi908, which has no restriction (chain contingency) : 00a2h Parameter 2 00000003 That is a WRITE_LONG 3 or WRITE_BYTE 3, so low word, first byte, whatever we call it Also a typo in the 0 type: Contingeny
  6. For a very long time, i didn't know that timing mode 10 (exact duration) is the same as timing mode 0 (duration), except timing mode 10 doesn't multiply timing with 15. DLTCEP had this timing mode named as 'trigger', because i've always tested the timing mode with 0 or very small durations, so it never occurred to me that this timing mode has an actual settable duration. IESDP has adopted same 'trigger' naming for this timing. This timing mode exists in SoA and was likely implemented for the custom bardsongs. See SPCL542A. Note, the duration is set to 100 - this is the standard duration for a bard song pulse. The hardcoded vanilla bardsong uses the same timing internally. Some bardsongs (SPCL751A) use a duration of 7 with timing mode 0. (7*15 is close to 100, but isn't exactly 100)
  7. It would help a lot to know which mod exactly has this problem, and if it is EE specific or not.
  8. None of the engines support a truly new race (except GemRB). EE allows you to have a custom race's name displayed on the character sheet if you edit racetext.2da (still can't use the character generator for it).
  9. Based on some tests in BGEE Help() has a range of 1152 (horizontal) and 864 (vertical) in map coordinates. Effective range will most likely vary depending on object specifier used for trigger Help(O:Object*). In the EE Help() has the range of "visualrange" * 48 ( *3 / 4 in the vertical ) Where visual range is adjusted by opcode 262 and the '48' can be set by the 'Audible Range' game option in baldur.lua Don't ask me, why a blind person can only whisper.
  10. While you still have access to the webpage, on the links page: http://gibberlings3.net/links.php could you add forums.beamdog.com to the 'Infinity Engine Sites' ?
  11. The IESDP link on http://gibberlings3.net/ still leads to the old IESDP.
  12. If you see any undocumented parameters that are not written in the unprocessed forum threads, then sure. Especially if you have some idea how they work. There could be still some special, parameter3 or parameter4 fields that are unknown.
  13. Yeah. Well, except if it hits an Or.
  14. Are you sure that's the case, withing the game's processes ? Cause the f = 8 + 4 + 2 + 1, aka the exact same thing. Yeah, as Ardanis said above. Processing a trigger takes a lot of operations. The engine is quite complex inside. And, these triggers are evaluated frequently. Jarno: evaluating those triggers takes about 5x the time than evaluating the combined trigger.
  15. Less number of triggers also mean less CPU cycle requirements. Your laptop or tablet will spare more battery, and you can't fry eggs on your PC ...
  16. Opcode 319 (the usability opcode) is empty in all of the regular effect methods. But just because an empty method is similar or optimized to be exactly the same, just an empty stub, it doesn't always mean the opcode is dud. Opcode 319 is absolutely not a normal opcode, it never gets pushed onto any object's effect queue, it never gets applied. It is even completely ignored in a spell. It just sits in the extra usability flag list of an item. Other opcodes, like Knock, are kinda similar, totally empty, yet when they are getting applied on an inanimate object, they might do something. Show creatures/retreat from (opcode 110) are empty and don't even have any 'special' function. Though retreat from has a function in PST(EE).
  17. Anyone knows if there is, or where is an IESDP level documentation of TobEx flags and fields?
  18. I answered your question: "So are those used in any infinity game?" And my point was, somewhen at the early development of bg1, someone wrote those field names, but didn't follow up with any implementation. The rest of the games in the following 20 years just inherited the names. As of the EE, you can expect unused fields to be re-purposed when needed. The post of mine you're quoting has nothing to do with the answer you gave me, and to clear things up, the struct names are meaningless, I only included them for interest so I really have no idea what you're talking about. I accepted your answer, and replied as to why I was doing this, which has nothing at all to do with this answer.
  19. >Problem is I have no idea what the "size" refers to. I can't see any "size" file when views CRE files in NI. The assertion crash message simply means, the creature loader didn't finish loading the creature (and returns with -1 as creature resource size).
  20. I answered your question: "So are those used in any infinity game?" And my point was, somewhen at the early development of bg1, someone wrote those field names, but didn't follow up with any implementation. The rest of the games in the following 20 years just inherited the names. As of the EE, you can expect unused fields to be re-purposed when needed.
  21. The symbol names don't mean much for an unimplemented field. But as a rule of thumb inherited fields go like this, bg1->pst, bg1->iwd, bg1->bg2, iwd->how, pst->iwd, how->iwd2, bg2->tob, tob->ee The above mentioned fields appear in bg1, so they are in every version (unused).
  22. I think, this is why i made 'order palette' functionality in DLTCEP The transparent index is best left at 0.
  23. Yeah, nothing uses modalstateobject. It was originally made for the shaman dance but now that feature uses an effect It remained in the engine because it might be useful later.
  24. For missing PSTEE actions, you can copy & paste vanilla PST where available. Well, some are different, for example: GenerateModronMaze() This action generates data for the Modron Maze (AR13**). The generated data is held in a separate torment.maze file, which is in the compressed saved game. The maze file is 1856 bytes long. Starts with MAZEV1.0 the rest of the data is the same as the maze structure in vanilla PST. .maze resource ID is 0x0804 (though it will never appear in a bif).
  • Create New...