hack it
This commit is contained in:
parent
1aff62163a
commit
84decfb48f
20
source/app.d
20
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,9 +312,22 @@ struct Chip8Status {
|
|||
resetShortcut();
|
||||
}
|
||||
|
||||
if (igMenuItem("Load", "CTRL+L")) {
|
||||
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")) {
|
||||
debugShortcut();
|
||||
|
|
Loading…
Reference in New Issue