Compiled ACS/Decorate

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
Post Reply
User avatar
justin024
Posts: 379
Joined: Sun Nov 14, 2004 1:29 am
Location: Illinois
Contact:

Compiled ACS/Decorate

Post by justin024 »

I was wondering how compiled ACS works and how compiled decorate is going to work. If it's not too ridiculously complicated, I might be able to write a compiler or decomplier for one of these.
Last edited by justin024 on Sat Mar 18, 2006 5:14 pm, edited 2 times in total.
User avatar
Giest118
Posts: 2914
Joined: Fri Dec 05, 2003 11:02 pm

Post by Giest118 »

I, uh... don't think DECORATE has a compiled format.

ACS, on the other hand...
User avatar
justin024
Posts: 379
Joined: Sun Nov 14, 2004 1:29 am
Location: Illinois
Contact:

Post by justin024 »

going to work
like when 2.1.0 comes out
User avatar
Giest118
Posts: 2914
Joined: Fri Dec 05, 2003 11:02 pm

Post by Giest118 »

If anyone finds any reason at all for DECORATE to get a compiled file format, your point will be valid. As it is, it's not. Any questions?
User avatar
justin024
Posts: 379
Joined: Sun Nov 14, 2004 1:29 am
Location: Illinois
Contact:

Post by justin024 »

It seems someone has
Randy wrote:Q. If you really are doing this, you'd better not make me compile my DECORATEs before I put them in a wad!
A. The compiler will be integrated directly into ZDoom, so you will not need to perform any extra steps when you build your wad. Depending on how long it takes to compile the thousands of classes that I will be able to move out of the executable, there will probably be a facility for precompiling the data, but it will be an optional step, not a requirement.
User avatar
Giest118
Posts: 2914
Joined: Fri Dec 05, 2003 11:02 pm

Post by Giest118 »

Okay then. I will shut up now.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

I hope Randy reconsiders his plans for an external DECORATE compiler. In terms of speed it isn't necessary (All the relevant code would compile without problems in a very few seconds and hardly add to the startup time) and it would mean giving up a lot of flexibility because you'd have to put a lot of knowledge about the engine into the compiler. In fact I'd even consider putting the ACS compiler into the game so that it can run levels with only a script in source form. It would massively ease the means to add new features to ACS.
User avatar
Siggi
Posts: 3288
Joined: Sun Oct 03, 2004 8:57 am
Preferred Pronouns: They/Them
Location: South Africa

Post by Siggi »

What part of optional external compiler don't you understand?
If you don't compile it before, it will compile while running ZDoom. It quite clearly states the compiler would be integrated into ZDoom.
User avatar
Bio Hazard
Posts: 4019
Joined: Fri Aug 15, 2003 8:15 pm
Location: ferret ~/C/ZDL $
Contact:

Post by Bio Hazard »

Graf doesn't people making maps without SCRIPTS lumps.

Also, how could the internal ACS compiler know when to compile the scripts? There will always be a BEHAVIOR lump.

Unless you want hexen to be distinguished by either BEHAVIOR or SCRIPTS
User avatar
Apothem
Posts: 2070
Joined: Sat Nov 29, 2003 7:13 pm
Location: Performing open heart surgery on an ACS compiler.

Post by Apothem »

Graf Zahl wrote:In fact I'd even consider putting the ACS compiler into the game so that it can run levels with only a script in source form. It would massively ease the means to add new features to ACS.
That would rock! :rock: It would enable more in-depth level and map modifications to be used and probably unlock tons of possibilities as far as gameplay options go.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Bio Hazard wrote:Graf doesn't people making maps without SCRIPTS lumps.
That's one reason. Another one is that an external compiler makes changes significantly more complex. For each small thing you have to maintain 2 projects - which is why I am quite hesistant to add ACS extensions to GZDoom. An internal compiler would solve this perfectly because you no longer depend on external tools for which countless versions exist (and experience shows that far too many users - even mappers - don't really bother to update them.)

With DECORATE it would be even worse because the system will be considerably more complex than ACS. Do I need to point to VavoomC for something that doesn't do what it is supposed to do because it compiles everything into a large monolithic block? What's the point of an externalized language if all you can do is recompile the entire game at once? With that we are no better off than with a source modification and the programming isn't simpler as well. True flexibility comes from being able to piece the separate parts together according to the user's needs.

Also, how could the internal ACS compiler know when to compile the scripts? There will always be a BEHAVIOR lump.

Unless you want hexen to be distinguished by either BEHAVIOR or SCRIPTS
You'd have to put in an empty BEHAVIOR lump that contains only a special marker. This would be necessary because otherwise all the editors out there would get problems.
User avatar
Sphagne
Posts: 513
Joined: Wed Jul 16, 2003 3:36 am

Post by Sphagne »

You have to think about libraries and source refrences and the like, as well.
Post Reply

Return to “General”