Gez
Why don't I have a custom title by now?!
Posts: 9166
Registered: 07-07 |
The following recipe should work, I think:
- Open your wad file in SLADE 3.
- Create a new lump, name for example MAP01_S. That'll be our source script lump for MAP01.
- Create another couple of lumps named A_START and A_END to determine an ACS namespace. Important: the A_ markers should be after the script source lump.
- Now edit the EMAPINFO lump. Tell your MAP01 definition that it has an acsscript property set to MAP01_S.
- Click on your MAP01_S lump. Click on the "edit as text" and start writing some script. Then save.
- Now right-click on it. Choose "Compile ACS (Hexen bytecode)". A new MAP01_S lump should automatically appear between the A_ markers.
Once the initial setup is done, you can follow just these steps:
- Open wad in both SLADE 3 and Doom Builder 2.
- Edit the map in DB2, and alt-tab to SLADE 3 to edit the script.
- Whenever you change the script, click on save, then right-click->compile ACS Hexen as explained above. Then save the wad.
- After that, save or test in DB2.
Note 1: Each map can have its own map script lump. Just give them a different name, that's why I'd recommend simply appending _S to the name of the map.
Note 2: If you're using Linux or MacOS rather than Windows, you'll need a map editor that works like Doom Builder 2 for map saves: DB2 only writes the map when it saves, and reloads the rest of the wad from the disk, so you can edit a map simultaneously in both SLADE 3 and DB2 Just remember to save the first in SLADE 3 (so all non-map lumps are to their latest version), and then in DB 2 (so all map lumps are in their latest version).
Note 3: The reason I'm advocating SLADE 3 instead of, say, XWE is not just a question of personal bias. A given wad file cannot be opened in both XWE and anything else, so the setup explained above wouldn't work and you'd have to instead save quit and reload to alternate between both the lump editor and the map editor, which would be tedious. Plus, I don't know if you can give arbitrary parameters to ACC with XWE, so I can't guarantee you'd get a compatible bytecode.
Note 4: I don't think Eternity actually implements the ACS namespace (since it's something originally invented by ZDoom for its script libraries). This is merely a convenience thing as it allows SLADE to automatically perform the export-text-lump,-compile-import-bytecode-lump rigamarole, so it's handy. But since EE will look in the global namespace, it's important that the text lumps come first so what it sees during its backward search is the compiled lumps.
|