00:00:03 -!- omarax has quit [Remote host closed the connection] 00:11:51 -!- Nhorian has quit [Ping timeout: 264 seconds] 00:19:22 -!- wales has quit [Quit: Page closed] 00:20:01 what are some possible reasons that crawl doesn't compile to completion? 00:20:28 as far as i can tell, i reverted all the changes i made 00:20:34 but when i try to make it shows https://gyazo.com/e4573ff067bc74aab99b3da51881b9ec 00:20:45 after it leaves the first directory it just doesnt do anything 00:21:58 -!- zxc has joined ##crawl-dev 00:26:19 it may be checking file modification times 00:26:32 -!- nicolae- has left ##crawl-dev 00:26:43 is there an issue it sees with those? 00:26:48 note that many virus checkers do not like the way cygwin/msys2 handles unix compatible fork(), and cause things to be very slow as a result 00:27:08 you may want to disable virus checking in the crawl source directory so it doesn't start scanning every file 00:27:21 okay 00:27:25 (and slowing the rest of the system down) 00:27:34 but even if its slow it should still execute to completion right? 00:27:40 mine seems to just stop abruptly 00:27:46 do you think thats antivirus as well? 00:28:18 the antivirus program can be triggering on every file access because it thinks make is a possible virus, because it uses fork() emulation 00:28:40 which it thinks looks like an evasion scheme to try to hide what it is doing 00:28:58 you can install process explorer and watch what files make is accessing 00:29:31 -!- DarkwingDuck has quit [Quit: Page closed] 00:29:33 https://sysinternals.com (this will redirect to a microsoft tech note, since microsoft adopted the tools and the company that made them originally) 00:30:23 alright 00:30:26 it wont show if a virus checker is active, you'd have to use the antivirus's control panel to do that 00:30:39 ive already disabled avast for one hour 00:30:54 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.19-a0-1511-g16f215b (34) 00:31:08 hm 00:31:10 webpage not loading 00:31:27 this one work? 00:31:27 https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx 00:35:01 hm, maybe they let it lapse finally :/ too many people know that page 00:35:04 anyway, yes 00:35:59 just ran it 00:36:07 saw make.exe on here going thru various files 00:36:18 what should i be watching out for in particular? 00:36:25 its still stopping at the same spot 00:36:39 -!- destrovel has quit [Quit: Page closed] 00:40:44 -!- PleasingFungus has joined ##crawl-dev 00:42:13 -!- Kalir has quit [Ping timeout: 240 seconds] 00:43:46 that seems wrong, it should still be looking at files 00:43:59 hm. try: make TILES=y V=1 00:44:23 okay 00:45:24 same thing 00:45:58 i ran a make -d TILES=y and it seemed from what i gathered like it was compiling fine? 00:46:58 but whenever i try to open crawl.exe 00:47:06 wonder if that was the right option... sigh 00:47:08 it just closes very soon after startup 00:47:23 nicolae was having a similar issue earlier 00:47:27 but i think its fixed on his end now 00:47:30 that sounds like it's having problems loading a vault 00:47:42 no, V=1 was right for verbose build 00:47:53 so make should have reported what it ran that "stopped" 00:48:00 odd 00:48:34 https://gyazo.com/f135a7f357d565585945e1148b845e60 00:49:04 i was messing with the des folders earlier 00:49:04 -!- xnavy_ has quit [Ping timeout: 265 seconds] 00:49:04 i was worried that was the issue 00:49:12 so i replaced the des folder contents with the originals 00:51:14 vault problems causing a silent exit is a known interface wart on Windows; if a program enables graphics mode, it loses access to the console and can't report the error 00:51:37 i see 00:51:40 try building without "TILES=y" and it should report the vault error to the console 00:51:46 when you run it 00:51:48 ok 1 second 00:52:06 there were various attempts to work around that windows console gotcha, but they all had even worse failure modes 00:52:51 ah 00:55:08 o btw, would you happen to know where in the code is the +/-artefact 00:55:15 written? 00:55:21 armour in particular 00:55:53 + and -'s for artefacts 00:55:56 msg got cut off 00:57:44 -!- PleasingFungus has quit [Ping timeout: 250 seconds] 00:57:44 no 00:58:35 kk 01:00:03 -!- omarax has quit [Remote host closed the connection] 01:00:04 -!- zeia has quit [Ping timeout: 240 seconds] 01:02:33 make without the tiles=y flag seems to be running fine... 01:02:48 its still running but going around creating .o files right now 01:03:07 so i guess the key is to run the make function first, then rerun with the tiles=y flag after? 01:03:27 protopulse_: you could just leave it in console 01:03:40 ? 01:03:46 since what you're testing is not tiles-related and you seem to be having trouble building tiles 01:03:53 just build console and test in that 01:03:54 -!- kdrnic has quit [Quit: Leaving] 01:04:04 im not too familiar with the interface 01:04:07 for debugging purpose 01:04:29 -!- robotcentaur has quit [Quit: Page closed] 01:04:29 but yea, i suppose thats an option if tiles is giving me issues 01:04:47 honestly never played on console before 01:13:40 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 01:18:02 -!- Harudoku has quit [Ping timeout: 255 seconds] 01:19:58 Unstable branch on crawl.develz.org updated to: 0.19-a0-1511-g16f215b (34) 01:27:12 it's harder, but can be useful when debugging 01:27:17 especially because the window takes up less space 01:27:26 -!- scotchmint has quit [Read error: Connection reset by peer] 01:27:55 that's a good point 01:28:05 i know some old school players prefer console anyways 01:31:40 -!- zxc has quit [Read error: Connection reset by peer] 01:32:11 -!- zxc has joined ##crawl-dev 01:33:15 -!- zxc has quit [Read error: Connection reset by peer] 01:33:22 -!- jfunk has quit [Quit: Page closed] 01:34:08 -!- zxc has joined ##crawl-dev 01:36:34 -!- blejac99 has quit [Quit: Leaving.] 01:56:25 Windows builds of master branch on crawl.develz.org updated to: 0.19-a0-1511-g16f215b 01:56:51 -!- protopulse_ has quit [Ping timeout: 264 seconds] 01:58:59 -!- Cimanyd has quit [Quit: Page closed] 02:00:03 -!- omarax has quit [Remote host closed the connection] 02:01:16 -!- jehoesefat has quit [Quit: Leaving] 02:17:41 harder? console is easier 02:17:56 that's why console players have a higher winrate... 02:35:14 -!- Guest69125 has quit [Ping timeout: 250 seconds] 02:40:56 -!- ontoclasm has quit [Quit: Leaving.] 02:40:58 -!- Kalir has quit [Changing host] 02:52:39 -!- squidcat has quit [Ping timeout: 264 seconds] 02:54:10 Monster database of master branch on crawl.develz.org updated to: 0.19-a0-1511-g16f215b 02:55:02 tiles is for hardcore players 02:55:09 -!- hpm_ has quit [Read error: Connection reset by peer] 02:56:01 explore mode is for softcore players 03:00:03 -!- omarax has quit [Remote host closed the connection] 03:04:17 -!- destroythecore has quit [Read error: Connection reset by peer] 03:15:53 -!- Dracunos has quit [Ping timeout: 240 seconds] 03:21:25 console is for casual players 03:21:29 explore mode is for devs 03:28:10 Unstable branch on crawl.beRotato.org updated to: 0.19-a0-1511-g16f215b (34) 03:34:47 -!- Kalir has quit [Quit: I'M OUT SON. PEACE, LOVE, EXPLOSIONS.] 03:43:43 zxc has no idea how hard crawl is anyhow, obviously plays on the easiest mode possible with a win rate like that 03:45:19 -!- bcadren has quit [Ping timeout: 276 seconds] 03:45:20 -!- zxc has quit [Read error: Connection reset by peer] 03:46:09 -!- zxc has joined ##crawl-dev 03:50:53 -!- bairyn has joined ##crawl-dev 03:54:00 -!- Zeor has quit [Quit: Leaving.] 03:54:49 but I play tiles... tiles is hardmode 03:55:17 some kind of hacked, australian tiles I guess! 03:55:40 crawl is an australian game 03:55:49 us australians have inherent advantages over the rest of you 03:56:11 we just instinctively know how to deal with snakes and spiders 03:56:15 see that theory falls apart when you consider chequers 03:56:54 he is merely masquerading as an australian 04:00:04 -!- omarax has quit [Remote host closed the connection] 04:15:16 -!- Siegurt has joined ##crawl-dev 04:15:16 -!- Siegurt has quit [Client Quit] 04:16:20 -!- Siegurt has joined ##crawl-dev 04:27:18 -!- Blazinghand has joined ##crawl-dev 04:33:53 -!- Medar has quit [Ping timeout: 265 seconds] 04:34:01 -!- Medar has joined ##crawl-dev 04:40:03 -!- Elynae has quit [Ping timeout: 264 seconds] 04:53:54 -!- HellTiger_NB has quit [Ping timeout: 244 seconds] 04:56:04 -!- GauHelldragon has quit [Ping timeout: 250 seconds] 05:00:05 -!- Medar has quit [Ping timeout: 276 seconds] 05:00:06 -!- omarax has quit [Remote host closed the connection] 05:00:13 -!- Medar has joined ##crawl-dev 05:01:47 -!- Zet has quit [Remote host closed the connection] 05:04:50 -!- Blazinghand has quit [Quit: This computer has gone to sleep] 05:08:46 -!- Ququman has joined ##crawl-dev 05:12:06 -!- Siegurt has quit [Quit: Leaving.] 05:20:44 -!- Netmonmatt has quit [Quit: Going offline, see ya! (www.adiirc.com)] 05:30:05 -!- Pekkekk has quit [] 05:31:22 -!- Insomniak` has quit [Quit: I like to rock] 05:33:41 -!- HellTiger has quit [Ping timeout: 244 seconds] 05:36:29 -!- Blazinghand has joined ##crawl-dev 05:39:25 -!- amalloy is now known as amalloy_ 05:41:39 -!- Blazinghand has quit [Quit: This computer has gone to sleep] 05:41:59 -!- Medar has quit [Ping timeout: 244 seconds] 05:42:06 -!- Medar has joined ##crawl-dev 06:00:01 -!- omarax has quit [Remote host closed the connection] 06:15:26 -!- beogh has quit [Ping timeout: 264 seconds] 06:32:09 -!- ScarCow has quit [Quit: Lost terminal] 06:32:34 -!- ProzacElf has quit [Ping timeout: 260 seconds] 06:41:50 -!- Elynae has quit [Ping timeout: 264 seconds] 06:44:25 -!- Tux[Qyou] has joined ##crawl-dev 06:47:58 -!- Shard1697 has joined ##crawl-dev 06:59:50 -!- Shard1697_ has joined ##crawl-dev 07:00:02 -!- omarax has quit [Remote host closed the connection] 07:02:51 -!- Shard1697 has quit [Ping timeout: 264 seconds] 07:15:15 -!- Kintak has quit [Ping timeout: 276 seconds] 07:17:38 -!- HellTiger_NB has quit [Ping timeout: 265 seconds] 07:35:18 -!- Kranix has quit [Quit: Konversation terminated!] 07:51:53 -!- Kranix has quit [Quit: Konversation terminated!] 07:57:18 -!- eb_mobile has quit [Ping timeout: 244 seconds] 07:58:42 -!- AndChat|247025 has quit [Read error: No route to host] 08:00:02 -!- omarax has quit [Remote host closed the connection] 08:19:43 -!- elliptic has quit [Quit: Leaving] 08:21:03 -!- elliptic has joined ##crawl-dev 08:22:16 -!- scummos__ has quit [Ping timeout: 252 seconds] 08:22:38 -!- Elynae has quit [Ping timeout: 264 seconds] 08:31:01 -!- wheals has joined ##crawl-dev 08:31:38 -!- stickyfingers has quit [Ping timeout: 264 seconds] 08:48:26 -!- NhorianScum has quit [Ping timeout: 264 seconds] 08:53:07 -!- pikaro has quit [Ping timeout: 244 seconds] 09:00:02 -!- omarax has quit [Remote host closed the connection] 09:11:05 -!- shnurlf has quit [Quit: Page closed] 09:13:05 -!- Patashu has quit [Ping timeout: 244 seconds] 09:16:58 -!- Brannock_ has joined ##crawl-dev 09:19:02 -!- Brannock has quit [Ping timeout: 265 seconds] 09:20:05 -!- neofelis has joined ##crawl-dev 09:22:02 -!- Elynae has quit [Ping timeout: 264 seconds] 09:22:34 -!- Smashy has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 09:23:26 -!- neofelis has quit [Quit: Leaving] 09:44:06 -!- Daekdroom has quit [Ping timeout: 244 seconds] 09:56:14 -!- zxc has quit [Read error: Connection reset by peer] 09:57:08 -!- zxc has joined ##crawl-dev 10:00:02 -!- omarax has quit [Remote host closed the connection] 10:00:41 -!- zxc has quit [Read error: Connection reset by peer] 10:01:02 -!- sysice has quit [Ping timeout: 264 seconds] 10:01:07 -!- zxc has joined ##crawl-dev 10:01:34 -!- ScarCow has quit [Quit: leaving] 10:09:03 -!- Shard1697_ has quit [Ping timeout: 244 seconds] 10:19:29 -!- Shard1697 has joined ##crawl-dev 10:20:14 -!- Elynae has quit [Ping timeout: 264 seconds] 10:20:18 -!- protopulse has joined ##crawl-dev 10:23:18 -!- GauHelldragon has quit [Read error: Connection reset by peer] 10:31:28 g'morning everyone 10:38:34 -!- PITYHERO233 has quit [Read error: Connection reset by peer] 10:39:21 -!- Patashu has joined ##crawl-dev 10:39:59 -!- Dracunos has joined ##crawl-dev 10:46:33 !source armour_max_enchant 10:46:33 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/itemprop.cc#L1346 10:49:04 !source max_plus 10:49:04 Can't find max_plus. 10:49:37 !source property 10:49:37 1/6. https://github.com/crawl/crawl/blob/master/crawl-ref/source/describe.cc#L411 10:50:41 !source PARM_AC 10:50:42 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/itemprop-enum.h#L83 10:51:55 !source property[2 10:51:55 Can't find property[2. 10:52:03 !source[2 property 11:00:02 -!- omarax has quit [Remote host closed the connection] 11:04:38 -!- destrovel has quit [Quit: Page closed] 11:17:42 -!- Dracunos-m has quit [Ping timeout: 276 seconds] 11:22:51 TIL only 3% chance of spawning a shield with the ego resistance 11:23:00 whew thats rare 11:23:58 -!- PsyMar has quit [Ping timeout: 244 seconds] 11:24:15 -!- ScarCow has quit [Quit: leaving] 11:26:02 -!- Dracunos7 has quit [Ping timeout: 250 seconds] 11:32:18 -!- Blazinghand has joined ##crawl-dev 11:41:41 -!- elliptic has quit [Quit: Leaving] 11:44:21 -!- elliptic has joined ##crawl-dev 11:51:15 -!- jeefus has joined ##crawl-dev 11:51:26 -!- NhorianScum has quit [Ping timeout: 264 seconds] 11:52:43 -!- Lasty has quit [Read error: Connection reset by peer] 11:54:01 -!- PleasingFungus has joined ##crawl-dev 11:54:47 -!- Lasty has joined ##crawl-dev 11:54:49 -!- jefus has quit [Ping timeout: 244 seconds] 11:56:54 -!- MarvinPA has joined ##crawl-dev 12:00:02 -!- omarax has quit [Remote host closed the connection] 12:02:38 !source artefact_properties_t 12:02:38 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/artefact.h#L98 12:07:46 -!- ontoclasm has joined ##crawl-dev 12:16:03 -!- Tux[Qyou] is now known as meeeeeee 12:17:44 -!- cait has quit [Ping timeout: 244 seconds] 12:21:45 MarvinPA: how sad would you be if i removed the 'turtles withdraw into their shells' mechanic 12:22:36 very much not sad at all! 12:22:56 it'd be sort of nice to try to salvage it, but idk what's actually good there 12:23:01 i forget they even do it really, dunno how they've gotten away with it for so long after agate snail removal 12:23:05 lol 12:23:17 the first half answer the second, imo :) 12:23:24 heh 12:23:45 i was reading up on it a bit - it looks like it may have been originally added back when injured monsters ran away 12:23:59 people were annoyed at turtles running away (and using reaching attacks as they ran!) instead of, well, turtling up 12:24:09 yeah, i think it's definitely of the fleeing era 12:24:18 have you seen the super mario turtle proposal? 12:24:29 no... 12:24:54 oh! maybe?? is it an ancient devwiki thing? 12:24:54 Players can push shelled turtles around. (It is fun and a nod to Super Mario, so what's not to like?) A turtle pushed into lava dies (good luck finding that in Shoals), if pushed into water, it will act like a swimmer (and submerge). Pushing should be slow, i.e. there's a chance (depending on Str) of missing a turn spent pushing. 12:24:57 yess 12:24:59 hahah yes 12:25:44 i love the idea that it should be possible to push turtles around, but hugely cumbersome, and if you end up in water somehow it's a total waste of your time 12:25:45 like... why 12:26:03 Very strong Large characters should be able to pick up a scared turtle and throw it at an enemy. I 12:26:24 mmmm 12:26:35 !source wiz_items.cc 12:26:36 Can't find wiz_items.cc. 12:26:46 i think wiz-item.cc? 12:26:46 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 12:26:50 oh 12:26:51 ty 12:26:53 !source wiz_item.cc 12:26:54 Can't find wiz_item.cc. 12:27:01 bleh ill just go grab it off my hard drive 12:27:12 !source wiz-item.cc 12:27:12 https://github.com/crawl/crawl/blob/master/crawl-ref/source/wiz-item.cc 12:27:17 o 12:27:21 protopulse: dash, not underscore 12:27:22 turtle shells being enchantable into shields is even suggested in multiple places, nice 12:27:31 yae 12:27:31 seems to be the same b0rsuk guy 12:27:46 protopulse: you may ask, "how do i remember whether crawl filenames use a dash or an underscore?" 12:27:53 it's simple: guess randomly! 12:27:56 because youre a wizard! 12:27:58 oh 12:27:59 lame 12:28:01 lol 12:28:03 yours is better 12:28:19 MarvinPA: also, people proposed both dart slugs AND howler monkeys like a million years ago, apparently 12:28:20 fungal superpowers 12:28:21 pretty happy about my progress so far btw 12:28:25 Submerged sharks should be presented as white ^ glyphs, to represent their legendary dorsal fin. 12:28:25 im about halfway thru it :) 12:28:27 though the proposed dart slugs were a lot more... complex 12:28:30 this is all so good 12:28:41 it's extremely Silver Age Crawl 12:28:46 protopulse: sweet! 12:29:25 quick question, is it possible to see exactly where in a des file i screwed up the syntax? 12:29:42 i know it's something i did in the variable vaults folder that makes it so crawl can't start 12:29:47 but idk exactly where 12:29:47 huh, crystal golems were originally speed 7 melee enemies. i'm shocked 12:29:58 protopulse: you should get an error saying where the problem is 12:30:08 are you running the game from a console? 12:30:33 PleasingFungus: also spark serpents are on here! truly there is nothing new under the sun ("Thunder snail, with electrical melee attack (evktalo) and ranged eletrical retaliation (og17).") 12:30:35 ./dat/des/portals/desolation.des:69: Unexpected character sequence. 12:30:37 no 12:30:39 its from tiles 12:30:43 when i boot up tiles, it autoquits 12:30:45 or shock serpents or whatever they're called 12:30:52 spark waspernts 12:31:11 i just cant stomach the console UI 12:31:16 for the record, i still like the idea of a slug that spits 'netting' slime at you 12:31:18 dont want to deal with it unless i absolutely have to 12:31:38 protopulse: it's extremely bad, but it seems like you're not getting the debug info you need right now 12:31:49 possibly you can launch the tiles version from a console? 12:31:59 oh i am launching it from msys2 12:32:05 cause i cant be bothered to find it thru all the source files 12:32:08 what exactly are you doing to launch it? 12:32:09 i type ./crawl or start crawl 12:32:20 in the source folder 12:32:20 and you don't get any messages in the command line? 12:32:21 nope 12:32:31 well, sounds like windows is really bad 12:32:39 GEE 12:32:46 (i knew that already) 12:32:52 i would suggest using a superior operating system, like *Steve Jobs' Operating System X*. 12:32:54 everyone's been telling me 12:32:57 lol 12:33:03 it's X, which is the future 12:33:11 ill just look thru it manually 12:33:12 much like activex, directx, xbox, etc 12:33:13 its okay :) 12:33:23 im not ready for the future XXX yet 12:33:33 you could build console just for debugging purposes 12:33:45 oh is there to keep them separate? 12:33:50 when i build console and tiles 12:33:54 the last one i build just overlaps it 12:33:58 then i can't go back 12:34:19 sure you can, you just overwrite right back 12:34:30 build one and then rename it to crawl-console or whatever 12:34:40 god im stupid 12:34:41 ty 12:36:13 the megalopede proposal is cute 12:36:19 Their purpose is to trample players into webs in Spider's Nest. 12:36:35 nice 12:37:01 is this why players hate the devs? 12:37:56 -!- HellTiger has quit [Read error: Connection reset by peer] 12:38:20 ? 12:38:34 cause you take away stuff that's op and insert stuff that make their lives harder? 12:38:37 was joking 12:39:14 i don't really get it... 12:39:27 nvm... 12:39:30 these are ancient proposals by players mostly, not dev suggestions/plans 12:39:32 rip 12:39:36 oh 12:39:38 its just 12:39:45 i dont browse the tavern 12:39:51 good call 12:39:54 someone i was spectating yesterday told me the players hated the dev 12:39:58 lol 12:40:00 and i was like why 12:40:05 there are some super salty people on tavern 12:40:09 and they were like its stupid and i dont want to get into it 12:40:17 basically drama over game design or something 12:40:26 lots of people have lots of opinions 12:40:33 yea thats what i figured 12:46:26 magicalfaerieponies (L12 HOFi) ASSERT(range >= 0) in 'beam.cc' at line 601 failed. (beam 'puff of flame', source 'tengu conjurer', item 'none'; has range -1) (Zot (ZotDef)) 12:50:49 if i want to set you.unique_items[...] to UNIQ_EXISTS, whats the best place to do it? 12:50:54 or any arbitrary line of code really 12:51:08 -!- cait has quit [Ping timeout: 265 seconds] 12:51:14 -!- cait_ is now known as cait 12:51:22 <|amethyst> in player::player() there is this line: 12:51:26 <|amethyst> unique_items.init(UNIQ_NOT_EXISTS); 12:51:28 <|amethyst> change that 12:51:34 thanks 12:51:58 i was changing the unrand vault yesterday and realized there were a ton in sprint btw 12:52:10 i havent tried sprint but im guessing it doesnt work too well without the unrands 12:52:23 <|amethyst> unrands in sprint aren't so much of a problem, because sprint is supposed to be fairly non-random 12:52:28 sceptre of torment and axe of woe are pretty irreplaceable 12:52:28 <|amethyst> imo 12:52:37 so leave those? 12:52:42 why is sceptre of torment important? 12:52:55 doesnt it apply torment to entire screen 50% of the time on attacks? 12:53:00 no randart will match that 12:53:54 brb 12:54:10 i do not believe that any sprint is balanced around the sceptre of torment 12:54:20 probably because it's very bad for the majority of races 12:57:31 -!- zxc has quit [Read error: Connection reset by peer] 12:59:01 what about axe of woe? 12:59:09 isnt that an executioner's axe that goes up to infinity enchantment? 12:59:26 yeah that one's important 12:59:48 yea exactly, i think i'll leave the unrands in there, i dont really know about sprint balance 12:59:55 -!- elliptic has quit [Quit: Leaving] 12:59:59 might as well not mess with it cause it doesnt affect me anyways 13:00:02 -!- omarax has quit [Remote host closed the connection] 13:00:05 sure 13:00:08 axe of woe and amulet of invis are i think the only actually important ones 13:00:15 but it's nbd either way 13:00:38 dear god 13:00:42 my computer's still compiling 13:00:43 its been years 13:01:59 gotem! 13:02:19 https://gyazo.com/1065bff888e95026effd8a06f63e4b72 13:02:24 all hail console mode 13:02:33 :) 13:04:22 huh 13:04:23 "KITEM: d = ring randart no_pickup" 13:04:26 it doesnt like that huh... 13:05:04 try "any ring" 13:05:18 i still want it to be a randart though 13:05:24 im replacing unrands with randarts 13:05:27 or wait 13:05:31 u mean any ring randart no_pickup? 13:05:40 what exactly does "any" do? 13:06:15 <|amethyst> it means randomly pick a subtype given a base class 13:06:29 but isnt ring THE subtype? 13:06:36 im declaring i want not any jewellry 13:06:38 but i want a ring 13:06:38 no 13:06:43 there is no subtype 'ring' 13:06:46 <|amethyst> no, "ring of stealth" is the subtype 13:06:51 ah 13:07:03 <|amethyst> but, yeah, I was simplifying somewhat 13:07:04 -!- scummos| has quit [Ping timeout: 240 seconds] 13:07:15 <|amethyst> since "ring" isn't exactly a base item class 13:07:34 so if i want a ring 13:07:35 i have to say 13:07:38 ring of stealth randart 13:07:40 for example 13:07:46 or ring of slaying randart 13:07:59 <|amethyst> if you want that specific type of ring 13:08:15 or you can say "any ring randart" 13:08:29 probably 13:08:50 trying right now 13:08:56 for some reason it's not letting me edit the file 13:08:56 o_o 13:09:01 read only mode 13:09:13 <|amethyst> did you already have it open somewhere else? 13:09:21 <|amethyst> in another window for example 13:09:29 i just tested 13:09:31 i had console open 13:09:33 it didnt like that 13:09:39 closed it and its fine now 13:10:21 yup 13:10:23 works fine now :) 13:10:43 glad i dont have to make everytime i make changes to des files 13:10:46 only the actual code 13:11:00 -!- ontoclasm has quit [Quit: Leaving.] 13:12:29 sweeeeet! 13:12:30 it ran 13:12:34 ok time to make the scrolls 13:12:57 -!- dtsund has joined ##crawl-dev 13:13:47 btw did someone make changes to wizard mode see map to trunk? 13:13:52 i remember it didnt use to show items 13:13:55 like it'd show a question mark 13:14:00 when you entered &{ 13:14:36 !source minmay_shoctagon 13:14:36 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/dat/des/variable/float.des#L3194 13:14:56 -!- Krymise has joined ##crawl-dev 13:15:25 -!- Krymise is now known as Krymise|PHI 13:17:52 protopulse: yep 13:19:35 well i guess that's convenient 13:19:49 -!- zeia has quit [Ping timeout: 252 seconds] 13:21:47 -!- Krymise|PHI has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…] 13:23:39 -!- Krymise has joined ##crawl-dev 13:24:53 Unstable branch on crawl.akrasiac.org updated to: 0.19-a0-1511-g16f215b (34) 13:27:49 -!- Dracunos has quit [Ping timeout: 244 seconds] 13:29:47 -!- Krymise has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…] 13:30:10 -!- Krymise has joined ##crawl-dev 13:32:28 -!- Dracunos-m has quit [Read error: Connection reset by peer] 13:32:39 -!- Dracunos7 has quit [Read error: Connection reset by peer] 13:42:57 -!- TMTurtle has quit [Ping timeout: 244 seconds] 13:47:44 -!- HellTiger has quit [Ping timeout: 250 seconds] 13:49:40 -!- Dracunos-m has quit [Ping timeout: 264 seconds] 13:50:15 !source item_level 13:50:16 Can't find item_level. 13:50:23 !source depth_mod 13:50:24 Can't find depth_mod. 13:50:25 that's a variable that shows up in a bunch of places 13:50:27 not a function 13:50:32 gotcha 13:50:37 well, a parameter used in many functions? i guess 13:50:45 hmm 13:50:46 so 13:50:48 ive seen absdepth 13:50:52 and item_level and depth_mod 13:50:57 im assuming they all control item generation 13:51:02 as a function of how deep you are in the dungeon 13:51:06 trying to figure out their differences 13:51:13 -!- elliptic has joined ##crawl-dev 13:51:18 -!- Alatreon has quit [Quit: Page closed] 13:51:24 also trying to make it so my scroll generates randomly on D:1 for testing purpose 13:51:36 <|amethyst> but only D:1 ? 13:51:39 no no 13:51:40 absdepth is a concept of "how far below d:1 is this level", more or less 13:51:41 just for now 13:51:43 ish 13:52:22 -!- dtsund has quit [Quit: Reality is an illusion, the universe is a hologram, buy gold, BYE] 13:52:38 <|amethyst> scroll placement isn't affected much by depth 13:53:03 <|amethyst> there is a list of seven scrolls that become more common as you go deeper 13:53:09 !source makeitem:1452 13:53:10 Can't find makeitem. 13:53:14 !source makeitem.cc:1452 13:53:15 https://github.com/crawl/crawl/blob/master/crawl-ref/source/makeitem.cc#L1452 13:53:18 is what i was looking at 13:53:20 <|amethyst> yeah 13:53:26 <|amethyst> depth_mod btw is defined further up there 13:53:31 <|amethyst> const int depth_mod = random2(1 + item_level); 13:53:40 oh yea 13:53:42 i saw that 13:53:45 looking for item_level atm 13:53:53 <|amethyst> if you put your scroll in the argument list, and don't do that (depth_mod < 4 ? ...) thing 13:53:59 <|amethyst> then your scroll can generate on D:1 13:54:16 give it a weight of like 13:54:17 10000 13:54:18 or something right 13:54:30 <|amethyst> well 13:54:30 <|amethyst> that will make your game much harder probably 13:54:33 lol 13:54:35 oh 13:54:35 <|amethyst> since you won't get many other scrolls 13:54:37 this isnt for the game 13:54:41 this is for testing 13:54:41 lol 13:54:46 <|amethyst> use wizmode 13:54:51 <|amethyst> &%scroll of frobulation 13:55:00 err 13:55:02 also you have to name your scroll the scroll of frobulation 13:55:04 that's not optional 13:55:15 oh i named it scroll of alchemy 13:55:18 cause thats basically what it does 13:55:22 gotta rename it now 13:55:23 <|amethyst> hm 13:55:23 sorry 13:55:26 >_> 13:55:32 <|amethyst> "alchemy" makes me think it works on potions 13:55:45 hmmmm 13:55:47 okay 13:55:50 ill name it 13:55:52 frobulation 13:55:53 BUT 13:55:56 just a placeholder 13:56:01 until i can come up with a better one to make u 2 happy 13:56:24 also reason i didnt want to use wizmode 13:56:25 to generate it 13:56:32 is cause idk how to mess with wizmode code yet 13:56:34 <|amethyst> "reforging" might be one possibility 13:56:44 perhaps =P 13:56:45 <|amethyst> you don't have to mess with wizmode code 13:56:46 -!- Kenran has quit [Read error: Connection reset by peer] 13:56:55 <|amethyst> &% uses the same parser that vault item placement does 13:57:03 ohh 13:57:22 i dont think im quite at the stage where i can generate it yet 13:57:26 i dont have a corresponding png 13:57:33 i gave it a description and initiated it 13:57:34 thats about it 13:57:36 still gotta code it 13:57:43 <|amethyst> don't have to have a tile 13:57:55 <|amethyst> it'll get a "TODO" tile I think? 13:58:14 i wonder if my thing even compiles right now 13:58:32 ive added it to des/descriptions/items 13:58:34 and itemname.cc 13:58:48 messing with makeitem.cc right now to take care of generation 13:58:59 gonna go thru item_use.cc next 13:59:04 thats probably where the bulk of the work will be 13:59:15 item-use.cc* 13:59:20 <|amethyst> yeah 13:59:46 actually 13:59:48 lets compile it 13:59:50 see if it breaks 13:59:51 . 14:00:03 -!- omarax has quit [Remote host closed the connection] 14:00:41 <|amethyst> btw, it might be worth looking at the smithgod_rebased branch, as well as old code from when Chei had Make Ponderous 14:00:55 !source smithgod_rebased 14:00:56 Can't find smithgod_rebased. 14:01:00 can you link? 14:01:01 <|amethyst> %git smithgod_rebased 14:01:01 07reaverb02 * 0.15-a0-2314-g5b6e44f: Merge branch 'master' into smithgod_rebased 10(2 years, 2 months ago, 0 files, 0+ 0-) 13https://github.com/crawl/crawl/commit/5b6e44f7a7a5 14:01:09 <|amethyst> err 14:01:10 im not too familiar with past commits 14:01:16 is this like 14:01:17 dwarven forge 14:01:20 or something like that 14:01:25 i might have remembered reading something like that 14:01:47 <|amethyst> not that commit, let me find you the branch page 14:01:51 okay 14:02:02 <|amethyst> https://github.com/crawl/crawl/compare/smithgod_rebased 14:02:16 -!- Kalir has quit [Changing host] 14:02:23 <|amethyst> the second commit has a "artefactize" ability, which some of the later commits change 14:02:56 oh 14:03:01 but im altering the artefact properties 14:03:07 not makign an artefact out of a mundane item 14:03:24 ill still take a look thru it tho 14:03:33 <|amethyst> yeah, you have to handle things it doesn't 14:04:03 <|amethyst> also, it only did weapons 14:04:17 should be the same idea for jewellry 14:04:22 just different properties 14:04:35 <|amethyst> jewellery is a little more complicated 14:04:53 <|amethyst> because one of the "properties" actually isn't a property but comes from the base type 14:05:02 but 14:05:05 oh 14:05:10 is weapon brands treated differently? 14:05:16 if i have a handaxe of freezing 14:05:18 the freezing's a modifier 14:05:21 not part of its identity 14:05:23 <|amethyst> yeah, brands are different 14:05:30 -!- Dracunos7 has quit [Ping timeout: 250 seconds] 14:05:44 <|amethyst> with artefacts, the place the brand would usually go is something saying which artefact it is 14:06:00 <|amethyst> and there's an artefact prop that acts as the actual brand 14:06:10 <|amethyst> But for rings 14:06:29 <|amethyst> the difference between a "ring of stealth" and "ring of ice" is like the difference between a quarterstaff and a rapier 14:06:42 yea.. 14:07:01 <|amethyst> they're different subtypes; and artefacts still have their base subtypes 14:07:20 maybe il just make a switch 14:07:21 <|amethyst> but in-game we try to make them look like they're all the same kind of property 14:07:24 to take care of each individual case 14:07:44 <|amethyst> one possibility is to just regenerate the item as a new randart 14:07:57 <|amethyst> as a new ring rather 14:08:15 <|amethyst> and make it a randart 14:08:27 <|amethyst> hm 14:08:28 thats a little different tho 14:08:32 that's like rerolling it fresh 14:08:39 i want to take 2-3 random properties 14:08:43 and just mess them around a bit 14:08:45 <|amethyst> ah, you're tweaking the existing props, that's right 14:08:57 btw if i just wanted to create a scroll that would turn a mundane item into a randart, that's trivial right? 14:09:03 the code for it is already there 14:09:08 all i would need to do is call it 14:09:10 <|amethyst> well, you can have a chance to change a ring or amulet's subtype as one of those 2-3 properties 14:09:29 yea 14:09:32 that would work i think 14:09:53 <|amethyst> protopulse: yeah, there's even a command in wizmode to do it 14:10:03 -!- ontoclasm has joined ##crawl-dev 14:10:20 <|amethyst> which just calles make_item_randart(item, true) 14:10:24 <|amethyst> s/alles/alls/ 14:10:32 oh yea 14:10:35 i think its &+ 14:10:40 <|amethyst> yeah 14:11:08 brb 14:11:19 15 min 14:21:00 -!- Dracunos-m has quit [Ping timeout: 276 seconds] 14:23:19 <|amethyst> oh 14:23:30 <|amethyst> \unidentified books doesn't work anymore 14:23:35 <|amethyst> because they're identified now 14:23:37 -!- Dracunos7 has quit [Ping timeout: 244 seconds] 14:24:14 <|amethyst> maybe the \ setting for unidentified items should be used as the default for newly-identified items of that type? 14:25:45 <|amethyst> as a result of this, there's no way to override pickup of books in general in the \ menu currently, only book subtypes you have already seen 14:26:04 you'd want to tinker with the thing i labelled 'hack', probably 14:26:18 -!- Dracunos-m has quit [Ping timeout: 250 seconds] 14:26:29 hrm 14:26:34 !source items.cc:946 14:26:34 https://github.com/crawl/crawl/blob/master/crawl-ref/source/items.cc#L946 14:26:54 i guess that doesn't work? it seems like it should do what you were saying... 14:27:13 <|amethyst> it works in the positive case 14:27:27 <|amethyst> or looks like it would 14:27:40 <|amethyst> the problem is when I have pickup of unknown books forced off 14:27:55 and known books on? 14:28:10 <|amethyst> I have : in my "autopickup" option 14:28:24 <|amethyst> which I want to override off 14:28:29 <|amethyst> hm 14:29:32 -!- Dracunos-m has quit [Read error: Connection reset by peer] 14:30:00 -!- Dracunos7 has quit [Ping timeout: 244 seconds] 14:30:43 <|amethyst> I guess probably spellbooks should just be one entry in \ now 14:31:46 <|amethyst> I guess that makes it harder to see what books you are missing, though 14:32:50 -!- Elynae has quit [Ping timeout: 264 seconds] 14:33:15 <|amethyst> it would also work to list all books in \ now, but that would take up a lot of space 14:33:35 <|amethyst> and defeats the main purpose of the \ menu, which is to list known item types 14:35:14 -!- stickyfingers has quit [Ping timeout: 264 seconds] 14:37:12 -!- ProzacElf has joined ##crawl-dev 14:39:27 -!- Kalir has quit [Quit: I'M OUT SON. PEACE, LOVE, EXPLOSIONS.] 14:42:26 -!- smltlk has quit [Ping timeout: 264 seconds] 14:44:11 -!- WalkerBoh has joined ##crawl-dev 14:44:31 -!- Kranix has quit [Ping timeout: 252 seconds] 14:51:11 -!- amalloy_ is now known as amalloy 14:51:40 !source scroll_type 14:51:40 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/itemprop-enum.h#L367 14:53:39 is there a block of code that calls all of the .cc files? 14:54:14 can you rephrase your question? 14:54:14 i noticed +/- on armour is decided in makeitem.cc but its traits are randomly picked from artefact.cc 14:54:34 like makeitem.cc and artefact.cc, i didnt see a #makeitem.cc in artefact.cc 14:54:55 you'd want to follow the function calls 14:55:01 yea 14:55:09 where are the functions called i guess 14:55:14 is a better way to ask the question 14:55:20 !source _try_make_armour_artefact 14:55:21 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/makeitem.cc#L702 14:55:24 here's a relevant one 14:56:08 -!- DrKe has quit [Ping timeout: 276 seconds] 14:56:08 but how does it call artefact.cc? 14:56:24 you can't call a file. 14:56:35 nothing in c calls files. 14:56:38 its using the functions within artefact.cc though 14:56:42 Yes. 14:56:53 !source makeitem.cc:13 14:56:53 https://github.com/crawl/crawl/blob/master/crawl-ref/source/makeitem.cc#L13 14:57:23 It includes the header for artefact.cc, artefact.h. That lists all the different publicly visible functions in the file. 14:57:32 -!- zeia has quit [Ping timeout: 240 seconds] 14:57:44 -!- bairyn has quit [Ping timeout: 260 seconds] 14:58:12 is there a line of code that tells it to go 14:58:16 here take a look at makeitem.cc 14:58:21 oh you need artefact.cc too 14:58:22 go there 14:58:43 like when you are in game 14:58:47 and you go to the next floor 14:58:51 or youre using a scroll of acquirement 14:58:54 and making some item 14:59:04 whats the line that calls everything and gets everything rolling? 14:59:48 ahh im still confused 15:00:00 !source items.cc:1824 15:00:01 https://github.com/crawl/crawl/blob/master/crawl-ref/source/items.cc#L1824 15:00:02 -!- omarax has quit [Remote host closed the connection] 15:00:11 where in https://github.com/crawl/crawl/blob/master/crawl-ref/source/makeitem.cc#L702 is the notion that the item makeitem.cc and artefact.cc are dealing with is one and the same? 15:00:11 this is the function that starts a lot of item gen 15:00:31 item_def &item? 15:00:42 i mean, they aren't operating in parallel or something 15:00:57 <|amethyst> I think you're looking for header files 15:00:58 _try_make_armour_artefact() calls make_item_randart() 15:01:25 <|amethyst> when you call a function from another source file, you have to #include a header file that gives you the declaration of that function 15:01:27 oh 15:01:42 <|amethyst> or when you use a user-defined type like item_def, that's usually defined in a header file 15:01:55 lemme take another look at that artefact.h 15:01:58 <|amethyst> what an item_def is, what members it has, what methods it has, etc 15:02:10 <|amethyst> item_def btw is in externs.h 15:02:18 <|amethyst> if you want to see what an item looks like 15:02:47 "bool make_item_randart(item_def &item, bool force_mundane = false)" 15:02:52 so thats where its declared 15:03:05 <|amethyst> artefact.h 15:03:07 -!- daek_ has quit [Quit: Leaving] 15:03:12 yea 15:03:16 |amethyst: i think looking at the item_def definition will just raise further questions.... 15:03:17 which is found in makeitem 15:03:26 questions are good! 15:03:27 <|amethyst> PleasingFungus: further questions are good! 15:03:29 hahaha 15:03:31 ^ 15:03:33 i'm being tag-teamed! 15:03:35 unfair, imo 15:03:37 :D 15:03:43 <|amethyst> protopulse must crawl all the way down the rabbit-hole 15:04:04 its just before when i was like 15:04:07 looking at random snippets of code 15:04:13 its like getting in another person's brain 15:04:18 <|amethyst> FR: bunny-themed fork called: Rabbit Crawl: Stone Soup 15:04:18 looking at how they're using logic 15:04:23 but not seeing where the logic starts or ends 15:04:27 just portions in the middle 15:04:36 lol 15:04:43 -!- bairyn has joined ##crawl-dev 15:05:11 oh god i have too many things open, i dont even remember where i left off 15:05:12 crawlcode has no beginning and no end. it is a boundless quagmire 15:05:24 well 15:05:28 i think that goes for coding in general... 15:07:08 !source externs.h 15:07:08 https://github.com/crawl/crawl/blob/master/crawl-ref/source/externs.h 15:07:37 <|amethyst> some code is more or less quagmire-y 15:07:49 <|amethyst> crawl code is on the "more" side 15:07:55 <|amethyst> ??crawlcode 15:07:56 crawlcode[1/2]: Come get some. ~ https://twitter.com/crawlcode 15:08:33 ??crawlcode[2 15:08:33 crawlcode[2/2]: send candidate submissions to |amethyst, wheals, or PleasingFungus 15:08:47 <|amethyst> well 15:08:55 <|amethyst> not to me until I remember the password 15:08:59 lol 15:09:19 <|amethyst> I logged out for some reason, then realised I couldn't find the password in my IRC logs 15:09:44 rip 15:09:52 i think ill look at externs.h another time 15:10:42 -!- Krymise has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…] 15:10:57 can literally anyone add to the code? 15:11:05 like isnt there quality control? 15:11:05 lol 15:11:32 thats why i asked if people here were generally just hobbyists or actually program for a living 15:11:34 only some people are committers. anyone can submit a pull request 15:11:52 pull request? 15:12:11 so in layman terms, not many people contribute new code 15:12:14 but everyone is welcome to? 15:12:46 <|amethyst> currently 27 people are capable of adding code directly to crawl 15:12:51 !!! 15:12:56 <|amethyst> everyone is welcome to submit code to these people 15:12:59 (if your IRC client shows voice, the voiced people in channel are committers) 15:13:15 gotcha 15:13:25 no 15:13:29 dont see voice on my irc 15:13:45 some ppl have +'s tho 15:14:00 that's voice 15:14:18 (some clients use green dots or other markers instead) 15:14:47 gotcha 15:14:56 <|amethyst> oh, 26 people; one of those is a bot 15:15:09 i noticed a lot of people hang out here 15:15:11 but only a few are active 15:15:14 <|amethyst> and 3 pending invitations (to long-retired devs who never responded) 15:15:15 thought all of them were bots 15:15:18 i kid 15:16:01 protopulse: that's sort of how irc works 15:16:05 lots and lots of idlers 15:16:12 on mobile device? 15:16:21 -!- Krymise has joined ##crawl-dev 15:16:25 <|amethyst> protopulse: commits in the last year: https://github.com/crawl/crawl/graphs/contributors?from=2015-09-11&to=2016-09-11&type=c 15:16:43 probably not mobile, mostly, i suspect 15:16:58 i see 15:16:58 <|amethyst> maybe a dozenish active devs, and a few other frequent contributors 15:17:13 <|amethyst> active-ish 15:17:35 its all out of love for the game basically right? 15:17:42 dont see any financial incentive for it 15:17:58 is the one who made linley's crawl still involved? 15:18:02 i hate crawl, but i gotta pad up that resume 15:18:22 =P 15:18:54 hate for the players, imo 15:18:56 <_< 15:19:32 you are just a bundle of quality quotes fungus 15:20:14 <|amethyst> who was it that had students do usability testing? was it keskitalo? 15:20:19 i think Lasty commits to crawl as an outlet for the nightmarish creatures he invents in his dreams 15:20:41 -!- ScarCow has quit [Quit: leaving] 15:21:11 Ufetubus are really cute... 15:21:12 <|amethyst> I contribute to crawl because I like tracking down and fixing bugs and Crawl has a lot of them 15:21:23 haha 15:21:50 <|amethyst> I am what Dijkstra was warning about 15:21:51 <|amethyst> ??devteam[14] 15:21:51 devteam[14/27]: They rather get their substitute for intellectual satisfaction from not quite understanding what they are doing in their daring irresponsibility and from the subsequent excitement of chasing the bugs they should not have introduced in the first place. –E. Dijkstra 15:22:59 so like 15:23:05 linley moved on long ago 15:23:07 gratification for OCD patients 15:23:10 lawyer now, iirc 15:23:14 i see 15:24:05 ??devteam[1] 15:24:05 devteam[1/27]: https://crawl.develz.org/wiki/doku.php?id=dcss:admin:devteam 15:24:34 -!- scummos__ has quit [Ping timeout: 260 seconds] 15:24:41 there is a dead link to a log from when he found ##crawl in the learndb 15:25:05 dead? 15:25:23 like the link no longer exists? 15:25:26 or there's no link to the page? 15:25:39 and i really havent used learndb 15:25:54 everyone tells me to dump the wiki, but the info there is so easily digestable 15:25:54 -!- Daekdroom has quit [Remote host closed the connection] 15:25:59 tough breakup 15:27:26 -!- cojito has quit [Ping timeout: 264 seconds] 15:27:45 the target of the link 404s 15:27:52 and it wasn't on the wayback machine 15:28:16 -!- TMTurtle has quit [Ping timeout: 250 seconds] 15:28:41 ah ok 15:29:01 * geekosaur got over the wiki after the third piece of obviously completely wrong information it fed him 15:29:08 -!- tksquared has quit [Ping timeout: 250 seconds] 15:30:06 is there like patch notes or something? 15:30:09 i assume on tavern? 15:31:11 -!- Daekdroom has quit [Remote host closed the connection] 15:31:50 <|amethyst> there are three places 15:31:53 <|amethyst> 1. git logs 15:32:18 <|amethyst> 2. docs/changelog.txt in the source 15:32:42 <|amethyst> 3. http://crawl.develz.org/wordpress/blog 15:32:59 alright 15:33:02 <|amethyst> 2 and 3 are oriented towards players, 1 towards developers 15:33:22 probably 3rd one is most accessible i presume 15:34:02 -!- stickyfingers has quit [Ping timeout: 264 seconds] 15:34:07 <|amethyst> 2 and 3 are similar 15:34:18 -!- AndChat|247025 has joined ##crawl-dev 15:34:19 <|amethyst> the blog is usually more detailed 15:34:29 <|amethyst> listing more minor changes 15:34:47 yea 15:34:53 <|amethyst> and the changelog is cumulative over the whole version 15:35:15 <|amethyst> so you won't see things that were added and then removed again before a release 15:36:29 Well computer overheated =P 15:36:41 This thing really shouldn't be used for coding 15:38:14 -!- protopulse has quit [Ping timeout: 264 seconds] 15:41:15 -!- protopulse has joined ##crawl-dev 15:41:42 -!- Dracunos72 has quit [Ping timeout: 250 seconds] 15:43:00 -!- Dracunos-m has quit [Ping timeout: 250 seconds] 15:43:06 -!- kdrnic has joined ##crawl-dev 15:44:03 damn 15:44:07 i knew something was gonna break 15:44:11 -!- PsyMar has quit [Ping timeout: 265 seconds] 15:44:13 AppHdr.h:36:30: error: static assertion failed: NUM_SCROLLS == TILE_SCR_ID_LAST - TILE_SCR_ID_FIRST + 1 15:44:26 # define COMPILE_CHECK(expr) static_assert((expr), #expr) 15:45:23 !source NUM_scrolls 15:45:24 Can't find NUM_scrolls. 15:45:25 so it's forcing you to define a tile 15:45:34 i guess so 15:45:39 NUM_SCROLLS is computed 15:45:42 <|amethyst> you don't need an actual tile though 15:45:42 basically i need a png file associated with the new scroll right? 15:45:49 oh 15:45:53 it'll use a placeholder? 15:46:03 you need a matching tile enum. not necessarily an actual tile 15:46:19 where can i find those? 15:46:25 <|amethyst> you need to add a line to rltiles/dc-item.txt 15:46:26 <|amethyst> moment 15:47:28 i was going thru the list amalloy provided me and trying to match up my changes with his 15:47:28 also... may I suggest you make a note of these things, and add them to the dev wiki? I doubt there's a record of this stuff 15:47:36 https://github.com/crawl/crawl/commit/9c3d78425ac5ee07c3641d1d4906aa1ea7076808 15:47:37 might be better in docs/develop somewhere 15:47:42 or if there is, it could be out of date as things have been moved to data etc. 15:47:46 like the monster adding guide 15:49:40 theres a potion.cc but no scrolls.cc? 15:49:56 -!- tksquared has quit [Ping timeout: 250 seconds] 15:50:00 i assume its been absorbed into item-use.cc then? 15:50:01 -!- Melkor has quit [Quit: Page closed] 15:50:05 <|amethyst> yeah, but not for any good reason 15:50:28 <|amethyst> I mean, there's no reason scrolls shouldn't get a similar refactoring 15:50:34 don't make any assumptions about how the source is laid out 15:50:42 oh i didnt 15:50:51 just mildly surprised i guess 15:50:55 <|amethyst> potions are a little special because you can get potion effects from other sources 15:51:00 but its fine as long as i can find the code 15:51:11 petition potion off the top of my head 15:51:16 <|amethyst> and in those cases it goes through the potion code 15:51:18 it gets split out as things get refactored or sometimes something added gets its own file or sometimes not or ... and there has generally been no concept of organization involved >.> 15:51:28 ;.; 15:51:59 -!- scummos__ has quit [Ping timeout: 260 seconds] 15:52:01 yea, on the link above, it seems like amalloy had to mess with crawl-ref/source/rltiles/dc-item.txt and crawl-ref/source/rltiles/item/potion/i-prowess.png 15:52:18 !source crawl-ref/source/rltiles/dc-item.txt 15:52:18 also scrolls are more or less just items that hold spells, so much of the logic is just spell logic 15:52:18 Can't find crawl-ref/source/rltiles/dc-item.txt. 15:52:26 yea 15:52:35 !source dc-item.txt 15:52:35 https://github.com/crawl/crawl/blob/master/crawl-ref/source/rltiles/dc-item.txt 15:52:36 o 15:52:37 ty 15:54:13 i can add something like %back scroll-cyan i-frobulation SCR_FROBULATION and it should run right? 15:54:37 doubt it 15:54:58 i-frobulation is probably a filename 15:55:11 ..? 15:55:14 ?.. 15:55:17 yeah 15:55:23 not sure if serious 15:55:30 yeh, that naming convention is for the files holding the tile. you want a placeholder tile name there 15:55:34 dead serious 15:55:37 oh 15:55:40 i'll show you 15:55:46 -!- Dracunos has joined ##crawl-dev 15:55:55 https://github.com/crawl/crawl/tree/master/crawl-ref/source/rltiles/item/scroll 15:55:57 right here 15:56:18 ? 15:56:19 its not there 15:56:22 yes 15:56:28 because you haven't made it 15:56:31 oh 15:56:34 u mean 15:56:35 which means that referring to something that doesn't exist won't work 15:56:36 ok 15:56:39 i see 15:56:39 the simpler thing to do, imho, would be to not bother making a placeholder 15:56:39 ok 15:56:45 and just use something else's tile enum 15:56:53 not tinkering with rltiles/dc-item at all 15:56:53 so 15:57:08 oh, i see 15:57:09 use something else's tile enum.. 15:57:13 err 15:57:14 nevermind, that's automatic 15:57:15 lemme see 15:57:21 so you do need to mess with rltiles/dc-item 15:57:23 sorry 15:57:32 just do, like 15:57:34 -!- WalkerBoh has quit [Remote host closed the connection] 15:58:29 i-curse-jewellery SCR_FROBULATION SCR_ID_LAST 15:58:38 and remove the SCR_ID_LAST from the existing i-curse-jewellery line 15:58:44 and that should work? 15:59:30 so just delete that phrase? 15:59:35 SCR_ID_LAST? 15:59:46 i really hope im not breaking something here 15:59:51 isnt it easier to just grab some arbitrary png file 15:59:52 why do you care 15:59:55 who cares if you break something 16:00:00 i mean 16:00:03 -!- omarax has quit [Remote host closed the connection] 16:00:06 what i mean is 16:00:08 id rather it run 16:00:09 right? 16:00:13 its ok if it breaks 16:00:18 but its better if it doesnt 16:00:20 anyways 16:00:20 haha 16:00:20 OKAY 16:00:22 ill try it 16:00:22 anyway 16:00:28 adding an arbitrary png isn't any simpler 16:00:35 well i mean 16:00:45 you'd still need to add a line, it'd just be something like i-frobulation SCR_FROBULATION SCR_ID_LAST instead 16:00:47 isnt a lot of the sprites from creative commons or something? 16:00:56 more the other way around 16:01:01 who made the sprites? 16:01:08 a wide variety of people 16:01:17 most of them were made for the game, these days 16:01:30 and most of those have been added to creative commons afterward 16:01:34 i see 16:01:42 why? 16:01:47 because thats why i asked 16:01:52 if it was simpler to grab a preexisting png file 16:02:00 than use the workround you were recommending earlier 16:02:06 which i frankly dont know what it does 16:02:12 the SCR_ID_LAST thing 16:02:24 that's saying "this is the last scroll tile enum" 16:02:51 hold on a sec 16:02:52 which is used in that compile_check that was messing you up earlier 16:02:53 lemme actually look at the enum file 16:02:58 gotcha 16:03:02 it's an automatically generated enum 16:04:08 in rltiles, look at tiledef-main.h 16:04:19 and then look for TILE_SCR_ID_LAST 16:04:42 do not edit that file, your changes will be overwritten the next time you compile 16:04:49 ok 16:05:14 -!- Amnesiac has quit [Ping timeout: 264 seconds] 16:05:28 TILE_SCR_ID_FIRST = TILE_SCR_IDENTIFY 16:05:36 TILE_SCR_ID_LAST = TILE_SCR_CURSE_JEWELLERY 16:07:16 -!- tksquared has quit [Ping timeout: 250 seconds] 16:07:38 -!- bcadren has quit [Ping timeout: 244 seconds] 16:08:15 ok so do i need to add a % line? 16:08:17 and where do i add i-curse-jewellery SCR_FROBULATION SCR_ID_LAST 16:08:24 at the very end of that list? 16:08:48 very end of the list, ya 16:09:01 https://gyazo.com/60b89c2e6e69ec849d448b73585697e6 16:09:03 so after %none 16:09:08 %back none* 16:09:12 before %back none 16:09:14 well 16:09:16 it doesn't matter 16:09:26 before is probably more aesthetically pleasing, but it doesn't matter 16:09:33 what does %back none do? 16:09:56 if im understanding this correctly, i-acquirement SCR_ACQUIREMENT is saying for example, take acquirement.png and match it to SCR_ACQUIREMENT variable 16:10:02 but the %'s have me lost 16:10:16 oh no 16:10:18 if you look in the scroll directory, do you see the various scroll-blue.png, scroll-yellow.png, etc images? 16:10:20 %back is the png? 16:10:23 yea 16:10:26 there are two images used 16:10:35 there's the scroll in back, and there's the scroll type icon on top of it 16:10:52 this file says how the build tools should composite those together 16:11:13 i see 16:11:14 and then says, "assign them the enum with this name (e.g. TILE_SCR_ACQUIREMENT) 16:11:19 its actually overlapping the images 16:11:24 yes 16:11:41 so %back is just a template 16:11:44 its blank 16:11:47 ? 16:11:55 er 16:12:01 wait im putting mine under %back scroll-grey 16:12:04 so mine would be grey? 16:12:10 -!- wales has quit [Quit: Page closed] 16:12:16 specifically, it would be... 16:12:26 im not seeing a back.png 16:12:29 -!- Shard1697 has quit [Ping timeout: 250 seconds] 16:12:30 https://github.com/crawl/crawl/blob/master/crawl-ref/source/rltiles/item/scroll/scroll-grey.png 16:12:31 -!- jehoesefat has quit [Ping timeout: 252 seconds] 16:12:48 yea 16:13:11 "%back " means "images after this should have drawn underneath them". 16:13:34 kk 16:13:44 in i-curse-jewellery SCR_FROBULATION SCR_ID_LAST why is it i-curse-jewellery 16:13:51 because that's the filename. 16:13:51 shouldnt it be i-frobulation? 16:14:03 do you have an image called i-frobulation.png in that directory? 16:14:08 nop 16:14:10 lemme see 16:14:12 curse-jewllery 16:14:24 i mean, you can make one if you want 16:14:31 yknow what 16:14:33 lemme just 16:14:33 run this 16:14:34 but i was trying to get you to something that would compile as quickly as possible 16:14:36 and actually see what it does 16:14:37 yea 16:14:41 didn;t we answer this already? you can't use i-frobulation until you create that tile 16:14:48 yea i know 16:14:53 -!- PleasingFungus has quit [Quit: ChatZilla 0.9.92 [Firefox 48.0.1/20160817112116]] 16:14:54 i thought it was a variable 16:15:02 cause there's already a scroll-grey.png 16:15:05 so it'd be happy with it already 16:15:11 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 16:16:02 -!- Elynae has quit [Ping timeout: 264 seconds] 16:16:26 alternatively i could just do i-scroll-grey right...? 16:16:32 so it'd overlap the same image 16:16:34 on top of each other 16:16:39 and id just get a plain grey scroll 16:17:16 it'd just be scroll-grey 16:17:23 yep 16:17:46 the i- prefix is a convention for tiles to help try to organize tjhem (it stands for item, as opposed to skill or monster or ...) 16:18:16 ya 16:18:32 yea now i understand whats going on here 16:18:40 took a look at acquirement.png 16:18:51 i-acquirement.png rather 16:20:38 seems like i-curse-jewellery is actually obsolete? 16:20:44 relic of a past version? 16:22:06 yes 16:22:12 it's there for save compatibility 16:22:23 because there are games on the server that still have that scroll in them 16:22:35 i see 16:22:50 servers 16:23:07 and it compiled! 16:23:24 time to go into wizard mode to test out my brand new shiny scroll which does 16:23:25 absolutely nothing right now! 16:23:39 ooh, is someone doing a new item? 16:23:43 what's this scroll going to do? 16:23:47 -!- Brannock_ is now known as Brannock 16:23:55 oh i highly doubt its for the new patch 16:23:58 just something im messing with 16:24:05 basically a mutation chunk except for randarts 16:24:08 gambling fun 16:28:21 !source item-use.cc 16:28:22 Can't find item-use.cc. 16:28:35 !source item_use.cc 16:28:35 https://github.com/crawl/crawl/blob/master/crawl-ref/source/item_use.cc 16:28:45 caco (L17 DsGl) ASSERT(success) in 'mon-cast.cc' at line 1939 failed. (No push space from (42,42)) (Vaults:4) 16:32:05 -!- Krymise has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…] 16:32:59 o.O 16:33:04 !crashlog 16:33:08 14905. caco, XL17 DsGl, T:31659 (milestone): http://crawl.berotato.org/crawl/morgue/caco/crash-caco-20160911-202844.txt 16:37:54 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 16:38:31 -!- Krymise has joined ##crawl-dev 16:42:28 -!- elliptic has quit [Quit: Leaving] 16:43:46 oh 16:43:56 someone actually executed an assert line? 16:44:04 that cant be good 16:45:46 !lg caco dsgl x=vlong 16:45:47 2. [vlong=0.18.1-8-gdd0e5ea] caco the Carver (L8 DsGl of Makhleb), slain by a killer bee on D:7 on 2016-05-21 21:33:40, with 1455 points after 5109 turns and 0:21:37. 16:45:57 !lm caco dsgl s=vlong 16:45:58 53 milestones for caco (dsgl): 46x 0.18.1-48-g4cf74bf, 6x 0.18.1-8-gdd0e5ea, 0.17.0-56-gd8de76c 16:46:15 -!- elliptic has joined ##crawl-dev 16:46:21 eng just reload the morgue... 16:46:27 0.18.1 16:46:34 no wonder it didn't match up 16:49:51 -!- Shard1697 has joined ##crawl-dev 16:52:53 !source item_def 16:52:54 1/2. https://github.com/crawl/crawl/blob/master/crawl-ref/source/externs.h#L576 16:53:20 !source item_def[2 16:53:20 Can't find item_def[2. 16:53:24 !source item_def]2 16:53:25 Can't find item_def]2. 16:53:27 -!- Kalir has quit [Changing host] 16:53:33 !source -h 16:53:34 Can't find -h. 16:53:39 ??source 16:53:39 source[1/4]: Browse the Git repository at https://github.com/crawl/crawl or http://s-z.org/neil/git/?p=crawl.git 16:53:40 !source item_def 2 16:53:40 2/2. https://github.com/crawl/crawl/blob/master/crawl-ref/source/externs.h#L71 16:53:45 thanks 16:56:04 -!- Isvaffel has quit [Quit: Leaving] 16:58:23 -!- Krymise has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…] 16:58:44 -!- Krymise has joined ##crawl-dev 16:59:12 -!- Krymise has quit [Client Quit] 17:00:03 -!- omarax has quit [Remote host closed the connection] 17:02:51 -!- manman has quit [Ping timeout: 264 seconds] 17:05:16 -!- pikaro has quit [Ping timeout: 255 seconds] 17:05:32 -!- scummos__ has quit [Remote host closed the connection] 17:09:45 amalloy: don't be absurd; some of my commits are to express the nightmarish processes I see in my dreams. 17:10:13 -!- mizu_no_oto has quit [Client Quit] 17:12:46 !source OSEL_BRANDABLE_WEAPON 17:12:46 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/invent.h#L36 17:12:47 -!- shnurlf has quit [Quit: Page closed] 17:13:21 Lasty: wow, you dream about getting malmutated? 17:15:08 -!- wheals has quit [Quit: Leaving] 17:15:27 -!- wheals has joined ##crawl-dev 17:15:39 not related to anything, but the fact that you don't have a personal spell library is the best argument to still stash things imo 17:15:46 i mean, at least keep all your spellbooks in one place 17:15:58 sometimes i'm reminded of a spell i wouldn't bother learning by looking at my spellbook pile 17:16:25 or rather, a spell that i wouldn't think to ctrl-f and look for 17:16:44 ProzacElf: ^f book 17:16:58 walking all the way to your stash to do that is bizarre to me 17:18:17 then i can just M on top of it and get a convenient list of all the spells though 17:18:42 gammafunk: . . . you don't? 17:18:54 gammafunk: I mostly dream about how disappointing artefacts used to be. 17:19:14 ? 17:19:16 Lasty: that's almost enough interesting dreams to make your own dream blog! 17:19:32 gammafunk: well, I pad out the dream blog with cat pics 17:19:53 boom, instant 10,000 additional views 17:22:31 10,000 additional views is small potatoes in the dream/cat blog world 17:25:04 well just one view of my groundbreaking roguelike master gameplay videos is worth 10s of millions of views 17:25:09 which is why they have so few 17:25:28 only so many people on the planet, after all! 17:25:29 that makes sense 17:26:08 really, you need millions of views to be any sort of player in the dream/cat blog scene 17:27:19 yes! 17:27:24 i got my scroll to print hello world :) 17:27:38 haha, it's a good feeling, isn't it 17:27:48 im just happy it compiled 17:28:18 when i was adding that new potion, i had it compiling for quite a while but it kept turning into a potion of buginess 17:28:27 or a stale potion or something 17:28:43 yea 17:28:46 it was um 17:28:53 saying something about send a bug report 17:28:54 before this] 17:28:55 -O 17:28:59 cant type 17:29:10 so i guess im making some progress here 17:29:25 oh, then it was compiling but crashing 17:29:31 oh no 17:29:35 it was a in-game line 17:29:49 basically if you read a scroll and there isn't a built in message for after you read it 17:30:10 i set it up so far to tell you what the scroll is 17:30:20 and to try to open up the inv 17:30:26 to see if you have any randarts that u can use it on 17:30:33 -!- Krymise has joined ##crawl-dev 17:30:33 i had to create OSEL_RANDART 17:30:46 still got a lot of work ahead of me that im not sure how exactly to tackle yet 17:30:56 because the pre-existing scrolls which function similiarly 17:30:59 make sure you commit what you've got 17:31:06 only selects for armours and weapons 17:31:10 since i imagine you'd be sad to accidentally lose it 17:31:10 yea 17:31:10 -!- pikaro has quit [Ping timeout: 252 seconds] 17:31:15 ive been making backups 17:31:16 = 17:31:18 =P 17:33:19 generally you shouldn't need to make backups as you work, that's what the repo is for. If you commit things regularly, put experimental things in branches, you'll have backups that are more useful, since they'll be commits 17:33:31 and if you somehow clobber a commit, you can get it back from the reflog 17:34:26 -!- meeeeeee has quit [Read error: Connection reset by peer] 17:34:52 you will have trouble if you tend to go long periods without making commits, which is why it's good to make reasonably frequent ones with simple commit messages 17:35:18 well, i would say rather "if you somehow lose a commit, someone *else* can help you get it back from the reflog" 17:35:27 all these terms are pretty new to me 17:35:35 and im honestly not entirely sure how ppl usually go about it 17:35:39 repo 17:35:40 commit 17:35:43 how to access commit 17:35:44 well, would you say that someone else can help you make commits, or someone else can help you make a branch? 17:35:44 reflog 17:35:54 not sure what a branch is 17:35:58 i guess that's a fair point gammafunk 17:36:34 https://help.github.com/categories/bootcamp 17:37:40 ty for link 17:37:57 -!- docnvk has quit [Ping timeout: 276 seconds] 17:38:05 yeah, reflog is not the first thing you should learn about, as amalloy is maybe implying, but we'd all agree you should know how to make/checkout a branch and work from one 17:38:13 yea ive been making commits and set up my email and name and all that 17:38:21 just not all that familiar with how theyre used yet 17:38:23 -!- debo has quit [Quit: Lost terminal] 17:38:36 kk 17:38:43 branch is basically a pointer to a commit where that commit represents work that's different from the main work you're doing 17:38:44 honestly you don't even need to know how to make a branch. if protopulse does all the work on master, with a bunch of redundant merge commits, that's obviously "wrong" but easy for us to fix later 17:38:58 sure, the most important thing is to make commits 17:39:00 just know that like, when you have stuff you want to save, type git commit 17:39:00 -!- debo has joined ##crawl-dev 17:39:09 yea 17:39:17 git commit artefact.cc 17:39:18 for example 17:39:21 right 17:39:22 then it asks me to make a comment 17:39:27 and saves it who knows where 17:39:32 haha, exactly 17:39:38 hrm, that's an interesting way to suggest people to work, but I guess it's valid 17:39:48 -!- Ququman has quit [Read error: Connection reset by peer] 17:39:59 there are a lot of valid git workflows, because it's so flexible 17:40:11 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 17:40:26 i rarely bother making branches locally, because i'm confident that if i end up needing one i know how to go back in time and pretend i had a branch all along 17:40:27 protopulse: commits can contain a set of changes across multiple files; you can type "git add file1.cc file2.cc" to stage changes in multiple files for a commit 17:40:51 well I tend to use branches, because it ends up being a lot more convenient 17:41:18 I do also make commits in master, as well 17:41:22 sure. i'm just saying both approaches are perfectly viable 17:41:36 so if i type git add artefact.cc items.cc thats the same thing as typing git commit artefact.cc and then git commit items.cc? 17:41:49 protopulse: not quite, one difference is that git add stages the changes for the commit 17:41:55 git commit is staging them and commiting them 17:41:58 so if you use git add 17:42:08 you then simply run "git commit" when all relevant changes are added 17:42:16 it will commit all staged changes 17:42:30 "git commit file1.cc" is staging and commit changes in file1.cc 17:42:31 is that better than individually git commiting? 17:42:32 or just easier? 17:42:34 the idea here is that a commit is a logical change that can span files 17:42:47 ok 17:42:52 better in that a commit can contain a set of changes accross files, which often makes a lot more sense 17:42:54 so if you have to add something in two different places, you'd do it as one commit and then you can revert that one commit to undo both 17:43:07 imagine if your commit was "add a new scroll" and you had to change file1.cc, file2.cc, file3.cc to add that scroll 17:43:12 gotcha 17:43:21 better than "add a new scroll in file1.cc" "add a new scroll in file2.cc" etc 17:43:24 well, you can `git commit file file file ...` 17:43:27 right 17:43:36 soooo 17:43:39 or cherrypick the change into a different working branch where you;re doing something else but need that change for some reason 17:43:41 obviously using add is better if you konw what you're doing, but just going straight to commit is fine for someone who barely knows what git is 17:43:50 -!- PleasingFungus has joined ##crawl-dev 17:43:56 so you are suggesting i instead do this? 17:44:03 git commit artefact.cc items.cc makeitem.cc 17:44:07 yes 17:44:10 okay 17:44:28 -!- Krymise has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…] 17:44:34 gammafunk was suggesting something a bit more subtle but this is definitely an improvement 17:44:42 yea 17:45:12 actually havent committed in a while 17:45:18 lets do that now 17:45:34 ok 17:45:34 !git commit 17:45:34 %git commit 17:45:34 Could not find commit commit (git returned 128) 17:45:35 done 17:45:39 ehehhe 17:45:44 !cmd !git 17:45:44 Command: !git => .echo %git $* 17:45:45 o_O 17:45:51 didn't realize that existed 17:46:15 someone got tired of being confused about which prefix triggered which bot :) 17:46:19 lol 17:46:21 @git 17:46:24 @??git 17:46:24 unknown monster: "git" 17:46:29 rude 17:46:37 can i commit files i didn't make any changes to, or will git get mad at me? 17:46:38 git monster was too OP 17:46:47 @??test spawner name:git n_rpl 17:46:47 git (00X) | Spd: 14 (swim: 60%; 07stationary) | HD: 1000 | HP: 10000 | AC/EV: 127/127 | 11non-living, amphibious, regen, unbreathing | Res: 13magic(immune), 05fire, 02cold, 10elec, 09poison+++, 07acid, 12drown, 04rot+++, 13neg+++, 13torm, 04napalm | XP: 1145683 | Sp: shadow creatures [06!sil], plane rend [06!sil], phantom mirror [06!sil] | Sz: Large | Int: brainless. 17:47:01 protopulse: you mean you're unsure if you've changed a file? 17:47:04 huh, when did they get plane rend? 17:47:05 git status will tell you that 17:47:14 wow, and phantom mirror 17:47:27 yea 17:47:28 basically 17:47:39 i recorded down a lot of functions and where they appear 17:47:46 because i thought they looked useful down the road 17:47:51 but thats mixed up with the files i have already altered 17:48:02 well, run git status to see which files have changed 17:48:16 thats true 17:48:40 brb 17:48:58 -!- edtydrtbj has quit [Client Quit] 17:49:20 ??plane_rend 17:49:20 plane rend[1/1]: A summoning spell from {corrupter}s. Minimum duration, 1 to 3 of unique representatives from a chosen branch of nearly anywhere besides hellpan and D/Depths. Potentially extremely dangerous, summoning multiple ghost moths, flayed ghosts, sphinxes, deep elf master archers, or starcursed masses. 17:49:42 %git ac278e411 17:49:42 07tenofswords02 * 0.16-a0-647-gac278e4: Touch ups to mon-spll.h, spl-data.h 10(2 years ago, 2 files, 13+ 24-) 13https://github.com/crawl/crawl/commit/ac278e411705 17:50:56 oh, is that pre mons spell casting reform? 17:51:02 looks like it 17:51:14 I was confused by the multiple listings, at first 17:51:44 wow, Lasty is playing a ranged char. This means that ranged reform is imminent 17:53:03 -!- Patashu has quit [Ping timeout: 244 seconds] 17:53:38 vim does something funky with my commits i think 17:53:41 well whatever it went thru 17:54:46 git log will show your commit history, and "git show " can display what was commited; you can type simply "git show" to see the most recent commit 17:55:03 neat! 17:55:25 i see u on here too 17:55:37 -!- elliptic has quit [Quit: Leaving] 17:55:39 and pleasing fungus 17:56:14 those people are all fake, not real 17:56:25 lol 17:57:15 what i am about to do next is most certainly gonna break something heh 17:57:37 !source alreadyknown 17:57:38 Can't find alreadyknown. 17:58:37 -!- Kellhus has quit [Quit: Page closed] 17:58:48 !source weapon 17:58:49 1/4. https://github.com/crawl/crawl/blob/master/crawl-ref/source/attack.h#L57 17:59:51 -!- manman has quit [Ping timeout: 264 seconds] 18:00:03 -!- omarax has quit [Remote host closed the connection] 18:04:09 gammafunk: I have effectively a +21 hand crossbow of elec. I couldn't resist. 18:04:27 Then the game said, no, that's silly, have this +22 hand crossbow of venom (after slaying bonuses) 18:04:46 gammafunk: I've been seriously considering taking a day off work to do ranged reform 18:04:51 oh dear 18:05:48 it's okay, PleasingFungus, there's still time for you to do it for me. 18:06:30 lmao 18:06:31 !source mprf 18:06:31 1/3. https://github.com/crawl/crawl/blob/master/crawl-ref/source/message.cc#L1103 18:06:58 er whats the newline command? 18:07:12 just something frivolous, want to add a new line after my hello world... 18:07:57 -!- Krymise has joined ##crawl-dev 18:10:10 also im kinda maybe probably completely lost, can someone give some suggestions how i can make the game open up a window to prompt you 18:10:14 to select a randart? 18:10:22 i see it's possible to do the same for an armour or weapon 18:11:23 Lasty: let us know if you need your excuse note to be signed by the DCSS dev team 18:12:11 !source _enchant_selector 18:12:11 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/item_use.cc#L2150 18:12:37 so that thing is returning some arbitrary number to signify 18:12:42 oh this thing is a piece of armour 18:12:44 or that's a weaon 18:12:52 but there isn't one for randarts as far as i can tell 18:13:02 gammafunk: yeah, I'd appreciate that 18:14:25 !source OSEL_BRANDABLE_WEAPON 18:14:25 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/invent.h#L36 18:15:27 Unstable branch on underhound.eu updated to: 0.19-a0-1511-g16f215b (34) 18:16:03 "randart" is not a separate class of thing the way "armour" or "weapon" is 18:16:32 thats what i figured.. 18:16:33 so 18:16:39 would i have to do a workaround? 18:16:54 like a loop to see if each element of the array of inventory is a randart? 18:17:33 -!- PsyMar has quit [Ping timeout: 240 seconds] 18:17:55 !source use_an_item 18:17:55 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/item_use.cc#L228 18:20:20 03PleasingFungus02 07* 0.19-a0-1512-g729b3da: Remove an ancient, hacky special case for MR 10(28 minutes ago, 1 file, 0+ 14-) 13https://github.com/crawl/crawl/commit/729b3daaf1a7 18:21:39 actually would it be so hard to just tack on the class? 18:21:47 in randart generation... 18:22:00 then the use_an_item loop would still run fine i think 18:22:08 since it just checks the first field to see if there is a match 18:23:10 !source OSEL_BRANDABLE_WEAPON 18:23:10 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/invent.h#L36 18:23:16 that cant be the only place.. 18:23:51 !source object_selector 18:23:51 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/invent.h#L17 18:24:21 !source -16 18:24:22 Can't find -16. 18:25:09 !source enums.h 18:25:09 Can't find enums.h. 18:25:33 !source enum.h 18:25:33 https://github.com/crawl/crawl/blob/master/crawl-ref/source/enum.h 18:27:44 !source you 18:27:44 1/3. https://github.com/crawl/crawl/blob/master/crawl-ref/source/main.cc#L183 18:28:03 !source you 2 18:28:04 Can't find you. 18:28:32 !source item_def 2 18:28:32 2/2. https://github.com/crawl/crawl/blob/master/crawl-ref/source/externs.h#L71 18:28:48 !source you_2 18:28:49 Can't find you_2. 18:28:54 !source you 2 18:28:55 Can't find you. 18:28:55 protopulse: recommend you learn how to use git grep and git grep -i 18:28:59 -!- Kranix has quit [Quit: Konversation terminated!] 18:29:03 so you don't have to keep spamming those commands in channel 18:29:07 oh 18:29:09 ok 18:29:20 also learn to use /msg 18:29:33 ala /msg Sequell !source enum.h 18:29:34 yeah, that's a good point as well; you can PM these requests to Sequell 18:29:41 thanks 18:31:18 -!- MarvinPA has quit [Quit: Leaving] 18:35:39 03PleasingFungus02 07* 0.19-a0-1513-gf6d23ed: Re-fix hex chance description 10(27 seconds ago, 1 file, 3+ 9-) 13https://github.com/crawl/crawl/commit/f6d23edc5b3b 18:39:56 also surely vim has some kind of ctags functionaliy 18:41:33 -!- MarvinPA has joined ##crawl-dev 18:41:54 https://andrew.stwrt.ca/posts/vim-ctags/ if you want a faster way to look up the source of something 18:42:29 right forgot about that 18:42:31 -!- Lasty has quit [Quit: Leaving.] 18:42:32 lemme install that right now 18:42:35 was reading about git grep 18:47:36 -!- scummos| has quit [Ping timeout: 250 seconds] 18:53:24 -!- elliptic has joined ##crawl-dev 18:55:13 magicalfaerieponies (L16 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster spriggan berserker failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 18:55:34 -!- Netmonmatt has quit [Ping timeout: 240 seconds] 18:55:39 -!- Elynae has quit [Ping timeout: 264 seconds] 18:55:42 !lm * crash x=msg 18:55:42 Unknown field: msg 18:55:45 !lm * crash x=non 18:55:46 Unknown field: non 18:56:50 !lm * crash zotdef s=name year 18:56:50 57 milestones for * (crash zotdef year): 23x magicalfaerieponies, 8x Ayahuasquero, 7x lyrx, 6x namelastname112, 4x Alipheese, 2x twillightdoom, 2x Drake420, nobodyhere, igloomaster, UristPineapples, MordorOrchid, spituna 19:02:51 -!- travis-ci has joined ##crawl-dev 19:02:52 The build has errored. (master - 729b3da #6630 : Nicholas Feinberg): https://travis-ci.org/crawl/crawl/builds/159184259 19:02:53 -!- travis-ci has left ##crawl-dev 19:05:03 can someone link me a sequellbot guide? 19:05:09 ??help 19:05:09 help[1/5]: !help (I need somebody) !help (not just anybody) Try https://github.com/crawl/sequell/blob/master/docs/listgame.md or https://github.com/crawl/sequell/blob/master/docs/learndb.md 19:05:13 ^ 19:05:16 thanks! 19:07:39 -!- elmdor has quit [Ping timeout: 264 seconds] 19:08:49 -!- pikaro has quit [Ping timeout: 244 seconds] 19:09:16 Unstable branch on crawl.jorgrun.rocks updated to: 0.19-a0-1513-gf6d23ed (34) 19:10:34 -!- Shard1697 has quit [Ping timeout: 250 seconds] 19:10:54 -!- PleasingFungus has quit [Remote host closed the connection] 19:16:48 -!- MarvinPA has quit [Quit: Leaving] 19:19:03 -!- elmdor has quit [Ping timeout: 264 seconds] 19:19:55 -!- Tickenest has quit [Quit: Page closed] 19:20:51 -!- manman has quit [Ping timeout: 264 seconds] 19:31:11 -!- Kalir has quit [Quit: I'M OUT SON. PEACE, LOVE, EXPLOSIONS.] 19:32:24 -!- jehoesefat has quit [Quit: Leaving] 19:42:58 !source you 2 seems broken btw 19:43:04 !source you 1 and 3 both work 19:44:51 -!- jwood has quit [Ping timeout: 264 seconds] 19:50:10 -!- Netmonmatt has quit [Quit: Going offline, see ya! (www.adiirc.com)] 19:50:45 <|amethyst> !source you 2 19:50:46 Can't find you. 19:50:47 <|amethyst> !source you 1 19:50:47 1/3. https://github.com/crawl/crawl/blob/master/crawl-ref/source/main.cc#L183 19:50:47 ...that's an odd failure 19:50:49 <|amethyst> !source you 3 19:50:50 3/3. https://github.com/crawl/crawl/blob/master/crawl-ref/source/util/monster/monster-main.cc#L1296 19:50:53 <|amethyst> hmm 19:51:52 -!- knaveightt has quit [Ping timeout: 244 seconds] 19:51:53 <|amethyst> match 2 is a #define, I wonder if that's related 19:52:06 <|amethyst> !source !source 19:52:07 Can't find !source. 19:52:10 <|amethyst> !cmd !source 19:52:10 Built-in: !source => https://github.com/crawl/sequell/blob/master/commands/source.pl 19:52:44 -!- manman has quit [Ping timeout: 264 seconds] 19:54:02 perl... 19:54:31 if you guys have some free time later, i'd like some feedback please 19:54:52 well not necessarily feedback, right now the only thing i can think of is just a workaround 19:54:58 so maybe advice 19:56:12 if not, maybe some other time while i mull over it some more 19:58:38 -!- Kalir has quit [Changing host] 20:00:03 -!- omarax has quit [Remote host closed the connection] 20:00:45 -!- CanOfWorms has joined ##crawl-dev 20:03:15 -!- cait has quit [Ping timeout: 265 seconds] 20:05:15 -!- NhorianScum has quit [Ping timeout: 264 seconds] 20:10:17 -!- DarkwingDuck has quit [Quit: Page closed] 20:10:39 -!- manman has quit [Ping timeout: 264 seconds] 20:12:27 -!- hellmonk has quit [Ping timeout: 264 seconds] 20:13:57 -!- knaveightt has quit [Ping timeout: 265 seconds] 20:18:24 protopulse: feedback/advice about what? 20:20:05 if you want general advice, go ahead and ask a question; if you wand feedback about the changes you've made so far, create a patch file for us to look at, via something like: git fomat-patch --stdout origin/master > feedback.patch 20:20:26 and then paste that on gist.github.com or some other pastebin site 20:23:32 oh 20:23:32 basically 20:23:52 ive looked over the code in item-use.cc and what it links to a fair bit 20:24:02 and from what i understand it works off of certain OSEL variables 20:24:08 declared in invent.h 20:24:18 but those variables do not include the flag for randart 20:24:25 which is what i want to prompt the user to select from 20:24:36 it wouldnt make sense to randomize randart qualities on something that is not randart after all 20:24:52 so to get around that 20:25:04 the only thing i could think of is to just set the OSEL variable to be -1 20:25:08 which would be OSEL_ANY 20:25:12 nonono. create a new OSEL 20:25:15 OSEL_RANDART 20:25:37 hm 20:25:43 wouldnt that break something? 20:25:50 because then you can have 2 flags that makes sense for an item 20:25:51 for example 20:25:52 i mean, you'd have to implement OSEL_RANDART 20:26:00 there are plenty of items that already have that property 20:26:01 <|amethyst> protopulse: that already exists 20:26:12 <|amethyst> protopulse: I mean, items that fit two OSELs 20:26:17 oh 20:26:23 <|amethyst> OSEL_WORN_ARMOUR and OSEL_CURSED_WORN for example 20:26:23 i actually originally created a new osel 20:26:26 then i scrapped the idea 20:26:29 for example, unid wands are OSEL_UNIDENT and OSEL_EVOCABLE 20:26:32 thats true 20:26:34 and probably more as well 20:26:39 i wasnt exactly sure what i was doing so i scrapped it 20:26:42 yea 20:26:44 makes sense 20:26:56 -!- Kalir has quit [Ping timeout: 265 seconds] 20:26:56 but the idea originally was to use is_artefact from artefact.cc 20:26:59 run a loop 20:27:17 then if-then statement basically telling the user if the item properties CAN be randomized or not 20:27:25 like if you tried to use my new scroll on a potion 20:27:28 it'd just tell you to gtfo 20:27:33 that's what your OSEL will do 20:27:34 but yea thats not really elegant 20:27:46 well if im understanding this right 20:27:51 if i use my own OSEL for randarts 20:27:59 then the screen would only give you options for randarts 20:28:01 and not say 20:28:04 a potion of mutation 20:28:07 <|amethyst> yeah 20:28:07 yes 20:28:09 so you wouldnt even run into that issue 20:28:11 thankfully 20:28:26 alright i can give that a tryi suppose 20:28:30 still not sure how i'll implement it 20:28:31 <|amethyst> you'd add the OSEL_ to the object_selector enum, add a case to item_is_selected, and add a case to no_selectables_message 20:28:39 here lemme link what i was looking at 20:29:00 !source use_an_item 20:29:01 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/item_use.cc#L228 20:29:41 i believe thats the function that creates the window that lets you decide what you want to use scrolls on, etc. 20:29:52 -!- mizu_no_oto has quit [Quit: ["Textual IRC Client: www.textualapp.com"]] 20:29:52 lemme go thru those amethyst 1 sec 20:29:58 i actually think i mightve done all of those already 20:30:08 cause i was following roughly what scroll of brand weapon was doing 20:30:16 protopulse: yes, that is what that function does 20:30:23 yea 20:30:28 so i gues my question would be 20:30:34 how do i use that new OSEL i created? 20:30:48 uh, I did this recently for ash curse item 20:31:04 use the new OSEL so that function is compatible with it 20:31:07 like |amethyst said, add a case to item_is_selected 20:31:26 <|amethyst> item_def *target = _choose_target_item_for_scroll(alreadyknown, OSEL_RANDART, "Frobulate which item?"); 20:31:35 yea ive already done that 20:31:37 %git f0d2d53 20:31:37 07chequers02 * 0.18-a0-1293-gf0d2d53: Replace curse scrolls with curse item ability. 10(7 months ago, 22 files, 195+ 153-) 13https://github.com/crawl/crawl/commit/f0d2d537d3c4 20:31:46 that might help -- I added an OSEL used by an ability 20:31:56 okay ty chequers :) 20:32:01 ill take a look at it in a bit 20:32:50 actualy give me a sec and just look thru everything u guys suggested first 20:32:54 maybe i can figure it out 20:35:01 aha 20:35:05 that was what i was missing 20:35:17 the second one that amethyst mention 20:35:20 lemme go and do that right now 20:38:12 <|amethyst> yeah, that's the important one, since it's what determines whether an item matches the selector 20:38:23 thats basically what had me stumped 20:38:29 and what made me just go 20:38:34 let me do a workaround 20:38:40 cause i cant figure out how the OSEL's system works 20:40:09 <|amethyst> case OSEL_RANDART: return is_random_artefact(i); 20:40:32 -!- GiantOwl is now known as Kalir 20:40:33 -!- Kalir has quit [Changing host] 20:40:52 just did #3 20:41:00 thats for #2 right? 20:41:03 lets see 20:41:12 <|amethyst> yeah, in item_is_selected 20:41:42 whoever formatted this thing is killin' me 20:41:54 gotta go thru here and indent these lines 20:42:07 is there an autoindent function in vim? 20:42:10 <|amethyst> == 20:42:16 <|amethyst> indents the current line 20:42:24 <|amethyst> V= indents a bunch of lines 20:42:56 <|amethyst> s/indents/reindents/ 20:43:00 this is in command line mode right? 20:43:08 <|amethyst> no, from normal mode 20:43:14 oh ok 20:43:25 <|amethyst> V is visual-line mode, which lets you select lines 20:43:37 the mode where you issue commands, not insert text 20:43:41 <|amethyst> yeah 20:43:47 not the actual msys command-line 20:44:03 <|amethyst> but also not the : command line 20:44:20 <|amethyst> rather, the mode you get into when you hit escape 20:44:31 yea 20:44:34 s isn't doing anything 20:44:37 the V= works though 20:44:45 leemme try == 20:44:56 s wasn't a thing |amethyst recommended you use 20:45:11 [20:42] <+|amethyst> s/indents/reindents/? 20:45:12 s/indents/reindents/ was him correcting his previous suggestion 20:45:15 oh 20:45:29 whats the s for then? 20:45:33 sorry im not sure i follow 20:46:12 don't worry about it, unless you're excited to learn about perl and regular expressions as a diversion 20:46:20 haha 20:46:23 maybe some other time 20:46:28 that sounds absolutely fascinating 20:46:49 oh ffs 20:46:53 ill just mess with the format later 20:46:56 lemme get this code thru first 20:48:36 !source is_random_artefact 20:48:36 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/artefact.cc#L271 20:48:42 !source is_randart 20:48:43 Can't find is_randart. 20:48:47 huh 20:48:55 i couldve sworn i saw a function named that 20:49:11 is_artefact 20:49:11 !source is_artefact 20:49:11 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/artefact.cc#L265 20:49:16 -!- Lasty has joined ##crawl-dev 20:49:28 the first one is the one i want i presume 20:49:36 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster frost giant skeleton failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:49:51 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster mummy failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:49:54 <|amethyst> yeah, is_artefact would return true for unrands, which you don't want 20:49:58 <|amethyst> so is_random_artefact 20:50:13 <|amethyst> also, re the s/foo/bar/ thing, that's how you do search and replace in vi 20:50:32 so go into visual line mode 20:50:34 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster tormentor failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:50:34 then press s? 20:50:44 also whats the difference betwen vi and vim? 20:50:47 <|amethyst> this one is a colon command 20:50:52 ahh 20:50:54 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster Ulediumm failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:50:54 oh yea 20:50:57 thats what i use for commits 20:51:00 i press :x! 20:51:02 <|amethyst> so visual line mode then :'<,'>s/foo/bar/ 20:51:14 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster Neraexko failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:51:17 i see 20:51:17 <|amethyst> (it will type the '<,'> automatically when you press : from visual mode) 20:51:19 on linux vi is vim. 20:51:24 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster Stikkipt failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:51:27 gotcha 20:51:31 whats the foo/bar part mean? 20:51:31 <|amethyst> also on a lot of other OSes 20:51:32 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster Lideg failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:51:38 "vi" was originally from 4BSD. vim is a GPLed version that Linux adopted 20:51:39 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster Firphuy failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:51:47 <|amethyst> s/foo/bar/ means "replace the first foo on each line with bar" 20:51:50 the *BSDs mostly use an upgraded version of original vi called nvi 20:51:53 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster Smon failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:51:55 uh oh i think magicalfaerieponies is in trouble 20:51:58 <|amethyst> s/foo/bar/g means to replace them all 20:52:01 commercial unixes mostly have AT&T's version of vi 20:52:10 <|amethyst> OS X has vim 20:52:11 i see 20:52:42 thye have a ocmmon basic command set, but nnvi and vim have different extensions 20:53:06 <|amethyst> visual mode is a vim extension, for example 20:53:14 ah 20:53:56 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster yellow draconian failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:54:23 lemme try and compile this and see what i get 20:55:09 !crashlog 20:55:11 14905. caco, XL17 DsGl, T:31659 (milestone): http://crawl.berotato.org/crawl/morgue/caco/crash-caco-20160911-202844.txt 20:55:26 magicalfaerieponies (L21 MfWz) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster ancient champion failed to pathfind to (39,26) (the Orb) (Zot (ZotDef)) 20:55:40 oh, zotdef 20:56:01 <|amethyst> that's why we removed it :) 20:56:17 wait, 0.18 zotdef? 20:56:33 <|amethyst> !lm magicalfaerieponies crash x=cv 20:56:34 No milestones for magicalfaerieponies (crash). 20:56:37 <|amethyst> !lm magicalfaerieponies zotdef crash x=cv 20:56:38 43. [2016-09-12 00:55:25] [cv=0.15] magicalfaerieponies the Polluter (L21 MfWz of Sif Muna) ERROR in 'mon-movetarget.cc' at line 115: ZotDef: monster ancient champion failed to pathfind to (39,26) (the Orb) (Zot) 20:56:41 hm 20:56:54 okay, i guess i misunderstand the command line at the top of the crashlog 20:57:03 <|amethyst> you saw a different crashlog 20:57:12 oh 20:57:16 <|amethyst> !crashlog * zotdef 20:57:16 591. magicalfaerieponies, XL21 MfWz, T:19363 (milestone): http://crawl.berotato.org/crawl/morgue/magicalfaerieponies/crash-magicalfaerieponies-20160912-005525.txt 20:57:21 you saw a crash log from an 0.18.1 crash earlier today 20:57:39 (a rather odd one, in fact) 20:57:52 !lm caco crash 20:57:53 1. [2016-09-11 20:28:44] caco the Grim Reaper (L17 DsGl of Yredelemnul) ASSERT(success) in 'mon-cast.cc' at line 1939 failed. (No push space from (42,42)) (Vaults:4) 21:00:03 -!- omarax has quit [Remote host closed the connection] 21:01:58 <|amethyst> oh 21:02:13 holy 21:02:15 it worked 21:02:17 love you guys 21:02:20 <|amethyst> _can_force_door_shut probably doesn't use exactly the same logic as _seal_doors_and_stairs 21:04:21 <|amethyst> ah, it doesn't, in at least two ways 21:04:51 <|amethyst> 1. it doesn't try get_push_space(..., false, ...) first 21:05:27 <|amethyst> hm 21:05:36 <|amethyst> I guess way 2. doesn't matter 21:05:58 <|amethyst> the monster doesn't actually move, but that's okay because in both cases its old and new spots are already vetoed 21:07:49 -!- PsyMar has quit [Ping timeout: 255 seconds] 21:07:55 -!- zeia has quit [Ping timeout: 276 seconds] 21:09:23 |amethyst: imo _can_force_door_shut should return the map of push locations, not just a bool 21:09:50 then there's no chance for the logic to diverge 21:11:07 iirc tomb of dorokhle / imprison have similar issues, don't they? where the function that decides if a thing should be alloewdd isn't quite in sync with the logic for actually doing the thing 21:11:25 magicalfaerieponies (L22 MfWz) ASSERT(range >= 0) in 'beam.cc' at line 601 failed. (beam 'fireball', source 'tengu reaver', item 'none'; has range -1) (Zot (ZotDef)) 21:11:46 does that sound like a reasonable improvement? 21:11:55 <|amethyst> tornado too 21:11:58 <|amethyst> but 21:12:28 <|amethyst> I think in this case it's fine because it vetoes moved-to spots 21:13:03 <|amethyst> there might be weird things if it triggers a location effect when it gets pushed 21:13:31 <|amethyst> e.g. if it lands on a pressure plate which creates walls 21:13:49 -!- Brannock_ has joined ##crawl-dev 21:14:01 <|amethyst> not sure if it does fire location effects, but if so 21:14:14 <|amethyst> they should probably be delayed until after the whole loop is finished 21:14:24 <|amethyst> which I'm sure is a pain 21:14:51 i'm not sure that's true - if there's any randomness in the way we decide which square to push a monster to, or in which order we decide to push monsters, we can end up with differing results from the two attempts to find space, right? 21:14:54 <|amethyst> I mean 21:15:00 like if it's possible to push the player to either square A or B, but a monster can only go to B 21:15:01 <|amethyst> in this case your proposed solution is fine 21:15:09 oh 21:15:30 but in more complicated cases it might not be. i see what you mean now 21:15:34 <|amethyst> if moving the creature can somehow block squares other than the one it moves to, that's a problem, yeah 21:16:35 <|amethyst> and I didn't check whether doroklohe etc vetoes spots that were already moved to... presumably it does, because if it didn't the "find spots before moving" thing wouldn't work at all 21:16:37 -!- Brannock has quit [Ping timeout: 244 seconds] 21:16:39 -!- squidcat has quit [Ping timeout: 264 seconds] 21:16:52 <|amethyst> tornado does what you suggest I think 21:16:56 <|amethyst> or something similar 21:18:31 is there a reason why wizard mode won't let you tweak the properties of an item you are equipping? 21:18:40 !source _tweak_randart 21:18:40 1/1. https://github.com/crawl/crawl/blob/master/crawl-ref/source/wiz-item.cc#L243 21:18:57 i think im going to base part of my code off of that function there 21:19:08 since i think it accomplishes something similar? 21:19:18 idk how to call "you" though 21:19:39 oh wait thats in another function, i dont think i even need you 21:20:16 also after you rebrand a weapon, I noticed this line "set_ident_flags(randart, ISFLAG_KNOW_TYPE);" 21:20:20 do i need this as well? 21:20:33 -!- MIC132 has joined ##crawl-dev 21:20:38 only if you change the item's brand 21:20:51 -!- Undo has quit [Ping timeout: 264 seconds] 21:20:54 <|amethyst> and only if you want the new brand to be known even if the artefact was unidentified 21:20:56 i think we chatted earlier about how rings have multiple types right? 21:21:05 so say if i tweak the properties 21:21:10 then it would become unidentified? 21:21:12 -!- Blazinghand has quit [Quit: This computer has gone to sleep] 21:21:26 if it became a ring of protection into a ring of positive energy for a base 21:21:29 <|amethyst> no, identification status would say the same 21:21:29 i think it'd be reasonable to only allow this to target ID'd items 21:21:47 then no need to worry about it cause brands are weapon-only and im not branding weapons 21:21:56 <|amethyst> because the item class IDs ("positive energy is tourmaline" for example) don't apply to artefacts 21:22:10 i see 21:22:36 -!- MIC132 has quit [Client Quit] 21:22:38 <|amethyst> you only want that line if you want to identify unided items when you frobulate them 21:22:51 exactly 21:22:56 oh 21:23:05 <|amethyst> brand weapon does that because it told you the brand in the branding message 21:23:17 <|amethyst> so it would be silly to leave it unided 21:23:20 |amethyst: if i were going to implement this, i'd return the map by value, right? and assume clang will perform the return value optimization, rather than doing it by hand? 21:23:40 <|amethyst> amalloy: yes 21:23:49 <|amethyst> amalloy: even if it doesn't do RVO 21:23:54 <|amethyst> amalloy: it's a move 21:24:10 <|amethyst> so cheap 21:24:26 i don't really have a handle on what happens in move operations 21:24:26 it didn't though i think 21:24:29 https://gyazo.com/3111d1e3d198cbdffcf0cfd4fe121cf7 21:24:42 it only tells you what the artefact brand changed to, not what it was originally 21:24:50 it seems like moving a map would be expensive to me. doesn't it have to memcpy the whole thing basically? 21:25:06 <|amethyst> amalloy: usually when you do dest = std::move(source); it just swaps out the pointers between dest and source 21:25:09 <|amethyst> pointer members 21:26:26 i guess i don't know enough about how a map is represented in memory to know if it's cheap. i guess you're implying that a map is not much more than a single pointer to a dynamically-reallocated data structure 21:26:36 in which case the main "work" of a move is just copying that pointer 21:26:38 <|amethyst> a std::map is a tree 21:27:23 well. it seems like it's not exactly a tree, so much as a pointer to a tree object 21:27:33 -!- DrKe has joined ##crawl-dev 21:27:46 like the member inside std::map is tree*, rather than tree 21:27:52 <|amethyst> the usual implementation of trees is as pointers 21:28:02 <|amethyst> a node contains data and pointers to its children 21:28:08 <|amethyst> the tree itself is a pointer to its root node 21:28:44 okay 21:28:48 <|amethyst> std::map might also have pointers to the leftmost and rightmost elements 21:28:59 -!- airwolf has quit [Quit: Page closed] 21:29:18 <|amethyst> so it might be several pointers that need to be copied, but the data and all the internal pointers can stay just as they are without needing to be updated 21:29:23 <|amethyst> let me see 21:31:00 i believe i now understand why moving a map is cheap. i'm not sure how well i can generalise that knowledge, yet, to other types of data structures, because i haven't done enough building of data structures in C++, where you actually have a choice between values and pointers 21:31:25 <|amethyst> vector is also cheap to move 21:31:48 <|amethyst> because it is usally stored as either three pointers, or a pointer and two numbers 21:31:51 i'm used to just "everything is a pointer always" from java/lisp, so i'm always wary in C++ that some particular type might be a bunch of large values rather than pointers to large values 21:32:03 <|amethyst> yeah 21:32:15 <|amethyst> for example, an item_def would not be cheap to move 21:32:22 !source item_def 21:32:23 1/2. https://github.com/crawl/crawl/blob/master/crawl-ref/source/externs.h#L576 21:32:39 right, because it has a large number of fields 21:32:47 <|amethyst> yeah 21:33:06 some of which might *also* be expensive to move (large strings?) 21:33:21 -!- Krymise has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…] 21:33:30 <|amethyst> moving an item_def a little cheaper than copying, because the string can be moved instead of copied 21:33:54 <|amethyst> but right now that's the only things I see that would benefit 21:33:55 -!- pikaro has quit [Ping timeout: 276 seconds] 21:34:08 <|amethyst> CrawlHashTable *could* get a move constructor and move assignment operator 21:34:10 right, i guess even large strings are pretty cheap to move 21:34:14 <|amethyst> but it doesn't yet 21:35:07 <|amethyst> big strings are O(n) to move, but it's a low constant factor because it's just a memcpy 21:35:24 <|amethyst> err 21:35:24 <|amethyst> O(n) to copy rather 21:35:25 <|amethyst> they're O(1) to move 21:35:55 right 21:36:18 <|amethyst> something like a std::map is a pain to copy 21:36:27 <|amethyst> because it's probably fragmented in memory 21:36:50 <|amethyst> so you're doing bad things to the cache 21:40:17 is there any reason why you can brand a weapon while youre equipping it but you can't tweak a property of an item in wizmode while equipping it? 21:40:31 does it have to do with stat recalculation? 21:40:43 you.redraw_armour_class = true; you.redraw_evasion = true; // Might be removing antimagic. calc_mp(); 21:40:52 <|amethyst> I'm guessing it's paranoia on the part of the wizmode stuff, but yeah you would have to at least redraw stats 21:41:04 is there a collection of those? 21:41:31 if im changing the randart properties, that'll change maybe MP, strength, dexterity (so evasion by extension), intelligence, AC, all of that 21:41:38 there's a pretty long list of things that a randart might change 21:41:43 yea 21:41:48 <|amethyst> _redraw_all() would probably be safest 21:41:56 <|amethyst> oh 21:41:59 <|amethyst> that's only in files.cc 21:42:11 |amethyst: if i wanted to practice writing a move constructor / assignment operator by writing some for CrawlHashTable, would that be useful or just wasted code? 21:42:26 <|amethyst> amalloy: it would be useful 21:43:19 so i guess my best bet is just force the player to take off whatever before he uses the scroll on it? 21:43:28 since the randart properties change too many things? 21:44:10 <|amethyst> I would suggest taking _redraw_all from files.cc, making it non-static and renaming it to redraw_all, adding a declaration to a header file, and calling that 21:44:28 okay 21:44:34 and general tips for this part of the code? what should i be aware of, what might be a good idea to check out, etc.? 21:44:35 <|amethyst> try it out and see what breaks 21:44:55 <|amethyst> ARTP_CURSE is one that might need to be special-cased, if your scroll can give that one 21:45:17 <|amethyst> since just adding the property wouldn't actually curse the item, only generation and wielding do that 21:45:28 i dont think it can curse it 21:45:39 because we already know what it is 21:45:39 right? 21:45:39 <|amethyst> ? 21:45:39 like you said earlier 21:45:44 if we just change the subtype of a ring 21:45:45 or its properties 21:45:50 that won't un-identify it 21:45:59 <|amethyst> cursing and identification aren't related 21:46:01 |amethyst: it looks like the compiler can auto-generate copy/move constructors; is there a reason we declare a copy constructor by hand? 21:46:08 oh alright 21:46:26 i guess it's because the autogenerated one would end up just copying the map* instead of creating a copy of the actual map 21:46:31 <|amethyst> amalloy: exactly 21:47:04 okay 21:47:09 <|amethyst> amalloy: oh oh 21:47:26 what if we used a unique_ptr instead 21:48:08 i imagine unique_ptr's copy constructor actually calls the copy constructor of the thing it's pointing to 21:48:18 <|amethyst> unique_ptr isn't copyable 21:48:21 boo 21:48:25 <|amethyst> it is moveable though 21:48:27 right 21:49:14 <|amethyst> if we had C++17 21:49:19 <|amethyst> we could use std::optional 21:49:30 Maybe that'd be a good idea 21:49:36 <|amethyst> since we don't, we could implement something similar 21:50:57 so we would have an optional, not an optional, and the copy constructor for optional would naturally call the copy constructor for map 21:51:10 <|amethyst> yeah 21:51:14 <|amethyst> a template class that contains just a unique_ptr, with a copy constructor that does make_unique(*other.ptr) 21:53:07 <|amethyst> you'd also have to explicitly default the move constructor of this class, since defining a copy constructor disables the implicit move constructor 21:53:21 <|amethyst> likewise copy assignment and move assignment 21:54:11 <|amethyst> or, you know, find a professional open-source implementation of std::optional or boost::optional and steal that :) 21:55:05 boost? :p 21:55:11 looking over the docs for optional i'm surprised to see it doesn't include fmap or bind 21:55:32 heh 21:55:47 std::monad... 21:57:02 <|amethyst> amalloy: https://www.reddit.com/r/cpp/comments/4tyrog/why_does_stdoptional_have_no_bind_or_map_member/ 21:57:39 speaking of weird optional implementations, did you know that java's newish optional type breaks the functor laws? 22:00:03 -!- omarax has quit [Remote host closed the connection] 22:00:38 <|amethyst> because you can't represent null? 22:01:39 well, you can't represent Some(null) 22:02:36 fmap(f . g) turns out to be different than fmap(f) . fmap(g), if f returns null and g(null) is non-null 22:02:46 <|amethyst> yeah 22:05:06 so, re hash maps, i'm not super keen on implementing a mediocre optional myself; i think i'd like to convert from map* to unique_ptr and do the copy/move operations by hand 22:05:20 <|amethyst> yeah, that probably makes sense 22:05:31 <|amethyst> it already has copy constructor and copy assignmnt 22:05:33 <|amethyst> ment 22:05:37 i assume the destructor for uniq_ptr calls the destructor of *this? 22:05:42 or, i guess, **this 22:06:11 <|amethyst> yes 22:06:55 hm, i see this in the class header: // NOTE: Not using auto_ptr because making hash_map an auto_ptr // causes compile weirdness in externs.h 22:06:59 <|amethyst> I think you could even = default; the move constructor and move assignment operator? 22:07:41 oh right, you can still ask for the default if it's not automatically generated 22:07:43 <|amethyst> auto_ptr was bad 22:08:23 <|amethyst> not sure what the aforementioned weirdness was though 22:08:33 |amethyst: why do i not have to write std::unique_ptr or anything? is there a "using std;" in all our headers somewhere or something? 22:08:38 <|amethyst> yeah 22:08:49 <|amethyst> in AppHdr.h 22:08:59 <|amethyst> it used not to be so, but that was changed for brevity 22:09:14 <|amethyst> used to not be so? 22:09:21 <|amethyst> used to be not so 22:09:28 <|amethyst> didn't use to be so 22:09:37 <|amethyst> anyway, grammar 22:10:24 <|amethyst> %git :/std::cide\. 22:10:24 07kilobyte02 * 0.13-a0-2088-g41e6c14: std::cide. 10(3 years, 3 months ago, 4 files, 19+ 19-) 13https://github.com/crawl/crawl/commit/41e6c147eee4 22:10:36 <|amethyst> not that one 22:11:27 <|amethyst> %git 770bcbd184 22:11:27 07galehar02 * 0.12-a0-208-g770bcbd: Use std namespace. 10(4 years, 1 month ago, 394 files, 7870+ 8315-) 13https://github.com/crawl/crawl/commit/770bcbd1844b 22:11:31 <|amethyst> that one 22:12:07 <|amethyst> 445 lines of savings 22:12:34 why does CHT have this init_hash_map method instead of just initializing it at construct time? are there really so many maps that never get read or written that we want to optimize that? 22:12:55 <|amethyst> yes, most items have an empty props array 22:13:25 <|amethyst> hm 22:13:29 <|amethyst> though I wonder 22:14:34 -!- Tickenest has quit [Quit: Page closed] 22:14:40 if we just stored a std::map instead of a std::map*, we wouldn't have to dynamically allocate, right? and then we could let std::map be in charge of optimizing for never-read/never-write 22:15:53 <|amethyst> it's mostly about memory 22:16:28 <|amethyst> if you include the hash map directly, that means the hash table is always at least 24 bytes on my system 22:16:38 <|amethyst> more on 64-bit presumably 22:16:52 <|amethyst> whereas the pointer is just 4/8 bytes 22:16:57 <|amethyst> then again 22:17:08 <|amethyst> !calc 2000 * (24 - 4) 22:17:09 40000 22:17:14 <|amethyst> that's like 40 k 22:17:29 <|amethyst> but making the items bigger could have effects on cache 22:18:38 i mean, they're already big enough to make a cache sad 22:19:07 and by inlining the map we're saving one dereference, right? which would make a cache happy 22:19:10 <|amethyst> yeah, I think probably there would be no noticeable performance difference 22:19:23 <|amethyst> or faster because of the indirection thing, yeah 22:19:37 plus it means we can just use all the default copy/move ctors 22:19:52 thwarting my efforts to learn more about them, alas 22:20:25 <|amethyst> hm 22:20:40 <|amethyst> I have a suggestion that will do you one better 22:21:02 <|amethyst> class CrawlHashTable : public map 22:21:20 -!- zxc_ has joined ##crawl-dev 22:21:49 <|amethyst> which would let you get rid of a bunch of trivial wrapper methods 22:22:09 hmm 22:23:04 that sounds good to me. i will set about doing it and see how that goes 22:24:12 <|amethyst> also, in the future of C++17, I think we could probably replace most of CrawlStoreValue with std::variant 22:25:09 ??dev team 22:25:09 dev team ~ devteam[1/27]: https://crawl.develz.org/wiki/doku.php?id=dcss:admin:devteam 22:25:41 |amethyst: what about assert_validity()? a number of the trivial wrappers call this regularly 22:25:43 <|amethyst> CrawlVector could get the same treatment re: inheritance 22:25:44 -!- kdrnic has quit [Quit: Leaving] 22:25:57 <|amethyst> amalloy: ah, you would lose on debugging, that's true 22:26:03 i guess we wouldn't have to worry about it because we assume std::map doesn't have dumb bugs? 22:26:43 <|amethyst> well, assert_validity is mostly about all the map entries having reasonable values 22:27:08 <|amethyst> no SV_VEC CrawlStoreValues with a null pointer, that sort of thing 22:28:33 do you think this debugging stuff is useful enough to not inherit from std::map? 22:29:29 <|amethyst> you could do it regardless of inheriting 22:29:37 <|amethyst> by overriding 22:29:42 well right 22:30:19 but we'd be inheriting and then overriding most of the methods, right? and any methods we *don't* override are "attack vectors" for accidentally breaking our invariants 22:31:08 it might be better to use composition instead of inheritance specifically to restrict access to methods that do check validity 22:31:23 <|amethyst> the invariants aren't really about the structure of the hash though 22:31:28 <|amethyst> they're about the things stored in it 22:31:52 <|amethyst> the only structural validation this does is that size() == the number of times you can increment the begin() pointer 22:31:59 quick question, what does the syntax (artefact_prop_type)choice_to_prop[choice] mean? 22:32:08 it's a cast 22:32:34 look in in the choice_to_prop array, at index #choice, and convert the result to artefact_prop_type 22:32:50 #? 22:32:54 & is address 22:32:57 <|amethyst> number 22:32:59 or, well, probably it's aa map, not an array 22:32:59 * is pointer or something 22:33:01 oh 22:33:09 <|amethyst> it is an array 22:33:10 <|amethyst> vector 22:33:34 -!- jehoesefat has quit [Read error: Connection reset by peer] 22:33:41 <|amethyst> the (artefact_prop_type) is necessary because it's a vector of unsigned int, and that has to be converted if you want a prop_type 22:33:57 oh okay 22:33:59 <|amethyst> (and if you convert it when it didn't hold a valid prop_type, well, serves you right, this is Sparta) 22:35:34 <|amethyst> amalloy: the thing is, these validity checks are only done in debug mode 22:36:04 <|amethyst> amalloy: hmm 22:36:32 <|amethyst> amalloy: my thought on making it inherit is so that we get all the benefits of C++11 and beyond 22:36:43 <|amethyst> amalloy: by automatically getting new convenience methods 22:37:18 <|amethyst> I think it would be reasonable to pick one or two places to do the validity check, and override that alone 22:37:33 <|amethyst> for example, in begin() and in operator[] ? 22:37:45 <|amethyst> maybe just in begin() even 22:38:15 -!- manman has quit [Ping timeout: 264 seconds] 22:39:06 <|amethyst> also, why does the ASSERT_VALIDITY macro take that parameter? 22:39:38 <|amethyst> it's only ever empty, and if it weren't I can't think of what you would actually want to put there 22:40:03 i'm guessing you'd put something like an if statement 22:40:18 ASSERT_VALIDITY(if (should_be_valid)); 22:40:28 <|amethyst> that is 22:40:36 lol 22:40:40 it' already an if... 22:40:54 hm, maybe not 22:41:12 <|amethyst> I'm still trying to think of a good word to follow "that is" 22:41:27 <|amethyst> "madness"? 22:41:28 -!- InvisiblePanda has quit [Client Quit] 22:41:33 o.O 22:41:52 * geekosaur looked at source 22:41:52 -!- Kenran has quit [Ping timeout: 264 seconds] 22:42:06 "this is madness!" "this... is C!" 22:42:25 %git bb4ff491d1c6d777d0a5ad824068af0ec15e178d 22:42:25 07kilobyte02 * 0.11-a0-241-gbb4ff49: Disable an assertion that causes a massive slowdown. 10(4 years, 7 months ago, 1 file, 46+ 37-) 13https://github.com/crawl/crawl/commit/bb4ff491d1c6 22:42:25 (dragging out the implicit EEEEEEE of course) 22:42:31 x was never used 22:42:46 -!- InvisiblePanda has quit [Client Quit] 22:43:43 tjat was probably the first attempt to speed the macro up :) 22:44:02 first they built the condiiton into it, then they killed the conditions... then they killed the macro 22:44:24 <|amethyst> I'm trying to think if there is some kind of weird syntactic property that would make a difference here 22:44:37 <|amethyst> s/syntactic/preprocessor-syntactic/ 22:45:01 man, i bet you a trillion dollars that it was supposed to be an if statement 22:45:03 <|amethyst> between what we have and just #define ASSERT_VALIDITY() 22:45:19 amalloy is probably right; the idea was that expensive checks would be optimized away 22:45:36 by not even compiling them if debug mode wasn't enabled 22:45:51 -!- zxc_ has quit [Read error: Connection reset by peer] 22:45:57 no, that's already solved by just making it a macro at all 22:46:05 |amethyst is asking why the macro has a parameter 22:46:08 -!- Kalir has quit [Ping timeout: 265 seconds] 22:46:19 yes, and that is what I answered 22:46:29 -!- zxc_ has joined ##crawl-dev 22:46:31 because normal use is if (expensive_check) ASSERT_VALIDITY() 22:46:39 -!- manman has quit [Ping timeout: 264 seconds] 22:46:42 nulling th emacro still does expensive_check 22:46:43 oh, i see 22:47:30 -!- zxc_ has quit [Read error: Connection reset by peer] 22:48:07 I'd have defined it so expensive_check was the parameter though; not much sense in omitting the if unless you;re building with pcc, and if you;re on a machine with pcc you aren't going to speed up the loop much anyway --- crawl would be dog slow regardless >.> 22:48:28 -!- zxc_ has joined ##crawl-dev 22:48:30 (part of the context for "pcc" being "20+ year old hardware/OS") 22:48:54 <|amethyst> I'd have used a conditional template probably 22:49:05 <|amethyst> well, not back then, I was still afraid of templates in 2012 22:49:06 (and, uh, you'd not have been using C++ :p ) 22:49:14 <|amethyst> I mean 22:49:22 <|amethyst> template 22:49:37 <|amethyst> okay, maybe not 22:49:43 * geekosaur wonders if anyone ever built crawl with cfront >.> 22:50:22 <|amethyst> or made assert_validity inline 22:50:39 <|amethyst> by putting it in the header 22:51:04 <|amethyst> maybe kb tried that and it still didn't get optimized away 22:51:36 -!- Grivan has quit [] 22:52:33 -!- DarkwingDuck has quit [Quit: Page closed] 22:53:19 |amethyst: if we omit the trivial wrapper methods we also lose the ability to ACCESS count keys 22:53:57 <|amethyst> count keys? 22:54:10 <|amethyst> ahh 22:54:11 the debug mode stuff also tracks how often each key is accessed 22:57:33 <|amethyst> I wonder if anyone has actually built with DEBUG_PROPS since kilobyte left 22:58:06 <|amethyst> it's not turned on by FULLDEBUG 22:58:39 <|amethyst> (the validity checks are) 22:58:59 <|amethyst> hm 22:59:42 -!- mizu_no_oto has quit [Quit: Computer has gone to sleep.] 23:00:02 -!- omarax has quit [Remote host closed the connection] 23:02:22 -!- Lasty has quit [Quit: Leaving.] 23:03:36 <|amethyst> I'm not dead set on removing this debug-mode validity checking and access counting, but I'm also not sure it's worth the amount of code it requires 23:04:36 -!- zeia has quit [Ping timeout: 244 seconds] 23:04:54 i'd rather remove it personally, but i don't have experience trying to debug these things 23:04:54 -!- Lasty has joined ##crawl-dev 23:05:11 "warning: no previous declaration for 'void redraw_all()' [-Wmissing-declarations]"? 23:05:12 <|amethyst> in FixedVector it's more important, in part because we tend to overrun those more often, and in part because they are asserts that go into normal builds 23:05:36 <|amethyst> protopulse: did you add void redraw_all(); to a header somewhere? 23:05:40 yea 23:05:55 i added it to item-use.h 23:06:02 since i was editing item-use.cc 23:06:22 <|amethyst> did you move the function definition to item-use.cc? 23:06:29 oh no 23:06:38 i put the entire function in item-use.h 23:06:58 <|amethyst> don't do that 23:07:09 you cant put functions in .h files? 23:07:25 you usually shouldn't 23:07:34 <|amethyst> only if they're inline (including methods defined inside a class definition) or a template 23:07:37 ok let me fix that 23:07:51 instead, .h files contain a list of functions that will be defined, not the actual definitions of those functions. then you define them in the matching .cc file 23:08:49 got it 23:09:09 also i have some code written, can you briefly skim thru it and tell me what you think? 23:09:17 just some feedback 23:09:31 i dont think it runs nearly as it should yet... 23:10:22 -!- Shard1697 has joined ##crawl-dev 23:12:42 protopulse: here's a re-paste of something i said earlier that now applies: if you wand feedback about the changes you've made so far, create a patch file for us to look at, via something like: git format-patch --stdout origin/master > feedback.patch 23:13:02 and then paste that to gist.github.com or some other pastebin site 23:13:33 ok one second 23:15:22 it ran instantly 23:15:26 did it save it somewhere? 23:15:44 yes, to feedback.patch 23:16:36 o ok 23:17:39 o this is based on my commits 23:17:42 i need to commit it first 23:23:12 -!- Kalir has quit [Changing host] 23:23:15 -!- squidcat has quit [Ping timeout: 264 seconds] 23:23:15 !always be committing 23:23:15 ABC! A-Always! B-Be! C-Committing! Always Be Committing! ALWAYS BE COMMITTING! 23:23:24 haha 23:23:29 it took forever to commit that one file 23:23:30 jesus 23:23:35 dont know why it took so long 23:24:59 http://pastebin.com/vv3qK871 23:25:46 the stuff i want feedback on is towards the bottom 23:25:58 everything else is just me tweaking with the settings and minor stuff for the most part 23:26:33 wait a second 23:26:35 it didnt save 23:27:12 did it grab item-cc.h instead? 23:27:37 o nvm 23:27:39 its there 23:28:18 amalloy: do you have *.patch in your global gitignore config? 23:28:42 no. i don't make a lot of patch files really; i use github instead to share my work 23:31:01 -!- wheals has quit [Remote host closed the connection] 23:31:03 -!- manman has quit [Ping timeout: 264 seconds] 23:32:23 so my goal is to make it so although it's not possible to get certain attributes on items that would not normally be possible with the scroll 23:32:36 oops 23:32:44 meant to say 23:32:52 add attributes that would not normally be possible 23:33:02 like rMut or clarity or random teleportation 23:33:05 even on armor 23:33:52 supposed to do 1-3 changes and have 50% chance of positive or negative, although i guess that part isn't quite logically sound yet..now that i think about it 23:33:59 the code doesnt compile yet but the skeleton is there 23:34:05 which is what i wanted feedback on 23:34:10 if i was going int he right direction 23:34:18 or if there was a major flaw with what i was doing 23:35:17 -!- Zekka has quit [Read error: Connection reset by peer] 23:37:44 structurally it looks reasonably okay to me, not that i'm an expert on it. _rerandomize_randart looks like a big mess but it sounds like you are working it out still 23:38:02 yea, that's probably the hardest part so far 23:38:05 and in general 23:38:11 cause i had to code it from scratch 23:38:19 borrowed a lot from pre-existing stuff of course 23:38:34 but still trying to work out how to get it to run 23:38:46 first hurdle was trying to understand the code in the first place 23:38:52 you're not intending to submit this as a change to actual crawl, as i recall, right? there are a number of bad-style things you've done that would need to be edited out if you were going to submit a PR, like using tabs instead of spaces and adding some silly comments, but if it's just intended for you those are fine 23:39:06 i mean, i never talked to anyone about whether these changes are feasible 23:39:10 im just doing this for fun 23:39:32 i was under the assumption these changes wouldnt be interesting for the general playerbase 23:39:48 because im basically taking out unrands altogether and then making randarts more prominent 23:39:49 indeed, i don't think we would take this change 23:39:59 yea 23:40:18 still if you think there are bad-style stuff, we could work thru that after we get the general thing working 23:40:25 wouldnt hurt 23:40:26 -!- Daekdroom has quit [Quit: Leaving] 23:40:50 well you added a bunch of comments to remind yourself of things 23:41:02 yea im not as familiar with the code and coding in general 23:41:04 which is fine for working it out, but they obviously don't belong in a finished version 23:41:07 needed it to keep track of stuff 23:41:20 it's cluttery? 23:41:25 i can cut it out later 23:46:06 any suggestions for the last function in particular? 23:46:11 thats the one i need help on really 23:46:51 which one is the last function 23:47:03 _rerandomize_randart 23:47:10 everything else runs 23:47:15 its just that one bit thats the issue 23:48:18 -!- robotcentaur has quit [Quit: Page closed] 23:50:44 |amethyst: std::map::operator[] isn't virtual, so our wrapper function can't override it. that's fine-ish, right? i can just add a non-virtual version, and then anyone who calls through std::map won't get the debug stuff but folks who call through CHT will 23:51:21 -!- jefus- has joined ##crawl-dev 23:51:25 <|amethyst> ideally no one will use it through std::map 23:52:33 protopulse: you're missing the } for your for loop 23:52:48 that's the most obvious thing preventing compilation 23:53:13 oops yea 23:53:20 but how about the use of arrays and stuff 23:53:22 is that all ok? 23:53:26 after you fix that, you'll also have header issues at least 23:53:38 mm yea 23:53:40 what do you mean, use of arrays 23:53:49 like item arrays 23:53:57 are properties actually changed 23:53:57 was "turn item into randart" part of the smith god's abilities? 23:54:05 ??igni 23:54:06 igni[1/1]: An abandoned experimental god, described in commit http://s-z.org/neil/git/?p=crawl.git;a=commit;h=c07910ae6d3bea3a66328782ca471c5a7da96add 23:54:09 in _rerandomize_randart? 23:54:13 yea 23:54:20 like is the logic ok? 23:54:23 you don't use any arrays of items there. there's just one item 23:54:31 oh 23:54:33 -!- jeefus has quit [Ping timeout: 244 seconds] 23:54:37 its for the properties 23:54:57 it looks like your "val" thing for coinflipping can only take on some pretty weird values 23:55:06 -!- Netmonmatt has quit [Read error: Connection reset by peer] 23:55:32 like it looks like you intend to either add or subtract 1 from the existing prop, maybe, but you're actually setting it to either 2 or -1 23:55:45 in the ARTP_VAL_ANY case 23:56:54 oh shoot.. 23:57:14 -!- smltlk has quit [Remote host closed the connection] 23:57:24 it should be artefact_prop_type>(prop) += 1 shouldnt it 23:57:51 and amethyst mentioned smoeting about 23:58:00 if i take a property inherent for a ring or amulet off 23:58:04 it loses its identity 23:58:13 im kind of at a loss how to approach that issue still.. 23:58:20 <|amethyst> you don't have to worry about that currently 23:58:25 also im treating armour and amulets etc. the same 23:58:26 <|amethyst> because it's not a prop 23:58:31 <|amethyst> but 23:58:31 idk if thats an issue 23:58:38 <|amethyst> you might give it conflicting properties 23:58:48 <|amethyst> there are some functions in artefact.cc to check for those I believe 23:58:48 conflicting? 23:59:06 like if it's already AC+6 base ring 23:59:06 and i add another 6 AC? 23:59:06 a ring of protection from cold (rC-) 23:59:06 okay 23:59:19 <|amethyst> either way 23:59:22 or a ring of teleportation (-Tele) 23:59:30 <|amethyst> you don't want to give it a prop that it already has as its base type 23:59:42 <|amethyst> and you don't want to give it a prop that conflicts with its base type or another prop