SRL Archive - Services

Cynic's programming service [Experiment]


CynicRus

2012-09-28 06:24:04


Greetings gentlemen. In test mode, I offer you my programming service. Why in the test mode? Because I am not sure it will be a success and demand here. But it's worth a try, right?
Description:
Experienced developer will realize your ideas for a small fee in RSGP.
You will not find such an offer anywhere in the market. Experience: Delphi 9 years, C and C ++ - 5 years C # - 5 years.
There is a fair question - what programs do you write? To begin, I'll say what programs I do not write:
any spammers (I hate spammers), any bruteforcer's, any rootkits, malware, etc., influencing the lives of users.
I also refuse to develop within the service scripts for Simba and parts of Simba (I do it for free on OpenSource grounds of self-interest but not for request). I repeat: I do not write script's for RS. It's against the rules!
The rest - everything your heart desires, is willing to consider your idea and develop on the basis of the working solution.

Features:
  1. Software can be developed for OS: Windows and Linux, and cross-platform solution as well.
  2. I write a software on Delphi, C, C and C #. *
  3. The duration of the development of a single day.
  4. Debug is included in the cost of development.
  5. At the request of the customer the source code can be given . For free distribution - free, for commercial use you will be charged a small extra fee.
  6. Further development and optimization of existing solutions.
  7. Can TeamVeawer support for programs

* I will also develop a Bash and Shell Scripting, VScript, JScript decisions.

Prices:
Contract, with one restriction: I will accept only RSGP payment.

- The price range starts from 3m for a simple solution

- From 5m for an average solution complexity

- From 10m for a complex solution.

Also:
Possible work in a team, if you are interested, write to me in private.

Support:
Free support and updates to the current state of the existing programs.

I look forward to your ideas for implementation.

Cheer's, Cynic.

Benny

2012-09-28 06:45:06

Sorry for being retarded but you're able to write RS scripts?

CynicRus

2012-09-28 06:46:55

I do not write scripts for RS. It's against the rules.

Wyn

2012-10-12 20:27:23

I would suggest you add some example work.

Rezozo

2012-10-12 20:31:04

Hmm, interesting. This might actually set off! You have my blessing!

Brandon

2012-10-12 20:46:30

From: Wyn
I would suggest you add some example work.


I named it after him as 98% of it was indeed written by him.. I edited it a bit but I'm more than glad to say that he's a good C++ coder and I'd vouch for his coding ability. He volunteered to code the PNG part for GLHook so I could get a break from coding =]

Some volunteer work of his:


#include "CynicImages.hpp"

CynicRImages::CynicRImages(std::vector<unsigned char> &Pointer, int W, int H, uint32_t BitsPerPixel) : Bitmap(Pointer, W, H, BitsPerPixel) {}

CynicRImages::CynicRImages(const void* Pointer, int W, int H, uint32_t BitsPerPixel) : Bitmap(Pointer, W, H, BitsPerPixel) {}

uint32_t CynicRImages::BMPToPNGBuffer(std::vector<unsigned char>& PngPixels, const std::vector<unsigned char>& BmpPixels)
{
static const uint32_t MINHEADER = 54; //minimum BMP header Size()

if(BmpPixels.size() < MINHEADER) return -1;
if(BmpPixels[0] != 'B' || BmpPixels[1] != 'M') return 1;
uint32_t PixelsOffset = BmpPixels[10] + 256 * BmpPixels[11]; //where the pixel data starts

//Read Width and Height from BMP header
size_t W = BmpPixels[18] + BmpPixels[19] * 256;
size_t H = BmpPixels[22] + BmpPixels[23] * 256;

//Read number of channels from BMP header
if(BmpPixels[28] != 24 && BmpPixels[28] != 32) return 2;
uint32_t NumChannels = BmpPixels[28] / 8;
uint32_t ScanLineBytes = W * NumChannels;
if(ScanLineBytes % 4 != 0) ScanLineBytes = (ScanLineBytes / 4) * 4 + 4;

uint32_t DataSize = ScanLineBytes * H;
if(BmpPixels.size() < DataSize + PixelsOffset) return 3; //BMP file too small to contain all pixels

PngPixels.resize(W * H * 4);
for(size_t I = 0; I < H; I++)
{
for(size_t J = 0; J < W; J++)
{
//pixel start byte position in the BMP
size_t OldPos = PixelsOffset + (H - I - 1) * ScanLineBytes + NumChannels * J;
size_t NewPos = 4 * I * W + 4 * J; //pixel start byte position in the new raw image
if(NumChannels == 3)
{
PngPixels[NewPos + 0] = BmpPixels[OldPos + 2]; //R
PngPixels[NewPos + 1] = BmpPixels[OldPos + 1]; //G
PngPixels[NewPos + 2] = BmpPixels[OldPos + 0]; //B
PngPixels[NewPos + 3] = 255; //A
}
else
{
PngPixels[NewPos + 0] = BmpPixels[OldPos + 2]; //R
PngPixels[NewPos + 1] = BmpPixels[OldPos + 1]; //G
PngPixels[NewPos + 2] = BmpPixels[OldPos + 0]; //B
PngPixels[NewPos + 3] = BmpPixels[OldPos + 3]; //A
}
}
}
return 0;
}

bool CynicRImages::SavePNG(const char* FilePath)
{
std::vector<unsigned char> TEMP(Size());
unsigned char* BuffPos = &TEMP[0];

for (int I = 0; I < Height(); ++I)
{
for (int J = 0; J < Width(); ++J)
{
*(BuffPos++) = Pixels[(Height() - 1 - I) * Width() + J].RGBA.B;
*(BuffPos++) = Pixels[(Height() - 1 - I) * Width() + J].RGBA.G;
*(BuffPos++) = Pixels[(Height() - 1 - I) * Width() + J].RGBA.R;

if (Info.bmiHeader.biBitCount > 24)
*(BuffPos++) = Pixels[(Height() - 1 - I) * Width() + J].RGBA.A;
}
if(Info.bmiHeader.biBitCount == 24)
BuffPos += Width() % 4;
}

std::vector<unsigned char> BmpBuffer(sizeof(BITMAPFILEHEADER) + sizeof (BITMAPINFOHEADER) + Size());
std::copy(reinterpret_cast<unsigned char*>(&bFileHeader), reinterpret_cast<unsigned char*>(&bFileHeader) + sizeof(BITMAPFILEHEADER), BmpBuffer.begin());
std::copy(reinterpret_cast<unsigned char*>(&Info.bmiHeader), reinterpret_cast<unsigned char*>(&Info.bmiHeader) + sizeof(BITMAPINFOHEADER), BmpBuffer.begin() + sizeof(BITMAPFILEHEADER));
std::copy(TEMP.begin(), TEMP.end(), BmpBuffer.begin() + sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER));

std::vector<unsigned char> PngBuffer, EncodedPngBuffer;
if (BMPToPNGBuffer(PngBuffer, BmpBuffer) || lodepng::encode(EncodedPngBuffer, PngBuffer, Width(), Height())) return false;
lodepng::save_file(EncodedPngBuffer, FilePath);

return true;

}

P1nky

2012-10-13 03:52:38

I'm taking C++ this semester, if I need any help… I'll make sure to shoot you a pm or a post here.

:)

CynicRus

2012-10-13 08:48:26

Answered you in private. Brandon, thank you for high word of my stuff:)

P1nky

2012-10-14 21:39:24

I haven't received a PM :( if you were referring that post towards me.

Dgby714

2012-10-14 21:48:32

Bwah, What is this magic?

Cynic, You should be on IRC, Quizzup said something about something and now I can't remember….

Rezozo

2012-10-14 22:31:53

I was just wondering, as a noob (big one), what type of software coulcd you make using this language.

Like can you make something that checks a certain set of boxes on an excel sheet, and compares them? (Need for rates etc. Own a small company)

Just an example. Basically, what are its restrictions, and what is actually possible.

Brandon

2012-10-14 22:40:03

From: Rezozo
I was just wondering, as a noob (big one), what type of software coulcd you make using this language.

Like can you make something that checks a certain set of boxes on an excel sheet, and compares them? (Need for rates etc. Own a small company)

Just an example. Basically, what are its restrictions, and what is actually possible.



C/C++ has no restrictions. The answer is yes. As long as you know what you're doing.

Rezozo

2012-10-14 23:55:47

Hmm…Interesting! I might require you services than Cyn! Expect a Pm soon. It might be a couple months though, long process of getting permission from boss etc.

wantonman

2012-10-15 00:33:02

snds gr8 m8 but may u offer dev info on rom hacking as well? -example gameboy homebrew~~~~~~

Dgby714

2012-10-15 00:53:07

"rom hacking"… Gameboy homebrew wouldn't be an example of that…

Modifing a pokemon rom to change things would be rom hacking.

And anyways look into http://wiki.freepascal.org/GameBoy_Advance

Same language Simba is currently developed in.

CynicRus

2012-10-15 01:53:04

From: Rezozo
Hmm…Interesting! I might require you services than Cyn! Expect a Pm soon. It might be a couple months though, long process of getting permission from boss etc.

Okay, I'll wait-)