vinvin wrote:Thanks for the info! You've mentioned ZDoom a lot... so, everything that applies to ZDoom applies to Zandronum?
For the sake of the argument, yes. However, the technical answer would be "no" because ZDoom keeps constantly evolving and adding new stuff and it takes time for Zandronum to catch up. So you may find some functions or features on ZDoom wiki that are not available in Zandronum
yet. Zandronum's mission is to be the multiplayer version of ZDoom. ZDoom, however, has recently added its own multiplayer but it's only good for LAN games.
vinvin wrote:Is it common to write mods with a mixture of ACS and Decorate scripts? Is ACS more targeted at automating levels, like scripting doors?
It is common nowadays for mods to have both Decorate and ACS. For example: You want to create an item which, when picked up, gives you ammo regeneration for 30 seconds. You can create the item as an object in Decorate (referred to as "Actor" in the language), but you won't be able to make the ammo regeneration work in Decorate unless you use a pre-defined powerup for ammo regeneration, which there is none. In that case, you can make an ACS script that would do the ammo regeneration (using a loop inside the script with some delay inside the loop; ACS is a C-like language), and make the item execute the script you wrote once the item is picked up.
It is possible to script doors in ACS, but you don't need to do that because ACS already has a few pre-defined functions for doors.
vinvin wrote:Should i worry about filesizes when replacing the lumps?
File sizes are not a limitation when adding or replacing lumps. The only concern people have about filesizes is related to the filesize of their entire mod. Mods usually get big when they add a lot of original graphics/sounds.
vinvin wrote:BTW, i just noticed the following state machine entry in the player class:
Code: Select all
Pain:
PLAY G 4
PLAY G 4 A_Pain
Goto Spawn
I'm assuming that PLAY commands animation G to play for 4 frames. Is that correct?
I see the reasoning, but that's not how those states work at all. "PLAY" are the first four letters of the name of a graphic(sprite) lump. "G" is the fifth letter of the sprite lump's name, called the frame letter, and 4 is the length of time during which that particular sprite is being shown on the object. The unit of time in Decorate and ACS is a tic and it's equal to a 35th of a second (1/35 s).
The actual sprite lump has 2-4 additional letters at the end of its name which define the sprite's rotation. The sprite with the same identification (first 4 letters) and frame letter (the fifth letter) will appear differently depending on from which angle you're looking at the actor that displays the sprite. The 2-4 letters at the end say that the current
lump will be displayed only when the actor is being looked at from a certain angle. Essentially, the actor (object) is being rendered in 2D but you make several 2D images of the same object in different rotations and thus the illusion of 3D is created.
More info here:
https://zdoom.org/wiki/Sprite and
https://zdoom.org/wiki/Creating_new_sprite_graphics
Also worth checking out:
https://zdoom.org/wiki/Actor_states
The general extension for doom mods is .wad. This extension is also used by Doom 2 (doom2.wad). There is a good editor of .wad files called Slade:
http://slade.mancubus.net/
I encourage you to use Slade to open Doom2.wad and search for all sprites beginning with PLAY (there is a search feature in Slade somewhere at the bottom). Then you'll quickly understand what the letters in the sprites' names represent.