Skip to content

Instantly share code, notes, and snippets.

View brbsh's full-sized avatar

Vladislav Barabash brbsh

View GitHub Profile
@brbsh
brbsh / chrdel.pwn
Last active December 17, 2015 08:59
PAWN char deleting functions
/*
Функция для вырезания символов из строки
chrdel(string[], character, repeating)
Аргументы:
string[] - строка назначения
character - символ, который нужно вырезать
@brbsh
brbsh / strsubdel.pwn
Last active December 17, 2015 08:59
PAWN substring deleter
/*
Функция для вырезания подстроки из строки назначения
strsubdel(string[], const sub[], bool:sensetive = true, bool:repeating = true)
Аргументы:
string[] - строка обработки (назначения)
sub[] - подстрока, или то что нужно вырезать
@brbsh
brbsh / jh.pwn
Created May 15, 2013 13:46
Implentation of JH (Jenkins Hash function http://en.wikipedia.org/wiki/Jenkins_hash_function) in PAWN
stock Jenkins_Hash(string[])
{
new hash;
for(new i; string[i]; i++)
{
hash += string[i];
hash += (hash << 10);
hash ^= (hash >> 6);
}
@brbsh
brbsh / b_hash.pwn
Created May 15, 2013 14:36
New hash algorithm (written in PAWN)
/*
Функция для получения хеш-суммы строки
B_Hash(source[], dest[], bool:lowcase = true);
Аргументы:
source[] - строка, хеш-сумму которой нужно получить
dest[] - строка, куда будет помещена хеш-сумма (96 символов)
@brbsh
brbsh / rgba_argb.pwn
Last active February 12, 2017 00:16
Functions to operate RGBA & ARGB hex colors in PAWN
cutAlphaRGBA(rgbacolor) return (rgbacolor >>> 8); // вернет цвет с вырезанной прозрачностью
cutAlphaARGB(argbcolor) return (argbcolor & 0xFFFFFF);
setAlphaRGBA(rgbacolor, alpha = 0xFF) return (cutAlphaRGBA(rgbacolor) | alpha); // вернет цвет с установленной прозрачностью
setAlphaARGB(argbcolor, alpha = 0xFF) return (cutAlphaARGB(argbcolor) | (alpha << 24));
getAlphaRGBA(rgbacolor) return (rgbacolor & 0xFF); // вернет альфу
getAlphaARGB(argbcolor) return (argbcolor >>> 24);
bool:hasAlphaRGBA(rgbacolor) return (getAlphaRGBA(rgbacolor) != 0 && ((rgbacolor >>> 24) != 0));
bool:hasAlphaARGB(argbcolor) return (getAlphaARGB(argbcolor) != 0 && ((argbcolor >>> 8) != 0));
torgba(rgbacolor, &r, &g, &b, &a) // разобьет цвет на состовляющие (red, green, blue, alpha)
@brbsh
brbsh / a_oop.inc
Last active August 17, 2022 02:47
It's just an injection of some OOP to PAWN language (adapted to SA-MP)
/*
SA:MP OOP include
Copyright (c) BJIADOKC
*/
#if defined _oop_included
#endinput
#endif
#define _oop_included