Commit Graph

444 Commits

Author SHA1 Message Date
Nekotekina 1c82e8b1d5 Bugfixes 2015-04-03 19:56:57 +03:00
Nekotekina 6b9a6c50fe PPU: some instructions replaced 2015-04-01 17:01:04 +03:00
Joshua Clark 3c3e3baa14 proper fix for issue #1041 2015-03-31 04:20:25 -05:00
Joshua Clark 10983338d8 Small fixes to allow compililation on linux 2015-03-31 03:34:37 -05:00
Nekotekina 3247152ff7 PPU: some instructions replaced 2015-03-29 14:00:10 +03:00
Nekotekina d640aba903 PPU: some instructions replaced 2015-03-26 21:42:12 +03:00
Nekotekina ff1708a899 SPU: some instructions updated 2015-03-21 17:29:33 +03:00
Nekotekina ef563f038d SPU: some instructions updated 2015-03-21 02:36:05 +03:00
Nekotekina a71cb5f521 Basic concept 2015-03-17 00:38:21 +03:00
Nekotekina bee6b84733 sys_fs bugfixes 2015-03-16 19:20:02 +03:00
Nekotekina c88e0a0eb9 Small cleanup 2015-03-13 04:09:53 +03:00
Nekotekina 5764ee7a2a Small fix 2015-03-13 02:03:22 +03:00
Nekotekina 4a6ef91eb3 More cleanup 2015-03-07 19:03:42 +03:00
Nekotekina 961fc27215 Minor cleanup 2015-03-07 16:39:07 +03:00
Nekotekina ef65299dff Lv2 Cond/Mutex rewritten, bugfixes 2015-03-07 01:10:04 +03:00
Nekotekina 9e49a33b3c SPU syscall improvements 2015-03-05 00:51:14 +03:00
Nekotekina 8587ae5883 Compilation fix 2015-03-03 02:34:49 +03:00
Nekotekina 5f8cf18a5a SPU refactoring 2015-03-03 00:09:20 +03:00
Nekotekina 619b8e473f Possibly fix for OSX 2015-02-28 22:37:31 +03:00
Nekotekina 942d984dc5 sys_process_get_paramsfo implemented 2015-02-28 17:41:15 +03:00
Nekotekina d62e95d0f8 Success log level fixed 2015-02-27 21:11:07 +03:00
Nekotekina 655acc746d HLE function binding for PPU/ARMv7 simplified 2015-02-20 16:58:40 +03:00
Nekotekina 7ab1e64aab Merge branch 'master' of https://github.com/DHrpcs3/rpcs3 2015-02-20 14:38:57 +03:00
Nekotekina f9eb3f8476 get_x64_reg_value fix 2015-02-19 23:38:25 +03:00
S Gopal Rajagopal 1356a17e84 Merge upstream 2015-02-20 01:57:46 +05:30
S Gopal Rajagopal 68978a0109 SPURS: More fixes 2015-02-20 01:53:05 +05:30
Nekotekina 2d1d996c50 Small fix 2015-02-19 14:18:28 +03:00
Nekotekina d177b1adea ARMv7: loader fixed 2015-02-19 00:23:31 +03:00
Nekotekina af986d8f4c Loader improved, ModuleManager refactored 2015-02-18 19:22:06 +03:00
Nekotekina 1f2eafc4f2 Loader fixed 2015-02-17 18:27:15 +03:00
Nekotekina 3f3873ceb5 STOS support (for memset) 2015-02-17 05:01:47 +03:00
Nekotekina bddad4d766 Compilation fix 2015-02-17 03:40:10 +03:00
Nekotekina 20dce26b1d Reservations improved 2015-02-17 03:08:23 +03:00
Nekotekina e6c628caba Memory (unfinished) 2015-02-16 04:53:53 +03:00
Nekotekina 1189503b4d Some cleanup 2015-02-15 20:13:06 +03:00
Nekotekina 6909a15400 decode_x64_reg_op improved 2015-02-15 15:31:42 +03:00
Nekotekina f01059283a Some cleanup 2015-02-14 00:45:36 +03:00
Nekotekina 0d489518ab Compilation fix 2015-02-13 23:24:18 +03:00
Hykem fcd300ad4d Merge pull request #1008 from robxu9/master
Fix building on OS X 10.10
2015-02-13 15:55:08 +00:00
S Gopal Rajagopal 853234f7d7 Merge remote-tracking branch 'upstream/master' into spurs_taskset 2015-02-11 15:00:46 +05:30
Robert Xu 00e637645c Fix building on OS X 10.10 2015-02-10 23:17:39 -05:00
Nekotekina 31bbf56ff1 Reservations improved 2015-02-08 18:25:50 +03:00
Nekotekina 19acaf3f86 Bugfix, ECIWX/ECOWX disabled 2015-02-08 16:38:08 +03:00
Nekotekina 1af4848324 New reservations (not finished) 2015-02-07 02:39:51 +03:00
Nekotekina e93aaf3957 ARMv7: bugfix, some disasm subroutines 2015-02-05 15:18:10 +03:00
Nekotekina 819c955cca ARMv7: partial disasm functionality, bugfix 2015-02-05 02:52:47 +03:00
S Gopal Rajagopal daaa5059e9 SPURS: Fixed more issues 2015-02-04 20:59:34 +05:30
Nekotekina e3f55a75a3 TTY output improved; ARMv7: new instructions
ADC_REG, MVN_REG, ORR_REG, ROR_IMM, ROR_REG, TST_IMM, armv7_fmt improved
2015-02-04 15:16:10 +03:00
B1ackDaemon c267ca2584 Merge pull request #989 from Nekotekina/master
Various improvements
2015-02-02 13:39:51 +02:00
Peter Tissen bd65f81074 Fix some small mistakes
* replace_first and replace_all were in the wrong namespace, so they could not be linked
* replace_all did not work correctly (would loop indefinately)
* cellGcmUnmapIoAddress did not shif the size, so it would run past the end of the mmap array
* fsstat did use a 32-bit size on Windows, so files >4 gigs would return "stat failed"
2015-02-02 11:27:18 +01:00
Nekotekina 23c7028b2a ARMv7: ARM encoding introduced; bugfixes 2015-02-02 12:14:49 +03:00
B1ackDaemon 1fa301b719 Merge pull request #981 from Nekotekina/master
ARMv7 progress, some changes in vm_ptr
2015-01-29 01:57:42 +02:00
Nekotekina 579a88b7c4 vm_ptr: function format changed 2015-01-28 15:59:16 +03:00
Raul Tambre 095608530f Merge pull request #976 from tambry/Fixes
Various fixes and improvements
2015-01-27 16:54:59 +02:00
Raul Tambre 78a92c7d43 More fixes and fixes to previous fixes 2015-01-26 21:01:47 +02:00
Nekotekina 6d1c9f2764 Some warnings fixed 2015-01-25 19:23:24 +03:00
Raul Tambre be50130c3f Various fixes
Fixes to dead code and a couple self-assignings
2015-01-24 21:50:26 +02:00
Nekotekina 4f706ed69c ++ 2015-01-23 15:57:50 +03:00
Nekotekina 07a2e0b55a fmt::format fixed 2015-01-22 02:45:50 +03:00
Nekotekina 3428499492 fmt::to_udec(), fmt::to_sdec() 2015-01-19 16:31:02 +03:00
Nekotekina 0d28f378a7 fmt::format() optimization (fmt::unveil template) 2015-01-19 01:54:56 +03:00
Nekotekina 561e7cd5a9 Compilation fix 2015-01-18 17:30:24 +03:00
Nekotekina 6545df2b15 Exception handling fix 2015-01-18 16:57:39 +03:00
Nekotekina a6754e29a6 Compilation fix 2015-01-17 19:36:23 +03:00
Nekotekina b897a5d20a cellAudio, thread_t improvements, pause/resume callback 2015-01-17 19:14:58 +03:00
Nekotekina 4dae27c1d4 squeue_t updated 2015-01-16 20:09:53 +03:00
Nekotekina fd06f70387 cellAudio updated, thread_t updated 2015-01-16 17:36:53 +03:00
Nekotekina 809ba66290 vm::cast in PPUInterpreter 2015-01-14 19:48:50 +03:00
Nekotekina cdeac05e88 vm::cast 2015-01-14 16:57:19 +03:00
Nekotekina bf7cf0ee9d .ToLE() changed to .value() or removed 2015-01-14 02:08:00 +03:00
Nekotekina 88fd748dd5 Experimental vm::ptr support for fmt::format 2015-01-13 20:14:07 +03:00
Nekotekina 1c4e89d2bf Formatting fixes, ToBE() replaced with data() 2015-01-13 17:54:36 +03:00
Nekotekina fe86869f37 Fix 2015-01-13 03:10:39 +03:00
Nekotekina 25672cdc47 cntlz fix 2015-01-13 00:32:53 +03:00
Nekotekina 7372583cab Compilation fix 3 2015-01-12 23:37:29 +03:00
Nekotekina e40347dd53 Compilation fix 2 2015-01-12 22:31:11 +03:00
Nekotekina b90540c1eb Compilation fix 2015-01-12 22:11:55 +03:00
Nekotekina b6ec618f97 Experimental template formatting with be_t<> support 2015-01-12 21:12:06 +03:00
Nekotekina c36e692411 be_storage_t
BE data is internally stored as u8, u16, u32, u64, u128 value (decreases
amount of reinterpret casts in be<>le conversions)
2015-01-11 12:33:05 +03:00
Nekotekina 056f93f3e4 Linux fixes 2015-01-09 01:17:26 +03:00
Nekotekina ba5e2e3f0f Fix 3 2015-01-05 01:29:51 +03:00
Nekotekina 43ebd4450d Fix 2 2015-01-05 01:01:43 +03:00
Nekotekina 63df801b03 Compilation fix 2015-01-05 00:59:17 +03:00
Nekotekina 6069071e4d Code moved, attempt to make SIGSEGV handler 2015-01-05 00:46:31 +03:00
Nekotekina f3cd908d5c Sync primitives reworked
(rwlock rewritten)
2015-01-02 02:41:29 +03:00
Nekotekina 653db28675 removed excessive stuff 2014-12-28 16:15:22 +03:00
Nekotekina be2d606193 Conflicts fixed 2014-12-26 17:06:36 +03:00
Nekotekina 1491dcdc92 squeue_t fix 2 2014-12-26 01:58:43 +03:00
Nekotekina bdbbde4d36 squeue_t fixed 2014-12-26 01:49:55 +03:00
Nekotekina c305949435 Compilation fix 2014-12-25 23:30:34 +03:00
Nekotekina 7613d749ec SQueue renamed and moved 2014-12-25 01:24:17 +03:00
Nekotekina b2de24db73 SMutex eliminated 2014-12-23 02:31:11 +03:00
raven02 0506bf0352 Reapply fmt::merge change 2014-12-21 07:30:30 +08:00
raven02 37838a49ec Revert fmt::merge 2014-12-18 00:10:20 +08:00
raven02 3fc471eb32 RSX: shaders fix and vertex texture implementation 2014-12-17 22:01:59 +08:00
Hykem 24c5e7d6cd Merge pull request #886 from Arkaran99/master
Avoid giving arguments by value for log
2014-12-14 13:11:50 +00:00
Nekotekina eb7cd7ccce Demuxer improved + MSVC thread name registrering 2014-12-05 19:12:15 +03:00
Nekotekina 8cb8298c03 Going to fix demuxer 2014-12-03 16:21:58 +03:00
DHrpcs3 a58c5f5a4c VFS fixes
- using /app_home/ as local link
Implemented fmt::merge & fmt::tolower
2014-11-30 13:18:17 +02:00
DHrpcs3 a59cf50f03 Improved LLE Manager
Improved VFS
2014-11-29 15:16:53 +02:00
Raul Tambre 16b4b9bf40 Fix Travis compiling 2014-11-21 15:52:01 +02:00
DHrpcs3 cdfef3bf9e Fixed compilation errors
Implemented converter_le_be
2014-11-20 21:41:04 +02:00
DHrpcs3 598d929aba Implemented LLE Modules Manager (draft)
Improved loader core.
Implemented *_thread wrappers.
Minor fixes.
Temporary disabled ELF Compiler & DisAsm frame.
2014-11-19 16:16:30 +02:00
Nekotekina df72f5e37c ARMv7: CMP_REG, LDR_IMM, LDR_LIT, STR_REG, SUB_REG
sceLibc: exit and printf drafts
This actually allows to display hello world.
2014-11-02 18:50:20 +03:00
Nekotekina 6df5ddb973 Few warnings fixed 2014-10-24 17:24:09 +04:00
S Gopal Rajagopal dfd3425e65 Merge remote-tracking branch 'upstream/master' into ppu_llvm_recompiler
Conflicts:
	Utilities/BEType.h
	rpcs3/Emu/Cell/PPUInterpreter.h
	rpcs3/emucore.vcxproj.filters
2014-10-22 00:01:16 +05:30
S Gopal Rajagopal 8a7ba5a709 Merge remote-tracking branch 'upstream/master' into ppu_llvm_recompiler
Conflicts:
	Utilities/BEType.h
	rpcs3/Emu/Cell/PPUInterpreter.h
	rpcs3/emucore.vcxproj.filters
2014-10-19 02:36:26 +05:30
S Gopal Rajagopal ce4d04290e Support more instructions 2014-10-19 01:57:54 +05:30
Nekotekina 81474be103 AV decoding minor cleanup 2014-10-18 21:00:21 +04:00
Nekotekina 318d06efda cellAdecClose, cellVdecClose fix 2014-10-18 02:20:03 +04:00
Nekotekina 18930a43f2 waiter_map_t small fix 2014-10-18 00:13:25 +04:00
Nekotekina 5de059789d waiter_map_t for syncRwm and syncQueue 2014-10-16 23:34:17 +04:00
Nekotekina f839713a94 Bugfix 2014-10-16 21:07:41 +04:00
Nekotekina 18b69cac99 waiter_map_t : concept changed
Purpose-specific waiter_map_t objects instead of global one. SM_Sleep()
removed.
2014-10-16 20:29:41 +04:00
Nekotekina 48eb66383b waiter_reg_t, cellSyncBarrier improved 2014-10-11 02:37:20 +04:00
Nekotekina 3c2e0fff07 waiter_op() and waiter_signal() basis
Simplified signaling on condition variables without using them directly.
2014-10-11 01:33:57 +04:00
Nekotekina 446993eaa6 Atomic intrinsics for u128 type
cellSpursGetSpuThreadGroupId
cellSpursGetNumSpuThread
cellSpursGetSpuThreadId
2014-10-10 22:41:57 +04:00
Nekotekina 09fbda603c Atomic intrinsics refactoring 2014-10-10 22:19:14 +04:00
Nekotekina 266c3d4753 Small fixes 2014-10-08 18:26:08 +04:00
Arkaran99 d9a95aae09 Avoid giving arguments by value for log. 2014-10-08 01:35:19 +02:00
Nekotekina 94c30924dd Some things for u128 2014-10-08 01:37:04 +04:00
Nekotekina 237ab974dd SPURS kernel v1 2014-10-07 17:35:44 +04:00
Nekotekina 752449bbc0 Small update 2014-10-02 14:29:20 +04:00
Nekotekina 7d95311a01 Some %x fixed 2014-09-29 19:38:04 +04:00
Nekotekina ae17ef4d68 vm::atomic -> atomic_t 2014-09-27 22:49:33 +04:00
Nekotekina e40776ba79 cellSpursWakeUp, CellSpursWorkloadAttribute
+vm_atomic update (8bit type)
2014-09-26 01:41:35 +04:00
Nekotekina a4a4e572a0 vm::atomic update, small fixes 2014-09-23 18:27:18 +04:00
Nekotekina 3ab08e0d7a vm::atomic update (or, and, xor)
CellSyncMutex, CellSyncBarrier, CellSyncRwm refactoring
2014-09-21 03:29:42 +04:00
Nekotekina 66000240ac vm::atomic update, be_t update
1) MakeFromLE replaced with make(), MakeFromBE removed. Compiler seems
to be able to optimize it anyway.
2) be_t<> conversion operator temporarily replaced with conversion
through LE because it can't work with all possible numeric conversions
(float<>int for example)
2014-09-20 03:16:11 +04:00
Nekotekina 0baf295c1b to_be() 2014-09-19 23:12:31 +04:00
Nekotekina b6f8700b8b vm::atomic initial structure 2014-09-19 23:11:43 +04:00
Nekotekina bb77249ac8 CellSpurs initialization 2014-09-19 04:19:22 +04:00
Nekotekina 0044141631 sys_process_is_spu_lock_line_reservation_address
Formatting changed a bit
2014-09-17 17:15:17 +04:00
Nekotekina b600cba180 CB_FUNC / SC_FUNC small update 2014-09-16 17:56:27 +04:00
Bigpet 96c86580f0 define templates outside of block scope 2014-09-16 15:03:57 +02:00
DHrpcs3 b0569639a9 Improved to_be_t
Fixed cellCameraGetType
Removed be_array_t
Improved cb_caller
2014-09-16 14:23:58 +03:00
Nekotekina c9132a4bdb Compilation fix + CellSpursAttribute 2014-09-15 22:17:30 +04:00
Nekotekina 597d07bf24 Small refactoring 2014-09-15 02:17:24 +04:00
Nekotekina c1da446653 FastCall() removed 2014-09-12 23:27:33 +04:00
Nekotekina cd39256361 CallbackManager rewritten 2014-09-11 23:18:19 +04:00
Nekotekina 470afd78d5 WIP (cellPngDec refactoring) 2014-09-08 04:54:17 +04:00
Arkaran99 1e60319be2 Fix compile errors in Debug - MemLeak.
Add rpcs3/define_new_memleakdetect.h to save and replace new operator with Visual Studio Memory Leak Detection's operator.
Add rpcs3/restore_new.h to restore new operator to a previous saved state.
2014-09-07 10:43:25 +02:00
Nekotekina 58f436e749 Small fix 2014-09-07 03:35:48 +04:00
Nekotekina 82433d946e u128
Only useful as vector type anyway.
2014-09-06 20:30:13 +04:00
Nekotekina feec20ac3e Compilation fix, be_t fix
+ CellWebBrowserConfig2 struct
2014-09-05 21:54:06 +04:00
Nekotekina f298d0451e Attempt to fix some warnings 2014-09-05 15:24:37 +04:00
Nekotekina 9f2afffca1 Some functions removed 2014-09-04 21:32:20 +04:00
Nekotekina 05cebd1017 re() removed, added be_t<const T> specialization 2014-09-04 13:21:23 +04:00
Nekotekina 30d7fcd288 Small mistake 2014-09-02 16:18:50 +04:00
Nekotekina 6e02477fc6 Some warnings fixed 2014-09-02 02:35:10 +04:00
Nekotekina 73555c1df1 Compilation fix 4 2014-09-02 01:22:07 +04:00
Nekotekina 09022b1000 Compilation fix 2 + callback fix 2014-09-01 21:38:55 +04:00
Nekotekina 3b764d45f2 Compilation fix 2014-09-01 20:45:22 +04:00
Nekotekina 774b5be7d7 Patch from DH applied 2014-09-01 20:16:44 +04:00
Nekotekina 9e2bb9e9d2 Some warnings fixed 2014-08-31 00:41:01 +04:00
Nekotekina 120c3261b4 <wx/math.h> excluded, wxString forwarded 2014-08-29 23:51:11 +04:00
Nekotekina 2c8b485ba0 Compilation fix 4 2014-08-29 17:06:58 +04:00
Nekotekina 851ae920b9 Compilation fix 3 2014-08-29 16:27:25 +04:00
Nekotekina 12f4f35cfa Compilation fix 2 2014-08-29 16:21:23 +04:00
Nekotekina 028ce2dd9f stdafx_gui.h created, wx removed from stdafx.h 2014-08-29 02:49:26 +04:00
Nekotekina 693e7a38fa Some std include moved 2014-08-28 20:29:05 +04:00
Nekotekina a74e07dc40 Some cleanup 2014-08-25 22:09:48 +04:00
Nekotekina 61c4a88ab4 rFile.h, Thread.h, IdManager.h includes moved 2014-08-25 18:56:13 +04:00
Nekotekina 84c5899faf Abstract GSFrameBase class and callback 2014-08-25 02:23:26 +04:00
Nekotekina 50b5d72bb2 Include cleaning 2014-08-24 21:42:19 +04:00
Nekotekina 4ffd03fe3e Include clearing 2014-08-24 00:40:04 +04:00
Nekotekina b005ee3cda Log include fixes 2014-08-23 18:51:51 +04:00
Nekotekina efa538f9d7 include clearing 2014-08-23 04:16:54 +04:00
Nekotekina 861ce9e733 include clearing 2014-08-23 01:15:02 +04:00
Nekotekina 652c5901f8 Another try 2014-08-22 20:36:27 +04:00
Nekotekina 52cf911c60 Compilation fix 2014-08-22 18:58:50 +04:00
Nekotekina 7a466b7fb7 Conflicts fixed 2014-08-22 18:30:39 +04:00
Nekotekina 5abd3fabfa Attempt to remove some includes 2014-08-22 18:21:55 +04:00
Nekotekina 9eb280c367 SetCurrentNamedThread() 2014-08-20 18:23:48 +04:00
Alexandro Sánchez Bach d53327f8bb Updated IDManager
ID member m_flags has been replaced with m_type, which stores the type
of the object referenced by the ID and added std::set<IDType> to the ID
manager to group relevant IDs in order to use them later in some
lv2/sys_process functions and the Kernel Explorer.
2014-08-19 13:10:41 +02:00
Raul Tambre 9b1a2e50f2 Fixed some grammatical mistakes 2014-08-17 10:53:09 +03:00
luxsie 069aa9fb2a Added GUI Configuration for Auto-Pause.
You can easily configure it as what you do for VHD/VFS.
To disable/enable Auto-Pause, find the configuration checkboxes from HLE/Misc panel in Config->Setting of rpcs3.
2014-08-14 23:22:13 +08:00
luxsie ea00c3a07f Auto-Pause At Function Call and System Call.
Would have a configuration window (with create the list, and enable/disable, being something similar to VFSManger and etc).
Move the code to Debug::AutoPause in AutoPause.cpp and AutoPause.h
It triggers currently in GameViewer, and would finally change to somewhere else.
Well and now it is all enabled (Function call + System call) by default.
2014-08-13 20:54:27 +08:00
Nekotekina 270c851645 vfsLocalDir::IsOpened() implemented 2014-08-06 02:34:26 +04:00
Sacha 9f268065de Fix infinite loop in rMkpath 2014-08-05 21:47:03 +04:00
Alexandro Sánchez Bach 90d0e69a56 Fixed error of pull request #714 2014-08-04 01:52:36 +02:00
Sacha e8525a6f14 More rFile cleanups and fixes.
Was using fileExists/dirExists before when really should have just been exists. File or Dir doesn't matter and would only create false negatives.
Current working directory shouldn't really be used at all. This is just the folder the application is run from (not even where the .exe resides).
Some of the infos required by vfsLocalDir such as executable may not be portable. Not sure of their intended function as they are never used.
2014-08-01 04:20:00 +10:00
Nekotekina 5f55afda0f Little fix 2 2014-07-18 21:30:22 +04:00
Nekotekina f69337be65 Little fix 2014-07-18 21:04:12 +04:00
Nekotekina 74914c5916 be_t<> constructor elimination 2014-07-18 20:55:26 +04:00
Alexandro Sánchez Bach 75e81bc969 Merge pull request #572 from Nekotekina/master
Update
2014-07-15 01:06:53 +02:00
Sacha 26e1418897 Fix rFile 2014-07-15 05:42:41 +10:00
Nekotekina 01aa74e4a8 IsGoodAddr() bug fixed 2014-07-14 23:15:30 +04:00
Sacha 82536b298c Fix issue from #567 that stopped videos from working. Clean up some code. 2014-07-15 03:21:24 +10:00
Nekotekina 2c7de61027 Compilation fix 2014-07-13 02:56:52 +04:00
Nekotekina 21aedb518c PKG Installing fixed 2014-07-13 02:39:43 +04:00
Nekotekina 1908842255 Build fix
Non-ASCII characters replaced in PPUThread.h
Some cleanup
2014-07-12 18:53:36 +04:00
Sacha 9816ec3aa0 Fix conflicts. 2014-07-12 17:02:39 +10:00
Sacha c09b0f511e More header changes. 2014-07-12 16:33:04 +10:00
Sacha 6e06fdf638 Stdafx: Major header cleanup 2014-07-12 16:33:04 +10:00
Nekotekina 259b57c64a Fixed conflicts 2014-07-11 10:09:38 +04:00
Nekotekina cb9c1030a9 Warning fix 2014-07-11 10:01:23 +04:00
Sacha 8793d75811 Stdafx: More cleanup 2014-07-11 06:54:12 +10:00
Sacha 3737993bb2 Use a standard config dir on non-Windows. Fixes #192
Also remove WindowInfo::GetDefault which was redundant.
2014-07-11 05:45:07 +10:00
Nekotekina 123c4ba1a8 Some bugs fixed 2014-07-09 03:04:36 +04:00