Untitled
unknown
c_cpp
2 years ago
3.7 kB
12
Indexable
BOOLE SNAP::OBJE_MANAGER_OKU(BOOLE debug) {
__MUTASYON_DEFENDER__;
USAYI32 net_id = 0;
__MUTASYON_DEFENDER__;
static ADRES64 kalici_adres = 0;
__MUTASYON_DEFENDER__;
if (kalici_adres == 0) {
__MUTASYON_DEFENDER__;
if (!BELLEK::oku(CEKIRDEK::BEYZ + OFSET::MANAGER::obje, &kalici_adres)) {
__MUTASYON_DEFENDER__;
return FALSE;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
if (kalici_adres == 0) {
__MUTASYON_DEFENDER__;
return FALSE;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
USAYI32 sayisi = 0;
__MUTASYON_DEFENDER__;
if (!BELLEK::oku(kalici_adres + OFSET::MANAGER::obje_sayisi, &sayisi)) {
__MUTASYON_DEFENDER__;
return FALSE;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
if (sayisi == 0) {
__MUTASYON_DEFENDER__;
return FALSE;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
ADRES64 ilk_node_adres = 0;
__MUTASYON_DEFENDER__;
if (!BELLEK::oku(kalici_adres + OFSET::MANAGER::obje_node, &ilk_node_adres)) {
__MUTASYON_DEFENDER__;
return FALSE;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
if (ilk_node_adres == 0) {
__MUTASYON_DEFENDER__;
return FALSE;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
QUEUE<ADRES64> kontrol_edilecek_noktalar = {};
__MUTASYON_DEFENDER__;
SET<ADRES64> kontrol_edilen_noktalar = {};
__MUTASYON_DEFENDER__;
kontrol_edilecek_noktalar.push(ilk_node_adres);
__MUTASYON_DEFENDER__;
SAYI okuma_sayisi = 0;
__MUTASYON_DEFENDER__;
ADRES64 node, node_1, node_2, node_3;
__MUTASYON_DEFENDER__;
while (okuma_sayisi < ADRES_MAKS && kontrol_edilecek_noktalar.size() > 0) {
__MUTASYON_DEFENDER__;
net_id = 0;
__MUTASYON_DEFENDER__;
node = kontrol_edilecek_noktalar.front();
__MUTASYON_DEFENDER__;
kontrol_edilecek_noktalar.pop();
__MUTASYON_DEFENDER__;
if (kontrol_edilen_noktalar.find(node) != kontrol_edilen_noktalar.end()) {
__MUTASYON_DEFENDER__;
continue;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
okuma_sayisi++;
__MUTASYON_DEFENDER__;
kontrol_edilen_noktalar.insert(node);
__MUTASYON_DEFENDER__;
if (!BELLEK::oku(node, TAMPON, OFSET::MANAGER::obje_node_obje + sizeof(ADRES64))) {
__MUTASYON_DEFENDER__;
break;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
GENEL::kopyala(TAMPON, &node_1);
__MUTASYON_DEFENDER__;
GENEL::kopyala(TAMPON + sizeof(ADRES64), &node_2);
__MUTASYON_DEFENDER__;
GENEL::kopyala(TAMPON + sizeof(ADRES64) * 2, &node_3);
__MUTASYON_DEFENDER__;
kontrol_edilecek_noktalar.push(node_1);
__MUTASYON_DEFENDER__;
kontrol_edilecek_noktalar.push(node_2);
__MUTASYON_DEFENDER__;
kontrol_edilecek_noktalar.push(node_3);
__MUTASYON_DEFENDER__;
GENEL::kopyala(TAMPON + OFSET::MANAGER::obje_node_net_id, &net_id);
__MUTASYON_DEFENDER__;
if (net_id < 0x40000000 || net_id > 0x50000000) {
__MUTASYON_DEFENDER__;
continue;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
ADRES64 obje_adres;
__MUTASYON_DEFENDER__;
GENEL::kopyala(TAMPON + OFSET::MANAGER::obje_node_obje, &obje_adres);
__MUTASYON_DEFENDER__;
if (obje_adres == 0) {
__MUTASYON_DEFENDER__;
continue;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
ADRESLER[ADRES_INDEKS] = obje_adres;
__MUTASYON_DEFENDER__;
ADRES_INDEKS++;
__MUTASYON_DEFENDER__;
}
__MUTASYON_DEFENDER__;
return TRUE;
__MUTASYON_DEFENDER__;
}Editor is loading...