#gemrb@irc.freenode.net logs for 30 Jun 2020 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[01:49:07] --> DominusExult has joined #gemrb
[01:49:07] <-- DominusExult has left IRC (Changing host)
[01:49:07] --> DominusExult has joined #gemrb
[01:52:07] <-- Dominus has left IRC (Ping timeout: 264 seconds)
[01:52:07] --- DominusExult is now known as Dominus
[02:33:51] <-- ryst has left IRC (Ping timeout: 272 seconds)
[02:36:47] --> ryst has joined #gemrb
[03:52:11] <-- erdic has left IRC (Ping timeout: 246 seconds)
[03:52:56] --> erdic has joined #gemrb
[05:36:18] <-- Lightkey has left IRC (Ping timeout: 260 seconds)
[05:37:55] <GemRBDiscord> <suy> @Bubb how did you get that incredibly precise chunk of code? Is EDA doing a lot of automagic with the debugging symbols, or something that you can get if you help the tool? Or you wrote it entirely by hand?
[05:49:46] --> Lightkey has joined #gemrb
[06:13:41] --> lynxlynxlynx has joined #gemrb
[06:13:41] <-- lynxlynxlynx has left IRC (Changing host)
[06:13:41] --> lynxlynxlynx has joined #gemrb
[06:13:41] --- ChanServ gives channel operator status to lynxlynxlynx
[07:55:53] --> GeneralDuke has joined #gemrb
[08:54:45] --> FutureSuture has joined #gemrb
[14:34:11] <GemRBDiscord> <fearless> He usually converts the conditionals and comparison from the raw assembler code. The pdb for the windows build of bg2ee has the debugging symbols, which help when using Ida, x64dbg or ghidra for variable names and some structure info. He does have a lua tool/code he wrote himself to quickly retrieve structure fields, based on the offset used in raw disassembly code
[14:48:30] <Not-944e> [gemrb] lynxlynxlynx pushed 3 commits to master [+0/-0/±4] https://git.io/JJfht
[14:48:31] <Not-944e> [gemrb] lynxlynxlynx 6500469 - CheckVariable: constify first param
[14:48:33] <Not-944e> [gemrb] lynxlynxlynx 7256953 - GameControl::ShouldTriggerWorldMap: be more strict fixes #830, obviates #843 Co-authored-by: Laurie Chilvers <chilvence@gmail.com>
[14:48:34] <Not-944e> [gemrb] lynxlynxlynx 5b0cf79 - EffectQueue::ApplyEffect: pst delays are already in ticks attempt at fixing #637
[14:54:19] <-- GeneralDuke has left IRC (Quit: GeneralDuke)
[14:54:56] <GemRBDiscord> <suy> Thanks. That's a ton of reverse engineering that's fair ahead of my knowledge. 😒 But I keep interested.
[14:56:38] --> GeneralDuke has joined #gemrb
[14:57:46] <-- GeneralDuke has left IRC (Client Quit)
[15:16:03] <GemRBDiscord> <fearless> We started to document some of the structures and classes from the pdb to help with that sort of thing, its a work in progress tho, https://eeex-docs.readthedocs.io/en/latest/index.html - of course others can contribute and add/edit as its on github: https://github.com/Bubb13/EEex-Docs
[15:16:34] <GemRBDiscord> <fearless> https://eeex-docs.readthedocs.io/en/latest/Community/contributing.html
[15:43:46] <GemRBDiscord> <Ceolfrith> > This part is pretty interesting, since theoretically it means enemies can actually go morale failure if you kill enough of the same type. Can't remember if I actually ever ran into that while playing. Maybe against kobalds... iirc @Bubb I remember it happening loads of times in BG1, where it throws tons of cannon fodder at you, eg the Xvart village
[15:47:25] <GemRBDiscord> <WanderingQuill (lynx)> high level difference is also a good way to induce it; i bet it's common for the drizzt vs gnolls fight
[15:47:56] <GemRBDiscord> <WanderingQuill (lynx)> but testing greater cleave in targos the other day was just silly, chop chop chop and everyone's running
[15:49:24] <GemRBDiscord> <Ceolfrith> Haha, I forgot about that, have to get round to IWD2 again some day
[15:52:27] <GemRBDiscord> <WanderingQuill (lynx)> the feat is typically not available at that point yet; this was from a hacked save
[17:05:05] <GemRBDiscord> <WanderingQuill (lynx)> @Ceolfrith any news on the spells? I'm on the edge of my seat wondering if that was all that's needed for that family of problems
[17:08:12] <GemRBDiscord> <Ceolfrith> Sorry, still haven't finished with other stuff today yet - the commit you made is definitely going to be a good place to start from though, it basically solves half of the problem of everything 'looking' wrong, just need to figure out how to avoid the effects being permanent
[17:19:45] <GemRBDiscord> <Ceolfrith> By the way, totally changing the subject, but I've been working on GemRB Pocket Computer edition
[17:19:45] <GemRBDiscord> <Ceolfrith> https://cdn.discordapp.com/attachments/600689811208273930/727575244306645052/IMG_20200630_182019.jpg
[17:27:20] <GemRBDiscord> <WanderingQuill (lynx)> is that some pi thing?
[17:27:40] <GemRBDiscord> <WanderingQuill (lynx)> re spells: it doesn't fix the permanence, i'm wondering just about the onset times
[17:28:38] <GemRBDiscord> <Ceolfrith> Up to date again now, just rebuilding
[17:32:10] <GemRBDiscord> <WanderingQuill (lynx)> the other effects inherit the same stuff, but it should be easy to pin down
[17:32:59] <GemRBDiscord> <WanderingQuill (lynx)> oooh, might be the same problem actually, since that calls PrepareDuration as well
[17:33:00] <GemRBDiscord> <Ceolfrith> With that change, all the onset times do finally appear to be correct, for the 10 -15 spells I just tested (it's hard to remember which ones don't work for which reasons sometimes...)
[17:33:24] <GemRBDiscord> <WanderingQuill (lynx)> ok, thanks, then I'll just close that bug 🙂
[17:35:07] <GemRBDiscord> <Ceolfrith> Yes, it's just the other one now, sounds like you have already spotted a possible fix?
[17:36:25] <GemRBDiscord> <WanderingQuill (lynx)> there are more, but the other one in effectqueue is correct — it's why yours expired too fast
[17:36:38] <GemRBDiscord> <WanderingQuill (lynx)> this looks like a red herring though
[17:37:27] <GemRBDiscord> <WanderingQuill (lynx)> need to check the default in other games
[17:37:45] <GemRBDiscord> <Ceolfrith> I just think there was a routine originally that stuffed the proper duration in there
[17:44:02] <GemRBDiscord> <Ceolfrith> Hmm.... Where did this .pdb file for BG2EE come from? Was it accidentally distributed ?
[17:46:13] <GemRBDiscord> <WanderingQuill (lynx)> i see the problem, in the process GameTime is added twice, so yeah, almost permanent duration
[17:48:48] <GemRBDiscord> <Ceolfrith> ^ You're a machine 🙂 I would have probably taken days to figure that out...
[17:49:50] <GemRBDiscord> <WanderingQuill (lynx)> i stepped through the execution — much faster that way than just reading the code
[17:50:00] <GemRBDiscord> <WanderingQuill (lynx)> thanks for the push and the details though!
[17:50:31] <GemRBDiscord> <Ceolfrith> I should try that more often probably (though, at least I learn a bit here and there the slow way)
[17:52:11] <GemRBDiscord> <Ceolfrith> Does this mean , it really was just so simple all along?
[17:54:18] <GemRBDiscord> <WanderingQuill (lynx)> the permanence? yep
[17:54:48] <GemRBDiscord> <WanderingQuill (lynx)> just checked which spells use this opcode; there's more than listed in the issue, but none of the strength ones, so now i'll check those as well
[17:57:03] <GemRBDiscord> <Bubb> The .pdb is distributed by the Beamdog Launcher for BG:EE and BG2:EE - they've been doing it for a while, since v1.3 I believe, (maybe even further back), so I think they would've caught it if it was a mistake.
[17:58:16] <GemRBDiscord> <Ceolfrith> Do you know if they do the same with the Torment.pdb? I would be curious just to have a nose around, but I have all mine on GOG
[17:59:07] <GemRBDiscord> <Bubb> unfortunately Torment doesn't have one, and since it's a significant fork of the IE it's hard to work with Because of my efforts Beamdog is def aware of the .pdb now, it'll be telling if it is included in the eventual v2.6
[18:00:47] <GemRBDiscord> <Ceolfrith> That's a shame, it does feel like stumbling around in the dark a lot of the time
[18:02:07] <GemRBDiscord> <WanderingQuill (lynx)> there must be the old ida db somewhere, but Alyssa didn't get back to me; Avenger lost them
[18:03:41] <GemRBDiscord> <WanderingQuill (lynx)> interestingly, the three strength spells don't work ... since they have just graphic payload and all is done in the projectile. Must check there
[18:03:55] <GemRBDiscord> <Ceolfrith> Ah yes, I forgot about that
[18:04:17] <GemRBDiscord> <Ceolfrith> in fact many of the spells are in unhardcoded that way
[18:05:19] <-- Human_G33k has left IRC (Ping timeout: 264 seconds)
[18:05:55] <GemRBDiscord> <Ceolfrith> Was it those two that used to do a lot of the reverse engineering?
[18:07:18] <GemRBDiscord> <Bubb> Using the normal BG2:EE pdb I can match portions of PST:EE to the other engines, but a majority of the code is significantly altered / new
[18:07:30] <GemRBDiscord> <WanderingQuill (lynx)> hah, the data has 0 duration, no wonder
[18:07:36] <GemRBDiscord> <WanderingQuill (lynx)> luckily it's all our fault
[18:11:09] <GemRBDiscord> <Ceolfrith> Whoops, I should have probably thought to open them up and look 🙂 I wonder what else is in there but needs checking
[18:12:47] <GemRBDiscord> <Ceolfrith> I did get myself a copy of PSTEE, but I just felt sad that I couldn't mod it so freely...
[18:15:06] <GemRBDiscord> <Ceolfrith> The UI is top notch though, the best out of the bunch by a mile and a half
[18:16:13] <GemRBDiscord> <WanderingQuill (lynx)> i see strength.pro pointing to str.spl, istr.pro to imstr.spl, poone.pro to poo.spl :>
[18:20:19] <GemRBDiscord> <Ceolfrith> There's a joke in there somewhere, but I must resist making it
[18:23:42] <GemRBDiscord> <WanderingQuill (lynx)> power of one 😄
[18:25:57] <GemRBDiscord> <Ceolfrith> It's got a bit of a crap name though hasn't it? .... ARGH, I'm so sorry...
[19:33:46] <GemRBDiscord> <Bubb> I forgot that ELF was a thing, the Mac / Linux binaries of PST:EE at least have mangled function names and globals defined so while structs aren't defined, (and this makes it much harder to figure things out), simple investigations into PST behavior might be possible just a thought
[20:05:42] <GemRBDiscord> <Ceolfrith> I hadn't even thought to try looking at the linux version, I just habitually boot windows for any gaming
[20:09:44] <GemRBDiscord> <WanderingQuill (lynx)> linux is the true platform for these things, with its elf and dwarf, zombies and magic keys
[20:17:48] <GemRBDiscord> <Ceolfrith> I didn't even realise there was a linux version of EE... decent of them
[21:31:22] <Not-944e> [gemrb] lynxlynxlynx pushed 2 commits to master [+0/-0/±4] https://git.io/JJJsY
[21:31:24] <Not-944e> [gemrb] fenuks 3c22089 - Optionally use system encoding in QueryText
[21:31:25] <Not-944e> [gemrb] lynxlynxlynx 58a5fea - Merge pull request #853 from fenuks/optional_system_encoding Optionally use system encoding in QueryText
[22:24:26] <-- lynxlynxlynx has left IRC (Ping timeout: 258 seconds)
[22:59:55] <-- FutureSuture has left IRC (Ping timeout: 246 seconds)
[23:01:30] --> HumanG33k has joined #gemrb
[23:04:38] <-- HumanG33k has left IRC (Remote host closed the connection)
[23:05:01] --> HumanG33k has joined #gemrb