Convicted thief Albert Ganz is working as part of a road gang in California, when a big Native American man named Billy Bear drives up in a pickup truck and asks for water to cool off his truckâs overheating radiator. Ganz and Billy exchange insults and proceed to stage a fight with each other, wrestling in a river, and when the guards try to break up the fight, Billy slips a gun to Ganz, and Billy and Ganz kill two of the three guards and flee the scene. Two days later, Ganz and Billy kill Henry Wong (John Hauk), an associate of theirs. Later that same day, Inspector Jack Cates of the San Francisco Police Department's criminal investigation bureau joins two of his friends and co-workers Detective Algren and Detective Van Zant at the Walden Hotel to check out a man named G.P. Polson, who is in room 27. Jack waits downstairs while Algren and Van Zant head to room 27, where it turns out that G.P. Polson is Ganz. He kills Van Zant and Algren, and escapes with Billy, taking Jack's revolver.
The police station issues Jack a new pistol and fellow cop Ben Kehoe tells Jack about Ganz's former partner Reggie Hammond, who is in prison with 6 months to go on a three-year sentence for armed robbery. Jack manages to work alone in the search for Ganz and then visits Reggie at the prison. Jack gets Reggie a 48-hour leave from the prison so Reggie can help Jack find Ganz and Billy. Reggie leads Jack to an apartment where Ganz's last remaining associate Luther lives. When Jack looks around, Luther shoots at him and refuses to be interrogated, so Jack puts him in jail. That night, Reggie leads Jack to Torchy's, a redneck hangout where Billy used to be a bartender. Reggie, on a challenge from Jack, shakes the bar down, single-handedly bringing the crowd under his control. They get a lead on Billy's old girlfriend, but this also leads nowhere, as the girlfriend says she threw Billy out. Reggie confesses that he, Ganz, Billy Bear, Luther and Wong had robbed a drug dealer of $500,000 some years earlier and that the money was (and remains) stashed in the trunk of Reggie's car in a downtown parking garage. Instead of splitting the money, Ganz sold Reggie out, resulting in his incarceration. It was also the reason why Ganz and Billy took Luther's girlfriend Rosalie: they wanted Luther to get Reggie's money in exchange for her safe return.
Luther goes and gets the car, and Jack and Reggie tail him to a Muni station where Ganz comes to get the money. Luther, however, recognizes Jack, and Ganz and Billy escape, while Reggie chases after Luther. Left with nothing, Jack ends up going back to the police station and waits for Reggie to call. Jack goes to Vroman's, in the Fillmore district, to find Reggie, who has tracked Luther to a hotel across the street. Jack, humbled, apologizes for continuously berating and insulting Reggie. He lends Reggie some money to pay for a hotel room to have sex with a girl he's met, but as he leaves the club with her, he sees Luther leave the hotel. Luther gets onto a stolen bus driven by Billy and hands over the money to Ganz, who shoots Luther and presumably Rosalie. Ganz spots Jack and Reggie following them, and a car chase/gunfight ensues, which ends when Billy forces Jack's Cadillac through the window of a Cadillac showroom. At this point following a heated verbal thrashing from Jack's boss Haden, Jack and Reggie are ready to resign themselves to the fact that they failed to catch Ganz.
At a local bar, Jack wonders if Billy might go back to see his girl and use her place as a hideout. Jack and Reggie force their way inside and after a brief confrontation Reggie shoots Billy. Ganz escapes into a maze of alleyways, capturing Reggie, before being killed by Jack. Finally, Jack takes Reggie to go see the girl he had met earlier at Vromans. Jack leaves the money in Reggie's car, but asks for a loan on another Cadillac when he gets out a changed man. Jack disapproves and takes Reggie back to prison.

Question: Who shot Billy?
Answer: Reggie shot Billy.
Alternative answer: Reggie