From b873e87ca223157cc55ec469a19d91fe08197be2 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 3 Mar 2014 14:54:23 +0100 Subject: [PATCH] GLIDE: Update from upstream --- source/gles2glide64/data/Glide64mk2.ini | 428 +---------------------- source/gles2glide64/src/Glide64/Main.cpp | 138 +++++++- 2 files changed, 143 insertions(+), 423 deletions(-) diff --git a/source/gles2glide64/data/Glide64mk2.ini b/source/gles2glide64/data/Glide64mk2.ini index 045c849..cc04738 100755 --- a/source/gles2glide64/data/Glide64mk2.ini +++ b/source/gles2glide64/data/Glide64mk2.ini @@ -37,73 +37,7 @@ ; [SETTINGS] -card_id = 0 -resolution=8 -filter_cache = 0 -autodetect_ucode = 1 -ucode = 2 -wireframe = 0 -wfmode=1 -filtering = 1 -depthmode = 0 -fog = 1 -buff_clear = 1 -vsync = 1 -swapmode = 1 -run_in_window = 0 -show_fps = 0 -clock = 0 -clock_24_hr = 0 -wrap_big_tex = 0 -custom_ini = 1 hotkeys = 1 -ssformat=1 -logging = 0 -log_clear = 0 -unk_as_red = 0 -log_unk = 0 -unk_clear = 0 -new_swap = 1 -hires_motionblur = 0 -flame_corona = 0 -fb_smart = 1 -fb_read_always = 0 -fb_clear = 0 -fb_hires = 1 -fb_depth_clear = 0 -motionblur = 1 -elogging = 0 -lodmode = 0 -fb_get_info = 0 -fb_render = 1 -detect_cpu_write = 0 -fillrec_depth_compare = 0 -tex_wrap_hack = 0 -read_back_to_screen = 0 -advanced_options = 0 -texenh_options = 0 -ghq_fltr = 0 -ghq_cmpr = 0 -ghq_enht = 0 -ghq_hirs = 0 -ghq_enht_cmpr = 0 -ghq_enht_tile = 0 -ghq_enht_f16bpp = 0 -ghq_enht_gz = 1 -ghq_enht_nobg=0 -ghq_hirs_cmpr = 0 -ghq_hirs_tile = 0 -ghq_hirs_f16bpp = 0 -ghq_hirs_gz = 1 -ghq_hirs_altcrc = 1 -ghq_cache_save = 1 -ghq_cache_size=0 -ghq_hirs_let_texartists_fly = 0 -ghq_hirs_dump = 0 -wrpResolution=0 -wrpVRAM=0 -wrpFBO=0 -wrpAnisotropic=0 ; UCODE: ; These are ucode crcs used in the uCode detector. @@ -285,33 +219,20 @@ lodmode = 0 fb_smart = 0 fb_hires = 1 fb_get_info = 0 -fb_read_always = 0 fb_render = 1 fb_crc_mode = 1 read_back_to_screen = 0 detect_cpu_write = 0 alt_tex_size = 0 use_sts1_only = 0 -PPL = 0 fast_crc = 1 force_microcheck = 0 force_quad3d = 0 -texrect_zbuf = 0 -fix_tex_coord = 0 optimize_texrect = 1 -optimize_write = 0 hires_buf_clear = 1 -depthmode = 1 -fb_clear = 0 fb_read_alpha = 0 -ignore_previous = 0 -soft_depth_compare = 0 -force_depth_compare = 0 force_calc_sphere = 0 -texrect_compare_less = 0 texture_correction = 1 -fillcolor_fix = 0 -depth_bias = 20 increase_texrect_edge = 0 decrease_fillrect_edge = 0 stipple_mode = 2 @@ -324,118 +245,90 @@ aspect = 0 zmode_compare_less = 0 old_style_adither = 0 n64_z_scale = 0 +pal230 = 0 +ignore_aux_copy = 0 +useless_is_useless = 0 +fb_read_always = 0 [1080 SNOWBOARDING] optimize_texrect = 1 alt_tex_size = 1 -depthmode = 0 swapmode = 2 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [A Bug's Life] -depthmode = 0 [AERO FIGHTERS ASSAUL] clip_zmin = 1 [AIDYN_CHRONICLES] -depthmode = 1 [All-Star Baseball 20] -force_depth_compare = 1 [All-Star Baseball 99] -force_depth_compare = 1 -depthmode = 1 buff_clear = 0 [All Star Baseball 99] -force_depth_compare = 1 -depthmode = 1 buff_clear = 0 [All-Star Baseball '0] -force_depth_compare = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 [ARMYMENAIRCOMBAT] increase_texrect_edge = 1 -depthmode = 1 [BURABURA POYON] -fix_tex_coord = 1 -depthmode = 0 ;Bakushou Jinsei 64 - Mezease! Resort Ou. [ÊÞ¸¼®³¼Þݾ²64] -fb_info_disable = 1 -depthmode = 0 [BAKU-BOMBERMAN] -depthmode = 0 fb_smart = 1 fb_hires = 1 [BAKUBOMB2] filtering = 1 -depthmode = 0 [BANGAIOH] -depthmode = 1 [Banjo-Kazooie] filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [BANJO KAZOOIE 2] filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [BANJO TOOIE] filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [BASS HUNTER 64] -fix_tex_coord = 1 -depthmode = 1 buff_clear = 0 swapmode = 2 [BATTLEZONE] -force_depth_compare = 1 -depthmode = 1 [BEETLE ADVENTURE JP] -wrap_big_tex = 1 n64_z_scale = 1 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [Beetle Adventure Rac] -wrap_big_tex = 1 n64_z_scale = 1 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [Big Mountain 2000] -depthmode = 1 [BIOFREAKS] -depthmode = 0 buff_clear = 0 fb_smart = 1 fb_hires = 1 @@ -444,21 +337,17 @@ fb_hires = 1 detect_cpu_write = 1 adjust_aspect = 0 n64_z_scale = 1 -fix_tex_coord = 128 -depthmode = 0 swapmode = 2 fb_smart = 1 fb_hires = 1 [Blast Corps] -depthmode = 1 swapmode = 0 fb_smart = 1 fb_hires = 1 fb_read_alpha = 1 [Blastdozer] -depthmode = 1 swapmode = 0 fb_smart = 1 fb_hires = 1 @@ -468,169 +357,120 @@ fb_read_alpha = 1 lodmode = 2 [Body Harvest] -depthmode = 1 fb_smart = 1 fb_hires = 1 [BOMBERMAN64E] -depthmode = 0 fb_smart = 1 fb_hires = 1 [BOMBERMAN64U] -depthmode = 0 fb_smart = 1 fb_hires = 1 [BOMBERMAN64U2] filtering = 1 -depthmode = 0 [Bottom of the 9th] optimize_texrect = 0 filtering = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 [BRUNSWICKBOWLING] -depthmode = 0 buff_clear = 0 swapmode = 0 [Bust A Move 3 DX] filtering = 2 -depthmode = 1 [Bust A Move '99] filtering = 2 -depthmode = 1 [Bust A Move 2] -fix_tex_coord = 1 filtering = 2 -depthmode = 1 fog = 0 [CARMAGEDDON64] -wrap_big_tex = 1 filtering = 1 -depthmode = 1 [CASTLEVANIA] -depthmode = 0 -fb_clear = 1 old_style_adither = 1 [CASTLEVANIA2] -depthmode = 0 -fb_clear = 1 [CENTRE COURT TENNIS] -soft_depth_compare = 1 -depthmode = 0 [Chameleon Twist2] filtering = 1 -depthmode = 0 [CHOPPER_ATTACK] filtering = 1 -depthmode = 0 [CITY TOUR GP] force_microcheck = 1 filtering = 1 -depthmode = 1 [Command&Conquer] -fix_tex_coord = 1 aspect = 2 filtering = 1 -depthmode = 1 fog = 0 [CONKER BFD] optimize_texrect = 1 -ignore_previous = 1 lodmode = 1 filtering = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [Cruis'n USA] filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [CruisnExotica] filtering = 1 -depthmode = 1 buff_clear = 0 swapmode = 0 [custom robo] -depthmode = 0 fb_smart = 1 fb_hires = 1 [CUSTOMROBOV2] -depthmode = 0 fb_smart = 1 fb_hires = 1 [CyberTiger] -fix_tex_coord = 16 -depthmode = 0 [DAFFY DUCK STARRING] -depthmode = 1 -wrap_big_tex = 1 [DARK RIFT] force_microcheck = 1 [DeadlyArts] -soft_depth_compare = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 clip_zmin = 1 [DERBYSTALLION 64] -fix_tex_coord = 1 -depthmode = 0 [D K DISPLAY] -depthmode = 1 -fb_clear = 1 [Donald Duck Goin' Qu] detect_cpu_write = 1 -depthmode = 0 [Donald Duck Quack At] detect_cpu_write = 1 -depthmode = 0 [DONKEY KONG 64] lodmode = 1 -depth_bias = 64 -depthmode = 1 -fb_clear = 1 [Doom64] -fillcolor_fix = 1 -depthmode = 1 ;Doraemon - Mittsu no Seireiseki (J) [ÄÞ×´ÓÝ Ð¯Âɾ²Ú²¾·] read_back_to_screen = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 @@ -639,44 +479,30 @@ fb_hires = 1 clip_zmin = 1 [DR.MARIO 64] -fix_tex_coord = 256 -optimize_write = 1 read_back_to_screen = 1 -depthmode = 1 fb_smart = 1 fb_hires = 0 [DRACULA MOKUSHIROKU] -depthmode = 0 -fb_clear = 1 [DRACULA MOKUSHIROKU2] -depthmode = 0 -fb_clear = 1 [Dual heroes JAPAN] filtering = 1 -depthmode = 0 swapmode = 0 [Dual heroes PAL] filtering = 1 -depthmode = 0 swapmode = 0 [Dual heroes USA] filtering = 1 -depthmode = 0 swapmode = 0 [DUKE NUKEM] -increase_primdepth = 1 -depthmode = 0 [EARTHWORM JIM 3D] -increase_primdepth = 1 filtering = 1 -depthmode = 0 buff_clear = 0 ;Eikou no Saint Andrew @@ -685,74 +511,52 @@ correct_viewport = 1 [Eltail] filtering = 2 -depthmode = 1 [EVANGELION] -depthmode = 1 [EXCITEBIKE64] -depthmode = 0 fb_smart = 1 fb_hires = 1 [extreme_g] -depthmode = 0 fb_smart = 1 fb_hires = 1 [extremeg] -depthmode = 0 fb_smart = 1 fb_hires = 1 [´¸½ÄØ°ÑG2] -depthmode = 0 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [Extreme G 2] -depthmode = 0 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [F1 POLE POSITION 64] clip_zmin = 1 filtering = 2 -depthmode = 1 [F1RacingChampionship] -depthmode = 0 buff_clear = 0 swapmode = 0 [F1 WORLD GRAND PRIX] -soft_depth_compare = 1 -wrap_big_tex = 1 -depthmode = 0 buff_clear = 0 [F1 WORLD GRAND PRIX2] -wrap_big_tex = 1 -soft_depth_compare = 1 -depthmode = 0 buff_clear = 0 [F-ZERO X] -depthmode = 1 ;Fushigi no Dungeon - Furai no Shiren 2 (J) [F3 ̳ײɼÚÝ2] decrease_fillrect_edge = 1 -depthmode = 0 [Fighting Force] -depthmode = 1 [G.A.S.P!!Fighters'NE] -soft_depth_compare = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 clip_zmin = 1 @@ -761,7 +565,6 @@ clip_zmin = 1 optimize_texrect = 0 alt_tex_size = 1 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 @@ -770,80 +573,63 @@ fb_hires = 1 optimize_texrect = 0 alt_tex_size = 1 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [GAUNTLET LEGENDS] -depthmode = 1 swapmode = 2 [Getter Love!!] zmode_compare_less = 1 -texrect_compare_less = 1 filtering = 2 -depthmode = 1 [Gex 3 Deep Cover Gec] filtering = 1 -depthmode = 0 [GEX: ENTER THE GECKO] filtering = 1 -depthmode = 0 [Glover] filtering = 1 -depthmode = 0 [GOEMON2 DERODERO] filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [GOEMONS GREAT ADV] filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [GOLDENEYE] lodmode = 1 -depth_bias = 40 filtering = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 [GOLDEN NUGGET 64] filtering = 2 -depthmode = 1 [GT64] force_microcheck = 1 filtering = 1 -depthmode = 1 ; Hamster Monogatori [ÊѽÀ°ÓɶÞÀØ64] force_microcheck = 1 -depthmode = 0 [HARVESTMOON64] zmode_compare_less = 1 -depthmode = 0 fog = 0 ; Harvest Moon 64 JAP [ÎÞ¸¼Þ®³ÓɶÞÀØ2] zmode_compare_less = 1 -depthmode = 0 fog = 0 ; Heiwa Pachinko World [HEIWA ÊßÁݺ Ü°ÙÄÞ64] -depthmode = 0 fog = 0 swapmode = 2 fb_smart = 1 @@ -852,84 +638,65 @@ fb_hires = 1 [HEXEN] detect_cpu_write = 1 filtering = 1 -depthmode = 1 buff_clear = 0 swapmode = 2 [HSV ADVENTURE RACING] -wrap_big_tex = 1 n64_z_scale = 1 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [Holy Magic Century] filtering = 2 -depthmode = 1 [HUMAN GRAND PRIX] filtering = 2 -depthmode = 0 [·×¯Ä¶²¹Â 64ÀÝòÀÞÝ] filtering = 1 -depthmode = 0 buff_clear = 0 [Iggy's Reckin' Balls] -fix_tex_coord = 512 -depthmode = 0 [I S S 64] -depthmode = 1 swapmode = 2 old_style_adither = 1 [I.S.S.2000] -depthmode = 1 fb_smart = 1 fb_hires = 1 [ITF 2000] filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [IT&F SUMMERGAMES] filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [J_league 1997] -fix_tex_coord = 1 -depthmode = 1 swapmode = 0 ;J.League Eleven Beat 1997 [JØ°¸Þ\ ²ÚÌÞÝËÞ°Ä1997] -fb_smart=1 -fb_hires=1 +fb_smart = 1 +fb_hires = 1 [J LEAGUE LIVE 64] -wrap_big_tex = 1 -depthmode = 1 [J WORLD SOCCER3] -depthmode = 1 swapmode = 2 [JEREMY MCGRATH SUPER] -depthmode = 0 swapmode = 0 [JET FORCE GEMINI] read_back_to_screen = 1 decrease_fillrect_edge = 1 alt_tex_size = 1 -depthmode = 1 swapmode = 2 fb_smart = 1 fb_hires = 1 @@ -938,148 +705,113 @@ fb_hires = 1 read_back_to_screen = 1 decrease_fillrect_edge = 1 alt_tex_size = 1 -depthmode = 1 swapmode = 2 fb_smart = 1 fb_hires = 1 [KEN GRIFFEY SLUGFEST] read_back_to_screen = 2 -depthmode = 1 swapmode = 0 fb_smart = 1 fb_hires = 1 [Kirby64] filtering = 1 -depthmode = 0 buff_clear = 0 swapmode = 0 [Killer Instinct Gold] filtering = 1 -depthmode = 0 fog = 0 buff_clear = 0 [KNIFE EDGE] -wrap_big_tex = 1 fast_crc = 0 filtering = 1 -depthmode = 1 [Knockout Kings 2000] -fb_info_disable = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 fb_read_alpha = 1 [LAMBORGHINI] use_sts1_only = 1 [LCARS - WT_Riker] -depthmode = 1 [LEGORacers] detect_cpu_write = 1 -depthmode = 1 buff_clear = 0 fb_smart = 1 fb_hires = 1 fb_read_alpha = 1 [LET'S SMASH] -soft_depth_compare = 1 -depthmode = 0 [Lode Runner 3D] swapmode = 0 [LT DUCK DODGERS] -wrap_big_tex = 1 -depthmode = 1 [MACE] -fix_tex_coord = 8 filtering = 1 -depthmode = 1 [MAGICAL TETRIS] force_microcheck = 1 -depthmode = 1 fog = 0 ;Mahjong Master (J) [Ï°¼Þ¬Ý ϽÀ°] n64_z_scale = 1 -texrect_compare_less = 1 zmode_compare_less = 1 [MAJORA'S MASK] -wrap_big_tex = 1 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 fb_crc_mode = 0 [MARIOKART64] fast_crc = 0 stipple_mode = 1 stipple_pattern = 4286595040 -depthmode = 1 [MarioGolf64] -fb_info_disable = 1 ignore_aux_copy = 1 buff_clear = 0 -depthmode = 0 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [MarioParty] clip_zmin = 1 -depthmode = 0 swapmode = 2 [MarioParty2] -depthmode = 0 swapmode = 2 [MarioParty3] -fix_tex_coord = 1 -depthmode = 0 [MARIO STORY] useless_is_useless = 1 hires_buf_clear = 0 optimize_texrect = 0 filtering = 1 -depthmode = 1 swapmode = 2 fb_smart = 1 fb_hires = 1 fb_read_alpha = 1 [MASTERS'98] -wrap_big_tex = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 [Mega Man 64] increase_texrect_edge = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [MGAH VOL1] force_microcheck = 1 -depthmode = 1 zmode_compare_less = 1 fb_smart = 1 @@ -1088,20 +820,15 @@ buff_clear = 0 [MICKEY USA] alt_tex_size = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [MICKEY USA PAL] alt_tex_size = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [MICROMACHINES64TURBO] -depthmode = 0 [Mini Racers] force_microcheck = 1 @@ -1111,26 +838,20 @@ fb_hires = 1 swapmode = 0 [MISCHIEF MAKERS] -tex_wrap_hack = 0 -depthmode = 1 fog = 0 [MLB FEATURING K G JR] read_back_to_screen = 2 -depthmode = 1 [MK_MYTHOLOGIES] -depthmode = 1 [MO WORLD LEAGUE SOCC] buff_clear = 0 [Monaco GP Racing 2] -depthmode = 0 buff_clear = 0 [Monaco Grand Prix] -depthmode = 0 buff_clear = 0 ;Morita Shogi 64 @@ -1139,17 +860,14 @@ correct_viewport = 1 [MortalKombatTrilogy] filtering = 2 -depthmode = 1 [MS. PAC-MAN MM] detect_cpu_write = 1 -depthmode = 1 [MYSTICAL NINJA] alt_tex_size = 1 optimize_texrect = 0 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 @@ -1157,22 +875,18 @@ fb_hires = 1 alt_tex_size = 1 optimize_texrect = 0 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [NASCAR 99] -depthmode = 0 buff_clear = 0 swapmode = 0 [NASCAR 2000] -depthmode = 0 buff_clear = 0 swapmode = 0 [NBA Courtside 2] -depthmode = 0 buff_clear = 0 swapmode = 0 @@ -1191,9 +905,7 @@ adjust_aspect = 0 [NEWTETRIS] pal230 = 1 -fix_tex_coord = 1 increase_texrect_edge = 1 -depthmode = 0 fog = 0 [NFL BLITZ] @@ -1206,23 +918,15 @@ lodmode = 2 lodmode = 2 [NFL QBC '99] -force_depth_compare = 1 -wrap_big_tex = 1 -depthmode = 0 [NFL QBC 2000] -wrap_big_tex = 1 -depthmode = 0 swapmode = 0 [NFL Quarterback Club] -wrap_big_tex = 1 -depthmode = 0 swapmode = 0 [NINTAMAGAMEGALLERY64] force_microcheck = 1 -depthmode = 0 [NITRO64] fb_smart = 1 @@ -1234,14 +938,9 @@ buff_clear = 0 ; Nushi Zuri 64 [ǼÂÞØ64] force_microcheck = 1 -wrap_big_tex = 0 -depthmode = 0 buff_clear = 0 [OgreBattle64] -fb_info_disable = 1 -force_depth_compare = 1 -depthmode = 1 [PACHINKO365NICHI] correct_viewport = 1 @@ -1251,7 +950,6 @@ useless_is_useless = 1 hires_buf_clear = 0 optimize_texrect = 0 filtering = 1 -depthmode = 1 swapmode = 2 fb_smart = 1 fb_hires = 1 @@ -1260,32 +958,24 @@ fb_read_alpha = 1 [Parlor PRO 64] force_microcheck = 1 filtering = 1 -depthmode = 1 [Perfect Dark] useless_is_useless = 1 decrease_fillrect_edge = 1 optimize_texrect = 0 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [PERFECT STRIKER] -depthmode = 1 swapmode = 2 [Pilot Wings64] -depthmode = 1 buff_clear = 0 [PUZZLE LEAGUE N64] -PPL = 1 force_microcheck = 1 -fix_tex_coord = 1 filtering = 2 -depthmode = 1 fog = 0 buff_clear = 0 fb_smart = 1 @@ -1293,11 +983,8 @@ fb_hires = 0 fb_read_alpha = 1 [PUZZLE LEAGUE] -PPL = 1 force_microcheck = 1 -fix_tex_coord = 1 filtering = 2 -depthmode = 1 fog = 0 buff_clear = 0 fb_smart = 1 @@ -1306,14 +993,11 @@ fb_read_alpha = 1 [POKEMON SNAP] fast_crc = 0 -depthmode = 1 fb_smart = 1 fb_hires = 0 -fb_clear = 1 [POKEMON STADIUM] optimize_texrect = 0 -depthmode = 1 fast_crc = 0 buff_clear = 0 fb_smart = 1 @@ -1324,7 +1008,6 @@ fb_crc_mode = 2 [POKEMON STADIUM 2] optimize_texrect = 0 swapmode = 2 -depthmode = 1 fast_crc = 0 buff_clear = 0 fb_smart = 1 @@ -1334,7 +1017,6 @@ fb_crc_mode = 2 [POKEMON STADIUM G&S] optimize_texrect = 0 -depthmode = 1 fast_crc = 0 buff_clear = 0 fb_smart = 1 @@ -1343,8 +1025,6 @@ fb_read_alpha = 1 fb_crc_mode = 2 [POLARISSNOCROSS] -fix_tex_coord = 5 -depthmode = 1 [PowerLeague64] force_quad3d = 1 @@ -1362,7 +1042,6 @@ fb_hires = 1 optimize_texrect = 0 hires_buf_clear = 0 filtering = 1 -depthmode = 1 swapmode = 0 buff_clear = 0 fb_smart = 1 @@ -1370,68 +1049,52 @@ fb_hires = 1 fb_read_alpha = 1 [Quest 64] -depthmode = 1 [Racing Simulation 2] -depthmode = 0 buff_clear = 0 [RAINBOW SIX] increase_texrect_edge = 1 -depthmode = 1 [Rally'99] filtering = 1 -depthmode = 1 buff_clear = 0 fb_smart = 1 fb_hires = 1 [RALLY CHALLENGE] filtering = 1 -depthmode = 1 buff_clear = 0 fb_smart = 1 fb_hires = 1 [Rayman 2] -depthmode = 0 detect_cpu_write = 1 [READY 2 RUMBLE] -fix_tex_coord = 64 -depthmode = 0 [Ready to Rumble] -fix_tex_coord = 1 -depthmode = 0 [Resident Evil II] detect_cpu_write = 1 adjust_aspect = 0 n64_z_scale = 1 -fix_tex_coord = 128 -depthmode = 0 swapmode = 2 fb_smart = 1 fb_hires = 1 [Re-Volt] texture_correction = 0 -depthmode = 1 [RIDGE RACER 64] force_calc_sphere = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 [ROAD RASH 64] -depthmode = 0 swapmode = 2 [Robopon64] -depthmode = 0 fb_smart = 1 fb_hires = 1 @@ -1440,12 +1103,10 @@ clip_zmin = 1 [RockMan Dash] increase_texrect_edge = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 [RONALDINHO SOCCER] -depthmode = 1 swapmode = 2 old_style_adither = 1 @@ -1453,30 +1114,23 @@ old_style_adither = 1 buff_clear = 0 [RUGRATS IN PARIS] -depthmode = 1 [RUSH 2049] -force_texrect_zbuf = 1 filtering = 1 -depthmode = 0 [SCARS] filtering = 1 -depthmode = 0 [SD HIRYU STADIUM] force_microcheck = 1 -depthmode = 0 [Shadow of the Empire] swapmode = 2 [Shadowman] -depthmode = 0 [Silicon Valley] filtering = 1 -depthmode = 0 [Snobow Kids 2] swapmode = 0 @@ -1487,16 +1141,12 @@ swapmode = 0 filtering = 1 [South Park: Chef's L] -fix_tex_coord = 4 filtering = 2 -depthmode = 1 fog = 0 buff_clear = 0 [South Park Chef's Lu] -fix_tex_coord = 4 filtering = 1 -depthmode = 1 fog = 0 buff_clear = 0 @@ -1510,20 +1160,17 @@ fast_crc = 0 detect_cpu_write = 1 aspect = 2 filtering = 2 -depthmode = 1 fog = 0 [STAR SOLDIER] force_microcheck = 1 filtering = 1 -depthmode = 1 swapmode = 0 [STAR TWINS] read_back_to_screen = 1 decrease_fillrect_edge = 1 alt_tex_size = 1 -depthmode = 1 swapmode = 2 fb_smart = 1 fb_hires = 1 @@ -1542,20 +1189,15 @@ fb_smart = 1 fb_hires = 1 [Supercross] -depthmode = 1 buff_clear = 0 [SUPER MARIO 64] -depth_bias = 32 lodmode = 1 filtering = 1 -depthmode = 1 [SUPERMARIO64] -depth_bias = 32 lodmode = 1 filtering = 1 -depthmode = 1 [SUPERMAN] detect_cpu_write = 1 @@ -1563,19 +1205,16 @@ detect_cpu_write = 1 ;Susume! Taisen Puzzle Dama Toukon! Marumata Chou (J) [½½Ò!À²¾ÝÊß½ÞÙÀÞÏ] force_microcheck = 1 -depthmode = 1 fog = 0 swapmode = 0 ;Tamagotchi World 64 (J) [ÐÝÅÃÞÀϺޯÁÜ°ÙÄÞ] use_sts1_only = 1 -depthmode = 0 fog = 0 [Taz Express] filtering = 1 -depthmode = 0 buff_clear = 0 [TELEFOOT SOCCER 2000] @@ -1585,137 +1224,96 @@ buff_clear = 0 alt_tex_size = 1 use_sts1_only = 1 increase_texrect_edge = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 fb_crc_mode = 2 [TG RALLY 2] filtering = 1 -depthmode = 1 buff_clear = 0 swapmode = 2 [THE LEGEND OF ZELDA] -depth_bias = 60 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [THE MASK OF MUJURA] -wrap_big_tex = 1 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 fb_crc_mode = 0 [THPS2] filtering = 1 -depthmode = 0 [THPS3] filtering = 1 -depthmode = 0 [Tigger's Honey Hunt] zmode_compare_less = 1 -depthmode = 0 buff_clear = 0 [TOM AND JERRY] -depth_bias = 2 filtering = 1 -depthmode = 0 [Tonic Trouble] -depthmode = 0 detect_cpu_write = 1 [TONY HAWK PRO SKATER] filtering = 1 -depthmode = 0 [TONY HAWK SKATEBOARD] filtering = 1 -depthmode = 0 [Top Gear Hyper Bike] -fb_info_disable = 1 swapmode = 2 -depthmode = 0 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [Top Gear Overdrive] -fb_info_disable = 1 -depthmode = 0 buff_clear = 0 [TOP GEAR RALLY] -depth_bias = 64 -fillcolor_fix = 1 -depthmode = 0 [TOP GEAR RALLY 2] filtering = 1 -depthmode = 1 buff_clear = 0 swapmode = 2 [TRIPLE PLAY 2000] -wrap_big_tex = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 [TROUBLE MAKERS] -mischief_tex_hack = 0 -depthmode = 1 fog = 0 [TSUMI TO BATSU] filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [TSUWAMONO64] force_microcheck = 1 -depthmode = 0 [TWINE] filtering = 1 -depthmode = 0 [TWISTED EDGE] -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [Ultraman Battle JAPA] -depthmode = 0 [Virtual Pool 64] -depthmode = 1 buff_clear = 0 [V-RALLY] -fix_tex_coord = 3 filtering = 1 -depthmode = 0 buff_clear = 0 swapmode = 0 [Waialae Country Club] -wrap_big_tex = 1 -depthmode = 0 fb_smart = 1 fb_hires = 1 @@ -1724,52 +1322,38 @@ pal230 = 1 [WILD CHOPPERS] filtering = 1 -depthmode = 0 [Wipeout 64] filtering = 1 -depthmode = 0 swapmode = 2 [WONDER PROJECT J2] -depthmode = 0 buff_clear = 0 swapmode = 0 [World Cup 98] -depthmode = 0 swapmode = 0 fb_smart = 1 fb_hires = 1 [WRESTLEMANIA 2000] -depthmode = 0 [YAKOUTYUU2] -depthmode = 0 [YOSHI STORY] -fix_tex_coord = 32 filtering = 1 -depthmode = 1 fog = 0 [ZELDA MAJORA'S MASK] -wrap_big_tex = 1 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 fb_crc_mode = 0 [ZELDA MASTER QUEST] -depth_bias = 60 filtering = 1 -depthmode = 1 fb_smart = 1 fb_hires = 1 -fb_clear = 1 [MUPEN64PLUS] diff --git a/source/gles2glide64/src/Glide64/Main.cpp b/source/gles2glide64/src/Glide64/Main.cpp index 9b0651b..8fd53fc 100755 --- a/source/gles2glide64/src/Glide64/Main.cpp +++ b/source/gles2glide64/src/Glide64/Main.cpp @@ -470,6 +470,46 @@ void ReadSettings () settings.ghq_hirs_let_texartists_fly = Config_ReadInt ("ghq_hirs_let_texartists_fly", "Use full alpha channel -- could cause issues for some tex packs", 0, TRUE, TRUE); settings.ghq_hirs_dump = Config_ReadInt ("ghq_hirs_dump", "Dump textures", 0, FALSE, TRUE); #endif + + settings.special_alt_tex_size = Config_ReadInt("alt_tex_size", "Alternate texture size method: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_use_sts1_only = Config_ReadInt("use_sts1_only", "Use first SETTILESIZE only: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_force_calc_sphere = Config_ReadInt("force_calc_sphere", "Use spheric mapping only: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_correct_viewport = Config_ReadInt("correct_viewport", "Force positive viewport: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_increase_texrect_edge = Config_ReadInt("increase_texrect_edge", "Force texrect size to integral value: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_decrease_fillrect_edge = Config_ReadInt("decrease_fillrect_edge", "Reduce fillrect size by 1: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_texture_correction = Config_ReadInt("texture_correction", "Enable perspective texture correction emulation: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_pal230 = Config_ReadInt("pal230", "Set special scale for PAL games: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_stipple_mode = Config_ReadInt("stipple_mode", "3DFX Dithered alpha emulation mode: -1=Game default, >=0=dithered alpha emulation mode", -1, TRUE, FALSE); + settings.special_stipple_pattern = Config_ReadInt("stipple_pattern", "3DFX Dithered alpha pattern: -1=Game default, >=0=pattern used for dithered alpha emulation", -1, TRUE, FALSE); + settings.special_force_microcheck = Config_ReadInt("force_microcheck", "Check microcode each frame: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_force_quad3d = Config_ReadInt("force_quad3d", "Force 0xb5 command to be quad, not line 3D: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_clip_zmin = Config_ReadInt("clip_zmin", "Enable near z clipping: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_clip_zmax = Config_ReadInt("clip_zmax", "Enable far plane clipping: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_fast_crc = Config_ReadInt("fast_crc", "Use fast CRC algorithm: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_adjust_aspect = Config_ReadInt("adjust_aspect", "Adjust screen aspect for wide screen mode: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_zmode_compare_less = Config_ReadInt("zmode_compare_less", "Force strict check in Depth buffer test: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_old_style_adither = Config_ReadInt("old_style_adither", "Apply alpha dither regardless of alpha_dither_mode: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_n64_z_scale = Config_ReadInt("n64_z_scale", "Scale vertex z value before writing to depth buffer: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_optimize_texrect = Config_ReadInt("optimize_texrect", "Fast texrect rendering with hwfbe: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_ignore_aux_copy = Config_ReadInt("ignore_aux_copy", "Do not copy auxiliary frame buffers: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_hires_buf_clear = Config_ReadInt("hires_buf_clear", "Clear auxiliary texture frame buffers: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_fb_read_alpha = Config_ReadInt("fb_read_alpha", "Read alpha from framebuffer: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_useless_is_useless = Config_ReadInt("useless_is_useless", "Handle unchanged fb: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_fb_crc_mode = Config_ReadInt("fb_crc_mode", "Set frambuffer CRC mode: -1=Game default, 0=disable CRC, 1=fast CRC, 2=safe CRC", -1, TRUE, FALSE); + settings.special_filtering = Config_ReadInt("filtering", "Filtering mode: -1=Game default, 0=automatic, 1=force bilinear, 2=force point sampled", -1, TRUE, FALSE); + settings.special_fog = Config_ReadInt("fog", "Fog: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_buff_clear = Config_ReadInt("buff_clear", "Buffer clear on every frame: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_swapmode = Config_ReadInt("swapmode", "Buffer swapping method: -1=Game default, 0=swap buffers when vertical interrupt has occurred, 1=swap buffers when set of conditions is satisfied. Prevents flicker on some games, 2=mix of first two methods", -1, TRUE, FALSE); + settings.special_aspect = Config_ReadInt("aspect", "Aspect ratio: -1=Game default, 0=Force 4:3, 1=Force 16:9, 2=Stretch, 3=Original", -1, TRUE, FALSE); + settings.special_lodmode = Config_ReadInt("lodmode", "LOD calculation: -1=Game default, 0=disable. 1=fast, 2=precise", -1, TRUE, FALSE); + settings.special_fb_smart = Config_ReadInt("fb_smart", "Smart framebuffer: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_fb_hires = Config_ReadInt("fb_hires", "Hardware frame buffer emulation: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_fb_read_always = Config_ReadInt("fb_read_always", "Read framebuffer every frame (may be slow use only for effects that need it e.g. Banjo Kazooie, DK64 transitions): -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_read_back_to_screen = Config_ReadInt("read_back_to_screen", "Render N64 frame buffer as texture: -1=Game default, 0=disable, 1=mode1, 2=mode2", -1, TRUE, FALSE); + settings.special_detect_cpu_write = Config_ReadInt("detect_cpu_write", "Show images written directly by CPU: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_fb_get_info = Config_ReadInt("fb_get_info", "Get frame buffer info: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + settings.special_fb_render = Config_ReadInt("fb_render", "Enable software depth render: -1=Game default, 0=disable. 1=enable", -1, TRUE, FALSE); + //TODO-PORT: remove? ConfigWrapper(); } @@ -549,37 +589,112 @@ void ReadSpecialSettings (const char * name) ini->SetPath(name); ini->Read(_T("alt_tex_size"), &(settings.alt_tex_size)); + if (settings.special_alt_tex_size >= 0) + settings.alt_tex_size = settings.special_alt_tex_size; + ini->Read(_T("use_sts1_only"), &(settings.use_sts1_only)); + if (settings.special_use_sts1_only >= 0) + settings.use_sts1_only = settings.special_use_sts1_only; + ini->Read(_T("force_calc_sphere"), &(settings.force_calc_sphere)); + if (settings.special_force_calc_sphere >= 0) + settings.force_calc_sphere = settings.special_force_calc_sphere; + ini->Read(_T("correct_viewport"), &(settings.correct_viewport)); + if (settings.special_correct_viewport >= 0) + settings.correct_viewport = settings.special_correct_viewport; + ini->Read(_T("increase_texrect_edge"), &(settings.increase_texrect_edge)); + if (settings.special_increase_texrect_edge >= 0) + settings.increase_texrect_edge = settings.special_increase_texrect_edge; + ini->Read(_T("decrease_fillrect_edge"), &(settings.decrease_fillrect_edge)); + if (settings.special_decrease_fillrect_edge >= 0) + settings.decrease_fillrect_edge = settings.special_decrease_fillrect_edge; + if (ini->Read(_T("texture_correction"), -1) == 0) settings.texture_correction = 0; else settings.texture_correction = 1; + if (settings.special_texture_correction >= 0) + settings.texture_correction = settings.special_texture_correction; + if (ini->Read(_T("pal230"), -1) == 1) settings.pal230 = 1; else settings.pal230 = 0; + if (settings.special_pal230 >= 0) + settings.pal230 = settings.special_pal230; + ini->Read(_T("stipple_mode"), &(settings.stipple_mode)); + if (settings.special_stipple_mode >= 0) + settings.stipple_mode = settings.special_stipple_mode; + int stipple_pattern = ini->Read(_T("stipple_pattern"), -1); if (stipple_pattern > 0) settings.stipple_pattern = (wxUint32)stipple_pattern; + if (settings.special_stipple_pattern >= 0) + stipple_pattern = settings.special_stipple_pattern; + ini->Read(_T("force_microcheck"), &(settings.force_microcheck)); + if (settings.special_force_microcheck >= 0) + settings.force_microcheck = settings.special_force_microcheck; + ini->Read(_T("force_quad3d"), &(settings.force_quad3d)); + if (settings.special_force_quad3d >= 0) + settings.force_quad3d = settings.special_force_quad3d; + ini->Read(_T("clip_zmin"), &(settings.clip_zmin)); + if (settings.special_clip_zmin >= 0) + settings.clip_zmin = settings.special_clip_zmin; + ini->Read(_T("clip_zmax"), &(settings.clip_zmax)); + if (settings.special_clip_zmax >= 0) + settings.clip_zmax = settings.special_clip_zmax; + ini->Read(_T("fast_crc"), &(settings.fast_crc)); + if (settings.special_fast_crc >= 0) + settings.fast_crc = settings.special_fast_crc; + ini->Read(_T("adjust_aspect"), &(settings.adjust_aspect), 1); + if (settings.special_adjust_aspect >= 0) + settings.adjust_aspect = settings.special_adjust_aspect; + ini->Read(_T("zmode_compare_less"), &(settings.zmode_compare_less)); + if (settings.special_zmode_compare_less >= 0) + settings.zmode_compare_less = settings.special_zmode_compare_less; + ini->Read(_T("old_style_adither"), &(settings.old_style_adither)); + if (settings.special_old_style_adither >= 0) + settings.old_style_adither = settings.special_old_style_adither; + ini->Read(_T("n64_z_scale"), &(settings.n64_z_scale)); + if (settings.special_n64_z_scale >= 0) + settings.n64_z_scale = settings.special_n64_z_scale; + if (settings.n64_z_scale) ZLUT_init(); //frame buffer int optimize_texrect = ini->Read(_T("optimize_texrect"), -1); + if (settings.special_optimize_texrect >= 0) + optimize_texrect = settings.special_optimize_texrect; + int ignore_aux_copy = ini->Read(_T("ignore_aux_copy"), -1); + if (settings.special_ignore_aux_copy >= 0) + ignore_aux_copy = settings.special_ignore_aux_copy; + int hires_buf_clear = ini->Read(_T("hires_buf_clear"), -1); + if (settings.special_hires_buf_clear >= 0) + hires_buf_clear = settings.special_hires_buf_clear; + int read_alpha = ini->Read(_T("fb_read_alpha"), -1); + if (settings.special_fb_read_alpha >= 0) + read_alpha = settings.special_fb_read_alpha; + int useless_is_useless = ini->Read(_T("useless_is_useless"), -1); + if (settings.special_useless_is_useless >= 0) + useless_is_useless = settings.special_useless_is_useless; + int fb_crc_mode = ini->Read(_T("fb_crc_mode"), -1); + if (settings.special_fb_crc_mode >= 0) + fb_crc_mode = settings.special_fb_crc_mode; + if (optimize_texrect > 0) settings.frame_buffer |= fb_optimize_texrect; else if (optimize_texrect == 0) settings.frame_buffer &= ~fb_optimize_texrect; @@ -599,7 +714,8 @@ void ReadSpecialSettings (const char * name) ini->Read(_T("fog"), &(settings.fog)); ini->Read(_T("buff_clear"), &(settings.buff_clear)); ini->Read(_T("swapmode"), &(settings.swapmode)); - ini->Read(_T("aspect"), &(settings.aspectmode)); + int tmp_aspect = ini->Read(_T("aspect"), -1); + if (tmp_aspect != 0) settings.aspectmode = tmp_aspect; ini->Read(_T("lodmode"), &(settings.lodmode)); #ifdef PAULSCODE ini->Read(_T("autoframeskip"), &(settings.autoframeskip)); @@ -629,12 +745,32 @@ void ReadSpecialSettings (const char * name) //frame buffer int smart_read = ini->Read(_T("fb_smart"), -1); + if (settings.special_fb_smart >= 0) + smart_read = settings.special_fb_smart; + int hires = ini->Read(_T("fb_hires"), -1); + if (settings.special_fb_hires >= 0) + hires = settings.special_fb_hires; + int read_always = ini->Read(_T("fb_read_always"), -1); + if (settings.special_fb_read_always >= 0) + read_always = settings.special_fb_read_always; + int read_back_to_screen = ini->Read(_T("read_back_to_screen"), -1); + if (settings.special_read_back_to_screen >= 0) + read_back_to_screen = settings.special_read_back_to_screen; + int cpu_write_hack = ini->Read(_T("detect_cpu_write"), -1); + if (settings.special_detect_cpu_write >= 0) + cpu_write_hack = settings.special_detect_cpu_write; + int get_fbinfo = ini->Read(_T("fb_get_info"), -1); + if (settings.special_fb_get_info >= 0) + get_fbinfo = settings.special_fb_get_info; + int depth_render = ini->Read(_T("fb_render"), -1); + if (settings.special_fb_render >= 0) + depth_render = settings.special_fb_render; if (smart_read > 0) settings.frame_buffer |= fb_emulation; else if (smart_read == 0) settings.frame_buffer &= ~fb_emulation; -- 2.39.2