 {$CLEO .csi}
//GZedit.txt

03A4: name_thread 'GZEDIT'

///// INIT
0001: wait 0 ms
00BC: show_text_highpriority GXT 'FELD_WR' time 1000 flag 1     // " loading data , please wait " txt
0001: wait 100 ms                                             
0DD0: 0@ = get_label_addr @_ZN9CPopCycle15m_pCurrZoneInfoE
0DD1: 0@ = get_func_addr_by_cstr_name 0@                       // current zone info
0001: wait 100 ms
0006: 1@ = 0x00                                                // local ( store current zone )
0006: 2@ = 0x00                                                // gang id & offsets
0006: 3@ = 0x00                                                // P&C rezone
0879: enable_gang_wars 1
0629: change_integer_stat 337 to 1
0001: wait 1500 ms
0002: jump @SGAtxt

///// " SELECT ... GANG AREA " TXT
:SGAtxt
0001: wait 0 ms
00BE: text_clear_all
00BA: show_text_styled GXT "FEI_SEL" time 1000 style 8         // " select " txt
00BA: show_text_styled GXT "FED_BL5" time 1000 style 7         // " gang area " txt
00BA: show_text_styled GXT "LG_01" time 1000 style 5           // " player position " txt
00BA: show_text_styled GXT "FEM_OK" time 1000 style 4          // " OK " txt
00BC: show_text_highpriority GXT 'PLA_21' time 1000 flag 1     // " exit " txt
00D6: if
00E1:   key_pressed 3 touch_point 6                            //  center screen touch
004D: jump_if_false @ZoneID
0002: jump @EndS

///// READ & STORE CURRENT ZONE
:ZoneID
0001: wait 0 ms
00D6: if
00E1:   key_pressed 3 touch_point 5                            //  center screen touch
004D: jump_if_false @SGAtxt
0DD8: 1@ = read_mem_addr 0@ size 4 add_ib 0                    // read & store current zone
00BE: text_clear_all
00BA: show_text_styled GXT "FED_BL5" time 2000 style 5         // " gang area " txt
00BA: show_text_styled GXT "FESZ_LS" time 2000 style 6         // " load succesfull " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 2000 flag 1    // " please wait ... " txt
0001: wait 3000 ms
0002: jump @ClearZ

///// CLEAR ZONE GANG DENSITIES & ADD DEALERS 
:ClearZ
0001: wait 0 ms
0DD9: write_mem_addr 1@ value 0x00 size 1 add_ib 0 protect 0   // clear ballas
000A: 1@ += 0x01
0DD9: write_mem_addr 1@ value 0x00 size 1 add_ib 0 protect 0   // clear groove
000A: 1@ += 0x01
0DD9: write_mem_addr 1@ value 0x00 size 1 add_ib 0 protect 0   // clear vagos
000A: 1@ += 0x01
0DD9: write_mem_addr 1@ value 0x00 size 1 add_ib 0 protect 0   // clear rifa
000A: 1@ += 0x01
0DD9: write_mem_addr 1@ value 0x00 size 1 add_ib 0 protect 0   // clear danang
000A: 1@ += 0x01
0DD9: write_mem_addr 1@ value 0x00 size 1 add_ib 0 protect 0   // clear mafia
000A: 1@ += 0x01
0DD9: write_mem_addr 1@ value 0x00 size 1 add_ib 0 protect 0   // clear triads
000A: 1@ += 0x01
0DD9: write_mem_addr 1@ value 0x00 size 1 add_ib 0 protect 0   // clear aztecas
000A: 1@ += 0x03
0DD9: write_mem_addr 1@ value 0x0A size 1 add_ib 0 protect 0   // add delears 0x0A
000A: 1@ += 0x05
0DD8: 3@ = read_mem_addr 1@ size 1 add_ib 0  	               // read P&C
0879: enable_gang_wars 0
0002: jump @CzoneA

///// REZONE CHECK A 
:CzoneA
0001: wait 0 ms
00D6: if 
0029:   3@ >= 0x0E                                             // avoid = P&C 15+ settings
004D: jump_if_false @CzoneB
0209: 3@ = random_int_in_ranges 0 15                           // random P&C
0002: jump @Rezone

///// REZONE CHECK B
:CzoneB
0001: wait 0 ms
00D6: if or
0039:   3@ == 0x01     		                                   // avoid = P&C 1 setting    
0039:   3@ == 0x03    		                                   // avoid = P&C 3 setting
004D: jump_if_false @SGCtxt
0209: 3@ = random_int_in_ranges 0 15                           // random P&C
0002: jump @Rezone

///// REZONE 
:Rezone
0001: wait 0 ms
0DD9: write_mem_addr 1@ value 3@ size 1 add_ib 0 protect 0     // write " random " P&C 
0002: jump @CzoneA

///// " SELECT ... GANG CONTROL " TXT
:SGCtxt
0001: wait 0 ms
000E: 1@ -= 0x0F
00BA: show_text_styled GXT "FEI_SEL" time 3000 style 5         // " select " txt
00BA: show_text_styled GXT "FEC_GAN" time 3000 style 6         // " gang control " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 3000 flag 1    // " please wait ... " txt
0001: wait 4000 ms
0002: jump @G0txt

///// BALLAS
:G0txt
0001: wait 0 ms
00D6: if 
0039:  2@ == 0x00
004D: jump_if_false @G1txt
00BE: text_clear_all
00BA: show_text_styled GXT "FEI_SCR" time 1000 style 8         // " scroll " txt
00BA: show_text_styled GXT "FES_GAN" time 1000 style 7         // " gangs "
00BA: show_text_styled GXT "ST_GNG0" time 1000 style 5         // " ballas " txt
00BA: show_text_styled GXT "FEM_OK" time 1000 style 4          // " OK " txt
00BC: show_text_highpriority GXT 'FEC_GAM' time 1000 flag 1    // " gang active mode "
00D6: if
00E1:   key_pressed 3 touch_point 4                            //  top center screen touch
004D: jump_if_false @G0set
0001: wait 500 ms
0006: 2@ = 0x01
0002: jump @G0txt

:G0set
0001: wait 0 ms
00D6: if
00E1:   key_pressed 3 touch_point 5                            //  center screen touch
004D: jump_if_false @G0txt
0DD9: write_mem_addr 1@ value 0x32 size 1 add_ib 0 protect 0   // add ballas density 0x32
00BE: text_clear_all
00BA: show_text_styled GXT "FEC_GAN" time 1500 style 5         // " gang control " txt
00BA: show_text_styled GXT "FESZ_LS" time 1500 style 6         // " load succesfull " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 2000 flag 1    // " please wait ... " txt
0879: enable_gang_wars 1
0001: wait 2000 ms
0002: jump @SGAtxt

///// GROOVE
:G1txt
0001: wait 0 ms
00D6: if 
0039:  2@ == 0x01
004D: jump_if_false @G2txt
00BE: text_clear_all
00BA: show_text_styled GXT "FEI_SCR" time 1000 style 8         // " scroll " txt
00BA: show_text_styled GXT "FES_GAN" time 1000 style 7         // " gangs "  txt
00BA: show_text_styled GXT "ST_GNG1" time 1000 style 5         // " groove " txt
00BA: show_text_styled GXT "FEM_OK" time 1000 style 4          // " OK " txt
00BC: show_text_highpriority GXT 'FEC_GAM' time 1000 flag 1    // " gang active mode " 
00D6: if
00E1:   key_pressed 3 touch_point 4                            //  top center screen touch
004D: jump_if_false @G1set
0001: wait 500 ms
0006: 2@ = 0x02
0002: jump @G1txt

:G1set
0001: wait 0 ms
00D6: if
00E1:   key_pressed 3 touch_point 5                            // center screen touch
004D: jump_if_false @G1txt
005A: 1@ += 2@ 
0DD9: write_mem_addr 1@ value 0x32 size 1 add_ib 0 protect 0   // add groove density 0x32
0062: 1@ -= 2@
0006: 2@ = 0x00
00BE: text_clear_all
00BA: show_text_styled GXT "FEC_GAN" time 1500 style 5         // " gang control " txt
00BA: show_text_styled GXT "FESZ_LS" time 1500 style 6         // " load succesfull " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 2000 flag 1    // " please wait ... " txt
0879: enable_gang_wars 1
0001: wait 2000 ms
0002: jump @SGAtxt

///// VAGOS
:G2txt
0001: wait 0 ms
00D6: if 
0039:  2@ == 0x02
004D: jump_if_false @G3txt
00BE: text_clear_all
00BA: show_text_styled GXT "FEI_SCR" time 1000 style 8         // " scroll " txt
00BA: show_text_styled GXT "FES_GAN" time 1000 style 7         // " gangs "  txt
00BA: show_text_styled GXT "ST_GNG2" time 1000 style 5         // " vagos " txt
00BA: show_text_styled GXT "FEM_OK" time 1000 style 4          // " OK " txt
00BC: show_text_highpriority GXT 'FEC_GAM' time 1000 flag 1    // " gang active mode " 
00D6: if
00E1:   key_pressed 3 touch_point 4                            //  top center screen touch
004D: jump_if_false @G2set
0001: wait 500 ms
0006: 2@ = 0x03
0002: jump @G2txt

:G2set
0001: wait 0 ms
00D6: if
00E1:   key_pressed 3 touch_point 5                            // center screen touch
004D: jump_if_false @G2txt
005A: 1@ += 2@ 
0DD9: write_mem_addr 1@ value 0x32 size 1 add_ib 0 protect 0   // add vagos density 0x32
0062: 1@ -= 2@
0006: 2@ = 0x00
00BE: text_clear_all
00BA: show_text_styled GXT "FEC_GAN" time 1500 style 5         // " gang control " txt
00BA: show_text_styled GXT "FESZ_LS" time 1500 style 6         // " load succesfull " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 2000 flag 1    // " please wait ... " txt
0879: enable_gang_wars 1
0001: wait 2000 ms
0002: jump @SGAtxt

///// RIFA
:G3txt
0001: wait 0 ms
00D6: if 
0039:  2@ == 0x03
004D: jump_if_false @G4txt
00BE: text_clear_all
00BA: show_text_styled GXT "FEI_SCR" time 1000 style 8         // " scroll " txt
00BA: show_text_styled GXT "FES_GAN" time 1000 style 7         // " gangs "  txt
00BA: show_text_styled GXT "ST_GNG3" time 1000 style 5         // " rifa " txt
00BA: show_text_styled GXT "FEM_OK" time 1000 style 4          // " OK " txt
00BC: show_text_highpriority GXT 'FEC_GPM' time 1000 flag 1    // " gang passive mode "
00D6: if
00E1:   key_pressed 3 touch_point 4                            //  top center screen touch
004D: jump_if_false @G3set
0001: wait 500 ms
0006: 2@ = 0x04
0002: jump @G3txt

:G3set
0001: wait 0 ms
00D6: if
00E1:   key_pressed 3 touch_point 5                            // center screen touch
004D: jump_if_false @G3txt
005A: 1@ += 2@ 
0DD9: write_mem_addr 1@ value 0x32 size 1 add_ib 0 protect 0   // add rifa density 0x32
0062: 1@ -= 2@
0006: 2@ = 0x00
00BE: text_clear_all
00BA: show_text_styled GXT "FEC_GAN" time 1500 style 5         // " gang control " txt
00BA: show_text_styled GXT "FESZ_LS" time 1500 style 6         // " load succesfull " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 2000 flag 1    // " please wait ... " txt
0879: enable_gang_wars 1
0001: wait 2000 ms
0002: jump @SGAtxt

///// DANANG
:G4txt
0001: wait 0 ms
00D6: if 
0039:  2@ == 0x04
004D: jump_if_false @G5txt
00BE: text_clear_all
00BA: show_text_styled GXT "FEI_SCR" time 1000 style 8         // " scroll " txt
00BA: show_text_styled GXT "FES_GAN" time 1000 style 7         // " gangs "  txt
00BA: show_text_styled GXT "ST_GNG4" time 1000 style 5         // " danang " txt
00BA: show_text_styled GXT "FEM_OK" time 1000 style 4          // " OK " txt
00BC: show_text_highpriority GXT 'FEC_GPM' time 1000 flag 1    // " gang passive mode " 
00D6: if
00E1:   key_pressed 3 touch_point 4                            //  top center screen touch
004D: jump_if_false @G4set
0001: wait 500 ms
0006: 2@ = 0x05
0002: jump @G4txt

:G4set
0001: wait 0 ms
00D6: if
00E1:   key_pressed 3 touch_point 5                            // center screen touch
004D: jump_if_false @G4txt
005A: 1@ += 2@ 
0DD9: write_mem_addr 1@ value 0x32 size 1 add_ib 0 protect 0   // add danang density 0x32
0062: 1@ -= 2@
0006: 2@ = 0x00
00BE: text_clear_all
00BA: show_text_styled GXT "FEC_GAN" time 1500 style 5         // " gang control " txt
00BA: show_text_styled GXT "FESZ_LS" time 1500 style 6         // " load succesfull " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 2000 flag 1    // " please wait ... " txt
0879: enable_gang_wars 1
0001: wait 2000 ms
0002: jump @SGAtxt

///// MAFIA
:G5txt
0001: wait 0 ms
00D6: if 
0039:  2@ == 0x05
004D: jump_if_false @G6txt
00BE: text_clear_all
00BA: show_text_styled GXT "FEI_SCR" time 1000 style 8         // " scroll " txt
00BA: show_text_styled GXT "FES_GAN" time 1000 style 7         // " gangs " txt
00BA: show_text_styled GXT "ST_GNG5" time 1000 style 5         // " mafia " txt
00BA: show_text_styled GXT "FEM_OK" time 1000 style 4          // " OK " txt
00BC: show_text_highpriority GXT 'FEC_GPM' time 1000 flag 1    // " gang passive mode "
00D6: if
00E1:   key_pressed 3 touch_point 4                            //  top center screen touch
004D: jump_if_false @G5set
0001: wait 500 ms
0006: 2@ = 0x06
0002: jump @G5txt

:G5set
0001: wait 0 ms
00D6: if
00E1:   key_pressed 3 touch_point 5                            // center screen touch
004D: jump_if_false @G5txt
005A: 1@ += 2@ 
0DD9: write_mem_addr 1@ value 0x32 size 1 add_ib 0 protect 0   // add mafia density 0x32
0062: 1@ -= 2@
0006: 2@ = 0x00
00BE: text_clear_all
00BA: show_text_styled GXT "FEC_GAN" time 1500 style 5         // " gang control " txt
00BA: show_text_styled GXT "FESZ_LS" time 1500 style 6         // " load succesfull " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 2000 flag 1    // " please wait ... " txt
0879: enable_gang_wars 1
0001: wait 2000 ms
0002: jump @SGAtxt

///// TRIADS
:G6txt
0001: wait 0 ms
00D6: if 
0039:  2@ == 0x06
004D: jump_if_false @G7txt
00BE: text_clear_all
00BA: show_text_styled GXT "FEI_SCR" time 1000 style 8         // " scroll " txt
00BA: show_text_styled GXT "FES_GAN" time 1000 style 7         // " gangs "  txt
00BA: show_text_styled GXT "ST_GNG6" time 1000 style 5         // " triad " txt
00BA: show_text_styled GXT "FEM_OK" time 1000 style 4          // " OK " txt
00BC: show_text_highpriority GXT 'FEC_GPM' time 1000 flag 1    // " gang passive mode "
00D6: if
00E1:   key_pressed 3 touch_point 4                            //  top center screen touch
004D: jump_if_false @G6set
0001: wait 500 ms
0006: 2@ = 0x07
0002: jump @G6txt

:G6set
0001: wait 0 ms
00D6: if
00E1:   key_pressed 3 touch_point 5                            // center screen touch
004D: jump_if_false @G6txt
005A: 1@ += 2@ 
0DD9: write_mem_addr 1@ value 0x32 size 1 add_ib 0 protect 0   // add triad density 0x32
0062: 1@ -= 2@
0006: 2@ = 0x00
00BE: text_clear_all
00BA: show_text_styled GXT "FEC_GAN" time 1500 style 5         // " gang control " txt
00BA: show_text_styled GXT "FESZ_LS" time 1500 style 6         // " load succesfull " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 2000 flag 1    // " please wait ... " txt
0879: enable_gang_wars 1
0001: wait 2000 ms
0002: jump @SGAtxt

///// AZTECAS
:G7txt
0001: wait 0 ms
00D6: if 
0039:  2@ == 0x07
004D: jump_if_false @G0txt
00BE: text_clear_all
00BA: show_text_styled GXT "FEI_SCR" time 1000 style 8         // " scroll " txt
00BA: show_text_styled GXT "FES_GAN" time 1000 style 7         // " gangs " txt
00BA: show_text_styled GXT "ST_GNG7" time 1000 style 5         // " aztecas " txt
00BA: show_text_styled GXT "FEM_OK" time 1000 style 4          // " OK " txt
00BC: show_text_highpriority GXT 'FEC_GPM' time 1000 flag 1    // " gang passive mode " 
00D6: if
00E1:   key_pressed 3 touch_point 4                            //  top center screen touch
004D: jump_if_false @G7set
0001: wait 500 ms
0006: 2@ = 0x00
0002: jump @G0txt

:G7set
0001: wait 0 ms
00D6: if
00E1:   key_pressed 3 touch_point 5                            // center screen touch
004D: jump_if_false @G7txt
005A: 1@ += 2@ 
0DD9: write_mem_addr 1@ value 0x32 size 1 add_ib 0 protect 0   // add aztecas density 0x32
0062: 1@ -= 2@
0006: 2@ = 0x00
00BE: text_clear_all
00BA: show_text_styled GXT "FEC_GAN" time 1500 style 5         // " gang control " txt
00BA: show_text_styled GXT "FESZ_LS" time 1500 style 6         // " load succesfull " txt
00BC: show_text_highpriority GXT 'FEM_PWT' time 2000 flag 1    // " please wait ... " txt
0879: enable_gang_wars 1
0001: wait 2000 ms
0002: jump @SGAtxt

:EndS
0001: wait 0 ms
00BE: text_clear_all
00BA: show_text_styled GXT "B_THX_1" time 2000 style 4         // " thank you, sir, have a nice day " txt
00BC: show_text_highpriority GXT 'AMUBYE' time 2000 flag 1     // " come back again " txt
0001: wait 2000 ms
end_thread 

///// LABEL
:_ZN9CPopCycle15m_pCurrZoneInfoE
hex
"_ZN9CPopCycle15m_pCurrZoneInfoE" 00