Discuss anything ZDoom-related that doesn't fall into one of the other categories.

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.

Kate
... in loving memory ...

Joined: 15 Jul 2003

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) = 281000 / 28 = 35.71428571428571428571`
Blzut3
Pronounced: B-l-zut

Joined: 24 Nov 2004
Github ID: Blzut3
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: ATI/AMD with Vulkan Support

Okay, makes sense.
Gez

Joined: 06 Jul 2007

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

Kate
... in loving memory ...

Joined: 15 Jul 2003

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.

DaMan
100M club member

Joined: 01 Jan 2010

I don't know that you should be documenting that as something valid from an end-user perspective.

randi

Joined: 09 Jul 2003

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.

Zippy

Joined: 23 Mar 2005
Location: New Jersey
Discord: Zurock#4834

It looked like the fabled non conflicting loadacs script #.

DaMan
100M club member

Joined: 01 Jan 2010

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.
Gez

Joined: 06 Jul 2007

I just added some descriptions for some Chex actors.

ZDG
NEOMARINE

Joined: 02 Jan 2010
Location: in SlumpEd

ZDG wrote:I just added some descriptions for some Chex actors.

Cool story bro.

Demolisher
Princess Grincess

Joined: 11 Aug 2008
Location: Winchester, VA
Github ID: DemolisherOfSouls
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: Yes (Using Development/Testing Version)
Graphics Processor: nVidia with Vulkan support

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.

cq75
I've given myself a number, and taken away my name.

Joined: 27 Dec 2009
Location: Just beyond the line horizon
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

That's only because they share sprites. It's actually still a RocketLauncher and not a propulsor.

InsanityBringer

Joined: 05 Jul 2007
Location: opening the forbidden box
Discord: InsanityBringer#9908

Inheritance; it's more than a sprite swap, but not a whole lot more.

Spoiler:

cq75
I've given myself a number, and taken away my name.

Joined: 27 Dec 2009
Location: Just beyond the line horizon
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

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

First the deprecation warning on SetLineBlocking 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
Blzut3
Pronounced: B-l-zut

Joined: 24 Nov 2004
Github ID: Blzut3
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: ATI/AMD with Vulkan Support

PreviousNext