There are a number of enzyme-based products that work extremely well. The best types contain pure enzymes, not "live" bacteria that will (hopefully) produce enzymes when applied to a pet-stained surface. Places that rent carpet cleaners usually carry these products that you either pre-treat the area with or add to the cleaning solution tank. Thinking outside the box, you might want to use the carpet cleaning machine directly on the underlayment, but only
if it's plywood (if it's OSB I'd strongly consider replacing it with plywood).
There is no effective way to cover up pet urine stains, especially from male cats. You must either treat them with enzymes (which digest the odor causing molecules) or else replace the affected areas. Plastic sheeting moisture barrier is effectively porous to these molecules and if you ever have dogs or cats in the room again that are not well trained they will zip right over to the stain sites to mark them again. Also keep in mind that a dog's nose is some 10,000 times more sensitive that our schnozzes... You may no longer smell the stains, but that by no means guarantees that Fido won't!
Here's one brand, as an example (not an endorsement!), of a product that is used as a pre-treatment before using a carpet cleaner:
There are, literally, hundreds of others available in the pet section of grocery stores, big box retailers, etc.