Part 3 Delayed Makestatic Spawns
#18227 posted by Preach on 2017/02/20 08:19:07
Spike, could you theoretically use the save game detection trick to restore those makestatic/ambientsound calls in the third part of the sign-on? Replay all of those calls back to the player on the frame that they load the save? Of course, you'd need some way to store in the save game which calls need to be made again, by e.g. keeping an entity around with the details of the makestatic call.
Take From One, Give To Another
#18228 posted by sock on 2017/02/20 11:18:27
when you load a savegame, the signon buffer is based on loading the map from the beginning
All my tests point to the same conclusions as Eric, if I delay spawn models they are excluded from the signon buffer (start and savegame)
for regular entities, delaying its spawn means that you'll have no baseline generated for that entity. this will result in less data being sent in the signon buffer, but you'll be increasing the data sent every single packet while that entity is visible
I assumed there must of been a downside to reducing entities appearing in the sign on buffer and it seems this is it. So the client will send info on all delay spawn entities when they are within the portal space of the player? I assume once the player moves on to another area (with proper portal setup) then they are no longer sent? I imagine this extra frame traffic could be bad for MP but fine for SP?
#18229 posted by Spike on 2017/02/20 20:46:43
@sock
SV_CreateBaseline is called from SV_SpawnServer, this is the same function responsible for 'map' etc.
loading a saved game basically does 'map foo; deleteent ALL; loadentsfromfile'.
so yes, same as ericw - the signon buffer should normally be consistent over reloading games. The only exception to that is if some cvar screwed up your saved game, causing that initial state to get loaded differently (which may also affect model precaches, messing those up).
delaying an entity from getting its model will prevent the server from generating a baseline for that entity. nothing will be added to the signon buffer in this case, and both client+server will use some fallback baseline (all those fields set to 0).
NQ's networking sends a delta from the baseline in every single packet for every entity which is visible to the player entity, so if nothing else, you're adding modelindex and origin_z values to every packet for every visible entity (the other stuff is much more likely to change from the baselines during the course of the game anyway, or remain 0 like colormap, skin, or angles_x+z).
so yes, forcing the prevention of baselines isn't catastophic (and I'd say engines should do it automatically if they've no other way to avoid signons overflowing), but its certainly not ideal.
if you've a thousand monsters, you could try setting their baselines with frame 0 and angle_y 0, and reverting back to their proper values after. this will save a couple of bytes per monster with little real loss once they're angry at you. maybe also origin_x+y for 4/8 bytes per (especially if they're patrolling).
@Preach
you don't want to actually be just calling makestatic or ambientsound once the game has started, as noone on the server at the time will see them. you would need to use writebytes with MSG_ALL or something, THEN you could call the builtin. And yes, if you wanted to restore them after a saved game you'd need to detect that and resend.
Hence why mods don't normally use makestatic for corpses etc...
(side note: makestatic doubles up as a remove(), and writebytes are still as evil as they've always been especially when you have 16bit modelindexes and protocols that incompatibly change the svcs in question)
SZ_GetSpace 8012 Is Full Buffer Size
#18230 posted by xlarve on 2017/02/21 20:36:54
Hello!
I got trouble! Situation is:
Single map, originally gl quake (not any mode).
I think i put too many entities on map. Because when i deleting 1 the last i putted entity (item_health) - map is working. Error appearing when i try to load map.
Is the decision of this error whithout reducing entity counts?
Im not finished puting monster, items on the map and want to putting items till the finish the map.
@xlarve
#18231 posted by Spike on 2017/02/21 21:08:02
Use a better engine.
Or read the above conversation about signon buffers (aka: use a better engine).
JACK Texture Display Problem
#18232 posted by Goner on 2017/02/22 02:07:01
Hey, I love J.A.C.K. and have been getting back into mapping for Q2 as a result! So, thanks for that!
Unfortunately, I've encountered a problem with texture display in the 3d-view. I've posted details HERE: http://leray.proboards.com/thread/3857/jack-3d-view-textures?page=1&scrollTo=28859 including a screenshot and logs and so on.
Any Ideas?
#18233 posted by khreathor on 2017/02/22 02:13:39
Have you tried pressing TAB key few times to see if you have set proper 3D mode in a viewport?
#18234 posted by Goner on 2017/02/22 02:36:37
Thanks, I wasn't aware of the TAB shortcut key; I'd previously been through those different modes via the view menu.
Changing modes just cycles through wireframe, filled (colored) polygons, whited-out entirely and then a greyscale looking version of filled polygons (as in the screenshot I posted)
#18235 posted by khreathor on 2017/02/22 03:02:45
Hmmm...
I have 2 ideas you can try:
1) Go to Tools -> Options... -> "Game Profiles" tab.
There you'll find "Texture Format" dropdown. Switch it to "All" and reimport packs if needed.
2) Maybe something is blocking access to textures?
Quit all texture/wad/wal editors and run J.A.C.K. as an administrator.
Btw. can you see textures in a Texture Browser?
@Spike
#18237 posted by xlarve on 2017/02/22 08:49:09
Spike, tnx!
I setup client quakespasm and quake1 map loading very good!
Can Someone Explain Protocols?
#18238 posted by sevin on 2017/02/22 14:38:05
I know 666 is kind of the standard, but what other protocols have been used/are used? Is 666 specific to FitzQuake/QuakeSpasm? Do they just increase entity/bmodel/brush limits?/
666
#18239 posted by ericw on 2017/02/22 20:24:08
The protocol was first released in Fitzquake 0.85 (2009 iirc).
There's some info here:
https://quakewiki.org/wiki/Network_Protocols
https://quakewiki.org/wiki/Fitzquake_Protocol
Do they just increase entity/bmodel/brush limits?
Pretty much, except not brush limits; the network protocols don't care how much geometric detail is in the map.
There are also some rendering things in 666 / other extended protocols, for example supporting the "alpha" key on bmodels (for making transparent glass) needs protocol support.
#18240 posted by topher on 2017/02/23 03:01:35
i want a trigger_once (to1) (or a info_notnull hack with similar functionality) that kill a func_wall.
but only after an event (triggered by another trigger_once to2). so the player triggers to2 and to1 becomes active.
if the player hasn't triggered to2, to1 shouldn't be triggered. it should be inactive even if the player touch the trigger brush.
so:
player touches to1. nothing happens, to1 exists. func_wall exists
then player touches to2. to2 is triggered.
A) now, if the player don't touch to1, the func_wall keep existing, to1 isn't triggered
B) now, if the player touches to1, it's triggered and the func_wall is killed.
i need these two functionalities
an conditional, in other words
in hideous pseudocode:
if ( player.touch(to1) )
__if ( to2.istriggered() )
____kill func_wall
__else
____//do nothing
____//to1 keeps existing and isn't triggered
--endif
endif
#18241 posted by topher on 2017/02/23 04:00:13
ok, i figured it out with post #3923 in this thread
the browser search function becomes a little slow with the +18000 messages in this thread
Setting Music & Skybox
#18243 posted by Kim Smoltz on 2017/02/26 01:56:11
Hi, I'm having a go at mapping with Trenchbroom, I seem to have mostly gotten the hang of brushes, lighting and entities but I'm not sure how to set the music and the skybox. Apparently the "sounds" field of the worldspawn entity lets you set the music, however setting this to track04 or any other track doesn't result in music playing when I run the map.
Lets Start With Music:
#18244 posted by muk on 2017/02/26 02:06:15
Remove the word "track" and possibly the "0"
try
"sounds" "4"
As For The Skybox
#18245 posted by sevin on 2017/02/26 02:32:38
I believe that functionality was not in base Quake, skybox textures were set by actually texturing your skybox with them. Newer engines and FGD's allow you to input a skybox texture name in the worldspawn and it will load up in game as long as the skybox textures are stored id1 (or whatever the mod folder is)/gfx/env and one of the base skybox textures is used in-editor to define the sky.
#18246 posted by Kim Smoltz on 2017/02/26 05:53:23
Alright I managed to get music working using Mukor's suggestion, however I'm still having issues with the skybox, I noticed this: https://s23.postimg.org/mbvhz0kyz/sky1.png when I opened the map.
How do you suggest I go about setting the skybox? Having to place the sky textures in that directory is a bit of an annoyance, and with this setup I'd assume anyone I shared the map with would have to do the same thing. I also tried leaving the sky field blank, as when I run the main game inputting "sky" returns: sky "", but this was also unsuccessful.
#18247 posted by muk on 2017/02/26 05:57:29
Do you have a sky named "sky1_XX" in the folder?
you need to do it as follows:
"sky" "sky1_"
#18248 posted by ericw on 2017/02/26 06:10:48
Check that the .tga files are in, e.g:
quake directory/id1/gfx/env/sky1_XX.tga
The "sky" command in the engine console lets you load a specific sky, overriding what is in worldspawn, so you could enter: "sky sky1_" for testing.
#18249 posted by Kim Smoltz on 2017/02/26 06:49:57
I think there's a bit of confusion, I'm not wanting to use a custom sky, just the standard purple, cloudy quake sky, is there any way to use the default sky without having to have these files in gfx/env?
Additionally, I loaded some sky files from Arcane Dimensions into the folder - rather than faffing about converting files - and attempted to load the skybox but I seem to be stuck with a blank grey sky, there was no output on the console. Do I need to run vis in order for the skybox to appear?
#18250 posted by Kim Smoltz on 2017/02/26 07:36:14
Argh, alright, I had to surround the map with a big box for the skybox to be drawn on, that's that fixed, thanks for the help.
#18251 posted by No on 2017/02/26 08:14:19
Sky (or a custom skybox) will be drawn on every proper sky-textured brush. No need to box a map, just put sky brushes on the ceilings/outer walls where you want it to be.
|