DaniJ Posted March 17, 2010 In short, was the ACC (Hexen ACS compiler) source code ever released? I understand that the source for Randy Heit's ACS compiler is available but given ZDoom's enhancements I expect the bytecode it produces is radically different? I'm currently working on a BEHAVIOR decompiler for use with Doomsday. The ACC source code would be helpful for reference. 0 Share this post Link to post
Blzut3 Posted March 17, 2010 DaniJ said:given ZDoom's enhancements I expect the bytecode it produces is radically different? By default it is, but it has a "-h" parameter to put it in hexen compatibility mode. ZDoom's ACC is based off of the original so I would imagine the source was released. 0 Share this post Link to post
Quasar Posted March 17, 2010 It was released, however it is under a EULA not much better than the one the Heretic and Hexen sources were previously under. I already talked to James Monroe about this and he considered it a mistake, but he seems to have forgotten about fixing it. You could gently remind him maybe :P 0 Share this post Link to post
DaniJ Posted March 17, 2010 Quasar said:It was released Ah yes, so it was. ...it is under a EULA not much better than the one the Heretic and Hexen sources were previously under. This won't be a problem for me because I don't actually want to do anything with it per say. All the information I need to write my decompiler is already there, in the format of the produced bytecode and the runtime script interpreter in Hexen. ...I already talked to James Monroe about this and he considered it a mistake, but he seems to have forgotten about fixing it. You could gently remind him maybe :P I could certainly enquire about it. I presume then, that he is still at Raven? 0 Share this post Link to post
Gez Posted March 17, 2010 Blzut3 said:ZDoom's ACC is based off of the original Is it? I thought all the ACS-related stuff in ZDoom, including the compiler, was reverse engineered before Raven released the sources. 0 Share this post Link to post
Graf Zahl Posted March 17, 2010 No. The ACC source was released earlier if I am not mistaken. ZDoom's ACC is a direct descentant of Raven's version. 0 Share this post Link to post
DaniJ Posted March 17, 2010 I should explain that I'm not actually interested in creating another BEHAVIOR decompiler. The idea for this project is to convert BEHAVIOR bytecode directly into Doomsday script source file(s), not an ACS script source file. The plan is to drop the BEHAVIOR bytecode interpreter in jHexen completely, converting scripts into our core scripting language at load time (and subsequently parsed along with the rest of the scripts). It will certainly be an interesting project as ACS script is not directly convertible to Doomsday script. For example, the different flow statement logics in loops and switch case expression evaluation. So not only do I need to "decompile" and output a different syntax I'll also need to modify the scripts in the process. 0 Share this post Link to post
Quasar Posted March 17, 2010 DaniJ said:I should explain that I'm not actually interested in creating another BEHAVIOR decompiler. The idea for this project is to convert BEHAVIOR bytecode directly into Doomsday script source file(s), not an ACS script source file. The plan is to drop the BEHAVIOR bytecode interpreter in jHexen completely, converting scripts into our core scripting language at load time (and subsequently parsed along with the rest of the scripts). It will certainly be an interesting project as ACS script is not directly convertible to Doomsday script. For example, the different flow statement logics in loops and switch case expression evaluation. So not only do I need to "decompile" and output a different syntax I'll also need to modify the scripts in the process. Not a bad idea. I thought of this myself earlier back when Small still looked like a sure thing. I figured that ACS bytecode was simple enough to convert into Small bytecode. There ended up being too many issues involved for my liking in that particular instance, though. And now Small is out anyway so it's actually good that ACS doesn't depend on it ;) 0 Share this post Link to post
DaniJ Posted March 17, 2010 Yeah it shouldn't be that difficult as the (Raven-spec) ACS language isn't particularly complex. In our instance it makes sense to dump the BEHAVIOR interpreter as Doomsday script is a much more feature-full scripting system all round. Plus a nice side benefit is that mod authors will be able to use the port itself to convert pre-existing ACS bytecode into new Doomsday script source files, should they wish to incorporate Doomsday-specific features (without resorting to rewriting/recreating their scripts manually). 0 Share this post Link to post