Announcement

Collapse
No announcement yet.

Need help Compiling Progs.dat

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Need help Compiling Progs.dat

    Help Merging Progs.dats
    Hello Fellow Quake modders.

    I need help merging Seven's "Small Mod Compilation"(SMC) with RocketGuy's "RQuake Team Cooperative"(Rquake). My goal is to add Sevens awesome Special effects such as (Gibbing, blood stains, torch lights, flies, etc) to RocketGuy & Lardarse's Rune Quake Team Cooperative Multiplayer modification.

    Rquake and SMC both have their own "progs.dat" file which must be merged together into one file somehow so that quake reads it and uses both. My end goal is to record multiplayer demos that I already have stored on my PC, so this should not cause any conflicts of joining Rquake servers with mis-matched progs.dats. The progs.dat could be modfied to any desire as long as the demo replays succesfully.

    As it stands now, with Rquake progs.dat the dead bodies disappear into the floor, there is no multi-skin/model support, and the only thing that works from Seven's SMC is the "effectsinfo" particle effects. The multi-skin does not work, the particle torches do not work, many things do not work.

    I've messaged Cobalt and Seven for help doing this. If anyoen has some input as to how I might be able to merge Seven's content with Rocketguy's content please let me know. I could theoretically just send Seven the source for Rquake with the progs.dat and request that he add his special SMC progs.dat information to it, but it seems like that may become a lot of work that is unrelated to his mod compilation project.

    Thanks for any input anyone in the community has to offer me.

    Thank you.

    TV
    Originally posted by Magnus
    Apology accepted.

  • #2
    If anyone dares to take a stab at merging them:

    Here's the Rquake Progs.dat and the SMC Progs.dat (i hope Rocketguy & Seven are cool with me sharing these):

    http://www.filedropper.com/rquakesmcprogs
    Originally posted by Magnus
    Apology accepted.

    Comment


    • #3
      You need the source

      You need the source files. Not the compiled progs.dat to merge the codebases.
      The source files will be a folder filled with .qc files.

      Provide that and you're chances of someone taking the bait jump from slim to none to just slim.
      Gnounc's Project Graveyard Gnounc's git repo

      Comment


      • #4
        Originally posted by gnounc View Post
        You need the source files. Not the compiled progs.dat to merge the codebases.
        The source files will be a folder filled with .qc files.

        Provide that and you're chances of someone taking the bait jump from slim to none to just slim.
        Cool. Slim to none to just slim is still one step closer. Thank you Gnounc. Now I will look for these sources of codebase. Is it okay to post them here, or would I be violating some EULA thing? It's not so I can develop my own multi-billion dollar gaming franchise, I promise. It's just to record a video of a demo. haha!
        Originally posted by Magnus
        Apology accepted.

        Comment


        • #5
          Well here they are. Some folks are helping me. I wonder if once I do have a successfully merged codebase between the two mods, that if I replay my demo (which was originally recorded using the regular Rquake mod) using the new code if the new code will have an effect on the demo playback, or is the information from the source + progs hard coded into the demo?

          Now I have a huge headache.


          Here are the sources:
          http://www.filedropper.com/rquakeandsmcsourcecode
          Originally posted by Magnus
          Apology accepted.

          Comment


          • #6
            Here are the things I'm looking to add to Rquake from SMC:
            "cl_itembobheight" "0" // Needed to set to "0" to prevent visual issues of item particle effects (this is a DarkPlaces cvar)

            // monster, corpse & gib related things
            set zombieflies 2 // "0"= disabled "1"= black "2"= light brown (black flies are much harder to see !)
            set zombiecrucifiedflies 2 // "0"= disabled "1"= black "2"= light brown
            set gibflies 1 // "0"= disabled "1"= black "2"= light brown
            set corpseflies 1 // "0"= disabled "1"= black "2"= light brown
            set corpsekillexplosives 0 // "0"= corpses are killable/gibbable with all weapons "1"= corpses are only killable/gibbable with explosive weapons (grenade/rocket launcher)
            set monsterlavaslime 1 // "0"= disabled "1"= monsters (living or dead) will get a particle effect when they are in lava/slime "2"= monsters (living or dead) will get a particle effect + damage when they are in lava/slime
            set wallzombie 2 // "0"= not shootable "1"= shootable (gibbable only with explosives) "2"= shootable (gibbable with any weapon)
            set gibsmultiplier 3 // "0"= no gibs (only 1 head gib) "1" = original Quake gib quantity "2" = double gib quantity "3" = triple gib quantity (and so on. There is no limit (only your PC power))
            set gibsduration 120 // "0"= gibs stay FOREVER "10" = original Quake duration time (gibs stay approx. 10 seconds) "20" = gibs stay 20 seconds + random ...You can use any value you like !
            set gibsexplode 1 // "0"= gibs only fade away (become smaller and transparent) "1" = gibs fade away and leave a blood splat behind them

            // multiskin & multimodel related things
            set soldiermuzzleflash 3 // "0"= disabled "1"= for ID1 model "2"= for Moo´s/OoPpEe´s model "3"= multi (depending on "soldiermultiskin" setting)
            set shamblertype 3 // "0"= magic attack pos. for ID1 model "1"= magic attack pos. for Andrew Joll model "2"= magic attack pos. for FredrikH model "3"= multi (depending on "shamblermultiskin" setting: ID1 or Andrew Joll)

            set demonmultiskin 4 // "0"= standard Quake "1"= use 2 skins for first model "2"= use 2 models (with 1 skin for each) "3"= use 2 skins for first model and 1 skin for second model "4"= use 2 models (with 2 skins for each)
            set dogmultiskin 4 // same as above
            set enforcermultiskin 4 // same as above
            set fishmultiskin 4 // same as above
            set hknightmultiskin 4 // same as above
            set knightmultiskin 4 // same as above
            set ogremultiskin 4 // same as above
            set shalrathmultiskin 4 // same as above
            set shamblermultiskin 4 // same as above
            set soldiermultiskin 4 // same as above
            set tarbabymultiskin 4 // same as above
            set wizardmultiskin 4 // same as above
            set zombiemultiskin 4 // same as above

            set backpack 1 // "0"= backpacks are NOT shootable, floatable in water "1"= backpacks use gyro and can float on water
            set backpackmass 1500 // specify your backpack mass here

            // particle effects and model effects related things
            set explosiondebris 1 // "0"= DONT spawn explosion debris on monsters/players "1"= spawn explosion debris on monsters/players too
            set fleshsplat 1 // "0"= disabled "1"= spawns chunks of meat and blood when shooting at enemies (= extra gore)
            set debris 1 // "0"= disable spawning of debris chunks when exploding boxes detonate "1"= enable spawning debris chunks when exploding boxes detonate
            set backpackspin 1 // "0"= backpacks do not spin "1"= backpacks do spin (original Quake behaviour)
            set watersplash 1 // "0"= disable particle watersplashes "1"= enable particle watersplashes
            set muzzleflash 1 // "0"= disable particle muzzleflashes "1"= enable particle muzzleflashes
            set flamestyle 2 // "0" = original polygon flames "1" = improved sprite flames "2" = particle flames

            Originally posted by Magnus
            Apology accepted.

            Comment


            • #7
              Well Wolv just helped me realize that this is pointless because the demo information records the usage of the original progs.dat from Rquake. I tested this by doing the following:


              But did that different progs.dat overwrite the SMC mod during the recording of the demo, or during the Playback of the demo?

              If it was during the recording, and it's coded into the demo information, then this is all for nothing. I rebuilt my quake folder to just have the standard paks, and then added the demos and the SMC mod, so it's plain. I played the demos in darkplaces and they still did not show the changes in the SMC mod.

              So maybe this is proof that this is not going to work with demos already recorded.

              FML!


              So, I would have to take the merged codebases, and the re-record my fucking demos using the new code and new progs.dat for these changes to be reflected in demo playback!?!? If that is the case, then this is pointless.

              Shhheeeeeeeeetttttttttttttttttttttttttttt
              Originally posted by Magnus
              Apology accepted.

              Comment


              • #8
                So if I take each piece of code from SMC one line at a time (for example Weapons.qc) and add that code to Weapons.qc in the Rquake source, then re-compile it, I will be successful. Cobalt is guiding me now.

                However, would this show up in playback of my pre-recorded demo? This was so that I could make a cool movie. But now it sounds like it would be a server mod. It sounds like you would join a Coop server and all of Seven's SMC creations would become part of Rocketguy's Rquake Coop mod.

                Crazy shit, I'm in way too deep to stop now. (Most of you laughing - "this guy just barely scratched the surface! lol!")
                Originally posted by Magnus
                Apology accepted.

                Comment


                • #9
                  I should be concise about getting what I'm looking for. Mr. Rocketguy, Lardarse & Seven please sit in a room together and merge your creations into one cool mod. I'll forward this cool new mod to Mr. Visine who can host a server.

                  Since that's not happening; may I have your permissions to merge said content on my own as I learn how coding and programming works? If yes, then 3 years from now it should be completed.

                  Any input?
                  Originally posted by Magnus
                  Apology accepted.

                  Comment


                  • #10
                    Okay thread over. Towel has been tossed into the ring, and white flag is up and waving.

                    I understand why nobody would undertake the task now. Thanks if you read this thread.

                    Special thanks to: Seven, Oppee, ORL, Gnounc, Cobalt, Lardarse, RocketGuy, Lordhavoc, Mindzx, W0lv, Splitterface, Rook, Baker, CZG, _Smith_, Seanstar, Jakub & Disco & everyone else who made great community contributions I've been newbishly enjoying over the years. AWARD!

                    I have no clue how to modify this information, and a newfound respect for you guys who understand Programming:

                    Code:
                    	missile = spawn ();
                    missile.cansplash = TRUE;
                    	missile.owner = self;
                    	missile.movetype = MOVETYPE_BOUNCE;
                    	missile.solid = SOLID_BBOX;
                    	missile.classname = "grenade";
                    		
                    // set missile speed	
                    
                    	makevectors (self.v_angle);
                    
                    	if (self.v_angle_x)
                    		missile.velocity = v_forward*600 + v_up * 200 + crandom()*v_right*10 + crandom()*v_up*10;
                    	else
                    	{
                    		missile.velocity = aim(self, 10000);
                    		missile.velocity = missile.velocity * 600;
                    		missile.velocity_z = 200;
                    	}
                    
                    	missile.avelocity = '300 300 300';
                    
                    	missile.angles = vectoangles(missile.velocity);
                    	
                    	missile.touch = GrenadeTouch;
                    	
                    // set missile duration
                    	missile.nextthink = time + 2.5;
                    	missile.think = GrenadeExplode;
                    
                    	setmodel (missile, "progs/grenade.mdl");
                    	setsize (missile, '0 0 0', '0 0 0');		
                    	setorigin (missile, self.origin);
                    };
                    
                    
                    //=============================================================================
                    
                    void() spike_touch;
                    void() superspike_touch;
                    void() spike_enemy_touch; //ooppee addon, need to make enemy projectiles (knight and scrag projectils use a copy of the id1 code WITHOUT the stuck in walls code)
                    
                    /*
                    ===============
                    start OoPpEe
                    Launch enemy spike! Needs to be different so it DOESNT call "spike_touch" which results in stuck in walls
                    ===============
                    */
                    void(vector org, vector dir) launch_enemy_spike =
                    {
                    	newmis = spawn ();
                    	newmis.owner = self;
                    	newmis.movetype = MOVETYPE_FLYMISSILE;
                    	newmis.solid = SOLID_BBOX;
                    
                    	newmis.angles = vectoangles(dir);
                    	
                    	newmis.touch = spike_enemy_touch; //OoPpEe no more calling the in wall code now :D
                    	newmis.classname = "spike";
                    	newmis.think = SUB_Remove;
                    	newmis.nextthink = time + 6;
                    	setmodel (newmis, "progs/spike.mdl");
                    	setsize (newmis, VEC_ORIGIN, VEC_ORIGIN);		
                    	setorigin (newmis, org);
                    
                    	newmis.velocity = dir * 1000;
                    };
                    //end ooppee
                    /*
                    ===============
                    launch_spike
                    
                    Used for both the player and the ogre
                    ===============
                    */
                    void(vector org, vector dir) launch_spike =
                    {
                    	newmis = spawn ();
                    newmis.cansplash = TRUE;
                    	newmis.owner = self;
                    	newmis.movetype = MOVETYPE_FLYMISSILE;
                    	newmis.solid = SOLID_BBOX;
                    
                    	newmis.angles = vectoangles(dir);
                    	
                    	newmis.touch = spike_touch;
                    	newmis.classname = "spike";
                    	newmis.think = SUB_Remove;
                    newmis.traileffectnum = particleeffectnum("spike_bubble_trail");
                    	newmis.nextthink = time + 6;
                    	setmodel (newmis, "progs/spike.mdl");
                    	setsize (newmis, VEC_ORIGIN, VEC_ORIGIN);		
                    	setorigin (newmis, org);
                    
                    	newmis.velocity = dir * 1000;
                    };
                    
                    void() W_FireSuperSpikes =
                    {


                    Cheers all.
                    Originally posted by Magnus
                    Apology accepted.

                    Comment


                    • #11
                      Thread revival only one minute later, and a post script. Just want to add that I may still make a video using community work, so I'll post that here in a few weeks when it's done.

                      Thanks everybody.

                      In the meanwhile, please enjoy my previous Community Video:

                      [ame]http://www.youtube.com/watch?v=LjZbXyvm97w&hd=1[/ame]
                      Originally posted by Magnus
                      Apology accepted.

                      Comment


                      • #12
                        Fuck coop

                        Comment


                        • #13
                          Fuck youu Anthony! Bitch.

                          hehe
                          Originally posted by Magnus
                          Apology accepted.

                          Comment


                          • #14
                            Hi TV:

                            Yes, its not a hard task really but just time consuming, because you would have to make up a list of all the special things SMC does that you want to see in the RQ mod, then I guess Seven would have to make up some king of help guide that tells us which files have the code for each corresponding feature. Something along the lines of that old QSG list of bugs and fixes that was posted years ago where people pointed out bugs in the original QC source that needed fixing, and fixes were posted and you were told what files to edit.

                            It would not surprise me at all if one day Seven comes up with such a thing.....in fact its a good idea and if there were a simpler way to publish the specific code, I would get into it myself. One tool that could help a great deal is if someone were to make a website that you could upload the source files individually, and have then display like in Notetab format, where there are navigation tabs that make it easier to edit the files, and even work with different kinds of uploaded source files, this kind of thing could be done alot easier...sort of along the lines of how SVN works....and you could have more than one person collaborate with you to exchange ideas, learn new things, and make learning the QC language a bit easier.

                            Comment


                            • #15
                              Cobalt would previously recorded demos show the effects of modified .qc files when I replay them?
                              Originally posted by Magnus
                              Apology accepted.

                              Comment

                              Working...
                              X