Age | Commit message (Collapse) | Author | Files | Lines |
|
* Adding missing protocol.h
* Switching debugger symbols and compiler optimization on
* Show the Mana icon for executable files
|
|
Trivial fix.
|
|
This permits to avoid a memleak with the former vector form
and to use the 'place' variable when binding.
The badly prepared statements are also a bit better handled now.
With this patch, IMHO, the MySQL support is in shape.
Reviewed-by: Jaxad0127.
|
|
The static std::string date variable had two nasty problems.
Would it have been static or be named 'date',
and it would have not worked right.
I also made the logger add the proper date on the archived log
when changing the current day.
Resolved: TMW-Mantis #530.
Reviewed-by: Jaxad0127.
|
|
Also added an header to the autoattack.{h,cpp} files.
Big but trivial fix.
|
|
Reviewed-by: CodyMartin.
|
|
Trivial fix.
|
|
When registering or logging, The client is hashing the password
for sending it safely. And the server is hashing it also
to store it the same way. Hence, the password ends hashed twice,
which is correct because the server can't trust the client anyway.
At unregister attempt, the server wasn't hashing the password
before comparing it.
Also while on it, I made the corresponding SQL query use the try catch
method and only delete the account in memory when it's also done
on the Db.
Reviewed-by: thorbjorn, Freeyorp.
|
|
Also split updateDerivedAttributes and remove the calc check workaround.
Reviewed-by: Bertram.
|
|
Reviewed-by: Bertram.
|
|
Also fix movement speed dependency.
Reviewed-by: Bertram
|
|
Mainly for consistency with the client, and the general consensus was
that these numbered versions were clearer.
|
|
|
|
Also renamed MonsterClass::getType() to getId() since it was
misleading with the use of ThingType::getType()
and didn't represent the actual meaning, IMHO.
Trivial.
|
|
The server was trying to insert attributes value not in monster scope.
The monster code is to be rewritten anyway.
Resolves: Mana-Mantis #212.
|
|
No need to fiddle around with "startTransaction" booleans now that the
helper class is a little more intelligent. When the database is already
performing a transaction, no new one will be started.
|
|
Avoids having to remember to call rollbackTransaction and makes
transactions exception-safe (since the destructor of PerformTransaction
will be called when an exception is thrown).
|
|
This message can contain a lot of small database updates, which at least
on my system are way more efficient when performed in a transaction (now
it takes no more than 1 second vs. about 14 seconds before). Not saying
this is normal, my guess is that it's due to using full partition
encryption.
I've also prevented the thing from entering an infinite loop in the case
of a wrong message, and corrected some variable names.
|
|
Mainly merging a lot of short lines and removing pointless comments that
are just repeating what the code says.
|
|
Not only necessary on Windows, but also on Ubuntu (and probably Fedora)
This seems to be due to a recent change in how things are packaged.
Reviewed-by: Bernd Wachter
|
|
This is for developing/testing an experimental new resource manager that
downloads only the files it needs on demand.
Currently only used by the Mana Mobile project. Regular Mana client
ignores the setting.
Reviewed-by: Jared Adams
|
|
Don't try to notify the client when automatically removing unknown
items, since at this point the client hasn't connected yet.
Reviewed-by: Freeyorp
|
|
Whether it's a good idea to automatically remove unknown items from the
inventory in the first place is something to be considered.
Reviewed-by: Freeyorp
|
|
Replaced by cmake.
|
|
Also fixed a memleak when loading an invalid monster attack.
Resolves: Mana-Mantis #215.
Reviewed-by: Thorbjorn.
|
|
Also made both servers appends on the main log at start
if they aren't empty.
This permits not to lose the previous logs
when quicky restarting the servers.
Trivial fix.
|
|
Reviewed-by: Crush.
Resolves: Mana-mantis #251.
|
|
The speed conversion needs a standard tile length anyway
and can be improved later once the movement code
will start to handle beings size.
Reviewed-by: Crush.
|
|
Reviewed-by: Bertram
|
|
setAttribute should be used for this, which also calls updateDerivedAttributes
as needed.
Reviewed-by: Bertram
|
|
Reviewed-by: Bertram
|
|
Added an extension to the ResMan::exist() function
in order to get file existence even not in search path.
Reviewed-by: CodyMartin.
|
|
This patch adds options to enable log rotations
base on files size and or change of date.
Note: Zip support will be added in a second commit.
Reviewed-by: CodyMartin, Thorbjorn.
|
|
We can't leave the obsolete columns around since they are marked as
NOT NULL, so insertion to the table fails if no values are provided for
them.
With SQLite, our only option is to create the table and copy the data
over, which is what the update script now does.
The script was modified so that it is fine to run it again on a database
that was already updated to version 11 before.
|
|
Also made some small cleanups.
Resolves: Mana-Mantis #241
Reviewed-by: Jaxad0127.
|
|
Also made random code format clean-ups.
Resolves: Mana-Mantis #217
Reviewed-by: Jaxad0127.
|
|
There is no longer any need to send attribute change information for
character or correction point changes to the account server. This is
now handled elsewhere in a dedicated function.
The account server was already doing this but the game server hadn't
been updated. This wasn't causing any major problems since this data
was being sent at the end of the packet.
Update documentation for the functions accordingly.
Also adjust a misplaced opening curly brace in attribute calculation
which could cause modifiers to be applied wrongly in certain cases.
Reviewed-by: Kage
|
|
Also made some random code format cleaups.
Trivial fix.
|
|
The table mana_char_equips wasn't created due to an SQL error, this led
the account server to not return the player's characters.
Seen in the logs:
[19:40:41] [ERR] (DALStorage::getCharacter #1) SQL query failure:
Table 'bertram.mana_char_equips' doesn't exist
[19:40:41] [ERR] Failed to get character 11 for account 1.
Resolves: Manasource mantices: 189, 230.
Reviewed-by: Thorbjorn.
|
|
Reviewed-by: Thorbjorn.
|
|
Will not drop the attribute columns since this is not supported by
SQLite. I'm just leaving them around for now and see if it causes any
problems.
|
|
It was trying to remove them from the wrong table.
|
|
Also moved the trim() function into the utils namespace
where it belongs more, and made some random code cleanups.
Reviewed-by: Thorbjorn.
|
|
Also turned the absence of an inter-server password into a fatal
error while documenting it in the manaserv.xml example file.
Reviewed-by: Jaxad0127.
|
|
Reviewed-by: Freeyorp, Thorbjorn.
|
|
Now, it's possible to set a different config filename and path
on the command line.
Reviewed-by: Jaxad, Kage.
|
|
attributes and attribute respectively.
|
|
The @mute command stops another character from talking in the
public chat for a specified amount of seconds. It doesn't survive
a reconnect of the client, but I don't think that this is necessary
because a mute by a GM is usually intended as a slap on the wrist
with more severe consequences to follow (like @ban).
|
|
Conflicts:
src/account-server/storage.cpp
src/game-server/being.cpp
src/game-server/being.hpp
src/game-server/character.cpp
src/game-server/character.hpp
src/game-server/gamehandler.cpp
src/game-server/inventory.cpp
src/scripting/lua.cpp
src/sql/mysql/createTables.sql
src/sql/sqlite/createTables.sql
|
|
|