Programming Pimpage Thread

Grab your favourite IDE and tinker with the innards of game engines

Re: Programming Pimpage Thread

Postby vcool on Fri Apr 16, 2010 2:39 am

coder0xff wrote:optimized:
Code: Select all
bool IsCoder(bool understandsBinary)
{
    return understandsBinary;
}




you don't even need that since understandsBinary already contains the information you need.

The joke was to instigate debate whether code should be written like

stuff{

or

stuff
{

I'm a fan of the latter.
Image

Neighborhood Forum Elitist
User avatar
vcool
Veteran
Veteran
 
Joined: Fri Jun 23, 2006 1:03 am
Location: USSR

Re: Programming Pimpage Thread

Postby coder0xff on Fri Apr 16, 2010 10:35 am

Me too, I like the latter. But there is a point to having that code. It's a level of abstraction. You may choose later to alter the implementation of the function.
User avatar
coder0xff
Veteran
Veteran
 
Joined: Fri Jun 13, 2008 1:51 am

Re: Programming Pimpage Thread

Postby Terr on Fri Apr 16, 2010 7:02 pm

I think Xpath might be a bit more convenient.
Terr
Sir Post-a-lot
Sir Post-a-lot
 
Joined: Mon Oct 12, 2009 11:35 pm

Re: Programming Pimpage Thread

Postby coder0xff on Fri Apr 16, 2010 8:14 pm

Yeah, but the programmers of Xpath aren't interlopers. :P
User avatar
coder0xff
Veteran
Veteran
 
Joined: Fri Jun 13, 2008 1:51 am

Re: Programming Pimpage Thread

Postby zombie@computer on Fri Apr 16, 2010 8:38 pm

I think Regex pwn all of the above.
When you are up to your neck in shit, keep your head up high
zombie@computer
Forum Goer Elite™
Forum Goer Elite™
 
Joined: Fri Dec 31, 2004 5:58 pm
Location: Lent, Netherlands

Re: Programming Pimpage Thread

Postby Terr on Fri Apr 16, 2010 11:43 pm

No, I meant you could combine it with an xpath library so that people can use xpath expressions with your app.
Terr
Sir Post-a-lot
Sir Post-a-lot
 
Joined: Mon Oct 12, 2009 11:35 pm

Re: Programming Pimpage Thread

Postby coder0xff on Sat Apr 17, 2010 6:16 pm

Enough nonsense, moar pimpage.

Enjoy pong.

Executable: http://dl.dropbox.com/u/5105767/Pong.exe
Source: http://dl.dropbox.com/u/5105767/Pong.rar
Screenshot: Image
User avatar
coder0xff
Veteran
Veteran
 
Joined: Fri Jun 13, 2008 1:51 am

Re: Programming Pimpage Thread

Postby antie on Sat Apr 17, 2010 9:02 pm

coder0xff wrote:Enough nonsense, moar pimpage.

Enjoy pong.

Executable: http://dl.dropbox.com/u/5105767/Pong.exe
Source: http://dl.dropbox.com/u/5105767/Pong.rar
Screenshot: Image


I made that in Java years ago, using Steve Irwin's head as a ball. Dug it up and sent it to a few friends after he died, I've misplaced it again though.
User avatar
antie
Regular
Regular
 
Joined: Sun Jun 21, 2009 10:03 pm
Location: Dublin, Ireland

Re: Programming Pimpage Thread

Postby Terr on Wed Apr 28, 2010 2:12 am

Still plugging away at bits for PackBSP 2.0. This next part probably isn't half as impressive as a picture, but I'll post pictures once the GUI's at the right stage.

The program is examining the TF2 Swamp-Pack demo map, and figuring out what needs to be included in the map if it were to be distributed stand-alone. (This is a replacement for the "pakrat" program with some major improvements.)

Near the end you can see which files were detected as "missing", broken into "required" and "optional" missing items. You can see it catches that a cubemap has not been built.

The whole thing takes about 1.5 seconds to run, although in this unit test that's not counting the time it would normally take to interrogate the Steam/SDK metadata for discovering SDK paths and GCF dependencies.

Code: Select all
To Pack:        models/props_swamp/row_boat_ref.mdl
To Pack:        models/props_swamp/row_boat_ref.phy
To Pack:        models/props_swamp/row_boat_ref.vvd
To Pack:        models/props_swamp/row_boat_ref.SW.vtx
To Pack:        models/props_swamp/row_boat_ref.DX90.vtx
To Pack:        materials/Models/props_swamp/row_boat_diffuse.vmt
To Pack:        materials/Models/props_swamp/row_boat_diffuse.vtf
To Pack:        models/props_swamp/row_boat_ref.DX80.vtx
To Pack:        materials/swamp/overlays/algae001.vmt
To Pack:        materials/swamp/Overlays/algae001.vtf
To Pack:        models/props_swamp/tree_swamp_02.mdl
To Pack:        models/props_swamp/tree_swamp_02.vvd
To Pack:        models/props_swamp/tree_swamp_02.DX90.vtx
To Pack:        models/props_swamp/tree_swamp_02.phy
To Pack:        models/props_swamp/tree_swamp_02.DX80.vtx
To Pack:        models/props_swamp/tree_swamp_02.SW.vtx
To Pack:        materials/Models/props_swamp/tree_swamp_02.vmt
To Pack:        materials/models/props_swamp/tree_swamp_02.vtf
Skipped:        {MaterialNode : path=materials/tools/toolsskybox.vmt}
To Pack:        models/props_swamp/shroom_ref_01_cluster.mdl
To Pack:        models/props_swamp/shroom_ref_01_cluster.DX80.vtx
To Pack:        materials/models/props_swamp/shroom_diffuse.vmt
To Pack:        materials/Models/props_swamp/shroom_diffuse.vtf
To Pack:        models/props_swamp/shroom_ref_01_cluster.vvd
To Pack:        models/props_swamp/shroom_ref_01_cluster.SW.vtx
To Pack:        models/props_swamp/shroom_ref_01_cluster.DX90.vtx
To Pack:        models/props_swamp/signpost001.mdl
To Pack:        materials/models/props_swamp/sign001.vmt
To Pack:        materials/Models/props_swamp/sign001.vtf
To Pack:        models/props_swamp/signpost001.DX90.vtx
To Pack:        models/props_swamp/signpost001.phy
To Pack:        models/props_swamp/signpost001.vvd
To Pack:        models/props_swamp/signpost001.SW.vtx
To Pack:        models/props_swamp/signpost001.DX80.vtx
To Pack:        models/props_swamp/cattails_ref01.mdl
To Pack:        materials/models/props_swamp/cattails.vmt
To Pack:        materials/models/props_swamp/cattails.vtf
To Pack:        models/props_swamp/cattails_ref01.SW.vtx
To Pack:        models/props_swamp/cattails_ref01.DX80.vtx
To Pack:        models/props_swamp/cattails_ref01.DX90.vtx
To Pack:        models/props_swamp/cattails_ref01.vvd
To Pack:        models/props_swamp/buttress_tree_stump_small_ref.mdl
To Pack:        models/props_swamp/buttress_tree_stump_small_ref.DX80.vtx
To Pack:        materials/Models/props_swamp/buttress_stump.vmt
To Pack:        materials/Models/props_swamp/buttress_stump.vtf
To Pack:        models/props_swamp/buttress_tree_stump_small_ref.SW.vtx
To Pack:        models/props_swamp/buttress_tree_stump_small_ref.DX90.vtx
To Pack:        models/props_swamp/buttress_tree_stump_small_ref.vvd
To Pack:        models/props_swamp/buttress_tree_stump_small_ref.phy
Skipped:        {ModelNode : path=models/props_mining/barbedfence_set01.mdl, skins=[0], physics=false}
Skipped:        {MaterialNode : path=materials/water/water_2fort_beneath.vmt}
Skipped:        {MaterialNode : path=materials/tools/toolsblack.vmt}
To Pack:        models/props_swamp/buttress_tree_small_ref.mdl
To Pack:        models/props_swamp/buttress_tree_small_ref.DX90.vtx
To Pack:        models/props_swamp/buttress_tree_small_ref.phy
To Pack:        models/props_swamp/buttress_tree_small_ref.DX80.vtx
To Pack:        materials/Models/props_swamp/buttress_leaves.vmt
To Pack:        materials/models/props_swamp/buttress_leaves.vtf
To Pack:        models/props_swamp/buttress_tree_small_ref.SW.vtx
To Pack:        models/props_swamp/buttress_tree_small_ref.vvd
To Pack:        models/props_swamp/gator_ref.mdl
To Pack:        models/props_swamp/gator_ref.phy
To Pack:        models/props_swamp/gator_ref.SW.vtx
To Pack:        models/props_swamp/gator_ref.DX90.vtx
To Pack:        models/props_swamp/gator_ref.vvd
To Pack:        materials/models/props_swamp/gator_diffuse.vmt
To Pack:        materials/Models/props_swamp/gator_diffuse.vtf
To Pack:        models/props_swamp/gator_ref.DX80.vtx
To Pack:        materials/skybox/sky_night_02up.vmt
To Pack:        materials/skybox/sky_night_02up.vtf
To Pack:        materials/skybox/sky_night_02lf.vmt
To Pack:        materials/skybox/sky_night_02lf.vtf
To Pack:        materials/skybox/sky_night_02ft.vmt
To Pack:        materials/skybox/sky_night_02ft.vtf
To Pack:        materials/skybox/sky_night_02rt.vmt
To Pack:        materials/skybox/sky_night_02rt.vtf
To Pack:        materials/skybox/sky_night_02bk.vmt
To Pack:        materials/skybox/sky_night_02bk.vtf
To Pack:        materials/skybox/sky_night_02dn.vmt
Skipped:        {MiscFileNode : path=materials/skybox/sky_night_01dn.vtf}
To Pack:        materials/swamp/nature/blendswampdirttograss001.vmt
Skipped:        {MiscFileNode : path=materials/Nature/dirtground001_height-ssbump.vtf}
To Pack:        materials/swamp/Nature/swampmud003.vtf
To Pack:        materials/swamp/Nature/swampgrass001.vtf
To Pack:        models/props_swamp/jetti_ref.mdl
To Pack:        models/props_swamp/jetti_ref.DX90.vtx
To Pack:        materials/models/props_swamp/jetti_diffuse.vmt
To Pack:        materials/Models/props_swamp/jetti_diffuse.vtf
To Pack:        models/props_swamp/jetti_ref.phy
To Pack:        models/props_swamp/jetti_ref.SW.vtx
To Pack:        models/props_swamp/jetti_ref.DX80.vtx
To Pack:        models/props_swamp/jetti_ref.vvd
To Pack:        models/props_swamp/oar_ref.mdl
To Pack:        models/props_swamp/oar_ref.DX90.vtx
To Pack:        models/props_swamp/oar_ref.phy
To Pack:        materials/models/props_swamp/oar_diffuse.vmt
To Pack:        materials/Models/props_swamp/oar_diffuse.vtf
To Pack:        models/props_swamp/oar_ref.DX80.vtx
To Pack:        models/props_swamp/oar_ref.SW.vtx
To Pack:        models/props_swamp/oar_ref.vvd
To Pack:        maps/swamp_vignette_1_particles.txt
To Pack:        particles/bugs.pcf
To Pack:        particles/zapper.pcf
To Pack:        particles/goo_swamp.pcf
To Pack:        particles/lightning.pcf
To Pack:        particles/smoke.pcf
To Pack:        particles/buoy_effects.pcf
To Pack:        particles/waterdrips.pcf
To Pack:        particles/awe_swamp.pcf
To Pack:        particles/cloud.pcf
To Pack:        particles/rain_with_collision.pcf
To Pack:        particles/fire01.pcf
Skipped:        {MaterialNode : path=materials/tools/toolsnodraw.vmt}
To Pack:        models/props_swamp/tree_swamp_01.mdl
To Pack:        models/props_swamp/tree_swamp_01.vvd
To Pack:        models/props_swamp/tree_swamp_01.SW.vtx
To Pack:        models/props_swamp/tree_swamp_01.phy
To Pack:        materials/Models/props_swamp/tree_swamp_01.vmt
To Pack:        materials/models/props_swamp/tree_swamp_01.vtf
To Pack:        models/props_swamp/tree_swamp_01.DX80.vtx
To Pack:        models/props_swamp/tree_swamp_01.DX90.vtx
Missing (required):        {MiscFileNode : path=materials/maps/swamp_vignette_1/c-256_192_256.vtf}
Missing (required):        {MaterialNode : path=materials/WATER/WATER_SWAMP.vmt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_korean.txt}
Missing (optional):        {MiscFileNode : path=models/props_swamp/shroom_ref_01_cluster.phy}
Missing (optional):        {MiscFileNode : path=models/props_swamp/shroom_ref_01_cluster.ani}
Missing (optional):        {MiscFileNode : path=models/props_swamp/oar_ref.ani}
Missing (optional):        {MiscFileNode : path=maps/graphs/swamp_vignette_1.ain}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_russian.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_german.txt}
Missing (optional):        {MiscFileNode : path=models/props_swamp/tree_swamp_02.ani}
Missing (optional):        {MiscFileNode : path=models/props_swamp/cattails_ref01.ani}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_finnish.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_japanese.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_tchinese.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_danish.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_french.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_schinese.txt}
Missing (optional):        {SoundscapeNode : path=scripts/soundscapes_swamp_vignette_1.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_english.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_dutch.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_swedish.txt}
Missing (optional):        {MiscFileNode : path=models/props_swamp/tree_swamp_01.ani}
Missing (optional):        {MiscFileNode : path=models/props_swamp/buttress_tree_stump_small_ref.ani}
Missing (optional):        {MiscFileNode : path=models/props_swamp/row_boat_ref.ani}
Missing (optional):        {MiscFileNode : path=models/props_swamp/signpost001.ani}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_polish.txt}
Missing (optional):        {MiscFileNode : path=models/props_swamp/jetti_ref.ani}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_italian.txt}
Missing (optional):        {MiscFileNode : path=models/props_swamp/buttress_tree_small_ref.ani}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_spanish.txt}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_portuguese.txt}
Missing (optional):        {MiscFileNode : path=models/props_swamp/cattails_ref01.phy}
Missing (optional):        {MiscFileNode : path=maps/swamp_vignette_1_norwegian.txt}
Missing (optional):        {MaterialNode : path=materials/vgui/maps/menu_photos_swamp_vignette_1.vmf}
Missing (optional):        {MiscFileNode : path=models/props_swamp/gator_ref.ani}
Dependency crawling complete in 1.523 seconds.
Terr
Sir Post-a-lot
Sir Post-a-lot
 
Joined: Mon Oct 12, 2009 11:35 pm

Re: Programming Pimpage Thread

Postby Gary on Thu Oct 21, 2010 5:28 pm

This thread needs to be sticked.


Attempts at making the player cast shadows:

Player model shadow:
Image

Player and view model shadow:
Image

As you can see, it works with RTT shadows(those cast by most props/NPCs and controlled by shadow_control entity). I am trying to make it work with depth texture shadows(env_projectedtexutre). This is only useful if you mod has a real animated player model.
Have a question related to modding or something I posted? Something that needs staff attention? I haven't been active lately, but feel free to PM me or message me on Steam(link below)

User avatar
Gary
Interlopers Staff
Interlopers Staff
 
Joined: Wed Dec 16, 2009 12:40 am
Location: USA, FL

Re: Programming Pimpage Thread

Postby source-maps on Thu Oct 21, 2010 6:59 pm

you guys pimped the unpimpable
User avatar
source-maps
Forum Goer Elite™
Forum Goer Elite™
 
Joined: Fri Feb 09, 2007 7:50 pm
Location: The Netherlands

Re: Programming Pimpage Thread

Postby ad_hominem on Thu Oct 21, 2010 9:37 pm

Gary wrote:This thread needs to be sticked.


Your wish is my command.
User avatar
ad_hominem
Monothetic
Monothetic
 
Joined: Fri Dec 29, 2006 3:18 pm
Location: Dorset, UK

Re: Programming Pimpage Thread

Postby Gary on Thu Oct 21, 2010 9:43 pm

ad_hominem wrote:
Gary wrote:This thread needs to be sticked.


Your wish is my command.



Good slave. Now fetch me a beer.
Have a question related to modding or something I posted? Something that needs staff attention? I haven't been active lately, but feel free to PM me or message me on Steam(link below)

User avatar
Gary
Interlopers Staff
Interlopers Staff
 
Joined: Wed Dec 16, 2009 12:40 am
Location: USA, FL

Re: Programming Pimpage Thread

Postby Terr on Thu Oct 21, 2010 9:55 pm

Careful, it looks like he's got a Monkey's Paw.
Terr
Sir Post-a-lot
Sir Post-a-lot
 
Joined: Mon Oct 12, 2009 11:35 pm

Re: Programming Pimpage Thread

Postby omnicoder on Sat Nov 06, 2010 8:13 pm

Function to read lumps from a bsp into structs without caring about struct type. (C#)
Code: Select all
        private static T[] LoadLump<T>(MemoryMappedViewAccessor v, int typeOffset, int typeLength, int typeSize, out T[] Δ) where T:struct
        {
            Δ = new T[typeLength / typeSize];
            for (int i = 0; i < Δ.Length; i++)
            {
                T λ;
                v.Read<T>(i * typeSize, out λ);
                Δ[i] = λ;
            }
            return Δ;
        }
Image
If only the future implemented IForeseeable...
"whats threading? does it have to do with strings?" - stegarootbeer
User avatar
omnicoder
Been Here A While
Been Here A While
 
Joined: Sun Feb 07, 2010 8:35 am
PreviousNext

Return to Programming

Who is online

Users browsing this forum: No registered users