adelikat
|
49ef408f06
|
GBA virtual pad fix up
|
2014-06-28 16:13:58 +00:00 |
goyuken
|
92bf602a70
|
genesis virtualpad fixup
|
2014-06-28 15:59:26 +00:00 |
adelikat
|
676d1ecd0f
|
Virtualpad - add a PlayerCount property to ControllerDefinition with a rather crude but effective implementation for now, and use it when populating PCE virtualpads, so it will dynamically generate the correct values should PCE's number of controllers ever become configurable
|
2014-06-28 15:56:20 +00:00 |
adelikat
|
8ee00a2996
|
Virtualpads - atari 7800
|
2014-06-28 14:19:46 +00:00 |
adelikat
|
de8bcf6b92
|
Virtualpads - atari 2600
|
2014-06-28 14:14:50 +00:00 |
adelikat
|
9378dc5921
|
N64 - oops
|
2014-06-28 12:58:13 +00:00 |
adelikat
|
88d4a2a5a8
|
Genesis mouse - mnemonics, default buttons and virtual pad
|
2014-06-28 12:45:12 +00:00 |
adelikat
|
1361e2ff23
|
Genesis - default controls for lightgun, mnemonics lightgun buttons, support lightgun and console buttons on the virtual pad
|
2014-06-28 12:31:28 +00:00 |
goyuken
|
a1b03a4a20
|
genesis: virtual pad support multitap
|
2014-06-27 17:59:45 +00:00 |
adelikat
|
75d4ff5117
|
Virtualpads - refactor schema objects to return a PadSchema collection instead of Virtualpad collection, and create the pads in the calling code
|
2014-06-27 17:02:46 +00:00 |
adelikat
|
92e0865b3f
|
oops
|
2014-06-27 16:31:42 +00:00 |
adelikat
|
e469cb73f2
|
Virtualpads - fds console buttons (including dynamically adding number of disk insert buttons)
|
2014-06-27 16:30:54 +00:00 |
adelikat
|
8c287ecc79
|
Virtualpads - nes console buttons
|
2014-06-27 14:09:28 +00:00 |
adelikat
|
c0da15b002
|
Virtual pads for SMS and GG
|
2014-06-27 02:45:27 +00:00 |
adelikat
|
f3cac5deff
|
Virtualpads - fix readonly notion, no longer crashy when no pads are set up
|
2014-06-27 01:45:30 +00:00 |
adelikat
|
20ab331404
|
Virtual Pad - fix logic for genesis, supports 3 button, 6 button or none options
|
2014-06-27 01:37:09 +00:00 |
adelikat
|
a33f926675
|
Do genesis controller logic for none, one player, and "normal", don't know what the other options mean
|
2014-06-26 21:09:14 +00:00 |
adelikat
|
0fa75a5d77
|
Virtualpads - fix 3 vs 6 button controller logic in genesis
|
2014-06-26 20:59:00 +00:00 |
adelikat
|
12cd706a69
|
Virtualpads - implement sticky toggle
|
2014-06-26 20:37:44 +00:00 |
adelikat
|
2a78b5c743
|
Virtualpads - fix up some Readonly logic
|
2014-06-26 20:36:33 +00:00 |
adelikat
|
0e8bf4883f
|
Virtualpads - some UI stuff
|
2014-06-26 20:24:30 +00:00 |
adelikat
|
fcc3ce214b
|
Virtualpads - wire up read-only toggle behavior and remove hacky button
|
2014-06-26 20:07:07 +00:00 |
adelikat
|
c58141034b
|
VirtualPads - tweak readonly colors for Analog Stick and for now, rip out the "previous frame" concept in the analog stick since it doesn't work correct and not thought out
|
2014-06-26 13:29:43 +00:00 |
adelikat
|
39e7039341
|
VirtualPads - progres on ReadOnly for AnalogStick
|
2014-06-26 03:30:56 +00:00 |
adelikat
|
c21ab3e22d
|
VirtualPads - implement readonly for AnalogButton control
|
2014-06-25 21:31:17 +00:00 |
adelikat
|
44686b287d
|
VirtualPad - implement ReadOnly on TargetScreen control
|
2014-06-25 21:26:15 +00:00 |
adelikat
|
82d6490532
|
VirtualPads - implement Set on TargetScreen control
|
2014-06-25 21:11:25 +00:00 |
adelikat
|
4d9f46c6a1
|
Implement read-only for VirtualPadButton
|
2014-06-25 20:40:20 +00:00 |
adelikat
|
9c601da269
|
Virtualpads - add a Readonly property to IVirtualPadControl, and some cleanup, readonly not wired up on any pad yet though
|
2014-06-25 17:26:07 +00:00 |
adelikat
|
3c1ececb14
|
Virtualpads - some reorg
|
2014-06-25 17:18:14 +00:00 |
adelikat
|
5f71bf11c8
|
N64 - dynamically generate buttons in controller definition based on connected controllers, Virtualpads - show pads based on connected controllers
|
2014-06-25 02:18:11 +00:00 |
adelikat
|
d6e56bf9fb
|
Virtualpad - Start support for family basic keyboard
|
2014-06-25 00:56:20 +00:00 |
adelikat
|
fbb14175f9
|
Support Oeka Kids Tablet in virtualpads and bk2 mnemonics, oh yeah
|
2014-06-25 00:44:22 +00:00 |
adelikat
|
9045f8402c
|
Virtual Pads - hook up Nes Power Pad and also hook it up to bk2 mnemonics
|
2014-06-25 00:11:59 +00:00 |
adelikat
|
a1926e1a58
|
Make virtualpads prettier including a Display name that can (should) be set in the schema, and an optional Max Size (defaults to default size if left out), added lots of nes stuff, and basic 2 player famicom (including microphone on player 2)
|
2014-06-24 23:32:30 +00:00 |
adelikat
|
095f16baef
|
Virtual Pad - analog stick - some cleanup and fixes, gray bar is still busted though
|
2014-06-24 17:48:25 +00:00 |
adelikat
|
7e8f0f74bc
|
Virtual Pad - some analog stick tweaks
|
2014-06-24 17:30:14 +00:00 |
adelikat
|
7fa551708f
|
Virtual Pad - get analog button working on movie replay
|
2014-06-24 17:12:20 +00:00 |
adelikat
|
22dc432199
|
Virtual pad button - slight ui tweak
|
2014-06-24 16:49:23 +00:00 |
adelikat
|
118d69a669
|
Virtual pad progress
|
2014-06-24 16:36:19 +00:00 |
adelikat
|
3208440225
|
Virtual Pads - basic analog button control and wire up to NES arkanoid paddle
|
2014-06-24 12:58:08 +00:00 |
adelikat
|
73ed79e270
|
Virtualpads - remove system id switch and use reflection to find schemas with a matching SchemaAttribute of the current SystemId
|
2014-06-24 00:26:35 +00:00 |
adelikat
|
bb93dd0d42
|
Virtualpads - make a custom attribute for schema objects instead of using the Description attribute
|
2014-06-23 23:46:44 +00:00 |
xmikecampx7
|
4c5570eea3
|
|
2014-06-23 23:25:08 +00:00 |
xmikecampx7
|
886681bb9d
|
Schema GamePads Added
|
2014-06-23 14:13:07 +00:00 |
adelikat
|
897e7b9bd1
|
Virtualpad - fix up PceSchema
|
2014-06-23 13:44:06 +00:00 |
xmikecampx7
|
20200adf3a
|
Adding Buttons to Schemas
|
2014-06-23 01:43:33 +00:00 |
zeromus
|
501a23af24
|
entire virtualpad window should not be a mouse input receiver
|
2014-06-23 00:34:43 +00:00 |
adelikat
|
bf33ba0575
|
Virtual Pads - support quicknes (2 controllers only at all times) and Neshawk for 2 controllers that are none, standard, or zapper (no multitap, no famicom stuff)
|
2014-06-23 00:05:22 +00:00 |
adelikat
|
4b23150d14
|
Some fixing up of how pads are added, don't set 0,0 on the TartScreen widget when clearing
|
2014-06-22 23:32:37 +00:00 |
zeromus
|
140aec6a4d
|
add system for controlling which forms can generate mouse input
|
2014-06-22 23:20:36 +00:00 |
adelikat
|
b364b5c48f
|
implement TargetScreen virtual pad and wire up to Nes zapper
|
2014-06-22 21:50:27 +00:00 |
adelikat
|
a248e2d99b
|
Virtual Pads - analog stick should be done now (including max X,Y constraints)
|
2014-06-22 17:41:13 +00:00 |
adelikat
|
50dafe1269
|
Virtualpads - more stuff
|
2014-06-22 16:30:24 +00:00 |
adelikat
|
2009e07e35
|
Virtualpads - Some Progress
|
2014-06-22 15:43:45 +00:00 |
adelikat
|
41e4a3b13a
|
Virtualpads - more progress
|
2014-06-22 15:05:37 +00:00 |
adelikat
|
c15f9ce84d
|
Virtualpads - Use VirtualPadButton instead of Checkbox (to give all buttons right-click autofire capability)
|
2014-06-22 14:50:23 +00:00 |
adelikat
|
c3bcc0cbc8
|
Virtualpads - more reorg
|
2014-06-22 14:43:59 +00:00 |
adelikat
|
e9968657ac
|
Virtualpads - some reorg
|
2014-06-22 14:37:40 +00:00 |
adelikat
|
27532b7b2b
|
Start schema objects
|
2014-06-22 14:29:46 +00:00 |
adelikat
|
60d1784895
|
Delete old virtualpad files
|
2014-06-22 14:13:10 +00:00 |
adelikat
|
885f859647
|
add new files
|
2014-06-22 13:58:12 +00:00 |
adelikat
|
269b3c7ee1
|
start a new Virtual Pad Tool, currently only does NES with one controller as a proof of concept, this is probably a messed up commit will fix next
|
2014-06-22 13:57:23 +00:00 |
adelikat
|
10c48bb3f8
|
Bk2 - take the log key into account when replaying a movie input log
|
2014-06-21 14:33:33 +00:00 |
adelikat
|
a19d02a36e
|
Ram Search - rip out column reorder event since it wasn't doing anything useful
|
2014-06-20 18:39:31 +00:00 |
adelikat
|
0f5e2b0cdb
|
Ram Watch - fix column reordering, ugh
|
2014-06-20 18:38:08 +00:00 |
adelikat
|
70fbbd5817
|
Similar fixups to Ram Search and Cheats
|
2014-06-20 18:09:53 +00:00 |
adelikat
|
c5518440c1
|
Ram Watch - fix Restore defaults when columns are hidden, and rip out the reordered event, it shouldn't be needed, if it is needed it isn't done correctly anyway
|
2014-06-20 18:05:32 +00:00 |
adelikat
|
58e5599f2f
|
Rollback 6918 since it doesn't work either, and do a fix to Cheats column saving/loading. Neither dialog currently work however
|
2014-06-20 17:41:40 +00:00 |
adelikat
|
ab7977b267
|
Ram Watch - Fix saving and loading of column order
|
2014-06-20 17:18:57 +00:00 |
adelikat
|
7f070737cc
|
clean up some debugging code, and remove a warning
|
2014-06-19 21:37:28 +00:00 |
adelikat
|
3eff547413
|
Remove some more usages of GetInput()
|
2014-06-18 02:39:29 +00:00 |
adelikat
|
6b73891a91
|
More bk2 progress
|
2014-06-15 14:44:26 +00:00 |
adelikat
|
c807e27496
|
Some movie code reorg and cleanup
|
2014-06-15 13:03:24 +00:00 |
adelikat
|
70baceb6c8
|
Fix Bk2 playback, also rip out a bunch of junk from the Old Movie Log class from the first attempt at TAStudio and some half-baked notion of an input log class
|
2014-06-14 21:37:51 +00:00 |
adelikat
|
e0a9fcd650
|
More movie 2.0 stuff
|
2014-06-11 02:56:57 +00:00 |
zeromus
|
1edd4edb49
|
add a crappy little PCE sound debugger and individual channel muting
|
2014-06-09 08:10:20 +00:00 |
adelikat
|
e4a12c58bc
|
for Developer builds - Lua functions list - a ToTASVideosWikiMarkup button that copies to clipboard
|
2014-06-05 00:23:05 +00:00 |
adelikat
|
8f2746ab86
|
Change "Interim Build" to "Developer Build" and rename flag variable name, as this is more accurate to the intent of this type of build (unofficial interim builds still shouldn't have developer features or unfinished developer work)
|
2014-06-04 17:02:54 +00:00 |
zeromus
|
0fe74f95e7
|
fix LuaConsole PWD-related bugs
|
2014-06-03 02:39:15 +00:00 |
adelikat
|
0649d1c77e
|
Lua - add some more documentation, add a method that generates tasvideos wiki markup of the documentation and outputs to a file (method not wired to anything, there to save me tons of time when releasing)
|
2014-06-03 02:19:13 +00:00 |
adelikat
|
d037c6ed60
|
Oops
|
2014-06-03 01:21:49 +00:00 |
adelikat
|
ba4e7d620b
|
Refactor the LuaDocumentation class to remove a bunch of unnecessary stuff
|
2014-06-03 00:34:41 +00:00 |
adelikat
|
5d79072a38
|
Lua - Finish strongly typing the Color params in the gui library, Lua Functions List - cleanup display of Color params and some other things
|
2014-06-02 01:04:13 +00:00 |
adelikat
|
58b5163715
|
Lua Interface - support Strongly typing System.Drawing.Color, and strongly type the color parameters of gui.drawEllipse()
|
2014-06-02 00:43:25 +00:00 |
adelikat
|
83ada011e8
|
Lua - Refactor how lua libraries are registered by searching assemblies and finding implementations and building a list of these
|
2014-06-01 22:02:59 +00:00 |
adelikat
|
51822a9ce1
|
Wonderswan - virtualPad - fix movie playback
|
2014-06-01 21:05:57 +00:00 |
adelikat
|
f146875452
|
VirtualPad support for Wonderswan
|
2014-06-01 20:44:13 +00:00 |
adelikat
|
f02448b769
|
N64 Virtualpad - make clear button also clear the analog control
|
2014-06-01 19:51:35 +00:00 |
adelikat
|
3f675b2053
|
Lua functions list - don't throw exceptiosn when filtering, don't know why it happens but this will squash it, and it isn't important enough to know why.
|
2014-06-01 15:44:40 +00:00 |
adelikat
|
23f356d47b
|
Atari 2600 debugger - make registers settable
|
2014-05-31 21:57:28 +00:00 |
adelikat
|
e43dcbb5b2
|
Atari 2600 debugger - make flag checkbox buttons read-only
|
2014-05-31 18:41:56 +00:00 |
adelikat
|
2053349e31
|
Atari 2600 debugger - implement a Remove breakpoint button
|
2014-05-30 01:10:10 +00:00 |
adelikat
|
67b82d073a
|
disable Atari 2600 debugger menu item when a movie is active
|
2014-05-27 20:07:03 +00:00 |
adelikat
|
947470e1d9
|
Atari 2600 - break up frame advance with StartNewFrame() and EndFrame() and wire them up to Cycle and Scanline advance, all methods are now smart enough to roll over to the next frame at the right time
|
2014-05-27 02:45:05 +00:00 |
adelikat
|
ebbee62730
|
Atari 2600 debugger - slight refactoring of some things, fix step into, add total cycles, last address and distinct addresses
|
2014-05-27 01:33:22 +00:00 |
adelikat
|
e68e691e3c
|
Atari 2600 Debugger - implement Step Into button
|
2014-05-26 19:38:02 +00:00 |
adelikat
|
363b3bdd3b
|
Atari 2600 Debuger - Add breakpoints
|
2014-05-26 18:23:58 +00:00 |
adelikat
|
ba5551d29b
|
smartly hande the text property on the Gb/GG game genie dialog (only show one of the cores not a slash)
|
2014-05-26 12:34:52 +00:00 |
adelikat
|
0782c9820d
|
Lua - implement event.onexit() - fires when the calling script stops execution, supports multiple callbacks per script
|
2014-05-26 03:08:16 +00:00 |
adelikat
|
4086eee72d
|
Load Rom - actually pass in the deterministic emulation flag, and change the logic so that the client derives determinstic emulation (currently just if a movie is active), but can be passed in an override if calling code wanted to.
|
2014-05-24 22:06:08 +00:00 |
adelikat
|
5ebc0f5428
|
Lua Console F1 hotkey assigned to Lua Functions list
|
2014-05-24 16:54:00 +00:00 |
adelikat
|
8dc56b312e
|
Lua Function List dialog - add a filter box
|
2014-05-24 13:19:24 +00:00 |
adelikat
|
ce6cd2ec5f
|
rip out the lua writer dialog and deeming it a failed experiment. Lua Console - re-implement the new script dialog so that it calls a save file dialog, and if the user picks a file it creates a new lua script with a minimal while loop, and then invokes a new process with this newly created file for quick editing
|
2014-05-24 01:59:59 +00:00 |
adelikat
|
a89efe9c27
|
Lua - make form windows have a start position of "Center Parent"
|
2014-05-22 01:03:18 +00:00 |
adelikat
|
b406146ae4
|
Fix "watch file" to "Lua script file" in save dialog on Lua Writer. To do: delete lua writer
|
2014-05-21 13:18:54 +00:00 |
adelikat
|
e88b7cc93e
|
one more tweak to make lua library constructors unified
|
2014-05-21 01:15:52 +00:00 |
adelikat
|
17568997bf
|
Lua - unify constructors and have all libraries receive a lua context and an output callback, simplify some convolved registration code
|
2014-05-21 00:17:35 +00:00 |
adelikat
|
6401e6d719
|
Refactor LuaLibraryBase to have a Lua context rather than misc libraries being in charge of that when needed. Still todo: clean up the inconsistent constructor logic, vs setting these as public properties
|
2014-05-20 20:34:51 +00:00 |
adelikat
|
f19d15d1ed
|
Lua - add a Log callback to the LuaLibraryBase class instead of having misc libraries have to build out this behavior when they need it
|
2014-05-20 20:25:18 +00:00 |
adelikat
|
94b9761b31
|
Trace Logger - apply the new line hack done for clipboard to the save to file option
|
2014-05-20 18:38:25 +00:00 |
adelikat
|
4ee4088c4c
|
read/write byte range functions - range check, and log warnings if user attempts to access outside the domain range, rather than throw a vague lua exception and crash
|
2014-05-19 01:42:41 +00:00 |
adelikat
|
059952f0a4
|
Change memory.getmemorydomainlist() to return a lua table instead of a string
|
2014-05-19 01:06:44 +00:00 |
adelikat
|
3d10d67fea
|
Implement bizstring.split()
|
2014-05-18 21:06:16 +00:00 |
adelikat
|
b4deb97587
|
Remove the same bogus logic that was in the mnemonic system for parasing analog input, this time in another bogus place bogusly copy/pasted and equally bogus logic, fixes N64 virtualpad playback behavior
|
2014-05-18 00:40:32 +00:00 |
adelikat
|
d33a545605
|
Virtual Pads - Fix out of range exception when virtual pad is open, a movie is playing, and the movie goes into finished mode
|
2014-05-18 00:09:01 +00:00 |
adelikat
|
1895e15ea5
|
Create StatusStripEx similar to MenuStripEx and ToolStripEx to allow click through, and replace all our status bars with it
|
2014-05-17 00:42:28 +00:00 |
adelikat
|
f88640fddb
|
N64 VirtualPad - when a movie is active show the previous frame's line on the analog control
|
2014-05-16 13:40:21 +00:00 |
adelikat
|
55b4dcd53c
|
gui.text - remove hacks that attempt use window size. Better logic is to be pure client space, and let gui.drawText do anything else
|
2014-05-14 23:44:46 +00:00 |
adelikat
|
d5c2271c55
|
Toolbox - don't show nes debugger in non-interim
|
2014-05-12 20:58:34 +00:00 |
adelikat
|
fd5c40d3f4
|
Virtual Pads - support Dual Gameboy pads, don't allow the switching of multiplayer unless the system has mutliplayer
|
2014-05-11 23:30:49 +00:00 |
adelikat
|
1e48111092
|
Virtual Pad - ability to toggle between single player and multiplayer and remember the setting in the config
|
2014-05-11 23:08:34 +00:00 |
adelikat
|
abac70d592
|
VirtualPad - some code cleanup on last commit
|
2014-05-11 22:32:16 +00:00 |
adelikat
|
0abaeebb9d
|
Virtual Pads - fix Updating when movie is playing, and by removing a lot more code than I wrote
|
2014-05-11 22:27:20 +00:00 |
adelikat
|
360c05c2c8
|
Dual GB XML Creator - if file already exists, ask before overwriting
|
2014-05-11 19:00:44 +00:00 |
adelikat
|
edb90839d0
|
Dual GB XML Creator - a "Use Current Rom for all" button for the uberlazy
|
2014-05-11 18:53:32 +00:00 |
adelikat
|
5abd6f8387
|
Remove save button, no point in it compared to save and run, Use current Rom button should only be enabled on Gameboy core!
|
2014-05-11 18:34:20 +00:00 |
adelikat
|
77e1d31217
|
Dual GB xml creator - add a "Save and Run" button
|
2014-05-11 18:30:00 +00:00 |
adelikat
|
5430c395d0
|
Dual GB XML Creator - add a "Current Rom" button that is enabled when possible
|
2014-05-11 18:13:32 +00:00 |
adelikat
|
cfb8b463c3
|
Icons for some gameboy dialogs
|
2014-05-11 17:48:17 +00:00 |
adelikat
|
14799b5450
|
DualGBXMLCreator - move from config to tools folder
|
2014-05-11 16:49:45 +00:00 |
adelikat
|
653fb0ff38
|
Ram Watch - set the CurrentFileName property during LoadFile, fixes some subtle bugs that resulted from a loaded watch with an empty name
|
2014-05-11 12:09:41 +00:00 |
adelikat
|
d9ec48bb49
|
VirtualPads - move "Add Controller" to being a menu item instead of a clickable sub menu cuz that's weird. And change its name to "Multiplayer mode" as that is more specific to what it is doing (it adds all controllers beyond player 1, not just another one)
|
2014-05-08 20:46:32 +00:00 |
xmikecampx7
|
ae655b9dbc
|
Added back default Max/Min values for N64 VirtualPad, so that it properly loads without the need to set Max/Min.
|
2014-05-08 17:40:01 +00:00 |
zeromus
|
d1fab20576
|
nes ppu viewer: update labels without requiring mouse movement while processing periodical graphical update (hover over a sprite and watch the parameters change in realtime)
|
2014-05-08 04:59:45 +00:00 |
adelikat
|
ff51a948f6
|
Trace Logger - make sure there isn't an extra line between instructions when copy/pasting
|
2014-05-06 17:53:21 +00:00 |
adelikat
|
81a841057c
|
Ram Watch - convert message label into a Status bar with a error icon with similar functionality as ram search
|
2014-05-04 16:01:46 +00:00 |
adelikat
|
e5b3138d15
|
Ram Watch, Ram Search - don't crash on out of range addresses (such as when the user leaves ram watch open and changes cores), highlight out of range addresses and warn user. On Ram Search - give the option to remove these addresses from the list.
|
2014-05-04 15:30:18 +00:00 |
adelikat
|
c432fab579
|
Fix Ram Watch on screen display I broke some commits back
|
2014-05-04 14:22:11 +00:00 |
adelikat
|
0b6795fffc
|
Some misc cleanup of redundant qualifiers
|
2014-05-04 14:10:28 +00:00 |
adelikat
|
650607cfd7
|
Put Lua FrameBefore and FrameAfter event firing into the event loop instead of tools, so that it isn't bypassed when turboing. Probably works, couldn't test.
|
2014-05-03 11:59:11 +00:00 |
gochaism
|
0a9039fc60
|
Set SystemIcons.Application to Lua form icon.
|
2014-05-02 00:44:14 +00:00 |
gochaism
|
3fd9113f0d
|
Disable maximize/resize of Lua forms, since user cannot do anything on resize anyway.
|
2014-05-02 00:38:48 +00:00 |
gochaism
|
a84b4126f2
|
Lua: Make console.log(...) a little more prettier.
|
2014-05-01 00:25:14 +00:00 |
adelikat
|
9d7c92fb6e
|
Oops
|
2014-04-29 21:25:17 +00:00 |
adelikat
|
8f35b29a5c
|
Remove extra newline in console.log/print
|
2014-04-29 20:39:19 +00:00 |
gochaism
|
38a0a3593e
|
Lua: Update print and console.log to take variable arguments.
|
2014-04-29 05:07:43 +00:00 |
adelikat
|
8c1c034090
|
Lua - make Print() be an alias of console.log()
|
2014-04-29 01:24:06 +00:00 |
zeromus
|
c450351801
|
add tooltip for lua console erase button
|
2014-04-27 17:49:25 +00:00 |
xmikecampx7
|
b5c0be3f7f
|
Added Min/Max ranges for N64.
Added the option to add more controllers.
|
2014-04-27 17:38:30 +00:00 |