A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

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 ( 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>
    [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 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>
    [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 ( 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 ( 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:
    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 ( 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! – – – – Looking for someone to head the next QExpo, inquire within’
    03[17:30] * Set by Soopa! on Thu Dec 25 22:13:40
    02[17:30] * Disconnected
    Session Close: Wed Jan 28 17:30:24 2015
    02[17:30] * OneManClan2 ( 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!!:
    [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>
    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>
    [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
    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 ( has joined #qc
    02[18:01] * KyleMac ( 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 ( Quit (“Leaving.”)
    02[19:19] * Epicenter ( Quit (Read error: Connection timed out)
    03[19:25] * spiritiit ( 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>

Notify me of followup comments via e-mail. You can also subscribe without commenting.