// // cocos2d::extension::CCScrollView::isNodeVisible from 0x180012660 to 0x18001274d (237 bytes) // // 2 xrefs: // > @ 0x18002fdf8 // > @ 0x18004a368 // // 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 // bool __fastcall cocos2d::extension::CCScrollView::isNodeVisible( cocos2d::extension::CCScrollView *this, struct cocos2d::CCNode *a2) { const struct cocos2d::CCPoint *v4; // rax double v5; // xmm0_8 float v6; // xmm6_4 __int64 v7; // rax const struct cocos2d::CCRect *v8; // rax _BYTE v10[16]; // [rsp+30h] [rbp-38h] BYREF _BYTE v11[16]; // [rsp+40h] [rbp-28h] BYREF float v12; // [rsp+70h] [rbp+8h] BYREF float v13; // [rsp+74h] [rbp+Ch] float v14; // [rsp+80h] [rbp+18h] BYREF float v15; // [rsp+84h] [rbp+1Ch] v4 = (const struct cocos2d::CCPoint *)(*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 56) + 200LL))(*((_QWORD *)this + 56)); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v14, v4); cocos2d::CCSize::CCSize((cocos2d::CCSize *)&v12, (cocos2d::extension::CCScrollView *)((char *)this + 512)); v5 = (*(double (__fastcall **)(_QWORD))(**((_QWORD **)this + 56) + 168LL))(*((_QWORD *)this + 56)); v6 = *(float *)&v5; cocos2d::CCRect::CCRect((cocos2d::CCRect *)v10); cocos2d::CCRect::CCRect((cocos2d::CCRect *)v11, (float)-v14 / v6, (float)-v15 / v6, v12 / v6, v13 / v6); cocos2d::CCRect::operator=(v10, v7); v8 = (const struct cocos2d::CCRect *)cocos2d::CCNode::boundingBox(a2, v11); return cocos2d::CCRect::intersectsRect((cocos2d::CCRect *)v10, v8); }