@@ -2,7 +2,8 @@ use crate::{util, labels, playfield};
22
33pub fn test ( ) {
44 test_floor ( ) ;
5- test_floor_linecap ( ) ;
5+ test_floor_linecap ( "MODE_TRANSITION" , 0 ) ;
6+ test_floor_linecap ( "MODE_TETRIS" , 1 ) ;
67 test_floor0 ( ) ;
78}
89
@@ -54,7 +55,7 @@ fn test_floor() {
5455 assert_ne ! ( playfield:: get( & mut emu, 0 , 19 ) , 0xEF ) ;
5556}
5657
57- fn test_floor_linecap ( ) {
58+ fn test_floor_linecap ( mode : & str , linecap_when : u8 ) {
5859 let mut emu = util:: emulator ( None ) ;
5960
6061 for _ in 0 ..3 { emu. run_until_vblank ( ) ; }
@@ -64,12 +65,15 @@ fn test_floor_linecap() {
6465 let main_loop = labels:: get ( "mainLoop" ) ;
6566 let level_number = labels:: get ( "levelNumber" ) as usize ;
6667
67- emu. memory . iram_raw [ practise_type] = labels:: get ( "MODE_TRANSITION" ) as _ ;
68+ emu. memory . iram_raw [ practise_type] = labels:: get ( mode ) as _ ;
6869 emu. memory . iram_raw [ level_number] = 19 ;
6970 emu. memory . iram_raw [ game_mode] = 4 ;
7071
7172 emu. memory . iram_raw [ labels:: get ( "linecapFlag" ) as usize ] = 1 ;
73+ emu. memory . iram_raw [ labels:: get ( "linecapWhen" ) as usize ] = linecap_when;
7274 emu. memory . iram_raw [ labels:: get ( "linecapHow" ) as usize ] = labels:: get ( "LINECAP_FLOOR" ) as u8 - 1 ;
75+ emu. memory . iram_raw [ labels:: get ( "linecapLines" ) as usize ] = 0x10 ;
76+ emu. memory . iram_raw [ labels:: get ( "linecapLines" ) as usize + 1 ] = 0 ;
7377 emu. memory . iram_raw [ labels:: get ( "linecapLevel" ) as usize ] = 20 ;
7478
7579 emu. registers . pc = main_loop;
0 commit comments