hack it
This commit is contained in:
		
							parent
							
								
									1aff62163a
								
							
						
					
					
						commit
						84decfb48f
					
				
							
								
								
									
										22
									
								
								source/app.d
								
								
								
								
							
							
						
						
									
										22
									
								
								source/app.d
								
								
								
								
							| 
						 | 
				
			
			@ -214,7 +214,9 @@ struct Chip8Status {
 | 
			
		|||
	Assembly ass_;
 | 
			
		||||
 | 
			
		||||
	// loaded program
 | 
			
		||||
	const(char)*[string] string_cache;
 | 
			
		||||
	const (char)* loaded_program;
 | 
			
		||||
	string loaded_program_str;
 | 
			
		||||
 | 
			
		||||
	// mem editor
 | 
			
		||||
	// MemoryEditor mem_editor_;
 | 
			
		||||
| 
						 | 
				
			
			@ -265,8 +267,7 @@ struct Chip8Status {
 | 
			
		|||
 | 
			
		||||
		import std.file : read;
 | 
			
		||||
 | 
			
		||||
		loaded_program = "chip8_picture.ch8";
 | 
			
		||||
		auto buf = read("programs/chip8_picture.ch8");
 | 
			
		||||
		auto buf = read(loaded_program_str);
 | 
			
		||||
		emu_.load(0x200, buf); // do ze load yes, will copy all the data in
 | 
			
		||||
		ass_.setRange(cast(ushort)0x200, cast(ushort)(0x200 + cast(ushort)buf.length));
 | 
			
		||||
		ass_.reset();
 | 
			
		||||
| 
						 | 
				
			
			@ -311,8 +312,21 @@ struct Chip8Status {
 | 
			
		|||
					resetShortcut();
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (igMenuItem("Load", "CTRL+L")) {
 | 
			
		||||
					loadShortcut();
 | 
			
		||||
				if (igBeginMenu("Load")) {
 | 
			
		||||
					import std.file;
 | 
			
		||||
					auto dir_iterator = dirEntries("", "*.ch8", SpanMode.breadth);
 | 
			
		||||
					foreach (DirEntry e; dir_iterator) {
 | 
			
		||||
						import std.string : toStringz;
 | 
			
		||||
						const (char)* c_str;
 | 
			
		||||
						if (!(e.name in string_cache)) c_str = toStringz(e.name);
 | 
			
		||||
						else c_str = string_cache[e.name];
 | 
			
		||||
						if (igMenuItem(c_str)) {
 | 
			
		||||
							loaded_program_str = e.name;
 | 
			
		||||
							loaded_program = c_str;
 | 
			
		||||
							loadShortcut();
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					igEndMenu();
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if (igMenuItem("Debug", "CTRL+D")) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue