Hey everyone Forest here ripping uh Sunday fund at NFL 30 box Flawless Treasures Football Mixer Random Teams. I'm gonna leave the results on screen for just a moment here and always find these latent sports cards.com. I'm gonna get my water bottle, give me one sec. Thanks everybody for joining and good luck. Let's do it. Let's start with some um some wildcard illumination 2020 or 2021 wildcard illumination. I'll just open this. Say Devante Smith, Elijah Molden, or sorry Elijah Moore, Protostar Michael Carter, Nashon Wright Auto Cowboys, DC Horn, all in there. Darius Tony, Protostar Trevor Lawrence, Michael uh Strahan or Shocking Rookie, Brooke Yachter for the Colts there, Kyle Trask, Comics, non-numbered, J2Fellay on a like cracked ice look, Hall of Lux to 99, J2Fellay is uh Jags, Frank's got a Hunter Long Auto to 75 Dolphins, Aziz Ojalari Auto Giants, non-numbered, Najiharis, Protostar, Comics, Najiharis that one's to 99, Steelers, Najihari, base auto Josh Bledsoe, I think that's Patriots or he was Patriots I'm not sure where he if he's still there let's see, Josh Bledsoe, still Patriots, still Patriots, Javonte Williams to 50, Broncos Protostar, Javon Hollendotto for the uh Dolphins, non-numbered, Shrey Lance, nice, two of three Shrey Lance of the 100 Stripe, Mation on the back there for you for the redemption and a Santhe Samuel to 199 for the uh Chargers, Santhe Samuel Jr. Let's go Leaf Valiant, all cards in this break shift, oh there are two, is that a mistake? No there's not a mistake because there's two top-loaded and two slabbed cards, interesting, Nico Collins Auto for the Texans to 35 and Chuba Hubbard for the Panthers to 50 on the autos, yeah we've got a Jacoby Stevens 95-10 on the auto to 99, Jacoby Stevens I believe Cowboys right, it's either Cowboys or Eagles, I get this guy mixed up every time, Eagles on the Jacoby Stevens to 99, 95, Gemmint 10 on the grade and a Stevie Scott the third, 95-10, number to 15, yeah 95-10, number to 15, I think he's Broncos, Stevie Scott Saints maybe, Broncos, gonna be Broncos, most recently I think it was there within the longest, he was drafted by the Saints with the Broncos the longest, uh Leaf Trinity now, this is a Marvin Wilson auto to 15, I think he's also Eagles, Eagles yep, Jamon Osbon auto 8 of 10, on Osbon is, agent I think he's Eagles as well, yeah Eagles on the Osbon, Kylan Hill 7 of 10, Clear Auto Packers, Jumbo Patch Auto Packers, Amari Rogers 43 of 75, Jumbo Patch Auto, Eagles, Devontae Smith 23 or sorry 25 of 25, you go Eagles, let's do some playoff, 2021 playoff hobby, call to arms Justin Herbert, Christian Barmore Patriots, Rookie Auto, number to 10, 9 of 10, Von Diggs insert, DHOP 1 of 1, Cardinals, touchdown 1 of 1, Deandre Hopkins, there we go, we'll get that mag for you, got Rookie Wave, Kellen Mont, Thunder and Lightning, O'Dell Beckham, Nick Chubb, got Nick Chubb, Jersey Card for the Browns, non-numbered, Mac Jones behind the numbers, Trevor Lawrence Rookie, Joe Triantrianca, no huddle to 10, Rookie for the Bucks, Baker, Justin Herbert on a Silver there, Silver Chrome, not numbered for the Chargers, Thunder and Lightning, ETN and Lawrence for the Jags, Friar Muth out of 100, Steelers Rookie, Rookie Wave, Jalen Waddell Dolphins, 400 points, call to arms Ralthusberger, Tony Gonzalez the 35 Chiefs and no huddled Jalen Waddell, or behind the numbers Jalen Waddell, sorry, let's do Phoenix Hobby now, 2021 Phoenix Hobby, definitely a good box of playoff, DAC to 199 on the Pink for the Cowboys, Darius Leonard on the Insert Auto for the Colts, non-numbered, Rookie Rising, Kyle Pitts, Falcons, Brett Favre, Teal to 150 Packers, Flamedovers, Josh Allen, Bills, yep this is a mixer by the so many products, Nick Bolton Rookie for the Chiefs to 250 on the Red, follows me towards the end of the mixer, DJ Moore Hot Routes out of 175, Silver Lamar Jackson Ravens, there was a case break before this mixer, Pink Rookie Patriots, Sean Wade out of 199, Flamedovers, Dak Prescott, Red Hot Routes, Browns, Odell Beckham Jr to 199, Jamar Chase, Rookie Silver, Bengals, Thurman Thomas for the Bills, number 235 on the Purple, Heatwave, Justin Herbert, Marchase, Trevor Lawrence to 199, Rookie Jersey Jaguars, Hot Routes, Jerry Judy, Cornell Powell, Chiefs, Rookie Jersey Auto to 75, Heatwave, DK Metcalf, Red to 250, Panthers, Christian McCaffrey, Baker Inserts, Yellow Hot Routes, Packers Color Match, Devonte Adams, 75 and a color burst, Texans Rookie Brevin Jordan, let's do contenders now, one hobby, one first off the line, hobby first, got Sermon and Schwartz gonna roll a die for both contenders boxes here, one, two, three, top, four, five, six, bottom and all the round numbers as a two, top for all of them, unless it's an auto or one of one, Rams Rookie Ticket Auto, Ernest Brown IV, Zach Wilson Rookie of the Year, and then I'd be on the lookout this week everybody for when we post the national breaks, Rookie Auto Steelers, Presley Harvin III, just keep an eye out, I'm not sure exactly when it'll happen, we'll find out more, I'll probably find out more tomorrow, I'm not working tomorrow, I want to know what I'm going to be doing in Atlantic City, it's a 99 playoff ticket to Rell Davis, Broncos, Variation Chiefs, Cornell Power, Rookie Ticket on Card Auto, what do we got here, 2001 Rookie Ticket Throwback Auto Dolphins, Jalen Waddle, boom, six of 10, dude that is sick, love the 01, big congrats Dolphins, so sick, Curtis Martin, yeah that's an absolutely nasty hit, Kyler Murray on the insert, supernatural Mack Jones, Falcons, Inc, Young Hay Koo to 199, Kawhi Liner's on a cooking show, I'm gonna have to watch that, first off the line now, gonna be tough to top that hobby box, Red Zone, Season Ticket, Bengals, Joe Mixon, Variation Rams, Rookie Ticket, Red Zone Auto, Jacob Harris, Mills & Mond, yeah boys, Michael Parsons, Rookie Ticket Auto, you go Dallas, Odafe Owe, Rookie Playoff Ticket Auto, Ravens to 99, Patriots, Christian Barmore, Playoff Ticket Rookie Auto, Packers, Kylan Hill, Rookie Ticket Auto, Winning Ticket Camara, Rams again, Ben Scoronic this time, Rookie Ticket Auto, Zach Wilson, Supernatural, Carter and Stevenson, Texans, Rookie Ticket Auto, Jalen Camp, there's a field's insert there, okay let's do some Chronicles now, 2-2021 Chronicles, Steelers, Pat Friarboot, Turn of the Century Auto, Chronicles Elite to 99, Lawrence Luminance, Rottlesberger for the Steelers to 49, Mond Prison Black, Prison Black, Rookie, Falcons, Kyle Pitts on the silver, Fante Smith, Davis Mills, Dwayne Eskridge to 1-99, Seattle, Trevor Lawrence score update, Ellinger, Kyle Pitts, Silver from score, St. Jamar Chase, Flux, Rookie for the Bengals, Red out of 99, there you go, Sinsey, Jaguars, James Robinson, Jersey Card to 1-99, Rondale, Prison Black, Justin Fields, Bears, Rookie, Saints, Marcus Colston, Ascension Auto to 75, Mack Jones, Mack Jones, Russ Schwartz, Ellinger, Rogers to 3-99, Falcons, or not Falcons, but up Packers, Darius Tony, Josh Palmer, all right let's see a big hit on Chronicles here, Silver, Prison Black, Rookie Eagles, Kenneth Gainwell, Mack Jones Luminance, Orange, Nico Collins, Texans Legacy to 75, field score update, Lawrence Base, Derek Carr, Jersey Card, Raiders to 1-99, Wilson Base, Kyle Trask, Demption for the Bears, Prison Black Signatures, Blue, Justin Fields, Big Redemption for the Bears, that'll be sick, I don't know at the top of my head what Prison Black, Blue is number two, Big Carr, we will mag that, Dawson Knox to 3-99 for the Bears, Silver Panthers, Rookie, Terrace Marshall Jr. from Flux, Ian Book, out of 49 Saints, Dynagon, Mack Jones, Justin Fields, Magnitude, Chase Base, Browns, Ascension Auto, David and Joku, 2-49, Collin Sutton Broncos, Micah Parsons, Prison Black, John Holland, Prism No Huddle, let's do Prism No Huddle, 2 boxes, Truba Hubbard, Rookie Disco Auto Panthers, First Pack Auto, Elijah Moore Base, Rookie, Red Disco Vikings, Patrick Peterson to 50, Disco All Out Packers, Aaron Jones, Disco Michael Thomas Brilliance, Disco Lockdown, Bears, Roquan Smith, Molden, you got Blue Disco Bills, Devin Singletary to 79, Rookie Disco Washington, D'Amie Brown, that's the variation right there, photo variation, Washington, Red Disco Lions, Rookie Penny Sewell to set to 50, Rookie Disco for the Cowboys is something on this card, Simi Fajoco, I'm going to send that if you box a wrapper with that one, something on it, I mean there's so much that hits retail, you just have to look for like the bigger brands, I mean you can look at, you can look at the brands that they sell them online too, a lot of people will like resell stuff, you see what they're selling for, Red Disco Brandon Cooks, Texans out of 50, and that'll give you an idea of like what's popular, all that, once you're looking to rip then there's a lot of stuff that's probably worth it, Jamar Chase, Disco Panthers, Christian McCaffrey, brands like Prism, AnythingTopsChrome, Bowman, Emergent, Michael Carter, Rookie Disco for the Jets, Mosaic, there's a lot of stuff, Disco Bills, Dawson Knox, yeah there's a good chance this shelf is full of stuff that just doesn't sell, Trevon Daze Rookie Cards, a lot of sets, Fireworks, Rookie Disco, Jagged, Trevor Lawrence, if you're looking for a specific player there's ways to find that Disco Seahawks DK Metcalf, you can search eBay and you can find a bunch of different types of like sets of Rookie Cards if you're looking for his specifically, Purple Disco Vikings, Randy Moss out of 35, Prism is a good one to look for, it's a huge checklist so you see a lot of Rookie's contenders, well if you rip contenders just make sure you rip contenders hobby, don't rip contenders, at a 15 here Rookie Pink Disco Washington, D'Yammy Brown, it's more expensive but the the retail is not worth it like in the slightest, Rookie Disco Break, Justin Fields Bears, that's like the one I would stay away from like for sure, if you're looking for a football, it's a retail excuse of contenders, yeah another thing is watch Breaks, that's a good way to do it, watch Breaks, search around on YouTube and Twitch and just see people open and stuff, Rookie Disco Jagged, a Tiffelé, Collins Disco, Kenneth Gainwell Eagles, Rookie, Sewell, Chupa Hubbard Rookie Disco, Panthers, J.C. Horn, Disco Ravens, Marlon Humphrey, Sean Wright, Fireworks Disco, Raiders is there and Waller, Rookie Disco, Chiefs, Legerius Snead, Second-Year Herbert, Disco Brilliance, A.J. Brown, Russo Cormoa, Disco Matt Stafford-Rams, Bears Rookie Base, Justin Fields, followed by a Disco Rookie Cowboys, Jabril Cox, Brown's Disco, Jarvis Landry, T.N. Rookie for the Jags, Disco Fireworks Vikings, Justin Jefferson, I.N. Jordan Rookie Disco Emergent, Devontae Smith Eagles, Disco Bucks Rookie Kyle Trask, that's not the variation, thought it would be, Disco All Out, Aaron Jones Packers, Surtain the Second, Fireworks Disco, Najee Harris Steelers, Wong Wu Disco, Buddha Baker Cardinals, Larry Rogers Rookie Disco Packers, N. Rookie Disco Niners, Trace Sermon, that's the variation, Short and Auto, Short and Auto on the Disco there for the no hot one, does say on average right, does say on average on those autos guys, I don't know, Panini would give us one if we got with him, I would think no, 2021 Mosaic hobby, yeah ribbon retail is a good way to figure out like what you like, especially if you're just trying to like collect and like start off, that's that's probably the best way to do it, just don't overpay for retail online, check eBay sales and make sure if you do buy something online that it's you know similar or that all the others you know a bunch of big sites will have it at the same thing you know, Rookie Blue for Washington, D.A.M.B. Brown to 99, Red Disco or not Red Disco, Red Mosaic, Allen Robinson Bears, Henry Insert, Justin Fields debut, Honeycomb, Eagles Rookie, Kenneth Gainwell, very short printed, parallel there, non numbered, Eagle Eagles, very nice Mosaic, Ray Lewis, Mosaic Rookie Packers, Eric Stokes, G, we got Pink Mosaic, I think Pink or Purple, it's a 49, so Purple Mosaic, Marcus Colston, Meta Mastery Saints, it's been a while since I've seen a Honeycomb, Dion Sanders Cowboys Mosaic, Red Mosaic Rookie debut, ETN for the Jags, in it to win at Mosaic, Tom Brady for the Bucks, Trevor Lawrence Base, Texans Mosaic, Andre Johnson, Silver Niners, Fred Warner, Trent Ammons Mosaic, Bills, Red Mosaic, Jags Rookie Jalen Camp, Swagger CD Lamb for the Cowboys Mosaic, Seth Wilson, Lions Mosaic, Barry Sanders, Silver Rookie, Washington, Dax Milne, Sup Chris, you enjoying the draft? Silver Stairmasters, Aaron Rodgers, Jamar Chase debut, Red Sox have two draft picks so far and two future Hall of Famers, pretty cool, 600 points random to all at the end, Mosaic, Falcons, Young Haiku, Silver Rams Leonard Floyd, I imagine you're exhausted, yeah, White Mosaic, Jags, DJ, Charke to 25, love the White Mosaic, Silver Pats, Cam Newton, Lawrence debut, oh boy Chris, that's the most raised thing I've ever heard of, and he's gonna be a 10-time Silver Sucker, 25-time Gold Glove, got Mosaic, Chiefs, Tyree Kill, Silver Pats, Rookie Christian Barmore, Montage Cover, or they'll trade him for like, they'll trade him for Walker Bueller and Tray Turner one day, Auto Cam Chancellor, Seattle, Mosaic, Bengals, Joe Burrow, Red and Michael P. Ryan Jets, I'm not, I'm not a big retail guy, I don't know what's good and what's not for the furthest part, City and Football 2021, got Marquis Brown, out of 25 Ravens, Vitrius, Die Cut, Orange, Seahawks, DK Metcalf, it's 25, 6 foot 4, 250 pounds at 18 years old, yeah that's pretty crazy, any hits for power, not surprising, Jersey Card Bengals, Joe Mixon, number 275, March Hays to 75, Rookie Triple Relic, for the Bengals, Blue Finite, one of one, Auto, Tim Brown, there you go, Vegas, awesome hit, Hall of Famer, Tim Brown, underrated goat, get that magged and 400 points right there, random at the end, two playbook and two limited coming up next, both 2021, Michael Carter, Rookie Jersey to 299, Jets, Rashad Bateman, Jersey Card to 149, Ravens, Lions, Billy, Sims, Jersey Auto to 199, and Steelers to 299, Rookie Jersey Auto Book, Pat Fryermuth, is it even a joke, Chris? Jersey Card, Darnell Moody to 99, Bears, Game of Inches, Book to 49, Trey Quansmith, Saints, Dual Jersey, Trey Quansmith, good enough to get his own book, UCF Knights of Legends, Cowboys, Rookie Auto, Jibril Cox, 4 of 10, and Dolphins, Jaylen Waddle, Rookie Auto to 35, nice hit fins, limited now, Jaylen Waddle's Auto on some of his stickers to look better than his Auto and Flawless, the guy on TV's hair right now is absolutely insane, oh my god, who was that? He looked like he was in in sync, got Rookie Tribute, Greg Newsom, so anybody watching MLB Draft, what the heck was that?  I had more than like one points card in every mixer for the past like month and a half. Taylor Heinecke to 149, Washington, Lions, Rookie Patch Card, Almond Ross, St. Brown to 25, big RPA 49ers, Trey Lance, 3 of 49, boom, big stripe down the middle of the patch, that is sweet, if that magged up for you, 49ers spots, Lions, Almond Ross, St. Brown, Rookie Patch, Auto to 199, nice hit there, Lions, Kylin Granson, Colts Rookie, Auto to 49, Miles Garrett, Tribute, you want to see a one-of-one Ben Jarvis, Green Ellis, you know the law firm, to 149, Browns, Nick Chubb, and Vikings, Rookie Jersey to 99, is Kenan Wang Wu, let's do some 2021 contenders optic, two boxes, a base card, Russell Wilson and Nico Collins, Raiders, Rookie Ticket, Auto, Orange, Alex Leatherwood, numbered 250, 49ers, Eli Mitchell, Cracked Ice, Rookie Ticket, Auto, Heck yeah 49ers, crushing it 4 of 22 on that one, Rookie Ticket, Red, Jamar Chase, Bengals out of 175, and winning ticket blue Travis Kelsey Chiefs to 99, yeah I'm trying to pull a Kevin Fault one-of-one, Baker Mayfield, Ron Dale Moore, the 22, Cracked Ice, Rookie Ticket, Auto, Patriots, Sean Wade, two cracked ice, and uh one in each box of contenders optic, good boxes, make that three cracked ice, quitty pay this time, Rookie Ticket, Auto, Colts, one and a half cracked ice per box, and this mixer on average, contenders optic boxes, Silver Rookie Ticket, Seahawks, Dwayne Eskridge, and splitting image, Alvin Camara, St. Silver, two 2020 select retail hangers, yeah what's she in front of me, we've got uh two of the hangers, got Spectra, two NC, a flawless case, and we got the helmet still to come, all base here, Maroon, die cut, these will be non-numbered, Premier level, St. Drew Breeze, John Hyde Tower Eagles, hey nice, Justin Jefferson, a concourse, there you go Vikings, and Joe Burrow, congrats Bengals, club level Rookie Maroon, die cut, there you go, Sinsey, Silver Club level, Rookie Tyler Johnson, Bucks, Jaylen Hertz, insert there, Jonathan Taylor, and Evan Jefferson field level, Kevin Falker, Lawrence Moroney, at least Kevin Falker is solid, so Herbert Concourse, so Higgins, Maroon, die cuts, got Premier level, Antonio Gandy-Golden, Washington, Jacob Eason, Colts, Concourse Jerry, Judy Broncos, and a Jaylen Hertz, good hangers, this one's pretty off-centered here, the Burrow was a little off-centered, this one's pretty off-centered, you go birds, nice, Silver Collar Murray Concourse, just Herbert, Turbo Charged Insert, all right let's do 2020 Spectra, 2020 Spectra hobby, these will all be like 131.44, let's see a big RPA out of 2020 here, James Morgan Jets, Rookie Silver to 99, Derek Henry, die cuts, blue die cut, Titans to 50, 75, Jacob Eason, Rookie Jersey for the Colts, and Giants Auto to 99, Darius Slayton, best way to determine the declared value for like, I would just look up what they sell for I guess, you always declare what it's worth and what you think it's going to be worth basically when it grades right, like if you think it's going to grade a nine, you put what you think it would be worth out of nine right, yeah got Zeke to 75, Cowboys, there'll be a lot of nine so you know if you get a 130 points you can see put in PSA nine, five, so 10 on the die cut Rookie Washington, Chase Young, Jason Taylor to 75, Jersey Card Dolphins, yeah I mean it's just an estimate, if it grades higher than what you declared than they'll if a certain amount than they'll charge you more because the card will be worth it quite a bit more. Dave Montgomery, Jersey Card Bears, so if you have like a Silver Prism Rookie Quarterback and you're gonna put like 40 bucks but it grades a 10 it's worth like they're gonna be like okay like you can put whatever that just might charge more you know, Bradley Chubb Auto Broncos also to 10, yeah that's fact just pretty sick, it's definitely unique, it's not for everybody, it's very bright, yeah that's pretty sick. A.J. Dylan Packers, Rookie to 75, Rookie Aura Henry Ruggs to 75, Antonio Gibson to 35, Rookie Duel Jersey Washington, ice, Dolphins to 75, RPA horizontal to a tongue of Iloa, there we go, one of the guys we're looking for, congrats Dolphins. Sweet tool, we'll get that magged, yeah that's PSA, you don't have to go to PSA to read cards but that's how it is with them. Keyshawn Johnson to 35 bucks, that was Keyshawn Vaughn, Keyshawn Johnson, Jersey Card to 50 for the Bucks or 60, Drew Lock, Jerry Judy, Duel Jersey Broncos, number to 50, yeah 50 and Bucks Auto Mike All-Stops to 50, can't read you to 30, 2NT, just to walk down me on the walkway, lead me to the building, that's an old video, all right, midnight to 20, CJ Mosley Jets, JC Horn Rookie to 99, for the Panthers there, this is Brandon Duke, Jersey Niners to 99, Patch Card, Matt Ryan to 25, Falcons, Triple Jersey Dolphins, Tua, Dan Reno, Bob Greasy to 99, Saints Rookie Duel Patch Card, Ian Book to 99, Jaguars Rookie Auto, Andre Sisko to 38, great looking card here, true RPA bills, Greg Rousseau with a four color patch, 47 of 99, congrats, bills, that mag for ya, Patch Auto Viking, Steve Hutchinson to 25, legend hit there, redemption, Rookie NFL gear, signature combos, Bengals, Jamar Chase, Sick Chase, congrats, Cincy to be to 99, dual relic horizontal Rookie Auto, more NT, got flawless and then the helmet and that'll be it, so we have points to random and a recap, Panthers Rookie, Terrace Marshall Jr. to 25, Chiefs Travis Kelsey to 99, Vikings Rookie Duel Jersey, Kellen Monk, Kenan Wong to 99, Patch Card, Bengals, T Higgins to 8 of 10, Rams Rookie Duel Patch to 2 at well, 3 of 35, Zach Wilson, Rookie Jersey Jets to 99, number to 10, 49ers, Trace Sermon, Rookie Jumbo Prime signature's book, that Jumbo ball relic, nice hit Niners, number to 10, might have a good second year, you never know what the San Fran backfield though, you really never know, Broncos Auto to 99 is champ Bailey, Aaron Rodgers, Patch Auto 10 of 25, Packers, Sick Hit Packers, beautiful on card, the Patch Auto there, Player Warn Patch and crossover RPA Broncos, Givante Williams to 99, let's do some flawless, full two box case, no I'm not doing sound effects, hello there, I don't do sound effects anymore, I gave that up years ago, did you hear anything there, might not be working, as long as Chewbacca's working we're good, I don't care about anything else really, okay good, no I was, I don't know what I was doing to make it look like I was leaning over but no I wasn't doing any earlier, no we don't have, the voice mod for sure actually does not work, that does not work for real for real, someone broke that, something, I don't know what happened, it broke though, something with the digital cable from the stream deck to the mic, I have no idea man, Saints RPA Ian Booked at 25, that was weird, dual patch recce auto Seahawks Dwayne Eskridge 9 of 10, Falcons great auto, Mike Vick 7 of 15, Jersey number on the Vic, patch in the middle here, Gronk for the patch 7 of 10, there was a really nice Eskridge in the case break earlier, it was a swoosh patch auto, it was pretty nasty, he's a pretty solid player, he has decent potential, rookie auto, Browns, Anthony Schwartz 2 of 15, a little off the radar, I mean it may not work out because the record back situation is not the best but he's pretty solid, he's pretty solid, Anthony Schwartz there, rookie debut signatures, Broncos, Givante Williams 1 of 5, nice Givante, we'll get that magged, and triple patch that is a broken up swoosh, Barry Sanders 1 of 2 lions, there you go lions, one patch cut into 3 pretty much, mag that, got Sapphire, Gem 15 of 15, Titans, Jeffrey Simmons, I don't know what to do next, I'll go this one, rookie showcase quad patch, Davante Smith 2 of 2, that is a broken up swoosh too, there you go Eagles, and rookie debut signatures, 49ers, Tralance 10 of 25, great box, whole lot of swooshes, great hit 49ers, there you go, one more flawless last cards of the night, we still have four authentic mystery helmets from Fanatics as well, love the authentic suit, they are, it is like night and day with those in the replicas, more expensive I will say that, but night and day man, patch card, Ravens Anquan Bolden, game worn, I was gonna say that, there's no way, that's not game worn, nice Anquan Bolden, Chargers patch card, four color Justin Herbert 17 of 25, Lions patch auto, Herman Moore 3 of 3, I would say a little cut up guys, I don't know if it is, just looks that way, rookie debut signatures, Giants, Cadarius, Tony 18 of 20, Seahawks auto, Sean Alexander to 20, nice Alexander, yeah I think Bolden should be in the hall too, Star swatch signatures, Steelers, Jerome Bedis 5 of 10, the bus, and rookie debut signatures, has a emerald parallel in the last box of this one for the Broncos, Davante Williams, it's a 15 on this one, all right, last few cards here, case tits, we got Bill's Diamond Gem, Jim Kelly, 5 out of 10, this is actually pretty sick, so considering this player does not sign, has not signed autos on cards I don't think at all, this is pretty nasty, Nike Swoosh 1 of 2 Miles Garrett, game used, Swoosh congrats Browns, that is freaking awesome, Matt A, game used Garrett Swoosh, that's a big card, like I said considering he does not, he doesn't sign, he's never signed actually, that's freaking awesome, and on the back Dolphins, rookie dual patch auto, Jaylin Waddle 7 of 10, big hit Dolphins on the back, that'll do it for the cards, let's get these helmets up here, so I'll just bring up one by one, these things are bulky boxes, the boxes are within boxes, these are sealed but these aren't the actual boxes if that makes sense, just keep them in here just, the fanatics box are actually pretty nice, I'll show the seal on the fanatics one, these are again the 2022 Fanatics authentic autographed mystery helmets, last week there were three Saints helmets, just grabbed them randomly in the back, they're literally, they're totally random, remember James Winston, so hopefully we get some variety here, let's see what we got here, okay what team, okay New York Giants, New York Giants, again these are the authentic, these got the good weight to them, they're the authentic, it's Kenny Golladay, nice Golladay, Kenny G, well I understand, I don't think he signs any, like I don't think Garrett signs like anything, Patriots, Julian Edelman, Super Bowl MVP inscription, that's really cool, there you go Pats, Pats I don't even want that, I'm sure that'll sell really well to a Pats collector, something else on it, yo that's sick, that's sick, that's pretty nasty, that's dope, Super Bowl helmet right there, that's awesome, that's pretty sick one, we got Edelman like that, I think for sale to shop, no these aren't, these are not game worn, they're just authentic helmets, I don't think there'd be a game worn Super Bowl helmet in this, that would be insane, a little bit more than what these, what these sell for, you cannot open this one, look at that alternate, back to back Super Bowl MVP helmets, Giants, you probably know who it is, you probably don't actually, I'm just kidding, Phil Sims, Phil Sims, that Matt White alternate Giants helmet there, two Giants helmets, this is like a deja vu from last week, just a different team, let's see, no offense to the Giants, let's just see a non-Giants helmet here, variety, variety, all right it's not, it's not, Pittsburgh, fantastic looking, oh my god that's nice, Terry Bradshaw, TB12, there you go Steelers, TB12 for you, Terry Bradshaw, and that is gonna do it for the break, we got some points cards to random off and then we'll do the recap guys, give me one sec, get the random ready, I'll drop the schedule link right now, guys grab your spots for tomorrow, Matt's doing group breaks, Sam's doing personals after, no personals tonight, so after this random and recap that's gonna be it, wires clipped back, so again there's four Panini points cards here, so we'll do one random top four spots, we're gonna get points, top spot wild cards, second spot 600, three and four are gonna get 400, two and two, four times, four times again top four spots after four, one, two, three, four, so wild card is Drew M, the 600 is Joe Y, and then the 400 got Don C Hilton T, Don C Hilton T, all right let's do this recap guys, so here are the books first, show those, that's the 10, Ricky Gembo Prime signatures, Trey Sermon ball relic auto book, the Niners, Dual Jersey, Trey Kwon Smith, Saints on the book, and Pat Frymuth RPA book Steelers, Relics, Justin Herbert, Anquan Bolden game used, Robert Grunkowski, Zach Wilson, Tutu Atwell, T Higgins, Mond and Nguong Wu, Ian Buck, Triple Dolphin, QB is there, Matt Ryan, Brandon Ayuk, Locke and Judy, Kishan Johnson, Antonio Gibson, David Montgomery, Jacob Eason, Nguong Wu, Almond Ross St. Brown, that was Darnell Mooney, Michael Carter, Rashad Bateman, Jamar Chase, Joe Mixon, Derek Carr, James Robinson, Trevor Lawrence, Nick Chubb, we had two slabbed autos from Leaf Valiant I believe, there was a Stevie Scott, that one's a Broncos, and then Jacobi Stevens, both 9-5-10s, the Stevie Scott is to 15, the Jacobi Stevens to 99, Eagles Jacobi Stevens, both 9-5-10s on those, Autos, Givante Williams, Jerome Betis, Sean Alexander, Cadarius Tony, Herman Moore, Anthony Schwartz, Ian Buck, Dwayne Eskridge, Michael Vic, Jersey number on that one, Champ Bailey, Givante Williams, Steve Hutchinson, Andre Sisko, Mike Allstad, Bradley Chubb, Darius Slayton, Quitty Pay, Sean Wade, Eli Mitchell, and Alex Leatherwood, three cracked ices in two boxes of contenders optics, pretty crazy, Kylan Granson, Almond Ross, St. Brown, Jalen Waddle, Jabril Cox, who's that, Billy Sims, Cam Chancellor, Chuba Hubbard, David and Joku, Marquez Colston, Pat Friarmouth, Jalen Cam, Ben Scoronic, Kylan Hill, Christian Barmore, Adafi Awe, Micah Parsons, Red Zone Jacob Harris, Young Haikou, Cornell Powell, Pesley Harbin, Ernest Brown, Cornell Powell, Darius Leonard, Christian Barmore, Kylan Hill, Devante Smith, Amari Rogers, Jamon Osbon, Marvin Wilson, Chuba Hubbard, Nico Collins, Jamon Holland, Josh Bledsoe, Hunter Long, Aziz Ojalari, Michael, Michael Strahan, and Ashone Wright. The Patriots was Stuart Z. Stuart Z had the Patriots. Everything else is in a mag. Triple Patch, Barry Sanders for the Lions, Jabonte Williams 105, Otto Broncos, Aaron Rodgers, Patch Auto Packers to the 25, Jamar Chase Redemption from NT, Ricky NFL Gears signature combos, Go Bangles, Regressow, Four Color Patch RPA for the Bills, Tua Spectre RPA for the Dolphins. Nice. Tralance from Limited to 49, One of One Blue Finite, Tim Brown from City Inn for the Raiders, Justin Fields, President Black Sanityers, Blue from Chronicles, Rookie Ticket 01, Throwback Design, Jalen Waddle, that was to 10.  Iconic design, One of One D-Hop from Playoff, Jalen Waddle, Dual Patch, Rookie, Otto Dolphins from Flawless, Gameuse, Swoosh, Miles Garrett, one of two, that is freaking awesome, man. Jim Kelly Diamond, Jim, had Jeffrey Simmons, Sapphire, Jim, Shrey Lance, 10 at 25, Rookie debut six for the Niners, Niners crushed it, and Rookie Showcase, two of two, Quad Patch against Quad Swooshes, Vante Smith Eagles. That's gonna do it. Thanks again everybody. Talk to you in just a moment.


Alright, in this video, I'm going to be explaining how my Tetris works in STL2 and with C. So the new things I had to learn were how to use multi-threading p-threads and how to render text in STL2. So I'm going to explain those real quick for the people who just want to learn how those work and want to get out. So I'm going to start with multi-threading. So when you want to create a thread, you do p-thread t and give it a name. Falling thread id is what I gave it. Then we run this function if and then we run the function that gets us started. So this function will return 0 if it's successful, so the block in if will not run. If it doesn't return 0, there was an error, so we stop our program. Alright, so what we have to give this function p-thread create. We got to give it the address to our thread. We got to give it null for some reason. And then we got to give it the function that we wanted to run. So this is a function. You got to do a start because I'm pretty sure this is a function pointer. So we got to give it a function pointer to what we want this to run. And this right here is what we're sending in. We're sending a void pointer to our parameters of void pointer, which is actually a struct. A pointer to a struct, the struct is our game. So yeah, if threads can only take in one parameter, so if you want a lot of stuff in your thread, if you want to give it multiple parameters, then you're going to have to put it all in a struct. Alright, now let's do text. I'll describe how to render text. So you need to have a font. In our case, we used open sans right here at the top. Alright, and what you got to do first is you got to run this function. Well, first you got to import the libraries. I don't know exactly which libraries are specific, but I know it's stlttf and everything else probably. So we do ttf in it. If it fails, it returns negative one. So we print an error. Cannot initialize stlttf, error, get error. Then we do, if it doesn't fail, then it keeps on going. And we put our font in a variable we call our font. So we run the function ttf open font. We first give it our file path to the font we want to use. So again, in our case, we got the folder font and our font. Then we give it the size that we want it to be. After that, if our font is null, that means that if this didn't exist right here, then it would be null. We do could not load font, and then we do an exit failure. Alright, after that, we run this function. So I don't know what this does. I copied it from Stack Overflow answer. What I imagine it does is it takes the coordinates where you wanted to place the renderer. Your string and your font makes that a texture and a rectangle, and renders that as a texture and a rectangle or a surface. So yeah, we run those. Again, I'll let me describe it. We give it the renderer. We give it the position. This is x. This is y. We give it the string. We give it the font. Then we give it a texture and a rectangle. And I do this two times because did I already show the game? I can do this two times for these two. Sorry if I already showed it. And then we do stl render copy. That just puts it on the screen basically. And then at the end, we close our font. So that was threads and that was texts for all of you who just wanted to know that. So now I'm just going to describe the basic format or structure of our program. So we got main and main. As you can see over here, it takes the input. This is where it gets input. All right. So we give input and that input goes to me. We have a struct called game. So this is where our entire game is structured. Let me move it right here. Game and so what main does is main sends input to logic. All right. Logic edits game. Game gets sent to render. Game gets rendered. Logic changes game, but it also takes game as an input. That's just how it works. So logic takes the game struct and main as an input. And logic edits the game based on all of these factors. And render just takes game and renders what's there. All right. So now let's go to the game struct. So this is a decently sized struct. So right here we have the play area. Our play area is basically just this generic where it's actually 20 by 10. 10 right here. All right. Let's do 20 and by 10. All right. And so it doesn't actually have the following piece. This that's going down, it is not part of that array. What it does have is settled pieces. So pieces that have already fallen. So what logic does is it will check for any full things. So once you have a full thing, a full line, it clears it. So that's what logic does every time one of these pieces gets settled. So let's look at that. Our pieces are all stored in a four dimensional array. And it's actually what most of the code in our file is. So let me open this just to explain how it works. So the first index is the piece. Is the piece we want. So it can be the I piece, the L piece, the square piece, whatever. All right. The second index is the rotation. This is the first rotation. Second one, third one, fourth one, et cetera. There's only four for each. And the third and fourth is just if this is empty or full. So it's the X and the Y that we should be checking. All right. Oh, what's next? We have our cached index. So it really should just be called the index cube. It is this right here, the numbers, the index for all of these. And after that, we have our placement. It's where our red piece is. So the one that's active. So right here, right here, this is placement. So let's just do P. P is an array that has two numbers. So let's say two three. So it would be two to the left. No, two to the right and three down. And that's where it starts rendering this corner. This should actually be empty because of the way I have it structured. But yeah, basically that gives you information of where it is relative to the top. All right. The piece index, that is the index of the piece that we are currently dropping. The rotation, same thing. That's the rotation of the piece that we are currently dropping. Our rotation can change in the middle because we spin it while it's running. Our alt index, that is when you do C, you change and you have this alternate thing right here. So that is the index for that. All right. Then we have our score, the amount of lines you've cleared, downtime. It should be called something like delayed milliseconds. Basically it's how many milliseconds it takes for the piece to drop to go one down on its own. I have it set to 20 milliseconds. It would have been a constant when I was planning on making it go faster after reaching a certain score and stuff like that. But it was too hard not to implement but to play. State. State can be one of these three. So running, these just affect how the game is rendered and what is going on. So running is normally when it's game over state, it's black and it renders it as black. All right. Score, score.c. That is the string that we are sending to the get, text, and rect. Same for lines. That is the second string. Alt in it. That basically just tells you if you have pressed C before. So right now alt in it is zero. Now it is one and now it is zero. Basically this affects the way it works. So right here when it is zero, if you press C, it gets the next one. But now if you press C again, it flips them. You can't do this indefinitely, of course. You have to keep switching them. You can only switch them once to turn to what it is playing, stuff like that. So that is basically the entire struct. Let's go back to the main function. So in main, we set the game at the start. We also set the seed for random numbers. And this is the first index we are going to be using. These two, they are just for when we were to make setting up the tetramino array easier. So yeah, for our main loop, we are pulling this event. So if the event is quit, we do quit. We set the game, state to quit, and then we stop this when it is done. It finishes and we destroy the whole thing. We turn it off. But in the case of key down, it sends stuff to key press. So that is a function in logic. And based on that, for the left arrow, does a function piece left? For the right, does piece right? Down, piece down. Up, piece spin. For space, that's the hard drop. What that does is, while it hasn't settled, it drops it. Once it has settled, it stops dropping it. But no, yeah. When you press C, it switches the piece. If can't switch, this is a global variable. I know it's a bad practice to have global variables or whatever. But it's a small program. So yeah, it switches the piece. If it can't switch, it's basically like, have you pressed switch more than once? Have you pressed switch once already? All right. Areas for resetting the game. The divide, this, it was for debugging purposes, but I kept it basically. Yeah, it switches the piece index that we're using. So yeah. Let's go over the movement functions. So let's do the basic ones. Down, let's do left and right. Oh, actually, first let's do what the thread was, what the multiple thread was for, the second thread. So when you have a program and it's all running on one thread, we basically, what the program is, it is just a sequence of steps. So step one, step two, step three. And since computers are so fast, these steps look like they're being done instantly. So, but if, let's say, step two involves a delay of, let's say, two seconds. In our case, it was 200 milliseconds. Then we can't go to step three until step two is done. In our case, our second thread was to have our piece drop every 200 milliseconds. Now we can't be waiting every 200 milliseconds to have the next, to have our keyboard input and stuff working. So what we need is a second thread to do that for us, which is what this thread does. It does a bit of starting up stuff to do, like doing a random number. Filling up the queue, getting the next piece, resing the placement, whatever. It doesn't need to be there. It didn't need to be there, but I just put it there for the sake of it. Just to have it up. It's probably not a good idea to put it there, but I did anyways. So anyways, while we haven't quit the game, and if the game is in the running state, we wait 200 milliseconds, then we do peace down. That is what this thread is supposed to do. Now the way we could have solved it is if we were constantly checking, let's say we have a, let's go back to the one, two, three, four step. It goes one, two, three. And in two, we would have, if it has, if x, let's say x is like, we're trying to say, if it has been 200 milliseconds since last drop. And if it hasn't, it continues. So that happens instantaneously. We could have done that. But I didn't, but, you know, I wanted to learn multiple threads. So, so I didn't. All right. Now let's go to how the pieces work. I'm going to take a little break. Oh, it's been 17 minutes already, huh? All right. Let's continue. So right here, we are being sent the key codes again. It checks for any events and gives you the key codes. All right. Again, like I described, left goes left, right goes right, down goes down, up is spin, space is hard drop, whatever. And the movement stuff. Let's start with the basics. Down is kind of a little bit special because if you, if you have a collision while going down, that means you have to settle the piece.  And then it checks if the piece collides, if it does, and if that piece is at the top, then the game is over. But if it doesn't, then, you know, put the piece back up and settle, settle the piece and continue on with the game. All right. Piece left. You know, if it hasn't collided, you know, it goes left and if it's collided, then it goes right one, goes back right one. What am I saying? It goes right once or while it's colliding. While it's colliding, it goes right. Same for right, except, you know, left and right are switched. All right. So for spin, let's actually check what this collides function is supposed to do. So basically what it does is that if we're overlapping with, with something. So, let me, sorry. Basically it checks if our, if our piece is out of bounds. So remember when I said right here is where our placement is. It's actually a little bit above that. But what it basically does is for every, it scans the whole, the whole array kind of. It goes to, it goes to the index, to the piece index and the rotation index. And then it scans where it is. Bop, bop, bop. These are the ones that are here. Anything is out of bounds or if let's say you already have like a whole block right there or whatever. And this is touching and this is overlapping then it returns to. So if it's out of bounds like here or if it's overlapping like here, it returns to. Now, yeah. That's what, that's what collides does. Now edge correct. That is, that is special for, for spinning because spinning, you can't just move it right up again. And we can't just immediately, if it collides then we have to, we have to just return it back to where it was. So when we do spinning, if it does something like this, oh my God. And it's, let's say it's colliding here. Then we have to move it this way. But what if we already have something here and if it moves that way, it gets stuck. All right. We don't have this problem when moving left and right because in order to be there, then it must have not been colliding. So if it does that, then we have to spin it. We have to put it back where it was again. So yeah. In that, in that case, I made it so that if it's colliding at all, I don't care if it's overlapping or if it has something below or something above. We have to, we have to move it once, right? Move the piece once to the left. If it's still colliding, move it again to the left. If that doesn't work, do it for the right once. And then again, if that is, if that doesn't work. And then we do the same for up once. And then again. All right. We're worried. And if it doesn't work, then let's go back up here. And when we're spinning, it returns it back to where it was. So, so yeah. Where was I? Me. Oh yeah. Settling pieces. This is where everything has to happen. So we do settle piece again. If it, if it collides, if it collides with anything when it goes down. Basically what we're doing is we're taking, we're taking the placement data. So sorry about that. We're taking the placement data. And we are, so yeah. I should have been doing square this whole time. So we're taking this, you know, p, let's call placement again. And our index, i, and rotation, and then our x and y. And then we are translating that into, we just care about this x and y basically. And if it's empty, full, full, whatever. And we're translating all these folds into something in our big, our big play area. So let's say this was here. And we would put it in a square here. Same goes here. Square here. That's what, that's what place, that's what settle pieces does. It also does a lot, another couple of things. It takes settled, which we used up here. It's another global variable, which we used that right here. So if it, when we're doing the space. So once it has settled, you stopped, you stopped getting, going the piece down, putting the piece down. And moving the piece down, sorry. All right. So, so that's there to stop, to stop hard drops are happening forever. Then we move the piece index. We make it the new, the cash index or the next one up in the queue. Then we do next piece. Now what this next piece function does is, oh my God. So this next piece function does is it takes, it resets the random number. It moves everything back up. So it moves, it moves the cash back up. So let's say we have a square, L, I, whatever. So it's settled. It moves this back up here. And the next piece moves this up here, this up here. It's fun in the bottom up here. And then it creates a new one here. And by doing that, it does a new random number. And that's the new index. So that's basically what next piece does. Now let's go back to, to settle, to settling the piece because that is, that has a lot of stuff in it. Sorry about that. Reset placement. Basically it sets the placement of the piece back to zero. So everything's zero zero. Clear lines. So that checks if anything, if any lines, if any lines have been filled. So, and then it says can switch back to true. So let's talk about this can switch stuff first. So when we have C, we can switch, but we don't want it to switch again. And now that it's settled, it goes back to true so we can switch it again. All right. That's it. So when we're clearing lines, this is the last part that I have to, that I will explain. So when we're clearing lines, let's talk about this first. Once you're done clearing, wait, actually no. Sorry. When we're clearing lines, we run this function, find lines. What, what find lines does is we're checking, we're checking every single, every single row. And we're, we're adding up every single piece. So let's say right here, let's say we have three, we have three full, full lines, right? It checks this one. It checks the next one. It checks the next one. And it checks this one. All right. It adds up all the full, all the full pieces. And, and then it returns, it returns which, which row this was. So let's look at this again. Now, this is where it finds lines. This is how it finds it. If the total, if the, if when you add all of them equals clear bar, then, you know, you're returning the row. If, if it's not, you're returning negative one. So let's get a clear bar. What clear bar is, it's just the number that we set settled square to be and we multiply it by the columns in each row. Okay. So once, so once we have this row number, if it is, if it is negative one and we're done, we update the score and update the, the string for the score and we return. But if it's not negative one, we do this. We first, we first clear, first try to clear this, the top, because if it's not clear, if it's not cleared, then it's automatically zero. This might cause some problems, but that can be exploited, but I kind of don't really care. Hopefully. Oh, no, yeah. No, this is fine. All right. So it clears, so it clears the top, the top line, the one at the very to be top. Then it goes, it goes to the row that we gave Y or say row goes to that right here. And then it sets everything back to zero, zero, zero, zero. All right. What it does is it takes everything on top and then brings it, brings it one down. All right. It increases the temporary lines. We use this for scaling the score. And this is a global variable, by the way. So, you know, more bad practices. And then we run the, we run the function again, runs find lines until we're done until we can't find any more full lines. And I think that's it. Let me just explain a little bit of rendering. This video is already too long, so, but I'm still going to explain. If it's running state, then it renders, then it renders the game like normal. So what it'll do is it checks in the screen and gives you the white pieces. And then it takes the, takes the piece index, the rotation and everything for the, for the, for the falling pieces that we have. And renders those as red that we have right here. It renders the grid, which you, you, it'd be hard to see the grid because the screen is 1440p and I think I'm recording it on 1920 by 1080. And render right screen. This is basically rendering the queue. We know this, this right here is rendering the alternate index. Oh, what was that called? Yeah, the little, little thing that we can switch. And this one is rendering the queue or the cache. Oh, that's all. Oh, thank you for watching. If you made it this far. Yeah.