[Discuss] Zandronum Wiki

General discussion of the port and Doom-related chat.
Watermelon
Zandrone
Posts: 1244
Joined: Thu Jun 28, 2012 9:07 pm
Location: Rwanda

RE: [Discuss] Zandronum Wiki

#21

Post by Watermelon » Wed Oct 10, 2012 3:48 pm

Llewellyn wrote:
Watermelon wrote:My bad, I just checked after re-reading and confused MAP scope with WORLD scope.

Though I'm hoping Dusk can get shared variables between the server and client one day


Well IMO this kind of defeats the purpose of ClientSide scripting because you're sharing data inbetween the server and client, and waiting for the PING call again...
You can already share data by calling a Clientside script with the data you want to save in the arguments of the script, and then have that script set those variables using the data from those arguments.


Don't make too many assumptions: I don't want to replace the entire architecture with it, but just put a specific flag on the variable or introduce something similar to GLOBAL/WORLD variable with an identifier for the clients and server. It becomes really messy when you're only limited to 3 arguments. It's possible to use for some of the ideas I have, but I'll be puking so many scripts at times it'll be nuts (plus I'll need to make a million constants or such)... so I figured I'll wait for a nicer implementation.

While it's much easier going server -> client, it's unreliable as hell going from client -> server since there's no RUDP. One idea I had went from around 800 lines of code to 4000 just because I had to implement my own RUDP.

Having the ability to specify a variable as shared would save me so much in terms of a headache. There is a hacky workaround that has allowed me to actually manipulate the game into sharing it, but it's only limited to a level.
Last edited by Watermelon on Wed Oct 10, 2012 4:03 pm, edited 1 time in total.

User avatar
Llewellyn
Forum Regular
Posts: 578
Joined: Mon Jul 02, 2012 7:12 am

RE: [Discuss] Zandronum Wiki

#22

Post by Llewellyn » Wed Oct 10, 2012 4:35 pm

Watermelon wrote:LongQuoteIsLong


I do agree that trying to get variables from Clientside -> Server would be in issue (the other way around is not, and is very simple IMO) and would be nice to have a way to do this, I don't think that "shared" variables are a good idea inherently because the variables themselves may be asynchronous with the code you're running, although you could still account for this. Anywho, we're getting a bit offtopic because none of this pertains to the Wiki now.

User avatar
Torr Samaho
Lead Developer
Posts: 1458
Joined: Fri May 25, 2012 6:03 pm
Location: Germany

RE: [Discuss] Zandronum Wiki

#23

Post by Torr Samaho » Wed Oct 10, 2012 7:37 pm

Watermelon wrote:I don't want to replace the entire architecture with it, but just put a specific flag on the variable or introduce something similar to GLOBAL/WORLD variable with an identifier for the clients and server.

As far as I understood Dusk's proposition he thought about introducing custom userinfo CVARs that are synced between client and server, but where the server stores the value for each player independently, e.g. name, autoaim, skin, cl_unlagged. This mechanism is completely independent of ACS. There were no plans to create a flag for synced ACS variables.
Llewellyn wrote:Anywho, we're getting a bit offtopic because none of this pertains to the Wiki now.

And to get things back on topic:
Llewellyn wrote:But I do believe a whole page should be dedicated to ClientSide ACS scripting.

This is a very good idea. Any volunteers? I could answer technical questions if it's unclear how exactly some kind of things work or are intended to be used.

User avatar
Dusk
Developer
Posts: 578
Joined: Thu May 24, 2012 9:59 pm
Location: Turku

RE: [Discuss] Zandronum Wiki

#24

Post by Dusk » Wed Oct 10, 2012 7:54 pm

Torr Samaho wrote:And to get things back on topic:

A little note:

Torr Samaho wrote:
Watermelon wrote:I don't want to replace the entire architecture with it, but just put a specific flag on the variable or introduce something similar to GLOBAL/WORLD variable with an identifier for the clients and server.

As far as I understood Dusk's proposition he thought about introducing custom userinfo CVARs that are synced between client and server, but where the server stores the value for each player independently, e.g. name, autoaim, skin, cl_unlagged. This mechanism is completely independent of ACS. There were no plans to create a flag for synced ACS variables.

I had run a little experiment with synced ACS variables a while back (I dubbed them "netvars"). I got the networking done, but the compiler's being hard on my hair so that got a bit buried along with a dozen other things..

What I was thinking was a little something like this: you'd initialize them with "net int x". At the end of a tic, if any of the netvars changed their values would be sent across the network. With this system you could change them how many times you wanted (e.g. in loops) and they'd only be transmit once. The code is a teeny bit messy due to ACS variables turning out being a horrid mess...

But yeah I got the netcode done, but the compiler's an even bigger mess and it'd sorta need updating if anyone would really be thinking about actually using these.
Last edited by Dusk on Wed Oct 10, 2012 7:55 pm, edited 1 time in total.

Watermelon
Zandrone
Posts: 1244
Joined: Thu Jun 28, 2012 9:07 pm
Location: Rwanda

RE: [Discuss] Zandronum Wiki

#25

Post by Watermelon » Thu Oct 11, 2012 12:17 am

Is there any possibility of getting synced variables?


I wouldn't mind making a page dedicated to clientside and net scripting, though would there be much to it except going through every function and seeing what works clientside/what doesn't?

User avatar
Llewellyn
Forum Regular
Posts: 578
Joined: Mon Jul 02, 2012 7:12 am

RE: [Discuss] Zandronum Wiki

#26

Post by Llewellyn » Thu Oct 11, 2012 5:10 am

Watermelon wrote:I wouldn't mind making a page dedicated to clientside and net scripting, though would there be much to it except going through every function and seeing what works clientside/what doesn't?


It would be more like explaining the difference between clientside and Net scripts in Zandronum, and how to use them effectively to achieve goals. You would also demonstrate things like how variables are asynchronous and that clientside scripts can be used to get a player's CVAR instead of the server's.
Last edited by Llewellyn on Thu Oct 11, 2012 5:10 am, edited 1 time in total.

User avatar
Dusk
Developer
Posts: 578
Joined: Thu May 24, 2012 9:59 pm
Location: Turku

RE: [Discuss] Zandronum Wiki

#27

Post by Dusk » Thu Oct 11, 2012 11:16 pm

Watermelon wrote:Is there any possibility of getting synced variables?

I already said, the netcode is in place but I need to figure out how to make the compiler recognize them. Frankly I'm not too sure if I'll be able to manage that bit, the compiler is such awful code that I'm surprised it works in the first place.

User avatar
Strych6
Forum Regular
Posts: 239
Joined: Sun Sep 16, 2012 6:17 am
Location: West

RE: [Discuss] Zandronum Wiki

#28

Post by Strych6 » Fri Oct 12, 2012 8:36 am

'would like to see the wiki as a portal of maps and projects, tracked with author(s) profiles and all that. This along with the zandro data/referencing articles.

It'd be nice if I could cook up a SP map one day, polish it off, and upload it to a nifty zandro private FTP. Then assign a new wiki article with it. Upload maybe 1-2 screenshots tops, & add any additional information-be it trivial or not.

Eh just an opinion. I think such organization would encourage finished wad&pk3 contributions of any size. Nice to navigate in a wiki if it's well attended. I'd like to root about through wiki conditions rather than look through cluttered releases forum pages if I want to find a quick zandro/st-hearted play
Image

User avatar
Llewellyn
Forum Regular
Posts: 578
Joined: Mon Jul 02, 2012 7:12 am

RE: [Discuss] Zandronum Wiki

#29

Post by Llewellyn » Fri Oct 12, 2012 8:45 am

Strych6 wrote:I think such organization would encourage finished wad&pk3 contributions of any size. Nice to navigate in a wiki if it's well attended.


The wiki has never been "Well attended" since it's foundry (IMO) and a projects page really has no business there, because you would have to constantly update them and their links otherwise they would continuously be old and stale, and I don't see someone stepping up and dedicating themselves to practically a part-time job.

User avatar
Strych6
Forum Regular
Posts: 239
Joined: Sun Sep 16, 2012 6:17 am
Location: West

RE: [Discuss] Zandronum Wiki

#30

Post by Strych6 » Fri Oct 12, 2012 9:03 am

You're probably well versed in zandronum's development, I'm kind of new in some sense.

But I'm talking about finished products no sub-release/patch crap, I'm sick of version updates as well. I bring this up now because the zandronum slate is quite clean, in terms of the quantity of finished packages. Not much of a haystack as it is encouragement in the field of organized, community production

I agree unfinished projects, or silly patches would hold no place in the wiki
Image

User avatar
Llewellyn
Forum Regular
Posts: 578
Joined: Mon Jul 02, 2012 7:12 am

RE: [Discuss] Zandronum Wiki

#31

Post by Llewellyn » Fri Oct 12, 2012 8:11 pm

Strych6 wrote:You're probably well versed in zandronum's development, I'm kind of new in some sense.

But I'm talking about finished products no sub-release/patch crap, I'm sick of version updates as well. I bring this up now because the zandronum slate is quite clean, in terms of the quantity of finished packages. Not much of a haystack as it is encouragement in the field of organized, community production

I agree unfinished projects, or silly patches would hold no place in the wiki


Well the problem here is that projects directed at Zandronum (or it's predecessor) are almoast never without bugs and usually get regular hotfixes. As well as mods getting sequels made by other developers (sometimes without their permission...) and the old mods no longer getting used or even remembered. At that point those mods would just be a waste of time to post because no one would really, well, USE the page.

User avatar
Torr Samaho
Lead Developer
Posts: 1458
Joined: Fri May 25, 2012 6:03 pm
Location: Germany

RE: [Discuss] Zandronum Wiki

#32

Post by Torr Samaho » Tue Oct 16, 2012 7:28 pm

We desperately need a detailed guide on when and how to load skulltag_actors.pk3 and skulltag_data.pk3, and how to obtain the latter. Any volunteers to write such a guide for the wiki?

Watermelon
Zandrone
Posts: 1244
Joined: Thu Jun 28, 2012 9:07 pm
Location: Rwanda

RE: [Discuss] Zandronum Wiki

#33

Post by Watermelon » Tue Oct 16, 2012 8:11 pm

If no one will do it, I can do it... but I only know windows (I figure I'd just point them to creating a bat file, using ZDL, or possibly dragging both onto Zandronum).
I'd like to see the above, plus a clientside page. I need a collection of all the functions that we have access to use from ACS, is there an enumeration somewhere in the source?

User avatar
-Jes-
Frequent Poster Miles card holder
Posts: 971
Joined: Fri Aug 03, 2012 9:55 am
Location: Void Zone

RE: [Discuss] Zandronum Wiki

#34

Post by -Jes- » Tue Oct 16, 2012 8:52 pm

No pressure, although I will stress that we
Torr Samaho wrote:desperately

Torr Samaho wrote:desperately[/size]

Torr Samaho wrote:desperately[/size]

need it some time this year. :D

User avatar
Qent
Addicted to Zandronum
Posts: 1424
Joined: Tue May 29, 2012 7:56 pm
Contact:

RE: [Discuss] Zandronum Wiki

#35

Post by Qent » Tue Oct 16, 2012 9:36 pm

Last edited by Qent on Tue Oct 16, 2012 9:36 pm, edited 1 time in total.

User avatar
Torr Samaho
Lead Developer
Posts: 1458
Joined: Fri May 25, 2012 6:03 pm
Location: Germany

RE: [Discuss] Zandronum Wiki

#36

Post by Torr Samaho » Wed Oct 17, 2012 5:20 am

Thanks, Qent!

User avatar
Camo Yoshi
Forum Regular
Posts: 129
Joined: Wed Jun 13, 2012 7:08 pm
Location: Bainbridge Island, WA
Contact:

RE: [Discuss] Zandronum Wiki

#37

Post by Camo Yoshi » Wed Oct 17, 2012 5:34 am

Torr Samaho wrote:We desperately need a detailed guide on when and how to load skulltag_actors.pk3 and skulltag_data.pk3, and how to obtain the latter. Any volunteers to write such a guide for the wiki?


I know how to do it via the command line on both Windows and *nix, plus server configuration involving said files. I can help add detail to the article if already exists, but I am quite busy for the time being.
50+GB of WADs and counting: http://camoy.sdf.org/wads/

Ask your doctor if Zandrama is right for you. Side effects include butthurt, loss of sleep, loss of ego, embarrassment, and social withdrawal.

Watermelon
Zandrone
Posts: 1244
Joined: Thu Jun 28, 2012 9:07 pm
Location: Rwanda

RE: [Discuss] Zandronum Wiki

#38

Post by Watermelon » Wed Oct 17, 2012 3:09 pm

Is there a place I can go and check what functions are in Skulltag and what arent? There are a lot to go through... it'd nice if there was somewhere I could see which one skulltag supports so I could work on it:

All the stuff from zdoom:

Code: Select all

ACS_NamedExecute
ACS_NamedSuspend
ACS_NamedTerminate
ACS_NamedLockedExecute
ACS_NamedLockedExecuteDoor
ACS_NamedExecuteWithResult
ACS_NamedExecuteAlways
ACS_ExecuteWait
ACS_NamedExecuteWait
Delay
NamedScriptWait
PolyWait
ScriptWait
TagWait
Math
cos
FixedDiv
FixedMul
FixedSqrt
Random
sin
Sqrt
StrLen
VectorAngle
VectorLength
ActivatorTID
CheckActorCeilingTexture
CheckActorClass
CheckActorFloorTexture
CheckActorProperty
CheckPlayerCamera
CheckSight
ClassifyActor
GameSkill
GameType
GetActorAngle
GetActorCeilingZ
GetActorFloorZ
GetActorLightLevel
GetActorPitch
GetActorProperty
GetActorVelX
GetActorVelY
GetActorVelZ
GetActorViewHeight
GetActorX
GetActorY
GetActorZ
GetAirSupply
GetAmmoCapacity
GetArmorType
GetChar
GetCVar
GetLevelInfo
GetLineRowOffset
GetPlayerInfo
GetPlayerInput
GetPolyobjX
GetPolyobjY
GetScreenHeight
GetScreenWidth
GetSectorCeilingZ
GetSectorFloorZ
GetSectorLightLevel
GetUserArray
GetUserVariable
IsTIDUsed
LineSide
PlayerClass
PlayerCount
PlayerFrags
PlayerInGame
PlayerIsBot
PlayerNumber
SetResultValue
ThingCount
ThingCountName
ThingCountNameSector
ThingCountSector
Timer
UniqueTID
GetLineUDMFInt
GetLineUDMFFixed
GetSectorUDMFInt
GetSectorUDMFFixed
GetSideUDMFInt
GetSideUDMFFixed
GetThingUDMFInt
GetThingUDMFFixed
ActivatorSound
AmbientSound
LocalAmbientSound
LocalSetMusic
SectorSound
SetMusic
SoundSequence
SoundSequenceOnActor
SoundSequenceOnSector
SoundSequenceOnPolyobj
ThingSound
CheckActorInventory
CheckInventory
CheckWeapon
ClearActorInventory
ClearInventory
GiveActorInventory
GiveInventory
SetWeapon
TakeActorInventory
TakeInventory
UseActorInventory
UseInventory
HudMessage
HudMessageBold
Log
Print
PrintBold
SetFont
SetHudSize
SetMugShotState
StrParam
StrCpy
ChangeCeiling
ChangeFloor
ChangeLevel
ChangeSky
ClearLineSpecial
Radius_Quake2
ReplaceTextures
SectorDamage
SetAirControl
SetCameraToTexture
SetCeilingTrigger
SetFloorTrigger
SetGravity
SetLineBlocking
SetLineMonsterBlocking
SetLineSpecial
SetLineTexture
SetSkyScrollSpeed
CancelFade
CreateTranslation
FadeRange
FadeTo
MorphActor
SetActivator
SetActivatorToTarget
SetActorAngle
SetActorPitch
SetActorPosition
SetActorProperty
SetActorState
SetActorVelocity
SetAirSupply
SetAmmoCapacity
SetMarineSprite
SetMarineWeapon
SetPointer
SetThingSpecial
SetUserArray
SetUserVariable
Spawn
SpawnForced
SpawnProjectile
SpawnSpot
SpawnSpotFacing
SpawnSpotFacingForced
SpawnSpotForced
Thing_Damage2
Thing_Projectile2
UnMorphActor


Some we know, but I have no idea what is and isn't backported, then I'd have to go through all of them and see what is clientsided or not. Having a hopefully truncated list would save me some time.
Last edited by Watermelon on Wed Oct 17, 2012 3:10 pm, edited 1 time in total.

User avatar
Camo Yoshi
Forum Regular
Posts: 129
Joined: Wed Jun 13, 2012 7:08 pm
Location: Bainbridge Island, WA
Contact:

RE: [Discuss] Zandronum Wiki

#39

Post by Camo Yoshi » Wed Oct 17, 2012 5:50 pm

Watermelon wrote:Is there a place I can go and check what functions are in Skulltag and what arent? There are a lot to go through... it'd nice if there was somewhere I could see which one skulltag supports so I could work on it:

All the stuff from zdoom:

Code: Select all

ACS_NamedExecute
ACS_NamedSuspend
ACS_NamedTerminate
ACS_NamedLockedExecute
ACS_NamedLockedExecuteDoor
ACS_NamedExecuteWithResult
ACS_NamedExecuteAlways
ACS_ExecuteWait
ACS_NamedExecuteWait
Delay
NamedScriptWait
PolyWait
ScriptWait
TagWait
Math
cos
FixedDiv
FixedMul
FixedSqrt
Random
sin
Sqrt
StrLen
VectorAngle
VectorLength
ActivatorTID
CheckActorCeilingTexture
CheckActorClass
CheckActorFloorTexture
CheckActorProperty
CheckPlayerCamera
CheckSight
ClassifyActor
GameSkill
GameType
GetActorAngle
GetActorCeilingZ
GetActorFloorZ
GetActorLightLevel
GetActorPitch
GetActorProperty
GetActorVelX
GetActorVelY
GetActorVelZ
GetActorViewHeight
GetActorX
GetActorY
GetActorZ
GetAirSupply
GetAmmoCapacity
GetArmorType
GetChar
GetCVar
GetLevelInfo
GetLineRowOffset
GetPlayerInfo
GetPlayerInput
GetPolyobjX
GetPolyobjY
GetScreenHeight
GetScreenWidth
GetSectorCeilingZ
GetSectorFloorZ
GetSectorLightLevel
GetUserArray
GetUserVariable
IsTIDUsed
LineSide
PlayerClass
PlayerCount
PlayerFrags
PlayerInGame
PlayerIsBot
PlayerNumber
SetResultValue
ThingCount
ThingCountName
ThingCountNameSector
ThingCountSector
Timer
UniqueTID
GetLineUDMFInt
GetLineUDMFFixed
GetSectorUDMFInt
GetSectorUDMFFixed
GetSideUDMFInt
GetSideUDMFFixed
GetThingUDMFInt
GetThingUDMFFixed
ActivatorSound
AmbientSound
LocalAmbientSound
LocalSetMusic
SectorSound
SetMusic
SoundSequence
SoundSequenceOnActor
SoundSequenceOnSector
SoundSequenceOnPolyobj
ThingSound
CheckActorInventory
CheckInventory
CheckWeapon
ClearActorInventory
ClearInventory
GiveActorInventory
GiveInventory
SetWeapon
TakeActorInventory
TakeInventory
UseActorInventory
UseInventory
HudMessage
HudMessageBold
Log
Print
PrintBold
SetFont
SetHudSize
SetMugShotState
StrParam
StrCpy
ChangeCeiling
ChangeFloor
ChangeLevel
ChangeSky
ClearLineSpecial
Radius_Quake2
ReplaceTextures
SectorDamage
SetAirControl
SetCameraToTexture
SetCeilingTrigger
SetFloorTrigger
SetGravity
SetLineBlocking
SetLineMonsterBlocking
SetLineSpecial
SetLineTexture
SetSkyScrollSpeed
CancelFade
CreateTranslation
FadeRange
FadeTo
MorphActor
SetActivator
SetActivatorToTarget
SetActorAngle
SetActorPitch
SetActorPosition
SetActorProperty
SetActorState
SetActorVelocity
SetAirSupply
SetAmmoCapacity
SetMarineSprite
SetMarineWeapon
SetPointer
SetThingSpecial
SetUserArray
SetUserVariable
Spawn
SpawnForced
SpawnProjectile
SpawnSpot
SpawnSpotFacing
SpawnSpotFacingForced
SpawnSpotForced
Thing_Damage2
Thing_Projectile2
UnMorphActor


Some we know, but I have no idea what is and isn't backported, then I'd have to go through all of them and see what is clientsided or not. Having a hopefully truncated list would save me some time.


I archived what was left of the Skulltag wiki before it became the Zandronum wiki, see here: http://camoy.sdf.org/wwwarchive/wiki.skulltag.net/

Hopefully this helps.
50+GB of WADs and counting: http://camoy.sdf.org/wads/

Ask your doctor if Zandrama is right for you. Side effects include butthurt, loss of sleep, loss of ego, embarrassment, and social withdrawal.

Watermelon
Zandrone
Posts: 1244
Joined: Thu Jun 28, 2012 9:07 pm
Location: Rwanda

RE: [Discuss] Zandronum Wiki

#40

Post by Watermelon » Wed Oct 17, 2012 6:03 pm

Is there anywhere on that awesome archive you have that shows what functions are available?
I also probably need a dev to tell me what new ACS functions may have been added, I know theres an ACSF_ function that has been added


Great backup btw!

Post Reply