Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
DaniJ

Was the ACC source code ever released?

Recommended Posts

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.

Share this post


Link to post
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.

Share this post


Link to post

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

Share this post


Link to post
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?

Share this post


Link to post
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.

Share this post


Link to post

No. The ACC source was released earlier if I am not mistaken. ZDoom's ACC is a direct descentant of Raven's version.

Share this post


Link to post

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.

Share this post


Link to post
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 ;)

Share this post


Link to post

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).

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×