• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

[Development] Change scene on character select state

Junior Spellweaver
Joined
Apr 16, 2007
Messages
145
Reaction score
82
Check this for 104d...., Ive only tested changing the value of flt_87933D8 (CAM_ROTZ) and it rotated the scene, so probably the rest are coordinates ..

if(*(DWORD*)0xE609E8 == 4)
{
// Character select scene, you can probably set here the coordinates
}

// ASM
Code:
004D8AE7  |> 833D E809E600 04             CMP DWORD PTR DS:[E609E8],4
004D8AEE     75 46                        JNZ SHORT Main.004D8B36
004D8AF0  |. D905 987BD200                FLD DWORD PTR DS:[D27B98]
004D8AF6  |. D91D D0337908                FSTP DWORD PTR DS:[87933D0]
004D8AFC  |. D9EE                         FLDZ
004D8AFE  |. D91D D4337908                FSTP DWORD PTR DS:[87933D4]
004D8B04  |. D905 0857D200                FLD DWORD PTR DS:[D25708]
004D8B0A  |. D91D D8337908                FSTP DWORD PTR DS:[87933D8]
004D8B10  |. D905 947BD200                FLD DWORD PTR DS:[D27B94]
004D8B16  |. D91D DC337908                FSTP DWORD PTR DS:[87933DC]
004D8B1C  |. D905 907BD200                FLD DWORD PTR DS:[D27B90]
004D8B22  |. D91D E0337908                FSTP DWORD PTR DS:[87933E0]
004D8B28  |. D905 8C7BD200                FLD DWORD PTR DS:[D27B8C]
004D8B2E  |. D91D E4337908                FSTP DWORD PTR DS:[87933E4]

// Decompiled
Code:
    else if ( dword_E609E8 == 4 )
    {
      flt_87933D0 = -84.5;
      flt_87933D4 = 0.0;
      flt_87933D8 = -75.0; // CAM_ROTZ
      flt_87933DC = 9758.9297;
      flt_87933E0 = 18913.109;
      flt_87933E4 = 675.5;
    }

Update:

You simply need to multiply the X/Y by 100.
*(float *)0x87933DC = 9758.9297; // X coordinate (98)
*(float *)0x87933E0 = 18913.109; // Y coordinate (189)

NOTE: Values in the IF clause are alway being updated with the default values so find a way to stop it.

Season 6 (104d) with Season 2 default Select Screen (map 55)
 

Attachments

You must be registered for see attachments list
Last edited:
Back
Top