dev: utilsconsole: merge c and cpp files
This commit is contained in:
parent
236cb9a780
commit
3f5e13b2f2
6 changed files with 21 additions and 73 deletions
|
@ -1,15 +1,18 @@
|
|||
/**
|
||||
* utilsconsole.hpp
|
||||
* utilsconsole.h
|
||||
* by Zy
|
||||
*/
|
||||
|
||||
/**
|
||||
* utilsconsole.hpp (uc_*() functions)
|
||||
* utilsconsole.h (uc_*() functions)
|
||||
* Utility functions for the 3DS console.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C++" {
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
@ -40,6 +43,9 @@ typedef struct {
|
|||
/// @return The index of the confirmed element. If none, return -1.
|
||||
int uc_menu(vector<s_uc_menu_element> &elements);
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
/// @brief Display a menu quickly using only confirm buttons.
|
||||
/// @details
|
||||
/// Blocking function. Will return -1 if aptMainLoop() becomes false.
|
|
@ -1,22 +0,0 @@
|
|||
/**
|
||||
* utilsconsole_extern_c.h
|
||||
* by Zy
|
||||
*/
|
||||
|
||||
/**
|
||||
* utilsconsole_extern_c.h (uc_*() functions)
|
||||
*/
|
||||
|
||||
#ifndef UTILSCONSOLE_EXTERN_C_H
|
||||
# define UTILSCONSOLE_EXTERN_C_H
|
||||
|
||||
/// @brief Blocks the program until the user presses A.
|
||||
/// @details Will also return if aptMainLoop() becomes false.
|
||||
void uc_pause(void);
|
||||
|
||||
/// @brief Show the 3DS keyboard to ask the user for a text.
|
||||
/// @param def The default text to show the user.
|
||||
/// @return A freeable address to the text prompted by the user. NULL if error.
|
||||
char *uc_keyboard(const char *def);
|
||||
|
||||
#endif
|
|
@ -2,11 +2,10 @@ extern "C" {
|
|||
#include "mlx.h"
|
||||
#include "3ds.h"
|
||||
#include "mlx3ds.h"
|
||||
#include "utilsconsole.h"
|
||||
}
|
||||
#include <iostream>
|
||||
#include <string.h>
|
||||
#include "utilsconsole.hpp"
|
||||
#include "utilsconsole.hpp"
|
||||
#include "firsk.xpm"
|
||||
#include <sys/dirent.h>
|
||||
#include <fcntl.h>
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
|
||||
// TODO mlx_internal.cpp: embed uc_pause() and change to .c file
|
||||
|
||||
#include "utilsconsole.hpp"
|
||||
|
||||
extern "C" {
|
||||
#include "utilsconsole.h"
|
||||
#include "mlx_internal.h"
|
||||
#include "3ds.h"
|
||||
|
||||
|
|
|
@ -3,12 +3,15 @@
|
|||
* by Zy
|
||||
*/
|
||||
|
||||
#include "utilsconsole.hpp"
|
||||
|
||||
#include <3ds.h>
|
||||
#include <iostream>
|
||||
#include <stdarg.h>
|
||||
#include <cstring>
|
||||
extern "C" {
|
||||
#include "utilsconsole.h"
|
||||
#include <3ds.h>
|
||||
#include <stdarg.h>
|
||||
}
|
||||
|
||||
using namespace std;
|
||||
|
||||
int uc_menu(vector<s_uc_menu_element> &elements) {
|
||||
static void *lastElements = NULL;
|
||||
|
@ -71,6 +74,8 @@ int uc_menu(vector<s_uc_menu_element> &elements) {
|
|||
return confirmed ? selected : -1;
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
|
||||
int uc_menu_quick(const char *str, ...) {
|
||||
va_list arguments;
|
||||
auto elements = vector<s_uc_menu_element>();
|
||||
|
@ -106,3 +111,5 @@ char *uc_keyboard(const char *def)
|
|||
swkbdInputText(&swkbd, buf, 1000);
|
||||
return (buf);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
/**
|
||||
* utilsconsole_extern_c.cpp
|
||||
* by Zy
|
||||
*/
|
||||
|
||||
|
||||
#include <iostream>
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "utilsconsole_extern_c.h"
|
||||
#include <3ds.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
void uc_pause(void) {
|
||||
cout << "\e[0;2mPress (A) to continue...\e[0m" << endl;
|
||||
while (aptMainLoop()) {
|
||||
hidScanInput();
|
||||
if (hidKeysDown() & KEY_A)
|
||||
break;
|
||||
gfxFlushBuffers();
|
||||
}
|
||||
}
|
||||
|
||||
char *uc_keyboard(const char *def)
|
||||
{
|
||||
char *buf;
|
||||
SwkbdState swkbd;
|
||||
|
||||
buf = new char[1000];
|
||||
if (!buf)
|
||||
return (NULL);
|
||||
swkbdInit(&swkbd, SWKBD_TYPE_NORMAL, 1, -1);
|
||||
swkbdSetInitialText(&swkbd, def);
|
||||
swkbdInputText(&swkbd, buf, 1000);
|
||||
return (buf);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue