#gemrb@irc.freenode.net logs for 24 Apr 2011 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[01:08:21] --> pupnik has joined #gemrb
[01:11:27] <-- pupnik_ has left IRC (Ping timeout: 248 seconds)
[01:48:10] <Okasu> what should i do?
[02:17:26] <-- Okasu has left IRC (Quit: leaving)
[02:19:17] --> Okasu has joined #gemrb
[02:29:02] <pupnik> hi Okasu
[02:30:24] <pupnik> what version gcc?
[02:31:09] <pupnik> Make sure glibc, gcc and gcc-g++ packages are properly installed.
[02:31:57] <pupnik> perhaps called 'build-essential'
[02:33:10] <pupnik> size_t should be defined in /usr/include
[02:36:43] <Okasu> gcc 4.6.0-3, i install glibc gcc and g++ with package manager
[02:37:07] <Okasu> i heard that gcc 4.6.0 have some issues
[02:37:21] <Okasu> gcc cause my problems?
[02:38:05] <pupnik> i'm sorry but i vaguely remember seeing this error
[02:45:27] <tomprince> Okasu: That is fixed by d86c1c4de613a995c60d8af23aacf0e317efa5ab.
[02:47:01] <Okasu> tomprince: what?
[02:48:04] <tomprince> That is fixed on master, but it is just add '#include <cstdlib>' before '#include <list>' in EffectQueue.h
[02:53:17] <Okasu> oh, it helps me, thanks
[02:55:25] <tomprince> Any other issues with 4.6 should be solved by using DISABLE_WERROR.
[02:55:32] <tomprince> I haven't got around to fixing them yet.
[04:09:18] --> CorwinWeber has joined #gemrb
[04:09:37] <CorwinWeber> Hiya. :)
[04:10:23] <CorwinWeber> Looking for some information on keymappings when somebody has a sec...
[04:21:33] <-- Okasu has left IRC (Ping timeout: 250 seconds)
[05:34:25] <CorwinWeber> Soooo..... does anybody know where I can copy my keyboard.ini file from a Planescape install so that gemrb can see it?
[06:05:21] <tomprince> We don't currently support keymapping. :(
[06:27:16] <CorwinWeber> Ok..... um.... so even changing the option in planescape isn't possible?
[06:41:12] <pupnik> keymapping is sometimes more complex than it seems
[06:48:34] <CorwinWeber> Ok, so.... how does anybody finish the game?!?!?!? I can't see anyone manually selecting bandages every time they need them....
[07:00:47] <tomprince> I don't know if anybody has finished PsT in gemrb yet. It is the second least well supported game, although it has been improving recently.
[07:01:39] <tomprince> And we plan to add support for keymapping, we just haven't agreed how to implement it yet.
[07:05:42] <-- CorwinWeber has left IRC (Ping timeout: 246 seconds)
[07:20:19] --> CorwinWeber has joined #gemrb
[07:23:52] <-- CorwinWeber has left IRC (Client Quit)
[07:47:02] --> lynxlynxlynx has joined #gemrb
[07:47:02] <-- lynxlynxlynx has left IRC (Changing host)
[07:47:02] --> lynxlynxlynx has joined #gemrb
[07:47:02] --- ChanServ gives channel operator status to lynxlynxlynx
[07:50:15] <fuzzie> maybe we need large 'PS:T/IWD2 not supported' sign
[07:59:57] <dhewg> moin
[08:00:49] <fuzzie> also I played PS:T without binding anything, didn't realise the keybind screen existed until I went to look for gemrb :P
[08:01:02] <fuzzie> but keybindings not so hard, just many arguments on how to implement them..
[08:04:33] <dhewg> help me understand how this "Usages" work
[08:05:08] <fuzzie> i have no clue
[08:05:08] <dhewg> for this daystar sword, you said the sunray spell is the 2nd extended header
[08:05:18] <fuzzie> judging by what lynx said, the usages correspond to extended headers
[08:05:34] <dhewg> yeah, looks like it
[08:05:43] <dhewg> so if i createitem a fresh instance of that sword with (1, 0, 0)
[08:05:51] <fuzzie> all i know is that Usages[0] contains the stack amount, for stackable items
[08:05:56] <dhewg> and i sleep, and it turns to (1, 1, 0), is that correct?
[08:06:03] <fuzzie> that does sound correct
[08:06:12] <dhewg> then the recharge works
[08:06:35] <dhewg> maybe its just that the code for the "use item" bar fails?
[08:06:40] <fuzzie> the 2nd extended header is CHG_DAY and has 1 charge set
[08:06:49] <dhewg> also, i tried to exchange the 2 extended headers
[08:07:09] <fuzzie> heh.
[08:07:18] <dhewg> if i recreate the sword then, its right click bar lists the items reverse, but still doesnt show up in "use item"
[08:07:38] <fuzzie> well i have no idea how 'use item' works, if at all
[08:07:40] <dhewg> yeah well, that was faster than grepping for "use" and figuring out where the code hides :P
[08:07:41] <fuzzie> let's take a look
[08:08:23] <dhewg> is there maybe a flag missing on the item?
[08:08:52] <fuzzie> i guess this is ACT_USE
[08:09:58] <fuzzie> i can never work out how this action bar code works
[08:10:17] <dhewg> i cant even find the code for it :P
[08:10:23] <fuzzie> yeah, don't ask :P
[08:10:40] <dhewg> is "0010h Used up" related?
[08:10:58] <fuzzie> also don't know :P iesdp might, though
[08:11:10] <dhewg> i have two such swords sw1h31 and 51
[08:11:16] <dhewg> 51 works, 31 doesnt
[08:11:26] <dhewg> for 31, used up is empty
[08:12:20] <dhewg> "kit 1" too, whatever that 1
[08:12:30] <dhewg> *is
[08:13:38] <fuzzie> ah, ok, this is defined in a table, apparently
[08:14:27] <fuzzie> also whoever wrote this needs clubbing
[08:16:40] <fuzzie> ok, my brain is melting
[08:16:50] <fuzzie> i shall go grab coffee first.
[08:19:42] <fuzzie> dhewg: it doesn't show up at all?
[08:20:01] <dhewg> nothing in the use item bar
[08:21:55] <fuzzie> hm
[08:21:58] <fuzzie> what's on console?
[08:22:13] <fuzzie> it should e.g. try obtaining sprr70b.bam
[08:22:21] <fuzzie> erm, sppr707b.bam
[08:22:56] <dhewg> huh?
[08:23:52] <fuzzie> well, the debug output is an easy way to see if it gets that far
[08:24:09] <fuzzie> but anyway, i know what it is
[08:24:22] <fuzzie> oh, no, i don't.
[08:25:24] <dhewg> fwiw i dont see that bam on the console
[08:25:44] <dhewg> i see another for 51
[08:25:48] <fuzzie> well, if you feel like debugging, the relevant function turns out to be GetEquipmentInfo in Inventory.cpp
[08:29:19] <dhewg> wait, now i see that bam
[08:29:27] <dhewg> after a restart of gemrb
[08:32:06] <fuzzie> i shall just flail in your direction.
[08:36:02] <dhewg> :p
[08:40:50] <dhewg> i dont see GetEquipmentInfo being relevant to this
[08:41:18] <dhewg> it gets called with args 0, 12 and returns false for both swords
[08:41:45] <dhewg> it seems to look if all usages fit in the bar?
[08:42:08] <fuzzie> it constructs an array of usable extended headers
[08:45:01] <fuzzie> I don't see why it doesn't segfault. :(
[08:46:53] <fuzzie> Oh, I guess memset(NULL, 0, 0) is harmless.
[08:47:08] <dhewg> o_O
[08:47:14] <dhewg> is it?
[08:47:26] <dhewg> 0 cat be a valid ptr
[08:47:29] <dhewg> *can
[08:47:44] <fuzzie> Yeah, but setting 0 bytes of a pointer means it isn't going to reference it.
[08:48:13] <dhewg> oh
[08:48:17] <dhewg> lucky :P
[08:48:37] <dhewg> well, i dont get it
[08:48:41] <fuzzie> anyway, the gui code for the Use Item bar just loops through the result of GetEquipmentInfo
[08:48:43] <dhewg> it behaves differently
[08:48:59] <dhewg> now i have 2 swords in the quick slots
[08:49:15] <fuzzie> oh, maybe i should've asked that first
[08:49:18] <dhewg> it doesnt matter which one is selected, i always get the spells from the one
[08:49:21] <fuzzie> where do you have the swords? :P
[08:49:41] <dhewg> first 2 quickslots
[08:49:52] <fuzzie> the weapon ones, right? that should be fine
[08:49:58] <dhewg> yeah
[08:50:06] <dhewg> maybe i need more coffee too
[08:50:14] <dhewg> but is there another slot where to put it?
[08:50:22] <fuzzie> no, that should be fine
[08:50:26] <dhewg> i mean, besides offhand/shield?
[08:50:46] <fuzzie> sometimes people end up with stuff in the weirdest slots :P
[08:51:04] <fuzzie> anyway, you should check what 'pos' is at the end of GetEquipmentInfo, it should be 2 for 2 valid ext headers
[08:51:54] <dhewg> first: are all items in the quick slots supposed to pop up in the use item bar?
[08:52:38] <dhewg> because i stripped the char, only those 2 swords, nothing else
[08:52:47] <dhewg> i see that memcpy used 3 times
[08:53:02] <fuzzie> in one call?
[08:53:02] <dhewg> if i put 31 away, its ran 2 times
[08:53:09] <fuzzie> ok, so that sounds good
[08:53:11] <dhewg> yes
[08:53:20] <dhewg> all in that 0,12 call
[08:53:36] <fuzzie> after that, the only check is whether the BAM sprite exists or not
[08:54:46] <fuzzie> maybe put a debug statement in GemRB_Window_SetupEquipmentIcons (plugins/GUIScript/GUIScript.cpp), inside the "if (item->UseIcon[0]) {" check
[08:54:47] <dhewg> http://pastie.org/1827755
[08:54:58] <dhewg> 3 copies, 3 bams
[08:55:07] <dhewg> upon clicking use item
[08:55:30] <fuzzie> but not 3 entries?
[08:55:35] <dhewg> nope :P
[08:55:39] <fuzzie> actually this is simple to see if it's in that order, what's the first button?
[08:55:40] <dhewg> only the 2 from 51
[08:55:55] <dhewg> blindless from 51
[08:56:27] <fuzzie> that's pretty wtf
[08:59:04] <fuzzie> hm
[08:59:14] <fuzzie> maybe look carefully at the positioning
[08:59:36] <dhewg> tried that too
[08:59:43] <dhewg> 0, 1, 2 gets filled
[08:59:43] <fuzzie> after removing the buggy sword
[08:59:57] <fuzzie> i mean, the positioning of the buttons
[09:00:04] <fuzzie> as in their x location onscreen
[09:00:07] <dhewg> and if i exchange the positions of the 2 swords it doesnt change anything
[09:00:21] <dhewg> well, the code uses the different positions then, but the bar doesnt changes
[09:00:32] <fuzzie> the bar doesn't change at all?
[09:00:42] <dhewg> no, just the 2 icons from 51
[09:00:45] <fuzzie> i'm asking because the most likely cause seems that the first button is blank/removed
[09:01:00] <fuzzie> but you should see the buttons moving horizontally if so, when you remove the broken item
[09:01:21] <dhewg> ah, right :)
[09:01:24] <dhewg> a dead button
[09:01:44] <dhewg> the space is there if 31 is first, but there is nothing
[09:01:52] <dhewg> nothing visible and not clickable
[09:01:56] <fuzzie> right
[09:02:01] <fuzzie> so, it is almost certainly the BAM
[09:03:06] <fuzzie> if you try the call again with '0, 0' if Picture is still null, it should work
[09:04:37] <dhewg> uhm, what? :P
[09:04:56] <fuzzie> well i told you where to look a page or so ago :)
[09:05:34] <fuzzie> GemRB_Window_SetupEquipmentIcons in plugins/GUIScript/GUIScript.cpp, inside the "if (item->UseIcon[0]) {" check, if Picture is still null, try the BAM call again with 0,0
[09:07:07] <dhewg> oh
[09:07:12] <dhewg> sry, missed that
[09:07:48] <fuzzie> if it works, do tell, i will commit with commentary
[09:08:03] <dhewg> setup
[09:08:03] <dhewg> setup pic
[09:08:03] <dhewg> [ResourceManager]: Searching for sppr707b.bam...[chitin.key]
[09:08:03] <dhewg> setup
[09:08:03] <dhewg> setup pic
[09:08:06] <dhewg> [ResourceManager]: Searching for spwi106b.bam...[chitin.key]
[09:08:08] <dhewg> setup
[09:08:11] <dhewg> setup pic
[09:08:13] <dhewg> [ResourceManager]: Searching for spwi308b.bam...[chitin.key]
[09:08:17] <dhewg> if gets inside the if all 3 times
[09:08:23] <fuzzie> yes
[09:08:27] <fuzzie> but it has no cycle 1! :P
[09:08:32] <fuzzie> i am way ahead here
[09:08:42] <fuzzie> having stolen a windows machine for a moment to check the BAM
[09:09:44] <dhewg> yeah, sry, im slow today :P
[09:10:20] <dhewg> k, that worked with 0, 0
[09:13:28] * fuzzie kicks CIA-52
[09:13:28] <CIA-52> ow
[09:13:42] <CIA-52> GemRB: 03fuzzie * rf7eff95634ed 10gemrb/gemrb/plugins/GUIScript/GUIScript.cpp: fix missing equipment usage icons (thanks to dhewg)
[09:14:03] <fuzzie> item picture centering next, i guess
[09:14:39] <dhewg> what is cycle 1?
[09:14:53] <fuzzie> the normal equipment icons
[09:15:03] <fuzzie> here, the priest spell icon is being reused
[09:15:27] <fuzzie> maybe we could do something smarter, but i am wary of fiddling with things i don't understand
[09:15:50] <fuzzie> oh, maybe for context: 'cycles' are sets of frames representing a single animation within a BAM
[09:18:18] <fuzzie> there's some really interesting stuff in the graphics, like much bigger arrows
[09:18:59] <fuzzie> in fact, much bigger inv items for everything
[09:19:11] <fuzzie> did i miss a "usable-size inventory icons" option?
[09:19:27] <fuzzie> oh, right, drag icons :-)
[09:20:20] <fuzzie> so, cycle 0 usually has the drag icon.
[09:22:22] <fuzzie> maybe we should be grabbing raw frame #0 but i really wouldn't want to touch
[09:22:51] <dhewg> hm
[09:29:08] <dhewg> hm
[09:29:40] <dhewg> now that i can cast sunray, how's that supposed to work?
[09:31:47] <fuzzie> you click it and it goes boom, no?
[09:31:56] <dhewg> i cast it on myself?
[09:32:03] <fuzzie> i thought it was targetless
[09:33:00] <fuzzie> yeah, it should autotarget on self
[09:33:02] <fuzzie> doesn't work?
[09:36:06] <dhewg> not sure, not seeing an effect here
[09:36:14] <dhewg> let me try on other monsters
[09:36:46] <fuzzie> you should see a bunch of console output and a visual boom
[09:38:18] <dhewg> no, i just see the line about it being casted
[09:38:24] <dhewg> tried it on a lich
[09:39:18] <fuzzie> i seem to remember you/someone having other issues with item usage recently
[09:39:58] <dhewg> gah
[09:40:15] <dhewg> hard to test if the monster cast finger of death on themselvs :P
[09:41:41] <fuzzie> i can hack up a fix for that, but only on master
[09:43:59] <dhewg> found some skeleton warriors and shadow fiends
[09:44:12] <dhewg> i was surrounded by them and casted it
[09:44:18] <dhewg> that should definitely work, right?
[09:44:27] <dhewg> as is: inflicted at least some damage
[09:44:45] <dhewg> which doesnt happen
[09:48:12] <dhewg> also not on vampires :\
[10:02:27] <lynxlynxlynx> sunray used to crash right before 0.6.4
[10:02:42] <lynxlynxlynx> i don't remember if everything was fixed
[10:07:00] <dhewg> hm well, dont look at me
[10:07:15] <dhewg> i can cast it just fine, and also get the shiny animation
[10:07:21] <dhewg> it just doesnt have any effect
[10:07:37] <dhewg> all i get on the console it this: [Control]: Nested event handlers are not supported!
[10:07:40] <dhewg> Use item: sw1h31
[10:07:42] <dhewg> Extended header: 1
[10:07:45] <dhewg> Attacktype: 3
[10:07:47] <dhewg> Range: 1
[10:07:50] <dhewg> Target: 5
[10:07:52] <dhewg> Projectile: 0
[10:12:09] --> Boriskr has joined #gemrb
[10:18:57] <lynxlynxlynx> i guess something is wrong with the targetting then
[10:19:09] <lynxlynxlynx> it applies another effect for the damage iirc
[10:20:09] <fuzzie> ok, this guistore merge makes some stuff a bit difficult
[10:22:00] <lynxlynxlynx> nothing you can't ifdef out
[10:22:16] <fuzzie> ye, but i have no idea what i should or shouldn't ifdef out
[10:23:17] <dhewg> if i grep'ed that correctly sunray is FX_TARGET_ALL_BUT_PARTY, the only use is in EffectQueue::AddEffect, which is not reached for sunray
[10:23:32] <dhewg> should it?
[10:25:00] <fuzzie> um
[10:25:04] <fuzzie> well, define 'sunray'
[10:25:20] <dhewg> the spell?
[10:25:23] <fuzzie> i mean, if you're going by the 'Target: 5', you grepped wrong, TARGET_SELF
[10:25:59] <fuzzie> if lynx says it applied another effect for the damage, problem is much later on
[10:27:27] <dhewg> oh ok
[10:27:47] <CIA-52> GemRB: 03fuzzie * rc877b553f345 10gemrb/gemrb/GUIScripts/GUISTORE.py: fix picture centering and text in bg2 stores
[10:28:30] <lynxlynxlynx> no, the damage part is done by the original spell
[10:28:49] <lynxlynxlynx> the effect has pretarget type, so the projectile's should be used
[10:30:59] <dhewg> is it maybe only broken for this sword?
[10:31:04] <lynxlynxlynx> inareanp looks like an original projectile
[10:31:24] <dhewg> the proj. type for the item is 0
[10:31:30] <lynxlynxlynx> so maybe this is a manifestation of the same issue as with the clouds
[10:32:09] <fuzzie> dhewg: store matches original for me now
[10:35:45] <dhewg> the gfx on store items?
[10:35:56] <fuzzie> all of it :P
[10:36:42] <dhewg> heh
[10:36:53] <dhewg> i'll give it a try
[10:37:07] <dhewg> but i cant comment if it matches the original, because i cant remember :P
[10:37:18] <fuzzie> i have them side-by-side here
[10:38:04] <dhewg> whats "only use charisma/reputation modifiers when store is selling"?
[10:38:12] <dhewg> as in: not when buying?
[10:38:21] <fuzzie> yes
[10:38:30] <dhewg> its supposed to be like that?
[10:38:31] <fuzzie> if you sell stuff *to* a store, charisma/reputation modifiers are not applied
[10:38:48] <fuzzie> otherwise you end up with everything being worth 0 gold
[10:39:00] <lynxlynxlynx> sunray doesn't do damage as a spell here either
[10:39:06] <dhewg> ah
[10:39:10] <dhewg> ok, cool
[10:39:35] <fuzzie> i really hate those blue borders
[10:40:36] <fuzzie> apart from the border/stack issues, and the stupid bag weight labels, the inventory in gemrb looks good
[10:41:02] <lynxlynxlynx> you can put the borders under guienhancements
[10:41:10] <dhewg> not checked yet, but last time i tried i could totally overburden chars
[10:41:19] <lynxlynxlynx> yep
[10:41:28] <fuzzie> well, i'd like to do it all iwd2-style
[10:41:51] <lynxlynxlynx> it used to work and i tried bisecting to the culprit, but couldn't find it
[10:42:04] <lynxlynxlynx> build issues prevented from looking too deep
[10:42:06] <fuzzie> i never worked out where we ever handled encumbrance
[10:42:24] <fuzzie> if that's what you two mean here
[10:42:31] <lynxlynxlynx> yes
[10:42:43] <fuzzie> Map.cpp does actor->SetBase( IE_ENCUMBRANCE, actor->inventory.GetWeight() );
[10:42:50] <fuzzie> which is .. unhelpful
[10:43:01] <fuzzie> so it's possible i broke it when redoing the walk stuff
[10:45:25] <fuzzie> the original code checks for it being 1 (encumbered) and 2 (can't move)
[10:45:36] <dhewg> weee, store amounts
[10:46:38] <fuzzie> but gemrb is using 'encumbrance' to mean 'amount of weight carried'
[10:46:53] <fuzzie> sooo, i don't know which of those is meant to be in the stat
[10:47:46] <fuzzie> well, turns out it's not so hard to work out
[10:47:49] <dhewg> fuzzie: looks nice now!
[10:47:55] <dhewg> thx for the fix :)
[10:47:55] <fuzzie> it's meant to be the 0 or 1 or 2 thing.
[10:48:47] <fuzzie> iwd2 scripts are really alien
[10:48:57] <dhewg> there's a gfx glitch related to the mouse wheel on multiple dialogs
[10:49:37] <fuzzie> oh?
[10:49:46] <dhewg> like on the item description, move the pointer above the item panel and use the wheel
[10:49:57] <dhewg> it scrolls, but doesnt clear before that
[10:50:54] <fuzzie> soudns annoying
[10:50:56] <fuzzie> i will ignore it
[10:51:02] <dhewg> hehe
[10:51:26] <dhewg> how do spells work generally? are there spell scripts?
[10:51:56] <fuzzie> they're just collections of effects, basically
[10:52:20] <fuzzie> grouped by headers which define things like caster levels, projectile to use, etc
[10:53:57] <dhewg> how is that stored in the game data?
[10:54:26] <dhewg> can i like.. extract a spell file, and look at it with ielister?
[10:54:51] <fuzzie> sure
[10:54:58] <fuzzie> .spl
[10:55:15] <fuzzie> for your item you just want to look inside the .itm though
[10:55:39] <dhewg> yeah, i did that
[10:55:51] <dhewg> but i dont see a cross reference to a spell
[10:56:32] <fuzzie> i mean, the effects are going to be in the .itm
[10:56:41] <fuzzie> see the feature blocks
[10:57:01] <lynxlynxlynx> get dltcep, it will be much easier to explore stuff
[10:57:01] <dhewg> ah, its not in the extended block
[10:57:17] <fuzzie> dltcep makes it easy for you to corrupt your game, though
[10:58:00] <lynxlynxlynx> don't save and everything will be fine
[10:58:39] <dhewg> heh
[10:58:59] <fuzzie> not true :P
[10:59:20] <dhewg> wow, thats lotsa stuff in sppr707.spl
[10:59:33] <fuzzie> it only messes with the 'override' though, so make a copy first and you can just move it back when you're done
[11:02:01] <fuzzie> but dltcep is much nicer if you can put up with wine
[11:02:20] <fuzzie> has GUI lists with effect names, quick summary, projectile ids, etc
[11:03:29] <fuzzie> and you can view/edit everything with it, including the GUI, area stuff like polygons/searchmaps/spawns, etc etc
[11:03:50] <dhewg> apropos polygons
[11:04:04] <dhewg> there was this huge trap, like a big area
[11:04:21] <dhewg> if you want to disarm that, the actor walks to the center
[11:04:27] <fuzzie> yes
[11:04:42] <fuzzie> 00:04 <fuzzie> hm, traps are still buggy in gemrb too
[11:04:49] <dhewg> ah k
[11:04:52] <fuzzie> pending, but again master-only
[11:05:01] <dhewg> because it always fires before getting a change to unarm it :)
[11:05:50] <fuzzie> fix is simple, traps don't trigger for actors performing the Remove Traps action :P
[11:06:25] <dhewg> but should that actor really walk to the middle of it?
[11:06:38] <fuzzie> no
[11:06:45] <fuzzie> well, it's complicated
[11:07:06] <fuzzie> but as far as i can tell, the trick is that the action should notice when it's close enough and remove it
[11:07:20] <fuzzie> got an area so i can reproduce the huge trap?
[11:08:25] <dhewg> uhm, bot by save
[11:08:27] <dhewg> *not
[11:08:49] <fuzzie> i mean, knowledge of what it is :P
[11:08:57] <dhewg> trying to remember :P
[11:08:59] <fuzzie> i can teleport in original engine and check..
[11:09:06] <dhewg> it was that level before the eyeless
[11:09:15] <-- Boriskr has left IRC (Ping timeout: 252 seconds)
[11:09:16] <dhewg> no wait
[11:09:43] <dhewg> that helm temple quest
[11:10:01] <fuzzie> that *is* the eyeless, no?
[11:10:07] <dhewg> was it?
[11:10:11] <dhewg> there's that temple with the god inside
[11:10:19] <lynxlynxlynx> amaunator
[11:10:26] <dhewg> with these bridges in front
[11:10:43] <fuzzie> ah right
[11:10:44] <dhewg> just at the start of those bridges is a huge trap
[11:10:52] <fuzzie> i have 'stupid bridge' save, few moments
[11:10:57] <dhewg> heh
[11:11:23] <fuzzie> ah yes
[11:12:24] <fuzzie> original engine is hiding the target marker :P
[11:13:06] <fuzzie> but it is heading for the centre
[11:14:04] --> Boriskr has joined #gemrb
[11:24:34] <dhewg> i think "blindness" is broken too
[11:24:45] <dhewg> at least as a weapon's special
[11:24:59] <dhewg> the animation in not drawn at the targeted creature
[11:26:36] <lynxlynxlynx> what animation?
[11:27:24] <lynxlynxlynx> i'm pretty sure blindness works - the first mephit in bg2 uses it on you
[11:28:23] <dhewg> that shiny effect upon casting
[11:29:09] <dhewg> its drawn somewhere else, seems to be always to the south of the selected creature
[11:30:15] <fuzzie> oh
[11:30:19] <fuzzie> i keep complaining about that
[11:30:32] <fuzzie> it happens for *everything* drawn at the feet of creatures, for me
[11:32:27] <dhewg> but yeah, i looks like it indeed does work
[11:32:39] <dhewg> if cast on party members, i get the icon
[11:32:44] <lynxlynxlynx> should be the same as for hold then
[11:33:41] <dhewg> is it not supposed to be an offensive spell?
[11:33:57] <dhewg> i can cast it on anyone and dont get a hostile reaction
[11:34:36] <fuzzie> i don't think we implement that
[11:35:40] <fuzzie> i mean, not properly
[11:35:54] <fuzzie> look for SF_HOSTILE in the flags
[11:36:05] <fuzzie> or give me a resref
[11:37:03] <dhewg> for the spell?
[11:37:16] <fuzzie> yes
[11:39:23] <dhewg> maybe SpIn714?
[11:40:35] <fuzzie> cast from weapon?
[11:40:50] <dhewg> yeah sw1h51
[11:43:55] <fuzzie> hostile bit isn't set
[11:44:08] <fuzzie> maybe some other mechanism
[11:44:43] <dhewg> i dunno, maybe it should be like this
[11:45:13] <fuzzie> what's the weapon called?
[11:45:31] <dhewg> celestial fury
[11:45:49] <dhewg> won in an epic fight in the temple district
[11:46:01] <dhewg> that challege you get upon insulting random ppl :D
[11:46:30] <fuzzie> oh this is the crazy blind-everyone effect?
[11:46:56] <dhewg> it looks like its an area effect, yes
[11:47:05] <dhewg> although the animation doesnt look like that
[11:47:18] <dhewg> as lynxlynxlynx said, maybe related to the invisible cloud spells
[11:47:40] <fuzzie> i mean, it should blind party members also
[11:47:52] <fuzzie> in which case i imagine it probably doesn't have hostile set
[11:47:53] <lynxlynxlynx> nature's beauty?
[11:47:53] <dhewg> yes, it does, noticed that
[11:51:26] <dhewg> fuzzie: one issue left on the item description: get the nymph cloak (clck27), where you cant scroll the text, although there's more
[12:01:56] <dhewg> im not sure if these are game script bugs, but i have lots of leftover quests, or even reassigned quests which i have already solved
[12:02:25] <fuzzie> you have fixpack installed?
[12:02:32] <dhewg> yes
[12:02:41] <fuzzie> then you shouldn't have leftover/duplicate quests
[12:02:57] <dhewg> i solved that quest in umar hills
[12:03:03] <fuzzie> i am assuming you haven't neglected to actually finish the quests :)
[12:03:20] <dhewg> hehe no
[12:03:38] <dhewg> well, a guy in the government district approached me and talked about the missing ppl again
[12:03:46] <dhewg> and now i have this new old quest
[12:03:52] <fuzzie> the little kid?
[12:03:57] <dhewg> yeah
[12:04:03] <dhewg> ctrl-m on him shows dialog: DELON
[12:04:20] <fuzzie> should be fixed in fixpack
[12:07:59] <fuzzie> although if you really finished the whole thing, should work anyway
[12:08:37] <fuzzie> you have "The murders of the Umar Hills have been stopped." journal entry?
[12:08:42] <dhewg> yes
[12:08:48] <dhewg> just checked that :)
[12:08:59] <fuzzie> dialog bug probably
[12:09:13] <dhewg> there's alot of other stuff too
[12:09:27] <fuzzie> although - it does EraseJournalEntry, then SetGlobal, and both are instants
[12:09:35] <fuzzie> so ok, better question, what's the VillageSaved global set to?
[12:09:48] <dhewg> on my savegame?
[12:09:52] <fuzzie> or in-game
[12:10:09] <dhewg> how to shot global then?
[12:10:24] <fuzzie> 'print CheckVar("VillageSaved", "GLOBAL")'
[12:11:00] <dhewg> erm, i'll use ielister :P
[12:11:12] <dhewg> 025e38h Variable villagesaved
[12:11:15] <dhewg> value is 1
[12:11:17] <fuzzie> well ok :P
[12:11:28] <dhewg> case? :P
[12:11:42] <fuzzie> no, this is all squashed to lowercase internally
[12:12:15] <fuzzie> but if you really want to check, use the python? :P
[12:12:29] <fuzzie> i mean, i assume you know how to do so
[12:13:08] <dhewg> i assume you're talking about ctrl+space?
[12:13:13] <fuzzie> yes
[12:13:17] <dhewg> [GUISCript]: GLOBAL VillageSaved=1
[12:13:23] <fuzzie> so all good
[12:13:32] <fuzzie> do you have Minsc?
[12:13:38] <dhewg> yeah
[12:14:08] <dhewg> also, this is already the state where the quest is solved and the boy approached me
[12:14:19] <fuzzie> maybe this is just broken in original
[12:15:11] <fuzzie> did you talk to the boy already?
[12:15:21] <dhewg> yeah
[12:15:28] <fuzzie> i guess that must be the bug
[12:15:58] <fuzzie> if Minsc is present, it only checks whether you talked to Delon already or not
[12:16:21] <dhewg> instead of villagesaved
[12:16:47] <fuzzie> but if you already talked to him, he should vanish
[12:16:52] <fuzzie> i mean, once villagesaved
[12:16:57] <fuzzie> so i guess TalkCount is broken
[12:19:00] <fuzzie> stupid code
[12:20:01] <dhewg> k, found a savegame where quest is solved and he didnt approach me in the goverment district
[12:21:05] <fuzzie> code actually looks ok
[12:21:06] <dhewg> minscdelon is set to 0016cf67
[12:21:21] <dhewg> talkedtodelon is 1
[12:21:42] <fuzzie> you need delon's talkcount
[12:22:02] <fuzzie> which will be in the ARE
[12:22:50] <dhewg> TalkCount 00000000
[12:23:07] <dhewg> uhm, wait
[12:23:34] <dhewg> i think the initial quest was assigned to me on another map
[12:24:29] <fuzzie> yeah, i'm not sure what on earth they think is going to happen there
[12:25:01] <dhewg> i cant remember where, but it was pretty early on the game
[12:25:12] <dhewg> i ignored temple and government for quite a while
[12:26:32] <fuzzie> i can't see how this would work in original
[12:26:56] <dhewg> do you know what the fixpick did for this?
[12:27:44] <fuzzie> screwed it up, i think
[12:28:12] <dhewg> when is TalkCount supposed to be on-disk on the .are file?
[12:28:16] <fuzzie> oh dear lord
[12:28:24] <fuzzie> delon is *spawned*
[12:28:28] <dhewg> because i talked to him and its still zero
[12:28:41] <fuzzie> um, when the area is purged :P saving will do it
[12:28:53] <fuzzie> so did you kick minsc out of party at any point?
[12:29:10] <dhewg> no
[12:29:29] <dhewg> uhm, upon saving delon valishes completely from ar1000
[12:29:34] <fuzzie> minsc's 'delonspawn' local is responsible here
[12:30:16] <dhewg> i have that with parm1 set to 1
[12:30:45] <fuzzie> he will spawn delon in the first irrelevant city area he comes to, if not in combat, and delonspawn is 0
[12:32:28] <dhewg> well, it is 1 just before i run into him
[12:32:43] <dhewg> if parm1 is the var's value
[12:33:04] <fuzzie> yes, but he's only spawned once
[12:33:42] <fuzzie> if you found delon in multiple areas i can only assume it broke
[12:34:03] <dhewg> im 98% sure i got that quest in another district
[12:34:25] <fuzzie> and the scripts will not work if you get two delons, indeed
[12:34:33] <dhewg> but whatever, to me it sounds like whako game scripts
[12:34:51] <fuzzie> but it does seem controlled by the local variable
[12:37:37] <fuzzie> but this is ambigious because it is definitely broken sometimes in original, so another example pls :P
[12:37:49] <dhewg> hehe
[12:38:22] <dhewg> well, this is old stuff, but another one is the paladin/orphan at the graveyard
[12:39:07] <dhewg> i found the paladin blah blah, found the girl some days later, they agreed and lived happy but i still have the items as unfinished
[12:43:37] <dhewg> that is "Help Kamir"... and "Locate a caretaker"...
[12:49:46] <fuzzie> hmph
[12:51:13] <dhewg> or "Samia", that bitch in the windspear dungeons
[12:51:32] <fuzzie> cheerful :P
[12:51:39] <dhewg> hehe, well
[12:51:41] <lynxlynxlynx> are you sure you installed the right fixpack components?
[12:51:43] <dhewg> she comes up with some bullshit about documents which i should retrieve
[12:52:05] <dhewg> when you find the mask, she comes at you with her goons
[12:52:25] <dhewg> i wiped them, but still have her and this weird mask item open
[12:52:53] <dhewg> lynxlynxlynx: yeah, just the fixes though, not the cool stuff
[12:53:37] <dhewg> there're >4600 files in the override folder now
[13:25:55] <-- mihairu has left IRC (Remote host closed the connection)
[15:59:28] <dhewg> wtf
[15:59:49] <dhewg> whats with ar0411?
[16:00:06] <dhewg> just when entering golems all around me are spawned
[16:00:15] <dhewg> but only on 0.6.4, not on master
[16:00:25] <fuzzie> heh
[16:00:33] <dhewg> does that make sense?
[16:00:46] <fuzzie> no :P
[16:00:46] <dhewg> some area trigger or something?
[16:00:51] <dhewg> try it :P
[16:00:57] <dhewg> its hilarious
[16:01:04] <dhewg> its spawn, cast, dead
[16:01:06] <fuzzie> i hate 0.6.4 :P
[16:01:35] <dhewg> the animations are off again, but there's at least 1 iron and 3 clay golemns
[16:02:03] <dhewg> they hast themselves, slow me, cast poison + speed bug = instadeath
[16:02:06] <dhewg> *haste
[16:02:36] --> Avenger has joined #gemrb
[16:02:39] <Avenger> hi
[16:03:05] <dhewg> heya
[16:03:06] <fuzzie> dhewg: well, i don't know, but i don't support the crappy old trigger system :-P
[16:03:17] <dhewg> i'd love to use master
[16:03:33] <dhewg> wanna see how master looks like with 5 containers? :P
[16:03:36] <Avenger> did you investigate why daystar misses its usage icon?
[16:03:40] <Avenger> it should have one
[16:03:45] <Avenger> SPPR707B
[16:03:47] <fuzzie> Avenger: yes
[16:03:52] <fuzzie> but it has no cycle 1
[16:03:59] <fuzzie> i added something to try cycle 0 if cycle 1 doesn't exist
[16:04:15] <Avenger> and why do we use cycle 1
[16:04:24] <fuzzie> i'm not sure
[16:04:29] <fuzzie> cycle 0 is incorrect for most BAMs
[16:04:34] <Avenger> odd
[16:04:36] <fuzzie> but maybe we should just be using frame 0?
[16:05:06] <Avenger> most likely, yeah
[16:05:12] <Avenger> dltcep shows them correctly
[16:05:23] <Avenger> i never noticed it couldn't show an usage icon
[16:05:30] <fuzzie> and it just uses frame 0?
[16:05:35] <Avenger> let me see
[16:05:54] <fuzzie> dhewg: did you try the hacky patch to reduce the frequency?
[16:05:56] <Avenger> anyway, we have the advantage of simply checking this in IDA db :)
[16:06:25] <dhewg> fuzzie: no, because i dont wanna switch back and forth and maybe break my savegames :P
[16:06:35] <dhewg> i try master every now and then to doublecheck stuff
[16:06:58] <dhewg> but really, this golem situation is not solvable on 0.6.4 :P
[16:06:59] <fuzzie> but yeah, master is really broken there
[16:07:08] <fuzzie> my bad
[16:07:09] <dhewg> also
[16:07:28] <dhewg> yeah np, i know situations like these
[16:07:38] <dhewg> takes a while until all revamped pieces fit together
[16:07:48] <fuzzie> well, i am still trying to get rid of broken hacks
[16:07:52] <Avenger> yes, dltcep simply uses the 0. frame
[16:08:02] <Avenger> no cycle stuff
[16:08:08] <dhewg> i just noticed that container items dont have a description anymore
[16:09:00] <fuzzie> oh?
[16:09:09] <fuzzie> how do you mean?
[16:09:15] <fuzzie> Avenger: ok, probably sensible to just do that, then :P
[16:09:56] <dhewg> fuzzie: open a gem bag or a scroll case
[16:10:01] <dhewg> the icon is there, but no text
[16:10:12] <fuzzie> oops?
[16:10:23] <dhewg> hehe
[16:10:30] <fuzzie> crap.
[16:10:31] <dhewg> well its so slow on master, i dont blame you :P
[16:10:51] <fuzzie> sorry, really dumb mistake there
[16:11:56] <dhewg> does it make sense hat area bif's are copied to the cache?
[16:12:14] <fuzzie> yes, they get decompressed
[16:13:17] <fuzzie> they're the main reason the cache is there, really
[16:13:18] <Avenger> also, when you save a game, it is compressed from there
[16:13:28] <fuzzie> we just abuse it for the stupid savegame thing :P
[16:13:36] <CIA-52> GemRB: 03fuzzie * r895092e83bda 10gemrb/gemrb/GUIScripts/GUISTORE.py: move ITEMNAME set in GUISTORE up to fix bags, thanks dhewg
[16:13:39] <Avenger> it isn't an abuse
[16:13:51] <Avenger> wouldn't the original do the same?
[16:14:07] <dhewg> but i only see the bif itself, not the uncompressed files
[16:14:07] <fuzzie> as far as i know, it uses a temp dir, but i forget
[16:14:22] <fuzzie> dhewg: but the BIF in the cache is uncompressed
[16:15:07] <Avenger> some gametypes have the bifs compressed, though not all. There are even 2 different compression methods
[16:15:08] <dhewg> are compressed files in the bif modified?
[16:15:22] <fuzzie> i'm confused
[16:15:38] <lynxlynxlynx> bifs are static
[16:15:38] <fuzzie> i mean, the BIF on the CDs is compressed, the BIF in the cache is not compressed
[16:15:50] <dhewg> ah
[16:15:53] <fuzzie> Avenger: yes, original game uses cache/ for cache and temp/ for game data
[16:15:56] <lynxlynxlynx> it's still one file
[16:16:04] <dhewg> ok, i confused compress container with extracting files
[16:17:56] <fuzzie> Avenger: do you know what the correct ordering of scripts in an ARE is?
[16:20:23] <fuzzie> i get obviously-incorrect output from the ordering that DLTCEP/IESDP/ielister use
[16:25:08] <tomprince> What is idx in TextArea::Draw? (it is the the first elt of a tag '[s=...'
[16:26:05] <fuzzie> the index
[16:26:13] <fuzzie> not used during drawing
[16:26:37] <fuzzie> btw if you're chasing up those g++ fixes, *don't* fiddle with Font.cpp
[16:26:50] <tomprince> No?
[16:26:54] <fuzzie> it's broken as-is
[16:28:14] <fuzzie> and i dimly remember the broken capital stuff being removed as unused in a patch of some kind
[16:28:23] <tomprince> There are two things that 4.6 complains about: used tag in CalcStringLength.
[16:28:46] <tomprince> And use of capitals+enablecaps, which is a good cleanup anyway.
[16:28:53] <fuzzie> is it?
[16:28:59] <fuzzie> well, i guess if you fix it
[16:29:58] <fuzzie> but from what i remember of the patch, it took the broken Print function and broke it some more
[16:30:46] <tomprince> Well, all I am doing is cleaning up the inconsitent usage of two variables to represent caps state.
[16:30:52] <fuzzie> sure
[16:31:01] <tomprince> https://gist.github.com/939674
[16:31:04] <fuzzie> but i mean
[16:31:10] <fuzzie> do you fix it properly, or do you just remove from one functio?
[16:31:27] <fuzzie> because *that* is just making it worse
[16:31:32] <fuzzie> so yes, please don't :
[16:31:54] <tomprince> I am not removing anything.
[16:31:59] <fuzzie> ok
[16:32:04] <fuzzie> except, your patch is doing so..
[16:32:09] <fuzzie> i mean, i hate this arguing
[16:32:34] <fuzzie> i'm just asking, don't mess with the locals there unless you fix the whole file.
[16:38:17] <fuzzie> i don't see how your patch works anyway, surely you break it?
[16:40:19] <tomprince> Well, I don't think so. There was two variables, enablecaps and ca[ota;s, that the code was keeping in sync, but only using one of them. I just changed it to use one.
[16:40:35] <fuzzie> the thing is, you changed the check to use enablecaps
[16:40:54] <fuzzie> but this changes the logic
[16:40:57] <tomprince> enablecaps is bool, so I used that. An int was needed for sscanf, so i kept capitals, but only in an inner if.
[16:41:03] <fuzzie> because enablecap is set to false after the first capital
[16:43:56] <fuzzie> and i don't mind it being tidied up, but it's clearly completely broken and i would really like someone to work out wtf, and if that's going to be me then i'd like it not to become crazier in the meantime
[16:45:30] <dhewg> healing scrolls are semi broken
[16:45:52] <dhewg> i get a cast target cursor, but it only works when selecting the caster
[16:46:09] <fuzzie> i really have no idea what's up with targeting :-/
[16:46:26] <dhewg> i think finding the issue fixes tons of weird stuff
[16:50:26] <fuzzie> the font stuff really sucks. maybe we can do more work in SetupString somehow.
[16:53:06] <fuzzie> but it clearly doesn't work as intended, i still have no clue what [capital=2] means, i think it's meant to mean "continue capitals until it is set to 0"
[16:54:01] <fuzzie> but then it only works by accident, because the enablecap is unused in Print
[16:55:07] <fuzzie> or maybe we end up in PrintFromLine and this is all entirely broken?
[16:55:38] <fuzzie> in any case, grump grump grump but *please* don't break it more. :P
[16:55:44] <fuzzie> and i shall go grump elsewhere for a bit.
[16:55:53] <tomprince> k
[16:56:58] <Gekz> that was violent
[16:59:16] <tomprince> nah
[17:18:05] <fuzzie> i spent too much time hacking on the font code i think :/
[17:19:25] <dhewg> hehe
[17:19:30] <dhewg> a thorn?
[18:02:57] <dhewg> can i somehow make the in-game text status messages appear on stdout as well?
[18:08:50] <fuzzie> no, but you could hack that in pretty easily..
[18:09:21] <fuzzie> all the display functions are in DisplayMessage.cpp
[18:09:57] <fuzzie> in preperation for the day where we give it a local buffer rather than hacking it into the ui
[18:10:07] <fuzzie> i guess everything goes via DisplayString()?
[18:11:04] <fuzzie> it would probably help if we commented things like that, i think poor tomprince already wrote a patch to remove the class once
[18:12:56] <dhewg> ah, its 'detonate'
[18:13:00] <dhewg> the hell
[18:13:37] <fuzzie> now i look at that, it can't possibly be too difficult to do, because CopyTo works
[18:14:17] <fuzzie> and that just goes through and calls SetText on a std::vector<char *>
[18:16:38] <dhewg> is 'detonate' supposed to be this powerful?
[18:16:50] <fuzzie> i have no idea what detonate is
[18:16:59] <dhewg> or is it maybe the same problem as with the insects spell?
[18:17:23] <dhewg> well, i had to hack in stdout support because the whole party is dead so fast :)
[18:17:40] <dhewg> ar0411
[18:17:41] <fuzzie> shouldn't it be one-time?
[18:17:55] <dhewg> those canibal halflings there
[18:18:05] <dhewg> they're pretty mean
[18:18:08] <dhewg> on multiple levels
[18:18:12] <fuzzie> oh, i hated those
[18:18:28] <dhewg> that 'entu' casted detonate
[18:18:43] <dhewg> the party was scattered over the level, but everyone dropped dead
[18:19:05] <fuzzie> hm
[18:19:33] <fuzzie> well, it would be best to go through these targeting/power issues one-by-one, if you have the time to help
[18:19:53] <dhewg> i glady help out when i can
[18:20:21] <dhewg> i started to look at a little code, but its complex and i think fragile when not knowing the full story
[18:20:45] <fuzzie> yes, the game code is distressingly fragile
[18:20:50] <fuzzie> we have been pretty bad at commenting etc
[18:21:07] <fuzzie> the GUI/etc code is just broken, which is easier, since you can always just rewrite the whole thing
[18:21:21] <fuzzie> which is why i am so grumpy about the font code, trying to avoid rewriting it
[18:22:25] <dhewg> hehe
[18:22:47] <dhewg> also, are enemies supposed to cast so much stuff at once?
[18:23:02] <dhewg> sometimes they cast 10 spells at once
[18:23:08] <fuzzie> if it were just me, i think the first thing i'd do is replace everything with scummvm coding style, too .. it's really difficult to read as-is
[18:23:17] <fuzzie> on master, or just 0.6.4?
[18:23:24] <dhewg> didnt try master
[18:24:40] <fuzzie> wow, that detonate is insane
[18:24:49] <dhewg> toldcha
[18:25:57] <dhewg> but i agree with the code formatting style
[18:26:35] <fuzzie> maybe it is PSIONIC_DETONATE
[18:26:37] <dhewg> if i see "if( whatever )this|=that;" thats like 3 things at once which i wont ever do :P
[18:27:30] <fuzzie> "Spell(NearestEnemyOf(Myself),PSIONIC_DETONATE)"
[18:27:55] <dhewg> in my cae he casted it on himself again
[18:27:58] <dhewg> *case
[18:28:08] <dhewg> damn, why does my typing suck so much the last days
[18:31:12] <lynxlynxlynx> re 10 spells: are you sure there're not contingencies involved?
[18:31:21] <fuzzie> detonate does fx_damage to FX_TARGET_PARTY, but param1 is 0, i guess i am missing some roll?
[18:31:28] <lynxlynxlynx> but it is also true we don't do any pausing now
[18:32:09] <fuzzie> "damage += (signed)target->GetStat(IE_DAMAGEBONUS);"
[18:32:15] <fuzzie> ^- what's IE_DAMAGEBONUS? (just curious)
[18:32:51] <dhewg> lynxlynxlynx: like beholders or lynches, it looks like they cast everything they got at once
[18:32:52] <lynxlynxlynx> detonate the innate has 1d10
[18:33:02] <lynxlynxlynx> but that sounds much too little for a hla
[18:33:04] <fuzzie> spin912?
[18:33:19] <lynxlynxlynx> yes
[18:33:24] <fuzzie> that is the one being used here
[18:33:45] <fuzzie> it is doing more than 1d10
[18:35:50] <fuzzie> but i don't see how it works :)
[18:36:29] <fuzzie> ah, DICE_ROLL does horrible magic
[18:36:44] <lynxlynxlynx> apparently it is not a hla
[18:37:06] <lynxlynxlynx> maybe i remember it from the iwd games
[18:49:03] --> _pickle has joined #gemrb
[18:53:31] <fuzzie> that spin912 is giving me fx_damage calls with Parameter1 set to values >30
[18:55:31] <fuzzie> oh
[18:55:54] <fuzzie> in fact it is giving me the same effect, with param1 creeping higher and higher as new rolls are added to it for every party member
[18:59:14] <fuzzie> this is probably also responsible for half the other bugs
[18:59:19] <fuzzie> sigh.
[19:01:36] <fuzzie> Avenger: don't suppose you're around to look at that?
[19:01:52] <tomprince> +1 to sane code formatting.
[19:02:32] <dhewg> run astyle and watch all your branches go bye-bye :)
[19:03:09] <dhewg> fuzzie: sounds your're on to something ugly. keep digging :)
[19:03:16] <fuzzie> yes, this is really ugly
[19:03:39] <dhewg> and all it needed was an unstoppable halfling
[19:03:40] <fuzzie> the multi-target effects are being modified in-place which is incorrect
[19:03:51] <tomprince> I'd recode them all from scratch, if I got to reformat all the code. :) fuzzies too.
[19:04:39] <tomprince> Well, not all my branches, some are throw-away hacks.
[19:05:07] <fuzzie> well, my issue with the style is also e.g. inconsistent naming etc
[19:05:43] <fuzzie> doing just a reformat is another issue, probably a good plan, preferably not right now :P
[19:07:01] <dhewg> yeah, it *really* is helpfull to mark class members somehow
[19:09:53] <fuzzie> tomprince also suggested moving gemrb/ to src/
[19:11:05] <fuzzie> i hate the idea because git really sucks at path tracking, but i hate being confused by gemrb/ more
[19:16:33] <lynxlynxlynx> that still happens to you?
[19:16:49] <lynxlynxlynx> i thought it'd be more a thing for newcomers
[19:17:06] <fuzzie> yes, it's just the 'gemrb/gemrb/<blah>' repeating that confuses
[19:17:07] <lynxlynxlynx> and improve tab completion, of course
[19:20:01] <CIA-52> GemRB: 03fuzzie * rf16e2a24ea9b 10gemrb/gemrb/core/EffectQueue.cpp:
[19:20:01] <CIA-52> GemRB: fix EffectQueue::AddEffect to apply only copies of effects
[19:20:01] <CIA-52> GemRB: effects applied to multiple actors (e.g. the party) were being
[19:20:01] <CIA-52> GemRB: reused, leading to issues like cumulatively higher rolls
[19:20:01] <CIA-52> GemRB: this probably needs more testing/work/rewriting
[19:20:09] <fuzzie> dhewg: fixed™
[19:21:29] <fuzzie> probably it is nicer to fix AddEffect to return the effect
[19:21:50] <fuzzie> i was talking about that for spells too, since we corrupt *those* as well
[19:27:11] <fuzzie> but since i'm not really sure what on earth, you get a memcpy hack rather than a nice tomprince-style solution, and can ponder it more at leisure
[19:28:23] <dhewg> ahhhh
[19:28:26] <dhewg> much better :)
[19:29:02] <dhewg> now detonale hits about 5 times, but all times <=10
[19:30:17] <dhewg> lets look at the other spells with reoccuring hits?
[19:30:39] <fuzzie> it hit me 8 times, the INAREA projectile combined with whole-party targeting i guess?
[19:30:56] <fuzzie> anything involving 0xe8 is known-bad for now
[19:32:10] <dhewg> INAREA is on the same map, no matter where?
[19:32:26] <fuzzie> i have no idea
[19:32:47] <fuzzie> imagine that i'm holding a "i have no clue about spells, items, effects or anything related" sign
[19:32:55] <dhewg> hehe
[19:33:11] <dhewg> well, if detonate is INAREA, then this is what it looks like
[19:33:26] <dhewg> party members are like 10 screens away and got hit
[19:35:53] <fuzzie> doesn't sound right to me
[19:37:10] <dhewg> and whats e8?
[19:38:38] <fuzzie> the on-condition thing
[19:39:01] <fuzzie> i should probably write a hack which just walks through the effect list on new trigger, and fires those manually
[19:42:00] <dhewg> are hits-every-sec spells e8 based?
[19:42:08] <fuzzie> yep
[19:42:14] <dhewg> awww
[19:42:16] <fuzzie> they shoudln't be broken though
[19:42:29] <dhewg> the interval is waaay to fast
[19:42:36] <fuzzie> got ctrl-m?
[19:42:48] <dhewg> i have to look for one
[19:42:54] <fuzzie> if it's 0x110 then we can fix that
[19:42:58] <dhewg> sec
[19:43:04] <dhewg> one was in the druid forest
[19:43:17] <dhewg> they cast insect plague or something at you
[19:43:31] <dhewg> and i got -1hp like 30 times a sec
[19:44:43] <dhewg> where do i hit ctrl-m
[19:45:00] <dhewg> on the spell targeted actor?
[19:45:02] <fuzzie> yes
[19:48:34] <dhewg> 76: 0x110: ApplyEffectRepeat (2, 3) S:sppr517
[19:48:38] <dhewg> i think?
[19:48:43] <fuzzie> yeah
[19:48:49] <fuzzie> cherry-pick time :)
[19:48:58] <CIA-52> GemRB: 03fuzzie * r8c40a3d3f6b2 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp: fix (sort of) the rest of the fx_apply_effect_repeat timings
[19:49:37] <dhewg> i do that all the time :)
[19:49:39] <fuzzie> i'm pretty sure they should be using target->AdjustedTicks
[19:49:46] <fuzzie> hence the 'sort of'
[19:50:09] <fuzzie> but the only interesting difference is that multiple actors will get hit in sync
[19:51:14] <dhewg> are all these bugs regressions?
[19:52:47] <fuzzie> not at all
[19:52:58] <dhewg> weird
[19:53:07] <fuzzie> i imagine they are bg2-specific though
[19:53:09] <dhewg> how do ppl manage to play through with that?
[19:53:27] <fuzzie> afaik only lynx has been dedicated enough to play all the way through bg2 with gemrb
[19:53:32] <dhewg> that repeating stuff was *really* annoying with all the beholders in the eyeless area
[19:53:35] <fuzzie> mostly people play bg1 or iwd
[19:53:57] <dhewg> and they alse cast everything they got at once
[19:54:00] <dhewg> *also
[19:54:21] <fuzzie> we don't handle aura at all right now
[19:54:23] <fuzzie> we should
[19:54:32] <fuzzie> it is 100 ticks, same as rounds should be
[19:55:25] <lynxlynxlynx> i played bg2 with a solo monk
[19:55:51] <lynxlynxlynx> fireshields and other e8 is easily avoided
[19:56:09] <lynxlynxlynx> atleast until you get to tob, where some enemies have a permanent effect like that
[19:56:49] <lynxlynxlynx> and i only did the main plot, practically no sidequests
[19:56:54] <dhewg> hm, insects seem to not inflict damage at all now
[19:57:04] <fuzzie> win
[19:57:07] <fuzzie> :p
[19:57:12] <dhewg> hehe
[19:57:19] <fuzzie> i hate those
[19:57:48] <fuzzie> but i am pretty unmotivated for working on gemrb if no-one is actively poking
[19:58:25] <-- Boriskr has left IRC ()
[19:58:46] <dhewg> as long as anyone cares i'll keep throwing my issues in here as i run in them
[19:59:38] <dhewg> ok, so 3 party members got an insect swarm around them
[19:59:52] <dhewg> but none has a 0x110 effect attached
[20:00:07] <fuzzie> no 0xe8 effect either?
[20:00:44] <fuzzie> oh the duration check needs fixing
[20:00:54] <dhewg> nope, no e8
[20:01:10] <fuzzie> did you have working insect swarm, then this?
[20:01:13] <dhewg> i was waiting for the insects and ctrl+y'ed everyone :P
[20:01:42] <dhewg> well, the animation/gfx was and still is fine
[20:01:55] <fuzzie> yes
[20:01:56] <dhewg> before your patch i got hit way too fast, now i wont get hit at all
[20:02:01] <fuzzie> never?
[20:02:19] <dhewg> there's a bunch of crap in the log, i didnt notice anthing so far
[20:02:45] <dhewg> erm wait, maybe one time
[20:03:21] <dhewg> i see "name - did 1 damage to name" for a couple of actors
[20:03:29] <dhewg> but i think just one time
[20:04:57] <fuzzie> hm
[20:05:58] <dhewg> is maybe the target changing?
[20:06:06] <fuzzie> hehe, no
[20:06:19] <fuzzie> once it applied once you're good on the targets. maybe.
[20:06:32] <dhewg> yeah sorry, they cast so much stuff on themselves its hard to read this log
[20:08:10] <dhewg> while i walk amongst these druids
[20:08:22] <dhewg> if i club a troll, he drops at 1hp
[20:08:35] <dhewg> if not applying fire or acid he gets up again
[20:08:48] <dhewg> in that situation, is he supposed to get back to full hp?
[20:08:59] <fuzzie> i think so
[20:09:16] <fuzzie> difficult to remember how it works in different engines
[20:11:24] <dhewg> ok i may have messed up the last test run
[20:11:37] <dhewg> does ctrl+r mess up the effect queue?
[20:11:43] <fuzzie> yes
[20:11:59] <dhewg> k, then i did that so i could move
[20:12:12] <fuzzie> it zaps everything
[20:12:13] <lynxlynxlynx> re trolls: yes
[20:12:25] <dhewg> if i dont do that, i see an insect hit once every ~2s
[20:13:04] <lynxlynxlynx> sounds perfect
[20:13:14] <dhewg> isnt it once per sec?
[20:13:38] <fuzzie> check the first param to 0x110
[20:13:51] <dhewg> yeah its 2
[20:14:06] <dhewg> k, nice
[20:14:16] <dhewg> sry for the ctrl-r confusion
[20:14:23] <dhewg> and another thing squashed, thx
[20:14:39] <dhewg> that should make life a little easier on golems i think
[20:14:57] <dhewg> i assume their clouds use 0x110 too?
[20:16:08] <dhewg> yeah, description read 2s too
[20:16:11] <dhewg> sweet
[20:16:21] <fuzzie> no idea
[20:16:39] <dhewg> oh, you know what i just noticed?
[20:16:52] <dhewg> remember that "x,y is not a valid exit point"?
[20:16:56] <dhewg> or travel point
[20:16:58] <fuzzie> yes
[20:17:11] <dhewg> that happens when the main actor is not at that spot
[20:17:19] <dhewg> it depends on how the party is aligned
[20:17:26] <dhewg> those 6 green markers
[20:20:45] <dhewg> Couldn't load animation: migog25, cycle 47
[20:25:35] <dhewg> yeah, but already better on golems
[20:25:49] <dhewg> the iron one casts gas cloud
[20:25:58] <dhewg> which results in poison
[20:26:02] <dhewg> but it stacks
[20:26:09] <dhewg> one char has it 9 times
[20:29:58] <fuzzie> whee :)
[20:30:40] <dhewg> yeah, this is actually survivable now :D
[20:30:57] <dhewg> but i dont know if gas cloud poison is supposed to stack?
[20:31:36] <lynxlynxlynx> nope
[20:31:48] <dhewg> it hits 1/s
[20:32:07] <dhewg> is that forever until cured?
[20:32:22] <fuzzie> ugh, recurring damage
[20:32:24] <lynxlynxlynx> depends on the type, but usually it is bound by either time or amount
[20:32:44] <dhewg> hm
[20:32:48] <dhewg> i only see:
[20:32:49] <dhewg> 52: 0x8e: Icon:Display (0, 6) S:spin979
[20:32:49] <dhewg> 53: 0x19: State:Poisoned (1, 2) S:spin979
[20:32:58] <dhewg> that pair now 10 times in a row
[20:33:46] <lynxlynxlynx> not good
[20:34:13] <lynxlynxlynx> unsuccesful saves should just prolong or reset the effect
[20:34:57] <dhewg> damn
[20:36:16] <dhewg> passing potions from one char to another just gave me: http://pastie.org/1829293
[20:36:54] <dhewg> gemrb: /home/andre/devel/gemrb/gemrb/core/Inventory.cpp:650: int Inventory::AddSlotItem(CREItem*, int, int): Assertion `chunk > 0' failed.
[20:37:33] <lynxlynxlynx> i thought we fixed this already
[20:37:38] <lynxlynxlynx> did you pick it out?
[20:38:26] <dhewg> no
[20:38:32] <dhewg> iirc that was slot<0
[20:38:49] <fuzzie> see if there's a !chunk check in there
[20:38:55] <dhewg> yeah
[20:39:01] <dhewg> where chunk is signed :P
[20:39:27] <fuzzie> sure
[20:39:48] <fuzzie> but if chunk is <0 then stuff is broken, hence the assert :P
[20:40:47] <dhewg> hehe
[20:41:06] <fuzzie> but it is broken, you do have the !chunk check?
[20:41:24] <dhewg> yes, its right above the assert
[20:41:44] <fuzzie> alas :(
[20:42:10] <fuzzie> debug pls.
[20:42:31] <dhewg> yay, i can reproduce
[20:42:45] <dhewg> char a, 2x5 potions in quickslot
[20:42:56] <dhewg> pass both stacks to char b, crashes on 2nd
[20:43:18] <fuzzie> check the usages on the items after passing stack 1
[20:43:35] <dhewg> will do
[20:43:57] <dhewg> it doesnt happen when char a moves from quick slot to normal inv
[20:46:02] <dhewg> it also doesnt happen when you select char b after moving stack 1
[20:46:47] <dhewg> uhm
[20:46:52] <dhewg> 19: potn08 - (6 0 0) Fl:0x6ca1 Wt: 5 x 1Lb
[20:47:09] <lynxlynxlynx> 6 != 5
[20:47:16] <dhewg> but close!
[20:47:27] <lynxlynxlynx> one had a double charge?
[20:47:59] <dhewg> wait
[20:48:10] <dhewg> its already 6 on char a in the savegame
[20:48:54] <dhewg> that may be an old stack, which i didnt touch in days
[20:49:01] <dhewg> before whatever patches, i dont know
[20:49:35] <dhewg> it even reads "6" on the icon, its just that the 6 totally looks like a 5 :P
[20:50:10] <dhewg> i think that can be ignored
[20:50:19] <dhewg> i can even unstack that fine :)
[20:51:19] <fuzzie> i guess we should really handle that
[20:51:56] <dhewg> like i said, that may not even be possible anymore. its likely that this invalid stack is from before all the patches
[20:53:45] <fuzzie> we shouldn't assert on crazy data though\
[20:53:47] <fuzzie> my bad
[21:04:48] <dhewg> there's a stack issue with containers :P
[21:05:55] <fuzzie> oh?
[21:06:50] <dhewg> im not sure yet if the numbers on the icons either not reflect the real stack amount, or if its just not adapted
[21:06:55] <dhewg> but i can clone my scrolls
[21:07:17] <fuzzie> this is your own bags?
[21:07:26] <dhewg> yes
[21:07:34] <fuzzie> old save?
[21:07:49] <dhewg> kinda
[21:08:00] <dhewg> started out on the 0.6.4 tag
[21:08:19] <fuzzie> ithe numbers on the icons in bags should always be 1
[21:08:22] <fuzzie> if not, remove, replace
[21:09:14] <fuzzie> alas, this is not true in the original, i wonder if that's exploitable :(
[21:09:37] <dhewg> i have a stack of 3 scrolls
[21:09:49] <dhewg> if i put it in the case, its one icon, which reads "1"
[21:09:49] <fuzzie> remove them, put them back
[21:09:58] <fuzzie> oh, that should be good
[21:10:03] <dhewg> i can put them out again, but only one by one
[21:10:06] <fuzzie> oh damn, i forgot to put numbers
[21:10:11] <dhewg> when doing that, it stacks in the inv
[21:10:24] <dhewg> back and forth that stuff, it seems good
[21:10:25] <fuzzie> we are missing the UI for multiple item removal
[21:10:40] <dhewg> but im pretty sure i somehow just made 5 out of 3
[21:11:05] <fuzzie> and they weren't in the bag to begin with?
[21:11:14] <dhewg> they were
[21:11:33] <dhewg> possible that its corrupted due to an old save?
[21:12:10] <fuzzie> yes
[21:12:15] <fuzzie> the original is as usual behaving very oddly here
[21:12:38] <fuzzie> but if you start with a stack in a bag, you can duplicate items
[21:12:59] <dhewg> since your patches from yesterday?
[21:13:14] <fuzzie> yes
[21:13:20] <dhewg> k
[21:13:24] <fuzzie> i just now did it in original to make sure
[21:13:34] <fuzzie> i'm sure we can find a better way, liek what Maighstir suggested
[21:13:47] <dhewg> if i move all out and in again, does that unbork or should i throw that away?
[21:14:05] <fuzzie> sure
[21:14:12] <fuzzie> or you can just enjoy dupping items
[21:14:41] <dhewg> nah
[21:45:24] <lynxlynxlynx> fx_cast_spell is where sunray breaks
[21:45:45] <lynxlynxlynx> since it is the first in the effect block, the rest don't show
[21:54:21] <fuzzie> why breaks?
[21:55:30] <lynxlynxlynx> not sure yet
[21:55:50] <lynxlynxlynx> fx_cast_spell plays out nice and the rest of the effects are in the projectile
[21:56:11] <lynxlynxlynx> still stepping through
[21:59:00] <lynxlynxlynx> aha, LastTarget is 0, so Map::AddProjectile sets the wrong target
[21:59:49] --> mihairu has joined #gemrb
[22:01:02] <fuzzie> hum
[22:01:13] <lynxlynxlynx> trying with tgt in CreateProjectile
[22:01:17] <fuzzie> that AddProjectile call should use 'tgt', not LastTarget?
[22:01:18] <fuzzie> heh :P
[22:01:54] <lynxlynxlynx> :P
[22:01:58] <fuzzie> i guess the other checks should use it too
[22:02:02] <fuzzie> but ok, i can see you are way ahead of me here
[22:03:52] <lynxlynxlynx> that was enough :)
[22:04:33] <tomprince> I wonder what distributions people run, for creating commitly binaries from master.
[22:06:15] <lynxlynxlynx> the loading times thing is visible also on this almost brand new laptop btw
[22:06:57] <fuzzie> tomprince: commitly binaries?
[22:07:00] <fuzzie> oh, right
[22:07:22] <fuzzie> do we really have so many desktop users who'd care?
[22:07:32] <fuzzie> lynxlynxlynx: the bags?
[22:07:57] <lynxlynxlynx> at least one
[22:09:07] <tomprince> I don't know.
[22:10:06] <fuzzie> i guess everyone seems to be an ubuntu user
[22:11:36] <lynxlynxlynx> pfft
[22:11:47] <CIA-52> GemRB: 03fuzzie * r25f82ee7fc46 10gemrb/gemrb/core/ (Game.cpp Map.cpp): hack in more sensible game/area script updates
[22:12:14] <fuzzie> lynxlynxlynx: you see other users wandering by who might want binaries?
[22:12:59] <lynxlynxlynx> i'm not sure if there's anyone else but unofficial packagers, but the diversity is not low
[22:13:01] <fuzzie> the problem with the STO thing is that it loads ITM which means the slowness of the new sliced stuff is exposed
[22:13:46] <fuzzie> or maybe slowness elsewhere, i still really didn't track it down
[22:14:03] <CIA-52> GemRB: 03lynxlupodian * r6fca0249d8d7 10gemrb/gemrb/core/Scriptable/Scriptable.cpp:
[22:14:03] <CIA-52> GemRB: Scriptable::CreateProjectile: use tgt instead of bogus LastTarget
[22:14:03] <CIA-52> GemRB: fixes Sunray not doing anything but the light pillar
[22:15:14] <fuzzie> but that 25f8 applies the script patch i have locally for the bags
[22:15:33] <fuzzie> i have some hacks for the VFS layer too, but i don't want to conflict with anything tomprince might have there
[22:15:46] <fuzzie> not VFS layer. file stream stuff.
[22:16:06] <lynxlynxlynx> dhewg: cherrypick that one
[22:16:39] <lynxlynxlynx> maybe it also fixes selftargetting, but i don't have any handy saves to test that
[22:17:47] <lynxlynxlynx> fuzzie: how are the scripts related to bags?
[22:17:56] <fuzzie> lynxlynxlynx: they're the ones poking through them
[22:18:18] <lynxlynxlynx> oh
[22:18:57] <fuzzie> there are check-in-all-bags variants of the item check triggers
[22:26:16] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:29:01] <CIA-52> GemRB: 03fuzzie * r0d861a7e3867 10gemrb/gemrb/core/GameScript/Actions.cpp: hack spell action targeting a bit until they're fixed properly
[22:38:00] <tomprince> fuzzie: I don't have anything.
[22:38:22] <fuzzie> oh, i thought you had MemoryStream plans
[22:39:11] <-- Avenger has left IRC (Quit: bye!)
[22:39:27] <fuzzie> although I'm no longer so sure it'll help
[22:40:00] <fuzzie> more fopen()s in the critical path got converted to FileStream than i'd thought
[22:42:24] <tomprince> I did, and do, but the code currently seems broken.
[22:42:32] <dhewg> yaaaay sunray \o/
[22:42:54] <tomprince> And anyway, I am at the point where I can recreate gemrb patches in my sleep. :)
[22:43:17] <fuzzie> i think we gain 6 new seek calls per file open
[22:43:49] <fuzzie> although i think one of those is unnecessary - the SeekStart(0) in FileStream::FindLength() is unneeded, right?
[22:46:04] <tomprince> Yes.
[22:48:01] <dhewg> yes!
[22:48:16] <dhewg> sunray1hitpwnkangaxx
[22:48:56] <fuzzie> tomprince: but you're okay with me committing sewmi-hackish stuff?
[22:49:08] <dhewg> that fight is hilarious, but without todays fixes is was beyond impossible
[22:49:10] <tomprince> I wonder if we could delay the seeks to fiind the length in FindLength until we actually need the length.
[22:49:34] <tomprince> How hackish? :)
[22:49:49] <tomprince> vs how much improvement?
[22:49:51] <fuzzie> sometimes I feel like I only ever commit terribly hackish stuff :-/
[22:51:44] <fuzzie> i just added a trivial most-recently-used cache to KEYImporter
[22:52:13] <tomprince> That sounds sensible.
[22:52:36] <fuzzie> together with some MemoryStream for small files, i think it would be great
[22:54:31] <fuzzie> but i imagine it might not interact well with e.g. clearing the cache on windows while we have a bif in it open
[22:55:12] <fuzzie> http://fuzzie.org/nfs/gemrb/bif_cache_hack.txt anyway. v.trivial.
[22:56:21] <fuzzie> mostly i want it for this repeated item fetching, where the hit rate is pretty much perfect
[22:57:20] <fuzzie> and i don't want to get bogged down in trying to work out a design for proper BIF caching which would really have to be smarter about what's available
[22:57:47] <fuzzie> so reviews/mockery welcome, maybe i can think some more about it and/or steal tomprince's MemoryStream stuff in the morning
[23:00:55] <fuzzie> dhewg: any idea if the game-on-CD behaviour (copying files to cache before using) might be helpful for android devices with slow storage?
[23:02:07] <tomprince> I'd factor out the caching logic (from GetStream). And perhaps cached_bifnum and cached_archive? Although I am not sure I like those names either.
[23:02:58] <dhewg> fuzzie: unsure, with certain inmem cache mechanisms i bet it works out better
[23:03:06] <dhewg> im not sure what gemrb does at all times
[23:03:21] <dhewg> but i have not +400mb in my gemrb cache
[23:03:28] <dhewg> that cant be good on android :)
[23:03:41] <tomprince> Also, what naming convention do you want to use ... should use it for new code/variables.
[23:04:09] <fuzzie> well, i have become used to the scummvm style
[23:04:16] <fuzzie> where i would be shot at dawn for such variable names
[23:04:26] <fuzzie> would be '_cachedArchive' and '_cachedPlugin'
[23:05:30] <fuzzie> if i were actually writing something, i'd have a struct KEYCache with '_bifNum' and '_plugin', and then one of those as a '_lastSeenCache' member of KEYImporter, or something
[23:06:08] <fuzzie> dhewg: original game could get away with <200mb, it seems
[23:06:47] <fuzzie> not much less though
[23:07:15] <fuzzie> and you'd need the override on the fast fs too
[23:08:15] <dhewg> hm
[23:08:26] <dhewg> i dunno how that android port is configured
[23:08:37] <dhewg> is the cache on sd?
[23:08:53] <tomprince> I'm not sure about the leading _ though I am sure I could get used to it.
[23:09:00] <tomprince> I do like the KEYCache idea.
[23:09:16] <fuzzie> you get used to it, as a quick way to see whether something is a member variable or not
[23:09:26] <fuzzie> but don't know if it's a good idea
[23:11:08] <tomprince> And tabstops being 4 spaces is clearly wrong. :P
[23:11:56] <fuzzie> hehe
[23:12:29] <fuzzie> also, while i remember, the reason gemrb is so slow on the Xoom is that it's using /mnt/sdcard which is some kind of secret google 'make things really really slow' filesystem
[23:13:31] <dhewg> heh
[23:13:46] <fuzzie> apparently it's some kind of buggy FUSE layer pointing to some directory on the internal storage
[23:13:54] <dhewg> well samsung uses this fat wrapper
[23:14:05] <fuzzie> because the Xoom doesn't actually handle SD cards
[23:14:21] <dhewg> so blocks get distributed because of wear leveling
[23:14:34] <fuzzie> but is it so very slow?
[23:14:38] <dhewg> doesnt sound like a bad idea, but performance isnt great
[23:14:44] <dhewg> well, there was one trick
[23:14:50] <-- mihairu has left IRC (Ping timeout: 276 seconds)
[23:14:54] <dhewg> there's a kernel sysctl for the cache size
[23:15:12] <dhewg> it was something hilariously small
[23:15:43] <dhewg> i set it to 3mb or so and it was totally faster
[23:15:57] <dhewg> but ext4 is still the fastest
[23:16:36] <tomprince> Except _, g_ and * gravity, I think those guidelines seem sane.
[23:21:19] <tomprince> ;s
[23:21:21] <fuzzie> ah, well, g_ is because global variables are very rare
[23:21:30] <fuzzie> but i haven't seriously thought about it
[23:21:43] <fuzzie> it occurs to me that the simplest way to do the BIF caching would be to do it how the original does it
[23:21:55] <tomprince> That actually might not be bad, make it clear that core is a fancy global.
[23:23:22] <fuzzie> will maybe implement a serious cache in the morning
[23:23:29] <fuzzie> but must sleep
[23:23:34] <fuzzie> thanks for feedback!