|
|
|
|
@ -1,8 +1,9 @@ |
|
|
|
|
#include "status_panel.hpp" |
|
|
|
|
#include <fmt/xchar.h> |
|
|
|
|
#include "constants.hpp" |
|
|
|
|
|
|
|
|
|
StatusPanel::StatusPanel() { |
|
|
|
|
$gui.position(1000, 0, 1280 - 1000, 720); |
|
|
|
|
$gui.position(DISPLAY_WIDTH, 0, WINDOW_WIDTH - DISPLAY_WIDTH, WINDOW_HEIGHT); |
|
|
|
|
$gui.layout( |
|
|
|
|
"[N|Reg|Stk|Key]" |
|
|
|
|
"[x0|r0|s0|k0]" |
|
|
|
|
@ -20,7 +21,9 @@ StatusPanel::StatusPanel() { |
|
|
|
|
"[xC|r12|s12|k12]" |
|
|
|
|
"[xD|r13|s13|k13]" |
|
|
|
|
"[xE|r14|s14|k14]" |
|
|
|
|
"[xF|r15|s15|k15]"); |
|
|
|
|
"[xF|r15|s15|k15]" |
|
|
|
|
"[PC|I|SP|DT|ST]" |
|
|
|
|
"[pc|i|sp|dt|st]"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void StatusPanel::init() { |
|
|
|
|
@ -38,15 +41,21 @@ void StatusPanel::render(sf::RenderTarget& window) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void StatusPanel::update(Chip8& vm) { |
|
|
|
|
for(size_t i = 0; i < 16; i++) { |
|
|
|
|
for(size_t i = 0; i < CHIP8_REGISTERS; i++) { |
|
|
|
|
$gui.show_text(fmt::format("r{}", i), fmt::format(L"{}", vm.registers[i])); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for(size_t i = 0; i < 16; i++) { |
|
|
|
|
for(size_t i = 0; i < CHIP8_STACK; i++) { |
|
|
|
|
$gui.show_text(fmt::format("s{}", i), fmt::format(L"{}", vm.stack[i])); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for(size_t i = 0; i < 16; i++) { |
|
|
|
|
for(size_t i = 0; i < CHIP8_KEYS; i++) { |
|
|
|
|
$gui.show_text(fmt::format("k{}", i), fmt::format(L"{}", vm.keypad[i])); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$gui.show_text("pc", fmt::format(L"{}", vm.pc)); |
|
|
|
|
$gui.show_text("i", fmt::format(L"{}", vm.index)); |
|
|
|
|
$gui.show_text("sp", fmt::format(L"{}", vm.sp)); |
|
|
|
|
$gui.show_text("dt", fmt::format(L"{}", vm.delayTimer)); |
|
|
|
|
$gui.show_text("st", fmt::format(L"{}", vm.soundTimer)); |
|
|
|
|
} |
|
|
|
|
|