Wizzup?
2008-08-29 17:49:24
EDIT: I was referring to stuff the Administrator team is not doing at the moment.
NOTE: This is in no way meant to get extra administrators.
2008-08-29 17:49:24
2008-08-29 17:50:07
2008-08-29 17:52:55
2008-08-29 17:54:17
2008-08-29 17:55:12
From: Timer
I'd make SRL a better place, I would blurt out swearing… I would punish people accordingly of their actions… I would help people with there problems on the forums (like… Accounts being hacked… Lost passwords… and Almost anything!)… I would delete obscured posts / threads (with permission from other admins…)… and… That's about it! ^-^
Can't a mod do that? xD
2008-08-29 17:56:40
From: Daniel.Blaze
Could you get anymore inside of his ass? Just a bit further?
2008-08-29 18:03:14
2008-08-29 18:06:17
2008-08-29 18:12:19
2008-08-29 18:31:48
2008-08-29 18:38:20
2008-08-29 18:38:55
2008-08-29 18:52:43
2008-08-29 18:57:37
From: ~~Joker~~
extend sig size back to scrolling!!!
please gosh was so usefull i could put alot of info :
script stats/news/and nice other stuff
go ahead make some rules like no big pics or somthn but bring it back lol
2008-08-29 19:23:19
From: Narcle
It was removed to lower bandwidth…
Lower bandwidth = faster site = win
This was also done after the site was down for like 2 weeks if you recall…
2008-08-29 19:42:05
2008-08-29 19:50:23
2008-08-29 20:18:38
2008-08-29 20:21:20
2008-08-29 20:33:21
2008-08-29 20:52:23
2008-08-29 21:03:11
2008-08-29 21:29:02
2008-08-29 22:31:55
From: Negaal
also make that avatar size thingy clear. Pretty annoying.
2008-08-30 00:22:07
2008-08-30 00:56:25
From: Daniel.Blaze
Tel the devs to release good revisions, not 2 to delete 2 files.
From: Negaal
also make that avatar size thingy clear. Pretty annoying.
From: Starblaster100
Admin: 180 x 180
Moderator: 100 x 100
Best Newcommer: 0
Communist: 100 x 100
Most Harmless: 80 x 80
Site Supporter: 100 x 100
Competition Winner: 0
SRL Devs: 180 x 180
SRL Helper: 80 x 80
Junior SRL member: 0
SRL Member: 50 x 50
SRL Scripter: 80 x 80
Tutorial Writer: 50 x 50
Useful Poster: 0
If you are in multiple groups, it is the bigger size
2008-08-30 01:58:59
2008-08-30 02:44:30
2008-08-30 02:51:04
From: Daniel.Blaze
I want tutorials without the stupid search indexing shit that hobbit has put in.
i mean how hard would it be to categorize the tuts by scripting methods i.e. loops, failsafes, forms, arrays dtms, bitmaps, etc. etc. instead of alphabetically meaning the prehistoric outdated tutorials are displayed first. :duh:
Genius i tell you. Genius.
Another +1 for SRL
2008-08-30 03:53:48
2008-08-30 03:54:23
If I was an admin I would just lack off my duties.
2008-08-30 04:07:10
2008-08-30 04:23:11
2008-08-30 04:30:21
I want some cup ffs. I wanna have Alba's face bigger! xD
2008-08-30 06:02:48
2008-08-30 06:44:17
From: Zephyr
First of all, devs generally don't have access to the public svn anyway.
Second, I'd rather 2 working revisions than 1 broken one.
Third, this has only happened once and is a simple mistake.
From: Hobbit
Maybe if you understood them. Because they are categorized in methods, ie arrays, loops, Dtms etc
I never finished Tutorial Island because Wizzy told me he was just going to put in something else later, so i decided not to waste my time further.
Maybe begin to comprehend something before flaming it
From: n3ss3s
Love Daniel 'Just a bit further'
2008-08-30 06:51:03
2008-08-30 08:36:28
2008-08-30 08:44:26
2008-08-30 10:50:31
From: NaumanAkhlaQ
^ The funny thing is..I dont think your joking.
Meh..Everyone makes mistakes, thats why they have rubbers on the end of pencils ;).
2008-08-30 10:58:37
From: Nava2
Also why they have condoms :O
2008-08-30 11:00:13
2008-08-30 11:02:57
From: Nava2
Also why they have condoms :O
2008-08-30 11:06:33
2008-08-30 11:08:12
2008-08-30 11:09:28
2008-08-30 11:18:41
From: Hugolord
ugh -,- didn't you leave? go away.. shoo shoo..
OnTopic: I would make a new Banner for SRL
2008-08-30 11:29:38
From: Dan Cardin
lots of stuff that everyone wantsreorganize some of the forums.
- Make BBQ Pit and a few others not add postcount.
- try to fix some site errors
- prune (51k members of which 2k are active)
- fix the page listings.
- get rid of a lot of the crap stuff thats relatively useless (bug tracker doesnt look like anyones doing anything. Link SRL Manual link to Freddy's new page. Calendar looks unused. A lot of the stuff on the main page)
- finish the tutorials project, cuz its weird right now :(
2008-08-30 11:46:05
2008-08-30 12:28:20
2008-08-30 12:44:02
But now i realize just how hypocritical, and demeaning all of the "higher people" are on this forum.
2008-08-30 12:44:22
From: Sp0rky
I'd IP ban raymond permanently from the forums.
2008-08-30 12:47:00
From: mastaraymond
That is not very nice, is it?
2008-08-30 12:51:05
2008-08-30 15:21:25
2008-08-30 15:28:30
From: Sp0rky
17:45 - Raym0nd`: I love hugolord
17:46 - Raym0nd`: He's such a scumbag
17:46 - Raym0nd`: He like
17:46 - Raym0nd`: one day asked me
17:46 - Raym0nd`: "How do you smoke a joint?"
Neither is that xD
2008-08-30 15:46:26
2008-08-30 15:55:23
2008-08-30 16:07:42
From: Sp0rky
Lets be friends =D
<3
2008-08-30 18:29:48
From: HyperSecret
Times have changed man, reflection has ALWAYS been in SMART …
From: HyperSecret
… just not at the SRL Member and Public releases 'till recently. Even if they did support KYAB back in the day do you really think people would use it over SMART now?!?! You would still have to give KYAB the control of your mouse.
From: HyperSecret
So stop your little bitching and whining fest and grow up. You say the admins piss you off, your the type of member that pisses me off, thinks your ALL THAT AND A BAG OF CHIPS or something, well your not. I have great respect for what the admins do for us here and I have no complaining of it.
2008-08-30 19:17:44
2008-08-30 20:04:50
From: Daniel.Blaze
Sad isn't it? I really used to like SRL. But now i realize just how hypocritical, and demeaning all of the "higher people" are on this forum.
I try doing nice this for the forum, I try helping out. What do I get? Shit from our so called great SCAR creator. I support KYAB when SRL shunted it aside. What happens now? JAVA IS ACCEPTED. I support the SRL staff on KYAB forums. What do I find out now? I WAS LIED TO AND I NOW LOOK LIKE A COMPLETE IDIOT FOR TRYING TO PROTECT THEM IN THE FIRST PLACE.
2008-08-30 20:41:02
From: Hugolord
Hey I'm all for being your friend.. hell you were a nice guy once, but I sense sarcasm..
Edit: I smoke occasionally and I don't need to smoke to have this sig :S
Halo Friendlies - Let's Be Friends
why are you so cruel
when you pick up the phone
when i come to your home
what did i do wrong?
do you remember back then
when we were good friends
but now you pretend
just to be nice
now i know who you are
you're just a big clown
with a big fake smile
and a big fake laugh
i just wanted to be your friend
but you wanted a kiss
all the fun and laughter we had
i will miss
don't you go around town
just putting me down
telling all yor friends
that i'm a fool
cuz i don't need your friends
and i don't need your jokes
i never wanted to be
more than your friend
but you think you're so cool
you can't handle the truth
your motives mislead
yet you call me a tease
why are you so mean?
you never call me back
you're giving me attitude
how'd you get so rude?
can't we just get along?
i didn't do you wrong
get over yourself
and let's be friends
cuz i don't want to go on
feeling this way
i wanna say hi
without you walking away
but if you want to stay mad
you just go right ahead
one day you'll grow up
and you'll be a man
2008-08-30 20:46:14
From: [-jesus-]
:)
2008-08-30 21:17:24
From: Hugolord
lol :spot:
spam much ? :duh:
:)
2008-08-30 22:58:25
From: Hugolord
Hey I'm all for being your friend.. hell you were a nice guy once, but I sense sarcasm..
Edit: I smoke occasionally and I don't need to smoke to have this sig :S
2008-08-30 23:01:41
2008-08-30 23:15:38
From: Mr.Klean
Give the scrolling sigs back. How were they using much bandwidth on the SRL server? Usually the entire sig was hosted on places like photobucket, or it was a few hundred characters of text? That didn't do much on the bandwidth.
2008-08-30 23:26:35
2008-08-31 00:25:18
2008-08-31 00:36:41
From: The Claw
Ban daniel (oh wait i already can, should i?) and figure out how to make the "Users viewing this topic" thing that used to be down the bottom of the page come back. If it was cut because of bandwidth, couldnt the "Similar threads" be taken off instead? Users viewing was much more useful.
2008-08-31 00:45:09
2008-08-31 01:53:24
2008-08-31 03:59:59
2008-08-31 04:03:13
From: Wizzup?
Serious comments please. ;)
2008-08-31 05:33:36
2008-08-31 05:42:50
2008-08-31 06:50:00
2008-08-31 08:20:43
From: Mr.Klean
Ban thebob142
Remove Zephs avatar. (too damn big)
Prune anyone who hasn't logged in since June 07
Fix page numbers
Get rid of useless things llike the similar threads on the bottom of threads.
Give the scrolling sigs back. How were they using much bandwidth on the SRL server? Usually the entire sig was hosted on places like photobucket, or it was a few hundred characters of text? That didn't do much on the bandwidth.
Get more involved on donations.
From: Daniel.Blaze
and there was me thinking that now I've voiced my opinion I could go back to sitting back and watching as SRL slowly killed itself off.
2008-08-31 08:24:41
From: Daniel.Blaze
omg you're the worst fucking admin i've ever met in my life. The question was what would you do if you were an SRL admin, and we answered. When did it suddenly become alright to censor people's freedom of speech.
GOD someone get rid of him.
and there was me thinking that now I've voiced my opinion I could go back to sitting back and watching as SRL slowly killed itself off. Apparently, Hobbit's already started this for us, though.
+1 for Hobbit
2008-08-31 09:50:23
From: Hobbit
I deleted all the unserious comments.
2008-08-31 10:00:42
2008-08-31 10:19:30
From: Daniel.Blaze
omg you're the worst fucking admin i've ever met in my life. The question was what would you do if you were an SRL admin, and we answered. When did it suddenly become alright to censor people's freedom of speech.
GOD someone get rid of him.
and there was me thinking that now I've voiced my opinion I could go back to sitting back and watching as SRL slowly killed itself off. Apparently, Hobbit's already started this for us, though.
+1 for Hobbit
2008-08-31 10:39:01
From: Torrent of Flame
If you read all of that, pat yourself on the back and make a sensible reply, Thanks.
2008-08-31 10:44:55
2008-08-31 11:03:07
From: Torrent of Flame
Also, like HyperSecret said, THIS ISNT THE FUCKING WORLD! Go out and play Football/Soccer. Get a few mates together and have a party, meet girls. GO OUT.
2008-08-31 11:03:38
From: sirlaughsalot
I will, but i have to disagree with you on a couple things,
First you said that they have lives, well Wizzup? Made this topic so aparrently he wants to do more for the community, and the rest of the staff as well. Sure they have lives but if they made this topic, feel free to puc your 2 cents in.
Second about reflection, sure the script may work well and everything is hunky-dory, but the point of getting srl-membership is showing you can use classic hard SRL procedures, I dont mind people using reflection, just use as a backup, or have a backup…
Yes torrent you are correct in most aspects however I did like the users viewing thread it was rather interesting to see who was reading the thread you just posted.
All the rants about the code, I think somone who has contact with dankness should get him to st up an ftp account for the admins
Some like guys :P. We don't like to judge here
Back on topic.
The page numbers, I have seen it on other invisionfree boards, like my current clan website. I can look into getting the code from them? It might be custom might not be.
The flame here is despicable. Its miserable, why can't we just be friends. We are all here for one cause, to screw around with JaGex. Lets just do that.
P.S. STOP THE FREAKING SWEARING!
2008-08-31 11:14:36
From: Torrent of Flame
One Idiot -> Alot of Flame.
Sorry, but I was getting very angry, because the people on this forum think they could go a better job.
Change is the life in which we live, when we stagnate, all is lost.
2008-08-31 11:28:03
2008-08-31 11:30:29
From: Torrent of Flame
Edited my infraction-worth exessive swearing thread with **** to make my swearing less visable
2008-08-31 11:35:41
From: Hugolord
Now it's not understandable…
Dude, does it really matter if you get an infraction at SRL?
It's not the end of the world lol..
OnTopic: I would make a poll to ask SRL-member to choose for certain things to happen, like updates or improvements and new forum sections and such..
2008-08-31 12:01:18
From: Torrent of Flame
What other people have said already, that annoys me:
- Prune; Ok, 2k active members out of about 26k members. F**k me if Im going to prune all those. Why does it matter anyway? I mean its not like they are doing alot is it. Is it REALLY affecting your day to day life if some guy who hasnt been active in a few years is still on the SRL database?
- Fix page numbers; Code Related -> Dankness is inactive -> Shut the f**k up about it.
- Get rid of useless things llike the similar threads on the bottom of threads; How was it better to have "Such such is viewing this thread" Go back to the main page, click on "Active Users" and you can see what EVERYONE is viewing. Again, does it make your Forum Experience better if you know Wizzup? is looking at how to make a Form? No, not really.
- Give the scrolling sigs back; This DOES take up bandwith because the SRL server has to LOAD the photobucket or Imageshack page and display it for you to see. Ok, not that much, but if eveyrone has like 7 - 8 sigs or whatever, then thats ALOT of bandwith. Plus all of the scripts, attatchments, posts, etc. LOTS OF F**KING BANDWITH.
My Ideas…
I dont have any. To be honest, the Admins have real lifes outside of the SRL forums, and when they are on they are developing new SRL procedures and working on how to improve SCAR and SRL with the Devs, and when they arent doing that they are trying to keep the forum clean, so shut up about how they are doing a bad job. you try moderating 2000 members whilst writing new proc's and having a real f**king life.
2008-08-31 12:17:37
2008-08-31 12:58:20
From: Mr.Klean
Ban thebob142
2008-08-31 13:43:51
From: The Claw
Ban daniel (oh wait i already can, should i?) and figure out how to make the "Users viewing this topic" thing that used to be down the bottom of the page come back. If it was cut because of bandwidth, couldnt the "Similar threads" be taken off instead? Users viewing was much more useful.
From: GoF
Please do.
From: mastaraymond
Your a joke in my eyes. Swearing for attention, is that what you want?
From: WT-Fakawi
I spent 10 minuted undeleting each and every off-topic posts, including lyrics, pictures and flames! We dont delete posts at SRL, we just ask you to:
STAY ON TOPIC!
Grr.
From: Torrent of Flame
Since C**tike you swear in every F**king you make!
Im sorry, but if I'm not wrong, Hobbit was promoted to Admin because he helpped around the forums, he developed new SRL Procedures, He helped to fucking BUILD S-R-F**king-L! All I have seen you do since I have become active again is submit a script, get accepted into SRL Members, then become a complete f**kng cock and swear and flame every person who doesnt agree with your statements
Shut up for f**k sake! Your such a douche-bag. You havent done a THING for the SRL community, not a f**king THING! SRL Kills itself off because people fail to like the new scripting techniques that come out. How has he started killing SRL off? You f**king retarded piece of sh*t. All he did was delete useless posts like yours because he was f**ked off with reading about you whining about the lack of help around the forums. I mean its stupid that you can even START to moan at the Admins for not doing their job, when all you have is 100 posts of which 3/4 of them include FLAME and annoying sh*t.
2008-08-31 14:23:58
From: Daniel.Blaze
Will do. But do yourself a favor and stop being such a fanboy. It doesn't help your image.
2008-08-31 15:50:40
From: GoF
Stop being such a butthurt, whining bitch. It won't help your image.
2008-08-31 16:01:16
From: Hugolord
Stop flaming, just stop.
CAN YOU DO IT? :O
2008-08-31 16:19:57
From: Daniel.Blaze
Well that made me lol. Anyone else?
I love how angry everyone gets at me when all i do is speak the truth…
2008-08-31 17:17:46
2008-08-31 17:21:47
2008-08-31 17:26:43
From: mastaraymond
Someone please open a new thread in the BBQ Pit concerning the offtopic issues here..
OnTopic:
I would like to see the SRL Stats getting a little update..
2008-08-31 18:07:15
From: IceFire908
"If I were an SRL-Administrator" I would do would I think is best for the SRL community.
It's that simple, really…
________________________________
If you want a few opinions of mine though, I think the only people that really deserve to be admins are
Dankness
Fawki
Wizzup?
Flyboy
Nieslie
Starblaster
Sumilion
Boreas
BenLand100
Fredddy should be…
Kait should be if he was around…
I don't know about Flyboy, I think he is a real life friend of WT-F (I think) so he has a lot of direct trust…
Rams and Hobbit, sorry dudes but I really think you guys should be Moderators at the most until you show more advanced skills and leadership…
2008-08-31 18:54:32
From: Sp0rky
Don't worry, the power system is messed up.
Who gave Raymond mod?!
Prime example of what I'm talking about.
<3
2008-08-31 18:55:59
From: IceFire908
Rams and Hobbit, sorry dudes but I really think you guys should be Moderators at the most until you show more advanced skills and leadership…
2008-08-31 19:15:22
From: Bobarkinator
RAM is one of the more mature people I know at this forum… but I suppose you have your opinions.
In all seriousness, if I were an admin, I would probably punish harsher and more. And start by handing out a few temp-bans in this thread. Too many people don't get any punishment when they do something. I would also enforce more respect around the forums. Remember, we are unique because our members aren't the ones who are constantly insulting others like you will see at other Runescape cheating forums. But more and more, I see that slipping away and us just fitting perfectly into the mold that other forums have set up. I would much rather not have that happen.
2008-08-31 19:38:15
From: IceFire908
Maturity alone isn't enough.
"The best kings were never born king."
Maybe if RAM had actual skills he could actually lead instead of just writing nice paragraphs.
As far as I know RAM couldn't even make a script worthy of SRL members at the moment let alone lead the most advanced scripting community in history.
WT-Fawaki, BenLand100, Sumilion, Nielsie, and Boreas are the best examples of administrator material in my opinion, they all have the full maturity and skills needed to lead by example and creativity.
The other admins are lacking in one or more of those two main fields of leadership, I do think Starblaster, Flyboy, and Wizzup? are deserving of their position though because for what they lack in one field they make up for in the other.
Rams and Hobbit are lacking to much in the skills field, they would make great moderators though, but admin? not quite…
Freddy, Kait, Dylock, well hell! they made SCAR they should be admins…
They're are other good candidates I think aswell… tarajunky, the claw, raymond, yakman, zerphys, charmz… maybe a few others… I just don't really see Rams/Hobbit outranking these other people I listed, seems a bit out of place if you ask me…
Of course, what the hell does my opinion matter?
I'm just a plain old SRL member with some good scripting skills that have yet to be seen, that and I've been around for quite a while.
I guess it's about time I proved myself, but this talk is worth nothing…
Just wait until I get some of my projects out to you guys :sasmokin:
2008-08-31 20:50:49
2008-09-01 01:18:47
From: Bobarkinator
In my opinion, you are talking about skills for SRL Dev. Admin is all about maturity. The admins don't need to be skilled in scripting. That is why they separated the Dev section from Adminship.
2008-09-01 02:28:41
From: IceFire908
Well that last thing you said
My opinnion is the same but more like
That's what separates moderators from devs, admin on the other hand…. well…
idk… I just think admin should be more exclusive…
2008-09-01 02:29:23
From: Daniel.Blaze
Could you get anymore inside of his ass? Just a bit further?
2008-09-01 03:45:45
2008-09-01 04:56:19
From: Daniel.Blaze
Unfortunately, I have to agree with IceFire.
I think to be a successful admin (and even moderator) you need to gain respect from this community. Being mature alone will not gain you respect above other members. It will just make you am average member. Getting a lot of respect from this community requires you have extensive scripting knowledge, not just in delphi and pascal, but about SCAR and it's history. That is the reason people will look up to you, and that would be the reason people follow your instructions and rules.
To be respected, you have to do something extraordinary for the community, and the only thing that will gain you brownie points in that area is incredible scripting skills.
The on top of all of that, you have to show the current admins other skills which show that you can handle being an admin: you have to show you can lead a community (as that is what admins do), make mature decisions, but also know when to compromise and that you are dedicated to your cause.
All of the above are a must for decent admins. Some of the current ones just don't make the cut.
Well that last thing you said
My opinnion is the same but more like
That's what separates moderators from devs, admin on the other hand…. well…
idk… I just think admin should be more exclusive…
The other admins are lacking in one or more of those two main fields of leadership, I do think Starblaster, Flyboy, and Wizzup? are deserving of their position though because for what they lack in one field they make up for in the other.
Rams and Hobbit are lacking to much in the skills field, they would make great moderators though, but admin? not quite…
Freddy, Kait, Dylock, well hell! they made SCAR they should be admins…
They're are other good candidates I think aswell… tarajunky, the claw, raymond, yakman, zerphys, charmz… maybe a few others… I just don't really see Rams/Hobbit outranking these other people I listed, seems a bit out of place if you ask me…
monitor the site. Also make physical changes to the forum.
2008-09-01 05:40:48
From: Torrent of Flame
What? Is this Bash Hobbit and Masta day? Have you earned the respect of the other Admins to be promoted to Admin? No, I fail to see you have. Hobbit and Masta probably can script, but they just dont release their scripts publicly. And as far as I know, the idea of an Admin is to
The idea of the Moderators? They moderate. Make sure things are working properly and stop bad things happening. They lock threads, hand out infractions, etc.
They dont NEED to be able to script at Administrator really, because thats why they have Devs! Admin/Mod monitor the forums, and the Devs update and make SRL better.
Quit the Hobbit and Masta bashing. I fail to see you being promoted to Moderator or Admin.
library XFindRock;
uses
FastShareMem,
SysUtils,
Windows,
Dialogs,
Math,
PngImage,
Graphics;
{$R *.res}
type
TPoint = Record
x,y : integer;
end;
TPointArray = Array of TPoint;
TMaskRay = Record
xOff, yOff : Integer;
Width,Height:Integer;
CheckPoint : TPoint;
WhiteArray : TPointArray;
BlackArray : TPointArray;
end;
T2DPointArray = Array of Array of TPoint;
type
TCharInfo = record
W,H,Area,L : Integer;
IsChar : Char;
Points : TPointArray;
end;
TCharInfoArray = Array of TCharInfo;
THandles = Packed record
Bitmap : HBitmap;
Client : HDC;
end;
TRGB32 = packed record
B, G, R, A: Byte;
end;
TRGB32Array = packed array[0..MaxInt div SizeOf(TRGB32) - 1] of TRGB32;
PRGB32Array = ^TRGB32Array;
type
TIntegerArray = array of Integer;
type
TBox = Record
x1,y1,x2,y2:Integer;
end;
TBoxArray = Array of TBox;
type
TSCARPlugFunc = record
Name: string;
Ptr: Pointer;
end;
TNumbers = record
n1, n2: Integer;
end;
TCharRay = Record
Something: integer;
end;
Const
Radix = 10; //I can't really explain.. Radix 10 is used the most.. It stands for 0,1,2,3,4,5,6,7,8,9.. And if your using negative numbers to, its -9..9
Type
TOneStrProc = procedure(s: string);
var
Bmp : TBitmap;
LineLength : LongInt;
ScanLinePointer : PRGB32Array;
var
Writeln: TOneStrProc;
Function IntToBox(x1,y1,x2,y2 : integer) : TBox;
begin;
Result.x1 := x1;
Result.y1 := y1;
Result.x2 := x2;
Result.y2 := y2;
end;
Procedure PNGToBitmap(LoadPath,SavePath : String);stdcall;
var
PnGImg : TPNGObject;
Bmp : TBitmap;
begin
PnGImg := TPNGObject.Create;
PnGImg.LoadFromFile(LoadPath);
Bmp := TBitmap.Create;
Bmp.Assign(PnGImg);
Bmp.SaveToFile(SavePath);
Bmp.Free;
PnGImg.Free;
end;
//Credits to original maker!
//http://www.swissdelphicenter.ch/torry/showcode.php?id=1616
Procedure SortTPointArray(var Counts: TIntegerArray;var Points : TPointArray);
var
Len, i, j, k,h: LongInt;
Temp : TPoint;
begin
Len := High(Counts);
k := Len shr 1;
while k > 0 do
begin
for i := 0 to Len - k do
begin
j := i;
while (j >= 0) and (Counts[j] > Counts[j + k]) do
begin
h := Counts[j];
Temp := Points[j];
Counts[j] := Counts[j + k];
Points[j] := Points[J + K];
Points[J+K] := Temp;
Counts[j + k] := h;
if j > k then
J := J - K
else
j := 0;
end;
end;
k := k shr 1;
end;
end;
//Credits to original maker!
//http://www.swissdelphicenter.ch/torry/showcode.php?id=1616
Procedure SortTPointArrayE(var Counts: Array of Extended;var Points : TPointArray);
var
Len, i, j, k: LongInt;
H : Extended;
Temp : TPoint;
begin
Len := High(Counts);
k := Len shr 1;
while k > 0 do
begin
for i := 0 to Len - k do
begin
j := i;
while (j >= 0) and (Counts[j] > Counts[j + k]) do
begin
h := Counts[j];
Temp := Points[j];
Counts[j] := Counts[j + k];
Points[j] := Points[J + K];
Points[J+K] := Temp;
Counts[j + k] := h;
if j > k then
J := J - K
else
j := 0;
end;
end;
k := k shr 1;
end;
end;
//Credits to original maker!
//http://www.swissdelphicenter.ch/torry/showcode.php?id=1616
procedure SortColorsCount(var Colors, Counts: TIntegerArray);
var
Len, i, j, k,h,tmp: LongInt;
begin
Len := High(Counts);
k := Len shr 1;
while k > 0 do
begin
for i := 0 to Len - k do
begin
j := i;
while (j >= 0) and (Counts[j] < Counts[j + k]) do
begin
h := Counts[j];
tmp := Colors[j];
Counts[j] := Counts[j + k];
Counts[j + k] := h;
Colors[j] := Colors[J + k];
Colors[J + K] :=tmp;
if j > k then
J := J - K
else
j := 0;
end;
end;
k := k shr 1;
end;
end;
Function GetTPABounds(TPA: TPointArray): TBox; stdcall;
var
I,L : Integer;
begin;
L := High(TPA);
if L < 0 then exit;
Result.x1 := TPA[0].x;
Result.y1 := TPA[0].y;
Result.x2 := TPA[0].x;
Result.y2 := TPA[0].y;
For I:= 1 to L do
begin;
if TPA[i].x > Result.x2 then
Result.x2 := TPA[i].x
else if TPA[i].x < Result.x1 then
Result.x1 := TPA[i].x;
if TPA[i].y > Result.y2 then
Result.y2 := TPA[i].y
else if TPA[i].y < Result.y1 then
Result.y1 := TPA[i].y;
end;
end;
Function FindTPAinTPA(SearchTPA, TotalTPA : TPointArray; var Matches : TPointArray) : Boolean;stdcall;
var
Len, I,II,LenSearch,xOff,yOff : integer;
tx,ty,MatchCount : integer;
Screen : Array of Array of Boolean;
ScreenBox,SearchBox : TBox;
Bool : Boolean;
begin;
Result := False;
Len := High(TotalTPA);
LenSearch := High(SearchTPA);
if LenSearch < 0 then Exit;
if Len < LenSearch then Exit;
MatchCount := 0;
ScreenBox := GetTPABounds(TotalTPA);
SearchBox := GetTPABounds(SearchTPA);
Try
SetLength(Screen,ScreenBox.x2 + 1,ScreenBox.y2 + 1);
Except
Exit;
end;
if (SearchBox.x1 > 0) or (SearchBox.y1 > 0) then
begin;
For I := 0 to LenSearch do
begin;
SearchTPA[i].x := SearchTPA[i].x - SearchBox.x1;
SearchTPA[i].y := SearchTPA[i].y - SearchBox.y1;
end;
SearchBox.x2 := SearchBox.x2 - SearchBox.x1;
SearchBox.y2 := SearchBox.y2 - SearchBox.y1;
SearchBox.x1 := 0;
SearchBox.y1 := 0;
end;
xOff := SearchBox.x2;
yOff := SearchBox.y2;
For I := 0 to LenSearch do
begin;
if SearchTPA[i].x = 0 then
if SearchTPA[i].y < yOff then
yOff := SearchTPA[i].y;
if SearchTPA[i].y = 0 then
if SearchTPA[i].x < xOff then
xOff := SearchTPA[i].x;
end;
For I := 0 to Len do
Screen[TotalTPA[i].x][TotalTPA[i].y] := True;
For I := 0 to Len do
begin;
tx := TotalTPA[i].x - xOff;
ty := TotalTPA[i].y;// - yOff;
if tx > 0 then
if ty > 0 then
if (SearchBox.x2 + tx) <= ScreenBox.x2 then
if (SearchBox.y2 + ty) <= ScreenBox.y2 then
begin;
Bool := True;
For II := 0 to LenSearch do
if Screen[tx + SearchTPA[II].x ][ty + SearchTPA[II].y] = False then
begin;
Bool := False;
Break;
end;
if bool then
begin;
MatchCount := MatchCount + 1;
SetLength(Matches,MatchCount);
Matches[MatchCount - 1].x := TotalTPA[i].x;
Matches[MatchCount - 1].y := TotalTPA[i].y;
end;
end;
end;
if MatchCount > 0 then
Result := True;
end;
Function FindGapsTPA( TPA : TPointArray; MinPixels : Integer) :T2DPointArray;stdcall;
var
Len,TotalLen,LenRes,I,II,III : integer;
Screen : Array of Array of Boolean;
Height,Width : Integer;
Box : TBox;
begin;
Len := High(TPA);
if Len < 0 then exit;
Box := GetTPABounds(TPA);
Height := Box.y2 - Box.y1;
Width := Box.x2 - Box.x1;
LenRes := 0;
III := 0;
Try
SetLength(Screen,Width + 1,Height + 1);
Except
Exit;
end;
For I := 0 to Len do
Screen[TPA[i].x - Box.x1][TPA[i].y - Box.y1] := True;
SetLength(result,1);
SetLength(Result[0],Len+1);
TotalLen := 0;
For I := 0 to Width do
begin;
For II := 0 to Height do
if Screen[i][II]=True then
begin;
Result[TotalLen][LenRes].x := I + Box.x1;
Result[TotalLen][LenRes].y := II + Box.y1;
LenRes := LenRes + 1;
III := I;
end;
if LenRes = 0 then
III := I
else
if (I - III) > MinPixels then
begin;
III := I;
SetLength(Result[TotalLen],LenRes);
LenRes := 0;
TotalLen := TotalLen + 1;
SetLength(Result,TotalLen + 1);
SetLength(Result[TotalLen],Len + 1);
end;
end;
SetLength(Result[TotalLen],LenRes);
end;
Procedure EditToBounds( var TPA : TPointArray);stdcall;
var
I : Integer;
L : Integer;
Box : TBox;
begin;
Box := GetTPABounds(TPA);
if (Box.x1 = 0) and (Box.y1 = 0) then
exit;
L := High(TPA);
For I := 0 to L do
begin;
Tpa[i].x := TPA[i].x - Box.x1;
TPA[i].y := TPA[i].y - Box.y1;
end;
end;
Function GayBounds(Points: TPointArray): TBox; stdcall;
Var
L, I: Integer;
Begin
Result.X1 := 0 xor 0;
Result.Y1 := 0 xor 0;
Result.X2 := 1 shl 20;
Result.Y2 := 1 shl 20;
L := High(Points);
For I := 0 To L Do
Begin
Result.X1 := Min(Result.X1, Points[i].X);
Result.Y1 := Min(Result.Y1, Points[i].Y);
Result.X2 := Max(Result.X2, Points[i].X);
Result.Y2 := Max(Result.Y2, Points[i].Y);
End;
End;
Function RemoveTPADistEachother(Dist : Integer; TPA : TPointArray) : TPointArray;stdcall;
var
I, II, C,HighTPA: Integer;
Keep: Boolean;
begin
C:= 0;
HighTPA := High(TPA);
SetLength(Result, HighTPA + 1);
for I:= 0 to HighTPA do
begin
Keep:= True;
for II:= (I + 1) to HighTPA do
if sqrt ( (TPA[II].x - TPA[i].x) * (TPA[II].x - TPA[i].x) + (TPA[II].y - TPA[i].y) * (TPA[II].y - TPA[i].y)) <= Dist then
begin
Keep:= False;
break;
end;
if keep then
begin
Result[C].x:= TPA[i].x;
Result[C].y := TPA[i].y;
C := C + 1;
end;
end;
SetLength(Result, C);
end;
Procedure CleanATPA(MinLength,MaxLength : Integer; var ATPA : T2DPointArray);Stdcall;
var
L,LL,Count : integer;
I : integer;
begin;
L := High(ATPA);
Count := -1;
For I:= 0 to L do
begin;
LL := Length(ATPA[i]);
if LL > MinLength then
if LL < MaxLength then
begin;
Count := Count + 1;
if I <> Count then
ATPA[Count] := ATPA[i];
end;
end;
SetLength(ATPA,Count+1);
end;
function RemoveTPASameRange(dist : integer; TPA : TPointArray) : TPointArray;stdcall;
var
L, HighTPA,I,II : Integer;
Bool : boolean;
begin;
L := -1;
HighTPA := High(TPA);
SetLength(Result,HighTPA + 1);
For I:= 0 to HighTPA do
begin;
Bool := False;
For II := 0 to L do
if sqrt ( (Result[II].x - TPA[i].x) * (Result[II].x - TPA[i].x) + (Result[II].y - TPA[i].y) * (Result[II].y - TPA[i].y)) <= Dist then
begin;
Bool := True;
Break;
end;
if not Bool then
begin;
L := L + 1;
Result[L].x := TPA[i].x;
Result[L].y := Tpa[i].y;
end;
end;
SetLength(Result,L+1);
end;
Function ColorToRGBASM( Color : integer;var R,G,B : integer): integer; stdcall;
asm
pop edx
mov eax,[edx]
{ mov [edx],eax
and [edx],$FF
shr eax,8
mov [ecx],eax
and [ecx],$FF
shr eax,8
mov [edx-8],eax
and [edx-8],$FF}
// mov [edx-16],$FF
// mov eax, color
end;
Function AbsoluteInt ( SomeNumber : integer) : integer;assembler;stdcall;
asm
// mov eax,edx
mov eax,edx
mov ecx, edx
sar ecx, 31
add eax, ecx
xor eax, ecx
end;
Function FindCommonPoint(ArrayTPA : T2DPointArray) : TPointArray;stdcall;
var
L, HighTPA,I,II,III : Integer;
Lengths : TIntegerArray;
Bool : boolean;
begin;
Bool := False;
L := -1;
HighTPA := High(ArrayTPA);
if HighTPA < 1 then exit;
SetLength(Lengths,HighTPA + 1);
For I:= 0 to HighTPA do
Lengths[i] := High(ArrayTPA[i]);
For I:= 0 to Lengths[0] do
begin;
For II := 1 to HighTPA do
begin;
Bool := False;
For III := 0 to Lengths[II] do
if ArrayTPA[0][i].x = ArrayTPA[II][III].x then
if ArrayTPA[0][i].y = ArrayTPA[II][III].y then
begin;
Bool := True;
Break;
end;
if not Bool then Break;
end;
if Bool then
begin;
L := L + 1;
SetLength(Result,L+1);
Result[L] := ArrayTPA[0][i];
end;
end;
end;
Function FloodFillTPA(TPA : TPointArray) : T2DPointArray;stdcall;
var
x,y,i,CurrentArray, LengthTPA,CurrentStack : integer;
TempBox : TBox;
PointsToFill : Array of Array of Boolean;
Lengths : TIntegerArray;
TempTPA : TPointArray;
Stack : TPointArray;
fx,fy : integer;
begin;
LengthTPA := High(TPA);
if LengthTPA < 1 then
begin;
if LengthTPA = 0 then
begin;
SetLength(Result,1,1);
Result[0][0] := TPA[0];
end else
SetLength(Result,0);
exit;
end;
TempBox := GetTPABounds(TPA);
SetLength(PointsToFill,TempBox.x2 - TempBox.x1+3,TempBox.y2 - TempBox.y1+3);
x := TempBox.x1 - 1;
y := TempBox.y1 - 1;
CurrentArray := -1;
CurrentStack := 0;
SetLength(Stack , LengthTPA * 2);//Just to be sure ^^.
SetLength(Lengths , LengthTPA + 1);
SetLength(TempTPA , LengthTPA + 1);
For I := 0 to LengthTPA do
begin;
TempTPA[i].x := TPA[i].x - x;
TempTPA[i].y := TPA[i].y - y;
end;
For I := 0 to LengthTPA do
PointsToFill[TempTPA[i].x][TempTPA[i].y] := True;
For I := 0 to LengthTPA do
if PointsToFill[TempTPA[i].x][TempTPA[i].y] then
begin;
CurrentArray := CurrentArray + 1;
SetLength(Result,CurrentArray + 1);
SetLength(Result[CurrentArray],LengthTPA - I + 1);
fx := TempTPA[i].x;
fy := TempTPA[i].y;
CurrentStack := CurrentStack + 1;
Stack[CurrentStack].x := fx;
Stack[Currentstack].y := fy;
While CurrentStack > 0 do
begin;
if PointsToFill[fx][fy] then
begin;
PointsToFill [fx][fy] := false;
Result[CurrentArray][Lengths[CurrentArray]].x := fx + x;
Result[CurrentArray][Lengths[CurrentArray]].y := fy + y;
Lengths[CurrentArray] := Lengths[CurrentArray] + 1;
end;
if PointsToFill[fx+1][fy] then
begin
fx := fx + 1;fy := fy;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Continue;
end;
if PointsToFill[fx][fy+1] then
begin
fx := fx;fy := fy + 1;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Continue;
end;
if PointsToFill[fx-1][fy] then
begin
fx := fx - 1;fy := fy;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Continue;
end;
if PointsToFill[fx][fy-1] then
begin
fx := fx;fy := fy - 1;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Continue;
end;
if PointsToFill[fx+1][fy+1] then
begin
fx := fx+1;fy := fy+1;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Continue;
end;
if PointsToFill[fx-1][fy-1] then
begin
fx := fx-1;fy := fy-1;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Continue;
end;
if PointsToFill[fx-1][fy + 1] then
begin
fx := fx-1;fy := fy+1;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Continue;
end;
if PointsToFill[fx+1][fy-1] then
begin
fx := fx+1;fy := fy-1;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Continue;
end;
fx := Stack[CurrentStack].x;
fy := Stack[CurrentStack].y;
CurrentStack := CurrentStack - 1;
end;
SetLength(Result[CurrentArray],Lengths[CurrentArray]);
end;
SetLength(Stack,0);
SetLength(TempTPA,0);
SetLength(Lengths,0);
end;
Function FloodFillTPADistance(Dist : Integer; TPA : TPointArray) : T2DPointArray;stdcall;
var
x,y,i,CurrentArray, LengthTPA,CurrentStack,DistMin : integer;
TempBox : TBox;
PointsToFill : Array of Array of Boolean;
Lengths : TIntegerArray;
TempTPA : TPointArray;
Stack : TPointArray;
fx,fy,ii,iii : integer;
label
Start;
begin;
if Dist < 1 then
Dist := 1;
DistMin := Dist - 1;
LengthTPA := High(TPA);
if LengthTPA < 1 then
begin;
if LengthTPA = 0 then
begin;
SetLength(Result,1,1);
Result[0][0] := TPA[0];
end else
SetLength(Result,0);
exit;
end;
TempBox := GetTPABounds(TPA);
SetLength(PointsToFill,TempBox.x2 - TempBox.x1+(Dist*2) + 1,TempBox.y2 - TempBox.y1+(Dist *2) + 1);
x := TempBox.x1 - Dist;
y := TempBox.y1 - Dist;
CurrentArray := -1;
CurrentStack := 0;
SetLength(Stack , LengthTPA * Dist * 2);//Just to be sure ^^.
SetLength(Lengths , LengthTPA + 1);
SetLength(TempTPA , LengthTPA + 1);
For I := 0 to LengthTPA do
begin;
TempTPA[i].x := TPA[i].x - x;
TempTPA[i].y := TPA[i].y - y;
end;
For I := 0 to LengthTPA do
PointsToFill[TempTPA[i].x][TempTPA[i].y] := True;
For I := 0 to LengthTPA do
if PointsToFill[TempTPA[i].x][TempTPA[i].y] then
begin;
CurrentArray := CurrentArray + 1;
SetLength(Result,CurrentArray + 1);
SetLength(Result[CurrentArray],LengthTPA - I + 1);
fx := TempTPA[i].x;
fy := TempTPA[i].y;
CurrentStack := CurrentStack + 1;
Stack[CurrentStack].x := fx;
Stack[Currentstack].y := fy;
While CurrentStack > 0 do
begin;
Start:
if PointsToFill[fx][fy] then
begin;
PointsToFill [fx][fy] := false;
Result[CurrentArray][Lengths[CurrentArray]].x := fx + x;
Result[CurrentArray][Lengths[CurrentArray]].y := fy + y;
Lengths[CurrentArray] := Lengths[CurrentArray] + 1;
end;
For II := 1 to Dist do
begin;
if PointsToFill[fx+II][fy] then
begin
fx := fx + II;fy := fy;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if PointsToFill[fx][fy+II] then
begin
fx := fx;fy := fy + II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if PointsToFill[fx-II][fy] then
begin
fx := fx - II;fy := fy;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if PointsToFill[fx][fy-II] then
begin
fx := fx;fy := fy - II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if PointsToFill[fx+II][fy+II] then
begin
fx := fx+II;fy := fy+II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if PointsToFill[fx-II][fy-II] then
begin
fx := fx-II;fy := fy-II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if PointsToFill[fx-II][fy + II] then
begin
fx := fx-II;fy := fy+II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if PointsToFill[fx+II][fy-II] then
begin
fx := fx+II;fy := fy-II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if II > 1 then
begin;
For III := 1 to DistMin do
begin;
if PointsToFill[fx+II][fy+III] then
begin;
fx := fx+II;fy := fy+III;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto Start;
end;
if PointsToFill[fx+II][fy-III] then
begin;
fx := fx+II;fy := fy-III;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto Start;
end;
if PointsToFill[fx-II][fy+III] then
begin;
fx := fx-II;fy := fy+III;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if PointsToFill[fx-II][fy-III] then
begin;
fx := fx-II;fy := fy-III;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;Goto start;
end;
if PointsToFill[fx-III][fy+II] then
begin;
fx := fx-III;fy := fy+II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;goto start;
end;
if PointsToFill[fx+III][fy+II] then
begin;
fx := fx+III;fy := fy+II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;goto start;
end;
if PointsToFill[fx-III][fy-II] then
begin;
fx := fx-III;fy := fy-II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;goto start;
end;
if PointsToFill[fx+III][fy-II] then
begin;
fx := fx+III;fy := fy-II;CurrentStack := CurrentStack + 1;Stack[CurrentStack].x := fx;Stack[Currentstack].y := fy;goto start;
end;
end;
end;
end;
fx := Stack[CurrentStack].x;
fy := Stack[CurrentStack].y;
CurrentStack := CurrentStack - 1;
end;
SetLength(Result[CurrentArray],Lengths[CurrentArray]);
end;
SetLength(Stack,0);
SetLength(TempTPA,0);
SetLength(Lengths,0);
end;
Function MergeATPA(ATPA : T2DPointArray) : TPointArray;stdcall;
var
I,II, Len, TempL,CurrentL : integer;
begin;
Len := High(ATPA);
CurrentL := 0;
For I:= 0 to Len do
begin;
TempL := High(ATPA[i]);
if TempL < 0 then
begin;
Continue;
end;
TempL := Templ + CurrentL + 1;
Setlength(Result, TempL+1);
Try
For II := CurrentL to TempL do
Result[II] := ATPA[i][II - CurrentL];
except
end;
CurrentL := TempL;
end;
SetLength(Result,CurrentL);
end;
Function FindTPAEdgePoints ( MaxW,MaxH : integer; TPA : TPointArray): TPointArray;stdcall;
var
Bounds : TBox;
I : Integer;
x,y,len,width, height,tmp : integer;
Points : Array of Array of Boolean;
begin;
Len := High(TPA);
if Len < 0 then exit;
Bounds := GetTPABounds(TPA);
SetLength(Points,Bounds.x2 - Bounds.x1 + 1,Bounds.y2 - Bounds.y1 + 1);
SetLength(Result,len + 1);
Width := Bounds.x2 - Bounds.x1;
Height := Bounds.y2 - Bounds.y1;
For I := 0 to Len do
Points[TPA[i].x - Bounds.x1][TPA[i].y - Bounds.y1] := True;
I := -1;
// Showmessage(inttostr(len)+ '-' +inttostr(Width) + '- ' +inttostr(Height) );
Tmp := 0;
For Y:= 0 to Height do
Begin;
For x := 0 to Width do
if Points[x][y] then
begin;
Points[x][y] := False;
I := I + 1;
Tmp := x + 1;
Result[i].x := x + bounds.x1;
Result[i].y := y + Bounds.y1;
Break;
end;
For X := Width Downto tmp do
if Points[x][y] then
begin;
Points[x][y] := False;
I := I + 1;
Result[i].x := x + bounds.x1;
Result[i].y := y + Bounds.y1;
Break;
end;
end;
Tmp := 0;
For x := 0 to Width do
Begin;
For y:= 0 to Height do
if Points[x][y] then
begin;
Points[x][y] := False;
I := I + 1;
Tmp := y + 1;
Result[i].x := x + bounds.x1;
Result[i].y := y + Bounds.y1;
Break;
end;
For y := Width Downto tmp do
if Points[x][y] then
begin;
Points[x][y] := False;
I := I + 1;
Result[i].x := x + bounds.x1;
Result[i].y := y + Bounds.y1;
Break;
end;
end;
SetLength(Result, I + 1);
end;
Function SortTPAMiddles ( w,h : integer; TPA : TPointArray) : TPointArray;stdcall;
var
Lengths : TIntegerArray;
Middles : TPointArray;
TempSorted : TPointArray;
Bool : Boolean;
Temp,I,II,LengthTPA : Integer;
begin;
Temp := Length(TPA);
if Temp < 1 then Exit;
SetLength(Middles,Temp);
SetLength(Lengths,Temp);
SetLength(TempSorted,Temp);
Temp := Temp - 1;
LengthTPA := -1;
For I:= 0 to Temp do
begin;
Bool := True;
For II := 0 to LengthTPA do
if Abs(TPA[i].x - TempSorted[II].x) < w then
if Abs(TPA[i].y - TempSorted[II].y) < h then
Begin;
Bool := False;
Break;
end;
if bool then
begin;
LengthTPA := LengthTPA + 1;
TempSorted[LengthTPA] := Tpa[i];
Lengths[LengthTPA] := 1;
Inc(Middles[LengthTPA].x,TPA[i].x);
Inc(Middles[LengthTPA].y,TPA[i].y);
end else
begin;
Lengths[II] := Lengths[II] + 1;
Inc(Middles[II].x,TPA[i].x);
Inc(Middles[II].y,TPA[i].y);
end;
end;
SetLength(TempSorted,0);
SetLength(Middles,LengthTPA + 1);
SetLength(Lengths,LengthTPA + 1);
SetLength(Result, LengthTPA + 1);
For I := 0 to LengthTPA do
begin;
Result[i].x := Middles[i].x div Lengths[i];
Result[i].y := Middles[i].y div Lengths[i];
end;
end;
Function BoxTPAToATPA(w,h : integer; Points : TPointArray) : T2DPointArray;stdcall;
var
I,II,L,LL,III : integer;
TempDist,Temp : Array of TBox;
SwapTPA : TPointArray;
Counts : TIntegerArray;
Bool : Boolean;
begin;
L := Length(Points);
SetLength(Temp,L);
SetLength(TempDist,L);
SetLength(Counts,L);
SetLength(Result,0);
L := L - 1;
LL := -1;
if L < 1 then
exit;
For I:= 0 to L do
begin;
Bool := False;
For II := 0 to LL do
if (Points[i].x >= TempDist[II].x1) and (Points[i].x <= TempDist[II].x2) then
if (Points[i].y >= TempDist[II].y1) and (Points[i].y <= TempDist[II].y2) then
begin;
if (Points[i].x < Temp[II].x1) then
begin;
Temp[II].x1 := Points[i].x;
TempDist[II].x1 := Points[i].x - W;
end;
if (Points[i].y < Temp[II].y1) then
begin;
Temp[II].y1 := Points[i].y;
TempDist[II].y1 := Points[i].y - H;
end;
if (Points[i].x > Temp[II].x2) then
begin;
Temp[II].x2 := Points[i].x;
TempDist[II].x2 := Points[i].x + W;
end;
if (Points[i].y > Temp[II].y2) then
begin;
Temp[II].y2 := Points[i].y;
TempDist[II].y2 := Points[i].y + H;
end;
Bool := True;
Counts[II] := Counts[II] + 1;
Result[II][Counts[II]] := Points[i];
Break;
end;
if not Bool then
begin;
LL := LL + 1;
TempDist[LL] := IntToBox(Points[i].x-W,Points[i].y-H,Points[i].x+W,Points[i].y+H);
Temp[LL] := IntToBox(Points[i].x,Points[i].y,Points[i].x,Points[i].y);
SetLength(Result,LL+1);
SetLength(Result[LL],L - I + 1);
Result[LL][0] := Points[i];
end;
end;
For I := 0 to LL do
SetLength(Result[i],Counts[i] + 1);
Bool := True;
SetLength(TempDist,1);
While Bool do
begin;
Bool := False;
For I := 0 to LL do
For II := 0 to (I-1) do
if ((Temp[i].x1 >= Temp[II].x1) and (Temp[i].x1 <= Temp[II].x2)) or ((Temp[i].x2 >= Temp[II].x1) and (Temp[i].x2 <= Temp[II].x2)) then
if ((Temp[i].y1 >= Temp[II].y1) and (Temp[i].y1 <= Temp[II].y2)) or ((Temp[i].y2 >= Temp[II].y1) and (Temp[i].y2 <= Temp[II].y2)) then
begin;
Bool := True;
L := Counts[i] + 1;
Setlength(Result[i], Counts[II] + L+ 1);
For III := 0 to Counts[II] do
Result[i][III + L] := Result[II][III];
Counts[II] := Counts[LL];
Result[II] := Result[LL];
Temp[II] := Temp[LL];
LL := LL - 1;
Break;
end;
end;
SetLength(Result,LL+1);
end;
Function SortTPAToATPA (w,h : integer; TPA : TPointArray) : T2DPointArray;stdcall;
var
Lengths : TIntegerArray;
Bool : Boolean;
Temp,I,II,LengthTPA : Integer;
begin;
Temp := Length(TPA);
SetLength(Lengths,Temp);
Temp := Temp - 1;
LengthTPA := -1;
For I:= 0 to Temp do
begin;
Bool := True;
For II := 0 to LengthTPA do
if Abs(TPA[i].x - Result[II][0].x) < w then
if Abs(TPA[i].y - Result[II][0].y) < h then
Begin;
Bool := False;
Break;
end;
if bool then
begin;
LengthTPA := LengthTPA + 1;
SetLength(Result,LengthTPA+1);
SetLength(Result[LengthTPA],1);
Result[LengthTPA][0] := Tpa[i];
Lengths[LengthTPA] := 1;
end else
begin;
Lengths[II] := Lengths[II] + 1;
SetLength(Result[II],Lengths[II]);
Result[II][Lengths[II]-1] := Tpa[i];
end;
end;
end;
Function GetHBitmap(var CanvasHandle : LongWord) : LongWord; stdcall;
var
Bmp : Bitmap;
TempDC : HDC;
begin;
TempDC := CreateCompatibleDC(CanvasHandle);
GetObject(GetCurrentObject(CanvasHandle,Obj_Bitmap),Sizeof(bitmap),@Bmp);
Result := CreateCompatibleBitmap( CanvasHandle,Bmp.bmwidth,bmp.bmHeight);
SelectObject(TempDC,Result);
end;
Procedure ChangeSize(Width,Height : integer); stdcall;
begin;
Bmp.PixelFormat := pf32bit;
Bmp.Width := Width;
Bmp.Height := Height;
ScanLinePointer := Bmp.Scanline[0];
LineLength := (Longint(Bmp.Scanline[1]) - Longint(ScanLinePointer)) div 4;
end;
Procedure CreateSearchingBitmap(Width,Height : Integer);stdcall;
begin;
ChangeSize(Width,Height);
end;
function LargestTPAInATPA(ATPA: T2DPointArray): Integer;stdcall;
var
I, L, W,Len: Integer;
begin
Result := -1;
Len := High(ATPA);
if Len < 0 then exit;
L:= Length(ATPA[0]);
W:= 0;
for I:= 1 to Len do
if Length(ATPA[i]) > L then
begin
L:= Length(ATPA[i]);
W:= I;
end;
Result := W;
end;
2008-09-01 05:44:56
From: Daniel.Blaze
The on top of all of that, you have to show the current admins other skills which show that you can handle being [Edited to] Staff: you have to show you can lead a community (as that is what [Edited to] Staff do), make mature decisions, but also know when to compromise and that you are dedicated to your cause.
2008-09-01 06:14:15
2008-09-01 06:18:17
From: Daniel.Blaze
Unfortunately, he lacks in other areas.
2008-09-01 08:20:15
From: Daniel.Blaze
Unfortunately, he lacks in other areas.
2008-09-01 08:25:12
2008-09-01 08:33:07
From: Daniel.Blaze
Get your policies straight. Remove the stupid "We do not use java" message if you are actually going to from the front page
Sort out the forum errors… page numbers, bad links etc.
Prune
Get active staff
Ban idiotic members
Tell you mods to stop pissin around
Tel the devs to release good revisions, not 2 to delete 2 files.
Organize the forum. Its a shamble, and a mess.
2008-09-01 09:33:55
From: Daniel.Blaze
I respect the people who have earned my respect, not the people who demand it.
I have already posted what I think you should do as an admin.
And as usual, no admin has done anything. Seems to be a running trend with the admins. They're all afraid to actually do anything and get their own hands dirty.
You seem to have made this thread to get ideas on what you can do to make the forum better. Many people have given you ideas, but nothing has been done. I bet nothing is even being discussed yet.
Instead, this thread has just pointed out how little you all actually do around here, and how much work this forum really needs. Yes i suppose, no one is perfect, eh? :rolleyes:
Waddo, you are correct, however I already know that.
I don't really like Wizzup, but I half respect him. I bet people such as Sumilion, Nielsie95, The Claw, Boreas, Zephyr really hate me, but I respect them greatly.
Everyone has made mistakes. That is how we grow up and mature. I have made many in my time, and have seen a lot. However, I do not think how I act on this forum is a mistake. I am simply being myself and trying to get the staff active, and realize just how much work they have to do around here. I'm doing that by being straight to the point, and not bothering to fluff everything up like most people do. The message is then lost, and not as effective.
I'm also asking them to be honest in the future. No one likes being lied to, or being made to look like a fool. They have done both to me.
2008-09-01 09:44:04
From: ~~Joker~~
wtf did you just a whole obama speech lol sooo long, shorter it down.
From: ~~Joker~~
and you taking this thread to some other topic/level… the question is: what would you do now stay on that lol:duh: :duh: :duh: and the respect stuff no one cares… sorry
From: Daniel.Blaze
Get your policies straight. Remove the stupid "We do not use java" message if you are actually going to from the front page
Sort out the forum errors… page numbers, bad links etc.
Prune
Get active staff
Ban idiotic members
Tell you mods to stop pissin around
Tel the devs to release good revisions, not 2 to delete 2 files.
Organize the forum. Its a shamble, and a mess.
From: Daniel.Blaze
… trying to get the staff active …
From: Daniel.Blaze
… realize just how much work they have to do around here …
From: Daniel.Blaze
… I'm also asking them to be honest in the future. No one likes being lied to, or being made to look like a fool. They have done both to me.
2008-09-01 10:04:00
From: mastaraymond
I would change my user title to "SRL Developer / Lazy Admin"
2008-09-01 10:14:12
From: Daniel.Blaze
Get your policies straight. Remove the stupid "We do not use java" message if you are actually going to from the front page
Sort out the forum errors… page numbers, bad links etc.
Prune
Get active staff
Ban idiotic members
Tell you mods to stop pissin around
Tel the devs to release good revisions, not 2 to delete 2 files.
Organize the forum. Its a shamble, and a mess.
2008-09-01 10:20:57
From: HyperSecret
1. Cry about it alittle more
2. Has been discussed and is going to be fixed
3. Has been discussed and is not going to happen, has happened alittle when the SRL Member SMART was released, pruned inactive SRL Members so they didn't get SMART
4. We have active staff, Wizzup?, The Claw, SB100 (come and go), Masta, BenLand100, Hobbit, WT-Fakawi (speaks when he needs to), Nielsie, tarajunky, c0de
and some to specific forums like, Zephr, n3ss3s, Markus, and Freddy
5. So ban you? :p , we have plenty of people that monitor posts and the 'idiots' that you refer to and if they need to be punished then they are, and if noobs = idiots then everyone is a noob at some point and just need time
6. How are the mods pissin around? I think this one is a personal hate problem
7. This was discussed before we last had to update SRL, search around before posting this one. Plus it has only happened once probably since SRL has started. (just wanted to find something to bitch about?)
8. Personally I don't think so, but it's your opinion, like the others…the search button is your friend if you need to specifically find something…it's only as big of a mess as you make it
just thought I would pick at your list alittle.
2008-09-01 10:39:43
From: HyperSecret
1. Cry about it alittle more
From: HyperSecret
2. Has been discussed and is going to be fixed
From: HyperSecret
3. Has been discussed and is not going to happen, has happened alittle when the SRL Member SMART was released, pruned inactive SRL Members so they didn't get SMART
From: HyperSecret
4. We have active staff, Wizzup?, The Claw, Masta, Hobbit
From: HyperSecret
5. So ban you? :p , we have plenty of people that monitor posts and the 'idiots' that you refer to and if they need to be punished then they are, and if noobs = idiots then everyone is a noob at some point and just need time
From: HyperSecret
6. How are the mods pissin around? I think this one is a personal hate problem
From: The Claw
From: Mastaraymond
I would change my user title to "SRL Developer / Lazy Admin"
hahahahah, oh god
From: HyperSecret
7. This was discussed before we last had to update SRL, search around before posting this one. Plus it has only happened once probably since SRL has started. (just wanted to find something to bitch about?)
From: HyperSecret
8. Personally I don't think so, but it's your opinion, like the others…the search button is your friend if you need to specifically find something…it's only as big of a mess as you make it
From: HyperSecret
just thought I would pick at your list alittle.
2008-09-01 11:01:52
2008-09-01 11:14:01
2008-09-01 12:04:03
From: Daniel.Blaze
I'm not gonna say anything bad about any of those members, but they only have the odd post here or there.
Activity isn't just based solely on post count as well remember ;) I only see Hobbit locking threads or sorting things out, and anyone with his powers could do that. I see very little moderator and administrative work from the others.
Yes, they were all active back in the day, but as you all keep reminding me "Times have Changed" "We've moved on"
Maybe it's time for them to move on. I know a few already have by the looks of things.
So my statement still stands…"Get active staff" - someone who will do staff duties.
2008-09-01 12:16:47