From 0a6b93cb7ac69c914fef9c15236834f69c5cf1e4 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Mon, 24 Sep 2012 13:44:51 +0200 Subject: [PATCH] misc stuff, klein bottle used by midi2cfg now optionally --- misc/tools/midi2cfg-ng.conf | 157 ++++++++++++++++++-------- misc/tools/midi2cfg-ng.pl | 70 ++++++++---- misc/tools/midi2cfg/foo180.mid | Bin 37125 -> 36617 bytes misc/tools/midi2cfg/foo180.rg | Bin 33234 -> 31820 bytes misc/tools/midi2cfg/tuba-settings.cfg | 8 +- misc/tools/midichannels.pl | 4 + 6 files changed, 166 insertions(+), 73 deletions(-) diff --git a/misc/tools/midi2cfg-ng.conf b/misc/tools/midi2cfg-ng.conf index 331f4aff..2e88fc9d 100644 --- a/misc/tools/midi2cfg-ng.conf +++ b/misc/tools/midi2cfg-ng.conf @@ -1,14 +1,13 @@ -// for walking bots: -// :%s/cc teleport\(totarget\)/move\1/g -// for teleporting bots: -// :%s/move\(totarget\)/cc teleport\1/g - timeoffset_preinit 2 timeoffset_postinit 2 timeoffset_predone 2 timeoffset_postdone 2 timeoffset_preintermission 2 timeoffset_postintermission 2 +list WAIT_SELECTWEAPON 0.5 +list WAIT_RELOAD 0.5 +list WAIT_AIMTARGET 1 + time_forgetfulness 3 list places_tuba tUba1 tUba2 tUba3 tUba4 tUba5 tUba6 tUba7 tUba8 tUba9 tUba10 tUba11 tUba12 tUba13 tUba14 tUba15 tUba16 tUba17 tUba18 tUba19 tUba20 tUba21 tUba22 tUba23 tUba24 tUba25 tUba26 tUba27 tUba28 tUba29 tUba30 tUba31 tUba32 @@ -18,7 +17,8 @@ list places_metalsteps tMetalSteps1 tMetalSteps2 tMetalSteps3 list places_nosteps tNoSteps1 tNoSteps2 tNoSteps3 tNoSteps4 raw settemp bot_ai_thinkinterval 0 -raw settemp bot_sound_monopoly 1 +raw settemp g_balance_tuba_attenuation 0.1 +// raw settemp bot_sound_monopoly 1 bot notebot note on -18 @@ -505,13 +505,12 @@ bot notebot bot tuba include notebot channels 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 - programs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 + programs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 transpose 48 init cmd barrier cmd selectweapon 15 - cmd wait 0.5 - raw settemp g_balance_tuba_attenuation 0.1 + cmd wait @WAIT_SELECTWEAPON bot accordeon include notebot @@ -521,9 +520,23 @@ bot accordeon init cmd barrier cmd selectweapon 15 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON + cmd impulse 20 + cmd wait @WAIT_RELOAD + +bot kleinbottle + include notebot + channels 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 + programs 81 82 + transpose 48 + init + cmd barrier + cmd selectweapon 15 + cmd wait @WAIT_SELECTWEAPON + cmd impulse 20 + cmd wait @WAIT_RELOAD cmd impulse 20 - raw settemp g_balance_tuba_attenuation 0.1 + cmd wait @WAIT_RELOAD bot tuba_red include tuba @@ -553,14 +566,28 @@ bot accordeon_blue cmd cc color 221 super +bot kleinbottle_red + include kleinbottle + transpose 0 + init + cmd cc color 68 + super + +bot kleinbottle_blue + include kleinbottle + transpose 3 + init + cmd cc color 221 + super + // laser = lasershot NONE bot laser channels 10 init - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 1 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_laser_primary_refire 0.3 percussion 38 // 038_Snare_1-0.wav time 0 @@ -578,10 +605,10 @@ bot laser bot shotgun channels 10 init - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 2 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON percussion 74 // 074_Guiro_2_Long-0.wav time -0.4 cmd debug_assert_canfire 1 @@ -598,10 +625,10 @@ bot shotgun bot uzi channels 10 init - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 3 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_uzi_reload_ammo 0 raw settemp g_balance_uzi_first_refire 0.1 raw settemp g_balance_uzi_sustained_refire 0.1 @@ -633,10 +660,10 @@ bot electro channels 10 init time -2 - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 6 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_electro_primary_refire 0.2 percussion 49 // 049_Cymbal_Crash_1-0.wav time 0 @@ -654,10 +681,10 @@ bot electro bot crylink channels 10 init - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 7 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_crylink_primary_refire 0.3 raw settemp g_balance_crylink_secondary_refire 0.2 percussion 34 // 034_Metronome_Bell-0.wav @@ -701,10 +728,10 @@ bot crylink bot nex channels 10 init - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 8 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_nex_primary_refire 1.25 percussion 52 // 052_Cymbal_Chinese-0.wav time 0 @@ -720,10 +747,10 @@ bot nex bot minstanex channels 10 init - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 12 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_minstanex_refire 1 percussion 55 // 055_Cymbal_Splash-0.wav time 0 @@ -739,10 +766,10 @@ bot minstanex bot hagar channels 10 init - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 9 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_hagar_primary_refire 0.2 percussion 35 // 035_Kick_1-0.wav time 0 @@ -766,10 +793,10 @@ bot hagar bot rocket channels 10 init - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 10 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_rocketlauncher_refire 1.1 percussion 25 // 025_Snare_Roll-0.wav time 0 @@ -786,10 +813,10 @@ bot hook channels 10 init time -2 - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 13 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_hook_primary_refire 0.3 raw settemp g_balance_hook_secondary_refire 0.9 percussion 62 // 062_Conga_High_1_Mute-0.wav @@ -822,10 +849,10 @@ bot seeker channels 10 init time -2 - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 18 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_seeker_tag_refire 0.2 percussion 41 // 041_Tom_Low_2-0.wav time 0 @@ -854,10 +881,10 @@ bot rifle channels 10 init time -2 - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier cmd selectweapon 16 - cmd wait 0.5 + cmd wait @WAIT_SELECTWEAPON raw settemp g_balance_rifle_secondary_refire 0.3 // percussion FIXME // time 0 @@ -882,10 +909,9 @@ bot jetpack channels 10 init time -2 - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier raw settemp g_jetpack_attenuation 0.5 - cmd wait 0.5 percussion 42 // 042_Hi-Hat_Closed-0.wav time 0 buttons hook @@ -904,9 +930,8 @@ bot jumper channels 10 init time -2 - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier - cmd wait 0.5 percussion 36 // 036_Kick_2-0.wav time -0.6666666 buttons jump @@ -919,9 +944,8 @@ bot metaljumper channels 10 init time -2 - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier - cmd wait 0.5 percussion 65 // 065_Timbale_High-0.wav time -0.6666666 buttons jump @@ -936,9 +960,8 @@ bot switcher channels 10 init time -2 - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier - cmd wait 0.5 percussion 29 // not in freepats time 0 cmd impulse 10 @@ -948,13 +971,11 @@ bot switcher percussion 29 bot vocals - channels -1 init time -2 - cmd aimtarget tPercussion 1 + cmd aimtarget tPercussion @WAIT_AIMTARGET cmd barrier - cmd wait 0.5 - vocals + text vocals time 0 cmd sound %s buttons left @@ -987,6 +1008,7 @@ bot instance_tuba_red count 16 init cmd cc teleporttotarget @places_tuba + // cmd movetotarget @places_tuba cmd barrier super @@ -996,6 +1018,7 @@ bot instance_tuba_blue count 16 init cmd cc teleporttotarget @places_tuba + // cmd movetotarget @places_tuba cmd barrier super @@ -1005,6 +1028,7 @@ bot instance_accordeon_red count 16 init cmd cc teleporttotarget @places_tuba + // cmd movetotarget @places_tuba cmd barrier super @@ -1014,6 +1038,27 @@ bot instance_accordeon_blue count 16 init cmd cc teleporttotarget @places_tuba + // cmd movetotarget @places_tuba + cmd barrier + super + +bot instance_kleinbottle_red + include kleinbottle_red + include common + count 16 + init + cmd cc teleporttotarget @places_tuba + // cmd movetotarget @places_tuba + cmd barrier + super + +bot instance_kleinbottle_blue + include kleinbottle_blue + include common + count 16 + init + cmd cc teleporttotarget @places_tuba + // cmd movetotarget @places_tuba cmd barrier super @@ -1023,6 +1068,7 @@ bot instance_laser count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1032,6 +1078,7 @@ bot instance_shotgun count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1041,6 +1088,7 @@ bot instance_uzi count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1050,6 +1098,7 @@ bot instance_electro count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1059,6 +1108,7 @@ bot instance_crylink count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1068,6 +1118,7 @@ bot instance_nex count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1077,6 +1128,7 @@ bot instance_minstanex count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1086,6 +1138,7 @@ bot instance_hagar count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1095,6 +1148,7 @@ bot instance_rocket count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1104,6 +1158,7 @@ bot instance_hook count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1113,6 +1168,7 @@ bot instance_seeker count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1122,6 +1178,7 @@ bot instance_rifle count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1131,6 +1188,7 @@ bot instance_jetpack count 16 init cmd cc teleporttotarget @places_nosteps + // cmd movetotarget @places_nosteps cmd barrier super @@ -1140,6 +1198,7 @@ bot instance_jumper count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1149,6 +1208,7 @@ bot instance_metaljumper count 16 init cmd cc teleporttotarget @places_metalsteps + // cmd movetotarget @places_metalsteps cmd barrier super @@ -1158,6 +1218,7 @@ bot instance_switcher count 16 init cmd cc teleporttotarget @places_percussion + // cmd movetotarget @places_percussion cmd barrier super @@ -1168,7 +1229,9 @@ bot instance_vocals init cmd cc playermodel models/player/suiseiseki.zym cmd cc teleporttotarget @places_vocals + // cmd movetotarget @places_vocals cmd barrier super // TODO jumping? + diff --git a/misc/tools/midi2cfg-ng.pl b/misc/tools/midi2cfg-ng.pl index b2114f16..7b9fcd22 100755 --- a/misc/tools/midi2cfg-ng.pl +++ b/misc/tools/midi2cfg-ng.pl @@ -14,6 +14,7 @@ use constant SYS_TICRATE => 0.033333; use constant MIDI_FIRST_NONCHANNEL => 17; use constant MIDI_DRUMS_CHANNEL => 10; +use constant TEXT_EVENT_CHANNEL => -1; die "Usage: $0 filename.conf midifile1 transpose1 midifile2 transpose2 ..." unless @ARGV > 1 and @ARGV % 2; @@ -163,14 +164,14 @@ sub botconfig_read($) $super = $currentbot->{percussion}->{$1}; $currentbot->{percussion}->{$1} = $appendref = []; } - elsif(/^vocals$/) + elsif(/^text (.*)$/) { - $super = $currentbot->{vocals}; - $currentbot->{vocals} = $appendref = []; + $super = $currentbot->{text}->{$1}; + $currentbot->{text}->{$1} = $appendref = []; } else { - print "unknown command: $_\n"; + print STDERR "unknown command: $_\n"; } } elsif(/^bot (.*)/) @@ -216,7 +217,7 @@ sub botconfig_read($) } else { - print "unknown command: $_\n"; + print STDERR "unknown command: $_\n"; } } @@ -401,6 +402,8 @@ sub busybot_note_off_bot($$$$) { my ($bot, $time, $channel, $note) = @_; #print STDERR "note off $bot:$time:$channel:$note\n"; + return 1 + if not $bot->{busy}; my ($busychannel, $busynote, $cmds) = @{$bot->{busy}}; return 1 if not defined $cmds; # note off cannot fail @@ -425,16 +428,19 @@ sub busybot_get_cmds_bot($$$) { my ($bot, $channel, $note) = @_; my ($k0, $k1, $cmds, $cmds_off) = (undef, undef, undef, undef); - if($channel <= 0) + if($channel == TEXT_EVENT_CHANNEL) { # vocals - $cmds = $bot->{vocals}; + $note =~ /^([^:]*):(.*)$/; + my $name = $1; + my $data = $2; + $cmds = $bot->{text}->{$name}; if(defined $cmds) { - $cmds = [ map { [ map { $_ eq '%s' ? $note : $_ } @$_ ] } @$cmds ]; + $cmds = [ map { [ map { $_ eq '%s' ? $data : $_ } @$_ ] } @$cmds ]; } - $k0 = "vocals"; - $k1 = $channel; + $k0 = "text"; + $k1 = $name; } elsif($channel == 10) { @@ -457,6 +463,7 @@ sub busybot_get_cmds_bot($$$) sub busybot_note_on_bot($$$$$$$) { my ($bot, $time, $channel, $program, $note, $init, $force) = @_; + return -1 # I won't play on this channel if defined $bot->{channels} and not $bot->{channels}->{$channel}; return -1 # I won't play this program @@ -491,7 +498,7 @@ sub busybot_note_on_bot($$$$$$$) if not busybot_cmd_bot_test $bot, $time + $notetime, $force, @$cmds; busybot_cmd_bot_execute $bot, $time + $notetime, @$cmds; } - if(defined $cmds and defined $cmds_off) + if(defined $cmds_off) { $bot->{busy} = [$channel, $note, $cmds_off]; } @@ -529,11 +536,6 @@ sub busybot_note_off($$$) # print STDERR "note off $time:$channel:$note\n"; - return 0 - if $channel <= 0; - return 0 - if $channel == 10; - if(my $bot = $notechannelbots{$channel}{$note}) { busybot_note_off_bot $bot, $time, $channel, $note; @@ -589,6 +591,7 @@ sub busybot_note_on($$$$) if($notechannelbots{$channel}{$note}) { + print STDERR "THIS SHOULD NEVER HAPPEN\n"; busybot_note_off $time, $channel, $note; } @@ -792,6 +795,8 @@ sub ConvertMIDI($$) my ($command, $delta, @data) = @$_; $command = 'note_off' if $command eq 'note_on' and $data[2] == 0; $tick += $delta; + next + if $command eq 'text_event' && $data[0] !~ /:/; push @allmidievents, [$command, $tick, $sequence++, $track, @data]; } } @@ -814,17 +819,25 @@ sub ConvertMIDI($$) } else { - push @allmidievents, ['note_on', $tick * $scale + $shift, $sequence++, -1, -1, $file]; - push @allmidievents, ['note_off', $tick * $scale + $shift, $sequence++, -1, -1, $file]; + push @allmidievents, ['text_event', $tick * $scale + $shift, $sequence++, -1, "vocals:$file"]; } } } + # HACK for broken rosegarden export: put patch changes first by clearing their sequence number + for(@allmidievents) + { + if($_->[0] eq 'patch_change') + { + $_->[2] = -1; + } + } + # sort events @allmidievents = sort { $a->[1] <=> $b->[1] or $a->[2] <=> $b->[2] } @allmidievents; # find the first interesting event - my $shift = [grep { $_->[0] eq 'note_on' } @allmidievents]->[0][1]; + my $shift = [grep { $_->[0] eq 'note_on' || $_->[0] eq 'text_event' } @allmidievents]->[0][1]; die "No notes!" unless defined $shift; @@ -873,6 +886,16 @@ sub ConvertMIDI($$) $midinotes{$chan}{$ev->[5]} = 0; }; + my $text_event = sub + { + my ($ev) = @_; + + my $chan = TEXT_EVENT_CHANNEL; + + busybot_note_on($t, TEXT_EVENT_CHANNEL, -1, $ev->[4]); + busybot_note_off($t, TEXT_EVENT_CHANNEL, $ev->[4]); + }; + my $patch_change = sub { my ($ev) = @_; @@ -914,6 +937,10 @@ sub ConvertMIDI($$) { $note_off->($_); } + elsif($_->[0] eq 'text_event') + { + $text_event->($_); + } elsif($_->[0] eq 'patch_change') { $patch_change->($_); @@ -940,7 +967,7 @@ sub ConvertMIDI($$) my $good = 0; for my $channel(sort keys %notes_seen) { - next if $channel == 10 or $channel < 0; + next if $channel == 10; for my $program(sort keys %{$notes_seen{$channel}}) { for my $note(sort keys %{$notes_seen{$channel}{$program}}) @@ -1046,7 +1073,7 @@ sub Deallocate() print STDERR "$counthash{$cn} bots of $cn have played:\n"; for my $type(sort keys %{$notehash{$cn}}) { - for my $note(sort { $a <=> $b } keys %{$notehash{$cn}{$type}}) + for my $note(sort keys %{$notehash{$cn}{$type}}) { my $cnt = $notehash{$cn}{$type}{$note}; print STDERR " $type $note ($cnt times)\n"; @@ -1086,7 +1113,6 @@ for(;;) my @preallocate_new = map { $_->{classname} } @busybots_allocated; if(@preallocate_new == @preallocate) { - print "sv_cmd bot_cmd reset\n"; print "sv_cmd bot_cmd setbots @{[scalar @preallocate_new]}\n"; print "$precommands$commands"; exit 0; diff --git a/misc/tools/midi2cfg/foo180.mid b/misc/tools/midi2cfg/foo180.mid index 8b2a62e3134556450edd1119847797e13fdae33e..0d14259f38bb705bd4e2a9fd97c14b6dc0ceb958 100644 GIT binary patch literal 36617 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 __2hppBUFG5NoM2 zAIh>tlZ{VW&iyRe-p|nkHb9GOTsO8))I{#T zO1I&xdY}59C{4}j+NiqxsS1t1=1aCzce%Ec5Rs`X`F6KpjCn!|n*F3UeVlHFZAIa(q@d&`Y7!vDL^WNxD5xVW7e74VhrMkh~sUA~<;l9hh4;5fJ4 zcC6*aq;|Sw@}jrKyOCyO`9xJt0lP6)QHkWBU6<|xUsDS6@k4>5H2GIBOBk!ss=wbi z3i@ufY5eh}GK;IKZ#TOAp^2HjzG1LuHPSgXYTQ@V%^i8Auuo0>WPV9JEB)LRSGPWx zWsw%GChqTi%*}y+Zu{0%ApRD)=xjUZ3$oF7HNT1!dCI?*o~-s1hM5qTivuCXT2$&Psod6B0FQ~ z4v{ph6ggueZm}YIIm@Z+IduR#DbjiBEk&epl*AUM#(W~UbL^aDLq(*Tb!RM^7g?x8 zKU%bXan7R|lqgpoa}T{TteYQjUa=nhWzjs8@y!nS#{+UmhwPE4JtT&wZwEcz59x!c zwtMyy3%dbbj_jJdB;`;2dX0Q)Nc(TzPj-lWsbSeM(oM$yn)?|obDk_wktMc&&-g=B zj+)R7Su7H&)y)&hGg~OB`3vNeGQazHYPbAcgRc8O3D#rCGJF`8L!Eh=$L~gJZXl(G z8de0j&v-Q}Q(#W3ERuC04x@(-9)61x^k3>Sk}4C78bvtkGACx`Kl)wiD7=!dEUE+6 zj^^yAo?oukm%=Khtc9;s`pqQoH%l~#I32Dp!F+pPuBU#dDj)y6C_-)19QDyh3H=nZEC`_vw@D^=K7s{P9~8W>GAZv?%5QzCO6X^9>*7HzMnOze{?(eY(==Zz)on; zfcndCOh3&n>z1@|eUjG{VP}_YHm_bj!RBDrN_kT+OZ6qv1z-&Ix6(YF{oty?$efWG ztW%peKGs<^wgJSPF59i2Ti>|`88h_aXQZ}wG#*F8O+W|o>C;C^nb_GWb6@E&Ilt(v z=-0N4dafhiXH-xDoK}&%&O=8}j+^MX`o<#tbbl>y4Jkg6WyaHQRv)l9K`vVYp9}jZl0nyjPW8H%Kk5%fglZ&X; zciqYj*m811!r;w3<4rUNfgs@32(LQ=eai`nu0|$ za9HRj!f9FLxsC? zyjay$b(sg2I8?nuM6?XQ*b+O0B#ayu^9&}3beYj!zVdtD4VHSs%la;7c_cRtTg-n% z>6lRO6_OF^At7PTGLpLLOa5K$E)aCPIN0CvQ(29k1*+^P0a3^D%l3yuY1Y-0W5gS0u`N zR!XadUOUlcAK4}g>U(6o>8Tw4#B+-v5PKcF3*D+JXPn!mkEr@;K*OpI4^Ae&ZSlT! zO3=6JcqWvB5$h<@iLPJZwoV7@T}(S%95n!Eb@?bvW7V61_omw!4>EQ~VCMsZ!<;1C z{bxr?7Cw_lGvRY@@}~D{gX-Ip_2`YW1x%WCiYusj1dOp(KEk!{Lw89#i=(lyD~jeb zdz%+L!b7T>ddFYw??#*RBpfRxoY{3Uw7YMJxrBvE1)MxcK`ujYW+-MCH0*qRf!6`I zm$3}7BOWKwinXKKGUz(jO0KqNsV0f@)N@uNjxB!2rGQrbJR|Kp5)FW_=(x5pv6;4KK;yGe4nm%VxTgp8-FCd(8R*9?QM`Jd3HOGMVrf zv20x1=;@(o-c4t&6ptU9TVDoE%I-xLL{9U!+;RKR66zdbD5lZD?2hW%mkh@$`D`Qx%q3(}`F_Qw9CBvYzgY$DaRAxtz)&}b;Qs4&o2m2iUDapOP9#|yPN>zd3Az0keo|{@`q!OD1u$wi zynWltV`tN*3P!;^))+z*tcx1HT;~7|C}x+T8_|)02j$UNLH*w7B^fdJ?) zo}`zve;m|m2av4@><YY;1n< zDBtQ-XigD5n>g0kLN^X4hoX1y2SH0g%-*5K+)Pm;W6Fr*lLk=5s1$2`|3eMrP|J!1 zU#5|)Y~MSRG0UxxKZa*9u=!RE^>S;b^!dV;5$482{!&5mw1JDM{`o&=?Rp8tS^NrI zOvgSwKYHbQ-MI!5IBM51Q2pbUS>-sYPiNbcC5Q9(8Y8%{SO&sh;^8e;rR1pm+6Cvd znSN}BJPQxEe7gG~LpbPG-l_Gb?LgjF&ZE zTCJF9KiS;W6B%I0AJ7_C5~&xyhUc*B*Q0f*b<#qS$Xd4P3!=#7s5TH&IDf&eM*!fX zNOMv%J4Oz3P18#Lt{u&dXKE&x|T5MxS*=aBsB3!SdhaPL#rN`KI27J!Ui z%$+ys+m2<*HwpMr(OIk3#4~e9)DC?n_Fc0N=jImZ!&-IF(pK@20xD_-n{_j(@P<$) zni*=#&t*v4CNPW-s)Z$9IM%Lc#^)b2=U0A zoTyxkTl;q*ADBUhUJ6YPJFRNa)~f(E9tV2_scyxht?MMgf*rx8jY~kdbkWJR$9V?g z>`>v|dVOoz@@Wgb1SJLz-D`>S1bLlIcP;g@Z?e{WQxsV)kpnStCo1ATbR7VG9AIu7w5gm1#UY}5BD8n`bbsCxNDZr z%TJLuw*CX&cYzHAC@O>%ktUSbG$lG2QO_9i?FWUu7?)+iV~!T=c#OzF=DjP$;uV{! zX$^&}R^PNj<^xr@HLJHgn+y%oSzPAVr{yyH{2 zc&1G9O5gLQU|n) zy;X+^bah~iGOV(C{l=xu{5cZ?v}BNUIg1Ua(T1PT9yS@?r-J;^zNu!#pJ|Q?k_Ao| zG7?xn3EDfJd7>Zh!0PqMwUcr%uW-C3B5Gh8Q?t#L(l(rNPG#f$p7&HBuJOFRLByam zMZXN2E$?fA9JOV7Hr`Y5zTARp<97tRCjFQl!XITdD3EKldjP(Eg$s~8|72s<=1G#C zWMg|8@->4j@LZ)4Jv7|OrOoj$JBNiY4{B58;KGrxH9R~>+M#=>)^8|lziDO~J2Twa zus#*;IKvEI@p+wIs%gND&ssAY+0Fa6_i2N0dp8OfZ}X<1fB9v~hg4ikd)JZG4%v~)%*ma)_l5wukf^ojjXZ3=AqpYVHhn}QdlJ5U99zMm~ zM%u)+9v4U7_Q)c;vq@CFOgCUVh&d7Duhk9^%sEBi6Ry>!5Y#+<@9t>IgBKk;b)m2$ z?o`C|$zWC2bj6e4t-To7^9s%a{->Hv zPO%^2o-m-7?gHUq#A;e~LrjcCX08n0o1MlY2^Yignl6s5&g%J)f$snUI69YyI^Jyn z^wr>>+$XF1eBe0TmiySFU>fR!5orh zlN>ZV_vH-E=?l{aqJCj7#FT#@5SIjU9{+q%5+wwrg-;8TT60Yg==}j_1ZEXUGDNh2 zNwBSX>!+e|?8G^lHo4CMrZk(TRf$jO%H@)-N^U#cMQO!c={e#w_@qE7h1j1gh|>oS zno4LwQp)Hl7*I+Fx$U2%^B2WU22X&BK6&Udf0cn~14#fp%!4P6M`|+8HdqnS zk;g40GpK~sH1RX_tV2*Ft?-D_INZqHHN$RP&kBH=B-&e(WJ-a|l`?=W25?~GtEq}k zeBV$wfYRB;0vz%|gd=^KyR`V4VIAwJlq{rt;+tK~YhwIVVMhcgFU*;dn_1Fx-gZm= zDa66SfmGm(xmMLU_#L=NQN`sejuTiC5h~9$2H1`T@AKErtI{#mJu_K<2VO7ov`FuA zqbO&+q<;#TfDUg{6IUm*^HpV9Bd86m<=NIek*AZFmL!Y(OfIZ8x&20yPTE4rdxFLs zR89Td{btDj&jDJr*w$U(pf0J{DEsTu?K&)aQu(is4P^E;nzDPGEd;jH)ZKpeA$k51Ehj zHry0#6)hDvIasbET#Mot>}WZ`gYKs5l*wwC->e7w!HsB|SyCXiPkRLmV+punyLD@y zs@bzy@(ponR^nRaKSOJt=BlJ;8wFE%Ws13hxFWIBH3M;jcWok;z-m==b%Z_JqV($m zY-}%P(HMak02prGKq>VPa2JZEkQ7K=4x2Zbjjp+tquHqbr|qk1$G9wm9Cy*)+$>p- zsXS8^Z_bFGMUB8yiyduuv8m>Bo-svts_OVmAlgcwl0@NR&p_ z$Lz3TdSDf!6N<1A5~&AecK)oiieyF2Tg6X_*xGoqbV;=dF*35sFQ~@LBdJ>0jkw+< zYf^xB5#r>Ksf{Gy3l3ChbF4FAYA)~__h)?~U$lnW$3j}Vz?3(vaj@G+4U3QP&x28* zld|>*7jhLdQ1(Kj9z7*pffBf;tcklkphg9~z$-s(Z0c5peJ(qJsz~6`a79uI(x@#$ zcW)#s%2qe91VEnW*e`)t5UrR@*%r>Sz^o`zn{FB2vznYvhY=VWWV_vHl#fDh zP1uu(G0W#?=5WwGT-ilU4>*k^h~c01F{e#eUtV?gvm1NDiIluzWrCNCsPXG5N$k)` z+9;%y;ES555}h3RXCV^gBjw=|AyOYJl#E#r=2&;2tk}Rp2oH?)KsFsbEzdo81E9ut zNu1vFC5)swFVzX*uujB|+-@jsX@6z$le&~hVz~(x(xg97@&5k&YMupD$Be)z&Q&5P z6SDcSg4Wm!5Jn3n`%$1w35q$mWdV(0bwL^@GS|9T znFPWg)hcZ`KxK`atU=fNtKfwUwd6al%xcSr;uhvGs?l7AF;iggcV@8dOYO_$iGN zD0$@lQh|Anye@CqR z4x=9luj2raD1`_r<`^H_bjJKm!mK1I9Yj zhpB${?xv@sM5hF3+qa!V~63hRl>|nC~)yTvMhanlR6+%_NuzxhAH*mr7%AYna)k!nu!deGW z8YOU9ZGNs0%;Ti{vTsrR0~azIHdfHMRZ!_SWvh%?^<=hmU%Y}ou>DlLVE6k$lC&Xx zo1z5O{`dZMX;G*Ql{=KuBQzy~6_X)pi7E0KX=5M-U#?Z?n;q5@#CPNMw2H%f5zl01 z3f_euoz8#RqLtJp(;Iv&(;|(E)#&KHOCWT0SNiHlAHJ7ooA`!g&AJ{Hm5m{7X3iuO zS;DIrkk(saU}RUz&-$bA<1Fq$-)bVonbjLrg@eR)6dB}6cam^9^_k;91#1WLm$r=T zx}qcwojKMvb;2q;b?-kt&AQl)$42-+x`~J< literal 33234 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 Cp)qLy diff --git a/misc/tools/midi2cfg/tuba-settings.cfg b/misc/tools/midi2cfg/tuba-settings.cfg index daeba727..fda078ab 100644 --- a/misc/tools/midi2cfg/tuba-settings.cfg +++ b/misc/tools/midi2cfg/tuba-settings.cfg @@ -13,10 +13,10 @@ snd_channel8volume 0 // bgm OFF snd_channel9volume 0 // ambient OFF // graphics -r_shadow_lightattenuationlinearscale 0.15 -r_shadow_lightattenuationdividebias 0.03125 -r_shadow_lightintensityscale 4 -r_coronas 0.0625 +// r_shadow_lightattenuationlinearscale 0.15 +// r_shadow_lightattenuationdividebias 0.03125 +// r_shadow_lightintensityscale 4 +// r_coronas 0.0625 r_shadows_throwdistance 10000 r_shadows_shadowmapscale 0.25 r_usedepthtextures 1 // workaround for broken shadowmaps diff --git a/misc/tools/midichannels.pl b/misc/tools/midichannels.pl index 5dc67ea7..dcc7812b 100644 --- a/misc/tools/midichannels.pl +++ b/misc/tools/midichannels.pl @@ -54,6 +54,10 @@ while() $tracks->[$_]->events_r([clean($tracks->[$_]->events())]) for 0..@$tracks-1; } + elsif($cmd eq 'dump') + { + print $opus->dump({ dump_tracks => 1 }); + } elsif($cmd eq 'ticks') { if(@arg) -- 2.39.2