31 gru 2015

Happy New Year

#!/bin/bash

rows=$(tput lines)
cols=$(tput cols)
colors=(red green blue purple cyan yellow brown)
lock_file=
lock_file_base=/tmp/$(basename $0 .sh)

multiple=0
if [[ "$1" ]]; then
    nsingle=$1
    shift
else
    nsingle=10
fi
if [[ "$1" ]]; then
    nmultiple=$1
    shift
    if [[ $nmultiple -gt 8 ]]; then nmultiple=8; fi
else
    nmultiple=6
fi


function colorstr()
{
    local  row=$1
    local  col=$2
    local  color=$3
    local  v
    case "$color" in
    red)     v=31;;
    green)   v=34;;
    blue)    v=32;;
    purple)  v=35;;
    cyan)    v=36;;
    yellow)  v=33;;
    brown)   v=33;;
    white)   v=37;;
    *)       v=;;
    esac
    shift 3

    if [[ $multiple -ne 0 ]]; then
        touch $lock_file
        while [[ $(ls $lock_file_base.* 2>/dev/null | head -n 1) != $lock_file ]]
        do
            sleep 0.05
        done
    fi
        
    tput cup $row $col
    echo -n -e "\e["$v"m"
    set -f
    echo -n $*
    set +f
    if [[ $multiple -ne 0 ]]; then
        rm -f $lock_file
    fi
}

function center_colorstr()
{
    local  row=$1
    local  color=$2
    shift 2
    local  s="$*"
    local  slen=${#s}
    colorstr $row $(((cols / 2) - (slen / 2))) $color "$s"
}

function fireworks()
{
    local row=$((rows - 1))
    local col=$(((RANDOM % (cols / 2)) + (cols / 4)))
    local height=$((RANDOM % rows - 2))
    local slant
    local h
    local color1=${colors[$((RANDOM % ${#colors[*]}))]}
    local color2=${colors[$((RANDOM % ${#colors[*]}))]}
    local color3=${colors[$((RANDOM % ${#colors[*]}))]}
    while [[ $color1 == $color2  ||  $color1 == $color3  ||  $color2 == $color3 ]]
    do
        color2=${colors[$((RANDOM % ${#colors[*]}))]}
        color3=${colors[$((RANDOM % ${#colors[*]}))]}
    done

    case $((RANDOM % 4)) in
    0) slant=-2;;
    1) slant=-1;;
    2) slant=1;;
    3) slant=2;;
    esac

    if [[ $height -gt 5 ]]; then
        h=$height

        while [[ $h -gt 0 ]]
        do
            colorstr $row $col $color1 '.'
            let row--
            if [[ $((col + slant)) -ge $((cols - 3))  ||  $((col + slant)) -le 2 ]]; then break; fi
            let col+=slant
            let h--
            sleep 0.1
        done

        if [[ $((col + slant)) -lt $((cols - 3))  &&  $((col + slant)) -gt 2 ]]; then

            h=$((height / 5))

            while [[ $h -gt 0 ]]
            do
                colorstr $row $col $color2 '.'
                let row++
                if [[ $((col + slant)) -ge $((cols - 3))  ||  $((col + slant)) -le 2 ]]; then break; fi
                let col+=slant
                let h--
                sleep 0.1
            done
        fi

        colorstr $((row)) $((col - 1)) $color3 '***'
        colorstr $((row - 1)) $((col)) $color3 '*'
        colorstr $((row + 1)) $((col)) $color3 '*'
    fi
}

for i in $(seq 1 $nsingle)
do
    clear
    fireworks
    sleep 1
done

clear

pids=
for i in $(seq 1 $nmultiple)
do
    let multiple++
    lock_file=$lock_file_base.$i
    fireworks &
    pids="$pids $!"
done

trap "kill -9 $pids 2>/dev/null" EXIT

wait $pids
sleep 3

clear
center_colorstr $((rows / 2 - 1)) red "Szczęsliwego nowego roku!"
center_colorstr $((rows / 2 + 1)) red "Happy New Year"
center_colorstr $((rows / 2 + 3)) red "Your Friends at Linux "
echo

sleep 5
clear


# vim: tabstop=4: shiftwidth=4: noexpandtab:
# kate: tab-width 4; indent-width 4; replace-tabs false;

29 gru 2015

Unreal Engine 3 linux optymalizator





Skrypt zmieniający wartości MemoryMargin w plikach .ini

ue3_linux_opti

W chwili obecnej instalacja i uruchomienie wygląda tak:

cd /tmp

git clone https://github.com/Kryuko/ue3_linux_opti

cd ue3_linux_opti/

chmod 777 UE3_Linux_Opti.sh

./UE3_Linux_Opti.sh

Po uruchomieniu pojawiają się następujące okienka:

Pierwsze to licencja, Potem pokazuje ile posiadamy pamięci na karcie grafiki i jakie MemoryMargin zostanie ustawiane(W moim przypadku wyniosło 204). Na koniec informacja o pomyślnych zmianach w plikach.

gry:

  • Sanctum 2, czyli gra na czystym  ue3(UE3 version 10246)
pierwszy filmik domyślne opcje na high:
Jak widać w niektórych miejscach przycina do 20-30 fps
Drugi to po przestawieniu MemoryMargin



Tutaj widać zdecydowaną poprawę. dropy fps tylko do 55-56


  • Druga gra to Painkiller Hell & Damnation (oba filmik cierpią na problemy z kodowaniem ciemnych miejsc)


Pierwszy filmik domyślnie high


Drugi po przestawieniu MemoryMargin


W przypadku mocno poprawionego silnika poprawy takiej jak w pierwszej grze nie widać. Gra w obu przypadkach działa w miarę płynnie.

27 gru 2015

Zombi

W związku z modernizacją kompa restart bloga.
Konfig:
Processor: AMD FX(tm)-6300 Six-Core Processor
Memory: 16 GBytes
Display: Nvidia GeForce GTX 750 TI
System: MATE 1.10.2
Linux 4.2.0-22-lowlatency x86_64
OpenGL Version:  4.5.0 NVIDIA 358.16

Najczęściej spotkać mnie można na strumieniach:www.hitbox.tv/maleczek69
Nagrywane: 1280x800 60 lub 30 fps z ustawieniami x64 stałe klatki(cbr) 2 i przepustowość wideo 3k a audio 128.




25 gru 2015

Mount & Blade: Warband

Mount & Blade: Warband steam Ubuntu linux 64bit

Aby odpalić konfiguracje potrzebujemy pewnych bibliotek 32 bit


sudo apt-get install libSDL2-2.0-0:i386 libaudio2:i386 libglib2.0-0:i386 libpng12-0:i386 libfreetype6:i386 libxi6:i386 libxrender1:i386

 i można się cieszyć oknem konfiguracji




A tak wygląda samouczek i początek rozgrywki.



oraz samouczek DLC: Napoleonic Wars