mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 22:00:05 +00:00 
			
		
		
		
	am: Return installed titles in GetNumTickets and GetTicketList stubs. (#6292)
This commit is contained in:
		
							parent
							
								
									9eb1cd2875
								
							
						
					
					
						commit
						bf73cb57ca
					
				
					 1 changed files with 14 additions and 1 deletions
				
			
		|  | @ -1087,7 +1087,11 @@ void Module::Interface::DeleteTicket(Kernel::HLERequestContext& ctx) { | ||||||
| 
 | 
 | ||||||
| void Module::Interface::GetNumTickets(Kernel::HLERequestContext& ctx) { | void Module::Interface::GetNumTickets(Kernel::HLERequestContext& ctx) { | ||||||
|     IPC::RequestParser rp(ctx, 0x0008, 0, 0); // 0x00080000
 |     IPC::RequestParser rp(ctx, 0x0008, 0, 0); // 0x00080000
 | ||||||
|  | 
 | ||||||
|     u32 ticket_count = 0; |     u32 ticket_count = 0; | ||||||
|  |     for (const auto& title_list : am->am_title_list) { | ||||||
|  |         ticket_count += static_cast<u32>(title_list.size()); | ||||||
|  |     } | ||||||
| 
 | 
 | ||||||
|     IPC::RequestBuilder rb = rp.MakeBuilder(2, 0); |     IPC::RequestBuilder rb = rp.MakeBuilder(2, 0); | ||||||
|     rb.Push(RESULT_SUCCESS); |     rb.Push(RESULT_SUCCESS); | ||||||
|  | @ -1101,9 +1105,18 @@ void Module::Interface::GetTicketList(Kernel::HLERequestContext& ctx) { | ||||||
|     u32 ticket_index = rp.Pop<u32>(); |     u32 ticket_index = rp.Pop<u32>(); | ||||||
|     auto& ticket_tids_out = rp.PopMappedBuffer(); |     auto& ticket_tids_out = rp.PopMappedBuffer(); | ||||||
| 
 | 
 | ||||||
|  |     u32 tickets_written = 0; | ||||||
|  |     for (const auto& title_list : am->am_title_list) { | ||||||
|  |         const auto tickets_to_write = | ||||||
|  |             std::min(static_cast<u32>(title_list.size()), ticket_list_count - tickets_written); | ||||||
|  |         ticket_tids_out.Write(title_list.data(), tickets_written * sizeof(u64), | ||||||
|  |                               tickets_to_write * sizeof(u64)); | ||||||
|  |         tickets_written += tickets_to_write; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     IPC::RequestBuilder rb = rp.MakeBuilder(2, 2); |     IPC::RequestBuilder rb = rp.MakeBuilder(2, 2); | ||||||
|     rb.Push(RESULT_SUCCESS); |     rb.Push(RESULT_SUCCESS); | ||||||
|     rb.Push(ticket_list_count); |     rb.Push(tickets_written); | ||||||
|     rb.PushMappedBuffer(ticket_tids_out); |     rb.PushMappedBuffer(ticket_tids_out); | ||||||
|     LOG_WARNING(Service_AM, "(STUBBED) ticket_list_count=0x{:08x}, ticket_index=0x{:08x}", |     LOG_WARNING(Service_AM, "(STUBBED) ticket_list_count=0x{:08x}, ticket_index=0x{:08x}", | ||||||
|                 ticket_list_count, ticket_index); |                 ticket_list_count, ticket_index); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue