Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //add to zc-sys.cpp, zc_sys.h, zelda.cpp and zelda.h:
- int cheat_modifier_keys[4]; //two options each, default either control and either shift
- //Add to zc_sys:
- bool CheatModifierKeys()
- {
- if ( ( key[cheat_modifier_keys[0]] || cheat_modifier_keys[0] <= 0 ) ||
- ( key[cheat_modifier_keys[1]] || cheat_modifier_keys[1] <= 0 ) )
- {
- if ( ( key[cheat_modifier_keys[2]] || cheat_modifier_keys[2] <= 0 ) ||
- ( key[cheat_modifier_keys[3]] || cheat_modifier_keys[3] <= 0 ) )
- {
- return true;
- }
- }
- return false;
- }
- /* in zc_sys.cpp, at:
- if(get_debug() || cheat>=1)
- {
- if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
- {
- if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
- CHANGE TO:
- if(get_debug() || cheat>=1)
- {
- if ( CheatModifierKeys() )
- REPEAT FOR:
- if(get_debug() || cheat>=2)
- {
- if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
- {
- REPEAT FOR:
- if(get_debug() || cheat>=4)
- {
- if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
- {
- if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
- {
- */
- /*
- if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
- {
- if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
- */
- void load_game_configs()
- {
- joystick_index = get_config_int(cfg_sect,"joystick_index",0);
- js_stick_1_x_stick = get_config_int(cfg_sect,"js_stick_1_x_stick",0);
- js_stick_1_x_axis = get_config_int(cfg_sect,"js_stick_1_x_axis",0);
- js_stick_1_x_offset = get_config_int(cfg_sect,"js_stick_1_x_offset",0) ? 128 : 0;
- js_stick_1_y_stick = get_config_int(cfg_sect,"js_stick_1_y_stick",0);
- js_stick_1_y_axis = get_config_int(cfg_sect,"js_stick_1_y_axis",1);
- js_stick_1_y_offset = get_config_int(cfg_sect,"js_stick_1_y_offset",0) ? 128 : 0;
- js_stick_2_x_stick = get_config_int(cfg_sect,"js_stick_2_x_stick",1);
- js_stick_2_x_axis = get_config_int(cfg_sect,"js_stick_2_x_axis",0);
- js_stick_2_x_offset = get_config_int(cfg_sect,"js_stick_2_x_offset",0) ? 128 : 0;
- js_stick_2_y_stick = get_config_int(cfg_sect,"js_stick_2_y_stick",1);
- js_stick_2_y_axis = get_config_int(cfg_sect,"js_stick_2_y_axis",1);
- js_stick_2_y_offset = get_config_int(cfg_sect,"js_stick_2_y_offset",0) ? 128 : 0;
- analog_movement = get_config_int(cfg_sect,"analog_movement",1);
- //cheat modifier keya
- cheat_modifier_keys[0] = get_config_int(cfg_sect,"key_cheatmod_a1",KEY_ZC_LCONTROL);
- cheat_modifier_keys[1] = get_config_int(cfg_sect,"key_cheatmod_a2",KEY_ZC_RCONTROL);
- cheat_modifier_keys[2] = get_config_int(cfg_sect,"key_cheatmod_b1",KEY_LSHIFT);
- cheat_modifier_keys[3] = get_config_int(cfg_sect,"key_cheatmod_b2",KEY_RSHIFT);
- if((unsigned int)joystick_index >= MAX_JOYSTICKS)
- joystick_index = 0;
- Akey = get_config_int(cfg_sect,"key_a",KEY_ALT);
- Bkey = get_config_int(cfg_sect,"key_b",KEY_ZC_LCONTROL);
- Skey = get_config_int(cfg_sect,"key_s",KEY_ENTER);
- Lkey = get_config_int(cfg_sect,"key_l",KEY_Z);
- Rkey = get_config_int(cfg_sect,"key_r",KEY_X);
- Pkey = get_config_int(cfg_sect,"key_p",KEY_SPACE);
- Exkey1 = get_config_int(cfg_sect,"key_ex1",KEY_Q);
- Exkey2 = get_config_int(cfg_sect,"key_ex2",KEY_W);
- Exkey3 = get_config_int(cfg_sect,"key_ex3",KEY_A);
- Exkey4 = get_config_int(cfg_sect,"key_ex4",KEY_S);
- DUkey = get_config_int(cfg_sect,"key_up", KEY_UP);
- DDkey = get_config_int(cfg_sect,"key_down", KEY_DOWN);
- DLkey = get_config_int(cfg_sect,"key_left", KEY_LEFT);
- DRkey = get_config_int(cfg_sect,"key_right",KEY_RIGHT);
- Abtn = get_config_int(cfg_sect,"btn_a",2);
- Bbtn = get_config_int(cfg_sect,"btn_b",1);
- Sbtn = get_config_int(cfg_sect,"btn_s",10);
- Mbtn = get_config_int(cfg_sect,"btn_m",9);
- Lbtn = get_config_int(cfg_sect,"btn_l",5);
- Rbtn = get_config_int(cfg_sect,"btn_r",6);
- Pbtn = get_config_int(cfg_sect,"btn_p",12);
- Exbtn1 = get_config_int(cfg_sect,"btn_ex1",7);
- Exbtn2 = get_config_int(cfg_sect,"btn_ex2",8);
- Exbtn3 = get_config_int(cfg_sect,"btn_ex3",4);
- Exbtn4 = get_config_int(cfg_sect,"btn_ex4",3);
- DUbtn = get_config_int(cfg_sect,"btn_up",13);
- DDbtn = get_config_int(cfg_sect,"btn_down",14);
- DLbtn = get_config_int(cfg_sect,"btn_left",15);
- DRbtn = get_config_int(cfg_sect,"btn_right",16);
- digi_volume = get_config_int(cfg_sect,"digi",248);
- midi_volume = get_config_int(cfg_sect,"midi",255);
- sfx_volume = get_config_int(cfg_sect,"sfx",248);
- emusic_volume = get_config_int(cfg_sect,"emusic",248);
- pan_style = get_config_int(cfg_sect,"pan",1);
- // 1 <= zcmusic_bufsz <= 128
- zcmusic_bufsz = vbound(get_config_int(cfg_sect,"zcmusic_bufsz",64),1,128);
- volkeys = get_config_int(cfg_sect,"volkeys",0)!=0;
- zc_vsync = get_config_int(cfg_sect,"vsync",0);
- Throttlefps = get_config_int(cfg_sect,"throttlefps",1)!=0;
- TransLayers = get_config_int(cfg_sect,"translayers",1)!=0;
- SnapshotFormat = get_config_int(cfg_sect,"snapshot_format",3);
- NameEntryMode = get_config_int(cfg_sect,"name_entry_mode",0);
- ShowFPS = get_config_int(cfg_sect,"showfps",0)!=0;
- NESquit = get_config_int(cfg_sect,"fastquit",0)!=0;
- ClickToFreeze = get_config_int(cfg_sect,"clicktofreeze",1)!=0;
- title_version = get_config_int(cfg_sect,"title",2);
- //default - scale x2, 640 x 480
- resx = get_config_int(cfg_sect,"resx",640);
- resy = get_config_int(cfg_sect,"resy",480);
- //screen_scale = get_config_int(cfg_sect,"screen_scale",2);
- scanlines = get_config_int(cfg_sect,"scanlines",0)!=0;
- loadlast = get_config_int(cfg_sect,"load_last",0);
- // Fullscreen, page flipping may be problematic on newer windows systems.
- #ifdef _WIN32
- fullscreen = get_config_int(cfg_sect,"fullscreen",0);
- disable_triplebuffer = (byte) get_config_int(cfg_sect,"doublebuffer",1);
- can_triplebuffer_in_windowed_mode = (byte) get_config_int(cfg_sect,"triplebuffer",0);
- #else
- fullscreen = get_config_int(cfg_sect,"fullscreen",1);
- disable_triplebuffer = (byte) get_config_int(cfg_sect,"doublebuffer",0);
- can_triplebuffer_in_windowed_mode = (byte) get_config_int(cfg_sect,"triplebuffer",0);
- #endif
- zc_color_depth = (byte) get_config_int(cfg_sect,"color_depth",8);
- //workaround for the 100% CPU bug. -Gleeok
- #ifdef ALLEGRO_MACOSX //IIRC rest(0) was a mac issue fix.
- frame_rest_suggest = (byte) get_config_int(cfg_sect,"frame_rest_suggest",0);
- #else
- frame_rest_suggest = (byte) get_config_int(cfg_sect,"frame_rest_suggest",1);
- #endif
- frame_rest_suggest = zc_min(2, frame_rest_suggest);
- forceExit = (byte) get_config_int(cfg_sect,"force_exit",0);
- #ifdef _WIN32
- use_debug_console = (byte) get_config_int(cfg_sect,"debug_console",0);
- //use_win7_keyboard_fix = (byte) get_config_int(cfg_sect,"use_win7_key_fix",0);
- use_win32_proc = (byte) get_config_int(cfg_sect,"zc_win_proc_fix",0); //buggy
- // This seems to fix some problems on Windows 7
- disable_direct_updating = (byte) get_config_int("graphics","disable_direct_updating",1);
- // This one's for Aero
- use_dwm_flush = (byte) get_config_int("zeldadx","use_dwm_flush",0);
- // And this one fixes patches unloading on some MIDI setups
- midi_patch_fix = (byte) get_config_int("zeldadx","midi_patch_fix",0);
- #endif
- #ifdef ALLEGRO_MACOSX
- const char *default_path="../../../";
- #else
- const char *default_path="";
- #endif
- strcpy(qstdir,get_config_string(cfg_sect,qst_dir_name,default_path));
- if(strlen(qstdir)==0)
- {
- getcwd(qstdir,2048);
- fix_filename_case(qstdir);
- fix_filename_slashes(qstdir);
- put_backslash(qstdir);
- }
- else
- {
- chop_path(qstdir);
- }
- strcpy(qstpath,qstdir); //qstpath is the local (for this run of ZC) quest path, qstdir is the universal quest dir.
- ss_enable = get_config_int(cfg_sect,"ss_enable",1) ? 1 : 0;
- ss_after = vbound(get_config_int(cfg_sect,"ss_after",14), 0, 14);
- ss_speed = vbound(get_config_int(cfg_sect,"ss_speed",2), 0, 6);
- ss_density = vbound(get_config_int(cfg_sect,"ss_density",3), 0, 6);
- heart_beep = get_config_int(cfg_sect,"heart_beep",1)!=0;
- gui_colorset = get_config_int(cfg_sect,"gui_colorset",0);
- sfxdat = get_config_int(cfg_sect,"use_sfx_dat",1);
- fullscreen = get_config_int(cfg_sect,"fullscreen",1);
- use_save_indicator = get_config_int(cfg_sect,"save_indicator",0);
- }
- void save_game_configs()
- {
- packfile_password("");
- set_config_int(cfg_sect,"joystick_index",joystick_index);
- set_config_int(cfg_sect,"js_stick_1_x_stick",js_stick_1_x_stick);
- set_config_int(cfg_sect,"js_stick_1_x_axis",js_stick_1_x_axis);
- set_config_int(cfg_sect,"js_stick_1_x_offset",js_stick_1_x_offset ? 1 : 0);
- set_config_int(cfg_sect,"js_stick_1_y_stick",js_stick_1_y_stick);
- set_config_int(cfg_sect,"js_stick_1_y_axis",js_stick_1_y_axis);
- set_config_int(cfg_sect,"js_stick_1_y_offset",js_stick_1_y_offset ? 1 : 0);
- set_config_int(cfg_sect,"js_stick_2_x_stick",js_stick_2_x_stick);
- set_config_int(cfg_sect,"js_stick_2_x_axis",js_stick_2_x_axis);
- set_config_int(cfg_sect,"js_stick_2_x_offset",js_stick_2_x_offset ? 1 : 0);
- set_config_int(cfg_sect,"js_stick_2_y_stick",js_stick_2_y_stick);
- set_config_int(cfg_sect,"js_stick_2_y_axis",js_stick_2_y_axis);
- set_config_int(cfg_sect,"js_stick_2_y_offset",js_stick_2_y_offset ? 1 : 0);
- set_config_int(cfg_sect,"analog_movement",analog_movement);
- //cheat modifier keya
- set_config_int(cfg_sect,"key_cheatmod_a1",cheat_modifier_keys[0]);
- set_config_int(cfg_sect,"key_cheatmod_a2",cheat_modifier_keys[1]);
- set_config_int(cfg_sect,"key_cheatmod_b1",cheat_modifier_keys[2]);
- set_config_int(cfg_sect,"key_cheatmod_b2",cheat_modifier_keys[3]);
- set_config_int(cfg_sect,"key_a",Akey);
- set_config_int(cfg_sect,"key_b",Bkey);
- set_config_int(cfg_sect,"key_s",Skey);
- set_config_int(cfg_sect,"key_l",Lkey);
- set_config_int(cfg_sect,"key_r",Rkey);
- set_config_int(cfg_sect,"key_p",Pkey);
- set_config_int(cfg_sect,"key_ex1",Exkey1);
- set_config_int(cfg_sect,"key_ex2",Exkey2);
- set_config_int(cfg_sect,"key_ex3",Exkey3);
- set_config_int(cfg_sect,"key_ex4",Exkey4);
- set_config_int(cfg_sect,"key_up", DUkey);
- set_config_int(cfg_sect,"key_down", DDkey);
- set_config_int(cfg_sect,"key_left", DLkey);
- set_config_int(cfg_sect,"key_right",DRkey);
- set_config_int(cfg_sect,"btn_a",Abtn);
- set_config_int(cfg_sect,"btn_b",Bbtn);
- set_config_int(cfg_sect,"btn_s",Sbtn);
- set_config_int(cfg_sect,"btn_m",Mbtn);
- set_config_int(cfg_sect,"btn_l",Lbtn);
- set_config_int(cfg_sect,"btn_r",Rbtn);
- set_config_int(cfg_sect,"btn_p",Pbtn);
- set_config_int(cfg_sect,"btn_ex1",Exbtn1);
- set_config_int(cfg_sect,"btn_ex2",Exbtn2);
- set_config_int(cfg_sect,"btn_ex3",Exbtn3);
- set_config_int(cfg_sect,"btn_ex4",Exbtn4);
- set_config_int(cfg_sect,"btn_up",DUbtn);
- set_config_int(cfg_sect,"btn_down",DDbtn);
- set_config_int(cfg_sect,"btn_left",DLbtn);
- set_config_int(cfg_sect,"btn_right",DRbtn);
- set_config_int(cfg_sect,"digi",digi_volume);
- set_config_int(cfg_sect,"midi",midi_volume);
- set_config_int(cfg_sect,"sfx",sfx_volume);
- set_config_int(cfg_sect,"emusic",emusic_volume);
- set_config_int(cfg_sect,"pan",pan_style);
- set_config_int(cfg_sect,"zcmusic_bufsz",zcmusic_bufsz);
- set_config_int(cfg_sect,"volkeys",(int)volkeys);
- set_config_int(cfg_sect,"vsync",zc_vsync);
- set_config_int(cfg_sect,"throttlefps", (int)Throttlefps);
- set_config_int(cfg_sect,"translayers",(int)TransLayers);
- set_config_int(cfg_sect,"snapshot_format",SnapshotFormat);
- set_config_int(cfg_sect,"name_entry_mode",NameEntryMode);
- set_config_int(cfg_sect,"showfps",(int)ShowFPS);
- set_config_int(cfg_sect,"fastquit",(int)NESquit);
- set_config_int(cfg_sect,"clicktofreeze", (int)ClickToFreeze);
- set_config_int(cfg_sect,"title",title_version);
- set_config_int(cfg_sect,"resx",resx);
- set_config_int(cfg_sect,"resy",resy);
- //sbig depricated as of 2.5 RC3. handled exclusively by resx, resy now.
- //set_config_int(cfg_sect,"screen_scale",screen_scale);
- //set_config_int(cfg_sect,"sbig",sbig);
- //set_config_int(cfg_sect,"sbig2",sbig2);
- set_config_int(cfg_sect,"scanlines",scanlines);
- set_config_int(cfg_sect,"load_last",loadlast);
- chop_path(qstdir);
- set_config_string(cfg_sect,qst_dir_name,qstdir);
- set_config_int(cfg_sect,"ss_enable",ss_enable);
- set_config_int(cfg_sect,"ss_after",ss_after);
- set_config_int(cfg_sect,"ss_speed",ss_speed);
- set_config_int(cfg_sect,"ss_density",ss_density);
- set_config_int(cfg_sect,"heart_beep",heart_beep);
- set_config_int(cfg_sect,"gui_colorset",gui_colorset);
- set_config_int(cfg_sect,"use_sfx_dat",sfxdat);
- set_config_int(cfg_sect,"fullscreen",fullscreen);
- set_config_int(cfg_sect,"doublebuffer",disable_triplebuffer);
- set_config_int(cfg_sect,"triplebuffer",can_triplebuffer_in_windowed_mode);
- set_config_int(cfg_sect,"color_depth",zc_color_depth);
- set_config_int(cfg_sect,"frame_rest_suggest",frame_rest_suggest);
- set_config_int(cfg_sect,"force_exit",forceExit);
- #ifdef _WIN32
- set_config_int(cfg_sect,"debug_console",use_debug_console);
- //set_config_int(cfg_sect,"use_win7_key_fix",use_win7_keyboard_fix);
- set_config_int(cfg_sect,"zc_win_proc_fix",use_win32_proc);
- set_config_int("graphics","disable_direct_updating",disable_direct_updating);
- set_config_int("zeldadx","use_dwm_flush",use_dwm_flush);
- set_config_int("zeldadx","midi_patch_fix",midi_patch_fix);
- #endif
- #ifdef ALLEGRO_LINUX
- set_config_string("sound","patches",samplepath); // set to sample sound path set for DIGMIDI driver in Linux ~ Takuya
- #endif
- set_config_int(cfg_sect,"save_indicator",use_save_indicator);
- flush_config_file();
- }
- /*
- also, WHY DO THESE RUN WITHOUT CHECKING IF CHEAT > 0 ?
- if(ReadKey(KEY_PLUS_PAD) || ReadKey(KEY_EQUALS))
- {
- //change containers
- if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
- {
- //magic containers
- if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
- and
- if(ReadKey(KEY_MINUS_PAD) || ReadKey(KEY_MINUS))
- {
- //change containers
- if(key[KEY_ZC_LCONTROL] || key[KEY_ZC_RCONTROL])
- {
- //magic containers
- if(key[KEY_LSHIFT] || key[KEY_RSHIFT])
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement