MantisBT - Zandronum
View Issue Details
0000578Zandronum[All Projects] Suggestionpublic2011-09-09 14:102014-05-12 00:17
Watermelon 
 
normalfeatureN/A
closedwaiting for zdoom 
MicrosoftWindowsXP/Vista/7
98d 
 
0000578: New decorate function: A_SpawnItemExTID; very useful for skulltag mods
Skulltag supports the following:
A_SpawnItemEx (string type, float xoffset, float yoffset, float zoffset, float xvelocity, float yvelocity, float zvelocity, float angle, int flags, int chance)

One of the problems is that it creates a monster with a TID of 0, and the only way to change it is to define a monster that uses Thing_ChangeTid(0, xyz) in it's [spawn, or one of] state. This means that if you wanted to have a unique range of monsters for each player, this could now be done. One of the major things limiting projects I'm working on and projects I love to play (ex: Zdoomwars) is the inability to assign dynamic TID's to monsters that are spawned via this action function.

An example of how this could be useful is that it would allow me to add in code to zdoomwars to create a refunder if you failspawn a unit. One of the problems with A_SpawnItemEx is that it passes the units down the chain and if you fail, there's nothing that can really be done to ensure the actor that spawned it gets refunded for any errors.
There are many other ideas that have been limited from not having this code. I technically can make my way around it, but it'd increase the project size dramatically to account for one piece of code that could make life much easier (which usually means more bugs and mess ups when you have to inflate the library 32x, especially when the current decorate library is 30-40k [and/or more] lines of code)

This would be my proposed action function:
A_SpawnItemExTID (string type, float xoffset, float yoffset, float zoffset, float xvelocity, float yvelocity, float zvelocity, float angle, int flags, int chance[, int TID])

Forgive my lack of computer programming knowledge with respect to Skulltag, but I assume it would just be a cut and paste of the A_SpawnItemEx code and adding a code pointer to assign it if the monster is spawned.
Naturally/probably obviously: Easier said than done.
If this can be implemented it'd open up a lot of modding capabilities and idea's I had that are currently a headache to do without this line of code.


As you can see, one of skulltag's specialties that set it apart from other ports like Zdaemon is it's massive customization ability with respect to making unique wads (GvH, ZDW, Zombie Horde, AOW, MoP...etc, the list goes on). This would open some doors.



NOTE: Does this have to be part of the zdoom revisions or can it be something unique to skulltag?
No tags attached.
Issue History
2011-09-09 14:10WatermelonNew Issue
2011-09-17 15:48Ijon TichyNote Added: 0002161
2014-05-12 00:17WatermelonStatusnew => closed
2014-05-12 00:17WatermelonResolutionopen => waiting for zdoom

Notes
(0002161)
Ijon Tichy   
2011-09-17 15:48   
This is the wrong place to suggest this. Take it to ZDoom instead.