Skip to content

Commit 41ecf10

Browse files
authoredNov 1, 2024
Configurable Piss Sound (dkfans#3608)
Snuck in the fix to the j8 related build error in png2ico
1 parent 6010bf3 commit 41ecf10

39 files changed

+70
-4
lines changed
 

‎config/creatrs/archer.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 649 1
140140
Torture = 650 3
141141
Slap = 653 1
142142
Fight = 638 3
143+
Piss = 171 1

‎config/creatrs/avatar.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 717 1
140140
Torture = 718 3
141141
Slap = 721 1
142142
Fight = 706 3
143+
Piss = 171 1

‎config/creatrs/barbarian.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 632 1
140140
Torture = 633 3
141141
Slap = 636 1
142142
Fight = 621 3
143+
Piss = 171 1

‎config/creatrs/bile_demon.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 479 1
140140
Torture = 480 3
141141
Slap = 483 1
142142
Fight = 468 3
143+
Piss = 94 6

‎config/creatrs/bug.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 513 1
140140
Torture = 514 3
141141
Slap = 517 1
142142
Fight = 502 3
143+
Piss = 171 1

‎config/creatrs/dark_mistress.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 445 1
140140
Torture = 446 3
141141
Slap = 449 1
142142
Fight = 434 3
143+
Piss = 171 1

‎config/creatrs/demonspawn.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 411 1
140140
Torture = 412 3
141141
Slap = 415 1
142142
Fight = 400 3
143+
Piss = 171 1

‎config/creatrs/dragon.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 394 1
140140
Torture = 395 3
141141
Slap = 398 1
142142
Fight = 383 3
143+
Piss = 171 1

‎config/creatrs/druid.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 462 1
140140
Torture = 463 3
141141
Slap = 466 1
142142
Fight = 451 3
143+
Piss = 171 1

‎config/creatrs/dwarfa.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 734 1
140140
Torture = 735 3
141141
Slap = 738 1
142142
Fight = 723 3
143+
Piss = 171 1

‎config/creatrs/fairy.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 785 1
140140
Torture = 786 3
141141
Slap = 789 1
142142
Fight = 774 3
143+
Piss = 171 1

‎config/creatrs/floating_spirit.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -139,3 +139,4 @@ Drop = 0 0
139139
Torture = 0 0
140140
Slap = 0 0
141141
Fight = 0 0
142+
Piss = 0 0

‎config/creatrs/fly.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 428 1
140140
Torture = 429 3
141141
Slap = 432 1
142142
Fight = 417 3
143+
Piss = 171 1

‎config/creatrs/ghost.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,4 @@ Drop = 581 1
141141
Torture = 582 3
142142
Slap = 585 1
143143
Fight = 570 3
144+
Piss = 171 1

‎config/creatrs/giant.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 768 1
140140
Torture = 769 3
141141
Slap = 772 1
142142
Fight = 757 3
143+
Piss = 171 1

‎config/creatrs/hell_hound.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 564 1
140140
Torture = 565 3
141141
Slap = 568 1
142142
Fight = 553 3
143+
Piss = 171 1

‎config/creatrs/horny.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 343 1
140140
Torture = 344 3
141141
Slap = 347 1
142142
Fight = 332 3
143+
Piss = 171 1

‎config/creatrs/imp.cfg

+2
Original file line numberDiff line numberDiff line change
@@ -367,3 +367,5 @@ Torture = 497 3
367367
Slap = 490 3
368368
; The sound used for fighting.
369369
Fight = 485 3
370+
; The sound used for pissing.
371+
Piss = 171 1

‎config/creatrs/knight.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 700 1
140140
Torture = 701 3
141141
Slap = 704 1
142142
Fight = 689 3
143+
Piss = 171 1

‎config/creatrs/monk.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 666 1
140140
Torture = 667 3
141141
Slap = 670 1
142142
Fight = 655 3
143+
Piss = 171 1

‎config/creatrs/orc.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 377 1
140140
Torture = 378 3
141141
Slap = 381 1
142142
Fight = 366 3
143+
Piss = 171 1

‎config/creatrs/samurai.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 819 1
140140
Torture = 820 3
141141
Slap = 823 1
142142
Fight = 808 3
143+
Piss = 171 1

‎config/creatrs/skeleton.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 360 1
140140
Torture = 361 3
141141
Slap = 364 1
142142
Fight = 349 3
143+
Piss = 171 1

‎config/creatrs/sorceror.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 462 1
140140
Torture = 463 3
141141
Slap = 466 1
142142
Fight = 451 3
143+
Piss = 171 1

‎config/creatrs/spider.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 547 1
140140
Torture = 548 3
141141
Slap = 551 1
142142
Fight = 536 3
143+
Piss = 171 1

‎config/creatrs/tentacle.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 598 1
140140
Torture = 599 3
141141
Slap = 602 1
142142
Fight = 587 3
143+
Piss = 171 1

‎config/creatrs/thief.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 802 1
140140
Torture = 803 3
141141
Slap = 806 1
142142
Fight = 791 3
143+
Piss = 171 1

‎config/creatrs/time_mage.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 615 1
140140
Torture = 616 3
141141
Slap = 619 1
142142
Fight = 604 3
143+
Piss = 171 1

‎config/creatrs/troll.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 377 1
140140
Torture = 378 3
141141
Slap = 381 1
142142
Fight = 366 3
143+
Piss = 171 1

‎config/creatrs/tunneller.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 683 1
140140
Torture = 684 3
141141
Slap = 687 1
142142
Fight = 672 3
143+
Piss = 171 1

‎config/creatrs/vampire.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -142,3 +142,4 @@ Drop = 530 1
142142
Torture = 531 3
143143
Slap = 534 1
144144
Fight = 519 3
145+
Piss = 171 1

‎config/creatrs/witch.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 751 1
140140
Torture = 752 3
141141
Slap = 755 1
142142
Fight = 740 3
143+
Piss = 171 1

‎config/creatrs/wizard.cfg

+1
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,4 @@ Drop = 615 1
140140
Torture = 616 3
141141
Slap = 619 1
142142
Fight = 604 3
143+
Piss = 171 1

‎src/config_crtrmodel.c

+20
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ const struct NamedCommand creatmodel_sounds_commands[] = {
232232
{"DIE", CrSnd_Die},
233233
{"FOOT", CrSnd_Foot},
234234
{"FIGHT", CrSnd_Fight},
235+
{"PISS", CrSnd_Piss},
235236
{NULL, 0},
236237
};
237238

@@ -2461,6 +2462,25 @@ TbBool parse_creaturemodel_sounds_blocks(long crtr_model,char *buf,long len,cons
24612462
COMMAND_TEXT(cmd_num),block_buf,config_textname);
24622463
}
24632464
break;
2465+
case CrSnd_Piss:
2466+
if (get_conf_parameter_single(buf,&pos,len,word_buf,sizeof(word_buf)) > 0)
2467+
{
2468+
k = atoi(word_buf);
2469+
game.conf.crtr_conf.creature_sounds[crtr_model].piss.index = k;
2470+
n++;
2471+
}
2472+
if (get_conf_parameter_single(buf,&pos,len,word_buf,sizeof(word_buf)) > 0)
2473+
{
2474+
k = atoi(word_buf);
2475+
game.conf.crtr_conf.creature_sounds[crtr_model].piss.count = k;
2476+
n++;
2477+
}
2478+
if (n < 1)
2479+
{
2480+
CONFWRNLOG("Incorrect value of \"%s\" parameter in [%s] block of %s file.",
2481+
COMMAND_TEXT(cmd_num),block_buf,config_textname);
2482+
}
2483+
break;
24642484
case ccr_comment:
24652485
break;
24662486
case ccr_endOfFile:

‎src/creature_control.c

+2
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,8 @@ struct CreatureSound *get_creature_sound(struct Thing *thing, long snd_idx)
256256
return &game.conf.crtr_conf.creature_sounds[cmodel].foot;
257257
case CrSnd_Fight:
258258
return &game.conf.crtr_conf.creature_sounds[cmodel].fight;
259+
case CrSnd_Piss:
260+
return &game.conf.crtr_conf.creature_sounds[cmodel].piss;
259261
default:
260262
// Return dummy element
261263
return &game.conf.crtr_conf.creature_sounds[0].foot;

‎src/creature_control.h

+2
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ enum CreatureSoundTypes {
6868
CrSnd_Die = 9,
6969
CrSnd_Foot = 10,
7070
CrSnd_Fight = 11,
71+
CrSnd_Piss = 12,
7172
};
7273

7374
enum CreatureControlFlags {
@@ -557,6 +558,7 @@ struct CreatureSounds {
557558
struct CreatureSound torture;
558559
struct CreatureSound slap;
559560
struct CreatureSound fight;
561+
struct CreatureSound piss;
560562
};
561563

562564
extern int creature_swap_idx[CREATURE_TYPES_MAX];

‎src/creature_states_mood.c

+7-3
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,15 @@ short creature_be_happy(struct Thing *thing)
124124
short creature_piss(struct Thing *thing)
125125
{
126126
struct CreatureControl* cctrl = creature_control_get_from_thing(thing);
127-
if ( !S3DEmitterIsPlayingSample(thing->snd_emitter_id, 171, 0) ) {
128-
thing_play_sample(thing, 171, NORMAL_PITCH, 0, 3, 1, 6, FULL_LOUDNESS);
127+
struct CreatureSound* crsound = get_creature_sound(thing, CrSnd_Piss);
128+
unsigned short sound_idx = crsound->index + CREATURE_RANDOM(thing, crsound->count);
129+
if (!S3DEmitterIsPlayingSample(thing->snd_emitter_id, sound_idx, 0)) {
130+
thing_play_sample(thing, sound_idx, NORMAL_PITCH, 0, 3, 1, 6, FULL_LOUDNESS);
129131
}
130132
long i = cctrl->countdown_282;
131-
if (i > 0) i--;
133+
if (i > 0) {
134+
i--;
135+
}
132136
cctrl->countdown_282 = i;
133137
if (i > 0) {
134138
return 1;

‎src/lvl_script_commands.c

+4
Original file line numberDiff line numberDiff line change
@@ -3243,6 +3243,10 @@ static void set_creature_configuration_process(struct ScriptContext* context)
32433243
game.conf.crtr_conf.creature_sounds[creatid].fight.index = value;
32443244
game.conf.crtr_conf.creature_sounds[creatid].fight.count = value2;
32453245
break;
3246+
case 12: // PISS
3247+
game.conf.crtr_conf.creature_sounds[creatid].piss.index = value;
3248+
game.conf.crtr_conf.creature_sounds[creatid].piss.count = value2;
3249+
break;
32463250
}
32473251
}
32483252
else if (block == CrtConf_SPRITES)

‎tool_png2ico.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ $(PNGTOICO): tools/png2ico/$(PNGTOICO_PACKAGE)
4242
-$(ECHO) 'Extracting package: $<'
4343
$(MKDIR) "$(@D)"
4444
cd "$(@D)"; \
45-
tar -zxmUf "../../$<"
45+
tar -zxmf "../../$<"
4646
-$(ECHO) 'Finished extracting: $<'
4747
-$(ECHO) ' '
4848

0 commit comments

Comments
 (0)
Please sign in to comment.