- May 02, 2023
-
-
Rob Swindell authored
Not a huge deal, but there it is (or was).
-
Deucе authored
Instead, have the r2yptr and y2rptr pointers that need to be set to those tables in order for interpolation to work. Not setting one locks ciolib into "LCD" modes (everything uses square pixels), and XBR scaling is disabled. The CIOLIB_INTERPOLATE_OBJS make variable contains the path to the object file that contains those tables, so it's just a matter of some code and an extra (128MB) object to link against.
-
- May 01, 2023
-
-
Deucе authored
-
Deucе authored
Fixes high CPU utilization at menus.
-
Deucе authored
This increases the binary size by 128MB, but allows much faster startup, and should actually use less memory since the VM can page out (or just not page in) the parts of the table it doesn't use, and it can share the pages between different instances.
-
Rob Swindell authored
Use a static char string list for the main menu options. These can't be const becaue uifc.list() *can* modify them (!) - if they're too long. Free the global opt[] (option list) when exiting. These really are not of themselves important, but reduce the noise reported by valgrind when looking for real issues.
-
Rob Swindell authored
-
Rob Swindell authored
(seeing a pattern here) :-)
-
Rob Swindell authored
-
Rob Swindell authored
-
Deucе authored
Use weight == 0 instead of int == double when deciding to copy pixel When interpolating width, do it by column, not row
-
Deucе authored
I expect BitBlt(..., BLACKNESS) to be the better optimized of the two, and there's no reason to actually reat the source bitmap.
-
Deucе authored
Cleans up artifacts in interpolated values nicely.
-
Deucе authored
-
- Apr 30, 2023
-
-
Rob Swindell authored
-
Rob Swindell authored
I don't think it would've even been possible to match these expressions without the tilde.
-
Rob Swindell authored
After a negative-match of a Guru expression, we were searching for the next '(' anywhere in the subsequent chars of the file rather than just the next line that started with an open-parenthesis character. This bug was the secondary cause of the buffer-overflow crash addresseed in commit 62e2280e which was triggered by my recent updates to the guru.dat.
-
Deucе authored
Create a proper aspect fix function Centre bitmap in window with correct aspect ratio Fix cursor at resize points Explicitly set high DPI awareness Don't snap window larger than allowed Since this is the newest/simplest display driver, I'm going to use this to decide how to do scaling in general so I can abstract that into shared code to ensure all drivers have the same scaling behaviour. I haven't tested mouse on windows with black bars yet though, so I assume that's broken...
-
Rob Swindell authored
The 'list' member was allocated by iniParseSections() but never freed. Caught be Nelgin's recent valgrind report, e.g.: ==2725235== 56 bytes in 1 blocks are indirectly lost in loss record 82 of 191 ==2725235== at 0x484DCD3: realloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so) ==2725235== by 0x4FA351C: strListAnnex (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x4F9ADDE: iniParseSections (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x49F1F0A: read_chat_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x49E8BF1: load_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so) ==2725235== by 0x5C14C75: ftp_server (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libftpsrvr.so) ==2725235== by 0x5D5AB42: start_thread (pthread_create.c:442) ==2725235== by 0x5DEBBB3: clone (clone.S:100)
-
Deucе authored
Will be needed once scaling works properly.
-
Deucе authored
Load icon from resource file implement seticon() While the features are all there, some are buggy. Scaling is wrong for example, and keyboard input may do weird things if shift or control are held when you take focus away from the window, then release them when the focus is elsewhere, then re-focus the window. This should only impact extended keys (ie: ones that don't send a character to the remote).
-
Rob Swindell authored
-
Deucе authored
-
- Apr 29, 2023
-
-
Deucе authored
-
Deucе authored
-
Deucе authored
Instead, only delete it if the size has changed since the last frame. This should make things snappier.
-
Deucе authored
While we're here, eliminate some explicit int64_t usage. (not sure why uifc_winmode_t is signed since it's a bitfield, but that's above my pay grade).
-
Deucе authored
This caused double-keys on those when numlock was off. Only the number keys and period need special NumLock handling. Fixes bug 108 on SourceForge, thanks nelgin!
-
Deucе authored
Add setwinsize and setwinpos Move blit from rect into gdi_thread Add beep support Add (non-functional) settitle support Support ciolib scaling in addition to GDI scaling Add window-size snapping Support -iG in SyncTERM GDI is still the second-least preferred mode, so auto mode will only use it if the windows console somehow fails. But at least people can play with it.
-
Rob Swindell authored
The trigger was this line in the recent change to guru.dat: Unrealized potential. :-( That open paren was parsed as the beginning of a new guru expression. A very long guru expression that overflowed the stack variable 'str' here.
-
Deucе authored
-
Deucе authored
Add setwinsize and setwinpos Move blit from rect into gdi_thread Add beep support Add (non-functional) settitle support
-
Deucе authored
When running Windows 11 in a VirtualBox VM, Sleep(1) appears to take much more than 1ms to return. This causes large delays drawing menus using WIN_DYN (as SyncTERM does). If WIN_DYN is set, just use kbhit() with no delay. Leave the delay there for !WIN_DYN though. This should generally speed up SyncTERM menu navigation as there was a 50ms delay for each menu on the screen.
-
Deucе authored
-
Deucе authored
-
Deucе authored
-
Deucе authored
-
- Apr 28, 2023
-
-
Rob Swindell authored
unresolved external symbol _try_gdi_init referenced in function initciolib Function is dependent on WITH_GDI, not _WIN32
-
Deucе authored
There was a lot of weird things going on to avoid locking vstatlock inside of screenlock. Simply this by copying needed vstat stuff while we hold the lock.
-
Deucе authored
Also, get SyncTERM to stop displaying (null) as the mode. Video is very slow in the menus, and the input appears to repeat forever when connected (but *not* in the menus), but it's something at least.
-