text:
Eye witnesses say a Muhlenberg County home collapsed to the ground as quickly as it went up in flames.
Most of Greenville felt the earth shake last night, but when the shaking stopped neighbors say they looked out their windows to see a 10,000 square foot log home in flames.
Greenville firefighters say as soon as they arrived on the scene, they knew the house had exploded.
More than twenty years ago, the Cundiff family built their dream home-- a luxury log home on their land in Muhlenberg County.
The family was out of town yesterday, and when they came back, their dream home had burned to the ground.
"The initial call was that a house was on fire and flames were showing. There were also reports of an explosion in the area," Lt. Chuck Browning says.
Shortly after neighbors heard the explosion, they say the house was engulfed in flames.
When the Greenville Fire Department arrived on scene around 8 last night, there was nothing that could save the house.
"The whole structure was leveled and there was no way we could make an interior attack on it at all," Browning says.
Firefighters say the explosion caused an earth shake that could be felt from miles away.
"I live close to their actually and it rumbled my house," Browning says.
Firefighters fought the blaze for three hours last night, but were unable to fully extinguish the fire.
"It was contained. It wasn't going anywhere, and it was demolished anyway, so we let it burn."
Neighbors say the house burned well into the night, and flames were still visible well into this afternoon, but no other homes were affected.
"It sits off the road. There is an apartment building that the owner owns but there was no damage to it," Browning says.
Since no one was home when the explosion occurred, everyone was safe.
A state fire marshall and a Kentucky State Police arson investigator will be at the house tomorrow to determine what caused the fire.


text:
5 Sexual Innovations From People in Your History Text Books
In the future, they'll probably wonder why we were so nervous about sex. For instance, they'll probably wonder why every school kid knows who invented the airplane, but not, for instance, who invented the first vibrator, or the first porno movie ... even though they're way more widely used.
But here's the interesting thing: The great men and women lauded by society for mainstream discoveries and the underground smut peddlers who advanced the art of masturbation are often the same people.
For instance ...
#5. William Dickson Invented the Motion Picture, Porn Movie
The Genius:
Cracked nemesis Thomas Edison gets credit for creating the motion picture camera, but it was actually the work of one of his brilliant but unacknowledged underlings, William Dickson. Edison had patented a "motion picture camera," but the device didn't actually exist. So he brought Dickson on to actually figure out how to make the thing. Dickson saved Edison's ass by designing a system to feed celluloid film of 35 mm in width through a camera to create a moving image (if that sounds familiar, it's because Dickson's standard is the same one used today).
One guess as to what that hat was covering up.
This genius Scottish inventor went on to found the first movie production company, made the first talking movies and ... created the first porno film.
The Sex:
Dickson used a close relative of the Kinetoscope, a Mutoscope, to create a set of moving flip cards that could be cranked by hand while the viewer peered in.
Elaborate dress optional, but nevertheless pleasing.
Given the peepshow nature of the Mutoscope, one of its very first (and very popular) films was a classic called "What the Butler Saw."
... penis. We bet the answer is penis.
This film was the first pornographic movie in history. It showed Victorian lovelies in various stages of undress as a lecherous butler (read: you) enjoyed the scene from a keyhole. This Mutoscope reel became so popular that Mutoscopes are colloquially known as "What the Butler Saw" machines.
Wally Gobetz
Because sex is something unmarried women can pretty much take or leave.
We mentioned that William Dickson set up the first movie studio. Well, that studio went on to be the first porn clearinghouse, producing a variety of naughty films under Dickson's watchful eye. While Mutoscopes did show things like horse races, it was smut and violence that made the machines so popular. After all, the Mutoscope was one of the few places where a Victorian gentleman could see a naked woman as long as he was willing to risk having a giant boner in the middle of an arcade.
Wally Gobetz
A quarter? When we were young, inappropriate boners were a dime a dozen.
#4. Hugo Gernsback Invented Science Fiction, Then Published a Sex Magazine
The Genius:
While combining elements of science with fantastical stories is standard now, there was actually a time when such a thing didn't exist, or at least didn't have a name. Hugo Gernsback was the first to realize that women riding robots should be classified differently from women dying horribly in England, aka traditional fiction. Gernsback (who, by the way was also a pretty smart inventor, holding over 80 patents) coined the term "science fiction" and went on to publish the first magazine devoted to the stuff, Amazing Stories.
We're pretty sure the LHC is filled with monkey-men and mountain-boats.
Have you heard of a sci-fi story winning a Hugo Award? Yeah, it's named after him.
The Sex:
He is so well known for his work in science fiction that most people forget his other massive publishing endeavor: the first widespread U.S. magazine devoted to sex, Sexology.
Sex is exactly one-third better than masturbation. Science, bitches.
Keep in mind, this was freaking 1933 here, not an era known for its libertine attitudes toward sex. Yes, illicit girly mags had been around for decades, but Gernsback wanted to put his own, scientific twist on the subject.
Ooh, that's a titillating cover.
In its 30-year run, Sexology didn't just discuss having sex. It went all out and did scientific research on such crucial topics as homosexual chickens, odor fetishists and Hitler's sex life. The topics were written by MDs and PhDs, with everything taken seriously and laid out in a way that was factual and straightforward. Most of the time.
Remember, Gernsback was a science fiction fan at heart. In addition to the relatively mundane stories on chastity devices, one could also find stories that were obviously sensational.
They were at their third human-animal pair-off before someone remembered to take any notes.
Along with the academic articles on sexual dysfunction, you could read about real women with three breasts, the dangers of sexual vampirism and notorious husband poisoners. Come on, how else would he get people to actually buy the thing?
There's even a spotter's guide.
#3. The Real-Life Indiana Jones Brought The Kama Sutra to the Modern World
The Genius:
Most people don't attend a Harrison Ford movie expecting any sort of realism, but the story of Indiana Jones bears a remarkable resemblance to the ridiculous travels of one Richard Burton.
We're pretty sure he can just detach that thing and use it as a bullwhip.
Burton was a swashbuckling Brit whose swash was so large that we're pretty sure his buckle was usually ajar. He embarked on a collection of amazing adventures through Bombay, Brazil and really any other location he could construe as dangerous, mysterious and outrageously sexy. He wrote an elaborate account of his experiences sneaking into Mecca as a European non-Muslim (he became wildly famous for this daring feat, even though Ludovico di Varthema did the same thing 300 years earlier). He adventured to Africa to discover (read: find something while white) Lake Tanganyika, but not before the trip killed off all but one of his expedition.
The elusive lake, seen here from space.
The Sex:
Through his travels, Burton came to study a little-practiced field known as anthropological boning.
By becoming well acquainted with the customs and literature of foreign people, he rapidly acquired knowledge of everything from male prostitution to female circumcision. While these may seem relatively unexotic, remember that this was 19th century England. As a result, his "discovery" of an ancient sex manual known as The Kama Sutra of Vasyayana was nothing short of uncovering a well of sexual pleasure in an unending desert of awkward metaphors.
The art of groping had been lost to England for centuries.
Burton spruced up the work and brilliantly advertised it to the British as a way to challenge the anti-sex status quo. He intended the book to be a primarily educational endeavor that would help people do what he'd been doing for years: have mind-blowing sex.
Either mind-blowing sex or a particularly difficult crossword puzzle.
Burton wasn't done -- he also added more sex scenes and helpful sex tips to The Arabian Nights, which is a lot like revising Hamlet to include a 15-minute instructional scene on anal sex. Hey, whatever you need to do to get the information out there.
It took a thousand and one nights to untangle themselves.

subset: commoncrawl


text:
Podcast: Play in new window | Download
Thats Hip Hop Artist Addam White, aka Zig Zag Robinson. Adam started producing Film and Theater in his early 20s and went on to become a hip hop performing artist for the last decade. Zig Zag has performed in venues throughout California and has worked with dozens of local bands creating their own unique sound. Hip Hop is a combination of artistic forms that originated as a specific street subculture during the 1970s in New York City, later spreading its influence to communities throughout the country.
"bangbang" is the latest effort by Zig Zag producing a monthly First Friday Festival. Every First Friday for the next year Zig Zag is organizing multiple bands representing a wide range of musical styles along with visual artists chosen by the parachute collective (a local arts collective. 'bang bang' brings together performers and visual artists under one roof at the well known local Restaurant, Bocci's Cellar.
Although Los Angeles and Oakland are the west coast hip hop capitals, Santa Cruz has produced it's share of National hip hop acts.
Under Zig Zag's production company Wrench Broadcasting "bang bang" will add a musical component to the hugely successful monthly First Friday Art Tour. While bands rotate on stage, local artists and crafts people will display their work outside in the spacious bocce courtyard. 'Bang bang' is keeping the hip hop tradition alive in Santa Cruz.
For more information about Zig Zag Robinson go to www.reverbnation.com/zigzagrobinson


text:
Please note that visa forms MUST be filled out completely in CAPITAL LETTERS in order for the application to be processed in a timely manner. Don't forget to include the following information on the form:
Passports or documents can be dropped off at the Embassy in Washington between 9:30am and 12:30pm weekdays. Pick ups are between 3:30 and 4:30 weekdays. Please note that this schedule can change without notice. Ramadan Business hoursMailing Passport: Include a prepaid return label and envelope (from FedEx, UPS or USPS only) with the return address label filled out completely. A proper prepaid return envelop must include a "PRE-PAID" label. Return envelops showing only account numbers are no longer accepted as proof of pre-payment. Credit cards, checks, money orders or cash will not be accepted for return mailing. Any package without a proper pre-paid return envelope and label will be put on hold until a proper return envelope is received. It is the applicant's responsibility to determine the EXACT return shipping costs. All labels must have a tracking number, and applicants are advised to keep both incoming and outgoing tracking numbers for their records. The Embassy does not send international packages.
Canadian Nationals
The normal visa processing time for all types of visas, excluding Hajj and Umrah visas, for Canadian passports is 10 days. Processing times begin on the day the Visa Section receives a completed application.
No cash, credit card or personal check will be accepted.
Any package without such payment will be on hold until the payment is received. It is the responsibility of the applicant to include the EXACT amount according to the weight of the package.If you are applying to New York, the required form is
You will need Adobe Acrobat to view and print the applications forms.


text:
On page 26 of the DMG it describes knowledge checks as giving the players particular information, such as a history check to identify a region. But wouldn't a skill check be the same? Or does the skill check take place when needed and the knowledge check used at the start of an adventure to discover what encounters they might face?
Sign up
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
A knowledge check is a kind of skill check.
Skill checks involving answering the question "what do I know about X" or "do I know about X" are knowledge checks, and there are some specific rules governing knowledge checks that do not apply to other skill checks (such as using athletics to climb a wall)
One distinction I'd make comes to retrying the skill. If you're trying to climb up the side of a building, you can keep trying all day. With knowledge checks you either know something or you don't. You roll the die to see if your character has heard that trolls regenerate. If you fail the check, you don't get to try again (although I'd make an exception if the PC was in a library and wanted to treat knowledge as a research check). I don't believe there's a hard and fast rule for this in any book, but part of the GM's job is applying common sense so the game world makes sense.


text:
While many families in the area were enjoying this winter's first snow from inside their warm homes, one Woodburn family was salvaging what's left of theirs today.
Win Simmons and his son walked through what remains of their home today, picking up what they can from the rubble of what the Christmas day fire destroyed.
"I was asleep in the recliner and my youngest son Brody woke me up, and said, the fireplace... the chimney's on fire! By the time we got to the neighbor's driveway, the flames were already shooting through the roof. Within 15 minutes, the whole upstairs was basically gone," said homeowner Win Simmons.
What was a home yesterday is now little more than a house frame.
"It's hard to look at the house and know you lost everything," said Simmons.
But they didn't lose each other, and out of the rubble they gained something else...a respect for those who came to their rescue.
"I looked around, and there were 25 guys I didn't even know fighting a fire in my house.... turned back around and there's 25 or 30 friends and coworkers," said Simmons.
Despite their loss, Simmons has so much to be thankful for this holiday. His family, and those strangers who worked tirelessly to save his home.
"These firefighters... they're putting their life on the line for me... and it's pretty emotional just to see that," said Simmons.
Even on Christmas, with no pay, they answered their call for help.
"To have someone like Mr. Simmons to be as grateful as he was and go out of his way to say thank you for the effort we put into it. That's pay to us. That's why we do it," said Woodburn Fire Dept Chief Bob Skipper.
Nearly 30 firefighters from four volunteer departments including Woodburn were on the scene.
The entire family, cats included, survived without a scratch. To Simmons the rest can be replaced.
Aside from the Christmas spirit of those firefighters and the community, Simmons says one material item that did manage to survive the fire was his young daughter's new boots, and he says it was the one thing she wanted for Christmas.


text:
Harley Quinn's Greatest Moments from "Batman: The Animated Series"
TV, Comic Books
Showing results 33-72 of 119
Geoff Johns reveals that the legendary "Flash" villain will appear on the CW series; "Riverdale" series to balance fun with Lynch-ian darkness and more.
"Powers" co-creator Michael Avon Oeming and actor Susan Heyward spoke with CBR during New York Comic Con about the live-action TV series.
Following its reveal during the "Powers" panel at New York Comic Con, Sony's Playstation Network has released the show's first trailer online.
Brian Michael Bendis and Michael Avon Oeming's "Powers" is headed to TV, and the Sony series got a preview Saturday at New York Comic Con.
The incoming digital TV series shows off lead actors Susan Heyward and Sharlto Copley in the style of Brian Michael Bendis and Michael Avon Oeming's comic.
Co-creator Brian Bendis and the show's cast will screen the first footage from Playstation's adaptation at NYCC, but take a look at new images now!
The fate of humanity rests in the hands of Faustus in the thrilling conclusion to Michael Avon Oeming's hit Dark Horse series "The Victories" #15.
Controversial cartoonist was 79. For the first time, women win the Award for Courage in Editorial Cartooning! Oeming and Soma talk "Sinergy"! Plus more!
Sony's live-action "Powers" series has its Christian Walker: "District 9" star Sharlto Copley. Plus, Michelle Forbes joins as Retro Girl.
Eddie Izzard, Noah Taylor and Olesya Rulin have joined PlayStation Network's live-action "Powers" adaptation in co-starring roles.
"The Mice Templar's" creative team dives deep behind the scenes of the making of the latest issue's 22-page long, single-image battle scene.
Susan Heyward, recently seen on "The Following," has been cast as co-lead Deena Pilgrim on the PlayStation Network's "Powers" TV show.
The director of "The Twilight Saga: Eclipse" and several episodes of "Hannibal" will helm the first two installments of Sony's "Powers" TV show.
Lady Dragon has been chosen to meet the makers of gods and champions in Michael Avon Oeming's "The Victories" #13, on sale July 2 from Dark Horse.
Brian Bendis & Michael Avon Oeming's "The United States of Murder Inc." #2 is "an excellent noir-ish, alternate-reality, poli-criminal thriller."
The long-awaited television adaptation of Brian Michael Bendis and Michael Avon Oeming's "Powers" will hit PlayStation Network this December.
The "Powers" duo of Brian Michael Bendis & Michael Avon Oeming are at it again with "United States of Murder Inc." #2, their new Marvel Icon series.
Brian Bendis & Michael Avon Oeming deliver a strong issue in "The United States of Murder, Inc." #1, with "legitimate surprises and solid world-building."
Dark Horse Comics presents an exclusive preview of "The Victories" #11, the latest issue of Michael Avon Oeming's new examination of superheroes.
From Brian Michael Bendis and Michael Avon Oeming, the acclaimed creators of "Powers," comes a new crime fiction series unlike any other.
Dark Horse Comics headed to Emerald City Comicon to discuss new books including "Veil," "Dream Thief," "The Victories" and "Mind MGMT."
Peter David, Matt Fraction, Jeff Smith and Michael Oeming explain why Will Eisner continues to inspire nearly a decade after his death.
Brian Michael Bendis and Michael Avon Oeming's creator-owned series "Powers" is coming to screens, as PlayStation's first original series.
The "Powers" duo of Brian Michael Bendis and Michael Avon Oeming have a new creator-owned Icon series, and discussed its "Mob rule" premise.
A new ad indicates "The United States of Murder Inc." is on the way from Brian Bendis and Michael Avon Oeming for 2014.
As B.P.R.D. agent Abe Sapien goes AWOL, CBR News Spoke with writer and Dark Horse E-i-C Scott Allie and artist Michael Avon Oeming about the fish-man's journey to reclaim his past.
Courtesy of Dark Horse, CBR presents exclusive previews for books hitting stores July 3, including RIchardson and Sakai's "47 Ronin" #5, Mignola and Arcudi's "Abe Sapien" #4 and much more!
Dark Horse has provided CBR with exclusive previews of its June 5 titles, including Mignola and Allie's "Abe Sapien: Dark & Terrible" #3, " Oeming's "The Victories" #2 and more.
Dark Horse and creator Michael Avon Oeming have provided CBR with an exclusive, extended preview of the first issue of Oeming's ongoing "The Victories: Transhuman" and his retailer incentive sketch cards.
Courtesy of Image Comics, CBR has an exclusive preview of "Mice Templar IV: Legend" #1 by Bryan J.L. Glass, Michael Avon Oeming & Victor Santos. Young Karic's quest to restore the Templar continues April 3.
Brian Bendis and Michael Oeming reteam for a four-part serial debuting today to flesh out the back stories of four members of the Guardians of the Galaxy on Marvel's digital-ready storytelling platform.
Dark Horse PR Director Jeremy Atkins spoke with creators Kelly Sue DeConnick, Michael Avon Oeming, Francesco Francavilla, Joshua Williamson and Frank Barbiere about the publisher's superhero initiative.
Co-writers Bryan J.L. Glass and Michael Avon Oeming make their triumphant return to the world of "Mice Templar" with the fourth and final volume, "Legend," from Image Comics. Plus loads of exclusive art.
With "Powers: Bureau" launching from Brian Michael Bendis and Michael Avon Oeming in February, CBR spoke with Oeming about the series new threats, its double-name change and the TV pilot's status. Plus, exclusive art!
FX President John Landgraf assures that the adaptation of Brian Michael Bendis and Michael Avon Oeming's "Powers" is still in the works, with crime novelist Charlie Huston helping develop "a whole new pilot from scratch."
The "Powers" creative team of Brian Michael Bendis and Michael Avon Oeming unite to provide the penultimate issue of Marvel's "New Avengers!" A new Sorcerer Supreme rises on November 14.
CBR spoke to comic book newcomer Duffy Boudreau makes his Image Comics debut with the ongoing sci-fi actioner "BlackAcre" with artist Wendell Cavalcanti, about a soldier tracking down one of his own.
DC Comics has revealed a new creator lineup for its digital-first "Legends of the Dark Knight" comics that includes Jeff Parker, Michael Avon Oeming, Phil Hester, Gabriel Hardman and Joshua Hale Fialkov.
TV writer Chic Eglee has announced that his involvement with AMC's adaptation of Robert Kirkman's "Thief of Thieves" does not mean "Powers" on FX is dead, saying the superhero police drama is still moving forward.
Courtesy of Marvel Comics' Icon imprint, CBR presents an exclusive preview of Brian Michael Bendis and Michael Avon Oeming's all-ages "Takio" #2, on sale in July!
Archives: All | Comic Books | TV/Film | Video Games | Web Comics


text:
RICHMOND - Whether that was the game plan or not, senior Molly McCoy took things into her own hands Monday night.
She drove to the basket frequently, went to the free throw line more frequently and led the Edison girls basketball team to a 66-65 upset over Ohio Valley Athletic Conference Class 4A leaders Steubenville Big Red.
"We just come out and work hard every day and try to get better," she said. "We got a good team win tonight. We've had some good quarters every once in a while, but tonight we put a whole game together."
Article Photos
TO THE BASKET — Edison's Molly McCoy drives to the basket against the defensive pressure of Steubenville Big Red's Dominique Wilson during the first half of Monday's 66-65 home win by the Wildcats.
-- Mike Mathison
Steubenville Big Red coach Phil Casinelli was rather succinct when talking about his squad.
"We didn't defend tonight," he said. "We didn't move our feet on defense. We bailed them out too many times. We didn't block out.
"They got too many second chances. They played better than we did. We couldn't guard the ball. We couldn't guard McCoy."
McCoy finished with a game-high 27 points, including 15-for-20 from the charity stripe.
"This is huge for us, especially beating a team as good as Big Red," said McCoy. "This will give us a lot of confidence down the stretch."
The win snapped a 10-game losing streak and handed Steubenville (12-4) its third loss in the last five starts.
"We played a full game, we played all four quarters," said Edison first-year coach Jason Ensinger. "We have played well in stretches, played well in quarters, but we were waiting for a game like this, where we played all four quarters.
"Sometimes we would not rebound well in a game, shoot well, have too many turnovers. It was always something. Tonight we played very well. I would have liked a few more of those free throws made down the stretch, but other than that.
"We went to the basket hard. We blocked out well. We rebounded well. We got to the line."
The Wildcats were 8-for-19 in the fourth quarter from the free throw line, including 2-of-8 down the stretch, after being 19-for-24 through the first three quarters.
"They played really well tonight," Casinelli said of the Wildcats. "They went to the basket hard and we fouled too much. They won the game at the foul line. I don't know what they shot, but I know they were 15-for-18 in the first half. Credit to coach Ensinger and what he is doing with the program. I know they have had their struggles. But, it's obvious they are getting a lot better and that's also a credit to his team. They're improving and we're not.
"We have to go back, rethink and look at each other because if we keep playing like this defensively, then we're going to be in trouble."
Katelyn Pollock added 10 and Abby Fonow and Kayli Stewart eight for the winners.
Big Red's Emiley Masloski led her squad with 26. Taylor Young added 13 and Mytia Barker nine.
Edison held a 58-55 lead with 3:23 left in the game. A Lynsey Morrison bucket gave the hosts a 64-56 lead with 1:48 showing on the clock.
Big Red's Dominique Wilson netted two bunnies and, after Masloski canned two freebies, Edison had a 64-62 cushion with 22.8 to go.
Pollock went to the line with 19.1 showing and made 1-of-2 to make it 65-62 and seven seconds later Stewart did the same for a 66-62 lead.
Masloski buried a triple with 5.4 left to make it 66-65.
Pollock toed the line with 4.9 showing, but missed both.
Edison, however, battled for the rebound and Big Red stepped out of bounds with 0.3 remaining.
"This is a great win for the girls," said Ensinger. "I am proud of their effort."
Steubenville hosts Martins Ferry Thursday in a big Class 4A tilt.
Edison visits Bellaire Thursday.
Edison 66, Steubenville 65
Steubenville 16 18 12 19 - 65
Edison 23 17 12 14 - 66
STEUBENVILLE: E. Masloski 5 14-16 26, Young 5 0-0 13, Barker 4 1-2 9, Wilson 3 1-1 7, Taylor 1 1-2 3, Bodo 1 0-1 2, H. Masloski 2 0-1 4, Poole 0 0-0 0, Rice 0 1-2 1. TOTALS: 21 18-25 65. 3-pointers: Young 3, E. Masloski 2.
EDISON: McCoy 6 15-20 27, Pollock 4 2-7 10, Fonow 3 2-4 8, Stewart 2 4-6 8, Hunter 2 3-4 7, Morrison 3 1-2 6, Reynolds 0 0-0 0, Proffitt 0 0-0 0, Miller 0 0-0 0. TOTALS: 19 27-43 66.


text:
Ambient Wars 2010 Support Thread
Latest Build is: v184.108.40.206
v184.108.40.206+ is dramatically improved in performance.
Hotkeys can now be edited from within the game using the in-game editor.
TogglePlayerAssist: F9
ToggleAmbientWars: F10
AccelerateVehicle: CTRL+A
InGameEditor: ALT+E
RecruitNearbyPed: ALT+P
RecruitsDispose: ALT+CTRL+P
ShowCarSpawner: ALT+C
ShowSaveMenu: CTRL+S
UnlockAllIslands: CTRL+U
DumpVector: CTRL+V
The new project is finally released. It is not perfect yet, and has known issues, but it is a hugely improved project worthy of continuing to grow, refine and fix. This thread will be the home of support related issues including testing, as well as bouncing or suggesting ideas as it moves forward.
Ambient Wars 2010 can be downloaded from here:
Revision History - Important updates in tag below.
New HUB controller class and global singular tick that all cores operate from.
All war core (not player assist) tickrate properties have gone obsolete.
HUB.TickRate=4444 // Controls the rate at which all war cores operate from the HUB controller.
The HUB will tick at this rate regardless of any core status. Everything is in sync and everything knows if everything else is ready or not.
The cores themselves will always operate as fast as they can based on the rig itself, so the value here has a nominal setting.
Cores release slices to other cores after they finish a heavy operation so the entire system gets a chance to attempt an operation.
This is now possible due to the recent changes I made and can take advantage of the huge performance increase due to the new strategy I put in place.
[ Performance ]
I've implemented something I've been chewing for awhile and fundamentally changed some implementations based on my thinking.
This yielded a GIGANTIC improvement in general performance and optimization.
It should now be much, much improved speed / less impact across the board, as long as the processor is at-least a dual-core.
As always the more cores the better.
Due to my new implementation it now depends far more on the true raw horsepower of the rig.
This significantly reduces "hitching / bursting" at the expense of previously blasting numbers into the world at break-neck speeds regardless if the engine is actually ready or not.
This new implementation is also designed to produce more stuff relative to the player generally, faster and more consistently when things are actually available and suitable.
Certain properties have also been tweaked to go along with this for a more complete experience.
Some properties are no longer used and will eventually go obsolete / get-deleted.
[ Clean-up ]
Dramatically improved the speed of cleaning up when the cores go offline, especially car crews.
[ In-game Editor ]
All actice cores will now automatically be turned off when the editor is triggered.
[ Thugs ]
Due to the raw numbers required for the car crews (up to 4 per vehicle) the priorities/default numbers are now inverted.
That is to say, previously the crews were given more priority over street thugs.
That is no longer the case. Street thugs now rule the day with crews coming in behind.
This provides a MUCH more active, consistent, constant environment because of raw numbers available and horsepower.
The war presets will now do a math floor of either none, /2 or /3 for crews against street thugs based on which was selected.
Mayhem is now pushed to the lowest priority in relation to any other core activity.
[ Recruits ]
Recruits are now released to the game instead of killed outright so the game can more quickly reuse them as it sees fit.
Recruits that bail to make room for new recruits might get punished by former mates for leaving.
[ Fixed Bugs ]
Recruits should now correctly warp into and show with the player when the player is inside buildings and spawns vehicles with auto-warp enabled.
Fixed group related problem I noticed in the recruit collection.
(Hopefully) fixed a bug that was causing recruit statues to eventually appear or general recruitment failure.
Fixed numerous minor bugs / glitches.
[ Known Bugs ]
Occasional world statues, especially garbagemen at night.
Car windows might still be inconsistently removed.
There might be a leak in Mayhem somewhere.
[ Fixed Bugs ]
Window removal and some other properties should be applied consistently again.
[ Exclusions ]
Firemen, Paramedics and Cops are now excluded from recruitment, crews and street thugs. Cops can still be caught up in Mayhem.
Hookers are now excluded from Recruits.
[ Police ]
Now with the ability to recruit for backup as well as (and more importantly) no longer having cops in crews, the default setting no longer has wanted levels cleared on tick.
This applies only to the PlayerAssist.ClearWantedLevelOnTick and does not affect PlayerAssist.MaxWantedLevel.
The original default of True was in place because having cops in crews means you would CONSTANTLY get huge wanted levels by killing them.
Having cops (as well as firemen and medics) now excluded from all core scooping except Mayhem makes it less likely to get such huge levels so fast, though moderate levels are normal, and fun :)
It can always be turned back on as you see fit.
Note toggling the cores will still clear the wanted level regardless of this setting.
This is intentional for "clean slate" in either case.
[ Recruits ]
If PlayerAssist.RecruitsMax is set > 7 it will now always get reset to 7 when loaded in the game regardless.
Made some enhancements to the recruitment code. They should be more likely now to make it to the vehicle, less likely to shoot at new recruits after being recruited and more likely to join the player when switching or entering new vehicles generally.
Additional restrictions already applied in other cores are now also applied on recruits to be considered acceptable.
Recruits will now mostly only attack other peds they deem a direct threat to the player or them.
PlayerAssist.RecruitsMatchSeats=True // If True, when new recruits are signaled, existing counts will be adjusted to the current vehicle passenger seat count if applicable.
Since it is useless to have more recruits than passenger seats generally speaking I thought this would be a fun idea to try and I like the result.
When True, and new recruits are signaled, the current recruit cache is tested against current vehicle passenger seats. If it's > then it will get purged until there is room for
the new recruit up to the seat count. So this means if you have 5 say on foot and snatch a bike and signal for a new recruit, the new recruit will wind up being the only
one left alive as they join you on the bike and the rest will suffer death as normal. So then you dump the bike and get a 4dr ride. You can signal 2 more recruits to fill
up the car etc etc. This keeps the crew in line with what you can actually use based on the ride you're in at the time so there isn't wasted processing power on recruits trying
to chase you down because they couldn't fit in the vehicle.
This will only apply when you are in a vehicle and signal a recruit. Being on foot when you signal will always use up to RecruitsMax.
[ Car Selector ]
This has been enhanced to now include any living recruits.
Recruits are whittled down to the number of available passenger seats and then warped on in just like the player so everyone is ready to rock'n roll immediately.
Had to implement a synced bi-directional cross script call for this one but it was interesting and gave me an excuse to finally do it :)
New property:
CarSpawner.UseHelmets=True // If True, and Warp is True and the spawned vehicle is a Boke, the Player and any Recruits warped to the bike will get helmets.
There appears to be a bug in SHDN where the ForceHelmet function doesn't actually work.
After roaming the raw ScriptHook API I implemented a new API method which "gives" the ped a helmet and then calls SHDN Ped.ForceHelmet. This solved the problem.
[ Car Repair ]
Now that AW provides recruiting the raw API used to remove the front windows now also removes rear windows for the same reason.
[ In-Game Editor ]
Made the selection colors for the lists much easier to see.
[ TickRates ]
Adjusted some rates up a bit as originally intended now that long term extreme testing phase is finally wrapping up.
They were extra aggressive to make it more likely to encounter problems faster, especially sync issues.
[ Performance ]
Enhanced performance a bit more with another quick pass.
[ Internal SyncAbort ]
Implemented internal sync abort so all scripts can instantly know they should dump their current operation for cleaning up.
This applies to heavy hitting or iteration based code where my global sync pool forces the scripts to perform busy checks.
With this in place it is now possible to have a faster clean-up when AW gets toggled off without causing additional problems.
The Car Crews will always take the longest to clean up due to the nature of it. Messages will say to wait for clean up to complete.
Always wait for clean-up complete messages when toggling off before doing anything else.
This does not apply to Player Assist core. It is exceedingly fast in its operation generally.
Added an additional sync structure so the entire system now knows when all enabled cores have cleaned up and able to now show an accurate, final "Everything is cleaned-up" message when it goes offline.
This applies to the war cores not player assist.
[ Fixed Bugs ]
Fixed a sync bug introduced with the recent addition of player recruits.
Fixed a bug in an API call.
Fixed a few messages that were not controlled by debug property.
Fixed a bug in TogSync where it didn't have the recent in-game hotkey ability applied yet.
[ Known Bugs ]
There's a leak in Mayhem somewhere.
[ Bugs ]
Fixed a critical bug introduced related to hot key toggles in v184.108.40.206. The war cores will no longer be affected by the player assist toggle.
Fixed a typo. Let me know if see any more.
[ Recruits ]
Added some new logic for recruiting after messing around with it for a bit.
PlayerAssist.RecruitingSkipCops=True // If True, Police will be skipped when nearby Peds are considered for recruitment.
PlayerAssist.RecruitingUseHonk=True // If True, and player is in a vehicle, player will tap honk a couple times.
This will also be used in place of a message. The message will still show if not in a vehicle.
If the honks occurs, then a ped was in range and summoned to you. If not then the no peds message will still display.
PlayerAssist.RecruitsMaxBlockTime=8000 // Controls the minimum time in milliseconds a new recruit has before they're allowed to respond to world events.
This is used to prevent recruits from dropping their task of joining the player in a vehicle when they've just been recruited and something else gets their attention like combat.
The default gives them 8 seconds + innate animation times to make it to the vehicle regardless of any war raging around them.
This is only applicable if the player is in a vehicle when the recruit was signaled, only applies once, and only applies to new recruits.
Recruits already in combat when the player enters a vehicle will/may not automatically join in the car. This is normal behavior.
When a ped is in combat they are focused on living and killing the target, so just because the player entered a car doesn't change that.
PlayerAssist.RecruitSenseRange=100 // Controls the sense range applied to new recruits.
[ Hotkeys ]
it is now possible to directly change all hotkeys using the in-game editor.
They will take affect immediately when the changes are Saved using the Save command on the interface just like everything else.
Player assist and the war cores should still be turned off before making any changes, including hotkeys, just to help insure no issues.
Just kick them back on after making and saving changes.
[ Key Chart ]
Added a AW.KeyChart.2010.Txt file with default keys for external reference.
Hotkey Reference. Use AW.Config.2010.exe to change these.
TogglePlayerAssist: F9
ToggleAmbientWars: F10
AccelerateVehicle: CTRL+A
InGameEditor: ALT+E
RecruitNearbyPed: ALT+P
RecruitsDispose: ALT+CTRL+P
ShowCarSpawner: ALT+C
ShowSaveMenu: CTRL+S
UnlockAllIslands: CTRL+U
DumpVector: CTRL+V
[ In-game editor ]
Added a read-only hotkey reference list so it's easy to see or remember what the key maps are.
To change hotkeys the external editor needs to be used.
[ Player Recruits ]
Began adding a new ability to recuit nearby peds to assist the player. This will need work over time to get it fully bug free.
If you are within 10 radius of a healthy non mission ped pressing the hotkey (ALT+P default) will arm them, heal them, armor them and send them your way.
Pressing ALT+CTRL+P will dispose all current recruits.
Some new recruit related properties can now be found in the Player Assist property list.
One of the properties (RecruitsGetPlayerBenefits) can be used to apply certain benefits the player gets to their recruits as well. This happens at tickrate.
[ In-game editor ]
Added a War Presets selection list.
Added an automation list.
Broke the glass more to represent carnage.
Created another top command bar while goofing around.
Finished the 1st draft of an in-game configuration editor.
You should always turn OFF all the cores before bringing up the editor and making changes. Although I have in fact tested it without doing that, it is less likley to cause issues if the cores are turned off 1st.
Also note there is stll no data validation so entering invalid data will cause problems as always.
And finally the controls provided by SHDN are very limited and do not provide -many- features common to the types of controls they simulate.
This is understandable because HazardX would have had to hand code these anyway since they are likely technically using Direct3D.
I have overridden and inherited many underlying controls and coded up missing functionality however I do not have access to the true underlying objects so I can only go so far atm.
Things I've enhanced includes making it possible to scroll list boxex with keyboard arow keys, have the scroll bars track, object linking etc etc.
The editor will get expanded eventually to include some way of using war presets. There isn't a combo box equivalent so the likely replacement will be a listbox instead.
Removed a debugger call that was still in test code added recently to the Load button of the config editor.
[ Hotkeys ]
Realized the dev keys I've added for troubleshooting are simply wasting key binds users may have in something else.
So now the binds simply won't even happen unless it's on my rig. These are in place to assist me and now prevent having to keep removing the things before releasing versions.
[ Common Properties ]
Fixed bug where some underlying common properties weren't fully applied to inherited objects.
[ Crew Passengers ]
Oops. Forgot to remove a flag check which prevented full car crews. Cars should now be full again when reserves are actually available for them.
[ AllThugs ]
Found and fixed a bug where some properties weren't being applied correctly. This includes blip scales, some file names and others.
All properties in AllThugs should now be correctly applied to the war cores. This includes dynamic loading as well.
[ Blip Scales ]
The scales have been lowered further so they are less annoying on the radar when enabled.
[ Direct ScriptHook API ]
Since it is unknown when if ever SHDN will see another release that fixes critical known issues, I have enhanced my API class further.
It now includes a number of direct calls that entirely bypass SHDN versions and the result is very good.
These include but are not limited too real-time entity validation checks that are not cached like the SHDN versions and report the real status of the object when it's needed, any time.
These also include warp related and other operations.
The end result is a more stable Ambient Wars operation because it gets critical real-time results from the game instead of depending on SHDN results that are cached and very often cause failures, when it wouldn't have too, because of the cached nature.
Having cached results as SHDN does may be good for less complex mods, however it is proven unsuitable for Ambient Wars because of what it does, how much it does, and how often it does it.
Luckily I am still able to use the majority of the excellent .NET wrapped features of SHDN and greatly enjoy using it.
As other problems are uncovered identified as being caused by cached results, new API calls will be created to replace them. This will provide a better Ambient Wars deployment strategy that doesn't rely on SHDN being updated to fix the problems.
[ Independent Toggles ]
The Player Assist core is now entirely seperate from the war cores.
F9 now toggles the Player Assist.
F10 now toggles the war cores.
This allows using Player Assist while on missions where the war cores can not be consistently used without problems.
[ Dynamic Configuration ]
A core must have been turned on at-least once in a game session for the following to apply.
Loader code has been enhanced and now reloads all property blocks from the configuration file when the core is toggled on again.
This allows changes to be made to the config file and see those changes reflected simply by toggling on the relevant core again.
This is early stage code so some properties should not be changed for use like this and instead use the normal ReloadScripts commands.
Examples of properties that may cause odd behavior if changed and reloaded using this feature until code to deal with it is created include Enabled and Hotkey bindings etc.
[ Reserve Corp ]
A new system has been built and serves as a recruiting, configuration, maintenance and release system for Car Crews and Street Thugs.
This eliminates the "dragger" issue and help further reduce but not eliminate the long term statue phenom. If the war cores are left running for extended periods without repeatedly toggled on and off then statues are less likely to show, take longer to show and are generally reduced in numbers.
[ Rage Mode ]
A new mini rage system has been created and allows changing general behavior applicable as described below. This is in the AllThugs property section.
RageMode 1: Policy - It's still moving. Shoot it again. The city is in total war with no loyalty of any kind. This is the normal, default mode.
RageMode 2: Policy - Cop Killers. All Thugs will mostly focus their rage on the police whenever and whereever they encounter them, and mostly ignore anything else.
RageMode 3: Policy - Brothers in Blood. All Thugs will mostly focus their rage on any living thing except other Criminals.
Medics and Firemen are now automatically excluded from any rage include mode 1.
Felt bad about seeing those guys get hit. Plus, it's more fun seeing the ones they just helped get shot in the head in a drive-by as they are standing up again :)
If this is set to any value other than those listed above an exception will be repeatedly thrown with a message to go fix it.
[ Thug Models ]
The file is still required for now, but the models are no longer used. This is because the new reserve system and the inability of any known method to update a game-created ped entity with a different model after it already exists.
[ Mayhem Disabled ]
The Mayhem core is internally disabled until it is updaed to use the new systems and enhancements being applied to the thug cores.
[ Weapon Chances ]
The Weapon chance code has been updated and is now operating as originally intended.
All weapon chance properties are now pre-sorted with the lowest numbers (highest chances) tested first, then next highest numbers etc.
The global randomizer is now also re-seeded providing maximum random chance selection behavior.
Car crews will always (in addition to) get a suitable weapon they can use out a window regardless of the chances to have other weapons too.
[ Spawnable Cars List ]
The list has been updated and now includes previously disabled models.
Thanks to Motorsport71 for spending time and snatching the names from the ide file for the ones that are named differently in the handling file.
[ Performance ]
Performance has been slightly enhanced further with a new entity system that can in many cases bypass the need to gather further entitites until its current known supply is exhausted.
This results in occasional bursts instead of continuous heavy hits which is perfer based on my own testing.
[ Debug ]
A few more debug related properties exist.
[ Fixed ]
The Mayhem core should no longer count the headers and spaces in the spawnable cars list in the totals count.
[ Troubleshooting ]
Updated the file with a note about turning off clip capture that help some folks.
Emergency release due to trying to assist with a rare issue only some may experience.
[ Debug ]
A new Debug property class has been created to try and provide work arounds for 1 or more issues some people experience. It may grow over time.
Debug.UseTaskSequences=True // If False, the use of a task sequence object will be replaced with an alternate direct single task call instead.
[ Police ]
A new Police property class has been created and its first role controls the creation and clearing of standard LCPD.
Police.ClearLCPD=True // If True, then ClearLCPDRadius around the Player will be cleared. This is NOT elegant but it works.
Police.ClearLCPDRadius=400 // If ClearLCPD=True, this radius around the Player will be cleared of all standard police.
[ Weapon Chances ]
Ok the weapon arming code with weapon chances is back in operation so have at it. See notes in editor on AK47 for general info.
The default chances have been reduced to 1 in 5 for most except the most dangerous and those are about 1 in 15 to 1 in 20 now.
[ Car Crews Reborn ]
I've re-written substantial portions -again- and implemented a substantial new reserve corp system, so custom thug models are back and so are packed vehicles, except this time their drivers could be anything from old men to librarians. This is not perfected see note in Bugs section.
The MinCarCrewPollRadius is back to 50 and is now used in conjunction with OnScreen checks. This helps minimize pop-in for SOD factor while allowing them to spawn -very- close (much closer than 50) when they are NOT on screen as much as possible.
[ Blood Sport ]
As requested by knightofni on the boards, there are now options to get melee weapons only, or fists in the city. I will look into also adding an option to remove all police in the next build as I think that would help your intent, and it could be very useful for other things in the future too.
AllThugs.NothingButFists=False // If True, nothing controlled by AW will have weapons at all. This overrides all other weapon props.
AllThugs.NothingButMelee=False // If True, nothing controlled by AW will have non melee weapons. This overrides all other weapon props except NothingButFists.
[ Weapon Chances Still Old ]
Just to re-note I still have not looked into the weapon selection code but I might finally get a chance too in the next build we'll see. So until then changing chances may have no affect as noted in the editor.
[ Mayhem ]
API class enhanced to add more types of damage to cars involved.
[ Misc ]
Made various changes to try and address occasional script aborts seen by Motor and possibly others. These do not include fundamental SHDN issues that need addressed in the long run, althuogh some try to work around SHDN in related cases.
Reimplemented AmmoMin and AmmoMax usage in the arming code. The arming code still needs a serious look and overhaul as noted above and in the editor.
Some properties marked as unused or obsolete.
[ Bugs ]
The new thug reserves corp is slowly losing their numbers over time. The net effect is a slowly diminishing supply of available crew members as the war rages over very long periods.
There may be an occasional [ EXCEPTION ] with a null object during initial startup. This is a trapped .NET issue and not an abort so if you see this you can use F9 to restart the system without a game restart. I will track this down when I can. I believe it's related to init of the reserve corp but not certain yet.
Updated: I may have resolved this issue. Report it if you see it at startup.
[ Fixed ]
Fixed a leak in street thugs that occasionally surfaced when toggling AW state.
[ Performance Pass ]
AW is undergoing its first performance analysis pass for areas where performance can be optimized or made more effecient.
New properties, code and other factors will be created, changed or deleted applicable to the goal.
CarCrew.MaxCarCrewPollRadiusOptimized=50 // Now controls the final pass and can increase performance. If to few cars are being returned increase this to increase the amount.
CarCrew.PedScooperMaxRadius reduced to 80.
StreetThug.MaxStreetThugSpawnDistanceOptimized=50 // Now controls the final pass and can increase performance.
Performance.UseOnScreenChecks=True // If True, certain operations will use this instead of distance based calculations.
There is a caution associated with this. See config editor.
[ Ambient Wars Object Policy ]
Due to the recent changes where existing objects the game itself has created are being used instead of AW explicitly creating them, a project wide change will take affect in conjunction with it.
Previously AW would automatically delete objects under its control in many situations, mostly related to garbage collection. This behavior will be changed to simply release them back to the game.
The reasoning is simple. The game is not expecting these objects to be arbitrarily deleted outside its normal logic in general, because they are objects fully under its garbage collector and recycler.
I believe the game may have trouble in the long run (just a hunch for now) with these objects suddenly vanishing from its pool, where it can not account for it in its GC or recycle stages. So to
stem any possible issue this may cause (if I am correct) I am going to implement this change and see what happens.
[ Car Crews ]
MinCarCrewPollRadius is now being used in conjunction with MaxCarCrewPollRadius returning a random number between the 2. This provides a better randomized experience or variance in their locations.
[ Street Thugs ]
Idle Street Thugs can now steal cars instead of always just continuing to go insane.
StreetThug.MaxChanceStealsCars=4 // The max chance (higher is less likely) an idle Street Thug decides to steal a nearby car.
StreetThug.MinStreetThugSpawnDistance reduced from 15 to 5.
AllThugs.MaxChanceWantedByPolice=5 // Max chance (higher is less likely) any thug in any core is immediately wanted by the cops. See notes.
[ Car Spawner ]
Because the Player Assist core is now fully operational, the Car Spawner will no longer make any changes to the player at all including wanted level, health, etc as it previously did.
The former behavior was intended as a temporary measure until the Player Assist core came online.
[ Misc ]
Removed the x64 version link of the 2010 C++ redist from the TS file, as the core ScripHook is only 32 and the x64 won't resolve the issue where some people need the latest. Only the x86 will.
[ SHDN Exists() ]
Because SHDN.Exists is a cached result updated only once per frame, AW has new code to bypass this and directly call the core ScriptHook object check methods in real time. This is optional.
[ Performance ]
Performance.ThreadWait increased to 500.
Performance.ThreadWaitFine=200 // Will be used in situations where a heavy operation failed and throttle until the next occurs.
Performance.UseNativeObjectChecks=True // If True, AW will directly call native functions to determine if an object still exists instead of depending on SHDN.Exists versions.
This is a new feature intended to bypass the cached SHDN.Exiss result in favor of a direct ScriptHook object null ptr check in real time.
[ Bugs ]
The car selector might cause an unexpected reset or change in certain properties including the enabled status of all cores.
The GetCarsLoadedUp method that uses WarpIntoCar can not be stabilized and has been disabled entirely for now.
[ Fixed ]
Exceptions were not being logged.
Finally saw the private build tag was still in the logs. It's been removed.
Updated header to reflect the 2010 version of the project.
[ Properties ]
Deleted an obsolete property.
Moved property ThugModelsFile from CarCrews to AllThugs base so it can be inherit by Street Thugs too. This is in prep for later when / if a way to change an existing entity model is found due to the recent changes in the way Car Crews are created.
Increased CarCrews.EngineQualityMin from 60 to 250 so they start with a better low end car if this is the random low selected.
Decreased StreetThug.MinStreetThugSpawnDistance from 55 to 15
Decreased StreetThug.MaxChanceStreetThugCreated frpm 3 to 2
Decreased StreetThug.MaxStreetThugSpawnDistance to 100
Decreased StreetThug.MaxStreetThugRetentionDistance to 130
Increased a number of tickrates as some recent changes hopefully require less execution cycles.
[ Auto Remove Windows ]
I (and probably you too) got sick of constantly having to re-break the windows for shooting after car is auto repaired. That is no longer a problem. I added a new call to my API wrapper that knocks this issue right out.
PlayerAssist.RemoveWindowsOnRepair=True // If True, and the car was repaired during tick, then the left front and right front windows will be removed.
[ Config Editor ]
Added a new automation menu that can bulk enable / disable cores and blips including exclusions. Very handy / fast for testing or quick changing these particular settings. It may get extended.
- War Presets
Added a new War Presets combo setting a number of properties in bulk for quick change of the most relavent properties.
Note some of these, especially Rebellion and Armageddon are/can-be extremely taxing on a system.
The number of properties changed in bulk will grow over time. Use the spitter above the bottom log panel to see propeties being changed by selections.
The default as shipped will always be Ambient.
[ Performance ]
A new Performance property class now exists and will be used over time where or when I think of, discover or uncover things that can be used to explicitly boost performance generally.
The entire project still needs a serious performance-focused analysis pass but this new class is a quick way to increase performance a little as follows:
Performance.UseLowPriorityThreads=True // If True, all AW script threads are set to Low Priority.
Performance.UseBackgroundThreads=True // Intended for use in conjunction with UseLowPriorityThreads.
Performance.UseThreadWait=True // If True, each heavy operation in all applicable AW threads will wait after.
Performance.ThreadWait=333 // A millisecond time all applicable AW threads will wait if UseThreadWait = True.
Made some more changes to get back a bit more performance in certain areas.
[ Ped Scooper ]
The new code has been made configurable so a choice can be made to allow or disallow how it operates with respect to scooping for crews. See additional comments in the config editor.
CarCrew.PedScooperFlexible=False // If True, the ped scooper will snatch them for crews even if they are in a vehicle somewhere, otherwise they will be skipped.
CarCrew.PedScooperMaxRadius=120 // It will be allowed to reach up to this range looking for candidates.
CarCrew.PedScooperMaxCache=30 // The max allowed to scoop and cache. The cache is used to help performance preventing a billion repeated calls.
* There is a performance warning associated with these. See config editor.
CarCrew.PreferMoreSeats=True // Not implemented yet. Intended to try and increase the probability of heavier crews.
[ Bugs ]
- It's occasionally possible for a street thug to be in the air. Cause unknown and will be investigated.
[ Fixed ]
- Fixed a bug where a Rogue crew member had a blip created even if CreateBlips was False.
[ Car Crews ]
Due to the ever present, as-yet unsolvable long term play statue syndrome related to creating car crew peds from thin air and eventual statue form, the car crew code has been dramatically altered and now uses civs already existing in the world, specifically already in vehicles. This is an attempt at discovering if this change eliminates long term statue problems. From current experience, Street Thugs do no exhibit this problem, and because they are existing entities within the game, is the reason car crews will now also use existing entities so we'll see.
An obvious side effect of this change is the use of thugmodels is temporarily disabled until I find a method of directly updating an existing Ped model to another model. If you know a native method sig or otherwise know how to do this shoot me a message on it at the forums and I'll implement it so thug models can return faster.
This new technique has all but eliminated the dreaded statue issue based on my testing, so I will keep this new strategy and go forward with releasing this version now, as it has a number of other extensive changes as well.
Mentality changes:
- Crews that have an immediate car failure (internal open chance) now have a 50/50 chance of being violent to the player regardless of MaxChanceHatesPlayer.
- Crews that wind up outside their vehicle and trip the Rogue chance or are Idle now have a 50/50 chance of being violent to the player regardless of MaxChanceHatesPlayer.
Movement checks:
- The code monitoring a crew in an apparent stuck car is now more tolerant in giving them time to get it moving again and is also now more vriant in how much time that is for randomness.
Advanced Scooper:
- Since the changes to crews moves away from creating entities the game has problems with and instead using those it has already created, I've now created an additional set of functions that help fill a vehicle up when it at-least gets one that already has a driver as required. This further reduces the solo Leader phenom and also helps get full loads in 4dr again much better.
[ New Properties ]
CarCrew.MaxChanceOldTires=4 // Max chance (higher is less likely) 1 or more tires on a crew car have seen so much extreme driving they are about to blow out.
CarCrew.MaxChanceSoloLeader=6 // Max chance (higher is less likely) an evaluated car is allowed to have a solo Leader out on his own looking for a crew instead of having one already.
Note this should naturally occur more often at night, as there are fewer cars with more than 1 occupant generally.
It is eventually anticipated that I will add a new set of logic so a solo Leader will be solo less often by using existing entities. This is part of reducing statue formation by not creating new ones on the fly as before.
[ Street Thugs ]
The min and max times for custom tasks has been reduced.
[ Blips ]
In an attempt to increase performance as well as potential stability or statue-form, Blips are now created and destroyed immediately. They are no longer retained for garbage collection later.
Ny testing has shown the game has a more limited resource pool than was previously thought, and due to the way I now create and destroy blips immediatey, where in many cases the delete fails because the game supposedly nulled it, in reality the game TOOK it and therefore changed its mem ptr, because later you can start to see the game recycle peds and cars randomly into the game world and see a purple blip ped walking along a sidewalk, or a green blip car driving along. So this was important and I will keep the new strategy and no longer retain blips for extended periods (for updating colors) as it appears to cause the game real problems over time.
[ Performance Specific ]
UseThreadWaits is now True by default and should provide a boost in performance by self throttling heavy hitting operations that can iterate more than once per TickRate.
[ Bugs ]
There may be times when car crew drivers are more retarded / less reactive than they should be. I'll look into this some time next week when I get a chance after getting back to my contract site out of state.
Fixed a bug where a much smaller dev test setting was still being used in place of MaxCarCrewPollRadius.
Fixed a bug where a suitability check on a car was after instead of before a mutually exclusive check and resulted in an inop car.
Fixed a bug related to snatching street thugs.
From the Readme file (partial):
************************************************** ************
Ambient Wars Revival 2010 v126.96.36.199 - It's a war out there ...
************************************************** ************
I will say a short summary of the key components but can not possibly describe everything and will not attempt to.
The city used to be full of bland, stupidly boring drivers that do nothing but clog the roads and tail each other like lemmings. I guess that describes plenty of real life drivers and roads too. A new breed of folks have moved into Liberty City now, and they intend on ripping the city apart in any way they can.
Core Components:
Car Crews:
Car Crews are Thugs. They have a Leader and their goal is essentially to take over their territory. But this will never happen, because no crew has loyalty with any other. So the result is a constant battle for turf all over the city. And speaking of loyalty, that is in short supply too. If the Leader fails to continue allowing its members to rampage as they require, there is a high probability (configurable as are a billion things) they will turn Rogue and punish those around them for screwing up their objectives.
Street Thugs:
The Civilians of Liberty City have taken note of, and are not immune to, the effects of these crews. Many have themselves turned to violence as a means to accomplish their objectives if they have one. It's also brought out the simply-insane that just want to take part and themselves enjoy turning the city to ash.
Due to the constant, endless war that now rages, the previously dependable vehicles of the city now suffer tremendous shortages of parts and good maintenance practices. The result is an ever increasing list of common mechanical failures. These range from simply blowing out tires all the way to a car having a lot of simultanious failures from the lights to the hatches to the motor and tanks. The nastiest are stuck throttles if the other failures are present, as these essentially become out of control missles headed in out of control directions. It could be a building, another vehicle or worse it's headed for. Regardless of what that is, unless it's ummune to fire it's going to burn, and in many cases it's going to explode. Badly.
Another side effect of these failures directly affects Civs themselves and not just related to vehicle maintenance either. The weapons they carry are seriously becoming degraded and are dangerous to the owners too, not just their targets.
Player Assist:
Due to the nature of everything described above, the default abilities and resources available to us as players is now totally insufficient. The Player Assist component addresses a huge amount of configurable options so we can make it be exactly how we want it to be. The default settings that ship with AW have a little regeneration turned on for health, armor and ammo, as well as vehicle regeneration so we can keep the action going if we choose to drive without having to constantly change cars. But that's also easily done too with the Advanced Car Selector.
Advanced Car Selector:
While helping me debug and test both the orginal project during experimentation, and especially in the new project, Motorsport71 (more on him in Special Thanks) mentioned in pssing "maybe a car spawner would be cool?".
Yes, yes it would. After creating the initial version, I wound up growing it into a fairly hefty system unto itself and it's now capable of being used to instantly select vehicles from an origanized customizable list, including base and feture colors, and bring it into the world with the engine running, the player in the driver seat and boom. Just spawn and drive or fly away.
From the Requirements file:
Ambient Wars Revival 2010 v126.96.36.199 - Requirements
PC GTAIV version 18.104.22.168 or later. Previous versions may work, but they are not tested or supported by me.
Ambient Wars Revival v2.x or later.
GTAIV ScriptHook 0.5.1.0 or later.
GTAIV .Net Script Hook v18.104.22.168+ BETA or later.
XLiveLess 0.999b7 ASI Loader or other functioning ASI loader.
Microsoft .NET 4.0 Framework or compatible.
You can find ScriptHookDotNet and links to everything else except Ambient Wars at the following support site:
You may use any functioning ASI loader you want. I use XLiveLess because it is 1 file (Xlive.dll) and it works. It can prevent saving in the normal way using beds so you may want a different loader. I use CONTROL+S provided by Ambient Wars to save whenever and whereever I want (except while driving...) so I could care less about bed saves not working. Auto saves work as normal regardless.
1 - Copy or unpack ScriptHook.dll, ScriptHookDotNet.asi and xlive.dll (or other ASI loader) into the root of GTAIV.
2 - Create a scripts folder off the root of GTAIV
3 - Copy or unpack the contents of AmbientWars into the scripts folder.
4 - Load the game using LaunchGTAIV.exe (if using XLiveLess) or the game directly if using other loaders that support direct EXE launch.
5 - Enter the world and confirm ScriptHook is working by pressing the tilde key. If the command console opens then you have done it correctly and ScriptHook is running so press again to close the console.
5b- Optional: type ReloadScripts into the console and confirm ScriptHook reloads 3 scripts from AmbientWars. This 100% confirms ScriptHook is working in the game and can also be used after changing AmbientWars.ini file settings to have it reload your changes without needing to restart the game. If this is your intent then toggle AW off (F9 is default to toggle on/off), make changes, ReloadScripts, toggle back on, test changes.
6 - Press the Ambient Wars hotkey (F9 is default). If you see your health and armor flash and grow then AW has turned ON. If you see your health go to full and the armor flash between 50 and 100 then AW has toggled OFF.
7 - Let the carnage begin!
If you have problems or can not open the console in the game world read the AW.TroubleShooting.2010.Txt file for possible causes.
Close the game and remove the files you added.
From the troubleshooting file:
Q: Common Problem: You can't open the ScriptHookDotNet command console while in the game world and Ambient Wars doesn't appear to work:
A: That is not Ambient Wars failing. See the following.
If you can't open the SHDN command console while in the game world, then Ambient Wars likely isn't working either.
That's not Ambient Wars failing. That is ScriptHook/SHDN related:
If you've installed everything as specified in my ReadMe and pressing the Tilde Key in game (in the game world loaded, not the main menu) doesn't open the ScriptHookDotNet command console, that is ScriptHookDotNet failing to load, and it's probably because the core ScriptHook (C++) file needs one of the following redist updates.
Microsoft Visual C++ 2010 Redistributable Package (x86)
Microsoft Visual C++ 2010 Redistributable Package (x64)
Q: Common Problem: You have a functioning ScriptHook and when you turn on Ambient Wars you see an error related to access denied of files.
A: You are probably under UAC control and Windows is preventing access to required files. Run As Administrator = Problem Gone.
Q: GTAIV with Ambient Wars seems to crash / CTD often and random, especially when a lot is going on including huge explosions and a lot of action.
A: Disable ALL GPU and CPU overlocking and see how it does. Don't concern yourself with it running like shit. Concern yourself with a reduction in crashing.
If it reduces or eliminates the frequency it is crashing, then you have a hardware or heat problem you need to address to get a stable gaming experience.
Just a question: Will this function in EFLC (Episodes from Liberty City), or do we need to stick with vanilla GTAIV?
I've only been working on it with Iron for the original GTAIV 126.96.36.199, i believe that is the only supported format. I don't have EFLC so i haven't tried it.
***UPDATE*** See later posts, Ironhide got confirmation it does run on EFLC
Actually, this should totally work with EFLC because the core ScriptHook and SHDN layers support EFLC, and Ambient Wars simply uses whatever is provided by those layers. It is not game pack specific, unless those packs remove any vehicles, character models or core game functions used by Ambient Wars which iI highly doubt.
I can confirm this working on EFLC as well.
Very nice job, total chaos without any crashes !
Ironhide, I've sent you a PM on GTAForums
Excellent news this is the first confirmation of EFLC operation. Very much appreciate it!
A number of changes are already in place in the next version and about to be tested heavily with Motor before it goes live.
Sjaak327 check messages. Let me know immediately as requested if you find it possible. Messages here or there are fine though I am more likely to see PM's here (much) more often due to the home support thread being here.
I have a problem with your mod, it doesn't spawn many street thugs. and haven't seen any Mayhem peds and car crews . I turned the blips fuction on because I thought; there weren't many thugs(only 2 never seen anymore than that), or mayhem peds, and i don't get any of those colors that the blips fuction does and the reason i can say it doesn't work is because the different colors there i tried provoking them by shooting/driving into them and they just drove of like they would normally do, which i think is wierd. I've made some changes to the settings, thought it would give me some more of them, but no it didn't :/. I really would like this mod to work because the city is boring like ****.
Edit: I just killed my first Car Crew which consisted off 2 peds....
I did find one problem, I am not sure if it is related to either AW or the .net scripthook, but if either runs, and I alt-tab out of the game, I have to kill the process, as I can never get back into the game.
v126.96.36.199+ of AW no longer creates crews from scratch. It uses what the game has in the world. This is experimental to address the eventual statue-form problem that will otherwise occur. Turn up traffic density to max and see if there are more.
Set MaxChanceStreetThugCreated=1, reduce MinStreetThugSpawnDistance to 10 and MaxStreetThugSpawnDistance to 100, set MaxStreetThugPerTick to equal MaxStreetThugCanExist and see if more street thugs spawn. All of this depends on your machine. If you have things low, with low density and low resources, and generally low entity counts in the world because the game is trying to keep your performance up, you will not be able to force a different outcome without having the game being able to create more entities for use.
I find the game is usually only consistently alt-tab friendly if I first bring up the map with esc. When doing that I can tab with no problems, which I do constantly because of development. However if I tab out without hitting esc first to bring up the map 9 out of 10 times I can't tab back in, and this has always been the case (for me anyway) even with just the base game and no mods running of any kind.
i just left my machine run AW for 11 hours straight while at work. got home... NO STATUES!!!!!!! AW did slow down all processes though. For example, thugs were barily spawning, not much mayhem was going on, and CarCrews was selecting Peds and vehicles but not implementing them. I've noted before that AW tends to slow it's havok down over time, but my machine was running smooth with no hickups and again... NO STATUES!!!!!!!
There are definitely still quirks and glitches that need to be hammered out over time, and I need to stop adding new stuff soon and go into a performance analysis mode so I can refine and boost performance, but that damn statue business was a giant pain. A down side of the new approach is no custom thug models until a way is found to dynamically change the model of an existing entity. Another down side is the code now directly depends on existing entities, so machines with low resources or low settings have less available entities to draw from, which is directly proportional to how many things AW can "create" obviously. In the original approach I could create whatever I needed regardless, but the game as we've seen has a huge problem in dealing with that over time.
And I think I know why. The game is constantly recycling peds and cars as part of keeping itself within a 2gig footprint. And as you'll remember from one of my posts what we're doing is injecting content into the game on rogue threads the game is not aware of in the normal sense. It processes the thread because it's in the thread pool but it is clueless as to the nature of what it's doing or creating outside the control of it's normal collection system. So none of what is created in this manner falls within the games normal garbage collection and recycle except the fact it would be seeing higher numbers than it can account for, because it didn't create them, so over a long period of time it is probably litterally breaking its garbage collection. The stuff gets orphaned and stranded because the game isn't treating them the same as within its own collection system since it's not aware of or accounted for in that manner.
Switching to using what the game itself provides eliminates that problem at the cost of entity model customization. To get a stable long term war I'll definitely pay that price if no way is found to dynamically change models.
i was just playing for about 50 minutes when i got a car crews error in the script. Now i did adjust the poll radius MaxCarCrewLeaderTargetPollRadius up from 25 to 40 so that i got more vehicles filled with crews instead of having only two ( a lot of vehicles only harbor two members). But the error isn't what got me... it was the side affect. I turned off ambient wars and the remaining CarCrews weren't swept up by garbage collection, which has happened before. When i toggelled it back on the script was still "broken", which was expected. But when i hit the ~ then reloaded the scripts everything fired up normal...except the old Crews were still running around the world unchecked and not picked up by garbage collection even after a script reset. It sounds to me like the CarCrews got away from AW and ran for it!
I am going to reduce the radius back and lower the CarCrew numbers. The problem might be the GTA i'm running, i'm running my modded file, still v188.8.131.52. The script error came during a chase where car crews were driving two downloaded modded cars and i was in another. The size of the downloaded vehicles is anywhere from 2x to 4x the original vehicle file size. I have 34 replaced vehicles, extra blood, and the loading screen bypassed in this modded game. These models all have been thoroughly tested and do not have any texture errors, and i ran it for a half an hour before that before i made config changes to the poll radius and so on without any trouble. I then made it another 50 minutes. And almost all of the chases have been in modded vehicles.
I will actually just go back to my "unmolested" file and run it as the config is set from the download again. That would be the safest way to determine true car crew stability under factory software conditions. I'll post back with my findings.
We covered this many, many times previously.
When the script thread is aborted, which is the error you are describing, AW is not in control any more. It's been aborted. There is no mystery. When the script thread is aborted, AW isn't running any more and has no control over anything that was on the thread that was aborted. AW itself went away with the abort. The only way to clean up when a script thread is aborted is to restart the game.
I have all my settings on high, and there are lots and lots off peds all over the city so they shouldn't be a problem, and I have the settings you described, now im gonna check it ot and see if there is some improvement :)
War Presets Option
You situation made be think of something I hadn't yet. What I will do and include in the next release is create a War Presets type option in the editor. The defaults that ship with AW are specifically to be a middle of the road, background ambient war numbers and not a full out Armageddon. This is the default for 2 reasons. ( 1 ) so it is actually just ambient and not in your face every step you take no matter what and ( 2 ) it takes a LOT of horsepower to crank the numbers up and not utterly crush the CPU(s) depending on the type, core numbers and speed.
So here is what I'm thinking as far as a presets option:
1 Unrest - Low settings. 1 crew, 1 street thug, 2 mayhem.
2 Ambient - Moderate settings. 3 crew, 3 street thug, 3 mayhem.
3 Chaos - Elevated settings: 5 crew, 6 street thug, 4 mayhem.
4 Wars - High settings: 8 crew, 8 street thug, 5 mayhem.
5 Rebellion - Very high settings: 12 crew, 12 street thug, 6 mayhem.
6 Armageddon - Extreme settings: 16 crew, 16 street thug, 7 mayhem.
So it could be a combo box with these, you just pick one, save it and go. I will eventually need to make it so AW does a total re-read of all it's settings when toggling on off. Right now I think it does the bulk of them in the ctor which means only a ReloadScripts console command will cause a full re-load of settings changed while the game is running. Of course AW should always be toggled off before doing a ReloadScripts because if you don't and AW is running whatever it had control over will be lost and kept in the city which is bad because it will then have mission req peds and cars in memory and you do not want that in save games.
|All times are GMT -6. The time now is 11:39 PM.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2016, vBulletin Solutions, Inc.


text:
Byrnes gets a little payback with rout of Gaffney
Published: Friday, October 18, 2013 at 3:15 a.m.
Last Modified: Saturday, October 19, 2013 at 12:50 a.m.
DUNCAN — It appeared for two quarters that the Gaffney-Byrnes game would be the typical fight to the finish.
Photo Galleries
In the second half, the No. 2 Rebels would have none of that.
Byrnes (7-1, 4-0 Region II-4A) outscored the No. 9 Indians 36-7 in the second half to pull away to a 61-20 victory on Friday night at Nixon Field. With the win, the Rebels ended a two-game losing streak in the series. It also was the first time they won a regular-season meeting against Gaffney (5-3, 3-1) since a 60-7 win in 2009.
Byrnes also handed Gaffney's Shaq Davidson his first loss as a starting quarterback in 13 tries. The Shrine Bowl and U.S. Army All-American Bowl selection was held in check, finishing 9 for 22 for 193 yards. He added 15 carries for 52 yards and a touchdown.
"(Our defensive coaches) have really turned that whole side of the ball around," Byrnes coach Bobby Bentley said. "Those guys have responded. Those seniors who were running a totally different system, now they are buying into this thing."
Byrnes got on the board first as Shuler Bentley connected on a 49-yard touchdown pass for a 6-0 lead on its opening possession. The Indians responded to take a 7-6 lead into the second quarter as Hyleck Foster scored on a 1-yard run.
The Rebels took the lead for good on the first play of the second quarter as Isaiah Hill dove into the end zone from 2 yards out to make the score 12-7. It was the first of Hill's three touchdown runs. He also scored from 22 and 1 yards out and added a 46-yard touchdown on a screen pass in the second quarter.
Hill finished with 19 carries for 105 yards and four catches for 48 yards.
"This win was a real big statement," Hill said. "We talked about this before the season started. It left a sour taste in our mouths last year."
Gaffney got as close as 18-13 in the second quarter on a 35-yard touchdown run by Davidson. The Indians had an opportunity to add a field goal late in the half but missed wide left to trail 25-13 at the break.
Byrnes extended the lead to 32-13 on the first possession of the second half as Bentley found Shrine Bowl receiver Shaedon Meadors on a 17-yard pass.
Gaffney closed to within 32-20 on a second 1-yard run from Foster on the ensuing drive but could not get any closer. Foster finished with 18 carries for 43 yards.
"We didn't make any plays in the second half," Gaffney coach Dan Jones said. "When we let an opportunity to score right before the half get away from us it kind of knocked us off. I think they pretty much had a good scheme. We've been able to run the ball, but they took that away. We had to pass the ball, and we're not as fluid in that area as we need to be right now."
Bentley added touchdown passes of 40 and 27 yards to Tavin Richardson and McHam in the second half. He finished 18 of 28 for 352 yards with five touchdowns.
McHam finished with seven catches for 153 yards and two touchdowns. Richardson added five catches for 119 yards.
Najee Bowens capped the Rebels' scoring with a 68-yard run in the fourth quarter.
"We just went into halftime and talked about everything they do and their coverages," McHam said. "It was great to know we could drive down the field and score. We've got a high-powered offense and good defense, and it was good to know we could stick behind our teammates."
"We had a great meeting at halftime," Bobby Bentley said. "We came together as coaches and said we had to do the right thing. That was a great second half. That was tremendous. I'm really proud of our guys."
Reader comments posted to this article may be published in our print edition. All rights reserved. This copyrighted material may not be re-published without permission. Links are encouraged.