// // cocos2d::extension::CCControlColourPicker::init from 0x180007b30 to 0x180007e6f (831 bytes) // // 5 xrefs: // > @ 0x1800242a8 // > @ 0x18002da00 // > @ 0x18002da10 // > @ 0x18002fdf8 // > @ 0x1800497f8 // // This function is hookable on this platform! // // Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA // Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings // char __fastcall cocos2d::extension::CCControlColourPicker::init(cocos2d::extension::CCControlColourPicker *this) { __int64 v2; // rdx struct cocos2d::CCSpriteBatchNode *v3; // r14 cocos2d::CCSprite *v4; // rsi __int64 v5; // rbp __int64 v6; // r15 struct cocos2d::CCSprite *v7; // rax cocos2d::CCSprite *v8; // rbx float v9; // xmm6_4 float *v10; // rax __int64 v11; // rbx __int64 v12; // rax __int64 v13; // rbx __int64 v14; // rax __int64 v15; // rax __int64 v16; // rax float v17; // xmm2_4 float v18; // xmm1_4 __int64 v19; // rax __int64 v20; // rax __int64 v21; // rcx __int64 v22; // rbx __int64 v23; // rax _BYTE v25[8]; // [rsp+20h] [rbp-58h] BYREF _BYTE v26[8]; // [rsp+28h] [rbp-50h] BYREF float v27; // [rsp+88h] [rbp+10h] BYREF float v28; // [rsp+8Ch] [rbp+14h] float v29; // [rsp+90h] [rbp+18h] BYREF float v30; // [rsp+94h] [rbp+1Ch] float v31; // [rsp+98h] [rbp+20h] BYREF float v32; // [rsp+9Ch] [rbp+24h] if ( !cocos2d::extension::CCControl::init(this) ) return 0; LOBYTE(v2) = 1; (*(void (__fastcall **)(cocos2d::extension::CCControlColourPicker *, __int64))(*(_QWORD *)this + 904LL))(this, v2); v3 = cocos2d::CCSpriteBatchNode::create("CCControlColourPickerSpriteSheet.png"); (*(void (__fastcall **)(cocos2d::extension::CCControlColourPicker *, struct cocos2d::CCSpriteBatchNode *))(*(_QWORD *)this + 448LL))( this, v3); v4 = nullptr; *((_QWORD *)this + 60) = 0; *((_QWORD *)this + 61) = 0; *((_QWORD *)this + 62) = 0; v5 = ((__int64 (__stdcall *)(cocos2d::CCPoint *__hidden, float, float))cocos2d::CCPoint::CCPoint)( (cocos2d::CCPoint *)v25, 0.5, 0.5); v6 = cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v26, (const struct cocos2d::CCPoint *)&unk_1800485F8); v7 = cocos2d::CCSprite::createWithSpriteFrameName("menuColourPanelBackground.png"); v8 = v7; if ( v7 ) { (*(void (__fastcall **)(struct cocos2d::CCSprite *, __int64))(*(_QWORD *)v7 + 184LL))(v7, v6); (*(void (__fastcall **)(cocos2d::CCSprite *, __int64))(*(_QWORD *)v8 + 272LL))(v8, v5); (*(void (__fastcall **)(struct cocos2d::CCSpriteBatchNode *, cocos2d::CCSprite *))(*(_QWORD *)v3 + 448LL))(v3, v8); v4 = v8; } *((_QWORD *)this + 65) = v4; cocos2d::CCSprite::setFlipX(v4, 1); v9 = *(float *)((*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 65) + 304LL))(*((_QWORD *)this + 65)) + 4); v10 = (float *)(*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 65) + 304LL))(*((_QWORD *)this + 65)); v11 = ((__int64 (__stdcall *)(cocos2d::CCPoint *__hidden, float, float))cocos2d::CCPoint::CCPoint)( (cocos2d::CCPoint *)v26, *v10 * 0.5, v9 * 0.5); v12 = (*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 65) + 200LL))(*((_QWORD *)this + 65)); cocos2d::CCPoint::operator-(v12, &v27, v11); v13 = ((__int64 (__stdcall *)(cocos2d::CCPoint *__hidden, float, float))cocos2d::CCPoint::CCPoint)( (cocos2d::CCPoint *)v26, -1.75, 0.0); v14 = (*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 65) + 200LL))(*((_QWORD *)this + 65)); cocos2d::CCPoint::operator+(v14, v25, v13); (*(void (__fastcall **)(_QWORD, _BYTE *))(**((_QWORD **)this + 65) + 184LL))(*((_QWORD *)this + 65), v25); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v29, 14.0, 8.0); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v31, 33.0, 28.0); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v26, v29 + v27, v30 + v28); v16 = cocos2d::extension::CCControlHuePicker::create(v3, v15); v17 = v32 + v28; v18 = v31 + v27; *((_QWORD *)this + 64) = v16; cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)v26, v18, v17); v20 = cocos2d::extension::CCControlSaturationBrightnessPicker::create(v3, v19); v21 = *((_QWORD *)this + 64); *((_QWORD *)this + 63) = v20; (*(void (__fastcall **)(__int64, cocos2d::extension::CCControlColourPicker *, void (__fastcall *)(cocos2d::extension::CCControlColourPicker *__hidden, struct cocos2d::CCObject *, unsigned int), __int64))(*(_QWORD *)v21 + 1080LL))( v21, this, cocos2d::extension::CCControlColourPicker::hueSliderValueChanged, 256); (*(void (__fastcall **)(_QWORD, cocos2d::extension::CCControlColourPicker *, void (__fastcall *)(cocos2d::extension::CCControlColourPicker *__hidden, struct cocos2d::CCObject *, unsigned int), __int64))(**((_QWORD **)this + 63) + 1080LL))( *((_QWORD *)this + 63), this, cocos2d::extension::CCControlColourPicker::colourSliderValueChanged, 256); cocos2d::extension::CCControlColourPicker::updateHueAndControlPicker(this); (*(void (__fastcall **)(cocos2d::extension::CCControlColourPicker *, _QWORD))(*(_QWORD *)this + 448LL))( this, *((_QWORD *)this + 64)); (*(void (__fastcall **)(cocos2d::extension::CCControlColourPicker *, _QWORD))(*(_QWORD *)this + 448LL))( this, *((_QWORD *)this + 63)); v22 = *(_QWORD *)this; v23 = (*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 65) + 304LL))(*((_QWORD *)this + 65)); (*(void (__fastcall **)(cocos2d::extension::CCControlColourPicker *, __int64))(v22 + 296))(this, v23); return 1; }