]> git.jsancho.org Git - lugaru.git/log
lugaru.git
7 years agoReading debug mode from config again, but command line option overrides it
Côme Chilliet [Sat, 10 Dec 2016 18:18:17 +0000 (01:18 +0700)]
Reading debug mode from config again, but command line option overrides it

7 years agoOops, should be ifdef not ifndef
Côme Chilliet [Sat, 10 Dec 2016 18:10:14 +0000 (01:10 +0700)]
Oops, should be ifdef not ifndef

7 years agoDisabling exception catching when building debug, to ease gdb use
Côme Chilliet [Sat, 10 Dec 2016 18:00:09 +0000 (01:00 +0700)]
Disabling exception catching when building debug, to ease gdb use

7 years agoAttempt at fixing the crash in DoAnimation
Côme Chilliet [Sat, 10 Dec 2016 17:57:04 +0000 (00:57 +0700)]
Attempt at fixing the crash in DoAnimation

7 years agoUsing at() instead of operator[] in currentFrame to get more precise crashes
Côme Chilliet [Sat, 10 Dec 2016 17:34:09 +0000 (00:34 +0700)]
Using at() instead of operator[] in currentFrame to get more precise crashes

7 years agoFixed a bug loading all persons with the same ID. I hope it will fix weapon problems
Côme Chilliet [Sat, 10 Dec 2016 16:47:05 +0000 (23:47 +0700)]
Fixed a bug loading all persons with the same ID. I hope it will fix weapon problems

7 years agoOops, committed by mistake a temporary commenting of code
Côme Chilliet [Sat, 10 Dec 2016 15:21:13 +0000 (22:21 +0700)]
Oops, committed by mistake a temporary commenting of code

7 years agoFix 7s offset between shown challenge time and high score
Rémi Verschelde [Sat, 10 Dec 2016 12:55:38 +0000 (13:55 +0100)]
Fix 7s offset between shown challenge time and high score

Also properly rounds the float time so that 26.89s does not end up as 26 but 27.

7 years agoRemoved useless Menu:: prefix, replaced uses of char by strings
Côme Chilliet [Sat, 10 Dec 2016 10:53:49 +0000 (17:53 +0700)]
Removed useless Menu:: prefix, replaced uses of char by strings

7 years agoMoved everything related to Menu is Menu.h,cpp and Campaign in Campaign.h,cpp
Côme Chilliet [Sat, 10 Dec 2016 08:13:00 +0000 (15:13 +0700)]
Moved everything related to Menu is Menu.h,cpp and Campaign in Campaign.h,cpp

7 years agoReplace MenuItem::init with a constructor
Côme Chilliet [Sat, 10 Dec 2016 07:13:40 +0000 (14:13 +0700)]
Replace MenuItem::init with a constructor

7 years agoChanged namespace Menu for a class
Côme Chilliet [Sat, 10 Dec 2016 07:08:25 +0000 (14:08 +0700)]
Changed namespace Menu for a class

7 years agoUpdated information in DEBUG-OPTIONS.txt
Côme Chilliet [Sat, 10 Dec 2016 06:57:39 +0000 (13:57 +0700)]
Updated information in DEBUG-OPTIONS.txt

Alt+Y and alt+U are still undocumented.
Documentation about editor commands seems also inaccurate, and the code
seems buggy, shift+p will add a player AND a waypoint to this player it
seems to me.

7 years agoAdded a warning when loading a map with an old map version
Côme Chilliet [Sat, 10 Dec 2016 06:18:49 +0000 (13:18 +0700)]
Added a warning when loading a map with an old map version

7 years agoFix a crash when map contains a negative number of hotspots
Côme Chilliet [Sat, 10 Dec 2016 05:59:17 +0000 (12:59 +0700)]
Fix a crash when map contains a negative number of hotspots

7 years agoCleaned up a bit debug keys, ALT is always needed now except in editor.
Côme Chilliet [Sat, 10 Dec 2016 04:49:02 +0000 (11:49 +0700)]
Cleaned up a bit debug keys, ALT is always needed now except in editor.

7 years agoDebug mode is now a comandline option
Côme Chilliet [Sat, 10 Dec 2016 04:11:30 +0000 (11:11 +0700)]
Debug mode is now a comandline option

7 years agoDeclare Tempanim animation properly
Rémi Verschelde [Fri, 9 Dec 2016 22:52:23 +0000 (23:52 +0100)]
Declare Tempanim animation properly

Fixes #36.

7 years agoCMake: Default to RelWithDebInfo build type when not specified
Rémi Verschelde [Fri, 9 Dec 2016 22:03:13 +0000 (23:03 +0100)]
CMake: Default to RelWithDebInfo build type when not specified

Also cosmetic changes.

7 years agoCMake: Fix missing data install on Windows
Rémi Verschelde [Fri, 9 Dec 2016 21:32:32 +0000 (22:32 +0100)]
CMake: Fix missing data install on Windows

Regression from 4afbc86d0abd136357e88d8c1fe2360a119289e3

7 years agoAdded a class for Hotspots to avoid using several arrays
Côme Chilliet [Fri, 9 Dec 2016 18:14:42 +0000 (01:14 +0700)]
Added a class for Hotspots to avoid using several arrays

7 years agoRemoved empty destructors. Joint::label is a bodypart
Côme Chilliet [Fri, 9 Dec 2016 17:32:46 +0000 (00:32 +0700)]
Removed empty destructors. Joint::label is a bodypart

7 years agoRemoved unused methods from Skeleton
Côme Chilliet [Fri, 9 Dec 2016 17:16:35 +0000 (00:16 +0700)]
Removed unused methods from Skeleton

7 years agoReplaced muscles and joints in Skeleton by vectors
Côme Chilliet [Fri, 9 Dec 2016 17:15:46 +0000 (00:15 +0700)]
Replaced muscles and joints in Skeleton by vectors

7 years agoGot rid of malloc in Muscle
Côme Chilliet [Fri, 9 Dec 2016 16:53:45 +0000 (23:53 +0700)]
Got rid of malloc in Muscle

7 years agoMoved Joint and Muscle classes to their own files
Côme Chilliet [Fri, 9 Dec 2016 16:13:00 +0000 (23:13 +0700)]
Moved Joint and Muscle classes to their own files

7 years agoUsing the right type for animation height and type
Côme Chilliet [Fri, 9 Dec 2016 11:27:48 +0000 (18:27 +0700)]
Using the right type for animation height and type

7 years agoAdded convenient method to get target and current frames of Person animations
Côme Chilliet [Fri, 9 Dec 2016 11:04:34 +0000 (18:04 +0700)]
Added convenient method to get target and current frames of Person animations

7 years agoCleaned up Animation by using vectors and classes
Côme Chilliet [Fri, 9 Dec 2016 10:50:24 +0000 (17:50 +0700)]
Cleaned up Animation by using vectors and classes

7 years agoMoved Skeleton and Animation to their own folder.
Côme Chilliet [Fri, 9 Dec 2016 09:29:14 +0000 (16:29 +0700)]
Moved Skeleton and Animation to their own folder.

Moved Animation class in Animation.* files.
Using a vector for animations.
Deactivated the deallocation for now, probable memory leaks, will be
fixed by futur commit

7 years agoInstall more docs (AUTHORS, DEBUG-OPTIONS.txt)
Rémi Verschelde [Thu, 8 Dec 2016 18:02:11 +0000 (19:02 +0100)]
Install more docs (AUTHORS, DEBUG-OPTIONS.txt)

7 years agoReadd -pedantic to CXX flags for all builds
Rémi Verschelde [Thu, 8 Dec 2016 08:53:59 +0000 (08:53 +0000)]
Readd -pedantic to CXX flags for all builds

It was removed a bit too fast in 20e924d, it's actually an interesting
flag to keep even for non-debug builds.

7 years agoSilb assets are also under version 3.0 Unported of CC-BY-SA
Rémi Verschelde [Thu, 8 Dec 2016 07:54:15 +0000 (08:54 +0100)]
Silb assets are also under version 3.0 Unported of CC-BY-SA

At least judging by the version he linked in his forum statement.

7 years agoReplaced as much char* as possible by std::strings
Côme Chilliet [Thu, 8 Dec 2016 02:49:40 +0000 (09:49 +0700)]
Replaced as much char* as possible by std::strings

7 years agoMoved all calls to skeleton Load to Person
Côme Chilliet [Wed, 7 Dec 2016 17:52:15 +0000 (00:52 +0700)]
Moved all calls to skeleton Load to Person

7 years agoAdd AppStream appdata/metainfo file
Neal Gompa [Wed, 7 Dec 2016 22:31:25 +0000 (17:31 -0500)]
Add AppStream appdata/metainfo file

This completes the set of metadata files installed for Linux systems.

Fixes #27.

7 years agoWrite config and user data to %APPDATA% on Windows
Rémi Verschelde [Wed, 7 Dec 2016 21:59:41 +0000 (22:59 +0100)]
Write config and user data to %APPDATA% on Windows

We may want to readd a PORTABLE option that reverts to loading the config
and user data from the binary's directory for portable binary distribution.

Last part of and fixes #22.

7 years agoFix CXX flags in various CMake build types
Rémi Verschelde [Wed, 7 Dec 2016 21:44:56 +0000 (22:44 +0100)]
Fix CXX flags in various CMake build types

The flags we were defining for _DEBUG and _RELEASE were similar to the default
CMake flags for those types, which get appended to CMAKE_CXX_FLAGS, so we only
need to customize the latter.

The final flags will be for e.g. RelWithDebInfo:
${CMAKE_CXX_FLAGS} ${CXXFLAGS} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}
with ${CXXFLAGS} taken from the environment.

7 years agoAdd manpage for Linux system installation
Rémi Verschelde [Wed, 7 Dec 2016 21:03:07 +0000 (22:03 +0100)]
Add manpage for Linux system installation

Fixes #28.

7 years agoAdd and install desktop file and icon
Rémi Verschelde [Wed, 7 Dec 2016 20:42:17 +0000 (21:42 +0100)]
Add and install desktop file and icon

Already added the install instruction for the appdata file for @Conan_Kudo.
Fixes most of #27.

7 years agoMove distribution-related files to Dist
Rémi Verschelde [Wed, 7 Dec 2016 20:36:46 +0000 (21:36 +0100)]
Move distribution-related files to Dist

Also delete useless or obsolete files, as well as a binary .aps file
from Visual Studio.
Also fix .gitignore ignoring any lugaru*.* file :)

7 years agoAdd proper system-wide install instructions for Linux
Rémi Verschelde [Wed, 7 Dec 2016 20:26:19 +0000 (21:26 +0100)]
Add proper system-wide install instructions for Linux

The behaviour is triggered by the SYSTEM_INSTALL option (currently defaults to OFF).
Fixes #13.

(cherry picked from commit 46cd66c888bd9cc5df4f6eb59abce429fdd6cd56)

7 years agoMoved as much as possible init in Person constructor
Côme Chilliet [Wed, 7 Dec 2016 11:56:42 +0000 (18:56 +0700)]
Moved as much as possible init in Person constructor

7 years agoFixed weird broken if/else/if
Côme Chilliet [Wed, 7 Dec 2016 11:20:46 +0000 (18:20 +0700)]
Fixed weird broken if/else/if

7 years agoFixes #8 Removed glstubs.h and its uses
Côme Chilliet [Wed, 7 Dec 2016 11:16:15 +0000 (18:16 +0700)]
Fixes #8 Removed glstubs.h and its uses

7 years agoFix hardcoded clothes paths in maps
Rémi Verschelde [Sun, 4 Dec 2016 16:43:59 +0000 (17:43 +0100)]
Fix hardcoded clothes paths in maps

Also fix loading those paths with the proper Folder function.
Remove bogus piece of cloth "1.0 1.0 1.0.png".
Part of #21.

7 years agoTrying to handle a bit better missing files and avoid segfaults
Côme Chilliet [Sun, 4 Dec 2016 07:43:02 +0000 (14:43 +0700)]
Trying to handle a bit better missing files and avoid segfaults

Also using multiplatform SDL_ShowSimpleMessageBox instead of Windows
 only MessageBox

7 years agoData files use title case consistently
Rémi Verschelde [Sun, 4 Dec 2016 00:28:26 +0000 (01:28 +0100)]
Data files use title case consistently

The data lookup is now case sensitive, so we make it so that all files
use a title case (e.g. ShirtFemale.png).

Caveat: Paths to clothes are hardcoded in every binary level file as
:Data:Textures:shirtfemale.png or similar, they need to be fixed somehow.

7 years agoFix regression in fallback logic on Linux
Rémi Verschelde [Sat, 3 Dec 2016 22:21:29 +0000 (23:21 +0100)]
Fix regression in fallback logic on Linux

Regression from 11ff9aec2c3206a5b9df5bf8815051458628c45a

7 years agoRename DATADIR to DATA_DIR to avoid conflict
Rémi Verschelde [Sat, 3 Dec 2016 20:51:13 +0000 (21:51 +0100)]
Rename DATADIR to DATA_DIR to avoid conflict

On MinGW it would error out with:

Source/Utils/Folders.cpp:33:45: error: expected primary-expression before ';' token
 const std::string Folders::dataDir = DATADIR;
                                             ^

The issue seems to be that MinGW (and likely MSVC) is case insensitive
and would see DATADIR as conflicting with dataDir.

7 years agoTrying to add implementations for MacOS and Windows
Côme Chilliet [Fri, 2 Dec 2016 16:30:30 +0000 (23:30 +0700)]
Trying to add implementations for MacOS and Windows

7 years agoDirs are now created if missing under GNU/Linux
Côme Chilliet [Fri, 2 Dec 2016 11:41:32 +0000 (18:41 +0700)]
Dirs are now created if missing under GNU/Linux

7 years agoSwitched all data access to the new methods
Côme Chilliet [Thu, 1 Dec 2016 17:40:13 +0000 (00:40 +0700)]
Switched all data access to the new methods

Removed the ugly define on fopen
Still missing:
- Creating the folders we want to write in
- Finding the path of the binary and use it as base on Linux, with locateCorrectFile

7 years agoFirst step towards using clean methods and correct paths for datas and config
Côme Chilliet [Thu, 1 Dec 2016 16:26:21 +0000 (23:26 +0700)]
First step towards using clean methods and correct paths for datas and config

7 years agoMerge branch 'master' of gitlab.com:osslugaru/lugaru
Côme Chilliet [Thu, 1 Dec 2016 04:08:07 +0000 (11:08 +0700)]
Merge branch 'master' of gitlab.com:osslugaru/lugaru

7 years agoRemove license info obsoleted by relicensing
Rémi Verschelde [Wed, 30 Nov 2016 20:50:42 +0000 (21:50 +0100)]
Remove license info obsoleted by relicensing

51203b531b2054a8a7c40356e2108a5ec7b9f366 effectively relicensed all
Wolfire assets under CC-BY-SA 3.0, so this last paragraph is obsolete
and was just forgotten during the relicensing.

7 years agoRename "Debug\ Readme" to DEBUG-OPTIONS.txt and move out of Data
Rémi Verschelde [Wed, 30 Nov 2016 20:34:13 +0000 (21:34 +0100)]
Rename "Debug\ Readme" to DEBUG-OPTIONS.txt and move out of Data

Also mac2unix :)

7 years agoMain campaign: Delete unused German translation of April scene
Rémi Verschelde [Wed, 30 Nov 2016 20:20:43 +0000 (21:20 +0100)]
Main campaign: Delete unused German translation of April scene

7 years agoDialogBox is protected on Windows, rename to DialogScene
Rémi Verschelde [Wed, 30 Nov 2016 20:16:49 +0000 (21:16 +0100)]
DialogBox is protected on Windows, rename to DialogScene

Also adapted variable names accordingly and even the fields
in the dialog data files.

7 years agoConvert campaigns and dialogues to Unix format
Rémi Verschelde [Wed, 30 Nov 2016 20:14:00 +0000 (21:14 +0100)]
Convert campaigns and dialogues to Unix format

Also add .gitattributes to enforce LF line endings.

7 years agoFix libpng iCCP warning about invalid sRGB profile
Rémi Verschelde [Wed, 30 Nov 2016 19:19:41 +0000 (20:19 +0100)]
Fix libpng iCCP warning about invalid sRGB profile

Using ImageMagick or pngcrush seemed to introduce issues, so I had in the end to
fix the sRGB profile manually for each problematic image in GIMP.

7 years agoRemoved weird test for dialogues. Only attackkey should be used.
Côme Chilliet [Wed, 30 Nov 2016 17:06:12 +0000 (00:06 +0700)]
Removed weird test for dialogues. Only attackkey should be used.

7 years agoCleaned up dialog handling using a Dialog class
Côme Chilliet [Wed, 30 Nov 2016 16:44:50 +0000 (23:44 +0700)]
Cleaned up dialog handling using a Dialog class

The fixdialogue command will behave a tiny bit differently as it will
set participantfacing value as the dialogue would.
The previous behavior would crash if the number of boxes changed so I
could not keep it.
I kept the limitation of participants of 10 for now, does not seem like
a big deal.

7 years agoTiny clean
Côme Chilliet [Tue, 29 Nov 2016 16:09:16 +0000 (23:09 +0700)]
Tiny clean

7 years agoCleaned a bit OPENAL_SetFrequency, fixing some clang warnings
Côme Chilliet [Tue, 29 Nov 2016 10:15:23 +0000 (17:15 +0700)]
Cleaned a bit OPENAL_SetFrequency, fixing some clang warnings

It would be best to check if calls to OPENAL_SetFrequency are really needed

7 years agoPerson::occluded should be an int
Côme Chilliet [Tue, 29 Nov 2016 09:30:12 +0000 (16:30 +0700)]
Person::occluded should be an int

7 years agoRemoved useless code
Côme Chilliet [Tue, 29 Nov 2016 09:26:21 +0000 (16:26 +0700)]
Removed useless code

7 years agoFixed clang warnings
Côme Chilliet [Tue, 29 Nov 2016 06:03:37 +0000 (13:03 +0700)]
Fixed clang warnings

7 years agoCleaned up FootLand method
Côme Chilliet [Tue, 29 Nov 2016 06:03:22 +0000 (13:03 +0700)]
Cleaned up FootLand method

7 years agoMoved Person loading from file into a Person constructor
Côme Chilliet [Tue, 29 Nov 2016 05:11:28 +0000 (12:11 +0700)]
Moved Person loading from file into a Person constructor

7 years agoRemoved unused member of Weapon class
Côme Chilliet [Tue, 29 Nov 2016 05:02:34 +0000 (12:02 +0700)]
Removed unused member of Weapon class

7 years agoAdded pedantic to debug build options to avoid problems such as the VLA one in the...
Côme Chilliet [Tue, 29 Nov 2016 05:01:14 +0000 (12:01 +0700)]
Added pedantic to debug build options to avoid problems such as the VLA one in the future

7 years agoRemoved ununused field hasAlpha
Côme Chilliet [Tue, 29 Nov 2016 05:00:53 +0000 (12:00 +0700)]
Removed ununused field hasAlpha

7 years agoAvoid using Variable Length Arrays (which are refused by clang)
Côme Chilliet [Tue, 29 Nov 2016 04:51:16 +0000 (11:51 +0700)]
Avoid using Variable Length Arrays (which are refused by clang)

7 years agoFixed some small sonar warnings
Côme Chilliet [Tue, 29 Nov 2016 04:22:47 +0000 (11:22 +0700)]
Fixed some small sonar warnings

7 years agoFixed a clang warning
Côme Chilliet [Tue, 29 Nov 2016 04:08:31 +0000 (11:08 +0700)]
Fixed a clang warning

7 years agoReplaced hardcoded environment values by appropriate define
Côme Chilliet [Mon, 28 Nov 2016 13:35:31 +0000 (20:35 +0700)]
Replaced hardcoded environment values by appropriate define

7 years agoCleaned a bit flashing by using a function
Côme Chilliet [Mon, 28 Nov 2016 13:04:39 +0000 (20:04 +0700)]
Cleaned a bit flashing by using a function

7 years agoCleaned up handling of envsounds array through a function
Côme Chilliet [Mon, 28 Nov 2016 12:43:59 +0000 (19:43 +0700)]
Cleaned up handling of envsounds array through a function

7 years agoRemoved unused globals
Côme Chilliet [Mon, 28 Nov 2016 11:50:03 +0000 (18:50 +0700)]
Removed unused globals

7 years agoRemoved unused members of Person class
Côme Chilliet [Mon, 28 Nov 2016 11:28:26 +0000 (18:28 +0700)]
Removed unused members of Person class

7 years agoAdded a constructor in Person class
Côme Chilliet [Mon, 28 Nov 2016 11:03:55 +0000 (19:03 +0800)]
Added a constructor in Person class

For now it mostly put 0 in all members to avoid uninitialized int,
 later it should put default values instead of GameTick.cpp

7 years agoCI: Remove use of copr for mingw-openal-soft
Neal Gompa [Sun, 27 Nov 2016 12:34:05 +0000 (07:34 -0500)]
CI: Remove use of copr for mingw-openal-soft

It's now part of the Fedora repositories

7 years agoSwitch to using «The Lean Mean C++ Option Parser»
Côme Chilliet [Sat, 26 Nov 2016 14:35:56 +0000 (22:35 +0800)]
Switch to using «The Lean Mean C++ Option Parser»

Options now requires two dash before long option name.
Some option names were slightly changed, you can see all of them with "lugaru -h"
See http://optionparser.sourceforge.net/index.html for info on the parser used
Fixes #14

We may want to add a --debug option to avoid having to edit the
config.txt file for this?

7 years agoRenamed OpenGL_Windows.cpp into main.cpp as it contains main()
Côme Chilliet [Sat, 26 Nov 2016 13:04:24 +0000 (21:04 +0800)]
Renamed OpenGL_Windows.cpp into main.cpp as it contains main()

7 years agoRemoved ctrl+q binding. All OS have their own binding for window closing.
Côme Chilliet [Sat, 26 Nov 2016 12:56:54 +0000 (20:56 +0800)]
Removed ctrl+q binding. All OS have their own binding for window closing.

7 years agoFixed #11 so that we can close the window while editing text
Côme Chilliet [Sat, 26 Nov 2016 12:54:20 +0000 (20:54 +0800)]
Fixed #11 so that we can close the window while editing text

only small problem is that alt+enter will switch fullscreen and end
editing at the same time

7 years agoMoved clothes loop to Person, got rid of globals tintr,tintg,tintb
Côme Chilliet [Sat, 26 Nov 2016 12:08:43 +0000 (20:08 +0800)]
Moved clothes loop to Person, got rid of globals tintr,tintg,tintb

7 years agoCleaned up a bit clothes adding
Côme Chilliet [Sat, 26 Nov 2016 09:13:06 +0000 (17:13 +0800)]
Cleaned up a bit clothes adding

It would be even better to put the loop in Person class but the editor
code is a bit special and need to be adapted a tiny bit first

7 years agoIt makes no sense to use a player id as key for skinText
Côme Chilliet [Sat, 26 Nov 2016 08:57:38 +0000 (16:57 +0800)]
It makes no sense to use a player id as key for skinText

7 years agoGot rid of global texture var. Calling load_image directly
Côme Chilliet [Sat, 26 Nov 2016 08:47:44 +0000 (16:47 +0800)]
Got rid of global texture var. Calling load_image directly

7 years agoStarted to clean Texture/TextureRes by removing unused skindata and reloadAll methods
Côme Chilliet [Sat, 26 Nov 2016 08:20:49 +0000 (16:20 +0800)]
Started to clean Texture/TextureRes by removing unused skindata and reloadAll methods

7 years agoRemoved commented out code
Côme Chilliet [Fri, 25 Nov 2016 14:55:51 +0000 (22:55 +0800)]
Removed commented out code

7 years agoRemoved unused local vars
Côme Chilliet [Fri, 25 Nov 2016 13:55:53 +0000 (21:55 +0800)]
Removed unused local vars

7 years agoAvoid using bool as int
Côme Chilliet [Fri, 25 Nov 2016 13:48:53 +0000 (21:48 +0800)]
Avoid using bool as int

7 years agoRemoved unused var
Côme Chilliet [Fri, 25 Nov 2016 13:42:57 +0000 (21:42 +0800)]
Removed unused var

7 years agoFixed duplicated expressions in ifs
Côme Chilliet [Fri, 25 Nov 2016 13:40:44 +0000 (21:40 +0800)]
Fixed duplicated expressions in ifs

7 years agoCleaned up some code in Person.cpp
Côme Chilliet [Fri, 25 Nov 2016 12:19:04 +0000 (20:19 +0800)]
Cleaned up some code in Person.cpp

7 years agoAdded information gathered on some Person attributes
Côme Chilliet [Fri, 25 Nov 2016 05:57:51 +0000 (13:57 +0800)]
Added information gathered on some Person attributes

7 years agoRefactored weapon taking in Person::takeWeapon
Côme Chilliet [Fri, 25 Nov 2016 05:41:54 +0000 (13:41 +0800)]
Refactored weapon taking in Person::takeWeapon