berelinde Posted February 2, 2007 Share Posted February 2, 2007 Somewhere, there must be a list of hex offsets. I know this. I've seen it somewhere, but I haven't a clue where. This sounds like the kind of thing that would be extremely useful to have available for those last minute "So *now* what" needs. I've been searching various forums and the IESDP for several hours, and haven't had any luck so far. Link to comment
drake127 Posted February 2, 2007 Share Posted February 2, 2007 http://iesdp.gibberlings3.net/ieformats/ieformats.htm Edit 1: lol, I am quick, aren't I? Edit 2: I would recommend Near Infinity as well as it shows offsets directly in edit tab. You have to turn it on in Options. Link to comment
berelinde Posted February 2, 2007 Author Share Posted February 2, 2007 Yeah, I saw that table in my searching, and it probalby answers my question, but I was probalby a bit too vague. I'm bad at ordinary math. I haven't a hope of constructing any sort of hexadecimal offset on my own. I was looking for something that would tell me that WRITE_ASCII 0x248 assigns an override script whereas WRITE_ASCII 0x94 assigns an area script whereas WRITE_ASCII 0X34 assigns a small portrait. Sorry this is such a nOOber question. I just figured that if I'm going to be slinging these numbers around, I should probalby have the list somewhere for easy reference. NI I can work. I'll start there, if nobody else has done this before. Link to comment
drake127 Posted February 2, 2007 Share Posted February 2, 2007 I do not know about anything descriptive however I did not tried to find it. With little practice you'll be fine with those IESDP tables. Briefly: Open ITM V1.0 (for example). There are several tables with offset, size and description columns. When you are deciding between WRITE_xxxxx, look to size column. byte ~ WRITE_BYTE word ~ WRITE_SHORT dword ~ WRITE_LONG resref ~ WRITE_ASCII When you are trying to find offset you have to be more careful: Header table offsets can be used as absolute values. - example: if you wanted to set minimum charisma requirement to 14, you would type WRITE_BYTE 0x32 14 Extended header table and Effect table are more tricky. These have not fixed positions. Every item may have several extension headers and every extension header (and item itself) can have several effects. You have to know how many of those tables they are and which one you want to correct. Then you have to calculate offset. There are algorithms to go through item effects and patch it based on conditions however it is not for me to explain at 5:00 AM. Link to comment
Miloch Posted February 2, 2007 Share Posted February 2, 2007 I was looking for something that would tell me that WRITE_ASCII 0x248 assigns an override script whereas WRITE_ASCII 0x94 assigns an area script whereas WRITE_ASCII 0X34 assigns a small portrait.Isn't that all listed here? That's what I've been using anyway. Link to comment
berelinde Posted February 2, 2007 Author Share Posted February 2, 2007 Yeah. That will do it. I can probalby get by with that. The idea of calculating them was making me feel faint. I am *really* bad at math. Link to comment
drake127 Posted February 2, 2007 Share Posted February 2, 2007 Yeah. That will do it. I can probalby get by with that. The idea of calculating them was making me feel faint. I am *really* bad at math. Unfortunately you cannot avoid calculating a bit. I give you example (not in WeiDU) of modifying all item global effects: for (i = 0; i < number_of_global_effects; i = i + 1) { begin_of_effect_record = offset_to_feature_blocks + i * size_of_effect_record write_something (begin_of_effect_record + offset_in_effect_table) (value) } Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.