Raw model (for completeness)
{
"meta": {
"id": "05024f8a-81e8-4e1c-9a1c-32c7447b6c71",
"sha1": "1e113430f47f30ce4b778a772c91b1d3acc9b4da",
"sha256": "3ea3467ace14d2cd947b09835d71b9d91b1f00a0fbec53f0ea60cc02b217fdfd",
"filenames": [
"player-sounds-beta6.pk3"
],
"additional": {
"engines": [
"ZDOOM"
],
"iwad": [],
"filename": null,
"added": "2014-04-27 21:06:29",
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false,
"name": null,
"description": null,
"maps": null,
"graphicOverrides": null,
"screenshots": null,
"palettes": null,
"categories": null
},
"flags": {
"locked": false,
"canDownload": true,
"adult": false,
"hidden": false
},
"added": "2014-04-27 21:06:29",
"file": {
"type": "PK3",
"size": 598209,
"url": "https://wadarchive2.nyc3.digitaloceanspaces.com/1e113430f47f30ce4b778a772c91b1d3acc9b4da/1e113430f47f30ce4b778a772c91b1d3acc9b4da.pk3.gz",
"corrupt": false
},
"content": {
"counts": {
"endoom": 0,
"graphics": 0,
"lumps": 34,
"maps": 0,
"palettes": 0
},
"engines_guess": [
"ZDOOM"
]
},
"text_files": [
{
"source": "pk3",
"name": "sndinfo.txt",
"contents": "laugh_male LA_MALE\nlaugh_mad LA_MAD\nlaugh_evil LA_EVIL\nlaugh_witch LA_WITCH\nlaugh_clown LA_CLOWN\nlaugh_duffy LA_DUFFY\nlaugh_santa LA_SANTA\ngreeting_hello GR_HELLO\ngreeting_hello_old GR_HEOLD\ngreeting_hi GR_HI\ngreeting_yo GR_YO\ngreeting_bonjour GR_BONJR\ngreeting_hey_baby GR_HEBAB\ngreeting_hello_man GR_HEMAN\nbad_no BA_NOOO\nbad_fuck BA_FUCK\nbad_damnit BA_DAMN\nbad_doh BA_DOH\nbad_no_vader BA_NOVAD\nbad_argh BA_AARGH\nbad_no_wizard BA_NOWIZ\ngood_yeah GO_YEAH\ngood_yes GO_YES\ngood_yay GO_YAY\ngood_yoohoo GO_YOHOO\ngood_yeah_kid GO_YEAHK\ngood_cool GO_COOL\ngood_yahoo GO_YAHOO"
},
{
"source": "pk3",
"name": "psacs.txt",
"contents": "#library \"psacs\"\n#include \"zcommon.acs\"\n#define TYPE_COUNT 4\n#define SOUND_COUNT 7\n#define SOUND_PREFIX \"player/\"\n#define SOUND_DELAY 35\n\nstr soundNames[TYPE_COUNT][SOUND_COUNT] = {\n\t{ \"laugh_male\", \"laugh_mad\", \"laugh_evil\", \"laugh_duffy\", \"laugh_clown\", \"laugh_witch\", \"laugh_santa\" },\n\t{ \"greeting_hi\", \"greeting_hello\", \"greeting_yo\", \"greeting_hello_man\", \"greeting_hey_baby\", \"greeting_hello_old\", \"greeting_bonjour\"},\n\t{ \"bad_no\", \"bad_fuck\", \"bad_no_vader\", \"bad_doh\", \"bad_damnit\", \"bad_argh\", \"bad_no_wizard\" },\n\t{ \"good_yes\", \"good_yeah\", \"good_yoohoo\", \"good_yay\", \"good_yeah_kid\", \"good_cool\", \"good_yahoo\" }\n};\nstr soundDesc[TYPE_COUNT][SOUND_COUNT] = {\n\t{ \"Male\", \"Mad\", \"Evil\", \"Duffy Duck\", \"Clown\", \"Witch\", \"Santa\" },\n\t{ \"Hi\", \"Hello\", \"Yo\", \"Hello man\", \"Hey baby\", \"Hello (old man)\", \"Bonjour\" },\n\t{ \"Noooo\", \"Fuck!\", \"Vader's NOOOOOO!\", \"Simpson's Doh!\", \"Damnit\", \"Aaargh!\", \"Nooo (wizard)\" },\n\t{ \"Yes!\", \"Yeah\", \"Yoo-hoo!\", \"Yaaay (crowd)\", \"Yeah (kids)\", \"Cool\", \"Yahoo (cartoon)\" }\n};\nstr typeCvars[TYPE_COUNT] = { \"ps_laugh\", \"ps_greeting\", \"ps_bad\", \"ps_good\" };\nstr typeNames[TYPE_COUNT] = { \"laugh\", \"greeting\", \"bad\", \"good\" };\n\nscript 820 ENTER clientside\n{\n\tbool check = false;\n\tfor(int i=0; i < TYPE_COUNT; i++)\n\t{\n\t\tif(GetCVAR(typeCvars[i]) != 0) check = true;\n\t}\n\tif(!check)\n\t{\n\t\tHudMessage(s: \"Players sounds is not set. Set the keys, and type \\cfsounds \\cjin the console for commands\";\n\t\t\t\t\tHUDMSG_FADEOUT, 0, CR_WHITE, 0.25, 0.75, 10.0, 2.0);\n\n\t\tfor(i=0; i < TYPE_COUNT; i++)\n\t\t{\n\t\t\tstr command = StrParam(s:\"set \", s:typeCvars[i], s:\" 0\");\n\t\t\tConsoleCommand(command);\n\t\t\tcommand = StrParam(s:\"archivecvar \",s:typeCvars[i]);\n\t\t\tConsoleCommand(command);\n\t\t}\n\t}\n}\n\nscript 821 (int type) net clientside\n{\n\tif(PlayerIsSpectator(PlayerNumber()))\n\t\tterminate;\n\tif(type < 0 || type >= TYPE_COUNT)\n\t{\n\t\tLog(s:\"ERROR: Wrong argument.\");\n\t\tterminate;\n\t}\n\tint sound = GetCVAR(typeCvars[type]) - 1;\n\tif(sound < 0)\n\t{\n\t\tLog(s:\"ERROR: \",s:typeNames[type],s:\" is not set. Type \\cfsounds \\cj in console for help.\");\n\t\tterminate;\n\t}\n\tif(sound >= SOUND_COUNT)\n\t{\n\t\tLog(s:\"ERROR: Wrong \",s:typeNames[type],s:\" value!\");\n\t\tterminate;\n\t}\n\n\t//OK, everything is fine. Lets play the sound.\n\t//ACS_Execute(824, 0, type, sound);\n\tstr command = StrParam(s:\"puke 824 \", d:type, s:\" \", d:sound);\n\tConsoleCommand(command);\n}\n\nscript 822 (void) net clientside\n{\n\tLog(s:\"Player sounds information.\\n\\n\");\n\tLog(s:\"Available commands:\\n\");\n\n\tfor(int i = 0; i < TYPE_COUNT; i++)\n\t{\n\t\tLog(s:\"set\", s:typeNames[i], s:\" <number>\");\n\t\tfor(int j=0; j < SOUND_COUNT; j++)\n\t\t{\n\t\t\tLog(d:j+1, s:\" = \", s:GetDesc(i,j));\n\t\t}\n\t\tLog(s:\"\\n\");\n\t}\n}\n\nscript 823 (int type, int number) net clientside\n{\n\tif(type < 0 || type >= TYPE_COUNT)\n\t{\n\t\tLog(s:\"ERROR: Wrong type number.\");\n\t\tterminate;\n\t}\n\tif(number < 1 || number > SOUND_COUNT)\n\t{\n\t\tLog(s:\"ERROR: Wrong sound number.\");\n\t\tterminate;\n\t}\n\tstr command = StrParam(s:\"set \", s:typeCvars[type], s:\" \", d:number);\n\tConsoleCommand(command);\n\tcommand = StrParam(s:\"archivecvar \",s:typeCvars[type]);\n\tConsoleCommand(command);\n\n}\n\nscript 824 (int type, int sound) net\n{\n\tSetActivator(1000+PlayerNumber());\n\tif(PlayerIsSpectator(PlayerNumber()))\n\t\tterminate;\n\t//str soundname = StrParam(s:SOUND_PREFIX, s:GetName(type, sound));\n\tstr soundname = GetName(type, sound);\n\tActivatorSound(soundname, 127);\n\tDelay(SOUND_DELAY);\n}\n\nscript 825 ENTER\n{\n\tif(ActivatorTID() == 0)\n\t\tThing_ChangeTID(0, 1000+PlayerNumber());\n}\n\nscript 826 DEATH\n{\n\tThing_ChangeTID(1000+PlayerNumber(), 0);\n}\n\nscript 827 RESPAWN\n{\n\tACS_Execute(825, 0);\n}\n\nfunction str GetName(int type, int number)\n{\n\treturn soundNames[type][number];\n}\n\nfunction str GetDesc(int type, int number)\n{\n\treturn soundDesc[type][number];\n}"
},
{
"source": "pk3",
"name": "keyconf.txt",
"contents": "addkeysection \"Player sounds\" playersounds\naddmenukey \"Laugh\" soundlaugh\naddmenukey \"Greeting\" soundgreeting\naddmenukey \"Bad\" soundbad\naddmenukey \"Good\" soundgood\nalias sounds \"puke 822\"\nalias soundlaugh \"puke 821 0\"\nalias soundgreeting \"puke 821 1\"\nalias soundbad \"puke 821 2\"\nalias soundgood \"puke 821 3\"\nalias setlaugh \"puke 823 0 %1\"\nalias setgreeting \"puke 823 1 %1\"\nalias setbad \"puke 823 2 %1\"\nalias setgood \"puke 823 3 %1\""
},
{
"source": "pk3",
"name": "loadacs.txt",
"contents": "PSACS"
},
{
"source": "pk3",
"name": "readme.txt",
"contents": "This wad made using pure ACS, without any DECORATE code and actor replacements.\n\nSounds were found in:\nfreesound.org\nfreesfx.co.uk\nfindsounds.com\nsoundjay.com\n\nSoftware used:\nAudacity\nCubase Elements 7 AI\nFabFilter PRO (VST Plugins)\n\nMade by Bed Intruder (aka RuCaptain)."
}
]
},
"maps": []
}