Advertisement
ZoriaRPG

Cheat Modifier Keys

Oct 28th, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 14.40 KB | None | 0 0
  1. //add to zc-sys.cpp, zc_sys.h, zelda.cpp and zelda.h:
  2. int cheat_modifier_keys[4]; //two options each, default either control and either shift
  3.  
  4. //Add to zc_sys:
  5.  
  6. bool CheatModifierKeys()
  7. {
  8.     if ( ( key[cheat_modifier_keys[0]] || cheat_modifier_keys[0] <= 0 ) ||
  9.         ( key[cheat_modifier_keys[1]] || cheat_modifier_keys[1] <= 0 ) )
  10.     {
  11.         if ( ( key[cheat_modifier_keys[2]] || cheat_modifier_keys[2] <= 0 ) ||
  12.             ( key[cheat_modifier_keys[3]] || cheat_modifier_keys[3] <= 0 ) )
  13.         {
  14.             return true;
  15.         }
  16.     }
  17.     return false;
  18. }
  19.    
  20.  
  21. /* in zc_sys.cpp, at:
  22.  
  23. if(get_debug() || cheat>=1)
  24.     {
  25.     if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
  26.     {
  27.         if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
  28.  
  29. CHANGE TO:
  30.  
  31. if(get_debug() || cheat>=1)
  32.     {
  33.     if ( CheatModifierKeys() )
  34.  
  35. REPEAT FOR:
  36.  
  37. if(get_debug() || cheat>=2)
  38.     {
  39.     if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
  40.     {
  41.    
  42. REPEAT FOR:
  43.  if(get_debug() || cheat>=4)
  44.     {
  45.     if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
  46.     {
  47.         if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
  48.         {
  49.  
  50. */
  51.        
  52. /*
  53.  
  54.  
  55.     if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
  56.     {
  57.         if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
  58.         */
  59.  
  60.  
  61. void load_game_configs()
  62. {
  63.     joystick_index = get_config_int(cfg_sect,"joystick_index",0);
  64.     js_stick_1_x_stick = get_config_int(cfg_sect,"js_stick_1_x_stick",0);
  65.     js_stick_1_x_axis = get_config_int(cfg_sect,"js_stick_1_x_axis",0);
  66.     js_stick_1_x_offset = get_config_int(cfg_sect,"js_stick_1_x_offset",0) ? 128 : 0;
  67.     js_stick_1_y_stick = get_config_int(cfg_sect,"js_stick_1_y_stick",0);
  68.     js_stick_1_y_axis = get_config_int(cfg_sect,"js_stick_1_y_axis",1);
  69.     js_stick_1_y_offset = get_config_int(cfg_sect,"js_stick_1_y_offset",0) ? 128 : 0;
  70.     js_stick_2_x_stick = get_config_int(cfg_sect,"js_stick_2_x_stick",1);
  71.     js_stick_2_x_axis = get_config_int(cfg_sect,"js_stick_2_x_axis",0);
  72.     js_stick_2_x_offset = get_config_int(cfg_sect,"js_stick_2_x_offset",0) ? 128 : 0;
  73.     js_stick_2_y_stick = get_config_int(cfg_sect,"js_stick_2_y_stick",1);
  74.     js_stick_2_y_axis = get_config_int(cfg_sect,"js_stick_2_y_axis",1);
  75.     js_stick_2_y_offset = get_config_int(cfg_sect,"js_stick_2_y_offset",0) ? 128 : 0;
  76.     analog_movement = get_config_int(cfg_sect,"analog_movement",1);
  77.    
  78.     //cheat modifier keya
  79.     cheat_modifier_keys[0] = get_config_int(cfg_sect,"key_cheatmod_a1",KEY_ZC_LCONTROL);
  80.     cheat_modifier_keys[1] = get_config_int(cfg_sect,"key_cheatmod_a2",KEY_ZC_RCONTROL);
  81.     cheat_modifier_keys[2] = get_config_int(cfg_sect,"key_cheatmod_b1",KEY_LSHIFT);
  82.     cheat_modifier_keys[3] = get_config_int(cfg_sect,"key_cheatmod_b2",KEY_RSHIFT);
  83.    
  84.     if((unsigned int)joystick_index >= MAX_JOYSTICKS)
  85.         joystick_index = 0;
  86.        
  87.     Akey = get_config_int(cfg_sect,"key_a",KEY_ALT);
  88.     Bkey = get_config_int(cfg_sect,"key_b",KEY_ZC_LCONTROL);
  89.     Skey = get_config_int(cfg_sect,"key_s",KEY_ENTER);
  90.     Lkey = get_config_int(cfg_sect,"key_l",KEY_Z);
  91.     Rkey = get_config_int(cfg_sect,"key_r",KEY_X);
  92.     Pkey = get_config_int(cfg_sect,"key_p",KEY_SPACE);
  93.     Exkey1 = get_config_int(cfg_sect,"key_ex1",KEY_Q);
  94.     Exkey2 = get_config_int(cfg_sect,"key_ex2",KEY_W);
  95.     Exkey3 = get_config_int(cfg_sect,"key_ex3",KEY_A);
  96.     Exkey4 = get_config_int(cfg_sect,"key_ex4",KEY_S);
  97.    
  98.     DUkey = get_config_int(cfg_sect,"key_up",   KEY_UP);
  99.     DDkey = get_config_int(cfg_sect,"key_down", KEY_DOWN);
  100.     DLkey = get_config_int(cfg_sect,"key_left", KEY_LEFT);
  101.     DRkey = get_config_int(cfg_sect,"key_right",KEY_RIGHT);
  102.    
  103.     Abtn = get_config_int(cfg_sect,"btn_a",2);
  104.     Bbtn = get_config_int(cfg_sect,"btn_b",1);
  105.     Sbtn = get_config_int(cfg_sect,"btn_s",10);
  106.     Mbtn = get_config_int(cfg_sect,"btn_m",9);
  107.     Lbtn = get_config_int(cfg_sect,"btn_l",5);
  108.     Rbtn = get_config_int(cfg_sect,"btn_r",6);
  109.     Pbtn = get_config_int(cfg_sect,"btn_p",12);
  110.     Exbtn1 = get_config_int(cfg_sect,"btn_ex1",7);
  111.     Exbtn2 = get_config_int(cfg_sect,"btn_ex2",8);
  112.     Exbtn3 = get_config_int(cfg_sect,"btn_ex3",4);
  113.     Exbtn4 = get_config_int(cfg_sect,"btn_ex4",3);
  114.    
  115.     DUbtn = get_config_int(cfg_sect,"btn_up",13);
  116.     DDbtn = get_config_int(cfg_sect,"btn_down",14);
  117.     DLbtn = get_config_int(cfg_sect,"btn_left",15);
  118.     DRbtn = get_config_int(cfg_sect,"btn_right",16);
  119.    
  120.     digi_volume = get_config_int(cfg_sect,"digi",248);
  121.     midi_volume = get_config_int(cfg_sect,"midi",255);
  122.     sfx_volume = get_config_int(cfg_sect,"sfx",248);
  123.     emusic_volume = get_config_int(cfg_sect,"emusic",248);
  124.     pan_style = get_config_int(cfg_sect,"pan",1);
  125.     // 1 <= zcmusic_bufsz <= 128
  126.     zcmusic_bufsz = vbound(get_config_int(cfg_sect,"zcmusic_bufsz",64),1,128);
  127.     volkeys = get_config_int(cfg_sect,"volkeys",0)!=0;
  128.     zc_vsync = get_config_int(cfg_sect,"vsync",0);
  129.     Throttlefps = get_config_int(cfg_sect,"throttlefps",1)!=0;
  130.     TransLayers = get_config_int(cfg_sect,"translayers",1)!=0;
  131.     SnapshotFormat = get_config_int(cfg_sect,"snapshot_format",3);
  132.     NameEntryMode = get_config_int(cfg_sect,"name_entry_mode",0);
  133.     ShowFPS = get_config_int(cfg_sect,"showfps",0)!=0;
  134.     NESquit = get_config_int(cfg_sect,"fastquit",0)!=0;
  135.     ClickToFreeze = get_config_int(cfg_sect,"clicktofreeze",1)!=0;
  136.     title_version = get_config_int(cfg_sect,"title",2);
  137.    
  138.     //default - scale x2, 640 x 480
  139.     resx = get_config_int(cfg_sect,"resx",640);
  140.     resy = get_config_int(cfg_sect,"resy",480);
  141.     //screen_scale = get_config_int(cfg_sect,"screen_scale",2);
  142.    
  143.     scanlines = get_config_int(cfg_sect,"scanlines",0)!=0;
  144.     loadlast = get_config_int(cfg_sect,"load_last",0);
  145.    
  146. // Fullscreen, page flipping may be problematic on newer windows systems.
  147. #ifdef _WIN32
  148.     fullscreen = get_config_int(cfg_sect,"fullscreen",0);
  149.     disable_triplebuffer = (byte) get_config_int(cfg_sect,"doublebuffer",1);
  150.     can_triplebuffer_in_windowed_mode = (byte) get_config_int(cfg_sect,"triplebuffer",0);
  151. #else
  152.     fullscreen = get_config_int(cfg_sect,"fullscreen",1);
  153.     disable_triplebuffer = (byte) get_config_int(cfg_sect,"doublebuffer",0);
  154.     can_triplebuffer_in_windowed_mode = (byte) get_config_int(cfg_sect,"triplebuffer",0);
  155. #endif
  156.    
  157.     zc_color_depth = (byte) get_config_int(cfg_sect,"color_depth",8);
  158.    
  159.     //workaround for the 100% CPU bug. -Gleeok
  160. #ifdef ALLEGRO_MACOSX //IIRC rest(0) was a mac issue fix.
  161.     frame_rest_suggest = (byte) get_config_int(cfg_sect,"frame_rest_suggest",0);
  162. #else
  163.     frame_rest_suggest = (byte) get_config_int(cfg_sect,"frame_rest_suggest",1);
  164. #endif
  165.     frame_rest_suggest = zc_min(2, frame_rest_suggest);
  166.    
  167.     forceExit = (byte) get_config_int(cfg_sect,"force_exit",0);
  168.    
  169. #ifdef _WIN32
  170.     use_debug_console = (byte) get_config_int(cfg_sect,"debug_console",0);
  171.     //use_win7_keyboard_fix = (byte) get_config_int(cfg_sect,"use_win7_key_fix",0);
  172.     use_win32_proc = (byte) get_config_int(cfg_sect,"zc_win_proc_fix",0); //buggy
  173.    
  174.     // This seems to fix some problems on Windows 7
  175.     disable_direct_updating = (byte) get_config_int("graphics","disable_direct_updating",1);
  176.    
  177.     // This one's for Aero
  178.     use_dwm_flush = (byte) get_config_int("zeldadx","use_dwm_flush",0);
  179.    
  180.     // And this one fixes patches unloading on some MIDI setups
  181.     midi_patch_fix = (byte) get_config_int("zeldadx","midi_patch_fix",0);
  182. #endif
  183.    
  184. #ifdef ALLEGRO_MACOSX
  185.     const char *default_path="../../../";
  186. #else
  187.     const char *default_path="";
  188. #endif
  189.     strcpy(qstdir,get_config_string(cfg_sect,qst_dir_name,default_path));
  190.    
  191.     if(strlen(qstdir)==0)
  192.     {
  193.         getcwd(qstdir,2048);
  194.         fix_filename_case(qstdir);
  195.         fix_filename_slashes(qstdir);
  196.         put_backslash(qstdir);
  197.     }
  198.     else
  199.     {
  200.         chop_path(qstdir);
  201.     }
  202.    
  203.     strcpy(qstpath,qstdir); //qstpath is the local (for this run of ZC) quest path, qstdir is the universal quest dir.
  204.     ss_enable = get_config_int(cfg_sect,"ss_enable",1) ? 1 : 0;
  205.     ss_after = vbound(get_config_int(cfg_sect,"ss_after",14), 0, 14);
  206.     ss_speed = vbound(get_config_int(cfg_sect,"ss_speed",2), 0, 6);
  207.     ss_density = vbound(get_config_int(cfg_sect,"ss_density",3), 0, 6);
  208.     heart_beep = get_config_int(cfg_sect,"heart_beep",1)!=0;
  209.     gui_colorset = get_config_int(cfg_sect,"gui_colorset",0);
  210.     sfxdat = get_config_int(cfg_sect,"use_sfx_dat",1);
  211.     fullscreen = get_config_int(cfg_sect,"fullscreen",1);
  212.     use_save_indicator = get_config_int(cfg_sect,"save_indicator",0);
  213. }
  214.  
  215. void save_game_configs()
  216. {
  217.     packfile_password("");
  218.  
  219.     set_config_int(cfg_sect,"joystick_index",joystick_index);
  220.     set_config_int(cfg_sect,"js_stick_1_x_stick",js_stick_1_x_stick);
  221.     set_config_int(cfg_sect,"js_stick_1_x_axis",js_stick_1_x_axis);
  222.     set_config_int(cfg_sect,"js_stick_1_x_offset",js_stick_1_x_offset ? 1 : 0);
  223.     set_config_int(cfg_sect,"js_stick_1_y_stick",js_stick_1_y_stick);
  224.     set_config_int(cfg_sect,"js_stick_1_y_axis",js_stick_1_y_axis);
  225.     set_config_int(cfg_sect,"js_stick_1_y_offset",js_stick_1_y_offset ? 1 : 0);
  226.     set_config_int(cfg_sect,"js_stick_2_x_stick",js_stick_2_x_stick);
  227.     set_config_int(cfg_sect,"js_stick_2_x_axis",js_stick_2_x_axis);
  228.     set_config_int(cfg_sect,"js_stick_2_x_offset",js_stick_2_x_offset ? 1 : 0);
  229.     set_config_int(cfg_sect,"js_stick_2_y_stick",js_stick_2_y_stick);
  230.     set_config_int(cfg_sect,"js_stick_2_y_axis",js_stick_2_y_axis);
  231.     set_config_int(cfg_sect,"js_stick_2_y_offset",js_stick_2_y_offset ? 1 : 0);
  232.     set_config_int(cfg_sect,"analog_movement",analog_movement);
  233.    
  234.     //cheat modifier keya
  235.    
  236.     set_config_int(cfg_sect,"key_cheatmod_a1",cheat_modifier_keys[0]);
  237.     set_config_int(cfg_sect,"key_cheatmod_a2",cheat_modifier_keys[1]);
  238.     set_config_int(cfg_sect,"key_cheatmod_b1",cheat_modifier_keys[2]);
  239.     set_config_int(cfg_sect,"key_cheatmod_b2",cheat_modifier_keys[3]);
  240.    
  241.    
  242.    
  243.    
  244.     set_config_int(cfg_sect,"key_a",Akey);
  245.     set_config_int(cfg_sect,"key_b",Bkey);
  246.     set_config_int(cfg_sect,"key_s",Skey);
  247.     set_config_int(cfg_sect,"key_l",Lkey);
  248.     set_config_int(cfg_sect,"key_r",Rkey);
  249.     set_config_int(cfg_sect,"key_p",Pkey);
  250.     set_config_int(cfg_sect,"key_ex1",Exkey1);
  251.     set_config_int(cfg_sect,"key_ex2",Exkey2);
  252.     set_config_int(cfg_sect,"key_ex3",Exkey3);
  253.     set_config_int(cfg_sect,"key_ex4",Exkey4);
  254.    
  255.     set_config_int(cfg_sect,"key_up",   DUkey);
  256.     set_config_int(cfg_sect,"key_down", DDkey);
  257.     set_config_int(cfg_sect,"key_left", DLkey);
  258.     set_config_int(cfg_sect,"key_right",DRkey);
  259.    
  260.     set_config_int(cfg_sect,"btn_a",Abtn);
  261.     set_config_int(cfg_sect,"btn_b",Bbtn);
  262.     set_config_int(cfg_sect,"btn_s",Sbtn);
  263.     set_config_int(cfg_sect,"btn_m",Mbtn);
  264.     set_config_int(cfg_sect,"btn_l",Lbtn);
  265.     set_config_int(cfg_sect,"btn_r",Rbtn);
  266.     set_config_int(cfg_sect,"btn_p",Pbtn);
  267.     set_config_int(cfg_sect,"btn_ex1",Exbtn1);
  268.     set_config_int(cfg_sect,"btn_ex2",Exbtn2);
  269.     set_config_int(cfg_sect,"btn_ex3",Exbtn3);
  270.     set_config_int(cfg_sect,"btn_ex4",Exbtn4);
  271.    
  272.     set_config_int(cfg_sect,"btn_up",DUbtn);
  273.     set_config_int(cfg_sect,"btn_down",DDbtn);
  274.     set_config_int(cfg_sect,"btn_left",DLbtn);
  275.     set_config_int(cfg_sect,"btn_right",DRbtn);
  276.    
  277.     set_config_int(cfg_sect,"digi",digi_volume);
  278.     set_config_int(cfg_sect,"midi",midi_volume);
  279.     set_config_int(cfg_sect,"sfx",sfx_volume);
  280.     set_config_int(cfg_sect,"emusic",emusic_volume);
  281.     set_config_int(cfg_sect,"pan",pan_style);
  282.     set_config_int(cfg_sect,"zcmusic_bufsz",zcmusic_bufsz);
  283.     set_config_int(cfg_sect,"volkeys",(int)volkeys);
  284.     set_config_int(cfg_sect,"vsync",zc_vsync);
  285.     set_config_int(cfg_sect,"throttlefps", (int)Throttlefps);
  286.     set_config_int(cfg_sect,"translayers",(int)TransLayers);
  287.     set_config_int(cfg_sect,"snapshot_format",SnapshotFormat);
  288.     set_config_int(cfg_sect,"name_entry_mode",NameEntryMode);
  289.     set_config_int(cfg_sect,"showfps",(int)ShowFPS);
  290.     set_config_int(cfg_sect,"fastquit",(int)NESquit);
  291.     set_config_int(cfg_sect,"clicktofreeze", (int)ClickToFreeze);
  292.     set_config_int(cfg_sect,"title",title_version);
  293.    
  294.     set_config_int(cfg_sect,"resx",resx);
  295.     set_config_int(cfg_sect,"resy",resy);
  296.    
  297.     //sbig depricated as of 2.5 RC3. handled exclusively by resx, resy now.
  298.     //set_config_int(cfg_sect,"screen_scale",screen_scale);
  299.     //set_config_int(cfg_sect,"sbig",sbig);
  300.     //set_config_int(cfg_sect,"sbig2",sbig2);
  301.    
  302.     set_config_int(cfg_sect,"scanlines",scanlines);
  303.     set_config_int(cfg_sect,"load_last",loadlast);
  304.     chop_path(qstdir);
  305.     set_config_string(cfg_sect,qst_dir_name,qstdir);
  306.     set_config_int(cfg_sect,"ss_enable",ss_enable);
  307.     set_config_int(cfg_sect,"ss_after",ss_after);
  308.     set_config_int(cfg_sect,"ss_speed",ss_speed);
  309.     set_config_int(cfg_sect,"ss_density",ss_density);
  310.     set_config_int(cfg_sect,"heart_beep",heart_beep);
  311.     set_config_int(cfg_sect,"gui_colorset",gui_colorset);
  312.     set_config_int(cfg_sect,"use_sfx_dat",sfxdat);
  313.     set_config_int(cfg_sect,"fullscreen",fullscreen);
  314.     set_config_int(cfg_sect,"doublebuffer",disable_triplebuffer);
  315.     set_config_int(cfg_sect,"triplebuffer",can_triplebuffer_in_windowed_mode);
  316.     set_config_int(cfg_sect,"color_depth",zc_color_depth);
  317.     set_config_int(cfg_sect,"frame_rest_suggest",frame_rest_suggest);
  318.     set_config_int(cfg_sect,"force_exit",forceExit);
  319.    
  320. #ifdef _WIN32
  321.     set_config_int(cfg_sect,"debug_console",use_debug_console);
  322.     //set_config_int(cfg_sect,"use_win7_key_fix",use_win7_keyboard_fix);
  323.     set_config_int(cfg_sect,"zc_win_proc_fix",use_win32_proc);
  324.     set_config_int("graphics","disable_direct_updating",disable_direct_updating);
  325.     set_config_int("zeldadx","use_dwm_flush",use_dwm_flush);
  326.     set_config_int("zeldadx","midi_patch_fix",midi_patch_fix);
  327. #endif
  328.    
  329. #ifdef ALLEGRO_LINUX
  330.     set_config_string("sound","patches",samplepath); // set to sample sound path set for DIGMIDI driver in Linux ~ Takuya
  331. #endif
  332.    
  333.     set_config_int(cfg_sect,"save_indicator",use_save_indicator);
  334.    
  335.     flush_config_file();
  336. }
  337.  
  338.  
  339.  
  340. /*
  341.  
  342. also, WHY DO THESE RUN WITHOUT CHECKING IF CHEAT > 0 ?
  343.  
  344. if(ReadKey(KEY_PLUS_PAD) || ReadKey(KEY_EQUALS))
  345.     {
  346.         //change containers
  347.         if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
  348.         {
  349.             //magic containers
  350.             if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
  351.  
  352.  
  353. and
  354.  
  355. if(ReadKey(KEY_MINUS_PAD) || ReadKey(KEY_MINUS))
  356.     {
  357.         //change containers
  358.         if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
  359.         {
  360.             //magic containers
  361.             if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
  362.        
  363.         */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement