<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ao2-client/src/datatypes.h, branch master</title>
<subtitle>AO2 client fork</subtitle>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/'/>
<entry>
<title>Support passworded characters in character list</title>
<updated>2026-03-29T22:22:25+00:00</updated>
<author>
<name>Osmium Sorcerer</name>
<email>os@sof.beauty</email>
</author>
<published>2026-03-22T17:30:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=3b8bc386d316b6e177c814920f21f5ab5d798ee6'/>
<id>3b8bc386d316b6e177c814920f21f5ab5d798ee6</id>
<content type='text'>
This obscure feature has been present for years, from sending passwords
to the server to showing `char_passworded` image over character icons.

Servers could already exploit clients sending `PW` with a password every
time they select a character to implement passworded characters. The
clients had no way of knowing which ones were passworded, however, and
couldn't filter them despite "Passworded" checkbox being here all along.

The approach used by this commit is a hack. During loading, server sends
SC which is a list of characters, each one having name, description, and
evidence. In practice, only names were used. Descriptions were stored in
memory but unused, and evidence was ignored altogether. By adding a
magic value "P" in this "character evidence" field, server can mark
passworded characters without breaking Vanilla compatibility.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This obscure feature has been present for years, from sending passwords
to the server to showing `char_passworded` image over character icons.

Servers could already exploit clients sending `PW` with a password every
time they select a character to implement passworded characters. The
clients had no way of knowing which ones were passworded, however, and
couldn't filter them despite "Passworded" checkbox being here all along.

The approach used by this commit is a hack. During loading, server sends
SC which is a list of characters, each one having name, description, and
evidence. In practice, only names were used. Descriptions were stored in
memory but unused, and evidence was ignored altogether. By adding a
magic value "P" in this "character evidence" field, server can mark
passworded characters without breaking Vanilla compatibility.
</pre>
</div>
</content>
</entry>
<entry>
<title>Resize mode patch (#1019)</title>
<updated>2024-07-13T13:31:51+00:00</updated>
<author>
<name>Leifa</name>
<email>26681464+TrickyLeifa@users.noreply.github.com</email>
</author>
<published>2024-07-13T13:31:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=23077d0291426037b6b120cf765664b4487c9330'/>
<id>23077d0291426037b6b120cf765664b4487c9330</id>
<content type='text'>
* Fix transformation mode for layers

Resolve #997

* always use smooth transform resampling for stretched images

* Used fixed frame size

* Implemented resize mode changes

Resolve #999

* Added alias to pixel resize mode

* Added user option

---------

Co-authored-by: in1tiate &lt;32779090+in1tiate@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix transformation mode for layers

Resolve #997

* always use smooth transform resampling for stretched images

* Used fixed frame size

* Implemented resize mode changes

Resolve #999

* Added alias to pixel resize mode

* Added user option

---------

Co-authored-by: in1tiate &lt;32779090+in1tiate@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Add playerlist widget element (#996)</title>
<updated>2024-07-12T09:48:01+00:00</updated>
<author>
<name>Salanto</name>
<email>62221668+Salanto@users.noreply.github.com</email>
</author>
<published>2024-07-12T09:48:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=fb64ca386c51cc3942e1f38cfd76132b1b50e9db'/>
<id>fb64ca386c51cc3942e1f38cfd76132b1b50e9db</id>
<content type='text'>
* Commit

* Boyfailure code commit

* Cooking code spaghetti

* Accidental overwrite recursive function call hell

* Implemented player list

* Add partial moderator widget

Sleepy time! Hee-Hoo!

* Moderator Dialog - Step 1 - WIP

* Appease the clang gods

* Clang appeasement policy

* *sacrifices goat to clang*

* Added player report, reworked implementation, ...

* Added player-specific report
* Reworked implementation
  * No longer uses JSON.
* Removed preset loader.

---------

Co-authored-by: TrickyLeifa &lt;date.epoch@gmail.com&gt;
Co-authored-by: Leifa &lt;26681464+TrickyLeifa@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Commit

* Boyfailure code commit

* Cooking code spaghetti

* Accidental overwrite recursive function call hell

* Implemented player list

* Add partial moderator widget

Sleepy time! Hee-Hoo!

* Moderator Dialog - Step 1 - WIP

* Appease the clang gods

* Clang appeasement policy

* *sacrifices goat to clang*

* Added player report, reworked implementation, ...

* Added player-specific report
* Reworked implementation
  * No longer uses JSON.
* Removed preset loader.

---------

Co-authored-by: TrickyLeifa &lt;date.epoch@gmail.com&gt;
Co-authored-by: Leifa &lt;26681464+TrickyLeifa@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Remove TCP entry point (#1007)</title>
<updated>2024-07-09T11:07:30+00:00</updated>
<author>
<name>Leifa</name>
<email>26681464+TrickyLeifa@users.noreply.github.com</email>
</author>
<published>2024-07-09T11:07:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=efd2571459924f40718130f7edd28a72a76b12d7'/>
<id>efd2571459924f40718130f7edd28a72a76b12d7</id>
<content type='text'>
* Remove TCP entry point

Resolve #987

* Remove TCP entry point
  * Servers that do not support WebSocket will be marked as `Legacy`
  * Removal of TCP connection from the master will follow later.

* Tweaked error message</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove TCP entry point

Resolve #987

* Remove TCP entry point
  * Servers that do not support WebSocket will be marked as `Legacy`
  * Removal of TCP connection from the master will follow later.

* Tweaked error message</pre>
</div>
</content>
</entry>
<entry>
<title>Fix background scaling and centering (#982)</title>
<updated>2024-06-22T03:00:28+00:00</updated>
<author>
<name>Leifa</name>
<email>26681464+TrickyLeifa@users.noreply.github.com</email>
</author>
<published>2024-06-22T03:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=4043d97257a386e251ffd83e2db6de562661fa9b'/>
<id>4043d97257a386e251ffd83e2db6de562661fa9b</id>
<content type='text'>
Fix #978</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix #978</pre>
</div>
</content>
</entry>
<entry>
<title>Initial slide rebase commit</title>
<updated>2024-05-20T13:47:27+00:00</updated>
<author>
<name>in1tiate</name>
<email>32779090+in1tiate@users.noreply.github.com</email>
</author>
<published>2024-05-20T13:47:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=adf32f47275a2bac02034b848215d4413e0f9b37'/>
<id>adf32f47275a2bac02034b848215d4413e0f9b37</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reimplemented unit tests, ...</title>
<updated>2024-05-17T22:48:55+00:00</updated>
<author>
<name>TrickyLeifa</name>
<email>date.epoch@gmail.com</email>
</author>
<published>2024-05-17T21:54:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=657145035cd66c18ae777e1272fd5221dddca0ef'/>
<id>657145035cd66c18ae777e1272fd5221dddca0ef</id>
<content type='text'>
* Reimplemented unit tests and simplified addition of new tests
* Minimal support of Qt is now 5.15
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Reimplemented unit tests and simplified addition of new tests
* Minimal support of Qt is now 5.15
</pre>
</div>
</content>
</entry>
<entry>
<title>Lightly reworked `NetworkManager`, ...</title>
<updated>2024-05-17T17:04:57+00:00</updated>
<author>
<name>TrickyLeifa</name>
<email>date.epoch@gmail.com</email>
</author>
<published>2024-05-17T14:39:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=1ef96383c8f7ed136a0e028aef0835b4838b5e95'/>
<id>1ef96383c8f7ed136a0e028aef0835b4838b5e95</id>
<content type='text'>
* Lightly reworked `NetworkManager`
* Added new modules to handle various connection types.
  * TCP
  * WebSocket
* Added general string splitter alias based on Qt version.
* Replaced `lobby_constructed` and `courtroom_constructed`
* Refactored and partially reimplemented the following classes:
  * `AOBlipPlayer`
  * `AOEmotePreview`
  * `AOMusicPlayer`
  * `AOSfxPlayer`
  * `AOTextArea`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Lightly reworked `NetworkManager`
* Added new modules to handle various connection types.
  * TCP
  * WebSocket
* Added general string splitter alias based on Qt version.
* Replaced `lobby_constructed` and `courtroom_constructed`
* Refactored and partially reimplemented the following classes:
  * `AOBlipPlayer`
  * `AOEmotePreview`
  * `AOMusicPlayer`
  * `AOSfxPlayer`
  * `AOTextArea`
</pre>
</div>
</content>
</entry>
<entry>
<title>Reimplemented favorite server widget, ...</title>
<updated>2024-05-16T01:09:21+00:00</updated>
<author>
<name>TrickyLeifa</name>
<email>date.epoch@gmail.com</email>
</author>
<published>2024-05-16T01:09:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=39e4354b1dae5d8487ea5b84be9f304b1950a61a'/>
<id>39e4354b1dae5d8487ea5b84be9f304b1950a61a</id>
<content type='text'>
* Reworked favorite server widget
* Renamed `server_type` to `ServerInfo`
* Renamed `connection_type` to `ServerConnectionType`
* Refactored `AOCharButton`
* Reimplemented `AOButton`
* Partially reimplemented `AOEmoteButton`
* Refactored `AOEvidenceButton`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Reworked favorite server widget
* Renamed `server_type` to `ServerInfo`
* Renamed `connection_type` to `ServerConnectionType`
* Refactored `AOCharButton`
* Reimplemented `AOButton`
* Partially reimplemented `AOEmoteButton`
* Refactored `AOEvidenceButton`
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' into kaleidoscope</title>
<updated>2024-05-14T22:23:46+00:00</updated>
<author>
<name>TrickyLeifa</name>
<email>date.epoch@gmail.com</email>
</author>
<published>2024-05-14T22:23:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/ao2-client/commit/?id=a0cee58c048772b2dcfe3992f60728d5a6f7d786'/>
<id>a0cee58c048772b2dcfe3992f60728d5a6f7d786</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
