Commit Graph
45 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5 6a05ef290d Fix four WebSocket debugger bugs found while stress testing
memory.readString could kill the connection: it copied raw emulated memory
straight into a JSON string, so any address not holding valid UTF-8 produced an
invalid WebSocket text frame.

hle.data.remove wiped the name of a function sharing the address. Labels are
shared between data and function symbols, so removing the data label left the
function showing up in hle.func.list with an empty name.

hle.data.add silently did nothing outside a loaded module. GetModuleIndex()
returns -1 for e.g. a heap or stack address, and symbols under that index never
reach the active maps - so the add reported success while the symbol was
invisible to list, and rename/remove then failed with "No data symbol found".
Falls back to module index 0 ("no module, absolute address"), which is the right
answer for a label the user put somewhere after a memory.search.

hle.thread.list reported the thread's stack base address in a field called
initialStackSize. Renamed to initialStack, matching the SceKernelThreadInfo
field it comes from.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
2026-08-17 00:25:39 +02:00
Henrik RydgårdandClaude Sonnet 5 c45ceb6e2f ShiftJIS: don't consume the null terminator as a second byte
next() would read a truncated lead byte's "second byte" unconditionally,
even when that byte was actually the string's null terminator - leaving
index_ one past the terminator, so a subsequent end()/next() call read
one byte out of bounds. Now checks for the terminator before consuming
it, returning INVALID without advancing past it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4QAoxV2KY7ek4PcZw3WvY
2026-08-09 19:31:02 +02:00
Henrik Rydgård cd254c9ec3 Merge branch 'master' into minor-tweaks 2026-08-07 15:14:47 +02:00
Henrik Rydgård b5a880568d Fix some latent bugs, delete some code. 2026-08-07 14:45:45 +02:00
Henrik Rydgård 0323598941 Two bugs in Encoding 2026-08-07 14:43:56 +02:00
Henrik Rydgård 6f7de71ed0 Fix bugs in some UTF8 string handling utility functions 2026-08-07 11:56:14 +02:00
Henrik Rydgård bc9a047ef1 Search: Skip spaces and control characters, code cleanup, fix minor issue on desktop 2026-05-11 11:45:04 +02:00
Henrik Rydgård 786b835ba1 Smoother directory navigation using search. Normalize away full-width chars for search. 2026-04-16 12:46:34 -06:00
Henrik Rydgård 56be37a2e4 Correct two minor bugs causing reported crashes 2026-03-13 10:16:25 +01:00
Henrik Rydgård 800a68f32d Sanity checking in Utf8.cpp, improve logging for missing translations 2025-12-15 17:17:23 +01:00
Henrik Rydgård f949bc8faf RetroAchievements: Show subset names 2025-11-27 11:03:56 +01:00
Henrik Rydgård 70f1edb28f Misc sanity checks 2025-06-14 08:45:02 +02:00
Henrik Rydgård 0c55bfcb70 ConvertUTF8ToJavaModifiedUTF8: Comment cleanup 2025-05-28 12:51:18 +02:00
Henrik Rydgård 073a6fef0e Delete dead code from Utf8.cpp 2025-01-04 13:29:42 +01:00
Henrik Rydgård c60074d1d5 Don't cut off the last char from strings from NativeKeyboard 2025-01-04 13:27:13 +01:00
Henrik Rydgård c91169e702 Restore removed <algorithm> includes.
Turns out these were needed after all. For some reason, on Windows and
Mac, <algorithm> gets auto-included by something else so I don't notice
when it's missing, and MSVC's include dependency tracker doesn't see it
either.
2024-12-19 09:53:07 +01:00
Henrik Rydgård 4dd3621fa0 Remove some unnecessary <algorithm> includes. 2024-12-18 17:04:27 +01:00
Henrik Rydgård ab51c2a13b Fix enabling logs 2024-12-16 12:48:48 +01:00
Henrik Rydgård 080798b5dd Move out two more functions from Core.cpp. Clean up Windows includes 2024-12-08 12:12:02 +01:00
Henrik Rydgård 2e85eb5128 More static code analysis fixes 2024-10-28 17:59:06 +01:00
Henrik Rydgård 26de955c77 Warning fixes, add warning to Cave Story if skip buffer effects is on 2024-10-22 11:56:08 +02:00
Henrik Rydgård a6a189c24d An old version of android had strict JNI validation of UTF-8 strings enabled. Let's pass it. 2024-10-22 11:02:26 +02:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård 750aad2b08 Buildfix 2024-05-25 09:47:15 +02:00
Henrik Rydgård 5d8560e379 Text wrapping bugfixes 2024-05-25 09:16:00 +02:00
Henrik Rydgård 0e03b66a95 Make vertical tabs scrollable 2024-01-19 14:56:29 +01:00
Henrik Rydgård 3e078abbaf Restore nul check in u8_nextchar 2024-01-15 10:45:19 +01:00
Henrik Rydgård 69124fda96 Fix up a small mistake in ConvertUTF8ToWString 2024-01-15 10:43:49 +01:00
Henrik Rydgård 34d35dcf8b More buildfix 2024-01-12 14:09:21 +01:00
Henrik Rydgård 0fc3e2b777 Add string_view support to more UTF functions 2024-01-12 14:03:02 +01:00
Henrik Rydgård 9c9fe8bf8f Add string_view functionality to the core utf-8 parsing code 2024-01-12 14:03:02 +01:00
Henrik Rydgård 85dbc6b6aa utf8_nextchar: Don't use a pointed-to variable as a loop counter. 2023-08-17 15:18:24 +02:00
Henrik Rydgård 5533d5ec57 More lenient emoji check, remove unused variable 2023-08-06 17:17:24 +02:00
Henrik Rydgård 63cfe28f61 Implement color emoji support on Android 2023-08-06 15:14:29 +02:00
Henrik Rydgård a477ca3f05 Add a couple of emoji to UI in debug mode 2023-08-06 15:10:49 +02:00
Unknown W. Brackets a7b7bf7826 Global: Set many read-only params as const.
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Henrik Rydgård cdb830f390 Minor optimization/cleanup 2022-12-10 12:05:40 +01:00
lainon fec708489a Correct cleaning string and remove unused vars 2022-09-30 12:26:30 +03:00
Unknown W. Brackets 5ef8762c32 PPGe: Interpret invalid UTF-8 sequences better.
This matches PSP firmware behavior per tests.
2021-03-28 14:26:14 -07:00
Henrik Rydgård 5802529daa UTF-8 PPGe: Remove overlong encodings. Work around a weird issue in Ratchet & Clank. See issue #14297 2021-03-20 13:38:13 +01:00
Unknown W. Brackets 711dd0e8ac Debugger: Correct a type error. 2020-12-28 20:16:49 -08:00
Unknown W. Brackets 3325a27811 Debugger: Cleanup some syntax. 2020-12-28 11:13:54 -08:00
Unknown W. Brackets 7e5052bc9e Debugger: Add API to read/write chunks of memory.
Using base64 at this point to keep JSON.
2020-12-28 10:30:58 -08:00
Henrik Rydgård 0292d1719d GEDebugger: Use utf-8 internally. 2020-11-02 10:02:52 +01:00
Henrik Rydgård ff8148dd92 Move native/util, native/data and native/i18 to Common/Data.
Also move colorutil.cpp/h

linking build fix experiment

Delete a bunch of unused CMakeLists.txt files

CMakeLists.txt linking fix

Don't include NativeApp.h from any headers.

Android.mk buildfix

Half of the UWP fix

Buildfix

Minor project file cleanup

Buildfixes

Guess what? More buildfixes!
2020-10-04 07:28:29 +02:00