Compare commits

...

3 Commits

Author SHA1 Message Date
Tristan 'Natrist' Cormier
cdfe8cc807
Merge c12a79d6e6 into d19658185a 2026-02-25 13:56:09 -05:00
Tristan 'Natrist' Cormier
d19658185a
feat(glue): implement Script_TerminationWithoutNoticeAccepted (#159)
Some checks are pending
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:cl compiler_name:MSVC cxx:cl os:windows-latest system_name:Windows test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:clang compiler_name:Clang cxx:clang++ os:macos-latest system_name:macOS test_path:WhoaTest]) (push) Waiting to run
Push / ${{ matrix.build.system_name }} / ${{ matrix.build.build_type }} / ${{ matrix.build.compiler_name }} (map[build_type:Release cc:gcc compiler_name:GCC cxx:g++ os:ubuntu-latest system_name:Linux test_path:WhoaTest]) (push) Waiting to run
Co-authored-by: fallenoak <git@fallenoak.me>
2026-02-24 21:00:27 -06:00
Tristan Cormier
c12a79d6e6 feat(console): add CONSOLELINE::Backspace 2025-12-08 09:17:54 -05:00
3 changed files with 28 additions and 1 deletions

View File

@ -84,6 +84,26 @@ CONSOLELINE::~CONSOLELINE() {
} }
} }
void CONSOLELINE::Backspace() {
if (this->inputpos > this->inputstart) {
if (this->chars <= this->inputpos) {
this->buffer[this->inputpos - 1] = '\0';
}
else {
memcpy(
&this->buffer[this->inputpos - 1],
&this->buffer[this->inputpos],
this->chars - this->inputpos + 1
);
}
this->inputpos--;
this->chars--;
SetInputString(this->buffer);
}
}
void DrawBackground() { void DrawBackground() {
uint16_t indices[] = { uint16_t indices[] = {
0, 1, 2, 3 0, 1, 2, 3

View File

@ -19,6 +19,7 @@ class CONSOLELINE : public TSLinkedNode<CONSOLELINE> {
// Member functions // Member functions
~CONSOLELINE(); ~CONSOLELINE();
void Backspace();
}; };
void ConsoleScreenAnimate(float elapsedSec); void ConsoleScreenAnimate(float elapsedSec);

View File

@ -204,7 +204,13 @@ int32_t Script_ShowTerminationWithoutNoticeNotice(lua_State* L) {
} }
int32_t Script_TerminationWithoutNoticeAccepted(lua_State* L) { int32_t Script_TerminationWithoutNoticeAccepted(lua_State* L) {
WHOA_UNIMPLEMENTED(0); if (CGlueMgr::m_acceptedTerminationWithoutNotice) {
lua_pushnumber(L, 1.0);
} else {
lua_pushnil(L);
}
return 1;
} }
int32_t Script_AcceptTerminationWithoutNotice(lua_State* L) { int32_t Script_AcceptTerminationWithoutNotice(lua_State* L) {