Displacer Posted October 29, 2017 Share Posted October 29, 2017 (edited) The unknowns starting at offset 0x0078 are: 00000070 m_rouletMaxBet dd ?00000074 m_crapsMaxBet dd ?00000078 m_wheelMaxBet dd ?0000007C m_rouletWinChance dd ?00000080 m_crapsWinChance dd ?00000084 m_wheelWinChance dd ?00000088 m_rouletWinAmount dd ?0000008C m_crapsWinAmount dd ?00000090 m_wheelWinAmount dd ? The unknown at 0x0024 is: 0000001C m_script db 8 dup(?) This is directly from the latest BGII:EE code, which the newest .exe seems to have IWD in it as well so their either unimplimented, or perhaps IWD:EE? (don't have a copy handy so I don't know if these are ingame options for that game) Ignore the offsets on the left, the sto file is built in sections, and these go at 0x0078 Edited October 29, 2017 by Displacer Quote Link to comment
Jarno Mikkola Posted October 29, 2017 Share Posted October 29, 2017 The IWD uses a different file signature: "V9.0" at the 0x0004 offset. But you are likely talking about the normal "V1.0" one, but they could very well be the same, as the file length is equal up to that point. Quote Link to comment
Displacer Posted October 29, 2017 Author Share Posted October 29, 2017 So are those used in any infinity game? If not apparently it was never implemented, but it's still present in the code. I'm attempting to fill in all the unknowns for the store, but it's loaded in pieces so I have to trace down the individual pieces. Trying to find the flags load to fillout the unknowns in that section (using the offline version of IESDP, which seems to be the most recient Quote Link to comment
Jarno Mikkola Posted October 29, 2017 Share Posted October 29, 2017 (edited) Yes, they are used... in stores that have more than the "store" section, so to speak. Don't know the exact how each of those are controlled though. I use the github version of the IESDP to look up those things... which lynx upkeeps sometimes(last a week ago). It's where the pinned topic of this forum directs, while the sites own is far more outdated one(02.12.2013). But that's internet for you... things get lost in links that go to far flung places. Edited October 29, 2017 by Jarno Mikkola Quote Link to comment
Displacer Posted October 29, 2017 Author Share Posted October 29, 2017 Yea, that's the one I'm using. Anyway whoever is doing the editing on the github, those are valid and are the actual struct names used so they can be put in. As a side note, apparently stores can use scripts, that's the other unknown I found. It's listed in the first post I'll hunt down the other unknowns, may take a bit as the file is loaded in in pieces so I have to track down all the loading routines Quote Link to comment
lynx Posted October 29, 2017 Share Posted October 29, 2017 the script thing may be a copy over from the pst format, where you can specify trigger blocks that need to be met for an item to be available. Look at that format for inspiration. Thanks for digging! Quote Link to comment
Avenger Posted October 29, 2017 Share Posted October 29, 2017 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). Quote Link to comment
Displacer Posted October 29, 2017 Author Share Posted October 29, 2017 My point is to clear up the "unknowns" and that's whats in the code, if they are unused they can be marked as such, if they are used in one particular game, again they should be marked as such, or am I missing something Quote Link to comment
Avenger Posted October 29, 2017 Share Posted October 29, 2017 (edited) My point is to clear up the "unknowns" and that's whats in the code, if they are unused they can be marked as such, if they are used in one particular game, again they should be marked as such, or am I missing something 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. Edited October 29, 2017 by Avenger Quote Link to comment
Displacer Posted October 30, 2017 Author Share Posted October 30, 2017 My point is to clear up the "unknowns" and that's whats in the code, if they are unused they can be marked as such, if they are used in one particular game, again they should be marked as such, or am I missing something 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. Quote Link to comment
Displacer Posted October 30, 2017 Author Share Posted October 30, 2017 The IWD uses a different file signature: "V9.0" at the 0x0004 offset. But you are likely talking about the normal "V1.0" one, but they could very well be the same, as the file length is equal up to that point. If I'm not mistaken, vanilla IWD uses V1.0, I think they bumped it to V9.0 with the expansions, and IWDII. I have no idea what happened to V2-V8 Quote Link to comment
Jarno Mikkola Posted October 30, 2017 Share Posted October 30, 2017 Yeah, it indeed is. My theory, the v2-to-8 never existed. Or if they did... they were slight differences between what kinds of stores they would hold. As you can see, the HoW's V9.0 has the 4 assigned as containers, while the V1.0 of SoA has them at 5. Quote Link to comment
Avenger Posted October 30, 2017 Share Posted October 30, 2017 My point is to clear up the "unknowns" and that's whats in the code, if they are unused they can be marked as such, if they are used in one particular game, again they should be marked as such, or am I missing something 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. Quote Link to comment
Displacer Posted November 1, 2017 Author Share Posted November 1, 2017 Well, found the flags section, the last of the unknowns. Interestingly, the way the flags are used is the button is displayed/not displayed depending on if the flag is set or not, effectively removing the option from the menu. Very nice coding work Quote Link to comment
Displacer Posted November 1, 2017 Author Share Posted November 1, 2017 My point is to clear up the "unknowns" and that's whats in the code, if they are unused they can be marked as such, if they are used in one particular game, again they should be marked as such, or am I missing something 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. Sorry, I wasn't trying to be rude, I think posts just got crossed or misunderstood and you have my apologies if so Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.