|Posted by dumptruck_ds on 2018/09/27 09:17:56|
|progs_dump is a QuakeC compilation intended to give Quake mappers more creative options than “vanilla” Quake, while retaining the look, feel and gameplay of the original.
* trigger spawned monsters
* custom sounds (ambient and triggered)
* custom models and sprites with optional animation frames
* multiple targets, targetnames and killtargets
* custom trigger_push (can be used for water currents, et al.)
* enhanced triggers (start off and is_waiting flag to delay triggering)
* enhanced plats (toggle, start at bottom, etc.)
* trigger_setgravity (on player and / or monsters)
* trigger_usekey (trigger volume that requires a key to fire)
* tele_fog (play teleport effect e.g. disappearing monsters)
* Rotfish fixes
Sample Maps by Ionous, Mclogenog and dumptruck_ds
Please read the manual for full details.
NOTE: If you use this DevKit, your map should be released as a stand-alone mod and installed into its own folder in the Quake directory. This is not intended to be a mod that people make and release content for.
Ionous' 2nd map
There will be some bugs. I'll do my best to keep this updated regularly. I hope you find it useful!
4mb download on Quaketastic.
Or on Dropbox
Source on Github
The new version of progs_dump is not ready. It's close! RL got hectic for me recently but I am trying to have a release candidate ready as soon as possible. I wish I could commit on a date but every time I do my free time vanishes. (it could be as early as next week tho)
I had no plans to add rotation to the mod. It's super clunky to get working as you can see, and unfortunately it's the only method we can use due to engine limitations.
thanks for the clarification
thanks for the answer. No rush, man! Do it in your own time.
Version 1.1.0 Release Candidate 1
Here's progs_dump devkit RC1
This release is for testing and feedback.
Screenshot from pd_zombies sample map.
Screenshot from pd_ladders sample map.
There's a bit more work for me to do for the final. Here's a partial list:
1. New Start map
2. Complete pd_void sample map
3. Add func_rotate (Hipnotic)
4. Add dropping box code (RennyC)
5. Add fading light styles (c0burn)
6. Finish breakable sound effects
7. Add skins to debris.mdl
8. Complete manual
9. Address any show stopping bugs
10. Test in various engines.
Make sure and read the manual. Many of your questions should be answered there or in the sample maps.
Here's a dump of the changelog:
* Added reset_items key to worldspawn entity; resets players items on map load (no need for Rune hacks for custom start maps!)
* Added classnames to "bonus item fell out of level" and "monster stuck in wall" errors when developer is set to 1.
* Add entities for Thunder, Water and Sky sounds. Use these when you want to hand place these instead of having VIS.exe add them automatically.
* Fixed door unlock sound not playing (id software bug)
* Added ladders
* Added breakables
* Added spawn_angry key/value for use with Trigger Spawned monsters
* Added meat_shower (regular or large, triggerable, silent or random gib sounds)
* Added trigger_void
* Added trigger_shake (earthquake)
* Renamed dtsounds.qc to dtmisc.qc
* Added deadstuff entities
* Added ritem (items respawn)
* Added trigger spawning to items
* Added items suspended flag
* Fixed trigger_ladder conflict with trigger_setgravity
* Revised FGDs
* Added pain_target and pain_threshold
* Added func_togglewall, func_counter, func_oncount and func_particlefield from Hipnotic
* Added pd_ladders test level
* Fixed H_MEGA respawn bug
* Added pd_zombies and pd_meat maps
* Added Persistent Key behavior (cnt = 1) to func_door and trigger_usekey
* Added candle.mdl from Rogue and light_candle qc from Honey
thanks! I hope ppl find it useful and fun to use.
Updated RC1 JACK FGD
Here's a new version of the FGD for JACK users
The RC1 version above was untested and had some errors.
Awesome stuff! Should use this with a standspon3 map of mine!
I'm getting realy mad about this.
Have made some soundtriggers in 11KHz, 8Bit, Mono timeds ago and everithing works.
Now, after loading the new version over it, I did the same and nothing happens. Message" Couldn't load ... .wav.
Tried to load some original dump/..wav and also the same message.
Made a new directorie, reloaded files, deleted working files and also nothing.
What have I done wrong?
Well it's really hard to know what you have done with out seeing your hard drive and directories. So a few questions:
What do you mean by loading a new version over it?
Do you mean a new progs_dump? If so then, what version are you using?
Each version of progs_dump should be treated as a separate mod. I never intended for people to "upgrade" or overwrite those files. I will make sure this is clear in the readme if I didn't already.
Did you somehow, move or overwrite your sound files? Are they still there?
Most of the time these are issues with the paths. I did not touch the sound code between the different versions.
Created a directorie named after my project. Copyd the progs_dump in. created a new map and saved it in the map folder. made some sounds and saved it in subfolder ../gh in sounds/. Triggerd the files in trenchbroom and they worked. downloaded the newst version of progs_dump. removed the old files. installed the new in the same folder. made some new soundfiles. Got error messages "couldn't load soundfile ... . wav". tried it with the older files everything workes fine.
Because of the fact that the old files work, I think that it has something to do wit the paths but I don't know where to fix this.
Would it help to create a new directorie with a clean copy of progs_dump?
quake's sounds filenames are relative to the sound/ subdir rather than the gamedir itself, for some reason.
so if your map contains sound/ in the name then it won't work (unless your sound is in c:/quake/$modname/sound/sound/ which is obviously stupid). if you put them in c:/quake/$modname/sounds/ then it won't work either.
The folder paths are correct.
The only difference is that the old files work, the new dont, the water sound in dumps folder dont works either.
Would it help to create a new directorie with a clean copy of progs_dump?
Yes I would start with a fresh directory, something got messed up when you copied files around. Especially since the water sound is not working.
BUT - what version are you using of progs_dump? 1.1.0 RC1? or the Jam X RC2?
In the OS the path for your sound must be like so:
In the editor, your sound must be:
And make sure the folder is SOUND and not SOUNDS
I'm using 1.1.0 and the folder/sample.wav.
I'm repairing this today till it works!
There are two versions of 1.1.0 RC1 and RC2
for the 3rd time now... which one are you using?
@dumptruck_ds "solved It"
Ding, Shame, Ding, Shame, Ding ...
Had to change the command-line Argument in Necr-GUI to "-game modname".
Argh. The was the last thing I thought.
Now it works fine.
Have only one little idea for the play_sound_triggerd. Could there be a spawnflagg for looped on, off?
Have to turn non looped sounds of by trigger again.
glad you figured that out
I need to look at that code again. It was a straight copy and paste from Rubicon 2 (or Hipnotic) so I will have to see if I can modify it.
But you want a spawnflag for play_sound_triggered to start on that then toggle off correct?
looping in quake is based on a flag inside the wav file itself, so hard for QuakeC to control (would have to know the length which i don't think is available, and then manually retrigger a non-looped wav, or manually kill a looped wave.
Yep I should have realized that when I posted. That's why there are two discreet sound entities, one for looped wavs with cues (or markers) and one for one-off sounds. Sorry Sgt. It's one or the other. But you can create a looping sound with these markers easily. I have a tutorial here: https://youtu.be/pj7C_igr0bs
Don't know why but the play_sound_triggered entity in my maps always loops the sound-file with or without markers. So I had to trigger it again to stop.
You are probably triggering it with a trigger_multiple so it's just firing it over and over.
Did a trigger_once on a play_sound_triggerd with a soundfile without markers and the sound repeats and repeats. Did it with a trigger_relay and it happend the same.
So I now shoot two trigger_relays. The first starts the sound, the second, with a delay of the length of the sound, stops it.
Have no idea why it works this way today.
The first time I worked with this entity a trigger_once was enougth and the sound stops after playing.
No idea what's up with that but I am glad it is working now.
Version 1.1.0 Release Candidate 3
progs_dump 1.1.0 Release Candidate 3 is now available for download.
Highlights in this release:
custom health on monsters
trigger_take_weapon (for axe only starts)
weapon_shotgun with metlslime's mdl or Slapmap's version
c0burn's switchable light styles and fade / up down of lights
lightning trail entities for traps and decorations (DOE)
visual effects entities: play_explosion, play_tbabyexplode, play_lavasplash
misc_particle_beam from Zerstörer
func_fall - brush that drops upon touch
trap_shooter - spikes, lasers, rockets, grenades, lavaballs, gibs and voreballs
"retriggerable" func_train with custom sounds
new sample maps for reference
The final version will be released some time in June.
Bumping This Thread
For folks who may have missed it due to spam posts tamping this down. Still working on the final version, should be out by the end of June.
The final will have a few new features and a proper hub for the test levels:
** Added func_bob and misc_bob (RennyC adapted from AD)
** Added misc_sparks (Rubicon2)
** Added misc_particles (misc_splash from Rubicon2)
** Added sight_trigger - monsters fire targets upon seeing the player
** Added keep_ammo to Ogre, Soldier and Enforcer (no "DropBackpack" if set to 1)
Progs_dump_devkit Version 1.1.0
The new version of progs_dump is here. Designed to give mappers more visual effects, game play options and quality of life features while retaining the look and feel of vanilla Quake. This is a massive
release compared to version 1. It's thoroughly documented and has been tested over and over. Some highlights include:
*visual effects like particles, sparks, lasers and lightning
*pain_targets that fire when a monster reaches a certain health level
*c0burn's switchable light styles and fading light effects
*trap_spikeshooter now shoots lavaballs, voreballs, rockets and more
*Rubicon2's "retriggerable" spawnflag and custom sounds to func_train
*ladders and two varieties of breakables
*various Hipnotic and Rogue entities like func_counter and earthquakes
and much, much more.
You can download it from the Internet Archive
or from Quaketastic
Thanks to Qmaster, RennyC, c0burn, Spike and many others who helped me create this devkit. Enjoy!
You weren't kidding when you said you could rush it out sooner
I stayed up late to wrap it up... enjoy!
Finally Downloaded It And Started Brainstorming
Just played the cool demo maps and read the manual. Aw man, such great quality of life improvements for mappers! Quite an effort you've made here, Dumptruck! Good job to the other authors as well!
While reading the manual, I was wondering if you've considered adding the option of making aggroed monsters "going back to sleep", for example, by triggering one of the monsters targetnames when they are aggroed?
And now that I'm getting started, maybe add spawnflags that tell the monster to target a specific path_corner once the aggro has been disabled? There could be spawnflags 'upon_sleep_targetx', where x is one of the monster's four targets? If the spawnflag's not active, the monster would just simply stop when "put to sleep".
Another option could be that if the monster is touching a path corner (either a point or a brush path corner) when the aggro is disabled, the monster would start following that path.
These options could enable powerful tools for making custom monster AI!
And now that I'm really going down the rabbit hole, maybe add the possibility of enabling path corners the monsters would follow only when they're aggroed. If I recall correctly from an earlier discussion here, Quake II (or should I say Wor, Kinn?) ;D has those, right?
Or on second thought, should I just stop right here? xD There was a discussion in the Copper Quake thread about making a too involved AI, wasn't there, and it wasn't found to work very well with the game, right?
So, maybe as a compromise, implement just the option of making monsters going back to sleep and none of that pathing nonsense? xD
Thanks for the kind words. I'll look into something like this for a future release. Will be a long time though (see below.) I suspect what you are suggesting is likely possible. But moving forward with the mod keep a few things in mind:
**I am shying away from specific requests. If a number of people ask for something I will add it to a to-do list. A good example are ladders and breakables. I did not want them in the mod as they were not id1 features. But I added them because a lot of people wanted them!
**I am taking a break from progs_dump for the next 90 days with the exception of bugs. I want to focus on other projects and this one grew beyond the original scope very quickly.
**I started by following tutorials and copy and pasting code and testing a bunch. I am still very much a newb when it comes to coding and QuakeC. So to implement something like you suggest above I would really like to really understand how that all works. So I am not saying "no" but I am saying anything like this would take me a some time. But I will absolutely look into it!
Don't worry, take a long rest; You've deserved it! ;) I kind of hesitated making my suggestion in the first place, because you've just finished a gargantuan task, only to be greeted by more requests. @_@ I didn't want to make myself come out as unappreciative for your work, but more like excited about seeing the kit become even greater than it already is.
Yeah, I recall the original purpose of this devkit being id1-like, so I was wondering whether my suggestion, at least the aggro pathing part, was id1-like enough. But since there was already non-id1 stuff like breakables, I was encouraged to go for it.
Happy to have any feedback and suggestions!
190 posts not shown on this page because they were spam
190? How is this possible?
now it's 24 posts not shown on this page because they were spam funky
the first time it's because you clicked on the "new 190" link. The second time you clicked on the "last 25" link.
Kill Count Bug (and How To Fix It)
dumptruck, I've found an obscure bug which affects the kill count if a map includes trigger-spawned Rotfish. I was going to email you about this, but I think an explanation of this bug might be useful for others, because it illustrates something about the engine which isn't obvious. So, I thought I'd post this here, where others can see it.
I noticed the issue in the map pd_ionous, but it should affect any map with trigger-spawned Rotfish.
The bug is that the "total monsters" count becomes incorrect after a trigger-spawned Rotfish is triggered, but the incorrect count only becomes visible to the player if they save their game, then load the saved game.
To see the bug while playing pd_ionous: simply play up to the point where the three Rotfish have been triggered and have appeared, then save and load. Assuming you're playing on Normal skill, the "total monsters" count in the status bar should be 19 when you save, but after loading, the count will jump to 22. But there really are only 19 monsters, so it becomes impossible to get 100% kills.
The tl;dr solution is to increment the total_monsters global in swimmonster_start() instead of in swimmonster_start_go(). But I expect it's not obvious why that fixes the issue, or even why the issue happens at all, so I'll explain.
There are two things going on here:
Thing #1: Why the total_monsters global becomes incorrect when a trigger-spawned Rotfish is triggered
This comes down to the way progs_dump currently fixes the old Rotfish kill count bug that was present in id's original code. The old bug existed because total_monsters got incremented twice for every Rotfish, once in swimmonster_start(), and again in swimmonster_start_go().
progs_dump currently fixes this by removing the increment from swimmonster_start(), and leaving the one in swimmonster_start_go(). However, this creates an inconsistency with walking/flying monsters, because those monsters increment total_monsters in walkmonster/flymonster_start(), and not in walkmonster/flymonster_start_go().
In the usual case where a Rotfish is spawned normally, this inconsistency doesn't make a difference.
But the inconsistency causes a problem when a Rotfish is trigger-spawned. In this case, total_monsters gets incremented twice per Rotfish:
1) The first time is on map start. monster_fish() calls swimmonster_start(), which calls monster_teleport(), which increments total_monsters.
2) The second time is when the Rotfish is triggered. monster_teleport_delay() sets self.think to monster_teleport_go(). When this is called, it calls self.think1(), which is swimmonster_start_go(), which increments total_monsters again.
Thing #2: Why the change to total_monsters only becomes visible to the player after they load a saved game
This comes down to the way the engine divides things between the server and client.
This applies even when a player is playing locally (i.e. when the Quake executable is acting as both the server and the client).
The progs.dat code runs on the server-side. Variables such as total_monsters are also on the server-side, and the client-side does not have direct knowledge of them.
When a player spawns for the first time, or loads a saved game, the server sends the value of total_monsters to the client, so that the client can display that number in the status bar (and during the intermission).
However, if total_monsters changes on the server after that, the server does not automatically inform the client that the value has changed. This is the thing that isn't obvious. It's why, in this case, the player doesn't immediately see that total_monsters has changed after a Rotfish is triggered, even though the variable has changed on the server-side.
Loading a saved game forces the server to send the current value of total_monsters to the client. This is why the bug becomes visible to the player after they load.
(As an aside, which isn't relevant in this case, but might help someone: if a mod actually wants to update total_monsters mid-game, and wants to notify clients of the change, the answer is to send a SVC_UPDATESTAT message to the clients. Both of the mission packs, and various mods, include code showing how to do this.
But this isn't relevant to the issue I've explained here, because the code obviously isn't supposed to increment total_monsters mid-game.)
But, yes, the solution in this case is just to increment total_monsters in swimmonster_start() instead of in swimmonster_start_go().
dumptruck, I hope the above makes sense? If anything is unclear, please let me know.
Good catch. All of the above makes total sense. Thank you for such a detailed explanation.
No problem. progs_dump is a really good resource for mappers. Happy to give whatever help I can.
I've identified some other bugs, which don't require as much explanation as the above, all of which seem fixable.
I'd like to send suggestions as to how to fix them -- what's the best way to do this? Should I do the whole GitHub thing where I send you a pull request for each fix? Or would it be better if I just email you with descriptions and code snippets?
I am traveling soon so I may not merge them for a week or longer. Thanks.
Cool -- it'll probably be a good few days before I'm in a position to start uploading to GitHub in any case. Hope you have pleasant travels.
progs_dump devkit version 1.1.1
is available with lots of bug fixes thanks to QuakeC MVP iw
DOE's multi-floor elevators have been added with bug fixes and improvements. A demo map is included.
If you are currently working with 1.1.0, I highly recommend porting your mod over to this version.
* Added func_elvtr_button and ELEVATOR functionality to func_new_plat (iw)
* Fix Fiends never going into their pain animation (iw)
* Fix a critical bug involving func_elvtr_button (iw)
* Address various FTEQCC warnings (iw)
* Fix kill count bug with trigger-spawned Rotfish (iw)
* Fixed qc syntax errors in monsters.qc (iw)
* Fix various issues involving gravity and ladders (iw)
* Make trigger_ladder ignore bad (up/down) angles (iw)
* Fix items not respawning in deathmatch mode (iw)
* Fix a "friendly monster" bug in trigger spawned monsters (iw)
* Fix pain_target never firing in some cases (iw)
* Fix item_health collision with BSP model entities (iw)
* Fix the weapon_shotgun spawnflag test (iw)
* Allow "wait" to be set for elevators (iw)
* other tweaks to DOE elevator code in doeplats.qc (iw)
* pd_elevator demo level (iw)
Source is included and can also be found on GitHub
@Preach - you may want to take a look at the commit re: the trigger spawned Rotfish. iw found an interesting issue and the solution is well documented.
The next release of pd_ will focus on adding coop spawnflags and possibly new coop features.
Sorry I meant this commit here.
Is It Possible?
Moving static entities?
Ummm not sure about that - what would you use them for?
Just A Thought...
Decoration for things like a group of fishes. It was my struggle when I made beez. They were bounded by a bouncing box. Or a turning satellite.
New Video Series For Pd_
Here's a playlist
for a new series of videos on progs_dump. Will explore the features and show how to set them up. Also will examine mods and packs that use the devkit. Aimed at new mappers but good info dumps for the experienced mapper as well.
3 videos now and more to come.
progs_dump Version 1.1.2 is live
Download it here
This release includes a new sample map pd_lightning
, that displays the lightning trap entities in more detail in addition to the trap_shooter_triggered entity.
Here's the changelog:
* Added newflags.qc (iw)
* Added new spawnflags (iw)
4096 Not in Coop
8192 Not in Single Player
32768 Not on Hard Only
65536 Not on Nightmare Only
* Fixed collision issues in trap_shooter, trap_spikeshooter, trap_switched_shooter
* Added workaround for if(string) engine bug (iw)
* Added function SUB_UseAndForgetTargets() to subs.qc (iw)
* Fixed sight_target firing targets multiple times (iw)
* Fixed pain_target not using targetname2/3/4 (iw)
* Fixed messages not displaying with sight_trigger (iw)
* Make weapons fire their targets in Coop and DM2 modes (iw)
* Prevent keys firing multiple targets multiple times in Coop (iw)
* Fixes to func_bob (iw)
* Fixed messages not displaying with func_counter (iw)
* Fixed "delay" making func_counter not work (iw)
* Added SUB_DislodgeRestingEntities to subs.qc (iw)
* Fixed func_breakable debris sometimes floating (iw)
* Added pd_lightning demo map
* Fixed func_laser audio issue when used with func_counter
* Added GNU License and source to my_mod directory
More updates will be coming in the weeks ahead but we wanted these bug fixes available as soon as possible.
A HUGE thank you to iw for all his hard work improving this mod!
In my enthusiastic rush to get version 1.1.2 of the devkit out the door I neglected to document the new spawflags iw has generously coded in. Here are the comments from the newflags.qc for everyone's reference. I will update the manual with this same info soon and share it.
NEW SPAWNFLAGS FOR ALL ENTITIES
This file was created for progs_dump by Ian "iw" Walshaw, August 2019.
It defines functions which can be called to implement the following new
4096 Not in Coop
8192 Not in Single Player
32768 Not on Hard Only
65536 Not on Nightmare Only
(Spawnflag 16384 is not used here because it's already used for
something else in progs_dump.)
The new spawnflags complement and complete the set of built-in
spawnflags provided by the engine, which of course are:
256 Not on Easy
512 Not on Normal
1024 Not on Hard or Nightmare
2048 Not in Deathmatch
In conjunction with the old spawnflags, the new spawnflags make it
possible to exclude any entity from any combination of game modes and/or
"Not in Coop" and "Not in Single Player"
These spawnflags were inspired by Quoth 2 (Kell and Necros, 2008), which included two additional spawnflags for all entities: "Not in Coop" and
"Coop Only". In contrast to Quoth 2, the spawnflags implemented here
are "Not in Coop" and "Not in Single Player", for symmetry with the
built-in "Not in Deathmatch" spawnflag.
"Not on Hard Only" and "Not on Nightmare Only"
The set of built-in spawnflags doesn't allow a mapper to treat the Hard
and Nightmare skill levels differently, because it only includes one
spawnflag, 1024, which excludes an entity from both Hard and Nightmare.
The new "Not on Hard Only" and "Not on Nightmare Only" spawnflags allow
the mapper to exclude an entity from one of these skill levels without
affecting the other.
New Episode Of The Progs_dump Series
Here's a new video
that covers some of the big fixes and features of the latest version 1.1.2
This goes into detail on the lightning trail entities (ltrail) from Quake's 2nd mission pack, Dissolution of Eternity.
NOTE: As I type this, the video is still uploading. Should be up within an 1/2 hour of this post.
I can confirm that, as far as rotating entities are concerned, they are really simple to use in H2.
But unfortunately for engine related reasons:
1. Make your entity out of one or more brushes.
2. Add one more cubic brush whose texture is the special ORIGIN texture.
3. The rotation will occur around one of the 3 axis X, Y or Z going through the center of that origin brush, according to which flag you set on your func_door_rotating entity.
If I'm correct, there is no special ORIGIN texture supported in Quake, hence no rotating doors or trains or whatever. :-(
Maybe a point entity with an "origin" property could be used instead, if correctly identified as the rotating door's "origin" thanks to some property? And then HexenC code could be adapted and work?
That doesn't necessarily sound like a loosing battle since QuakeC actually has a SUB_CalcAngleMove function with rotating capabilities...
Sorry, I was confused by the forum GUI and my message comes faaaar too late. Sorry again! :-(
Thanks anyway, man!
It's cool to know how other games deals with rotating brushes.
Fortunately Dumptruck already implemented rotating brushes to this mod =D
Sorry - This Is A Cross Post
is now available.
This is a special edition for the upcoming April Fool's jokejam.
Please read the readme and manual for complete details. New and updated features are highlighted in the manual.
ALWAYS START A NEW FOLDER WHEN USING PROGS_DUMP.
DO NOT COPY THESE FILES OVER AN EXISTING VERSION.
Version 1.1.3 is still in development and with any luck, will be released within the next month.
|190 posts not shown on this page because they were spam|
You must be logged in to post in this thread.
Website copyright © 2002-2020 John Fitzgibbons. All posts are copyright their respective authors.