AGR with q3bsp

  1. OneManClan> but i woke up w an insane idea..
    01[14:54] <OneManClan> … to get over the other major thing holding AGR develpment back
    01[14:54] <OneManClan> (aside from my own difficulties grasping simple concepts!!)
    01[14:55] <OneManClan> anyway, i have a question which I us making me nervous just askign it because if the answe is yes it means ‘the sky’s the limit’!
    01[14:55] <OneManClan> ok here we go
    01[14:56] <OneManClan> is the following somehow, remotely possible
    01[14:56] <OneManClan> ssqc says ‘load map foo.bsp’
    01[14:56] <OneManClan> (thats ‘1.’)
    01[14:57] <OneManClan> 2. all clients get the instruction and load map foo.bsp
    01[14:57] <OneManClan> BUT!!!!!
    01[14:57] <OneManClan> CSQC clients intercept that instruction and liad foo.q3bsp
    01[14:57] <OneManClan> !!!!
    01[14:58] <OneManClan> which is IDENTICAL mapwise to foo.bsp
    01[14:58] <OneManClan> size of rooms, brushes, blah blah etc
    01[14:58] <OneManClan> BUT can incproprate all the AWESOME stuff only q3bsp allows
    01[14:59] <OneManClan> possible?1?!!?!?!?!!??!!?1?
    06[14:59] * OneManClan steps back from comp and waits for the verdict
    01[15:00] <OneManClan> incproprate = incorporate
    01[15:01] <OneManClan> ……
    03[15:08] * Epicenter (~Epicenter@ool-6bbc1d0b.dyn.optonline.net) has joined #qc
    [15:08] <Epicenter> yo
    01[15:10] <OneManClan> hello
    [15:10] <Epicenter> Just sent to Spoike: saw the new water surface FX in motion in AGR
    [15:10] <Epicenter> “My tits are still in orbit, re: the ISS”
    01[15:10] <OneManClan> lol
    [15:10] <Epicenter> “they say they’ll land in Kentucky tomorrow”
    [15:11] <Epicenter> that and the odd warping thing going on when you teleport
    01[15:12] <OneManClan> thats normal
    [15:12] <Epicenter> I think if I could tone that down 70% it would form a perfect underwater explosion sphere
    01[15:12] <OneManClan> ahh yes
    01[15:12] <OneManClan> FUN FAKT: (from behind the scenes): during the closing credits.. the video was slowed down to make the water seem thicker
    01[15:13] <OneManClan> less ‘babbling brook’, and more ‘deep ominous lake’
    04[15:13] <@Spoike> OneManClan: yes, you can do setmodel(world, “foo.q3bsp”); to have the client use a different worldmodel from the server. however, doing so will very likely mess up prediction as the two different formats have very different collision code, so expect precision irregularities.
    01[15:13] <OneManClan> !!!!!!!
    [15:14] <@Spoike> so I can’t really recommend it. :s
    [15:14] <Epicenter> AWFUL copy but here is the kind of explosion I want to replicate:
    01[15:14] <OneManClan> do you mean even id i dont use terrain height mapping etc?
    [15:14] <Epicenter> https://www.youtube.com/watch?v=2rCaiT12snE#t=176
    [15:14] <Epicenter> When the torpedoes hit the german U-boat
    [15:14] <@Spoike> Epicenter: the water effect is kinda old now. :s
    [15:14] <Epicenter> the weird implosion/explosion sphere
    01[15:15] <OneManClan> Spoike: or are you referring to the ‘traceline hitting the models tris rather than the BBOX’ issue?
    [15:16] <Epicenter> Spoike: I’m making a game that imitates the Sega Effing Saturn.
    [15:17] <Epicenter> You think I keep up to date?!
    [15:18] <@Spoike> Epicenter: the ‘proper’ way to do screen warps would be to define a shader with ‘sort ripplemap’, use some csqc to set up the ripplemap rendertarget, and then combine the ripplemap with the screen in some post processing shader.
    [15:18] <Epicenter> as far as the water FX, yeah we talked about it
    [15:18] <Epicenter> but you never get close enough to the surface to see it 🙁
    [15:18] <Epicenter> as pretty as it is
    [15:18] <@Spoike> normally the ripplemap texture is used by water for stuff like http://triptohell.info/moodles/junk/fte00040.jpg but you can also obtain a version for custom post-processing too
    [15:19] <Epicenter> IIRC the teleport bubble effect, the one that looks like when a Terminator teleports in during the movie, is part of Haze. But it’s clearly not just a particle and is triggering some actual shader stuff.
    [15:19] <@Spoike> the teleport effect is just a particle effect.
    [15:20] <Epicenter> Showed up in AGR and I’d not seen it before
    [15:20] <@Spoike> with an attached shader.
    [15:20] <@Spoike> with map $currentrender
    [15:20] <@Spoike> and some glsl
    [15:20] <Epicenter> then it’s not just a particle effect
    [15:20] <Epicenter> hiroshima was just this fairly well maintained b-52
    [15:20] <Epicenter> … with a nuclear bomb
    [15:20] <Epicenter> and a highly trained crew
    [15:21] <Epicenter> and a well timed release
    [15:21] <@Spoike> actually, it kinda is. the whole effect is stored inside the r_part { }
    [15:21] <Epicenter> but it’s still a b-52 😉
    [15:22] <Epicenter> I was praying it was something easily imitatable.
    [15:22] <Epicenter> Well, and open. Since I’m no artist.
    [15:23] <Epicenter> That .. spherical warp thing.
    [15:23] <Epicenter> Ugh.. everytime I try to describe something that isn’t programming, I sound like a moron.
    [15:24] <@Spoike> http://pastebin.com/cNBnFDEZ
    [15:24] <@Spoike> that’s the entirety of the effect
    [15:26] <@Spoike> basically takes a screenshot then draws the particle using that screenshot as a texture. and pinches inwards based upon the particle’s alpha value and distance from the middle of the particle
    [15:28] <Epicenter> Thanks!
    [15:28] <@Spoike> as the alpha fades out, the pinching diminishes, and the screen returns to normal
    [15:28] <Epicenter> Probably won’t end up doing that effect exactly
    [15:29] <Epicenter> but this is really great learning material
    [15:29] <Epicenter> what I’m going for is more of ..
    [15:29] <Epicenter> like if you took an area, rectangular, on the csqc end ..
    [15:29] <Epicenter> of something that is gonna blow up–
    [15:30] <Epicenter> then you pushed its 4 sides out forming a sort of warped circle
    [15:30] <Epicenter> blew it up outwards, then shrank it down again, all in the span of 1s
    [15:30] <Epicenter> with a burst of long-lasting bubbles following that
    [15:30] <Epicenter> a convincing underwater explosion
    [15:35] <@Spoike> if you need more arguments, you can spawn a sprite and repurpose various entity fields like .colormod to give more control over the effect from csqc
    [15:37] <Epicenter> Shouldn’t require too many vars
    03[15:39] * Epicentre (~Epicenter@ool-45756c06.dyn.optonline.net) has joined #qc
    01[15:51] <OneManClan> Spoike (re bsp + q3bsp): why would there be ‘precision irregularities’ if the maps were exactly the same?
    01[15:53] <OneManClan> ie lets say (hypothetically) nothign extra was added to the q3bsp version
    01[15:53] <OneManClan> import bsp -> Netradiant-> export q3bsp
    02[15:56] * Epicenter (~Epicenter@ool-6bbc1d0b.dyn.optonline.net) Quit (Read error: Connection timed out)
    03[15:56] * Epicentre is now known as Epicenter
    [15:59] <@Spoike> give it a go if you dare. its worth a laugh, right?
    [15:59] <@Spoike> just be careful with inline models
    [16:00] <@Spoike> also, I’m not sure what happens with static entities :s
    [16:00] <@Spoike> though I suppose you could always regenerate the clientside
    [16:00] <@Spoike> *them
    01[16:02] <OneManClan> hm
    [16:05] <@Spoike> ham?
    [16:08] <TimePath> Can anyone point me to the fteqcc source?
    [16:08] <scar3crow> i hope Spoike can
    [16:11] <@Spoike> google fteqw svn then look in the trunk/engine/qclib dir
    [16:12] <TimePath> Ah, qclib
    03[16:15] * Anything sets mode: +oo Caleb Ophelia
    03[16:15] * Ophelia sets mode: +o Soopa
    [16:18] <TimePath> Thanks
    03[16:28] * Caleb sets mode: +o scar3crow
    [17:06] <PrimalLove> side effects of map inception may include trouble sleeping, delusional behavior, depression and scizophrenia
    01[17:11] <OneManClan> bsp->q3bsp the easy part: http://pastebin.com/VBKV5mDy
    01[17:12] <OneManClan> ^^ to be run at the top of CSQC_Init
    [17:14] <@Spoike> you might want to use a break instead of that last return
    [17:14] <@Spoike> also, what’s ‘str’?
    [17:15] <@Spoike> also you don’t trim any strings. may I recommend the tokenize builtin?
    01[17:15] <OneManClan> oops, thats meant to be setmodel(world, q3bsp_mapname);
    01[17:16] <OneManClan> the txt file will just have one mapname.q3bsp per line
    01[17:16] <OneManClan> (ie I assume i dont need to tokenise)
    01[17:17] <OneManClan> ahh break, so i can close the file, oops
    01[17:17] <OneManClan> of course, thanks
    [17:18] <@Spoike> string newname = strreplace(“.bsp”, “.q3bsp”, world.model);
    [17:18] <@Spoike> if (whichpack(newname)) {setmodel(world, newname); otherfixups();}
    [17:19] <@Spoike> (whichpack returns null if it doesn’t exist at all, and empty if its exists outside of a pak)
    01[17:21] <OneManClan> you mean a pak located on the server
    01[17:21] <OneManClan> (of course)
    01[17:21] <OneManClan> which the fte clients will automatically download if they dont have it
    [17:22] <@Spoike> of course not. I mean a pak/pk3 on the client when the call is made.
    01[17:22] <OneManClan> (ugh … still got ezquakers on the brain)
    01[17:22] <OneManClan> ah.. i assumed i could just load the q3bsp to the server
    01[17:23] <OneManClan> hm, that means the function will need to include the path…
    [17:23] <@Spoike> if you use the pk3 mechanism, sure, clients will download it. just make sure you wait until everything else is basically loaded and then load even more content instead.
    01[17:24] <OneManClan> isn the map the first thing the client loads?
    01[17:24] <OneManClan> hm even if it is, i suppose it’ll just look like a mapchange
    01[17:24] <OneManClan> (which it is!)
    [17:24] <@Spoike> the bsp the server tells it to load? sure..
    01[17:25] <OneManClan> what do you think spoike, is this idea relalistic?
    01[17:25] <OneManClan> realistic
    [17:25] <@Spoike> meh, I don’t remember the load order. iirc its csqc that’s loaded first
    [17:25] <@Spoike> so that it can deal with loading screens
    01[17:25] <OneManClan> ah
    01[17:26] <OneManClan> were you nitpicking earlier re ‘precision errors’?
    01[17:26] <OneManClan> or are we talking stuff that could affect gameplay?
    [17:26] <@Spoike> if you ‘poke’ a model during that time then it’ll prioritise loading of that model and stall. but that doesn’t mean you actually have the pk3s loaded yet.
    03[17:30] * OneManClan2 (~irc.anyne@60-241-11-75.static.tpgi.com.au) has joined #qc

    Session Start: Wed Jan 28 17:30:20 2015
    Session Ident: #qc
    03[17:30] * Now talking in #qc
    03[17:30] * Topic is ‘Qerry Christmas to all, and may you get a quad run against all the Hellknights! – forums.inside3d.com – https://www.facebook.com/pages/Quake/8723859970 – www.quakewiki.org – Looking for someone to head the next QExpo, inquire within’
    03[17:30] * Set by Soopa!~Emilia@50-193-192-106-static.hfc.comcastbusiness.net on Thu Dec 25 22:13:40
    02[17:30] * Disconnected
    Session Close: Wed Jan 28 17:30:24 2015
    02[17:30] * OneManClan2 (~irc.anyne@60-241-11-75.static.tpgi.com.au) Quit (Leaving)
    04[17:32] <PrimalLove> OneManClan: Other than to say you can do it, what is the purpose of using the q3bsp?
    01[17:33] <OneManClan> 1. awesome looking maps w no need for ppl to manually download new textures
    01[17:33] <OneManClan> 2. awesome lighting effects
    [17:33] <PrimalLove> i mean you going through quite a bit to give your csqc players schizophrenia
    [17:33] <PrimalLove> so its just for visual improvements?
    01[17:34] <OneManClan> yes visual improvements
    [17:35] <PrimalLove> well as long as i get my fedora
    [17:35] <PrimalLove> im down
    01[17:35] <OneManClan> new players (using csqc) will no longer be penalised because the mod has to cater to ezquakers
    01[17:37] <OneManClan> and fte users can see stuff like this!!: https://www.youtube.com/watch?v=u6PXba8X6N8
    [17:38] <PrimalLove> wait wha?
    01[17:39] <OneManClan> Primal: Ok that might take more than a few days 🙂
    [17:39] <PrimalLove> schizo…
    [17:40] <PrimalLove> id be interested in seeing the results tho
    [17:41] <PrimalLove> how difficult is it to port those maps to q3bsp?
    01[17:42] <OneManClan> lol.. i was kidding
    [17:42] <PrimalLove> no i mean regular quake maps
    01[17:43] <OneManClan> ah, well .. heres an early attempt I did a fre months back:
    01[17:43] <OneManClan> https://www.flickr.com/photos/60268498@N06/16241074101/
    01[17:43] <OneManClan> fre = few
    01[17:44] <OneManClan> oops wrong link
    [17:44] <PrimalLove> …
    01[17:44] <OneManClan> um thats an example of a normal map id live to see in the game
    01[17:44] <OneManClan> https://www.flickr.com/photos/60268498@N06/14071296834/
    [17:46] <PrimalLove> interesting
    01[17:46] <OneManClan> thats a raw import into netradiant IIRC
    01[17:47] <OneManClan> ‘raw’ as in nothing changed
    [17:48] <PrimalLove> this was done with a 2fort source map file?
    01[17:48] <OneManClan> no
    [17:48] <PrimalLove> or convertted from bsp
    01[17:48] <OneManClan> just importing the bsp
    01[17:52] <OneManClan> the textures were gone…
    01[17:53] <OneManClan> … but the basic elements /brushes seemed to be all there https://www.flickr.com/photos/60268498@N06/13884268579/
    01[17:54] <OneManClan> though there was some issue wth water IIRC
    01[17:55] <OneManClan> some areas of the map i couldn’t walk through/into
    03[18:00] * KyleMac3 (~KyleMac@host81-152-111-206.range81-152.btcentralplus.com) has joined #qc
    02[18:01] * KyleMac (~KyleMac@host81-152-111-206.range81-152.btcentralplus.com) Quit (Ping timeout: 180 seconds)
    [18:05] <PrimalLove> I would expect some issues like this. For testing its best probably for you to create two maps from scratch, one bsp and one q3bsp
    [18:07] <PrimalLove> just a simple room with a bit of geometry so you can runs some tests as fte/csqc and ezquaker
    [18:09] <PrimalLove> just to see if the concept works and if you encounter any collision problems
    01[18:11] <OneManClan> yea
    02[19:03] * @Spoike (~David@host86-183-130-35.range86-183.btcentralplus.com) Quit (“Leaving.”)
    02[19:19] * Epicenter (~Epicenter@ool-45756c06.dyn.optonline.net) Quit (Read error: Connection timed out)
    03[19:25] * spiritiit (~spiritiit@port-92-196-71-159.dynamic.qsc.de) has joined #qc
    02[19:27] * Disconnected
    Session Close: Wed Jan 28 19:27:44 2015

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>