 			log("enumerateSharedFiles(...) == " + res);
 		}
 
+		private function enumeratePlayedFiles(e:Event = null):void {
+			if(!Steamworks.isReady) return;
+
+			var res:Boolean = Steamworks.enumeratePublishedFilesByUserAction(
+				WorkshopConstants.FILEACTION_Played, 0);
+			log("enumeratePublishedFilesByUserAction(Played, 0) == " + res);
+		}
+
+		private function enumerateCompletedFiles(e:Event = null):void {
+			if(!Steamworks.isReady) return;
+
+			var res:Boolean = Steamworks.enumeratePublishedFilesByUserAction(
+				WorkshopConstants.FILEACTION_Completed, 0);
+			log("enumeratePublishedFilesByUserAction(Completed, 0) == " + res);
+		}
+
 		private function updateFile(e:Event = null):void {
 			if(!publishedFile) {
 				log("No file handle set, publish or enumerate first");

						log("updateUserPublishedItemVote(" + f + ", true) == " + apiCall);
						apiCall = Steamworks.getPublishedItemVoteDetails(f);
						log("getPublishedItemVoteDetails(" + f + ") == " + apiCall);
					}
					break;
				case SteamConstants.RESPONSE_OnGetPublishedFileDetails:

						apiCall = Steamworks.unsubscribePublishedFile(subbedFile);
						log("unsubscribePublishedFile(" + subbedFile + ") == " + apiCall);
					}

					if(subRes.resultsReturned > 0) {
						apiCall = Steamworks.setUserPublishedFileAction(
							subRes.publishedFileId[0], WorkshopConstants.FILEACTION_Played);
						log("setUserPublishedFileAction(..., Played) == " + apiCall);
					}
					break;
				case SteamConstants.RESPONSE_OnEnumerateUserSharedWorkshopFiles:
				case SteamConstants.RESPONSE_OnEnumerateUserPublishedFiles:
