News: Welcome back to Bullworth! If you haven't already, you will need to reset your password..


Show Posts

* Messages | Topics | Attachments

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - fastman92

Pages: [1] 2
1
Suggestions & Feedback / Re: This IS a problem
« on: December 21, 2016, 12:09:48 PM »
map editing could become possible, these are things that could revive the community.
It became possible.

2
Bully Modding Archives / Re: Anniversary Edition Decompiling
« on: December 19, 2016, 06:04:52 PM »
While you can disassemble or decompile the executable code, you cannot get the source code, because certain information like variable names, structures, function declarations is lost, non-existant in the compiled code, since it's not necessary to run the code.

The games often require a high performance, which can be only achieved if the code is executed directly by the processor (CPU),
For this reason Rockstar Games makes their games in C++ language, which can compiled to direct ASM code, with the appropriate compiler for selected platform.
Games for Android like Bully or GTA are a combination of little Java code + resources (classes.dex) to handle the interface and the library, made from C++ code, compiled with the Android NDK.

Analogously the game for iOS is also made with the C++ code and the library is created with the use of compiler.

The best disassembler in the world appears to be IDA Pro.

I have made certain scripts that can create a new .apk archive.

3
Bully 2 Discussion / Re: Bully Anniversary Edition
« on: December 12, 2016, 05:36:03 PM »
I have made a tool to edit the IPL and IDE, so the map modding can start if there's enough interest.
If someone makes a tutorial for beginners.
------------------

I still need to get the Bully AE for my phone and then I'll see what I'm going to do next.
It can take a few weeks.

Say, how much does the structure of files differ from the Bully SE?

Would this process be similar to GTA SA map modding?
Yes. Just like GTA SA, the Bully uses a concept of IDE (item definitions) and IPL (item placement). These files need to be binary if you want the game to load them.
The only major difference is that Bully uses binary files for these concepts, while GTA has text files.
Because Bully has these files binary (IPB and IDB) you need to use an appropriate tool to work with these files and there comes my processor

You want to edit text files and then you can convert the text .ide or .ipl to binary .idb or .ipb
You can also do the an opposite: convert binary files to text files.

4
Bully 2 Discussion / Re: Bully Anniversary Edition
« on: December 12, 2016, 02:00:44 PM »
I have made a tool to edit the IPL and IDE, so the map modding can start if there's enough interest.
If someone makes a tutorial for beginners.
------------------

I still need to get the Bully AE for my phone and then I'll see what I'm going to do next.
It can take a few weeks.

Say, how much does the structure of files differ from the Bully SE?

5
Bully 2 Discussion / Re: Bully Anniversary Edition
« on: December 12, 2016, 11:12:24 AM »
yet you yourself won't seem to help us go too much farther
This statement could be questionable.
I have made some tools that support Bully SE as well.

I'm coming from the GTA community, where the modding is likely much more advanced.
And I'm badly surprised to see, how the map editing is such an integral part of the GTA modding, while still impossible with Bully SE, after so many years.
(or maybe the map modding in Bully SE is already possible, correct me if I'm wrong)

6
Bully 2 Discussion / Re: Bully Anniversary Edition
« on: December 09, 2016, 05:48:03 PM »
I saw just now. Rockstar has not forgotten about Bully. Can we mod this version though? Is every feature the same?
But I have never you guys doing any serious modding.
Not even IPB/IDB file editing.

7
Mod Showroom / Re: fastman92 processor
« on: November 16, 2016, 02:35:46 PM »
No one is modding Bully SE these days, it seems.
Even though it's now possible to do a lot more:
IDB - item definitions
IPB - item placements

these files can be edited, which couldn't be done for many years.

8
Mod Showroom / Re: fastman92 processor
« on: October 22, 2016, 01:02:38 PM »
Anyway, back to the point someone should make a tutorial on how to use my file processing tool.
For those who aren't that advanced modders and can't figure it out.
Let's focus on what's necessary to make a progress.

This tool can process IPL/IPB, IDE/IDB as far as Bully SE is concerned.
If you want Bully modding to grow up, you need to know how to use this tool.

Also, there's a limit adjuster for Bully SE: http://gtaforums.com/topic/733982-fastman92-limit-adjuster/

--------------------------------------
This should be seen by a forum admin:

An Error Has Occurred!
The attachments upload directory is not writable. Your attachment or avatar cannot be saved.

You should chmod the directory with the value of 770.

9
Mod Showroom / Re: fastman92 processor
« on: October 09, 2016, 03:53:09 PM »
Why are you even posting your mods here if you're not even going to give a fuck about the people who download them? Just in hopes they smash on that donate button right?
I posted it here, so that advanced users will know what to do and will find it useful, if you don't try you may never will.
Some effort is required from the users as well.

It's not hard to check the .bat file to see how my tool works.
It's pretty easy to use after few minutes. All it does for an user is taking an input file and creating an output file, all the complexity is hidden inside the application.

btw. I also have an unreleased tool for editing the Bully text files.

10
Mod Showroom / Re: fastman92 processor
« on: October 09, 2016, 01:18:15 PM »
Perhaps make a video showing it in action? Others may not have a clue what this is.
Luckily I do, but some people may not quite understand.
You can it yourself.
I have more serious work to do.

Wow, tx for this great release!
This will be a really useful tool for us

BTW fastman, can you take look at the Act.img files?
Location: Bully:SE > Act
In the Act.img, there're .cat files, that cat files actually contain some action node used for animation (fighting, walking, strafe, etc) in the game

All of us from the Bully Community really want to decompile this .cat files, but no one still can decompile it
We usually use the HxD.exe to read the .cat files, but the problem is most of the texts are really impossible to read

So, is it possible to decompile this cat files, so it can be readable using software like Notepad++?
I have taken a quick look into these files and I know few details about the structure.
I am busy doing other work.

11
Mod Showroom / fastman92 processor
« on: October 09, 2016, 09:28:59 AM »
fastman92 processor
I have made a very powerful tool for IDE and IPL processing that supports multiple games: GTA III, GTA VC, GTA SA, GTA IV, GTA V and Bully Scholarship Edition.
That includes binary files like IDB and IPB from Bully.
For GTA IV both little and big endian binary placement files are supported.
The powerful classes can be adapted to perform various tasks; conversion between game formats is just one of many possibilities.

fastman92_processor.bat contains few examples.

----------------
I put a lot of effort making sure that my projects meet the high quality requirements.
That takes a significiant amount of work.
If you like any of my projects, please consider making a donation. And keep on looking for what projects the future might bring.



Download:
Link: http://gtaforums.com/topic/857375-fastman92-processor/

12
Bully Modding Archives / Re: [Discussion]Fastman 92's Limit Adjuster
« on: September 21, 2016, 10:33:07 AM »
any new's? your website seems to be fucked
am just waiting for the new update
i honestly cant wait if we'd be able to modify ped capacity so we can spawn so much fucking more that's just awesome
dumb question ~
how do you use this

The currently available version 3.45 contains the limit that you're interested in:
Code: [Select]
[DYNAMIC LIMITS]
; Peds (24)
#Peds = 24

If you have any further questions, please ask in the official topic: http://gtaforums.com/topic/733982-fastman92-limit-adjuster/

13
TUTORIALS / Re: [PC][Tutorial] Editing language files with ease!
« on: June 17, 2016, 04:04:00 PM »
You still have no translate the language, because no one will do that for you.
Follow my productions at http://fastman92.ml

14
TUTORIALS / Re: [PC][Tutorial] Editing language files with ease!
« on: June 01, 2016, 07:35:40 PM »
I have my own CGameText class made in C++ that works with the following formats :
GTA 2
GTA III
GTA SA
GTA IV
Bully SE

My code fully allows to take control of game text, multi-byte charmap supported.

15
Bully Modding Archives / Re: [Discussion]Fastman 92's Limit Adjuster
« on: June 01, 2016, 05:01:05 PM »
This forum has big disadvantage: I waited over day just to get approved by administrator. Time matters.
It's unnacceptable.

Coming in the next version:
Code: [Select]
[DYNAMIC LIMITS]
; Peds (24)
#Peds = 24

; Vehicles (15)
#Vehicles = 15

; Objects (275)
#Objects = 275

CPools::ms_pPropAnimPool   - 220
CPools::ms_pEntityEffectKeeperPool - 24

The Bully has very similar limits and the structure of files to GTA games.

Here's the project topic: http://gtaforums.com/topic/733982-fastman92-limit-adjuster

Code: [Select]
void __cdecl CPools::Initialise()
// fastman92 reverse engineering
{
  CPool *v0; // eax@1
  CPool *v1; // esi@1
  CPool *v2; // eax@4
  CPool *v3; // esi@4
  CPool *v4; // eax@7
  CPool *v5; // esi@7
  CPool *v6; // eax@10
  CPool *v7; // esi@10
  CPool *v8; // eax@13
  CPool *v9; // esi@13
  CPool *v10; // eax@16
  CPool *v11; // esi@16
  CPool *v12; // eax@19
  CPool *v13; // esi@19
  CPool *v14; // eax@22
  CPool *v15; // esi@22
  CPool *v16; // eax@25
  CPool *v17; // esi@25
  CPool *v18; // eax@28
  CPool *v19; // esi@28
  CPool *v20; // eax@31
  CPool *v21; // esi@31
  CPool *v22; // eax@34
  CPool *v23; // esi@34
  CPool *v24; // eax@37
  CPool *v25; // esi@37
  CPool *v26; // eax@40
  CPool *v27; // esi@40
  CPool *v28; // eax@43
  CPool *v29; // esi@43
  CPool *v30; // eax@46
  CPool *v31; // esi@46
  CPool *v32; // eax@49
  CPool *v33; // esi@49
  CPool *v34; // eax@52
  CPool *v35; // esi@52
  CPool *v36; // eax@55
  CPool *v37; // esi@55
  CPool *v38; // eax@58
  CPool *v39; // esi@58
  CPool *v40; // eax@61
  CPool *v41; // esi@61
  CPool *v42; // eax@64
  CPool *v43; // esi@64
  CPool *v44; // eax@67
  CPool *v45; // esi@67
  CPool *v46; // eax@70
  CPool *v47; // esi@70
  CPool *v48; // eax@73
  CPool *v49; // esi@73
  CPool *v50; // eax@76
  CPool *v51; // esi@76
  CPool *v52; // eax@79
  CPool *v53; // esi@79
  CPool *v54; // eax@82
  CPool *v55; // esi@82
  CPool *v56; // ecx@85
  CPool *v57; // ecx@88

  sub_5EF0A0(6);
  v0 = (CPool *)operator new(0x1Cu);
  v1 = v0;
  if ( v0 )
  {
    v0->pOtherPool = 0;
    v0->pObjects = 0;
    v0->flags = 0;
    v0->field_14 = 0;
    v0->field_18 = 1;
    v0->NumberOfElements = 15000;
    v0->bInitializeWithConstructors = 0;
    sub_44A760(v0);
    CPools::ms_pPtrNodeSingleLinkPool = v1;
  }
  else
  {
    CPools::ms_pPtrNodeSingleLinkPool = 0;
  }
  v2 = (CPool *)operator new(0x1Cu);
  v3 = v2;
  if ( v2 )
  {
    v2->pOtherPool = 0;
    v2->pObjects = 0;
    v2->flags = 0;
    v2->field_14 = 0;
    v2->field_18 = 1;
    v2->NumberOfElements = 2000;
    v2->bInitializeWithConstructors = 0;
    sub_44A850(v2);
    CPools::ms_pEntryInfoNodePool = v3;
  }
  else
  {
    CPools::ms_pEntryInfoNodePool = 0;
  }
  v4 = (CPool *)operator new(0x1Cu);
  v5 = v4;
  if ( v4 )
  {
    v4->pOtherPool = 0;
    v4->pObjects = 0;
    v4->flags = 0;
    v4->field_14 = 0;
    v4->field_18 = 1;
    v4->NumberOfElements = 15;
    v4->bInitializeWithConstructors = 0;
    sub_44CB90(v4);
    CPools::ms_pVehiclePool = v5;
  }
  else
  {
    CPools::ms_pVehiclePool = 0;
  }
  v6 = (CPool *)operator new(0x1Cu);
  v7 = v6;
  if ( v6 )
  {
    v6->pOtherPool = 0;
    v6->pObjects = 0;
    v6->flags = 0;
    v6->field_14 = 0;
    v6->field_18 = 1;
    v6->NumberOfElements = 24;
    v6->bInitializeWithConstructors = 0;
    sub_44A8D0(v6);
    CPools::ms_pPedPool = v7;
  }
  else
  {
    CPools::ms_pPedPool = 0;
  }
  v8 = (CPool *)operator new(0x1Cu);
  v9 = v8;
  if ( v8 )
  {
    v8->pOtherPool = 0;
    v8->pObjects = 0;
    v8->flags = 0;
    v8->field_14 = 0;
    v8->field_18 = 1;
    v8->NumberOfElements = 24;
    v8->bInitializeWithConstructors = 0;
    sub_44B130(v8);
    CPools::ms_pEntityEffectKeeperPool = v9;
  }
  else
  {
    CPools::ms_pEntityEffectKeeperPool = 0;
  }
  v10 = (CPool *)operator new(0x1Cu);
  v11 = v10;
  if ( v10 )
  {
    v10->pOtherPool = 0;
    v10->pObjects = 0;
    v10->flags = 0;
    v10->field_14 = 0;
    v10->field_18 = 1;
    v10->NumberOfElements = 24;
    v10->bInitializeWithConstructors = 0;
    sub_44B260(v10);
    CPools::ms_pAccessoryContainerPool = v11;
  }
  else
  {
    CPools::ms_pAccessoryContainerPool = 0;
  }
  v12 = (CPool *)operator new(0x1Cu);
  v13 = v12;
  if ( v12 )
  {
    v12->pOtherPool = 0;
    v12->pObjects = 0;
    v12->flags = 0;
    v12->field_14 = 0;
    v12->field_18 = 1;
    v12->NumberOfElements = 24;
    v12->bInitializeWithConstructors = 0;
    sub_44B390(v12);
    CPools::ms_pAttitudeSetPool = v13;
  }
  else
  {
    CPools::ms_pAttitudeSetPool = 0;
  }
  v14 = (CPool *)operator new(0x1Cu);
  v15 = v14;
  if ( v14 )
  {
    v14->pOtherPool = 0;
    v14->pObjects = 0;
    v14->flags = 0;
    v14->field_14 = 0;
    v14->field_18 = 1;
    v14->NumberOfElements = 24;
    v14->bInitializeWithConstructors = 0;
    sub_44B440(v14);
    CPools::ms_pPedActionTreePool = v15;
  }
  else
  {
    CPools::ms_pPedActionTreePool = 0;
  }
  v16 = (CPool *)operator new(0x1Cu);
  v17 = v16;
  if ( v16 )
  {
    v16->pOtherPool = 0;
    v16->pObjects = 0;
    v16->flags = 0;
    v16->field_14 = 0;
    v16->field_18 = 1;
    v16->NumberOfElements = 24;
    v16->bInitializeWithConstructors = 0;
    sub_44B590(v16);
    CPools::ms_pTargetingSystemPool = v17;
  }
  else
  {
    CPools::ms_pTargetingSystemPool = 0;
  }
  v18 = (CPool *)operator new(0x1Cu);
  v19 = v18;
  if ( v18 )
  {
    v18->pOtherPool = 0;
    v18->pObjects = 0;
    v18->flags = 0;
    v18->field_14 = 0;
    v18->field_18 = 1;
    v18->NumberOfElements = 24;
    v18->bInitializeWithConstructors = 0;
    sub_44B650(v18);
    CPools::ms_pWeaponAccessoryContainerPool = v19;
  }
  else
  {
    CPools::ms_pWeaponAccessoryContainerPool = 0;
  }
  v20 = (CPool *)operator new(0x1Cu);
  v21 = v20;
  if ( v20 )
  {
    v20->pOtherPool = 0;
    v20->pObjects = 0;
    v20->flags = 0;
    v20->field_14 = 0;
    v20->field_18 = 1;
    v20->NumberOfElements = 24;
    v20->bInitializeWithConstructors = 0;
    sub_44B780(v20);
    CPools::ms_MotionControllerPool = v21;
  }
  else
  {
    CPools::ms_MotionControllerPool = 0;
  }
  v22 = (CPool *)operator new(0x1Cu);
  v23 = v22;
  if ( v22 )
  {
    v22->pOtherPool = 0;
    v22->pObjects = 0;
    v22->flags = 0;
    v22->field_14 = 0;
    v22->field_18 = 1;
    v22->NumberOfElements = 48;
    v22->bInitializeWithConstructors = 0;
    sub_44B8B0(v22);
    CPools::ms_JointConstraintPool = v23;
  }
  else
  {
    CPools::ms_JointConstraintPool = 0;
  }
  v24 = (CPool *)operator new(0x1Cu);
  v25 = v24;
  if ( v24 )
  {
    v24->pOtherPool = 0;
    v24->pObjects = 0;
    v24->flags = 0;
    v24->field_14 = 0;
    v24->field_18 = 1;
    v24->NumberOfElements = 24;
    v24->bInitializeWithConstructors = 0;
    sub_44BAB0(v24);
    dword_C0F648 = v25;
  }
  else
  {
    dword_C0F648 = 0;
  }
  v26 = (CPool *)operator new(0x1Cu);
  v27 = v26;
  if ( v26 )
  {
    v26->pOtherPool = 0;
    v26->pObjects = 0;
    v26->flags = 0;
    v26->field_14 = 0;
    v26->field_18 = 1;
    v26->NumberOfElements = 48;
    v26->bInitializeWithConstructors = 0;
    sub_44BB60(v26);
    dword_C0F64C = v27;
  }
  else
  {
    dword_C0F64C = 0;
  }
  v28 = (CPool *)operator new(0x1Cu);
  v29 = v28;
  if ( v28 )
  {
    v28->pOtherPool = 0;
    v28->pObjects = 0;
    v28->flags = 0;
    v28->field_14 = 0;
    v28->field_18 = 1;
    v28->NumberOfElements = 57;
    v28->bInitializeWithConstructors = 0;
    sub_44BC10(v28);
    dword_C0F654 = v29;
  }
  else
  {
    dword_C0F654 = 0;
  }
  v30 = (CPool *)operator new(0x1Cu);
  v31 = v30;
  if ( v30 )
  {
    v30->pOtherPool = 0;
    v30->pObjects = 0;
    v30->flags = 0;
    v30->field_14 = 0;
    v30->field_18 = 1;
    v30->NumberOfElements = 8;
    v30->bInitializeWithConstructors = 0;
    sub_44B960(v30);
    CPools::ms_LuaScriptPool = v31;
  }
  else
  {
    CPools::ms_LuaScriptPool = 0;
  }
  v32 = (CPool *)operator new(0x1Cu);
  v33 = v32;
  if ( v32 )
  {
    v32->pOtherPool = 0;
    v32->pObjects = 0;
    v32->flags = 0;
    v32->field_14 = 0;
    v32->field_18 = 1;
    v32->NumberOfElements = 300;
    v32->bInitializeWithConstructors = 0;
    sub_44ABD0(v32);
    CPools::ms_pDummyPool = v33;
  }
  else
  {
    CPools::ms_pDummyPool = 0;
  }
  v34 = (CPool *)operator new(0x1Cu);
  v35 = v34;
  if ( v34 )
  {
    v34->pOtherPool = 0;
    v34->pObjects = 0;
    v34->flags = 0;
    v34->field_14 = 0;
    v34->field_18 = 1;
    v34->NumberOfElements = 220;
    v34->bInitializeWithConstructors = 0;
    sub_44CFD0(v34);
    CPools::ms_pPropAnimPool = v35;
  }
  else
  {
    CPools::ms_pPropAnimPool = 0;
  }
  v36 = (CPool *)operator new(0x1Cu);
  v37 = v36;
  if ( v36 )
  {
    v36->pOtherPool = 0;
    v36->pObjects = 0;
    v36->flags = 0;
    v36->field_14 = 0;
    v36->field_18 = 1;
    v36->NumberOfElements = 2250;
    v36->bInitializeWithConstructors = 0;
    sub_44AC90(v36);
    CPools::ms_pBuildingPool = v37;
  }
  else
  {
    CPools::ms_pBuildingPool = 0;
  }
  v38 = (CPool *)operator new(0x1Cu);
  v39 = v38;
  if ( v38 )
  {
    v38->pOtherPool = 0;
    v38->pObjects = 0;
    v38->flags = 0;
    v38->field_14 = 0;
    v38->field_18 = 1;
    v38->NumberOfElements = 1;
    v38->bInitializeWithConstructors = 0;
    sub_44AD50(v38);
    CPools::ms_pTreadablePool = v39;
  }
  else
  {
    CPools::ms_pTreadablePool = 0;
  }
  v40 = (CPool *)operator new(0x1Cu);
  v41 = v40;
  if ( v40 )
  {
    v40->pOtherPool = 0;
    v40->pObjects = 0;
    v40->flags = 0;
    v40->field_14 = 0;
    v40->field_18 = 1;
    v40->NumberOfElements = 48;
    v40->bInitializeWithConstructors = 0;
    sub_44AE10((int)v40);
    CPools::ms_pAccessoryPool = v41;
  }
  else
  {
    CPools::ms_pAccessoryPool = 0;
  }
  v42 = (CPool *)operator new(0x1Cu);
  v43 = v42;
  if ( v42 )
  {
    v42->pOtherPool = 0;
    v42->pObjects = 0;
    v42->flags = 0;
    v42->field_14 = 0;
    v42->field_18 = 1;
    v42->NumberOfElements = 4150;
    v42->bInitializeWithConstructors = 0;
    sub_44AED0(v42);
    CPools::ms_pColModelPool = v43;
  }
  else
  {
    CPools::ms_pColModelPool = 0;
  }
  v44 = (CPool *)operator new(0x1Cu);
  v45 = v44;
  if ( v44 )
  {
    v44->pOtherPool = 0;
    v44->pObjects = 0;
    v44->flags = 0;
    v44->field_14 = 0;
    v44->field_18 = 1;
    v44->NumberOfElements = 87;
    v44->bInitializeWithConstructors = 0;
    sub_44B000(v44);
    CPools::ms_pStimulusPool = v45;
  }
  else
  {
    CPools::ms_pStimulusPool = 0;
  }
  v46 = (CPool *)operator new(0x1Cu);
  v47 = v46;
  if ( v46 )
  {
    v46->pOtherPool = 0;
    v46->pObjects = 0;
    v46->flags = 0;
    v46->field_14 = 0;
    v46->field_18 = 1;
    v46->NumberOfElements = 275;
    v46->bInitializeWithConstructors = 0;
    sub_44A990(v46);
    CPools::ms_pObjectPool = v47;
  }
  else
  {
    CPools::ms_pObjectPool = 0;
  }
  v48 = (CPool *)operator new(0x1Cu);
  v49 = v48;
  if ( v48 )
  {
    v48->pOtherPool = 0;
    v48->pObjects = 0;
    v48->flags = 0;
    v48->field_14 = 0;
    v48->field_18 = 1;
    v48->NumberOfElements = 35;
    v48->bInitializeWithConstructors = 0;
    sub_44AA50(v48);
    CPools::ms_pProjectilePool = v49;
  }
  else
  {
    CPools::ms_pProjectilePool = 0;
  }
  v50 = (CPool *)operator new(0x1Cu);
  v51 = v50;
  if ( v50 )
  {
    v50->pOtherPool = 0;
    v50->pObjects = 0;
    v50->flags = 0;
    v50->field_14 = 0;
    v50->field_18 = 1;
    v50->NumberOfElements = 30;
    v50->bInitializeWithConstructors = 0;
    sub_44AB10(v50);
    CPools::ms_pCutScenePool = v51;
  }
  else
  {
    CPools::ms_pCutScenePool = 0;
  }
  v52 = (CPool *)operator new(0x1Cu);
  v53 = v52;
  if ( v52 )
  {
    v52->pOtherPool = 0;
    v52->pObjects = 0;
    v52->flags = 0;
    v52->field_14 = 0;
    v52->field_18 = 1;
    v52->NumberOfElements = 48;
    v52->bInitializeWithConstructors = 0;
    sub_44BCC0(v52);
    dword_C0F620 = v53;
  }
  else
  {
    dword_C0F620 = 0;
  }
  v54 = (CPool *)operator new(0x1Cu);
  v55 = v54;
  if ( v54 )
  {
    v54->pOtherPool = 0;
    v54->pObjects = 0;
    v54->flags = 0;
    v54->field_14 = 0;
    v54->field_18 = 1;
    v54->NumberOfElements = 200;
    v54->bInitializeWithConstructors = 0;
    sub_44BD70(v54);
    dword_C0F624 = v55;
  }
  else
  {
    dword_C0F624 = 0;
  }
  v56 = CPools::ms_pObjectPool->pOtherPool;
  if ( v56 )
    sub_4498C0(v56, CPools::ms_pProjectilePool);
  else
    CPools::ms_pObjectPool->pOtherPool = CPools::ms_pProjectilePool;
  v57 = CPools::ms_pObjectPool->pOtherPool;
  if ( v57 )
  {
    sub_4498C0(v57, CPools::ms_pCutScenePool);
    ms_pPtrNodeSingleLinkObjectArray = (int)CPools::ms_pPtrNodeSingleLinkPool->pObjects;
    sub_5EF100();
  }
  else
  {
    CPools::ms_pObjectPool->pOtherPool = CPools::ms_pCutScenePool;
    ms_pPtrNodeSingleLinkObjectArray = (int)CPools::ms_pPtrNodeSingleLinkPool->pObjects;
    sub_5EF100();
  }
}

I also have a very powerful tool for IDE and IPL processing that supports multiple games: GTA III, GTA VC, GTA SA, GTA IV, GTA V and Bully Scholarship Edition.
That includes binary files like IDB and IPL from Bully.
For GTA IV both little and big endian binary placement files are supported.
The powerful classes can be adapted to perform various tasks; conversion between game formats is just one of many possibilities.
To be released soon.
Follow my webpage: http://fastman92.ml

-------------------------------
This forum has big disadvantage: I waited over day just to get approved by administrator. Time matters.
It's unnacceptable.

Pages: [1] 2