Crystalwarrior
4db1140074
Add a bunch of cool refactors to support variable speed percentage
...
Partially bring back the differing [Time] duration variable, however, the speed of the image will not be adjusted to accomodate it due to the need for using m_reader to read through every frame to determine the final full delay value (which tanks performance).
Comment all the functions for the charmovie in aocharmovie.h
2019-09-15 14:26:57 +03:00
Crystalwarrior
37d192b430
Load frames as they're needed instead of loading everything at once, and cache them for optimization. The cache is cleared when a new animation is played.
...
Resolve an issue where if a preanim transitions into (a)idle it would get stuck on the first frame of that (removed the ticker->stop();)
2019-09-15 02:14:40 +03:00
Crystalwarrior
938f1aeea1
Optimize the heck out of animated images. There is no lag after the image is loaded now.
...
HOWEVER, there's lag when the image is first loaded due to the aspect ratio and sizing (at least with .apng's).
2019-09-14 22:35:02 +03:00
Crystalwarrior
ab30cca586
Use a ticker and QImageReader instead of QMovie
...
Issue: absolutely fucking broken, needs shittons of fixing or ditching. Might not be that efficient, anyway.
2019-09-14 19:50:46 +03:00
Crystalwarrior
51c97ad51c
Allow [Time] to be blank for pre-anims to not be required to use it
...
play_talking and play_idle reduced in useless code
2019-09-14 19:38:56 +03:00
Crystalwarrior
f225df6f19
Fix objections hiding the character
2019-09-14 14:50:16 +03:00
Crystalwarrior
b608f84100
Resolve a segfault with screenshake, need to determine a better method to finish previous animation (if it exists) properly.
2019-09-14 01:20:01 +03:00
Crystalwarrior
4b452e968d
Fix the objection_stop_music option not doing anything
...
Stop the animation for the side player char in pairing so as not to affect anything
Remove the "DOOM" packet as anyone who has the source code can just remove it anyway
2019-09-14 00:48:07 +03:00
Crystalwarrior
4645d9dd08
Add a blip sound QElapsedTimer so blipsounds don't play more frequently than 60ms to preserve all of our ears.
...
Adjust the message display speeds to feel more accurate to AA, with }}} speed displaying text instantly for that section
2019-09-14 00:46:46 +03:00
iamgoofball
1139bf5cd0
Bass.dll functionality-based clientside music looping system by using channel loopable flags (no use of QTimer required)
...
Implement Goofball's AOV loopable music server message where any value that's not -1 when the length of the handle_message packet is longer than 3 will not loop the music (still confused about this but w/e)
2019-09-14 00:28:27 +03:00
Crystalwarrior
f9b3bd5bb5
forgot to actually uncomment the change, oops
2019-09-13 17:57:30 +03:00
Crystalwarrior
f1b3169713
CONTROVERSIAL: Detach ui_vp_message from ui_vp_chatbox to prevent it from being affected by the screenshake. ui_vp_message still sets position relative to the chat box for now (as doing otherwise would break a lot of themes).
2019-09-13 15:13:40 +03:00
Crystalwarrior
040898feff
Set up screenshake button ui
...
Rewrite Goofball's doScreenshake() function to be much more modular and multi-purpose (also rename to do_screenshake() to match other functions)
Add networking needed to make screenshake work. Works with AOV version of tsuserver3 (button screenshake only so far).
Add get_theme_pos helper function, currently unused.
2019-09-13 15:11:30 +03:00
Crystalwarrior
ab072132c3
Merge branch 'aomovies'
...
# Conflicts:
# include/aomovie.h
# src/aomovie.cpp
# src/courtroom.cpp
2019-09-13 12:00:27 +03:00
Crystalwarrior
9aa88b1d6e
Use brace constructors instead of << append operator for path lists
...
Rename gif_path into emote_path for charmovie.cpp
Rename p_gif into p_image for aomovie.cpp
2019-09-13 11:44:50 +03:00
Crystalwarrior
bb8edab579
Make shout, verdict and wtce default duration values into constants
2019-09-13 11:41:59 +03:00
Crystalwarrior
8027bbffad
Use brace constructors instead of << append operator for path lists
2019-09-13 11:37:06 +03:00
Crystalwarrior
5c69d10cd5
Add a tool tip to blip rate settings
...
Adapt the blip rate to allow variable speed value array sizes
2019-09-13 11:31:06 +03:00
Crystalwarrior
455e020b19
Make log go downwards by default
...
Rename kill_music_on_object to objection_stop_music for readability
Update blip rate (faster overall, more accurate to the trilogy) - based on AOV values
Update default blip rate to be "once every two symbols"
2019-09-13 11:13:50 +03:00
Crystalwarrior
ba41b070a2
Cut music on objection if config is enabled for it (does not transmit networked message yet)
2019-09-13 11:03:23 +03:00
iamgoofball
8a5bc8632e
Kill Music on Object option
...
(todo: actual functionality, cherrypicked from Goofball's 2.7 branch)
2019-09-13 00:34:15 +03:00
Crystalwarrior
2a5cd56d57
Fixes Objections hiding the current character, instead of overlaying on top of it. (from goofball's 2.7 branch commit e6cb5bd2cf
)
2019-09-12 22:55:24 +03:00
Crystalwarrior
3b3507df60
Fix compilation error
...
Allow realization flashes to be animated images by making them AOMovies
Eploit the newly added 'duration' system for realization AOMovie
(cherry picked from commit bb98f79083
)
2019-09-12 22:46:06 +03:00
Crystalwarrior
5a31516a36
Remove unecessary hard-coded timers for the witness testimony .png
...
Make the witness testimony use AOMovie instead of AOImage
Remove pointless "testimony_in_progress" variable
CONTROVERSIAL: Make the witness testimony indicator be position-ignorant so as to reduce the amount of hardcoding and allow broader usage of the witness testimony system (For example, Danganronpa investigation indicator, etc.) - This should not affect how the testimony indicator is received currently, as witness testimony usually requires the entire rest of the court to shut up until the cross-examination either way.
(cherry picked from commit 932f430b68
)
2019-09-12 22:45:52 +03:00
Crystalwarrior
e76a83ddfe
Allow AOMovie to have timers that take priority over the animated image frame count
...
Set it up so feeding the timer value when playing the AOMovie would use the timer but only in cases where a non-animated image is used
Update shouts and wtce to pass the 'duration' argument which will be used if the image used is non-animated. Otherwise, prioritize the animated image duration.
2019-09-12 22:45:02 +03:00
Crystalwarrior
280abedf63
Merge branch 'music_list_update'
2019-09-12 22:26:00 +03:00
Crystalwarrior
bb98f79083
Fix compilation error
...
Allow realization flashes to be animated images by making them AOMovies
Eploit the newly added 'duration' system for realization AOMovie
2019-09-12 19:37:44 +03:00
Crystalwarrior
932f430b68
Remove unecessary hard-coded timers for the witness testimony .png
...
Make the witness testimony use AOMovie instead of AOImage
Remove pointless "testimony_in_progress" variable
CONTROVERSIAL: Make the witness testimony indicator be position-ignorant so as to reduce the amount of hardcoding and allow broader usage of the witness testimony system (For example, Danganronpa investigation indicator, etc.) - This should not affect how the testimony indicator is received currently, as witness testimony usually requires the entire rest of the court to shut up until the cross-examination either way.
2019-09-12 19:03:42 +03:00
Crystalwarrior
2a899b1476
Allow AOMovie to have timers that take priority over the animated image frame count
...
Set it up so feeding the timer value when playing the AOMovie would use the timer but only in cases where a non-animated image is used
Update shouts and wtce to pass the 'duration' argument which will be used if the image used is non-animated. Otherwise, prioritize the animated image duration.
2019-09-12 18:28:08 +03:00
Crystalwarrior
3b415f5a70
Expand get_image_suffix to fall back on .png last
...
Reorganize the file_exists checks to be an array iterator instead for much less code duplication and easier ordering of priority
Reorganize desk and set_image loading on AOScene class, resolve issues with last_image setting to prevent animations from being restarted when characters talk on the same pos in succession
Apply get_image_suffix for seancestand and jurystand searches
TODO: At the moment, if you feed a .png shout, it will send the "Done" signal on the first frame (frame 0), not showing you the .png image at all. The shout code should be reorganized to allow static images to be displayed for exactly 720ms - the standard AA objection length. Usage of the timer similarly to the realizationflash.png might be possible.
2019-09-12 15:40:19 +03:00
Crystalwarrior
c2fd3796a9
Add clear_music and clear_areas
...
Comment out the index as it can be potentially confusing alongside "true" area numbers
Add "FM" to Packet Received that would reload the areas and music list
TODO: Test this with arup systems
2019-09-11 00:49:30 +03:00
Crystalwarrior
7e2ec58c7e
Prevent the animated background/foreground from restarting itself if the image is the exact same as the currently playing one
2019-09-10 23:26:03 +03:00
Crystalwarrior
7378205523
Expand .apng and .webp support for get_image_suffix
...
Add get_image_suffix for all .gif's so that all animated pieces can be .webp or .apng instead
Expand on .webp .apng support and clean up the code somewhat
2019-09-10 21:57:06 +03:00
stonedDiscord
5520c24869
bass blips were slightly too quiet
2019-08-22 21:02:09 +02:00
stonedDiscord
5807410b1d
doubleclick to join a server
2019-08-20 18:35:42 +02:00
stonedDiscord
177c56e2b8
move button enabling to ID because not all servers understand FL
2019-08-20 18:28:25 +02:00
stonedDiscord
d94d2fb405
read and store qt audio device
2019-08-19 19:38:47 +02:00
stonedDiscord
35f2333403
list audio devices (doesn't apply it yet)
2019-08-19 19:06:41 +02:00
stonedDiscord
49be444d74
OOP 🏪
2019-08-17 21:09:13 +02:00
stonedDiscord
4700902551
fix qaudio volume
2019-08-17 20:47:41 +02:00
mac builder
2509cc5e0b
get mac serial for hdid
2019-08-13 20:01:42 +02:00
stonedDiscord
047ce04631
fix mac content loading
...
it now looks for the content next to the .app bundle and not inside it
2019-08-11 23:58:43 +02:00
stonedDiscord
7fe64163ea
Merge pull request #88 from AttorneyOnline/i18n
...
I18n
2019-08-08 00:20:51 +02:00
stonedDiscord
0247ca07fe
show current setting
2019-08-07 14:51:21 +02:00
stonedDiscord
338dd2003e
missed a backwards lowercase N with accent mark
2019-08-07 14:22:18 +02:00
stonedDiscord
c6b949335a
+1 on style
2019-08-06 21:27:27 +02:00
stonedDiscord
47eb36789e
numbered arguments for kick and ban torture
2019-08-06 21:25:33 +02:00
stonedDiscord
dd325de31e
use languages own name
2019-08-06 21:22:49 +02:00
stonedDiscord
c974ab01ca
add es and ru to options and translate a lot more strings from the courtroom
2019-08-06 20:29:04 +02:00
stonedDiscord
078ad79b65
language setting
2019-08-05 23:30:00 +02:00
stonedDiscord
cab5310029
missed 2 lobby related ones
2019-08-05 22:20:04 +02:00
stonedDiscord
230b1a7622
numbered arguments and more strings
2019-08-05 22:07:39 +02:00
stonedDiscord
223f69d67a
eat shit tsuserver
2019-08-05 21:57:17 +02:00
stonedDiscord
df72671105
Revert "make the password field in charselect useful"
...
This reverts commit 15a48a051c
.
2019-08-05 21:54:03 +02:00
stonedDiscord
15a48a051c
make the password field in charselect useful
...
let the server decide what to do with this
2019-08-05 18:53:34 +02:00
stonedDiscord
77a536e2a9
Merge branch 'master' into i18n
2019-07-30 20:43:12 +02:00
stonedDiscord
afbbc5476b
move #ifdef BASSAUDIO so the audio tab isn't deleted as a whole
2019-07-30 20:42:33 +02:00
stonedDiscord
460805d072
make discord integration the same for all locales
2019-07-30 19:42:38 +02:00
stonedDiscord
adf1a97304
adjust translation path in main.cpp
2019-07-29 21:54:35 +02:00
stonedDiscord
b7012cec10
fixed 2 strings
2019-07-29 21:46:26 +02:00
stonedDiscord
259422c4af
at least the german translation works
2019-07-28 20:39:36 +02:00
stonedDiscord
582417a902
german translation
2019-07-28 20:19:09 +02:00
stonedDiscord
69e4da4c43
it didn't like doing that with a pointer
2019-07-28 19:17:47 +02:00
oldmud0
762702aff8
Make all strings translatable
2019-07-28 19:00:34 +02:00
stonedDiscord
319cb0adee
translate new features. is i18n dead
2019-07-28 18:43:46 +02:00
oldmud0
56ddd024eb
Fall back to Sans if no font setting found
...
Sigh...
2019-07-27 21:19:45 -05:00
stonedDiscord
98389e7e03
1% more readable
2019-07-26 01:37:11 +02:00
stonedDiscord
71d91e5012
fixed copypasta mistake on objection sfx
2019-07-26 01:33:29 +02:00
windrammer
2dbd0c1482
Remove C style char buffer in favor of QByteArray
2019-07-22 21:39:37 -05:00
oldmud0
e0c49ceb07
Merge branch 'bass-optional' into 'master'
...
Bass+discord optional
See merge request AttorneyOnline/AO2-Client!59
2019-07-20 16:57:27 +00:00
cents02
82db3e2263
Revert "More bug fixing."
...
This reverts commit ca84ba516fc892deaeafc18b23ad5a06822b29f5
2019-07-20 16:33:33 +00:00
stonedDiscord
4a2a167f7d
Merge branch 'master' into 'bass-optional'
...
# Conflicts:
# Attorney_Online.pro
# include/aoapplication.h
2019-07-20 16:20:05 +00:00
David Skoland
5eccabcad1
Less insane debugging; minor refactoring ( !75 )
2019-07-12 23:00:25 +00:00
Windrammer
b15c6f15f0
Fix bug #82 causing a client crash if /save_case was used without providing a courtroom state
2019-07-11 09:05:26 -06:00
cents02
432069844a
Revert "More bug fixing."
...
This reverts commit ca84ba516fc892deaeafc18b23ad5a06822b29f5
2019-07-07 22:32:57 +00:00
oldmud0
1552f3f19c
Merge branch 'master' into 'master'
...
Fix escaped HTML characters screwing up the grapheme cluster sizes.
See merge request AttorneyOnline/AO2-Client!61
2019-07-07 14:45:16 +00:00
cents02
d07dd1d5fe
Permanent and not temporary solution for evidence. Supports up to infite subfolders.
2019-07-03 08:48:04 +00:00
cents02
ca3f113377
Fixed evidence not recognizing subfolder issue. Can support 1 folder tho.
2019-07-01 18:50:30 +00:00
cents02
099fea176c
Indentation
2019-06-30 22:09:12 +00:00
cents02
f826ba390b
New feature! /save_case . Takes two parameters, name and cr status.
...
E.g: /save_case case1 lfp . It takes court evidence but leaves the doc and cmdoc options blank to be entered manually(if anybody actually puts anything).
2019-06-30 21:47:48 +00:00
cents02
ae85525780
Resolved requests/issues.
2019-06-03 09:00:24 +00:00
cents02
09d8e9e7a4
Update courtroom.cpp
2019-05-31 21:52:22 +00:00
cents02
1f9a1bdd5d
Fixed issues #47 on both client and server
2019-05-31 21:47:47 +00:00
Cerapter
c8a4f69d14
Fix escaped HTML characters fucking up the grapheme cluster sizes.
2019-05-10 20:49:59 +02:00
Cerapter
2e4f0117b0
Text is now advanced based on graphemes, rather than bytes.
2019-05-09 23:49:20 +02:00
iamgoofball
2d9fff2e96
Reverts screenshake on object, was controversial
2019-03-25 11:14:53 -07:00
iamgoofball
e6cb5bd2cf
Fixes Objections hiding the current character, instead of overlaying on top of it. Adds screenshake to objects.
2019-03-23 14:33:31 -07:00
stonedDiscord
785168f8d3
add a default for this
2019-03-13 22:05:36 +01:00
stonedDiscord
44d433d941
sfx glitch
2019-03-13 22:05:24 +01:00
stonedDiscord
bdde8822f4
begone, commented code
2019-03-13 21:36:12 +01:00
stonedDiscord
ece08930e3
setVolume doesn't take floats
2019-03-13 13:06:11 +01:00
stonedDiscord
1514ffea6a
qt music
2019-03-12 20:47:47 +01:00
stonedDiscord
71da60b5d6
sfx tested and works
2019-03-12 20:14:54 +01:00
stonedDiscord
0b6f376f8f
qt can play the blips just fine
2019-03-12 19:53:06 +01:00
stonedDiscord
6e93d6e1be
discord optional v2
2019-03-12 19:30:03 +01:00
stonedDiscord
92c54ba2eb
Revert "make discord optional"
...
This reverts commit 744c100159
.
2019-03-12 19:27:13 +01:00
stonedDiscord
744c100159
make discord optional
2019-03-12 00:27:11 +01:00
stonedDiscord
49938eea0f
makes all the bass stuff optional
2019-03-12 00:26:40 +01:00
iamgoofball
4eb0d18c66
whoops
2019-02-01 17:16:43 -08:00
iamgoofball
fc984fcfe2
bugfixes and shit
2019-02-01 16:28:14 -08:00
iamgoofball
0649e7b28e
Case Announcer: Witness Support also some other shit
2019-01-23 07:35:29 -08:00
iamgoofball
f9406d0a7f
multithread the music **harder**
2019-01-23 01:56:56 -08:00
iamgoofball
edbd67c2dc
multi-threaded music
2019-01-23 01:40:57 -08:00
iamgoofball
f750328404
Multithreaded filtering of the character list
2019-01-23 01:07:20 -08:00
iamgoofball
906c9016bb
Multithreaded character generation TODO: fix loading screen
2019-01-23 00:58:30 -08:00
iamgoofball
13bc82094f
>>>>multi-threading the frame sfx/screenshake/flashes
2019-01-23 00:14:47 -08:00
iamgoofball
a7a614482e
final commit
2019-01-21 15:45:51 -08:00
iamgoofball
debd386a71
Bugfixes and blip speeds
2019-01-20 21:06:21 -08:00
iamgoofball
1043699214
Suffix-independent Music, Mod Music List, looping bugfixes, easter eggs, etc.
2019-01-19 21:01:19 -08:00
iamgoofball
c44832a707
guard -> disable modcalls, bugfixes for guard button, etc.
2019-01-19 14:39:42 -08:00
iamgoofball
248444307f
Fix bug with simultaneous shakes
2019-01-19 00:13:25 -06:00
iamgoofball
3c0cedbe92
Add screenshake, frame-specific effects, looping SFX, and clientside music looping
...
Committed by patch since Goof is currently banned on GitHub for no good reason.
2019-01-18 23:08:46 -06:00
perplexedMurfy
d62ff4d3af
Fix #57
2019-01-08 18:51:20 -06:00
David Skoland
3965a847c2
fixed opus plugin load for macOS
2019-01-06 12:14:00 +01:00
David Skoland
fb076ca7e7
Merge remote-tracking branch 'upstream/master'
2019-01-05 23:00:46 +01:00
oldmud0
6716a4532e
Fix APNG preanimations not working ( #52 )
2019-01-03 21:45:58 -06:00
perplexedMurfy
115fc0ff15
Show ban reason with BD packet
...
This fully fixes issue 39 with tsuserver3
(https://github.com/AttorneyOnline/tsuserver3/issues/39 )
2019-01-03 16:51:33 -06:00
David Skoland
0788b162f1
fixed a crash condition where blip rate is less than 1
2019-01-02 22:28:16 +01:00
David Skoland
110751ac39
added dynamic loading of qapng and fixed mac sound
2018-12-26 22:19:49 +01:00
David Skoland
2a43d56772
muh macos support
2018-12-26 20:04:11 +01:00
David Skoland
1f754776b4
finished ubuntu build script and made default plugin mode dynamic linking
2018-12-26 17:31:43 +01:00
David Skoland
00cfd2750d
moved headers into include and cpp files into src + logo into resource
2018-12-26 16:43:08 +01:00