2013-07-16T00:00:28 I have some doc here, if you know the C struct syntax: http://pytouhou.linkmauve.fr/doc/06/ecl.xhtml 2013-07-16T00:00:30 <[Bot]MagicStone> Title: ECL format (at pytouhou.linkmauve.fr) 2013-07-16T00:00:55 https://dl.dropboxusercontent.com/u/13801415/Touhou/mi/ecl/ecldata1.txt 2013-07-16T00:01:04 I mean nthe stuff here 2013-07-16T00:01:05 local th07_extra1 2013-07-16T00:01:11 in that bracket 2013-07-16T00:01:21 In PCB you have two ECL mains, and some values are uint32_t instead of uint16_t, but overall it’s the same. 2013-07-16T00:01:37 and you mentioned something about padding to worry about last time 2013-07-16T00:01:46 Ah no, don’t use thecl for that, it wasn’t updated to work on ECL mains. 2013-07-16T00:02:07 Use a normal hex editor currently. 2013-07-16T00:02:24 well i have an old version of thecl and a new one, while the new one formats those sections readably.. the old one can compile but the new one cant 2013-07-16T00:02:48 so one thing I can do is edit the hex and read if my changes are what I intended with the new tool 2013-07-16T00:02:49 I have planned to add main repacking to that new one, but it’s not yet done. 2013-07-16T00:03:12 So currently your best bet is to use an hex editor directly on the ecl file, without disassembling it first. 2013-07-16T00:03:17 okay 2013-07-16T00:03:43 Or wait a few days or weeks for me to start that project. 2013-07-16T00:04:04 oh you're updating the thtk ecl stuff? 2013-07-16T00:04:28 I'd be happy to help with that if I can, although I kinda doubt id be of use 2013-07-16T00:04:35 I’d like to, but currently I’m working on a better scripting language for PyTouhou. 2013-07-16T00:04:58 I want to keep the ECL compatibility, but allow my users to script their own enemies in Python. 2013-07-16T00:05:11 cool! 2013-07-16T00:05:15 Do you know flex and bison? 2013-07-16T00:05:20 Well, lex and yacc. 2013-07-16T00:05:21 a little bit 2013-07-16T00:08:39 With that and some doc you can try to parse Nmlgc’s output format. 2013-07-16T00:09:02 okay! ty 2013-07-16T00:09:21 I would like to tell you to ask me if you don’t know how to do something, but I’m going to sleep soon. 2013-07-16T00:09:21 I'll try to have a go with the hex editing too, although that seems like itll be really tough 2013-07-16T00:09:36 i might ask you some more stuff tommorow if its okay ^^ 2013-07-16T00:09:51 Ok. :) 2013-07-16T00:10:01 I’m always pleased to help people in need. ^^ 2013-07-16T00:10:15 im realy excited about this bossrush patch 2013-07-16T00:13:11 When PyTouhou will support PCB it will come out of the box, without any patch! 2013-07-16T00:13:19 thats so cool 2013-07-16T00:13:24 But I am far from that goal. 2013-07-16T00:26:50 I’m going to sleep, good night. \o_ 2013-07-16T00:27:27 night night! 2013-07-16T01:42:36 *** Ibaraki_Ibuki has joined #thcrap 2013-07-16T01:56:32 *** youmu2 has quit IRC 2013-07-16T02:17:42 *** D_Ayaya has quit IRC 2013-07-16T02:47:22 *** D_Aya has joined #thcrap 2013-07-16T04:28:17 *** Ikubi_Ikarabi has joined #thcrap 2013-07-16T04:31:51 *** Ibaraki_Ibuki has quit IRC 2013-07-16T04:31:56 *** Ikubi_Ikarabi is now known as Ibaraki_Ibuki 2013-07-16T07:08:20 *** Ibaraki_Ibuki has quit IRC 2013-07-16T07:16:15 *** torque has quit IRC 2013-07-16T07:16:46 *** torque has joined #thcrap 2013-07-16T09:26:33 *** natsurou has quit IRC 2013-07-16T09:28:36 *** natsurou has joined #thcrap 2013-07-16T10:55:16 *** Bleh has joined #thcrap 2013-07-16T10:55:35 *** Bleh has left #thcrap 2013-07-16T11:17:44 *** tosiaki has joined #thcrap 2013-07-16T11:41:18 *** Nmlgc has joined #thcrap 2013-07-16T13:17:48 *** koopie has joined #thcrap 2013-07-16T13:38:31 *** Twidona has joined #thcrap 2013-07-16T14:53:04 *** Twidona has quit IRC 2013-07-16T15:17:46 *** koopie has quit IRC 2013-07-16T15:18:11 *** koopie has joined #thcrap 2013-07-16T16:06:03 *** magictape has joined #thcrap 2013-07-16T16:17:59 *** koopye has joined #thcrap 2013-07-16T16:19:24 *** magictape has quit IRC 2013-07-16T16:21:28 *** koopie has quit IRC 2013-07-16T16:24:40 *** koopie has joined #thcrap 2013-07-16T16:26:48 *** magictape has joined #thcrap 2013-07-16T16:33:12 *** magictape has quit IRC 2013-07-16T17:32:33 *** koopye has joined #thcrap 2013-07-16T17:33:41 *** magictape has joined #thcrap 2013-07-16T17:36:16 *** koopie has quit IRC 2013-07-16T19:06:19 *** koopye has quit IRC 2013-07-16T19:08:49 *** magictape has quit IRC 2013-07-16T19:09:26 *** magictape has joined #thcrap 2013-07-16T19:14:40 *** youmu2 has joined #thcrap 2013-07-16T19:23:58 *** Nmlgc1 has joined #thcrap 2013-07-16T19:35:00 *** Nmlgc has quit IRC 2013-07-16T19:36:23 *** Ibaraki_Ibuki has joined #thcrap 2013-07-16T19:52:15 *** koopie has joined #thcrap 2013-07-16T20:06:58 hi 2013-07-16T20:07:15 I'm having trouble understanding this http://pytouhou.linkmauve.fr/doc/06/ecl.xhtml 2013-07-16T20:07:20 <[Bot]MagicStone> Title: ECL format (at pytouhou.linkmauve.fr) 2013-07-16T20:08:10 I get how the struct format maps to hex and I can see it in my hex editor, but what is uint8_t arguments in Main? 2013-07-16T20:09:57 An uint8_t is just one byte, 0x00 is 0, 0xff is 255. 2013-07-16T20:10:11 what I want to figure out is how I can disable individual parts from a stage? (rather than just copying over the skip patch to remove everything at once) 2013-07-16T20:10:18 “u” for unsigned, “int” for integer, and 8 for 8 bits. 2013-07-16T20:10:33 thanks linkmauve1 2013-07-16T20:10:38 but what are these arguments? 2013-07-16T20:11:04 oh 2013-07-16T20:11:19 they're the parameters that get used in calling a subroutine 2013-07-16T20:14:03 im a little confused then 2013-07-16T20:14:54 if Main just means a list of subroutine calls given as a sequence of thecl_main_instr_t's.. then why are there two 'locals' (th07_extra1 and th07_extra2) in the dump? 2013-07-16T20:18:41 *** tosiaki has quit IRC 2013-07-16T20:54:58 *** tosiaki has joined #thcrap 2013-07-16T20:56:47 basically this is where i am http://i.imgur.com/POYwMzL.png 2013-07-16T20:56:59 i have thtk official and master versions 2013-07-16T20:57:12 i think extra1 is the same as main1 2013-07-16T20:57:34 and i think these routines control what happens throughout the entire stage 2013-07-16T20:57:47 so i need to figure out how to disable them individually 2013-07-16T20:58:07 one problem is i cant compile master dumps, only official dumps 2013-07-16T20:58:14 so i have to edit the hex directly 2013-07-16T21:01:51 You could try navigating through the official dump by using a combination of frame and sub numbers. 2013-07-16T21:06:08 For example, the start of the instruction at frame 200 with sub 5 is 0xc8 0x00 0x05. And, picking something at random, 0x0a 0x2c 0x0b is the instruction at frame 11274 with sub 11. 2013-07-16T21:08:53 I see! 2013-07-16T21:14:01 *** koopie has quit IRC 2013-07-16T21:18:05 why are there two mains, th07_main1 and th07_main2? 2013-07-16T21:18:27 although skipgame only has one 2013-07-16T21:31:58 I tried adding a new 'B' mode to thecl that would let me edit the structs with C before saving them back out http://pastebin.com/raw.php?i=6wDKb2UJ 2013-07-16T21:32:44 if I use module->parse on a dump it only has the 153 normal subs missing the two mains.. but if I use module->open on the binary I get crashes from freeing things 2013-07-16T21:36:45 oh its because itsallocating things with size 0 2013-07-16T22:04:47 it's frustrating that I can't get master (which has support for main subs) to open then compile 2013-07-16T22:05:06 I tried adding size information to the instructions and that fixes the free but the binary it outputs is different 2013-07-16T22:06:00 on the other hand if I parse then compile it does work.. but internally it doesn't seem to have the main subs there (which are exactly the thing i need to be editing) 2013-07-16T22:08:08 oops thats not true, master doesn't parse those bits - I'm not sure how I mixed that up 2013-07-16T22:09:19 *** tosiaki has quit IRC 2013-07-16T22:17:32 I just finally understood how to use what you were describing.. :D 2013-07-16T22:19:38 Should have probably explained a bit more... -.- 2013-07-16T22:20:18 But yeah, the time is a 2-byte little endian value, so 11274 -> 0x2c0a -> 0x0a 0x2c 2013-07-16T22:22:42 I see that! 2013-07-16T22:23:09 what's strange is I have local th07_extra1 and th07_extra2 is my offical dump 2013-07-16T22:23:28 and I have th07_main1 and th07_main2 in my master dump of the same ecl 2013-07-16T22:23:37 I just renamed it. :) 2013-07-16T22:23:48 and i tried deleteing all but one instruction from extra1, but then the master dump has a whole load of instructions in it still 2013-07-16T22:23:57 in both main1 and main2 2013-07-16T22:24:13 oops I know what I did wrong 2013-07-16T22:24:23 that was silly of me 2013-07-16T22:24:34 need to end it with 0xff 0xff 0xff 0xff 2013-07-16T22:25:43 why are there two different mains though? 2013-07-16T22:26:12 for multicore machines 2013-07-16T22:26:15 :) 2013-07-16T22:26:18 haha 2013-07-16T22:26:24 I *guess* it might be pre-midboss and post-midboss 2013-07-16T22:30:41 these two mains reminded me of one fun thread on gamedev forum, where one guy wanted to make use of multiple processors and asked if he could define main1 and main2, so that main1 is executed by one core and main2 by another http://www.gamedev.ru/code/forum/?id=19939 2013-07-16T22:30:43 <[Bot]MagicStone> Title: / / / GameDev.ru (at www.gamedev.ru) 2013-07-16T22:31:02 *multiple cores 2013-07-16T22:32:24 someone suggested doing it parallel prgramming way http://www.gamedev.ru/code/forum/?id=19939&page=2#m29 2013-07-16T22:32:25 <[Bot]MagicStone> Title: (2 ) / / / GameDev.ru (at www.gamedev.ru) 2013-07-16T22:32:26 somebody else diagonal programming way http://www.gamedev.ru/code/forum/?id=19939&page=4#m45 2013-07-16T22:32:27 <[Bot]MagicStone> Title: (4 ) / / / GameDev.ru (at www.gamedev.ru) 2013-07-16T22:32:29 :) 2013-07-16T22:32:36 :P 2013-07-16T22:45:33 *** tosiaki has joined #thcrap 2013-07-16T22:47:51 *** tosiaki has quit IRC 2013-07-16T22:48:14 *** tosiaki has joined #thcrap 2013-07-16T23:31:20 *** natsurou has quit IRC 2013-07-16T23:33:15 *** natsurou has joined #thcrap 2013-07-16T23:43:05 *** tosiaki has quit IRC 2013-07-16T23:43:35 *** tosiaki has joined #thcrap