// // cocos2d::extension::CCScrollView::getViewRect from 0x180014090 to 0x1800141b1 (289 bytes) // // 5 xrefs: // > cocos2d::extension::CCScrollView::beforeDraw @ 0x180013625 // > cocos2d::extension::CCScrollView::ccTouchBegan @ 0x1800139b8 // > cocos2d::extension::CCScrollView::ccTouchMoved @ 0x180013c8b // > @ 0x18002fdf8 // > @ 0x18004a5e4 // // 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 // cocos2d::CCRect *__fastcall cocos2d::extension::CCScrollView::getViewRect(__int64 a1, cocos2d::CCRect *a2) { double v4; // xmm0_8 float v5; // xmm7_4 double v6; // xmm0_8 __int64 v7; // rbx float i; // xmm6_4 float v9; // xmm3_4 float v10; // xmm1_4 float v11; // xmm0_4 float v12; // xmm2_4 float v13; // xmm0_4 float v15; // [rsp+60h] [rbp+8h] BYREF float v16; // [rsp+64h] [rbp+Ch] cocos2d::CCNode::convertToWorldSpace(a1, &v15, &unk_180048620); v4 = (*(double (__fastcall **)(__int64))(*(_QWORD *)a1 + 128LL))(a1); v5 = *(float *)&v4; v6 = (*(double (__fastcall **)(__int64))(*(_QWORD *)a1 + 144LL))(a1); v7 = *(_QWORD *)(a1 + 216); for ( i = *(float *)&v6; v7; v7 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v7 + 488LL))(v7) ) { v5 = v5 * (*(float (__fastcall **)(__int64))(*(_QWORD *)v7 + 128LL))(v7); i = i * (*(float (__fastcall **)(__int64))(*(_QWORD *)v7 + 144LL))(v7); } v9 = *(float *)(a1 + 512); v10 = v15; if ( v5 < 0.0 ) { v11 = v9 * v5; v5 = -v5; v10 = v15 + v11; v15 = v15 + v11; } v12 = v16; if ( i < 0.0 ) { v13 = i; i = -i; v12 = v16 + (float)(v13 * *(float *)(a1 + 516)); v16 = v12; } cocos2d::CCRect::CCRect(a2, v10, v12, v9 * v5, i * *(float *)(a1 + 516)); return a2; }