Jump to content

lynx

Modders
  • Posts

    3,915
  • Joined

  • Last visited

Everything posted by lynx

  1. any? They get thousands of feature requests and bug reports, why would this one be special? Would it enable something really cool in the future for them, provided they'll continue using the same engine? Unlikely, so a waste of time. They have hundreds of other less obscure and more impactful things to pick from. Time spent on easy stuff is still time spent and it reminds of the 80/20 rule.
  2. At the same time, making all those assumptions doesn't bother you? Hacks and Tobex are personal projects and up to the developer's motivation. But I did go and check and found no requests for anything like that in the latter's forum. Looks like a case of an un- or unsufficiently voiced want. The same could easily be said about bd, but it says little about complexity of such a feature. Where I'm going from is engine internals. It's hardcoded now per class, but moving it outside is just an extra table away. We're not talking about externalising the special wild magic effects, which could require a lot of refactoring/generalisation, but just reading a file or two before using the same values in the code. It's how gemrb got the feature in the first place.
  3. You're jumping all over the thread, but even in the original it is possible. It just takes serious effort. You can't have 20 kits listed in vanilla? Sure, but tobex and iirc Taimon's hack both fixed that problem. Just a different kind of modding. The last complaints were about the core development, where sources were/are available, so the ruckus is even sillier.
  4. Your reasoning being? I agree it would be harder if you wanted the iwd2 system, but the initial question was not about that.
  5. I can only guess, but I'd say: not much, since it is just about externalising the data. Shouldn't be that hard for tobex either, but obviously I have no idea what the code looked like.
  6. Yes, it's just a 2da in gemrb.
  7. I took it from github and it appears that opcode ignores flags, that's all.
  8. That seems like a bgt-only spell, since it doesn't resolve in bg1 or bg2 here.
  9. how many you have before doesn't really matter. Can you dig up the dialog/script that gets run (I guess it calls AddSpecialAbility)? Btw, if you ctrl-m on a character, you'll also get a dump of her spellbook.
  10. did you rest afterwards?
  11. ok, fatigued and bored/area comment times are now properly delayed for travel or corner cases, with some extra randomness to be more spread out.
  12. There's automatically a new build after each push (one or more changes), but if you prefer to compile the code yourself, you can always get the code from github. It's all on the project page.
  13. Thanks. It's too complicated to continue though, so I'll have to drop the inquiry. The mod won't crash anymore and you said removing the effects made it continue just fine, so the missing cosmetics aren't that important. It could be hiding a deeper bug, but it could also be the mod's fault, so I'm not too worried about it.
  14. too much hassle. You got it right, but I didn't. I thought n 20 would be equivalent to twenty n, but it only printed once, so please retry the same thing, except instead of "p actor->Persistent(); n 20", press n and then just enter a bunch of times (will repeat the last command - n for next line).
  15. The only annoying thing is that I can't install the mod and investigate myself. I tried installing bgt about a year ago, but it failed and haven't tried since. For debugging, you can use your current setup. run gemrb in gdb press r load the game and do everything short of starting the cutscene change back to the console and ctrl-c, so the gdb prompt reappears b GemRB::GameScript::LeaveAreaLUA c start the cutscene once it halts again, you'll see gdb hit the breakpoint at LeaveAreaLUA n 3 p actor->GetScriptName() if script name is equal to ACBRESMI then just p actor->Persistent(); n 20 else c I'll need the log from when ACBRESMI starts to the end.
  16. Resting should be fine now. I forgot we track the time of the last rest for fatigue purposes, so in the end there was nothing too ugly included. Breagar: I think that creature is actually missing from the new area. You could test that with a fresh build of gemrb, where the crash is gone, but it wouldn't say anything about the cause. I can retry with hopefully clearer gdb instructions, if you're up to it. https://sourceforge.net/projects/gemrb/files/Buildbot%20Binaries/Linux/gemrb-2017-03-1456cac71.tar.bz2/download
  17. eh, nevermind, I'm asking too much. resting vs pdialog is an interesting case of the halting problem — there's no way of knowing if the dream script caused a rest without actually running it. I'll fix it tomorrow, it's not hard, just ugly.
  18. gdb: uff, quite good for the long instructions, but not yet there. Let's change it a bit: when you hit: p actor->GetScriptName() == "acbresmi" p actor->Persistent() b GemRB::MoveBetweenAreasCore c if you hit the MoveBetweenAreasCore breakpoint: n; p actor->GetScriptName() resting: ok, so all the dialogs should be sleep terminal, thanks. It's up to content creators not to screw it up. table: copy gemrb/unhardcoded/bg2/splspec.2da into your game override and append any spells you want as new rows. The first column value should be 8, the rest 0 (only used for healing estimation, since we're extra smart on who to heal first).
  19. bgt: meh. Let's try another gdb session before I start reading things blindly: run gemrb in gdb press r load the game and do everything short of starting the cutscene change back to the console and ctrl-c, so the gdb prompt reappears b GemRB::GameScript::LeaveAreaLUA c that will hopefully make the game run (continue) again indefinitely start the cutscene once it halts again, you'll see gdb hit the breakpoint at LeaveAreaLUA n 3 p actor->GetScriptName() c this will repeat for the whole party, as per the script. After you get the script name of ACBRESMI, you'll know you're close. Instead of pressing c, type: p actor->Persistent() b GemRB::MoveBetweenAreasCore c and tell me if a new breakpoint of MoveBetweenAreasCore gets hit or not and what the Persistent check printed. rest: interesting. It seems either the talks interrupt the rest completely (and all suck talks must call it manually then) or the engine folds the two together. Please try changing that RestParty to NoAction and recompiling the dialog — does no time pass, no resting happen in the original? rest until healed isn't implemented yet. Spellcasting on rest is new, yes, and externalised, so you could edit the 2da and for example add stoneskin refreshing to it.
  20. Yep, thanks, it confirms my suspicion. It won't crash any more, but it won't show either (a warning will be printed). What really needs inspection is how his LeaveAreaLUA call goes, however that's a harder task than finding the crash. Do you know what makes the mod bgt-only? I don't have any such installs. re rest: so how much time does then pass in the original? No screenshots needed.
  21. rest: now I'm completely confused. If the original also did two rests, where is the problem? kivan: needs testing if escapearea even runs or perhaps it gets overriden by something else (noisy area and scripts). gdb: you just run gemrb from the console as before, but prefix gdb. Then type "run" ® and once it crashes "backtrace" (bt). That's the info I'm looking for. You can use ctrl-j and ctrl-y to get to the relevant game part faster. You could also set the relevant game vars and just teleport to the area, all through our own console. I'll edit the posts a bit, so the remaining issues will stand out.
  22. Something else about intoxication — how do mods detect it? I don't see any triggers or a separate state. Containers: I think this is a general issue with higher resolutions/widescreen. Subwindows: even if you're playing fullscreen and don't have magic sysrq keys enabled, you could ctrl+alt to a terminal and end it from there. Rest: ok. The timing is something I'm interested in from the original, since it will show how things were done. gabber: fixed, was a simple error. kivan is something I have to try afresh and recheck. In a previous game there was a problem with his spawning, so he was almost impossible to recruit. gdb as in the gnu debugger. Weidu logs are useless here.
  23. Intoxication was there, but disabled since 2005. I've also added the portrait icon, so it's more obvious it works. The constitution mod (unclear), penalties and curing without resting (per hour? The table values are high) will wait for some other time. BGT starting xp is already refixed and the mode (affecting dialog use) probably too. BG1 and BG2 use a different verbal constants system, so there could be something wrong with the translation. I don't think we draw ambiental lightnings at all — couldn't you even get hit by it? Pink inventory paperdolls — already fixed. Nested containers: yes. Freezing containers: not enough data. Learning spells from scrolls. It can be done during pause, but it will happen in the next tick after unpausing. I think I fixed a few problems there, but I also think it's also still buggy. Subwindows vs dialog: known problem, but hard to hit, since the rest is handled. The windowing rewrite would make this more pleasant. I doubt you need to kill X though, why not just gemrb? Maybe you can even pop open the gemrb console and stop the cutscene or just quit. Only BG1 forced unpause during inventory checking, the rest have it arbitrary. Rest: are you sure (gametime)? IsGabber is different between games, but checks the speaker. Can you give a concrete simple test case, as I don't see any vanilla uses? Nalia: old problem, mostly due to data, hit and miss. If she manages to exit in time, the whole thing is avoided. As for people staying, global actors can be present for tick or two on load sometimes or if scheduling changes or some more obscure stuff. Cernd: never tried it, sounds like he's using a clutch instead of innates. Definitely needs fixing. Can you run/install gdb and check where it crashes? From the code, I see clear potential only in a corner case where it managed to execute before the target is properly placed in an area. cutscenes and dreams: I think this is the same thing that can happen with Viconia. In that case I thought it was related to our Fade*Color mechanics (original not understood perfectly yet), which would fit your second example. If it turns out it's the same problem as the first, that'd be great, as it's much simpler.
  24. Create one and make it forward all mail? I don't know what makes it special though.
×
×
  • Create New...