Commit Graph

60 Commits

Author SHA1 Message Date
Crystalwarrior
2d1de1fb54
Desynchronize viewport from the IC chat log so that users have a smooth viewing experience as an option (#385)
* Begin trying to understand handle_chatmessage monstrosity
Rearrange some functionality to be more consistent with what the particular handle_chatmessage is *supposed* to be responsible for
Single responsibility principle doesn't apply not just to script files but even functions in this goddamned program apparently.

* Fix some oversights relating to "has presented evidence" logs

* Fix an edge case crash with negative evidence, idk why this didn't happen before.

* Completely refactor handle_chatmessage hell and split it up into single-responsibility-principle functions like a sane and organized coder would.
This will break any PRs that touch handle_chatmessage and will have to conform to the new standard, but it's very good in the long run.
Functions have also been meticulously commentated to make sure that everyone can understand at a glance what everything does.
This refactor is done to pave way for smooth viewport, making characters no longer randomly interrupt each other when speaking.

* Rename confusingly named "handle_chatbox" to "handle_ic_speaking"
Add a new function "handle_callwords"

* Parse blankposts in the packet unpacking phase
log_chatmessage is now an argument-based funciton instead of using m_chatmessage monstrosity
Commentate the heck out of log_chatmessage
Fix showname displaying logic being bonkers for log entries
Fix -1 char_id most likely crashing client, even tho they're supposed to be system messages
Fix [CHARID] being referenced instead of [OTHER_CHARID] in the pair display func
Fix chat message color being used for "has played a song" even though it shouldn't

* Move setting emote_mod from the objection thing to the packet unpacking thing
handle_emote_mod has become argumented

* Make display_pair_character take in only vars it needs

* Add functionality for message stacks (does not handle logging separately yet)
Currently segfaults at line 1823 if stacking behavior actually occurs. Plz help I'm poopie brain at this

* Make sense of pointers and dereference some pointers to prevent wacky errors
Replace _stack with _queue, and turn it into a QQueue

* Implement a minimum text delay queue timer so that each msg must stay on screen for a specified amount of time
Chat_arrow only shows up when the minimum text delay has expired
Check if target is muted in the enqueueing, as well as the validity of the character id, so we don't even bother adding it to the queue
Add a settings option to set text stay time (minimum amount of time to pass before displaying the next message).
TODO: Handle queued interjections in a cooler way

* Adjust default option for stay_time to be 200ms
Make the stay_time setting of 0 disable the queue system entirely

* Make interjections force-clear the message queue
Use interjections to instantly process those messages - objections are usually extremely important and must have everyone's immediate attention.
TODO: Add a settings option for interjection behavior

* Clear message queue when bg display packet is received

* Add an instant objection setting which, when enabled, will interrupt and skip the message queue on objections (effectively bypassing text_delay system)

* Stop using AOPacket for the queue and use QStringList instead (packet contents, we don't care for the header)
Implement objection threshold which works in a queue if instant objections are disabled (not exposed to the settings yet)
Modify packet contents directly instead of waiting for m_chatmessage shenanigans (we should deprecate this soon)
Rename isinstant_objection_enabled options check to be more consistent

* Make it so objections display as soon as the message is over if instant_objection is disabled

* Remove emote_mod = "1" thing that had no real purpose
Implement desynchronized logs settings option, which is false by default, meaning users' messages and display IC logs are going to be in sync.
Split up display and logging behavior, meaning IC logs will be saved with accurate timings on the .logs file, while display can be slower.
Remove dumb "System" showname thing cuz it was dumb

* Bring back minimum packet size safety check

* Make sure shouts are properly logged. I am very sorry for this horrible amount of code duplication though.

* fix compile errors

* fix html parsing error

* Rearrange the order of logging so IC messages go like this:
* shouts go first
* evidence goes second
* chat message goes last

* Fix No Interrupt coming back, go away you foolish beast

* fix borked options dialog

* Crank down "press enter delay" from 600ms to 200ms so it's not as harsh

Co-authored-by: in1tiate <radwoodward@vikings.grayson.edu>
Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2021-01-12 11:24:11 +03:00
likeawindrammer
af1e760225 Translations: Update Portuguese 2020-08-21 04:14:29 -06:00
likeawindrammer
894abc04db Translations: Update Spanish 2020-08-21 04:13:35 -06:00
Emiko
b04b22b33a
Update Russian translation (excl. courtroom UI) (#239)
Edited TL, added TL for tool tips and other untranslated strings.
Courtroom UI elements were left in English to avoid cropping.
2020-08-06 11:20:20 -05:00
windrammer
314fc821fe
Merge pull request #216 from Pyraqq/kfo-ao2
Please include this updated Polish translation.
2020-07-29 13:31:16 -06:00
Pyraq
6c2e999561 Please include this updated Polish translation. 2020-07-29 21:22:16 +02:00
likeawindrammer
620d0c0c93 Update one string in Spanish and Portuguese translations 2020-07-29 11:52:34 -06:00
likeawindrammer
b3bb06a89c Please update Polish translation 2020-07-29 11:35:16 -06:00
likeawindrammer
e6b0b2e318 Small changes to the Spanish translation. 2020-07-15 18:17:04 -06:00
likeawindrammer
4be472f360 Update Portuguese translation.
(Needs review)
2020-07-15 18:16:21 -06:00
likeawindrammer
8639dc2f61 Finished updating the Spanish translation. 2020-07-14 20:46:57 -06:00
likeawindrammer
44659fd2a6 Update some strings for 2.8 in the Spanish translation.
(WIP)
2020-07-14 03:55:18 -06:00
Pyraq
3e27548d39 Yet another update to the Polish translation. 2020-06-09 10:45:31 -05:00
sD
9f526c6ecf update german translation 2020-05-23 20:57:06 +02:00
sD
5636ddf449 give the translators something to do 2020-05-23 20:32:12 +02:00
sD
e7ec42f977 undo branding 2020-05-23 18:41:27 +02:00
sD
7166b50f4b rename logo files 2020-05-23 18:36:28 +02:00
oldmud0
392cefbee4 Bring back translation files
Note that there are some strings that had the tr() qualification
removed, and also a LOT of strings that were never wrapped with
tr() to begin with. It will take some work to bring back i18n support.
2020-05-22 19:42:47 -05:00
oldmud0
fd1855b8d0 Merge KFO source unconditionally into AO2 2020-05-22 19:17:55 -05:00
oldmud0
156a760eba Full revert to tag 2.6.2
Due to a countless number of changes made to the core that were not
fully understood, tested, or documented, it was decided to roll
everything back to the last known stable version (2.6.2).

Changes dropped include:
 - Witness needed
 - Shake
 - Frame SFX
 - Multiple custom objections
 - Multithreaded thumbnail generation
 - Looping
 - Various translation additions
 - "Mirror IC"
 - Color in IC log
 - An invocation of clang-format

Next time, work together and split your big fork into independently
testable feature branches.
2020-05-22 17:02:32 -05:00
sD
c4b0262c72 it's just the katakana for the colors but here you go 2020-04-23 20:39:27 +02:00
sD
0e3fe4c004 add german translations for new features 2020-04-23 20:32:49 +02:00
sD
2c71bd1adc run lupdate so translators can do their work 2020-04-23 20:01:37 +02:00
likeawindrammer
955a32a95a Update Portuguese translation 2020-04-21 02:48:22 -06:00
likeawindrammer
44670e3b02 Update Spanish translation 2020-04-21 02:47:52 -06:00
likeawindrammer
609fedfbf4 Merge branch 'master' into 2.7-rc 2020-04-18 16:45:11 -06:00
likeawindrammer
dfa5436427 Change "IC log colorido" to "Log IC colorido" on the Spanish translation 2020-04-18 16:16:38 -06:00
likeawindrammer
33c8cf7793 Update Portuguese translation with the strings added on the CR branch 2020-04-18 16:14:45 -06:00
Pyraq
76a2a12511 Updated Polish translation. 2020-04-18 18:00:13 +02:00
likeawindrammer
696e4169d3 Update Spanish translation 2020-04-18 03:26:46 -06:00
likeawindrammer
8486e19119 Add Portuguese translation 2020-04-11 18:21:04 -06:00
likeawindrammer
bb3365aa6c Update Spanish translation 2020-03-22 03:19:40 -06:00
stonedDiscord
a3f7482ced wrong punctuation in german localization 2020-03-01 14:39:48 +01:00
sD
f9442709c2 missing german localizations 2020-02-23 13:14:54 +01:00
sD
aaf3f6f043 thanks qt linguini 2020-02-23 13:08:31 +01:00
Crystalwarrior
7d73347618 Version 2.8.0.5
Add Killing Fever Online icon (mac icon not updated yet)
2019-10-20 17:59:38 +03:00
Pyraq
9967a57f46 Added polish translation. 2019-09-14 21:16:29 +02:00
windrammer
c0d0c5cf1e Mark untranslated strings as done
These are better left off untranslated because they would get cut otherwise thanks to AO having the size for the text tags fixed on the theme files
2019-09-02 00:07:50 -06:00
windrammer
84f91ee6ea Use "bloqueado" in the spanish translation instead of "baneado" 2019-08-09 13:56:29 -06:00
windrammer
c948e1533d Improve the Spanish translation 2019-08-08 22:41:44 -06:00
stonedDiscord
f49757f9eb add numbered argument bans to other languages 2019-08-06 21:38:23 +02:00
stonedDiscord
41dd29fbb0 ja_JP to be precise 2019-08-06 21:11:21 +02:00
stonedDiscord
5180bb4f21 its called jp not ja 2019-08-06 21:09:03 +02:00
stonedDiscord
5ec499dafb add spanish and russian to ressource 2019-08-06 20:39:02 +02:00
stonedDiscord
ed657e8678 line numbers + new strings 2019-08-06 20:31:00 +02:00
stonedDiscord
4936de0f12 the line numbers changed + compiled ru, es 2019-08-06 20:09:19 +02:00
stonedDiscord
459277a3dd
Merge pull request #92 from vintprox/i18n
Русский
2019-08-06 20:05:22 +02:00
Rodion Borisov
f25951c1dc
Removed accidental copypastas 2019-08-06 10:01:11 +03:00
windrammer
85278640b9 Add Spanish translation 2019-08-05 19:03:01 -06:00
Rodion Borisov
df3cc3a9ff
Mimicing ao_en.ts
It seems many changes were made since last week, so I needed to syncronize these.
2019-08-06 01:15:18 +03:00