Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __fastcall UFGBlueprintFunctionLibrary::GetAllDescriptorsSorted(UObject *worldContext, TArray<TSubclassOf<UFGItemDescriptor>,FDefaultAllocator> *out_descriptors)
- {
- TArray<FFieldNodeBase *,FDefaultAllocator> *v2; // rdi
- AFGRecipeManager *v3; // rbx
- TSubclassOf<UFGRecipe> *v4; // r12
- FScriptContainerElement *v5; // r13
- TSubclassOf<UFGRecipe> v6; // rbx
- FScriptContainerElement *v7; // rsi
- FScriptContainerElement *v8; // r15
- FScriptContainerElement *v9; // rcx
- __int64 v10; // r14
- FScriptContainerElement *v11; // rbx
- FScriptContainerElement *v12; // r14
- FScriptContainerElement *v13; // rcx
- __int64 v14; // rsi
- unsigned __int64 v15; // rdx
- TSubclassOf<UFGItemDescriptor> *v16; // rcx
- TSubclassOf<UFGItemDescriptor> inClass[2]; // [rsp+18h] [rbp-49h]
- TSubclassOf<UFGItemDescriptor> Item[2]; // [rsp+28h] [rbp-39h]
- TArray<TSubclassOf<UFGRecipe>,FDefaultAllocator> out_recipes; // [rsp+38h] [rbp-29h]
- TArray<FItemAmount,FDefaultAllocator> result; // [rsp+48h] [rbp-19h]
- TArray<FItemAmount,FDefaultAllocator> v21; // [rsp+58h] [rbp-9h]
- TSubclassOf<UFGItemDescriptor> **v22; // [rsp+68h] [rbp+7h]
- TArray<FFieldNodeBase *,FDefaultAllocator> *v23; // [rsp+70h] [rbp+Fh]
- TSubclassOf<UFGItemDescriptor> **v24; // [rsp+78h] [rbp+17h]
- TArray<FFieldNodeBase *,FDefaultAllocator> *v25; // [rsp+80h] [rbp+1Fh]
- TDereferenceWrapper<TSubclassOf<UFGItemDescriptor>,<lambda_e49dd30e190d69d6bd0272809d4b7675> > Predicate; // [rsp+D0h] [rbp+6Fh]
- TSubclassOf<UFGItemDescriptor> *v27; // [rsp+D8h] [rbp+77h]
- TSubclassOf<UFGItemDescriptor> *v28; // [rsp+E0h] [rbp+7Fh]
- v2 = (TArray<FFieldNodeBase *,FDefaultAllocator> *)out_descriptors;
- v3 = AFGRecipeManager::Get(worldContext);
- if ( !v3 )
- {
- UFGBlueprintFunctionLibrary::GetAllDescriptorsSorted_::_6_::Impl::ExecCheckImplInternal();
- __debugbreak();
- }
- out_recipes = (TArray<TSubclassOf<UFGRecipe>,FDefaultAllocator>)0i64;
- AFGRecipeManager::GetAllAvailableRecipes(v3, &out_recipes);
- v4 = (TSubclassOf<UFGRecipe> *)out_recipes.AllocatorInstance.Data;
- v5 = &out_recipes.AllocatorInstance.Data[8 * out_recipes.ArrayNum];
- if ( out_recipes.AllocatorInstance.Data != v5 )
- {
- do
- {
- v6.Class = v4->Class;
- UFGRecipe::GetIngredients(&result, (TSubclassOf<UFGRecipe>)v4->Class);
- v7 = result.AllocatorInstance.Data;
- v8 = &result.AllocatorInstance.Data[16 * result.ArrayNum];
- if ( result.AllocatorInstance.Data != v8 )
- {
- do
- {
- *(_OWORD *)&inClass[0].Class = *(_OWORD *)v7;
- if ( UFGBlueprintFunctionLibrary::CanBeOnConveyor(inClass[0])
- && TArray<TSubclassOf<UFGItemDescriptor>,FDefaultAllocator>::Find(
- (TArray<TSubclassOf<UFGItemDescriptor>,FDefaultAllocator> *)v2,
- inClass) == -1 )
- {
- v9 = v2->AllocatorInstance.Data;
- v27 = inClass;
- if ( inClass >= (TSubclassOf<UFGItemDescriptor> *)v9
- && inClass < (TSubclassOf<UFGItemDescriptor> *)&v9[8 * v2->ArrayMax] )
- {
- v23 = v2;
- v22 = &v27;
- DispatchCheckVerify<void,_lambda_ebb70ce0c499c94aeda6f5fde0450dd8_>((TArray<FLwsWebSocket *,FDefaultAllocator>::CheckAddress::__l6::<lambda_c14eee4c936ba7f517f13cd43e252409> *)&v22);
- __debugbreak();
- }
- v10 = v2->ArrayNum;
- v2->ArrayNum = v10 + 1;
- if ( (signed int)v10 + 1 > v2->ArrayMax )
- TArray<USoundNodeQualityLevel *,FDefaultAllocator>::ResizeGrow(v2, v10);
- *(TSubclassOf<UFGItemDescriptor> *)&v2->AllocatorInstance.Data[8 * v10] = inClass[0];
- }
- v7 += 16;
- }
- while ( v7 != v8 );
- v7 = result.AllocatorInstance.Data;
- }
- if ( v7 )
- FMemory::Free(v7);
- UFGRecipe::GetProducts(&v21, v6, 0);
- v11 = v21.AllocatorInstance.Data;
- v12 = &v21.AllocatorInstance.Data[16 * v21.ArrayNum];
- if ( v21.AllocatorInstance.Data != v12 )
- {
- do
- {
- *(_OWORD *)&Item[0].Class = *(_OWORD *)v11;
- if ( UFGBlueprintFunctionLibrary::CanBeOnConveyor(Item[0])
- && TArray<TSubclassOf<UFGItemDescriptor>,FDefaultAllocator>::Find(
- (TArray<TSubclassOf<UFGItemDescriptor>,FDefaultAllocator> *)v2,
- Item) == -1 )
- {
- v13 = v2->AllocatorInstance.Data;
- v28 = Item;
- if ( Item >= (TSubclassOf<UFGItemDescriptor> *)v13
- && Item < (TSubclassOf<UFGItemDescriptor> *)&v13[8 * v2->ArrayMax] )
- {
- v25 = v2;
- v24 = &v28;
- DispatchCheckVerify<void,_lambda_ebb70ce0c499c94aeda6f5fde0450dd8_>((TArray<FLwsWebSocket *,FDefaultAllocator>::CheckAddress::__l6::<lambda_c14eee4c936ba7f517f13cd43e252409> *)&v24);
- __debugbreak();
- }
- v14 = v2->ArrayNum;
- v2->ArrayNum = v14 + 1;
- if ( (signed int)v14 + 1 > v2->ArrayMax )
- TArray<USoundNodeQualityLevel *,FDefaultAllocator>::ResizeGrow(v2, v14);
- *(TSubclassOf<UFGItemDescriptor> *)&v2->AllocatorInstance.Data[8 * v14] = Item[0];
- }
- v11 += 16;
- }
- while ( v11 != v12 );
- v11 = v21.AllocatorInstance.Data;
- }
- if ( v11 )
- FMemory::Free(v11);
- ++v4;
- }
- while ( v4 != (TSubclassOf<UFGRecipe> *)v5 );
- }
- v15 = v2->ArrayNum;
- v16 = (TSubclassOf<UFGItemDescriptor> *)v2->AllocatorInstance.Data;
- LOBYTE(Predicate.Predicate) = 0;
- AlgoImpl::IntroSortInternal_TSubclassOf_UFGItemDescriptor__FIdentityFunctor_TDereferenceWrapper_TSubclassOf_UFGItemDescriptor___lambda_e49dd30e190d69d6bd0272809d4b7675_____(
- v16,
- v15,
- 0,
- (TDereferenceWrapper<TSubclassOf<UFGItemDescriptor>,<lambda_e49dd30e190d69d6bd0272809d4b7675> >)&Predicate);
- if ( out_recipes.AllocatorInstance.Data )
- FMemory::Free(out_recipes.AllocatorInstance.Data);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement