ZDoom Wiki Thread

We sure do have a lot of rules and guidelines threads - find them all here, and please make sure you've read them! Also, community-wide announcements (that aren't major ZDoom News) go here as well.
User avatar
Kate
... in rememberance ...
Posts: 2975
Joined: Tue Jul 15, 2003 8:06 pm

Re: ZDoom Wiki Thread

Post by Kate »

Gez wrote:I still want an explanation on that 35.725 tics per second thing. TICRATE is defined as an integer.
Ever wondered why the FPS meter read 36 instead of 35? Randy specifically explained this in a post that I was going to link to here, but I can't find it and I specifically remember it was in off-topic, so it probably got deleted because the thread that he posted in was too old. In fact, I sent a PM to Randy.

And Octics aren't exactly 1/8th of a second because I had severe timing problems with my moving camera while assuming so, trying to get it to align with a script I was writing. I noticed that, assuming an octic was 1/8.0 of a second, my events were slowly desynchronizing, the script firing off too late as the camera was drifting slightly faster than I expected it to, implying that it was shorter than 1/8.0. So I did some quick math, comparing how far along the path the camera was to the first desynchronized event, and the math wound up giving me 1/8.57 instead of exactly 1/8.0.

Using 1/8.57 as a base for my calculations, my script's events now time perfectly with the movement of the camera.

So knowing this is important concerning synchronizing time of events.
Last edited by Kate on Tue Jun 01, 2010 6:10 pm, edited 1 time in total.
Blzut3
 
 
Posts: 3203
Joined: Wed Nov 24, 2004 12:59 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Contact:

Re: ZDoom Wiki Thread

Post by Blzut3 »

Gez wrote:I still want an explanation on that 35.725 tics per second thing. TICRATE is defined as an integer.
If I had to guess it's because integer math is used and the precision is only in milliseconds.

Code: Select all

1000 / 35 = 28.57142857142857142857
    (int) = 28

1000 / 28 = 35.71428571428571428571
Gez
 
 
Posts: 17938
Joined: Fri Jul 06, 2007 3:22 pm

Re: ZDoom Wiki Thread

Post by Gez »

Okay, makes sense.
User avatar
Kate
... in rememberance ...
Posts: 2975
Joined: Tue Jul 15, 2003 8:06 pm

Re: ZDoom Wiki Thread

Post by Kate »

As for octics, I looked over my massive array of interpolation points and moving cameras and scripts (which is a horrible mess by the way, I don't want to touch anything like this again), and found out my setup was fubar, so my math based on it was messed up because:

Code: Select all

[19:56:34] «@Kate» hm, I used 8, so 8 * 8 = 64 seconds, not 60
[19:57:00] «@Kate» yeah whoops
[19:58:23] «@Kate» so I was off ~4 seconds
[19:58:28] «@Kate» which explains it
Thanks Blzut3 for helping me with this =P
User avatar
DaMan
Posts: 727
Joined: Fri Jan 01, 2010 7:14 am

Re: ZDoom Wiki Thread

Post by DaMan »

Should this be added somewhere?
If you want to use script 0, it must be written as <<0>>. This is to avoid using it accidentally, since ZDoom uses script 0 to implement many of the Strife-specific line specials.
User avatar
randi
Site Admin
Posts: 7749
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Re: ZDoom Wiki Thread

Post by randi »

I don't know that you should be documenting that as something valid from an end-user perspective.
User avatar
Zippy
Posts: 3302
Joined: Wed Mar 23, 2005 5:31 pm
Location: New Jersey

Re: ZDoom Wiki Thread

Post by Zippy »

The advice in the past was to always not use script 0 since it could be problematic, and with 999 other scripts to use with no one ever coming close to that limit it has never been a problem.
User avatar
DaMan
Posts: 727
Joined: Fri Jan 01, 2010 7:14 am

Re: ZDoom Wiki Thread

Post by DaMan »

It looked like the fabled non conflicting loadacs script #.
Gez
 
 
Posts: 17938
Joined: Fri Jul 06, 2007 3:22 pm

Re: ZDoom Wiki Thread

Post by Gez »

And why is it "non-conflicting"? Because nobody uses it! As soon as people start using it, it becomes conflicting!

And guess what? It is already conflicting, since it conflicts with Strife!

So yeah, you really shouldn't use it. There are 999 other values you can take.
User avatar
ZDG
Posts: 918
Joined: Sat Jan 02, 2010 12:01 pm
Location: in SlumpEd

Re: ZDoom Wiki Thread

Post by ZDG »

I just added some descriptions for some Chex actors.
User avatar
Demolisher
Posts: 1749
Joined: Mon Aug 11, 2008 12:59 pm
Graphics Processor: nVidia with Vulkan support
Location: Winchester, VA
Contact:

Re: ZDoom Wiki Thread

Post by Demolisher »

ZDG wrote:I just added some descriptions for some Chex actors.
Cool story bro.
User avatar
cq75
Posts: 1212
Joined: Sun Dec 27, 2009 9:28 pm
Graphics Processor: nVidia with Vulkan support
Location: Just beyond the line horizon

Re: ZDoom Wiki Thread

Post by cq75 »

ZDG wrote:I just added some descriptions for some Chex actors.
They're actually interchangeable, as far as I know. "Summon rocketlauncher" in the console gets you the propulsor.
User avatar
InsanityBringer
Posts: 3392
Joined: Thu Jul 05, 2007 4:53 pm
Location: opening the forbidden box

Re: ZDoom Wiki Thread

Post by InsanityBringer »

That's only because they share sprites. It's actually still a RocketLauncher and not a propulsor.
User avatar
cq75
Posts: 1212
Joined: Sun Dec 27, 2009 9:28 pm
Graphics Processor: nVidia with Vulkan support
Location: Just beyond the line horizon

Re: ZDoom Wiki Thread

Post by cq75 »

Inheritance; it's more than a sprite swap, but not a whole lot more.
Spoiler:
Blzut3
 
 
Posts: 3203
Joined: Wed Nov 24, 2004 12:59 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Contact:

Re: ZDoom Wiki Thread

Post by Blzut3 »

While documenting the entire byte code specification for ACC++ I noticed a few things.

First the deprecation warning on [wiki]SetLineBlocking[/wiki] may be a little misleading. This is a Hexen feature, and as such compatibility is a must and not just "may be retained". Perhaps a notice suggestion the use of Line_SetBlocking would be better?

Also it might be worth mentioning the purpose of FunctionName(const:parameters). This serves a purpose in optimizing scripts since a const function doesn't use push instructions for each of it's arguments. From my testing ACC isn't smart enough to automatically optimize such functions when available so it must still be done manually. Outside of all action specials the following functions have the needed PCodes to be const.
  • Delay
  • Random
  • ThingCount
  • TagWait
  • PolyWait
  • ChangeFloor
  • ChangeCeiling
  • ScriptWait
  • SetGravity
  • SetAirControl
  • GiveInventory
  • TakeInventory
  • CheckInventory
  • Spawn
  • SpawnSpot
  • SetMusic
  • LocalSetMusic
  • SetFont
Post Reply

Return to “Rules and Forum Announcements”